399 lines
101 KiB
JSON
Raw Normal View History

{
"address": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "membershipDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depth",
"type": "uint256"
},
{
"internalType": "address",
"name": "_poseidonHasher",
"type": "address"
},
{
"internalType": "address",
"name": "_validGroupStorage",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "pubkey",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "MemberRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "pubkey",
"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": "interep",
"outputs": [
{
"internalType": "contract IInterep",
"name": "",
"type": "address"
}
],
"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": [],
"name": "pubkeyIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "groupId",
"type": "uint256"
},
{
"internalType": "string",
"name": "signal",
"type": "string"
},
{
"internalType": "uint256",
"name": "nullifierHash",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "externalNullifier",
"type": "uint256"
},
{
"internalType": "uint256[8]",
"name": "proof",
"type": "uint256[8]"
},
{
"internalType": "uint256",
"name": "pubkey",
"type": "uint256"
}
],
"name": "register",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "pubkey",
"type": "uint256"
}
],
"name": "register",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "pubkeys",
"type": "uint256[]"
}
],
"name": "registerBatch",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "validGroupStorage",
"outputs": [
{
"internalType": "contract IValidGroupStorage",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "secret",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_pubkeyIndex",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "receiver",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "secrets",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "pubkeyIndexes",
"type": "uint256[]"
},
{
"internalType": "address payable[]",
"name": "receivers",
"type": "address[]"
}
],
"name": "withdrawBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"transactionHash": "0xa63496b4b0f9a7d9782e437968b884259510211d8382da4aaae4eca8b49c9963",
"receipt": {
"to": null,
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"contractAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
"transactionIndex": 0,
"gasUsed": "1634698",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x28f7937648337693e64ee8c2b4459e4d70414d0f8f38d8048364c45782d63feb",
"transactionHash": "0xa63496b4b0f9a7d9782e437968b884259510211d8382da4aaae4eca8b49c9963",
"logs": [],
"blockNumber": 5,
"cumulativeGasUsed": "1634698",
"status": 1,
"byzantium": true
},
"args": [
1000000000000000,
20,
"0x5FbDB2315678afecb367f032d93F642f64180aa3",
"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
],
"numDeployments": 1,
"solcInputHash": "340bcf47b11a05607e785a46710a077f",
"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\":\"_validGroupStorage\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pubkey\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pubkey\",\"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\":\"interep\",\"outputs\":[{\"internalType\":\"contract IInterep\",\"name\":\"\",\"type\":\"address\"}],\"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\":[],\"name\":\"pubkeyIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"groupId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"signal\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"nullifierHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"externalNullifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256[8]\",\"name\":\"proof\",\"type\":\"uint256[8]\"},{\"internalType\":\"uint256\",\"name\":\"pubkey\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pubkey\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"pubkeys\",\"type\":\"uint256[]\"}],\"name\":\"registerBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validGroupStorage\",\"outputs\":[{\"internalType\":\"contract IValidGroupStorage\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"secret\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pubkeyIndex\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"secrets\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"pubkeyIndexes\",\"type\":\"uint256[]\"},{\"internalType\":\"address payable[]\",\"name\":\"receivers\",\"type\":\"address[]\"}],\"name\":\"withdrawBatch\",\"outputs\":[]
"bytecode": "0x60e0604052600080553480156200001557600080fd5b5060405162001e9738038062001e9783398181016040528101906200003b91906200025c565b83608081815250508260a08181525050826001901b60c0818152505081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635d0a8dc26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016d9190620002ce565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505062000300565b600080fd5b6000819050919050565b620001d181620001bc565b8114620001dd57600080fd5b50565b600081519050620001f181620001c6565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200022482620001f7565b9050919050565b620002368162000217565b81146200024257600080fd5b50565b60008151905062000256816200022b565b92915050565b60008060008060808587031215620002795762000278620001b7565b5b60006200028987828801620001e0565b94505060206200029c87828801620001e0565b9350506040620002af8782880162000245565b9250506060620002c28782880162000245565b91505092959194509250565b600060208284031215620002e757620002e6620001b7565b5b6000620002f78482850162000245565b91505092915050565b60805160a05160c051611b3662000361600039600081816103d1015281816104b901528181610787015281816107ab01526108a1015260006105dc01526000818161052a0152818161080f0152818161087d0152610a5d0152611b366000f3fe6080604052600436106100c25760003560e01c806369e4863f1161007f578063a9d85eba11610059578063a9d85eba14610249578063d0383d6814610272578063f207564e1461029d578063f220b9ec146102b9576100c2565b806369e4863f146101d757806398366e35146101f3578063a19aaee81461021e576100c2565b80630ad58d2f146100c75780630e238aed146100f0578063331b6ab3146101195780635d0a8dc2146101445780635daf08ca1461016f57806361579a93146101ac575b600080fd5b3480156100d357600080fd5b506100ee60048036038101906100e99190610d03565b6102e4565b005b3480156100fc57600080fd5b5061011760048036038101906101129190610ddd565b6102f4565b005b34801561012557600080fd5b5061012e610445565b60405161013b9190610eed565b60405180910390f35b34801561015057600080fd5b5061015961046b565b6040516101669190610f29565b60405180910390f35b34801561017b57600080fd5b5061019660048036038101906101919190610f44565b610491565b6040516101a39190610f80565b60405180910390f35b3480156101b857600080fd5b506101c16104a9565b6040516101ce9190610f80565b60405180910390f35b6101f160048036038101906101ec9190610ff1565b6104af565b005b3480156101ff57600080fd5b506102086105da565b6040516102159190610f80565b60405180910390f35b34801561022a57600080fd5b506102336105fe565b604051610240919061105f565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b91906110d0565b610624565b005b34801561027e57600080fd5b50610287610785565b6040516102949190610f80565b60405180910390f35b6102b760048036038101906102b29190610f44565b6107a9565b005b3480156102c557600080fd5b506102ce61087b565b6040516102db9190610f80565b60405180910390f35b6102ef83838361089f565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b655ee34886040518263ffffffff1660e01b815260040161034f9190610f80565b602060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039091906111bc565b6103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c69061126c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060005410610433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042a906112d8565b60405180910390fd5b61043c81610b50565b50505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020
"deployedBytecode": "0x6080604052600436106100c25760003560e01c806369e4863f1161007f578063a9d85eba11610059578063a9d85eba14610249578063d0383d6814610272578063f207564e1461029d578063f220b9ec146102b9576100c2565b806369e4863f146101d757806398366e35146101f3578063a19aaee81461021e576100c2565b80630ad58d2f146100c75780630e238aed146100f0578063331b6ab3146101195780635d0a8dc2146101445780635daf08ca1461016f57806361579a93146101ac575b600080fd5b3480156100d357600080fd5b506100ee60048036038101906100e99190610d03565b6102e4565b005b3480156100fc57600080fd5b5061011760048036038101906101129190610ddd565b6102f4565b005b34801561012557600080fd5b5061012e610445565b60405161013b9190610eed565b60405180910390f35b34801561015057600080fd5b5061015961046b565b6040516101669190610f29565b60405180910390f35b34801561017b57600080fd5b5061019660048036038101906101919190610f44565b610491565b6040516101a39190610f80565b60405180910390f35b3480156101b857600080fd5b506101c16104a9565b6040516101ce9190610f80565b60405180910390f35b6101f160048036038101906101ec9190610ff1565b6104af565b005b3480156101ff57600080fd5b506102086105da565b6040516102159190610f80565b60405180910390f35b34801561022a57600080fd5b506102336105fe565b604051610240919061105f565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b91906110d0565b610624565b005b34801561027e57600080fd5b50610287610785565b6040516102949190610f80565b60405180910390f35b6102b760048036038101906102b29190610f44565b6107a9565b005b3480156102c557600080fd5b506102ce61087b565b6040516102db9190610f80565b60405180910390f35b6102ef83838361089f565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b655ee34886040518263ffffffff1660e01b815260040161034f9190610f80565b602060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039091906111bc565b6103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c69061126c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060005410610433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042a906112d8565b60405180910390fd5b61043c81610b50565b50505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915090505481565b60005481565b60008282905090507f0000000000000000000000000000000000000000000000000000000000000000816000546104e69190611327565b1115610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051e906113c9565b60405180910390fd5b807f000000000000000000000000000000000000000000000000000000000000000061055391906113e9565b3414610594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058b906114b5565b60405180910390fd5b60005b818110156105d4576105c18484838181106105b5576105b46114d5565b5b90506020020135610b50565b80806105cc90611504565b915050610597565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008686905090506000810361066f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610666906115be565b60405180910390fd5b8484905081146106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab90611650565b60405180910390fd5b8282905081146106f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f0906116e2565b60405180910390fd5b60005b8181101561077b5761076888888381811061071a576107196114d5565b5b90506020020135878784818110610734576107336114d5565b5b9050602002013586868581811061074e5761074d6114d5565b5b90506020020160208101906107639190611702565b61089f565b808061077390611504565b9150506106fc565b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006000541061080d576040517f08c379a0000000000000000000000000000000000000000000000000
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 1107,
"contract": "contracts/Rln.sol:RLN",
"label": "pubkeyIndex",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 1111,
"contract": "contracts/Rln.sol:RLN",
"label": "members",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 1114,
"contract": "contracts/Rln.sol:RLN",
"label": "poseidonHasher",
"offset": 0,
"slot": "2",
"type": "t_contract(IPoseidonHasher)648"
},
{
"astId": 1117,
"contract": "contracts/Rln.sol:RLN",
"label": "validGroupStorage",
"offset": 0,
"slot": "3",
"type": "t_contract(IValidGroupStorage)1499"
},
{
"astId": 1120,
"contract": "contracts/Rln.sol:RLN",
"label": "interep",
"offset": 0,
"slot": "4",
"type": "t_contract(IInterep)236"
}
],
"types": {
"t_contract(IInterep)236": {
"encoding": "inplace",
"label": "contract IInterep",
"numberOfBytes": "20"
},
"t_contract(IPoseidonHasher)648": {
"encoding": "inplace",
"label": "contract IPoseidonHasher",
"numberOfBytes": "20"
},
"t_contract(IValidGroupStorage)1499": {
"encoding": "inplace",
"label": "contract IValidGroupStorage",
"numberOfBytes": "20"
},
"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"
}
}
}
}