1 tx
98.3k calls
constructor
No constructor.
functions
blocklist
viewfunction blocklist(address committeeMember) view returns (bool isBlocklisted)
committee
viewfunction committee() view returns (address)
committeeIndex
viewfunction committeeIndex(address committeeMember) view returns (uint8 index)
committeeStake
viewfunction committeeStake(address committeeMember) view returns (uint16 stakeAmount)
config
viewfunction config() view returns (address)
nonces
viewfunction nonces(uint8 messageType) view returns (uint64 nonce)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
verifySignatures
viewfunction verifySignatures(bytes[] signatures, tuple message) view
initialize
nonpayablefunction initialize(address[] committee, uint16[] stake, uint16 minStakeRequired)
initializeConfig
nonpayablefunction initializeConfig(address _config)
updateBlocklistWithSignatures
nonpayablefunction updateBlocklistWithSignatures(bytes[] signatures, tuple message)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
upgradeWithSignatures
nonpayablefunction upgradeWithSignatures(bytes[] signatures, tuple message)
events
BlocklistUpdated
event BlocklistUpdated(address[] updatedMembers, bool isBlocklisted)
BlocklistUpdatedV2
event BlocklistUpdatedV2(uint64 nonce, address[] updatedMembers, bool isBlocklisted)
ContractUpgraded
event ContractUpgraded(uint256 nonce, address proxy, address implementation)
Initialized
event Initialized(uint64 version)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161265362000104600039600081816111bb015281816111e4015261139401526126536000f3fe6080604052600436106100dd5760003560e01c8063ad3cb1cc1161007f578063e5c7160b11610059578063e5c7160b146102c9578063f188949c14610309578063f6f66e9814610329578063fa72a6d01461034957600080fd5b8063ad3cb1cc1461024b578063c8f5528714610289578063d864e740146102a957600080fd5b80635035bda2116100bb5780635035bda21461015e57806352d1902d146101ac5780635b1adbef146101cf57806379502c551461021357600080fd5b8063409ac647146100e257806346b01d38146101045780634f1ef2861461014b575b600080fd5b3480156100ee57600080fd5b506101026100fd366004611d62565b610369565b005b34801561011057600080fd5b5061013461011f366004611e33565b60366020526000908152604090205460ff1681565b60405160ff90911681526020015b60405180910390f35b610102610159366004611ec8565b6107be565b34801561016a57600080fd5b50610194610179366004611f31565b6001602052600090815260409020546001600160401b031681565b6040516001600160401b039091168152602001610142565b3480156101b857600080fd5b506101c16107dd565b604051908152602001610142565b3480156101db57600080fd5b506102006101ea366004611e33565b60356020526000908152604090205461ffff1681565b60405161ffff9091168152602001610142565b34801561021f57600080fd5b50603854610233906001600160a01b031681565b6040516001600160a01b039091168152602001610142565b34801561025757600080fd5b5061027c604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101429190611f9e565b34801561029557600080fd5b506101026102a4366004611e33565b6107fa565b3480156102b557600080fd5b50600054610233906001600160a01b031681565b3480156102d557600080fd5b506102f96102e4366004611e33565b60376020526000908152604090205460ff1681565b6040519015158152602001610142565b34801561031557600080fd5b5061010261032436600461206c565b610889565b34801561033557600080fd5b5061010261034436600461206c565b610b28565b34801561035557600080fd5b5061010261036436600461206c565b610dfe565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156103ae5750825b90506000826001600160401b031660011480156103ca5750303b155b9050811580156103d8575080155b156103f65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561042057845460ff60401b1916600160401b1785555b6104293061116b565b6104316111a6565b875161010081106104af5760405162461bcd60e51b815260206004820152603760248201527f427269646765436f6d6d69747465653a20436f6d6d6974746565206c656e677460448201527f68206d757374206265206c657373207468616e2032353600000000000000000060648201526084015b60405180910390fd5b875181146105345760405162461bcd60e51b815260206004820152604660248201527f427269646765436f6d6d69747465653a20436f6d6d697474656520616e64207360448201527f74616b6520617272617973206d757374206265206f66207468652073616d65206064820152650d8cadccee8d60d31b608482015260a4016104a6565b6000805b828161ffff1610156106f957603560008c8361ffff168151811061055e5761055e612135565b6020908102919091018101516001600160a01b031682528101919091526040016000205461ffff16156105e75760405162461bcd60e51b815260206004820152602b60248201527f427269646765436f6d6d69747465653a204475706c696361746520636f6d6d6960448201526a3a3a32b29036b2b6b132b960a91b60648201526084016104a6565b898161ffff16815181106105fd576105fd612135565b6020026020010151603560008d8461ffff168151811061061f5761061f612135565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080603660008d8461ffff168151811061067c5761067c612135565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908360ff160217905550898161ffff16815181106106d2576106d2612135565b6020026020010151826106e59190612161565b9150806106f181612183565b915050610538565b508761ffff168161ffff16101561076c5760405162461bcd60e51b815260206004820152603160248201527f427269646765436f6d6d69747465653a20746f74616c207374616b65206973206044820152706c657373207468616e206d696e696d756d60781b60648201526084016104a6565b505083156107b457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6107c66111b0565b6107cf82611255565b6107d982826112c7565b5050565b60006107e7611389565b506000805160206125de83398151915290565b6038546001600160a01b0316156108675760405162461bcd60e51b815260206004820152602b60248201527f427269646765436f6d6d69747465653a20436f6e66696720616c72656164792060448201526a1a5b9a5d1a585b1a5e995960aa1b60648201526084016104a6565b603880546001600160a01b0319166001600160a01b0392909216919091179055565b6000610894826113d2565b90506000806000805b86518161ffff161015610ab2576000878261ffff16815181106108c2576108c2612135565b6020026020010151905060008060006108da846114e4565b9250925092506108f46108ec8b61157f565b828585611598565b50506001600160a01b03811660009081526037602052604090205490975060ff16156109715760405162461bcd60e51b815260206004820152602660248201527f427269646765436f6d6d69747465653a205369676e657220697320626c6f636b6044820152651b1a5cdd195960d21b60648201526084016104a6565b6001600160a01b03871660009081526035602052604090205461ffff166109e65760405162461bcd60e51b8152602060048201526024808201527f427269646765436f6d6d69747465653a205369676e657220686173206e6f207360448201526374616b6560e01b60648201526084016104a6565b6001600160a01b03871660009081526036602052604090205460ff166001811b87811615610a6c5760405162461bcd60e51b815260206004820152602d60248201527f427269646765436f6d6d69747465653a204475706c6963617465207369676e6160448201526c1d1d5c99481c1c9bdd9a591959609a1b60648201526084016104a6565b6001600160a01b03891660009081526035602052604090205497811797610a979061ffff168b612161565b99505050505050508080610aaa90612183565b91505061089d565b508363ffffffff168361ffff161015610b205760405162461bcd60e51b815260206004820152602a60248201527f427269646765436f6d6d69747465653a20496e73756666696369656e74207374604482015269185ad948185b5bdd5b9d60b21b60648201526084016104a6565b505050505050565b610b30611667565b80518190839060019060ff168114610b5a5760405162461bcd60e51b81526004016104a6906121a4565b600054604051633c62252760e21b81526001600160a01b039091169063f188949c90610b8c90859087906004016121f0565b60006040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b5050505060ff811615610d855760008054906101000a90046001600160a01b03166001600160a01b03166379502c556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a91906122a8565b6001600160a01b031663adc879e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b91906122c5565b60ff16836060015160ff1614610cc35760405162461bcd60e51b81526004016104a6906122e2565b825160ff166000908152600160205260409081902054908401516001600160401b03908116911614610d375760405162461bcd60e51b815260206004820152601e60248201527f4d65737361676556657269666965723a20496e76616c6964206e6f6e6365000060448201526064016104a6565b825160ff16600090815260016020526040812080546001600160401b031691610d5f83612323565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550505b600080610d95866080015161169f565b91509150610da381836117ef565b7f1a1b35eeb36118431e57f7a5ff9c4718f99197beb1f65fada60b6e46af6656ba86604001518284604051610dda9392919061233f565b60405180910390a150505050506107d960016000805160206125fe83398151915255565b610e06611667565b80518190839060059060ff168114610e305760405162461bcd60e51b81526004016104a6906121a4565b600054604051633c62252760e21b81526001600160a01b039091169063f188949c90610e6290859087906004016121f0565b60006040518083038186803b158015610e7a57600080fd5b505afa158015610e8e573d6000803e3d6000fd5b5050505060ff81161561105b5760008054906101000a90046001600160a01b03166001600160a01b03166379502c556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1091906122a8565b6001600160a01b031663adc879e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7191906122c5565b60ff16836060015160ff1614610f995760405162461bcd60e51b81526004016104a6906122e2565b825160ff166000908152600160205260409081902054908401516001600160401b0390811691161461100d5760405162461bcd60e51b815260206004820152601e60248201527f4d65737361676556657269666965723a20496e76616c6964206e6f6e6365000060448201526064016104a6565b825160ff16600090815260016020526040812080546001600160401b03169161103583612323565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550505b600080600061106d8760800151611872565b919450925090506001600160a01b03831630146110e05760405162461bcd60e51b815260206004820152602b60248201527f436f6d6d69747465655570677261646561626c653a20496e76616c696420707260448201526a6f7879206164647265737360a81b60648201526084016104a6565b6002805460ff191660011790556110f782826107be565b60408781015181516001600160401b0390911681526001600160a01b03858116602083015284168183015290517fdc69b57038334451ee12fd1742228917cea7f40dbd33cda5162e7e5754acee1c9181900360600190a15050505050506107d960016000805160206125fe83398151915255565b6111736118a0565b61117b6118e9565b611184816118f9565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6111ae6118a0565b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061123757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661122b6000805160206125de833981519152546001600160a01b031690565b6001600160a01b031614155b156111ae5760405163703e46dd60e11b815260040160405180910390fd5b60025460ff166112ba5760405162461bcd60e51b815260206004820152602a60248201527f436f6d6d69747465655570677261646561626c653a20556e617574686f72697a6044820152696564207570677261646560b01b60648201526084016104a6565b506002805460ff19169055565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611321575060408051601f3d908101601f1916820190925261131e918101906123aa565b60015b61134957604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104a6565b6000805160206125de833981519152811461137a57604051632a87526960e21b8152600481018290526024016104a6565b6113848383611901565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ae5760405163703e46dd60e11b815260040160405180910390fd5b805160009060ff166113e75750610d06919050565b815160ff16600019016113fd5750611389919050565b815160ff16600119016114355760006114198360800151611957565b9050801561142b57506101c292915050565b5061138992915050565b815160ff166002190161144b5750611389919050565b815160ff16600319016114615750611389919050565b815160ff16600419016114775750611389919050565b815160ff166006190161148d5750611389919050565b60405162461bcd60e51b815260206004820152602160248201527f4272696467655574696c733a20496e76616c6964206d657373616765207479706044820152606560f81b60648201526084016104a6565b919050565b6000806000835160411461154c5760405162461bcd60e51b815260206004820152602960248201527f427269646765436f6d6d69747465653a20496e76616c6964207369676e6174756044820152680e4ca40d8cadccee8d60bb1b60648201526084016104a6565b50505060208101516040820151606083015160001a601b81101561157857611575601b826123c3565b90505b9193909250565b600061158a826119f4565b805190602001209050919050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156115d3575060009150600390508261165d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611627573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166116535750600092506001915082905061165d565b9250600091508190505b9450945094915050565b6000805160206125fe83398151915280546001190161169957604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b600060606000836000815181106116b8576116b8612135565b602001015160f81c60f81b60f81c90506000846001815181106116dd576116dd612135565b016020015160f81c90506000816001600160401b0381111561170157611701611c60565b60405190808252806020026020018201604052801561172a578160200160208202803683370190505b5086519091506002906014906117419083906123dc565b61174b91906123ef565b156117685760405162461bcd60e51b81526004016104a690612411565b60005b8360ff168160ff1610156117dc57611784816014612454565b61178e90836123c3565b915060008260148a010151905080848360ff16815181106117b1576117b1612135565b6001600160a01b039092166020928302919091019091015250806117d481612470565b91505061176b565b505060ff90921615959194509092505050565b60005b82518161ffff161015611384578160376000858461ffff168151811061181a5761181a612135565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061185681612183565b9150506117f2565b60016000805160206125fe83398151915255565b6000806060600080600086806020019051810190611890919061248f565b9199909850909650945050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166111ae57604051631afcd79f60e31b815260040160405180910390fd5b6118f16118a0565b6111ae611ad1565b6111846118a0565b61190a82611ad9565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561194f576113848282611b3e565b6107d9611bb6565b6000815160011461197a5760405162461bcd60e51b81526004016104a690612411565b60008260008151811061198f5761198f612135565b016020015160f81c905060018111156119ea5760405162461bcd60e51b815260206004820152601c60248201527f4272696467655574696c733a20496e76616c6964206f7020636f64650000000060448201526064016104a6565b60ff161592915050565b60606000604051806040016040528060128152602001715355495f4252494447455f4d45535341474560701b81525083600001518460200151604051602001611a3f9392919061252e565b60408051808303601f190181528282528582015160c01b6001600160c01b031916602084015281518084036008018152602884018352606087015160f81b6001600160f81b03191660488501528251808503602901815260498501909352608087015191945092611ab89185918591859160690161256a565b6040516020818303038152906040529350505050919050565b61185e6118a0565b806001600160a01b03163b600003611b0f57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104a6565b6000805160206125de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611b5b91906125c1565b600060405180830381855af49150503d8060008114611b96576040519150601f19603f3d011682016040523d82523d6000602084013e611b9b565b606091505b5091509150611bab858383611bd5565b925050505b92915050565b34156111ae5760405163b398979f60e01b815260040160405180910390fd5b606082611bea57611be582611c34565b611c2d565b8151158015611c0157506001600160a01b0384163b155b15611c2a57604051639996b31560e01b81526001600160a01b03851660048201526024016104a6565b50805b9392505050565b805115611c445780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c9e57611c9e611c60565b604052919050565b60006001600160401b03821115611cbf57611cbf611c60565b5060051b60200190565b6001600160a01b0381168114611c5d57600080fd5b803561ffff811681146114df57600080fd5b600082601f830112611d0157600080fd5b81356020611d16611d1183611ca6565b611c76565b82815260059290921b84018101918181019086841115611d3557600080fd5b8286015b84811015611d5757611d4a81611cde565b8352918301918301611d39565b509695505050505050565b600080600060608486031215611d7757600080fd5b83356001600160401b0380821115611d8e57600080fd5b818601915086601f830112611da257600080fd5b81356020611db2611d1183611ca6565b82815260059290921b8401810191818101908a841115611dd157600080fd5b948201945b83861015611df8578535611de981611cc9565b82529482019490820190611dd6565b97505087013592505080821115611e0e57600080fd5b50611e1b86828701611cf0565b925050611e2a60408501611cde565b90509250925092565b600060208284031215611e4557600080fd5b8135611c2d81611cc9565b60006001600160401b03821115611e6957611e69611c60565b50601f01601f191660200190565b600082601f830112611e8857600080fd5b8135611e96611d1182611e50565b818152846020838601011115611eab57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215611edb57600080fd5b8235611ee681611cc9565b915060208301356001600160401b03811115611f0157600080fd5b611f0d85828601611e77565b9150509250929050565b60ff81168114611c5d57600080fd5b80356114df81611f17565b600060208284031215611f4357600080fd5b8135611c2d81611f17565b60005b83811015611f69578181015183820152602001611f51565b50506000910152565b60008151808452611f8a816020860160208601611f4e565b601f01601f19169290920160200192915050565b602081526000611c2d6020830184611f72565b600060a08284031215611fc357600080fd5b60405160a081016001600160401b038282108183111715611fe657611fe6611c60565b8160405282935084359150611ffa82611f17565b90825260208401359061200c82611f17565b81602084015260408501359150808216821461202757600080fd5b81604084015261203960608601611f26565b6060840152608085013591508082111561205257600080fd5b5061205f85828601611e77565b6080830152505092915050565b6000806040838503121561207f57600080fd5b82356001600160401b038082111561209657600080fd5b818501915085601f8301126120aa57600080fd5b813560206120ba611d1183611ca6565b82815260059290921b840181019181810190898411156120d957600080fd5b8286015b84811015612111578035868111156120f55760008081fd5b6121038c86838b0101611e77565b8452509183019183016120dd565b509650508601359250508082111561212857600080fd5b50611f0d85828601611fb1565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff81811683821601908082111561217c5761217c61214b565b5092915050565b600061ffff80831681810361219a5761219a61214b565b6001019392505050565b6020808252602c908201527f4d65737361676556657269666965723a206d65737361676520646f6573206e6f60408201526b74206d61746368207479706560a01b606082015260800190565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b8381101561224757605f19888703018552612235868351611f72565b95509382019390820190600101612219565b50508584038187015260ff875116845260ff8188015116818501525050506001600160401b03604085015116604082015260ff6060850151166060820152608084015160a0608083015261229e60a0830182611f72565b9695505050505050565b6000602082840312156122ba57600080fd5b8151611c2d81611cc9565b6000602082840312156122d757600080fd5b8151611c2d81611f17565b60208082526021908201527f4d65737361676556657269666965723a20496e76616c696420636861696e20496040820152601160fa1b606082015260800190565b60006001600160401b0380831681810361219a5761219a61214b565b6000606082016001600160401b03861683526020606081850152818651808452608086019150828801935060005b818110156123925784516001600160a01b03168352938301939183019160010161236d565b50508093505050508215156040830152949350505050565b6000602082840312156123bc57600080fd5b5051919050565b60ff8181168382160190811115611bb057611bb061214b565b81810381811115611bb057611bb061214b565b60008261240c57634e487b7160e01b600052601260045260246000fd5b500690565b60208082526023908201527f4272696467655574696c733a20496e76616c6964207061796c6f6164206c656e6040820152620cee8d60eb1b606082015260800190565b60ff818116838216029081169081811461217c5761217c61214b565b600060ff821660ff81036124865761248661214b565b60010192915050565b6000806000606084860312156124a457600080fd5b83516124af81611cc9565b60208501519093506124c081611cc9565b60408501519092506001600160401b038111156124dc57600080fd5b8401601f810186136124ed57600080fd5b80516124fb611d1182611e50565b81815287602083850101111561251057600080fd5b612521826020830160208601611f4e565b8093505050509250925092565b60008451612540818460208901611f4e565b6001600160f81b031960f895861b8116919093019081529290931b16600182015260020192915050565b6000855161257c818460208a01611f4e565b855190830190612590818360208a01611f4e565b85519101906125a3818360208901611f4e565b84519101906125b6818360208801611f4e565b019695505050505050565b600082516125d3818460208701611f4e565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122078381fa341e6f12761a9131b122f3a9ce159cfa25eee6c47134197a13458ebad64736f6c63430008140033