546 lines
87 KiB
JSON
Raw Normal View History

2023-03-29 12:43:14 +05:30
{
2023-05-31 13:07:48 +05:30
"address": "0xB8144E3214080f179D037bbb4dcaaa6B87f224E4",
2023-03-29 12:43:14 +05:30
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "membershipDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depth",
"type": "uint256"
},
{
"internalType": "address",
"name": "_poseidonHasher",
"type": "address"
2023-05-31 13:07:48 +05:30
},
{
"internalType": "address",
"name": "_verifier",
"type": "address"
2023-03-29 12:43:14 +05:30
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
2023-03-30 18:29:06 +05:30
{
"inputs": [],
"name": "DuplicateIdCommitment",
"type": "error"
},
{
"inputs": [],
2023-05-31 13:07:48 +05:30
"name": "FullTree",
2023-03-30 18:29:06 +05:30
"type": "error"
},
{
"inputs": [],
2023-05-31 13:07:48 +05:30
"name": "InsufficientContractBalance",
2023-03-30 18:29:06 +05:30
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "required",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "provided",
"type": "uint256"
}
],
"name": "InsufficientDeposit",
"type": "error"
},
2023-05-31 13:07:48 +05:30
{
"inputs": [],
"name": "InsufficientWithdrawalBalance",
"type": "error"
},
{
"inputs": [],
"name": "InvalidProof",
"type": "error"
},
2023-03-30 18:29:06 +05:30
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
2023-05-31 13:07:48 +05:30
"name": "InvalidReceiverAddress",
2023-03-30 18:29:06 +05:30
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "MemberHasNoStake",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "MemberNotRegistered",
"type": "error"
},
2023-03-29 12:43:14 +05:30
{
"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"
2023-05-31 13:07:48 +05:30
},
{
"indexed": false,
"internalType": "uint256",
"name": "index",
"type": "uint256"
2023-03-29 12:43:14 +05:30
}
],
"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": "idCommitmentIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "members",
"outputs": [
{
2023-05-31 13:07:48 +05:30
"internalType": "uint256",
2023-03-29 12:43:14 +05:30
"name": "",
2023-05-31 13:07:48 +05:30
"type": "uint256"
2023-03-29 12:43:14 +05:30
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "poseidonHasher",
"outputs": [
{
"internalType": "contract IPoseidonHasher",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
}
],
"name": "register",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
2023-05-31 13:07:48 +05:30
"internalType": "uint256",
"name": "idCommitment",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256[8]",
"name": "proof",
"type": "uint256[8]"
2023-03-29 12:43:14 +05:30
}
],
2023-05-31 13:07:48 +05:30
"name": "slash",
2023-03-29 12:43:14 +05:30
"outputs": [],
2023-05-31 13:07:48 +05:30
"stateMutability": "nonpayable",
2023-03-29 12:43:14 +05:30
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "stakedAmounts",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
2023-05-31 13:07:48 +05:30
"inputs": [],
"name": "verifier",
"outputs": [
2023-03-29 12:43:14 +05:30
{
2023-05-31 13:07:48 +05:30
"internalType": "contract IVerifier",
"name": "",
2023-03-29 12:43:14 +05:30
"type": "address"
}
],
2023-05-31 13:07:48 +05:30
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
2023-03-29 12:43:14 +05:30
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
2023-05-31 13:07:48 +05:30
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "withdrawalBalance",
"outputs": [
2023-03-29 12:43:14 +05:30
{
2023-05-31 13:07:48 +05:30
"internalType": "uint256",
"name": "",
"type": "uint256"
2023-03-29 12:43:14 +05:30
}
],
2023-05-31 13:07:48 +05:30
"stateMutability": "view",
2023-03-29 12:43:14 +05:30
"type": "function"
}
],
2023-05-31 13:07:48 +05:30
"transactionHash": "0x953b7b48bfb80dfc2f08d130e7d7d8e1dd7a057cb620fec2bad94c014682c88b",
2023-03-29 12:43:14 +05:30
"receipt": {
"to": null,
2023-05-31 13:07:48 +05:30
"from": "0x3F47b2a1dF96DE2e198d646b598C37251CCC3b98",
"contractAddress": "0xB8144E3214080f179D037bbb4dcaaa6B87f224E4",
"transactionIndex": 14,
"gasUsed": "1051126",
2023-03-29 12:43:14 +05:30
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
2023-05-31 13:07:48 +05:30
"blockHash": "0xd8c07196dd7465cfe900b8c5be3b810b409c93e22cfdc288e9be51793f218fab",
"transactionHash": "0x953b7b48bfb80dfc2f08d130e7d7d8e1dd7a057cb620fec2bad94c014682c88b",
2023-03-29 12:43:14 +05:30
"logs": [],
2023-05-31 13:07:48 +05:30
"blockNumber": 3594457,
"cumulativeGasUsed": "1799720",
2023-03-29 12:43:14 +05:30
"status": 1,
"byzantium": true
},
2023-05-31 13:07:48 +05:30
"args": [
1000000000000000,
20,
"0xa1554EAF0DF18C05956249aac375e212edeD2CcF",
"0xb81Faa6F0126dedB55A45eb63E8430B270A00303"
],
"numDeployments": 3,
"solcInputHash": "0e0cac683e804dc76f2f24c8a5b4012c",
"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\":[],\"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\":\"idCommitmentIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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 IPoseidonHasher\",\"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\"
"bytecode": "0x61012060405260016000553480156200001757600080fd5b50604051620013dc380380620013dc83398181016040528101906200003d919062000171565b83608081815250508260a08181525050826001901b60c081815250508173ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff168152505050505050620001e3565b600080fd5b6000819050919050565b620000e681620000d1565b8114620000f257600080fd5b50565b6000815190506200010681620000db565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000139826200010c565b9050919050565b6200014b816200012c565b81146200015757600080fd5b50565b6000815190506200016b8162000140565b92915050565b600080600080608085870312156200018e576200018d620000cc565b5b60006200019e87828801620000f5565b9450506020620001b187828801620000f5565b9350506040620001c4878288016200015a565b9250506060620001d7878288016200015a565b91505092959194509250565b60805160a05160c05160e0516101005161119862000244600039600081816102c30152610973015260006102e70152600081816104d4015261088c0152600061047a0152600081816104f80152818161051f015261058b01526111986000f3fe6080604052600436106100a75760003560e01c8063ae74552a11610064578063ae74552a146101aa578063bc499128146101d5578063c5b208ff14610212578063d0383d681461024f578063f207564e1461027a578063f220b9ec14610296576100a7565b80632b7ac3f3146100ac578063331b6ab3146100d75780633ccfd60b146101025780635daf08ca146101195780638be9b1191461015657806398366e351461017f575b600080fd5b3480156100b857600080fd5b506100c16102c1565b6040516100ce9190610be7565b60405180910390f35b3480156100e357600080fd5b506100ec6102e5565b6040516100f99190610c23565b60405180910390f35b34801561010e57600080fd5b50610117610309565b005b34801561012557600080fd5b50610140600480360381019061013b9190610c79565b610450565b60405161014d9190610cb5565b60405180910390f35b34801561016257600080fd5b5061017d60048036038101906101789190610d35565b610468565b005b34801561018b57600080fd5b50610194610478565b6040516101a19190610cb5565b60405180910390f35b3480156101b657600080fd5b506101bf61049c565b6040516101cc9190610cb5565b60405180910390f35b3480156101e157600080fd5b506101fc60048036038101906101f79190610c79565b6104a2565b6040516102099190610cb5565b60405180910390f35b34801561021e57600080fd5b5061023960048036038101906102349190610dc7565b6104ba565b6040516102469190610cb5565b60405180910390f35b34801561025b57600080fd5b506102646104d2565b6040516102719190610cb5565b60405180910390f35b610294600480360381019061028f9190610c79565b6104f6565b005b3480156102a257600080fd5b506102ab610589565b6040516102b89190610cb5565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008103610387576040517f6f50367a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b478111156103c1576040517f786e0a9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561044c573d6000803e3d6000fd5b5050565b60026020528060005260406000206000915090505481565b6104738383836105ad565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60016020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000341461057c577f0000000000000000000000000000000000000000000000000000000000000000346040517f25c3f46e000000000000000000000000000000000000000000000000000000008152600401610573929190610df4565b60405180910390fd5b610586813461083e565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b3073ffffff
"deployedBytecode": "0x6080604052600436106100a75760003560e01c8063ae74552a11610064578063ae74552a146101aa578063bc499128146101d5578063c5b208ff14610212578063d0383d681461024f578063f207564e1461027a578063f220b9ec14610296576100a7565b80632b7ac3f3146100ac578063331b6ab3146100d75780633ccfd60b146101025780635daf08ca146101195780638be9b1191461015657806398366e351461017f575b600080fd5b3480156100b857600080fd5b506100c16102c1565b6040516100ce9190610be7565b60405180910390f35b3480156100e357600080fd5b506100ec6102e5565b6040516100f99190610c23565b60405180910390f35b34801561010e57600080fd5b50610117610309565b005b34801561012557600080fd5b50610140600480360381019061013b9190610c79565b610450565b60405161014d9190610cb5565b60405180910390f35b34801561016257600080fd5b5061017d60048036038101906101789190610d35565b610468565b005b34801561018b57600080fd5b50610194610478565b6040516101a19190610cb5565b60405180910390f35b3480156101b657600080fd5b506101bf61049c565b6040516101cc9190610cb5565b60405180910390f35b3480156101e157600080fd5b506101fc60048036038101906101f79190610c79565b6104a2565b6040516102099190610cb5565b60405180910390f35b34801561021e57600080fd5b5061023960048036038101906102349190610dc7565b6104ba565b6040516102469190610cb5565b60405180910390f35b34801561025b57600080fd5b506102646104d2565b6040516102719190610cb5565b60405180910390f35b610294600480360381019061028f9190610c79565b6104f6565b005b3480156102a257600080fd5b506102ab610589565b6040516102b89190610cb5565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008103610387576040517f6f50367a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b478111156103c1576040517f786e0a9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561044c573d6000803e3d6000fd5b5050565b60026020528060005260406000206000915090505481565b6104738383836105ad565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60016020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000341461057c577f0000000000000000000000000000000000000000000000000000000000000000346040517f25c3f46e000000000000000000000000000000000000000000000000000000008152600401610573929190610df4565b60405180910390fd5b610586813461083e565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806106135750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561065557816040517f4a149d0800000000000000000000000000000000000000000000000000000000815260040161064c9190610e3e565b60405180910390fd5b60006002600085815260200190815260200160002054036106ad57826040517f5a971ebb0000000000000000000000000000000000000000000000000000000081526004016106a49190610cb5565b60405180910390fd5b600060016000858152602001908152602001600020540361070557826040517faabeeba50000000000000000000000000000000000000000000000000000000081526004016106fc9190610cb5565b60405180910390fd5b61071083838361096f565b610746576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060016000858152602001908152602001600020549050600060026000868152602001908152602001600020549050600060026000878152602001908152602001600020819055506000600160008781526020019081526020016000208190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107f79190
2023-03-29 12:43:14 +05:30
"devdoc": {
2023-03-30 18:29:06 +05:30
"errors": {
"InsufficientDeposit(uint256,uint256)": [
{
"params": {
"provided": "The provided deposit amount",
"required": "The required deposit amount"
}
}
]
},
"events": {
"MemberRegistered(uint256,uint256)": {
"params": {
"idCommitment": "The idCommitment of the member",
"index": "The index of the member in the set"
}
},
2023-05-31 13:07:48 +05:30
"MemberWithdrawn(uint256,uint256)": {
2023-03-30 18:29:06 +05:30
"params": {
2023-05-31 13:07:48 +05:30
"idCommitment": "The idCommitment of the member",
"index": "The index of the member in the set"
2023-03-30 18:29:06 +05:30
}
}
},
2023-03-29 12:43:14 +05:30
"kind": "dev",
2023-03-30 18:29:06 +05:30
"methods": {
"register(uint256)": {
"params": {
"idCommitment": "The idCommitment of the member"
}
},
2023-05-31 13:07:48 +05:30
"slash(uint256,address,uint256[8])": {
"details": "Allows a user to slash a member",
2023-03-30 18:29:06 +05:30
"params": {
2023-05-31 13:07:48 +05:30
"idCommitment": "The idCommitment of the member"
2023-03-30 18:29:06 +05:30
}
}
},
2023-03-29 12:43:14 +05:30
"version": 1
},
"userdoc": {
2023-03-30 18:29:06 +05:30
"errors": {
"DuplicateIdCommitment()": [
{
"notice": "Member is already registered"
}
],
2023-05-31 13:07:48 +05:30
"FullTree()": [
2023-03-30 18:29:06 +05:30
{
2023-05-31 13:07:48 +05:30
"notice": "The tree is full"
2023-03-30 18:29:06 +05:30
}
],
2023-05-31 13:07:48 +05:30
"InsufficientContractBalance()": [
2023-03-30 18:29:06 +05:30
{
2023-05-31 13:07:48 +05:30
"notice": "Contract has insufficient balance to return"
2023-03-30 18:29:06 +05:30
}
],
"InsufficientDeposit(uint256,uint256)": [
{
"notice": "Invalid deposit amount"
}
],
2023-05-31 13:07:48 +05:30
"InsufficientWithdrawalBalance()": [
{
"notice": "User has insufficient balance to withdraw"
}
],
"InvalidProof()": [
2023-03-30 18:29:06 +05:30
{
2023-05-31 13:07:48 +05:30
"notice": "Invalid proof"
}
],
"InvalidReceiverAddress(address)": [
{
"notice": "Invalid receiver address, when the receiver is the contract itself or 0x0"
2023-03-30 18:29:06 +05:30
}
],
"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"
},
2023-05-31 13:07:48 +05:30
"MemberWithdrawn(uint256,uint256)": {
2023-03-30 18:29:06 +05:30
"notice": "Emitted when a member is removed from the set"
}
},
2023-03-29 12:43:14 +05:30
"kind": "user",
2023-03-30 18:29:06 +05:30
"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"
},
"idCommitmentIndex()": {
"notice": "The index of the next member to be registered"
},
"members(uint256)": {
2023-05-31 13:07:48 +05:30
"notice": "The membership status of each member maps from idCommitment to their index in the set"
2023-03-30 18:29:06 +05:30
},
"poseidonHasher()": {
"notice": "The Poseidon hasher contract"
},
"register(uint256)": {
"notice": "Allows a user to register as a member"
},
"stakedAmounts(uint256)": {
2023-05-31 13:07:48 +05:30
"notice": "The amount of eth staked by each member maps from idCommitment to the amount staked"
2023-03-30 18:29:06 +05:30
},
2023-05-31 13:07:48 +05:30
"verifier()": {
"notice": "The groth16 verifier contract"
2023-03-30 18:29:06 +05:30
},
2023-05-31 13:07:48 +05:30
"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"
2023-03-30 18:29:06 +05:30
}
},
2023-03-29 12:43:14 +05:30
"version": 1
},
"storageLayout": {
"storage": [
{
2023-05-31 13:07:48 +05:30
"astId": 516,
2023-03-29 12:43:14 +05:30
"contract": "contracts/Rln.sol:RLN",
"label": "idCommitmentIndex",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
2023-05-31 13:07:48 +05:30
"astId": 521,
2023-03-29 12:43:14 +05:30
"contract": "contracts/Rln.sol:RLN",
"label": "stakedAmounts",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
2023-05-31 13:07:48 +05:30
"astId": 526,
2023-03-29 12:43:14 +05:30
"contract": "contracts/Rln.sol:RLN",
"label": "members",
"offset": 0,
"slot": "2",
2023-05-31 13:07:48 +05:30
"type": "t_mapping(t_uint256,t_uint256)"
2023-03-29 12:43:14 +05:30
},
{
2023-05-31 13:07:48 +05:30
"astId": 531,
2023-03-29 12:43:14 +05:30
"contract": "contracts/Rln.sol:RLN",
2023-05-31 13:07:48 +05:30
"label": "withdrawalBalance",
2023-03-29 12:43:14 +05:30
"offset": 0,
"slot": "3",
2023-05-31 13:07:48 +05:30
"type": "t_mapping(t_address,t_uint256)"
2023-03-29 12:43:14 +05:30
}
],
"types": {
2023-05-31 13:07:48 +05:30
"t_address": {
2023-03-29 12:43:14 +05:30
"encoding": "inplace",
2023-05-31 13:07:48 +05:30
"label": "address",
2023-03-29 12:43:14 +05:30
"numberOfBytes": "20"
},
2023-05-31 13:07:48 +05:30
"t_mapping(t_address,t_uint256)": {
2023-03-29 12:43:14 +05:30
"encoding": "mapping",
2023-05-31 13:07:48 +05:30
"key": "t_address",
"label": "mapping(address => uint256)",
2023-03-29 12:43:14 +05:30
"numberOfBytes": "32",
2023-05-31 13:07:48 +05:30
"value": "t_uint256"
2023-03-29 12:43:14 +05:30
},
"t_mapping(t_uint256,t_uint256)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
}
}