The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hyperlane-monorepo/solidity/optics-core/contracts/Merkle.sol

27 lines
795 B

// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;
// ============ Internal Imports ============
import {MerkleLib} from "../libs/Merkle.sol";
/**
* @title MerkleTreeManager
* @author Celo Labs Inc.
* @notice Contract containing a merkle tree instance and view operations on
* the tree.
**/
contract MerkleTreeManager {
using MerkleLib for MerkleLib.Tree;
MerkleLib.Tree public tree;
uint256[49] private __GAP; // gap for upgrade safety
/// @notice Calculates and returns`tree`'s current root
function root() public view returns (bytes32) {
return tree.root();
}
/// @notice Returns the number of inserted leaves in the tree (current index)
function count() public view returns (uint256) {
return tree.count;
}
}