rln-contract/deployments/polygonZkevmTestnet/RLN.json

748 lines
118 KiB
JSON
Raw Normal View History

{
"address": "0x5536F82a106D8C1f5F61D111DF57cae6218F6b54",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "membershipDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depth",
"type": "uint256"
},
{
"internalType": "address",
"name": "_poseidonHasher",
"type": "address"
},
{
"internalType": "address",
"name": "_verifier",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "DuplicateIdCommitment",
"type": "error"
},
{
"inputs": [],
"name": "FullTree",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientContractBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "required",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "provided",
"type": "uint256"
}
],
"name": "InsufficientDeposit",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientWithdrawalBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "InvalidIdCommitment",
"type": "error"
},
{
"inputs": [],
"name": "InvalidProof",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "InvalidReceiverAddress",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "MemberHasNoStake",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "MemberNotRegistered",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "MemberRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "MemberWithdrawn",
"type": "event"
},
{
"inputs": [],
"name": "DEPTH",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MEMBERSHIP_DEPOSIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SET_SIZE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "computeRoot",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deployedBlockNumber",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "idCommitmentIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "imtData",
"outputs": [
{
"internalType": "uint256",
"name": "depth",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "root",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "numberOfLeaves",
"type": "uint256"
},
{
"internalType": "bool",
"name": "useDefaultZeroes",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "isValidCommitment",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "memberExists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "members",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "poseidonHasher",
"outputs": [
{
"internalType": "contract PoseidonHasher",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "register",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256[8]",
"name": "proof",
"type": "uint256[8]"
}
],
"name": "slash",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "stakedAmounts",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "verifier",
"outputs": [
{
"internalType": "contract IVerifier",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "withdrawalBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"transactionHash": "0x9f57d8acb10fe22ada61aa61acec1db3e5ee73f9319f8211dcf3e70e36409914",
"receipt": {
"to": null,
"from": "0x3F47b2a1dF96DE2e198d646b598C37251CCC3b98",
"contractAddress": "0x5536F82a106D8C1f5F61D111DF57cae6218F6b54",
"transactionIndex": 0,
"gasUsed": "1395916",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0xa6335ff162878f9dcc7235783ed18b261e9ac415240f57e49f323658f5481d36",
"transactionHash": "0x9f57d8acb10fe22ada61aa61acec1db3e5ee73f9319f8211dcf3e70e36409914",
"logs": [],
"blockNumber": 3324844,
"cumulativeGasUsed": "1395916",
"status": 1,
"byzantium": true
},
"args": [
1000000000000000,
20,
"0xe893c04DfB939CFC2FBC024Dae1B17623a487e0A",
"0xDFD4FC1c81Bd499d814fF876e34637bE58F85b90"
],
"numDeployments": 1,
"solcInputHash": "3f87313134e2217cb187bd594084789f",
"metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"membershipDeposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depth\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_poseidonHasher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DuplicateIdCommitment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FullTree\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientContractBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawalBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"}],\"name\":\"InvalidIdCommitment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"InvalidReceiverAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"}],\"name\":\"MemberHasNoStake\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"}],\"name\":\"MemberNotRegistered\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"MemberWithdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEPTH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MEMBERSHIP_DEPOSIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"computeRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployedBlockNumber\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idCommitmentIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"imtData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depth\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numberOfLeaves\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"useDefaultZeroes\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idCommitment\",\"type\":\"uint256\"}],\"name\":\"isValidCommitment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"memberExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inpu
"bytecode": "0x610140604052600080553480156200001657600080fd5b5060405162001a3f38038062001a3f83398181016040528101906200003c9190620001fc565b8383838383608081815250508260a08181525050826001901b60c081815250508173ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250504363ffffffff166101208163ffffffff16815250507316eff5b01123605924d9BF74Ed947F8Fd3015f446314d8c626600560146040518363ffffffff1660e01b815260040162000117929190620002c2565b60006040518083038186803b1580156200013057600080fd5b505af415801562000145573d6000803e3d6000fd5b505050505050505050505050620002ef565b600080fd5b6000819050919050565b62000171816200015c565b81146200017d57600080fd5b50565b600081519050620001918162000166565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001c48262000197565b9050919050565b620001d681620001b7565b8114620001e257600080fd5b50565b600081519050620001f681620001cb565b92915050565b6000806000806080858703121562000219576200021862000157565b5b6000620002298782880162000180565b94505060206200023c8782880162000180565b93505060406200024f87828801620001e5565b92505060606200026287828801620001e5565b91505092959194509250565b8082525050565b6000819050919050565b6000819050919050565b6000620002aa620002a46200029e8462000275565b6200027f565b6200015c565b9050919050565b620002bc8162000289565b82525050565b6000604082019050620002d960008301856200026e565b620002e86020830184620002b1565b9392505050565b60805160a05160c05160e05161010051610120516116dd6200036260003960006106850152600081816104cb0152610d8e01526000818161043201526104ef0152600081816107a20152610bff015260006107480152600081816108110152818161083801526108ae01526116dd6000f3fe6080604052600436106100fe5760003560e01c80636bdcc8ab11610095578063bc49912811610064578063bc4991281461032a578063c5b208ff14610367578063d0383d68146103a4578063f207564e146103cf578063f220b9ec146103eb576100fe565b80636bdcc8ab1461026e5780638be9b119146102ab57806398366e35146102d4578063ae74552a146102ff576100fe565b80633c979b5f116100d15780633c979b5f146101c15780633ccfd60b146101ef5780634add651e146102065780635daf08ca14610231576100fe565b806315068a5a1461010357806322d9730c1461012e5780632b7ac3f31461016b578063331b6ab314610196575b600080fd5b34801561010f57600080fd5b50610118610416565b6040516101259190610f9c565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190610fe8565b610423565b6040516101629190611030565b60405180910390f35b34801561017757600080fd5b506101806104c9565b60405161018d91906110ca565b60405180910390f35b3480156101a257600080fd5b506101ab6104ed565b6040516101b89190611106565b60405180910390f35b3480156101cd57600080fd5b506101d6610511565b6040516101e69493929190611121565b60405180910390f35b3480156101fb57600080fd5b5061020461053c565b005b34801561021257600080fd5b5061021b610683565b6040516102289190611185565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190610fe8565b6106a7565b6040516102659190610f9c565b60405180910390f35b34801561027a57600080fd5b5061029560048036038101906102909190610fe8565b6106bf565b6040516102a29190611030565b60405180910390f35b3480156102b757600080fd5b506102d260048036038101906102cd9190611205565b6106df565b005b3480156102e057600080fd5b506102e9610746565b6040516102f69190610f9c565b60405180910390f35b34801561030b57600080fd5b5061031461076a565b6040516103219190610f9c565b60405180910390f35b34801561033657600080fd5b50610351600480360381019061034c9190610fe8565b610770565b60405161035e9190610f9c565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190611297565b610788565b60405161039b9190610f9c565b60405180910390f35b3480156103b057600080fd5b506103b96107a0565b6040516103c69190610f9c565b60405180910390f35b6103e960048036038101906103e49190610fe8565b6107c4565b005b3480156103f757600080fd5b506104006108ac565b60405161040d9190610f9c565b60405180910390f35b6000600560010154905090565b60008082141580156104c257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e493ef8c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049b573d6000
"deployedBytecode": "0x6080604052600436106100fe5760003560e01c80636bdcc8ab11610095578063bc49912811610064578063bc4991281461032a578063c5b208ff14610367578063d0383d68146103a4578063f207564e146103cf578063f220b9ec146103eb576100fe565b80636bdcc8ab1461026e5780638be9b119146102ab57806398366e35146102d4578063ae74552a146102ff576100fe565b80633c979b5f116100d15780633c979b5f146101c15780633ccfd60b146101ef5780634add651e146102065780635daf08ca14610231576100fe565b806315068a5a1461010357806322d9730c1461012e5780632b7ac3f31461016b578063331b6ab314610196575b600080fd5b34801561010f57600080fd5b50610118610416565b6040516101259190610f9c565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190610fe8565b610423565b6040516101629190611030565b60405180910390f35b34801561017757600080fd5b506101806104c9565b60405161018d91906110ca565b60405180910390f35b3480156101a257600080fd5b506101ab6104ed565b6040516101b89190611106565b60405180910390f35b3480156101cd57600080fd5b506101d6610511565b6040516101e69493929190611121565b60405180910390f35b3480156101fb57600080fd5b5061020461053c565b005b34801561021257600080fd5b5061021b610683565b6040516102289190611185565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190610fe8565b6106a7565b6040516102659190610f9c565b60405180910390f35b34801561027a57600080fd5b5061029560048036038101906102909190610fe8565b6106bf565b6040516102a29190611030565b60405180910390f35b3480156102b757600080fd5b506102d260048036038101906102cd9190611205565b6106df565b005b3480156102e057600080fd5b506102e9610746565b6040516102f69190610f9c565b60405180910390f35b34801561030b57600080fd5b5061031461076a565b6040516103219190610f9c565b60405180910390f35b34801561033657600080fd5b50610351600480360381019061034c9190610fe8565b610770565b60405161035e9190610f9c565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190611297565b610788565b60405161039b9190610f9c565b60405180910390f35b3480156103b057600080fd5b506103b96107a0565b6040516103c69190610f9c565b60405180910390f35b6103e960048036038101906103e49190610fe8565b6107c4565b005b3480156103f757600080fd5b506104006108ac565b60405161040d9190610f9c565b60405180910390f35b6000600560010154905090565b60008082141580156104c257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e493ef8c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf91906112d9565b82105b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60058060000154908060010154908060020154908060050160009054906101000a900460ff16905084565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081036105ba576040517f6f50367a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b478111156105f4576040517f786e0a9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561067f573d6000803e3d6000fd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026020528060005260406000206000915090505481565b60036020528060005260406000206000915054906101000a900460ff1681565b826106e981610423565b61072a57806040517f7f3e75af0000000000000000000000000000000000000000000000000000000081526004016107219190610f9c565b60405180910390fd5b6107358484846108d0565b6107408484846108d5565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60016020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b806107ce81610423565b61080f57806040517f7f3e75af0000000000000000000000000000000000000000000000
"libraries": {
"BinaryIMT": "0x16eff5b01123605924d9BF74Ed947F8Fd3015f44"
},
"devdoc": {
"errors": {
"InsufficientDeposit(uint256,uint256)": [
{
"params": {
"provided": "The provided deposit amount",
"required": "The required deposit amount"
}
}
]
},
"kind": "dev",
"methods": {
"register(uint256)": {
"params": {
"idCommitment": "The idCommitment of the member"
}
},
"slash(uint256,address,uint256[8])": {
"details": "Allows a user to slash a member",
"params": {
"idCommitment": "The idCommitment of the member"
}
}
},
"version": 1
},
"userdoc": {
"errors": {
"DuplicateIdCommitment()": [
{
"notice": "Member is already registered"
}
],
"FullTree()": [
{
"notice": "The tree is full"
}
],
"InsufficientContractBalance()": [
{
"notice": "Contract has insufficient balance to return"
}
],
"InsufficientDeposit(uint256,uint256)": [
{
"notice": "Invalid deposit amount"
}
],
"InsufficientWithdrawalBalance()": [
{
"notice": "User has insufficient balance to withdraw"
}
],
"InvalidIdCommitment(uint256)": [
{
"notice": "Invalid idCommitment"
}
],
"InvalidProof()": [
{
"notice": "Invalid proof"
}
],
"InvalidReceiverAddress(address)": [
{
"notice": "Invalid receiver address, when the receiver is the contract itself or 0x0"
}
],
"MemberHasNoStake(uint256)": [
{
"notice": "Member has no stake"
}
],
"MemberNotRegistered(uint256)": [
{
"notice": "Member is not registered"
}
]
},
"events": {
"MemberRegistered(uint256,uint256)": {
"notice": "Emitted when a new member is added to the set"
},
"MemberWithdrawn(uint256,uint256)": {
"notice": "Emitted when a member is removed from the set"
}
},
"kind": "user",
"methods": {
"DEPTH()": {
"notice": "The depth of the merkle tree"
},
"MEMBERSHIP_DEPOSIT()": {
"notice": "The deposit amount required to register as a member"
},
"SET_SIZE()": {
"notice": "The size of the merkle tree, i.e 2^depth"
},
"deployedBlockNumber()": {
"notice": "the deployed block number"
},
"idCommitmentIndex()": {
"notice": "The index of the next member to be registered"
},
"imtData()": {
"notice": "the Incremental Merkle Tree"
},
"memberExists(uint256)": {
"notice": "The membership status of each member"
},
"members(uint256)": {
"notice": "The membership status of each member maps from idCommitment to their index in the set"
},
"poseidonHasher()": {
"notice": "The Poseidon hasher contract"
},
"register(uint256)": {
"notice": "Allows a user to register as a member"
},
"stakedAmounts(uint256)": {
"notice": "The amount of eth staked by each member maps from idCommitment to the amount staked"
},
"verifier()": {
"notice": "The groth16 verifier contract"
},
"withdraw()": {
"notice": "Allows a user to withdraw funds allocated to them upon slashing a member"
},
"withdrawalBalance(address)": {
"notice": "The balance of each user that can be withdrawn"
}
},
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 1069,
"contract": "contracts/Rln.sol:RLN",
"label": "idCommitmentIndex",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 1074,
"contract": "contracts/Rln.sol:RLN",
"label": "stakedAmounts",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 1079,
"contract": "contracts/Rln.sol:RLN",
"label": "members",
"offset": 0,
"slot": "2",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 1084,
"contract": "contracts/Rln.sol:RLN",
"label": "memberExists",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_uint256,t_bool)"
},
{
"astId": 1089,
"contract": "contracts/Rln.sol:RLN",
"label": "withdrawalBalance",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_address,t_uint256)"
},
{
"astId": 1104,
"contract": "contracts/Rln.sol:RLN",
"label": "imtData",
"offset": 0,
"slot": "5",
"type": "t_struct(BinaryIMTData)22_storage"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_uint256)2_storage": {
"base": "t_uint256",
"encoding": "inplace",
"label": "uint256[2]",
"numberOfBytes": "64"
},
"t_bool": {
"encoding": "inplace",
"label": "bool",
"numberOfBytes": "1"
},
"t_mapping(t_address,t_uint256)": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_mapping(t_uint256,t_array(t_uint256)2_storage)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => uint256[2])",
"numberOfBytes": "32",
"value": "t_array(t_uint256)2_storage"
},
"t_mapping(t_uint256,t_bool)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => bool)",
"numberOfBytes": "32",
"value": "t_bool"
},
"t_mapping(t_uint256,t_uint256)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_struct(BinaryIMTData)22_storage": {
"encoding": "inplace",
"label": "struct BinaryIMTData",
"members": [
{
"astId": 5,
"contract": "contracts/Rln.sol:RLN",
"label": "depth",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 7,
"contract": "contracts/Rln.sol:RLN",
"label": "root",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 9,
"contract": "contracts/Rln.sol:RLN",
"label": "numberOfLeaves",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 13,
"contract": "contracts/Rln.sol:RLN",
"label": "zeroes",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 19,
"contract": "contracts/Rln.sol:RLN",
"label": "lastSubtrees",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_uint256,t_array(t_uint256)2_storage)"
},
{
"astId": 21,
"contract": "contracts/Rln.sol:RLN",
"label": "useDefaultZeroes",
"offset": 0,
"slot": "5",
"type": "t_bool"
}
],
"numberOfBytes": "192"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
}
}