UNPKG

@excubiae/contracts

Version:
467 lines (466 loc) 16.9 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SemaphoreMock", "sourceName": "contracts/test/extensions/mocks/SemaphoreMock.sol", "abi": [ { "inputs": [ { "internalType": "uint256[]", "name": "_groupIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_nullifiers", "type": "uint256[]" }, { "internalType": "bool[]", "name": "_validities", "type": "bool[]" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "Semaphore__GroupHasNoMembers", "type": "error" }, { "inputs": [], "name": "Semaphore__InvalidProof", "type": "error" }, { "inputs": [], "name": "Semaphore__MerkleTreeDepthIsNotSupported", "type": "error" }, { "inputs": [], "name": "Semaphore__MerkleTreeRootIsExpired", "type": "error" }, { "inputs": [], "name": "Semaphore__MerkleTreeRootIsNotPartOfTheGroup", "type": "error" }, { "inputs": [], "name": "Semaphore__YouAreUsingTheSameNullifierTwice", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "groupId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMerkleTreeDuration", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newMerkleTreeDuration", "type": "uint256" } ], "name": "GroupMerkleTreeDurationUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "groupId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "merkleTreeDepth", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "merkleTreeRoot", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "nullifier", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "message", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "scope", "type": "uint256" }, { "indexed": false, "internalType": "uint256[8]", "name": "points", "type": "uint256[8]" } ], "name": "ProofValidated", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "acceptGroupAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "addMember", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "name": "addMembers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "createGroup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "createGroup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "createGroup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "groupCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mockedGroups", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "name": "removeMember", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "updateGroupAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "updateGroupMerkleTreeDuration", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "name": "updateMember", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "components": [ { "internalType": "uint256", "name": "merkleTreeDepth", "type": "uint256" }, { "internalType": "uint256", "name": "merkleTreeRoot", "type": "uint256" }, { "internalType": "uint256", "name": "nullifier", "type": "uint256" }, { "internalType": "uint256", "name": "message", "type": "uint256" }, { "internalType": "uint256", "name": "scope", "type": "uint256" }, { "internalType": "uint256[8]", "name": "points", "type": "uint256[8]" } ], "internalType": "struct ISemaphore.SemaphoreProof", "name": "", "type": "tuple" } ], "name": "validateProof", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "scope", "type": "uint256" }, { "components": [ { "internalType": "uint256", "name": "merkleTreeDepth", "type": "uint256" }, { "internalType": "uint256", "name": "merkleTreeRoot", "type": "uint256" }, { "internalType": "uint256", "name": "nullifier", "type": "uint256" }, { "internalType": "uint256", "name": "message", "type": "uint256" }, { "internalType": "uint256", "name": "scope", "type": "uint256" }, { "internalType": "uint256[8]", "name": "points", "type": "uint256[8]" } ], "internalType": "struct ISemaphore.SemaphoreProof", "name": "proof", "type": "tuple" } ], "name": "verifyProof", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5060405161080938038061080983398101604081905261002f916101ec565b60005b835181101561009f576001600080868481518110610052576100526102ea565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055506002600081548092919061009290610300565b9091555050600101610032565b5060005b825181101561010d578181815181106100be576100be6102ea565b6020026020010151600160008584815181106100dc576100dc6102ea565b6020908102919091018101518252810191909152604001600020805460ff19169115159190911790556001016100a3565b50505050610327565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561015457610154610116565b604052919050565b60006001600160401b0382111561017557610175610116565b5060051b60200190565b600082601f83011261019057600080fd5b81516101a361019e8261015c565b61012c565b8082825260208201915060208360051b8601019250858311156101c557600080fd5b602085015b838110156101e25780518352602092830192016101ca565b5095945050505050565b60008060006060848603121561020157600080fd5b83516001600160401b0381111561021757600080fd5b6102238682870161017f565b602086015190945090506001600160401b0381111561024157600080fd5b61024d8682870161017f565b604086015190935090506001600160401b0381111561026b57600080fd5b8401601f8101861361027c57600080fd5b805161028a61019e8261015c565b8082825260208201915060208360051b8501019250888311156102ac57600080fd5b6020840193505b828410156102dc57835180151581146102cb57600080fd5b8252602093840193909101906102b3565b809450505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006001820161032057634e487b7160e01b600052601160045260246000fd5b5060010190565b6104d3806103366000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80635c3f3b601161008c578063d24924fe11610066578063d24924fe146101c2578063da3cda52146101cb578063fbad4139146101dc578063fcf0b6ec1461010457600080fd5b80635c3f3b601461018c5780636cdd32fe146101a0578063d0d898dd146101b457600080fd5b80634178c4d5116100c85780634178c4d51461013f578063456f418814610154578063568ee82614610177578063575185ed1461018557600080fd5b806304245371146100ef5780631783efc3146101045780632c88036314610116575b600080fd5b6101026100fd366004610294565b505050565b005b6101026101123660046102e0565b5050565b61012c61012436600461031e565b600092915050565b6040519081526020015b60405180910390f35b61010261014d366004610348565b5050505050565b6101676101623660046103a9565b6101ff565b6040519015158152602001610136565b6101026101123660046103e3565b600061012c565b61012c61019a36600461040f565b50600090565b6101026101ae366004610431565b50505050565b6101026101123660046103a9565b61012c60025481565b6101026101d9366004610484565b50565b6101676101ea366004610484565b60006020819052908152604090205460ff1681565b6bffffffffffffffffffffffff821660008181526020819052604081205490919060ff168015610240575060408084013560009081526001602052205460ff165b949350505050565b60008083601f84011261025a57600080fd5b50813567ffffffffffffffff81111561027257600080fd5b6020830191508360208260051b850101111561028d57600080fd5b9250929050565b6000806000604084860312156102a957600080fd5b83359250602084013567ffffffffffffffff8111156102c757600080fd5b6102d386828701610248565b9497909650939450505050565b600080604083850312156102f357600080fd5b50508035926020909101359150565b80356001600160a01b038116811461031957600080fd5b919050565b6000806040838503121561033157600080fd5b61033a83610302565b946020939093013593505050565b60008060008060006080868803121561036057600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561038c57600080fd5b61039888828901610248565b969995985093965092949392505050565b6000808284036101c08112156103be57600080fd5b833592506101a0601f19820112156103d557600080fd5b506020830190509250929050565b600080604083850312156103f657600080fd5b8235915061040660208401610302565b90509250929050565b60006020828403121561042157600080fd5b61042a82610302565b9392505050565b6000806000806060858703121561044757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561046c57600080fd5b61047887828801610248565b95989497509550505050565b60006020828403121561049657600080fd5b503591905056fea2646970667358221220601c3f1cfd1e992f761fe740b0ea8e45ff66e51b22b86af6d46edcd39c2ffdf464736f6c634300081c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80635c3f3b601161008c578063d24924fe11610066578063d24924fe146101c2578063da3cda52146101cb578063fbad4139146101dc578063fcf0b6ec1461010457600080fd5b80635c3f3b601461018c5780636cdd32fe146101a0578063d0d898dd146101b457600080fd5b80634178c4d5116100c85780634178c4d51461013f578063456f418814610154578063568ee82614610177578063575185ed1461018557600080fd5b806304245371146100ef5780631783efc3146101045780632c88036314610116575b600080fd5b6101026100fd366004610294565b505050565b005b6101026101123660046102e0565b5050565b61012c61012436600461031e565b600092915050565b6040519081526020015b60405180910390f35b61010261014d366004610348565b5050505050565b6101676101623660046103a9565b6101ff565b6040519015158152602001610136565b6101026101123660046103e3565b600061012c565b61012c61019a36600461040f565b50600090565b6101026101ae366004610431565b50505050565b6101026101123660046103a9565b61012c60025481565b6101026101d9366004610484565b50565b6101676101ea366004610484565b60006020819052908152604090205460ff1681565b6bffffffffffffffffffffffff821660008181526020819052604081205490919060ff168015610240575060408084013560009081526001602052205460ff165b949350505050565b60008083601f84011261025a57600080fd5b50813567ffffffffffffffff81111561027257600080fd5b6020830191508360208260051b850101111561028d57600080fd5b9250929050565b6000806000604084860312156102a957600080fd5b83359250602084013567ffffffffffffffff8111156102c757600080fd5b6102d386828701610248565b9497909650939450505050565b600080604083850312156102f357600080fd5b50508035926020909101359150565b80356001600160a01b038116811461031957600080fd5b919050565b6000806040838503121561033157600080fd5b61033a83610302565b946020939093013593505050565b60008060008060006080868803121561036057600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561038c57600080fd5b61039888828901610248565b969995985093965092949392505050565b6000808284036101c08112156103be57600080fd5b833592506101a0601f19820112156103d557600080fd5b506020830190509250929050565b600080604083850312156103f657600080fd5b8235915061040660208401610302565b90509250929050565b60006020828403121561042157600080fd5b61042a82610302565b9392505050565b6000806000806060858703121561044757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561046c57600080fd5b61047887828801610248565b95989497509550505050565b60006020828403121561049657600080fd5b503591905056fea2646970667358221220601c3f1cfd1e992f761fe740b0ea8e45ff66e51b22b86af6d46edcd39c2ffdf464736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} }