0 txs
0 calls
constructor
constructor(bytes[] recentOperators)
functions
currentEpoch
viewfunction currentEpoch() view returns (uint256)
epochForHash
viewfunction epochForHash(bytes32) view returns (uint256)
hashForEpoch
viewfunction hashForEpoch(uint256) view returns (bytes32)
owner
viewfunction owner() view returns (address)
validateProof
viewfunction validateProof(bytes32 messageHash, bytes proof) view returns (bool)
transferOperatorship
nonpayablefunction transferOperatorship(bytes params)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OperatorshipTransferred
event OperatorshipTransferred(address[] newOperators, uint256[] newWeights, uint256 newThreshold)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
DuplicateOperators
error DuplicateOperators()
InvalidOperators
error InvalidOperators()
InvalidOwner
error InvalidOwner()
InvalidS
error InvalidS()
InvalidSignature
error InvalidSignature()
InvalidSignatureLength
error InvalidSignatureLength()
InvalidThreshold
error InvalidThreshold()
InvalidV
error InvalidV()
InvalidWeights
error InvalidWeights()
LowSignaturesWeight
error LowSignaturesWeight()
MalformedSigners
error MalformedSigners()
NotOwner
error NotOwner()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001693380380620016938339810160408190526200003491620003bf565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b8151811015620000c057620000ad828281518110620000995762000099620004fd565b6020026020010151620000c860201b60201c565b620000b88162000529565b905062000076565b505062000761565b600080600083806020019051810190620000e39190620005b4565b8251825193965091945092509081158062000106575062000104856200027e565b155b156200012557604051630849699d60e11b815260040160405180910390fd5b818114620001465760405163108cef9d60e31b815260040160405180910390fd5b6000805b828110156200019257858181518110620001685762000168620004fd565b6020026020010151826200017d91906200069b565b91506200018a8162000529565b90506200014a565b50831580620001a057508381105b15620001bf5760405163aabd5a0960e01b815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415620001f95760405163adda47f760e01b815260040160405180910390fd5b600060015460016200020c91906200069b565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac906200026b908a908a908a90620006b6565b60405180910390a1505050505050505050565b6000805b6001835162000292919062000747565b811015620003145782620002a88260016200069b565b81518110620002bb57620002bb620004fd565b60200260200101516001600160a01b0316838281518110620002e157620002e1620004fd565b60200260200101516001600160a01b031610620003015750600092915050565b6200030c8162000529565b905062000282565b5060006001600160a01b031682600081518110620003365762000336620004fd565b60200260200101516001600160a01b031614159050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000391576200039162000350565b604052919050565b60006001600160401b03821115620003b557620003b562000350565b5060051b60200190565b60006020808385031215620003d357600080fd5b82516001600160401b0380821115620003eb57600080fd5b8185019150601f86818401126200040157600080fd5b825162000418620004128262000399565b62000366565b81815260059190911b840185019085810190898311156200043857600080fd5b8686015b83811015620004ef57805186811115620004565760008081fd5b8701603f81018c13620004695760008081fd5b888101518781111562000480576200048062000350565b62000493818801601f19168b0162000366565b81815260408e81848601011115620004ab5760008081fd5b60005b83811015620004cb578481018201518382018e01528c01620004ae565b83811115620004dd5760008d85850101525b5050855250509187019187016200043c565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000540576200054062000513565b5060010190565b600082601f8301126200055957600080fd5b815160206200056c620004128362000399565b82815260059290921b840181019181810190868411156200058c57600080fd5b8286015b84811015620005a9578051835291830191830162000590565b509695505050505050565b600080600060608486031215620005ca57600080fd5b83516001600160401b0380821115620005e257600080fd5b818601915086601f830112620005f757600080fd5b815160206200060a620004128362000399565b82815260059290921b8401810191818101908a8411156200062a57600080fd5b948201945b83861015620006615785516001600160a01b0381168114620006515760008081fd5b825294820194908201906200062f565b918901519197509093505050808211156200067b57600080fd5b506200068a8682870162000547565b925050604084015190509250925092565b60008219821115620006b157620006b162000513565b500190565b606080825284519082018190526000906020906080840190828801845b82811015620006fa5781516001600160a01b031684529284019290840190600101620006d3565b5050508381038285015285518082528683019183019060005b81811015620007315783518352928401929184019160010162000713565b5050809350505050826040830152949350505050565b6000828210156200075c576200075c62000513565b500390565b610f2280620007716000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b610095610090366004610933565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa36600461097f565b60026020526000908152604090205481565b61011f61011a366004610998565b610201565b005b6100b361012f36600461097f565b60036020526000908152604090205481565b61011f61014f3660046109f2565b61026f565b60008080808061016686880188610bd0565b9350935093509350600084848460405160200161018593929190610cc0565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c8575060106101c58383610d63565b10155b156101e657604051630849699d60e11b815260040160405180910390fd5b6101f38b8888888861034d565b149998505050505050505050565b6000546001600160a01b0316331461022c576040516330cd747160e01b815260040160405180910390fd5b61026b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b5050565b6000546001600160a01b0316331461029a576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102da576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8351600080805b84518110156104635760006103828a87848151811061037557610375610d7a565b6020026020010151610687565b90505b84841080156103bf57508884815181106103a1576103a1610d7a565b60200260200101516001600160a01b0316816001600160a01b031614155b156103d4576103cd84610d90565b9350610385565b8484141561040e576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87848151811061042057610420610d7a565b6020026020010151836104339190610dab565b9250868310610446575050505050610496565b61044f84610d90565b9350508061045c90610d90565b9050610354565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000806000838060200190518101906104b69190610e1e565b825182519396509194509250908115806104d657506104d48561082a565b155b156104f457604051630849699d60e11b815260040160405180910390fd5b81811461052d576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156105705785818151811061054b5761054b610d7a565b60200260200101518261055e9190610dab565b915061056981610d90565b9050610531565b5083158061057d57508381105b156105b4576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415610606576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060015460016106179190610dab565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610674908a908a908a90610cc0565b60405180910390a1505050505050505050565b600081516041146106c4576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610730576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561074857508060ff16601c14155b1561077f576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156107d3573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610821576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161083c9190610d63565b8110156108b1578261084f826001610dab565b8151811061085f5761085f610d7a565b60200260200101516001600160a01b031683828151811061088257610882610d7a565b60200260200101516001600160a01b0316106108a15750600092915050565b6108aa81610d90565b905061082e565b5060006001600160a01b0316826000815181106108d0576108d0610d7a565b60200260200101516001600160a01b031614159050919050565b60008083601f8401126108fc57600080fd5b50813567ffffffffffffffff81111561091457600080fd5b60208301915083602082850101111561092c57600080fd5b9250929050565b60008060006040848603121561094857600080fd5b83359250602084013567ffffffffffffffff81111561096657600080fd5b610972868287016108ea565b9497909650939450505050565b60006020828403121561099157600080fd5b5035919050565b600080602083850312156109ab57600080fd5b823567ffffffffffffffff8111156109c257600080fd5b6109ce858286016108ea565b90969095509350505050565b6001600160a01b03811681146109ef57600080fd5b50565b600060208284031215610a0457600080fd5b8135610a0f816109da565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5557610a55610a16565b604052919050565b600067ffffffffffffffff821115610a7757610a77610a16565b5060051b60200190565b600082601f830112610a9257600080fd5b81356020610aa7610aa283610a5d565b610a2c565b82815260059290921b84018101918181019086841115610ac657600080fd5b8286015b84811015610ae15780358352918301918301610aca565b509695505050505050565b6000601f8381840112610afe57600080fd5b82356020610b0e610aa283610a5d565b82815260059290921b85018101918181019087841115610b2d57600080fd5b8287015b84811015610bc457803567ffffffffffffffff80821115610b525760008081fd5b818a0191508a603f830112610b675760008081fd5b85820135604082821115610b7d57610b7d610a16565b610b8e828b01601f19168901610a2c565b92508183528c81838601011115610ba55760008081fd5b8181850189850137506000908201870152845250918301918301610b31565b50979650505050505050565b60008060008060808587031215610be657600080fd5b843567ffffffffffffffff80821115610bfe57600080fd5b818701915087601f830112610c1257600080fd5b81356020610c22610aa283610a5d565b82815260059290921b8401810191818101908b841115610c4157600080fd5b948201945b83861015610c68578535610c59816109da565b82529482019490820190610c46565b98505088013592505080821115610c7e57600080fd5b610c8a88838901610a81565b9450604087013593506060870135915080821115610ca757600080fd5b50610cb487828801610aec565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610d025781516001600160a01b031684529284019290840190600101610cdd565b5050508381038285015285518082528683019183019060005b81811015610d3757835183529284019291840191600101610d1b565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d7557610d75610d4d565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610da457610da4610d4d565b5060010190565b60008219821115610dbe57610dbe610d4d565b500190565b600082601f830112610dd457600080fd5b81516020610de4610aa283610a5d565b82815260059290921b84018101918181019086841115610e0357600080fd5b8286015b84811015610ae15780518352918301918301610e07565b600080600060608486031215610e3357600080fd5b835167ffffffffffffffff80821115610e4b57600080fd5b818601915086601f830112610e5f57600080fd5b81516020610e6f610aa283610a5d565b82815260059290921b8401810191818101908a841115610e8e57600080fd5b948201945b83861015610eb5578551610ea6816109da565b82529482019490820190610e93565b91890151919750909350505080821115610ece57600080fd5b50610edb86828701610dc3565b92505060408401519050925092509256fea26469706673582212200ddc1b1cc323f5787654ff6b953672c656a5ae6baaac3108e31ea3b7daad1dfd64736f6c634300080900330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d20000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000015e7d000000000000000000000000000000000000000000000000000000000000003200000000000000000000000001ba1fcdbdc0324d9f5c2acf32510880695d8f3c0000000000000000000000000504c2c49372366ae2dcf3aa0a48cfc6816ff28f0000000000000000000000000ac2e2a18d2bb034c265706437a4261ffdb6ca63000000000000000000000000102b74eace3752e21b93ca8af4f058a6830a886b000000000000000000000000156e4b184122f21be7189873db2084d81f112274000000000000000000000000169560c6e71a41dc2ad847d8381794a0a09fab470000000000000000000000001cf2ca2f15a77646d8e9d650f7c8a831a8f24dce0000000000000000000000001d03613f9a8e4b49cbfbc6eb2c7ed80a9f189e8d0000000000000000000000001e1e6ee8bdbf79369d91c7e9cf1409dfeac1b4d40000000000000000000000002255a9dc749d4a633a9cbf71ba0a72946dde48450000000000000000000000002e491a30ab21afde081d9755d9f5c6d53c6a642b0000000000000000000000003334ab7109c8d2df7b65ed78a540ed5e5b49dd72000000000000000000000000352c286f7edb2be4e59547d8f2b4b79823321a11000000000000000000000000395f787d39a4cc3514a2ce0e34613b29eb4b3ac3000000000000000000000000526ad26922c639bac5a550c7008b871de7a7a0ee00000000000000000000000053355bb68605a0d5d30442c1d52ad2410a215e0400000000000000000000000055224290674734050c66f65f5aa4d8fdeefd42d20000000000000000000000005f4e42304a08b01ae81d244e777850edb0d487fe00000000000000000000000062e420e534858619979d41360100a0e51f6e21830000000000000000000000006398745fcafb73bcc41d31cec270f93be2cb75640000000000000000000000006b4b92dd4f91615d911ffc441c67397c7400a8b80000000000000000000000006fde41388410c5b15949353fad68df5c9cdde8db0000000000000000000000007c741fbb7d7ef99fb0723154f51869910c07ebb90000000000000000000000007ee1ea8fd161cbed5af59122cbccb0ffc94111a100000000000000000000000083532afdc213298c78bb6085be66ab7a8c601d8a000000000000000000000000946399e665f38e1faf6bc61d2a4ac99cf7d7afdc0000000000000000000000009828d088111fcd00aad3ab1e4de70838d2e93b08000000000000000000000000a1e53ebb464414840f153c9e1564912b1ee719aa000000000000000000000000aa5633117bdedcecf328660a3b22b4c35cfa20b6000000000000000000000000b2444dc9ee129d10d5bed315b601a49faa982fb5000000000000000000000000b7b91b804e963b8618ad87da449a10ea6050f7c2000000000000000000000000b8fa8f45b88f3bfbfda8f3517ebc1dc740d0efda000000000000000000000000c16b3abc7b14f6a9b0ecb8defd46d9ce0f475aa9000000000000000000000000c383b203c8587a0d391b7384c9f0e2b3474fc5e6000000000000000000000000c64877fcbe2a65fa9ccd2ceed412e718e0b076b0000000000000000000000000c7336aeb2b080c067b5b3bc94ce8476de2dc4bf6000000000000000000000000cd9d532832b8756ced505e2fb68a487312079802000000000000000000000000d205d589f1deb20ba2c02465bd8c31447f7f182c000000000000000000000000d27019e44e257a5f84f6f4243b9b26118c8b4b48000000000000000000000000d480b7f41db6da016c683935dc2018c42a7888a4000000000000000000000000d5196aeb1637fb22aea9e65cc8ef578b788f5e85000000000000000000000000dba19de8a2f97f91997768bf5d6de6cdb5be5f13000000000000000000000000e67e7ead4ca19994a0c064bbe8342b28d7bd6222000000000000000000000000ebb7c7ebeda23cbb7c677dfec22f0039428aee8f000000000000000000000000ec5db24ff6c3f2d674bfa00c21d6569d01649470000000000000000000000000edfa1f657366f6d9823fdb7b82e94a402f9f2f8b000000000000000000000000f6f70c517ceedcd0483e6f1d08741a8a6eb36b2a000000000000000000000000f8535f23577c441e840fdf50116ac386595baf50000000000000000000000000fa4ea094f66040735002c897676fae7910bf6475000000000000000000000000fcbdd019a0231507c17aab8721307154a09ff64400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000b0c000000000000000000000000000000000000000000000000000000000000095e00000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000041f000000000000000000000000000000000000000000000000000000000000089200000000000000000000000000000000000000000000000000000000000011bc0000000000000000000000000000000000000000000000000000000000000d9e0000000000000000000000000000000000000000000000000000000000000b0b0000000000000000000000000000000000000000000000000000000000000f130000000000000000000000000000000000000000000000000000000000000c9d00000000000000000000000000000000000000000000000000000000000007790000000000000000000000000000000000000000000000000000000000000cb300000000000000000000000000000000000000000000000000000000000010b30000000000000000000000000000000000000000000000000000000000001075000000000000000000000000000000000000000000000000000000000000177400000000000000000000000000000000000000000000000000000000000004cc00000000000000000000000000000000000000000000000000000000000010360000000000000000000000000000000000000000000000000000000000000d6b0000000000000000000000000000000000000000000000000000000000000bf30000000000000000000000000000000000000000000000000000000000000a4f0000000000000000000000000000000000000000000000000000000000000b9a0000000000000000000000000000000000000000000000000000000000000d28000000000000000000000000000000000000000000000000000000000000095c00000000000000000000000000000000000000000000000000000000000007260000000000000000000000000000000000000000000000000000000000000ab8000000000000000000000000000000000000000000000000000000000000073c0000000000000000000000000000000000000000000000000000000000000ce600000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000daa0000000000000000000000000000000000000000000000000000000000000aa900000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000c0c0000000000000000000000000000000000000000000000000000000000000d4400000000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000000000000000000000000000d510000000000000000000000000000000000000000000000000000000000000e5100000000000000000000000000000000000000000000000000000000000014230000000000000000000000000000000000000000000000000000000000000be10000000000000000000000000000000000000000000000000000000000000c6f0000000000000000000000000000000000000000000000000000000000000c150000000000000000000000000000000000000000000000000000000000000c4e0000000000000000000000000000000000000000000000000000000000000cc800000000000000000000000000000000000000000000000000000000000008e100000000000000000000000000000000000000000000000000000000000019ee0000000000000000000000000000000000000000000000000000000000000f85000000000000000000000000000000000000000000000000000000000000077e0000000000000000000000000000000000000000000000000000000000000849000000000000000000000000000000000000000000000000000000000000067a000000000000000000000000000000000000000000000000000000000000101400000000000000000000000000000000000000000000000000000000000003ea