0 txs
0 calls
constructor
constructor(address _admin, address _guardian, address _rootRegistry)
functions
admin
viewfunction admin() view returns (address)
config
viewfunction config(bytes32 key) view returns (bytes32 value)
getHelper
viewfunction getHelper(bytes32 version) view returns (address)
getSubVerifier
viewfunction getSubVerifier(bytes32 version) view returns (address)
guardian
viewfunction guardian() view returns (address)
helperCount
viewfunction helperCount() view returns (uint256)
helpers
viewfunction helpers(bytes32) view returns (address)
paused
viewfunction paused() view returns (bool)
rootRegistry
viewfunction rootRegistry() view returns (address)
subverifierCount
viewfunction subverifierCount() view returns (uint256)
subverifiers
viewfunction subverifiers(bytes32) view returns (address)
verify
viewfunction verify(tuple params) view returns (bool valid, bytes32 uniqueIdentifier, address helper)
addHelper
nonpayablefunction addHelper(bytes32 version, address newHelper)
addSubVerifier
nonpayablefunction addSubVerifier(bytes32 version, address subVerifier)
pause
nonpayablefunction pause()
removeHelper
nonpayablefunction removeHelper(bytes32 version)
removeSubVerifier
nonpayablefunction removeSubVerifier(bytes32 version)
setGuardian
nonpayablefunction setGuardian(address newGuardian)
transferAdmin
nonpayablefunction transferAdmin(address newAdmin)
unpause
nonpayablefunction unpause()
updateConfig
nonpayablefunction updateConfig(bytes32 key, bytes32 value)
updateHelper
nonpayablefunction updateHelper(bytes32 version, address newHelper)
updateSubVerifier
nonpayablefunction updateSubVerifier(bytes32 version, address newSubVerifier)
events
AdminUpdated
event AdminUpdated(address indexed oldAdmin, address indexed newAdmin)
ConfigUpdated
event ConfigUpdated(bytes32 indexed key, bytes32 oldValue, bytes32 newValue)
GuardianUpdated
event GuardianUpdated(address indexed oldGuardian, address indexed newGuardian)
HelperAdded
event HelperAdded(bytes32 indexed version, address indexed helper)
HelperRemoved
event HelperRemoved(bytes32 indexed version, address indexed helper)
HelperUpdated
event HelperUpdated(bytes32 indexed version, address indexed oldHelper, address indexed newHelper)
PausedStatusChanged
event PausedStatusChanged(bool paused)
RootRegistryUpdated
event RootRegistryUpdated(address indexed oldRootRegistry, address indexed newRootRegistry)
RootVerifierDeployed
event RootVerifierDeployed(address admin, address guardian, address rootRegistry)
SubVerifierAdded
event SubVerifierAdded(bytes32 indexed version, address indexed subVerifier)
SubVerifierRemoved
event SubVerifierRemoved(bytes32 indexed version, address indexed subVerifier)
SubVerifierUpdated
event SubVerifierUpdated(bytes32 indexed version, address indexed oldSubVerifier, address indexed newSubVerifier)
errors
No errors.
creation bytecode
0x608060405234801561000f575f5ffd5b506040516114d33803806114d383398101604081905261002e91610125565b6001600160a01b0383166100885760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f206164647265737300000000604482015260640160405180910390fd5b5f80546001600160a01b038581166001600160a01b0319928316811790935560018054868316908416811790915560028054928616929093168217909255604080519384526020840192909252908201527f49958336430bdf59d989fb74186fd9ed78af011655d4ffe62fa2fbe5193edbda9060600160405180910390a150505061016f565b6001600160a01b0381168114610122575f5ffd5b50565b5f5f5f60608486031215610137575f5ffd5b83516101428161010e565b60208501519093506101538161010e565b60408501519092506101648161010e565b809150509250925092565b6113578061017c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610148575f3560e01c8063889eba3b116100bf578063ba5f3f9d11610079578063ba5f3f9d1461030e578063c961ba7e14610321578063cc718f7614610338578063da0ff2c614610357578063f264980714610360578063f851a44014610388575f5ffd5b8063889eba3b146102875780638a0dac4a1461029a5780639bfefbfd146102ad578063a7ad58bf146102c0578063b3c83d99146102e8578063b96b161c146102fb575f5ffd5b8063578bd92111610110578063578bd921146101d45780635c975abb1461020d5780635dd41f2f146102315780636f9076381461025957806375829def1461026c5780638456cb591461027f575f5ffd5b8063079154391461014c5780633f4ba83a14610161578063452a932014610169578063492f34fb1461019957806352741df5146101c1575b5f5ffd5b61015f61015a366004610ef0565b61039a565b005b61015f61049f565b60015461017c906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61017c6101a7366004610f1e565b60036020525f90815260409020546001600160a01b031681565b61015f6101cf366004610ef0565b61050b565b6101e76101e2366004610f35565b610687565b60408051931515845260208401929092526001600160a01b031690820152606001610190565b60015461022190600160a01b900460ff1681565b6040519015158152602001610190565b61017c61023f366004610f1e565b5f908152600560205260409020546001600160a01b031690565b61015f610267366004610f1e565b6107b4565b61015f61027a366004610f73565b610895565b61015f610963565b61015f610295366004610f8e565b610a23565b61015f6102a8366004610f73565b610aa1565b61015f6102bb366004610f1e565b610b1b565b61017c6102ce366004610f1e565b60056020525f90815260409020546001600160a01b031681565b61015f6102f6366004610ef0565b610c2c565b60025461017c906001600160a01b031681565b61015f61031c366004610ef0565b610d7d565b61032a60045481565b604051908152602001610190565b61032a610346366004610f1e565b60076020525f908152604090205481565b61032a60065481565b61017c61036e366004610f1e565b5f908152600360205260409020546001600160a01b031690565b5f5461017c906001600160a01b031681565b5f546001600160a01b031633146103cc5760405162461bcd60e51b81526004016103c390610fae565b60405180910390fd5b816103e95760405162461bcd60e51b81526004016103c390610fe5565b6001600160a01b03811661040f5760405162461bcd60e51b81526004016103c390611015565b5f828152600360205260409020546001600160a01b03166104425760405162461bcd60e51b81526004016103c390611057565b5f8281526003602052604080822080546001600160a01b031981166001600160a01b038681169182179093559251911692839186917fa643a1aa11f9709b2990b31638a0b368d6d0c3b8f025a98a3249fea2bd5821d791a4505050565b5f546001600160a01b031633146104c85760405162461bcd60e51b81526004016103c390610fae565b6001805460ff60a01b191690556040515f81527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a1565b5f546001600160a01b031633146105345760405162461bcd60e51b81526004016103c390610fae565b6001600160a01b03811661058a5760405162461bcd60e51b815260206004820152601d60248201527f48656c7065722063616e6e6f74206265207a65726f206164647265737300000060448201526064016103c3565b816105a75760405162461bcd60e51b81526004016103c390610fe5565b5f828152600560205260409020546001600160a01b0316156106155760405162461bcd60e51b815260206004820152602160248201527f48656c70657220616c72656164792065786973747320666f722076657273696f6044820152603760f91b60648201526084016103c3565b5f82815260056020526040812080546001600160a01b0319166001600160a01b0384161790556006805491610649836110ac565b90915550506040516001600160a01b0382169083907fe3eccbb854b4a5c161cda43f1e76981a22f8c4a4190a1e1b44bb8c69039b85b2905f90a35050565b5f5f5f600160149054906101000a900460ff16156106e75760405162461bcd60e51b815260206004820152601760248201527f526f6f742076657269666965722069732070617573656400000000000000000060448201526064016103c3565b83355f908152600360205260409020546001600160a01b03168061071d5760405162461bcd60e51b81526004016103c390611057565b600254604051637446a77360e11b81526001600160a01b038381169263e88d4ee692610751929091169089906004016111ce565b6040805180830381865afa15801561076b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078f9190611309565b95355f9081526005602052604090205490966001600160a01b03909116945092505050565b5f546001600160a01b031633146107dd5760405162461bcd60e51b81526004016103c390610fae565b806107fa5760405162461bcd60e51b81526004016103c390610fe5565b5f818152600360205260409020546001600160a01b03168061082e5760405162461bcd60e51b81526004016103c390611057565b5f82815260036020526040812080546001600160a01b0319169055600480549161085783611335565b90915550506040516001600160a01b0382169083907f2632c7adc4cecbf41bb3ee7c156aae99b0bcd9da3efa5b9315f77dcdf6ef3e66905f90a35050565b5f546001600160a01b031633146108be5760405162461bcd60e51b81526004016103c390610fae565b6001600160a01b0381166109145760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f20616464726573730000000060448201526064016103c3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f546001600160a01b031633148061098557506001546001600160a01b031633145b6109e05760405162461bcd60e51b815260206004820152602660248201527f4e6f7420617574686f72697a65643a2061646d696e206f7220677561726469616044820152656e206f6e6c7960d01b60648201526084016103c3565b6001805460ff60a01b1916600160a01b1781556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001610501565b5f546001600160a01b03163314610a4c5760405162461bcd60e51b81526004016103c390610fae565b5f8281526007602090815260409182902080549084905582518181529182018490529184917fbb4f63ec43349b7ec7c292d3e97704824bcdd2d758200521ad62d3e9a127f782910160405180910390a2505050565b5f546001600160a01b03163314610aca5760405162461bcd60e51b81526004016103c390610fae565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad909905f90a35050565b5f546001600160a01b03163314610b445760405162461bcd60e51b81526004016103c390610fae565b80610b615760405162461bcd60e51b81526004016103c390610fe5565b5f818152600560205260409020546001600160a01b031680610bc55760405162461bcd60e51b815260206004820152601c60248201527f48656c706572206e6f7420666f756e6420666f722076657273696f6e0000000060448201526064016103c3565b5f82815260056020526040812080546001600160a01b03191690556006805491610bee83611335565b90915550506040516001600160a01b0382169083907f6a7d5ce7bf32942d5ee1a06318777e6921ab7173478635304ac93845d7de61e0905f90a35050565b5f546001600160a01b03163314610c555760405162461bcd60e51b81526004016103c390610fae565b6001600160a01b038116610c7b5760405162461bcd60e51b81526004016103c390611015565b81610c985760405162461bcd60e51b81526004016103c390610fe5565b5f828152600360205260409020546001600160a01b031615610d0b5760405162461bcd60e51b815260206004820152602660248201527f537562766572696669657220616c72656164792065786973747320666f72207660448201526532b939b4b7b760d11b60648201526084016103c3565b5f82815260036020526040812080546001600160a01b0319166001600160a01b0384161790556004805491610d3f836110ac565b90915550506040516001600160a01b0382169083907fa65f9939af3939f730447054d525d5526c5f9e75ccea14966e1de1876631f404905f90a35050565b5f546001600160a01b03163314610da65760405162461bcd60e51b81526004016103c390610fae565b81610dc35760405162461bcd60e51b81526004016103c390610fe5565b6001600160a01b038116610e195760405162461bcd60e51b815260206004820152601d60248201527f48656c7065722063616e6e6f74206265207a65726f206164647265737300000060448201526064016103c3565b5f828152600560205260409020546001600160a01b0316610e7c5760405162461bcd60e51b815260206004820152601c60248201527f48656c706572206e6f7420666f756e6420666f722076657273696f6e0000000060448201526064016103c3565b5f8281526005602052604080822080546001600160a01b031981166001600160a01b038681169182179093559251911692839186917fb9393e6de8fe36cc235a7d08d2fa004db98bbb2a2be241250df83a276bc0d62e91a4505050565b6001600160a01b0381168114610eed575f5ffd5b50565b5f5f60408385031215610f01575f5ffd5b823591506020830135610f1381610ed9565b809150509250929050565b5f60208284031215610f2e575f5ffd5b5035919050565b5f60208284031215610f45575f5ffd5b813567ffffffffffffffff811115610f5b575f5ffd5b820160808185031215610f6c575f5ffd5b9392505050565b5f60208284031215610f83575f5ffd5b8135610f6c81610ed9565b5f5f60408385031215610f9f575f5ffd5b50508035926020909101359150565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b60208082526016908201527556657273696f6e2063616e6e6f74206265207a65726f60501b604082015260600190565b60208082526022908201527f53756276657269666965722063616e6e6f74206265207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526021908201527f5375627665726966696572206e6f7420666f756e6420666f722076657273696f6040820152603760f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b5f600182016110bd576110bd611098565b5060010190565b5f5f8335601e198436030181126110d9575f5ffd5b830160208101925035905067ffffffffffffffff8111156110f8575f5ffd5b803603821315611106575f5ffd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611149575f5ffd5b90910192915050565b8015158114610eed575f5ffd5b803582525f61117160208301836110c4565b6080602086015261118660808601828461110d565b91505061119660408401846110c4565b85830360408701526111a983828461110d565b9250505060608301356111bb81611152565b8015156060860152508091505092915050565b6001600160a01b0383168152604060208083018290528335918301919091525f9083013536849003605e19018112611204575f5ffd5b608060608401528301803560c084015261122160208201826110c4565b606060e08601526112376101208601828461110d565b9150506040820135601e19833603018112611250575f5ffd5b60209201918201913567ffffffffffffffff81111561126d575f5ffd5b8060051b80360384131561127f575f5ffd5b85830360bf19016101008701528183526001600160fb1b038211156112a2575f5ffd5b8084602085013780830193505050506112be60408501856110c4565b601f198584030160808601526112d860208401828461110d565b925050506112e96060850185611135565b838203603f190160a08501526112ff828261115f565b9695505050505050565b5f5f6040838503121561131a575f5ffd5b825161132581611152565b6020939093015192949293505050565b5f8161134357611343611098565b505f19019056fea164736f6c634300081e000a0000000000000000000000002000ab040a899f914d6dfd2457c3dfbb22d4c76200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d0000020038d6e40e1d98e09fa1bb3a7daa8b70