Improve readability of processMultiProof (#3854)
Signed-off-by: Pascal Marco Caversaccio <pascal.caversaccio@hotmail.ch>
This commit is contained in:
committed by
GitHub
parent
c30fad9955
commit
93cd2ecb73
@ -124,7 +124,7 @@ library MerkleProof {
|
|||||||
bool[] memory proofFlags,
|
bool[] memory proofFlags,
|
||||||
bytes32[] memory leaves
|
bytes32[] memory leaves
|
||||||
) internal pure returns (bytes32 merkleRoot) {
|
) internal pure returns (bytes32 merkleRoot) {
|
||||||
// This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by
|
// This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by
|
||||||
// consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
|
// consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
|
||||||
// `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
|
// `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
|
||||||
// the merkle tree.
|
// the merkle tree.
|
||||||
@ -147,7 +147,9 @@ library MerkleProof {
|
|||||||
// `proof` array.
|
// `proof` array.
|
||||||
for (uint256 i = 0; i < totalHashes; i++) {
|
for (uint256 i = 0; i < totalHashes; i++) {
|
||||||
bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];
|
bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];
|
||||||
bytes32 b = proofFlags[i] ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++] : proof[proofPos++];
|
bytes32 b = proofFlags[i]
|
||||||
|
? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])
|
||||||
|
: proof[proofPos++];
|
||||||
hashes[i] = _hashPair(a, b);
|
hashes[i] = _hashPair(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +174,7 @@ library MerkleProof {
|
|||||||
bool[] calldata proofFlags,
|
bool[] calldata proofFlags,
|
||||||
bytes32[] memory leaves
|
bytes32[] memory leaves
|
||||||
) internal pure returns (bytes32 merkleRoot) {
|
) internal pure returns (bytes32 merkleRoot) {
|
||||||
// This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by
|
// This function rebuilds the root hash by traversing the tree up from the leaves. The root is rebuilt by
|
||||||
// consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
|
// consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
|
||||||
// `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
|
// `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
|
||||||
// the merkle tree.
|
// the merkle tree.
|
||||||
@ -195,7 +197,9 @@ library MerkleProof {
|
|||||||
// `proof` array.
|
// `proof` array.
|
||||||
for (uint256 i = 0; i < totalHashes; i++) {
|
for (uint256 i = 0; i < totalHashes; i++) {
|
||||||
bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];
|
bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];
|
||||||
bytes32 b = proofFlags[i] ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++] : proof[proofPos++];
|
bytes32 b = proofFlags[i]
|
||||||
|
? (leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++])
|
||||||
|
: proof[proofPos++];
|
||||||
hashes[i] = _hashPair(a, b);
|
hashes[i] = _hashPair(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user