@unirep/contracts
Version:
Client library for contracts related functions which are used in UniRep protocol.
177 lines (176 loc) • 8.84 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "MerkleTreeTest",
"sourceName": "contracts/test/MerkleTreeTest.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint8",
"name": "_depth",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "leaf",
"type": "uint256"
}
],
"name": "insertLazy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "leaf",
"type": "uint256"
}
],
"name": "insertReusable",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "rootLazy",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rootReusable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "leaf",
"type": "uint256"
},
{
"internalType": "uint40",
"name": "index",
"type": "uint40"
}
],
"name": "updateLazy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "leaf",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "updateReusable",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161011e565b6006805460ff191660ff831690811790915560405163510ff26560e01b815260006004820152602481019190915273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__9063510ff2659060440160006040518083038186803b15801561009457600080fd5b505af41580156100a8573d6000803e3d6000fd5b5050604051632f4ba31b60e01b81526002600482015260ff8416602482015273__$7091785c4e08a29a969db2a728005f35a2$__9250632f4ba31b915060440160006040518083038186803b15801561010057600080fd5b505af4158015610114573d6000803e3d6000fd5b5050505050610148565b60006020828403121561013057600080fd5b815160ff8116811461014157600080fd5b9392505050565b610498806101576000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80635517cab8116100505780635517cab8146100b55780637f4e4fbc146100c8578063a7cd46d5146100d057600080fd5b80630b16cbdf146100775780631d5e96011461008d578063471df55e146100a2575b600080fd5b6003545b60405190815260200160405180910390f35b6100a061009b3660046103d4565b6100e3565b005b6100a06100b03660046103ed565b610167565b6100a06100c33660046103d4565b610207565b61007b61029f565b6100a06100de36600461040f565b610340565b6040517e081944000000000000000000000000000000000000000000000000000000008152600060048201526024810182905273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__90620819449060440160006040518083038186803b15801561014c57600080fd5b505af4158015610160573d6000803e3d6000fd5b5050505050565b6040517ffb348dfd00000000000000000000000000000000000000000000000000000000815260026004820152602481018390526044810182905273__$7091785c4e08a29a969db2a728005f35a2$__9063fb348dfd90606401602060405180830381865af41580156101de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102029190610449565b505050565b6040517f226ab5d4000000000000000000000000000000000000000000000000000000008152600260048201526024810182905273__$7091785c4e08a29a969db2a728005f35a2$__9063226ab5d490604401602060405180830381865af4158015610277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029b9190610449565b5050565b6006546040517ff330445500000000000000000000000000000000000000000000000000000000815260006004820181905260ff909216602482015273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__9063f330445590604401602060405180830381865af4158015610317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033b9190610449565b905090565b6040517f2cbda923000000000000000000000000000000000000000000000000000000008152600060048201526024810183905264ffffffffff8216604482015273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__90632cbda9239060640160006040518083038186803b1580156103b857600080fd5b505af41580156103cc573d6000803e3d6000fd5b505050505050565b6000602082840312156103e657600080fd5b5035919050565b6000806040838503121561040057600080fd5b50508035926020909101359150565b6000806040838503121561042257600080fd5b82359150602083013564ffffffffff8116811461043e57600080fd5b809150509250929050565b60006020828403121561045b57600080fd5b505191905056fea26469706673582212204f71ba8f0156d8ae6c789b57041ee961fc0d90117740841adda2fb2b5f23dd6f64736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c80635517cab8116100505780635517cab8146100b55780637f4e4fbc146100c8578063a7cd46d5146100d057600080fd5b80630b16cbdf146100775780631d5e96011461008d578063471df55e146100a2575b600080fd5b6003545b60405190815260200160405180910390f35b6100a061009b3660046103d4565b6100e3565b005b6100a06100b03660046103ed565b610167565b6100a06100c33660046103d4565b610207565b61007b61029f565b6100a06100de36600461040f565b610340565b6040517e081944000000000000000000000000000000000000000000000000000000008152600060048201526024810182905273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__90620819449060440160006040518083038186803b15801561014c57600080fd5b505af4158015610160573d6000803e3d6000fd5b5050505050565b6040517ffb348dfd00000000000000000000000000000000000000000000000000000000815260026004820152602481018390526044810182905273__$7091785c4e08a29a969db2a728005f35a2$__9063fb348dfd90606401602060405180830381865af41580156101de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102029190610449565b505050565b6040517f226ab5d4000000000000000000000000000000000000000000000000000000008152600260048201526024810182905273__$7091785c4e08a29a969db2a728005f35a2$__9063226ab5d490604401602060405180830381865af4158015610277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029b9190610449565b5050565b6006546040517ff330445500000000000000000000000000000000000000000000000000000000815260006004820181905260ff909216602482015273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__9063f330445590604401602060405180830381865af4158015610317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033b9190610449565b905090565b6040517f2cbda923000000000000000000000000000000000000000000000000000000008152600060048201526024810183905264ffffffffff8216604482015273__$1fb0d694a3c1e0496466c56a438cb5e7fb$__90632cbda9239060640160006040518083038186803b1580156103b857600080fd5b505af41580156103cc573d6000803e3d6000fd5b505050505050565b6000602082840312156103e657600080fd5b5035919050565b6000806040838503121561040057600080fd5b50508035926020909101359150565b6000806040838503121561042257600080fd5b82359150602083013564ffffffffff8116811461043e57600080fd5b809150509250929050565b60006020828403121561045b57600080fd5b505191905056fea26469706673582212204f71ba8f0156d8ae6c789b57041ee961fc0d90117740841adda2fb2b5f23dd6f64736f6c63430008130033",
"linkReferences": {
"contracts/libraries/LazyMerkleTree.sol": {
"LazyMerkleTree": [
{
"length": 20,
"start": 95
},
{
"length": 20,
"start": 623
},
{
"length": 20,
"start": 1076
},
{
"length": 20,
"start": 1242
}
]
},
"contracts/libraries/ReusableMerkleTree.sol": {
"ReusableMerkleTree": [
{
"length": 20,
"start": 201
},
{
"length": 20,
"start": 763
},
{
"length": 20,
"start": 916
}
]
}
},
"deployedLinkReferences": {
"contracts/libraries/LazyMerkleTree.sol": {
"LazyMerkleTree": [
{
"length": 20,
"start": 280
},
{
"length": 20,
"start": 733
},
{
"length": 20,
"start": 899
}
]
},
"contracts/libraries/ReusableMerkleTree.sol": {
"ReusableMerkleTree": [
{
"length": 20,
"start": 420
},
{
"length": 20,
"start": 573
}
]
}
}
}