0 txs
159 calls
constructor
constructor(address _registryCoordinator)
functions
apkHistory
viewfunction apkHistory(uint8, uint256) view returns (bytes24 apkHash, uint32 updateBlockNumber, uint32 nextUpdateBlockNumber)
currentApk
viewfunction currentApk(uint8) view returns (uint256 X, uint256 Y)
getApk
viewfunction getApk(uint8 quorumNumber) view returns (tuple)
getApkHashAtBlockNumberAndIndex
viewfunction getApkHashAtBlockNumberAndIndex(uint8 quorumNumber, uint32 blockNumber, uint256 index) view returns (bytes24)
getApkHistoryLength
viewfunction getApkHistoryLength(uint8 quorumNumber) view returns (uint32)
getApkIndicesAtBlockNumber
viewfunction getApkIndicesAtBlockNumber(bytes quorumNumbers, uint256 blockNumber) view returns (uint32[])
getApkUpdateAtIndex
viewfunction getApkUpdateAtIndex(uint8 quorumNumber, uint256 index) view returns (tuple)
getOperatorFromPubkeyHash
viewfunction getOperatorFromPubkeyHash(bytes32 pubkeyHash) view returns (address)
getOperatorId
viewfunction getOperatorId(address operator) view returns (bytes32)
getRegisteredPubkey
viewfunction getRegisteredPubkey(address operator) view returns (tuple, bytes32)
operatorToPubkey
viewfunction operatorToPubkey(address) view returns (uint256 X, uint256 Y)
operatorToPubkeyHash
viewfunction operatorToPubkeyHash(address) view returns (bytes32)
pubkeyHashToOperator
viewfunction pubkeyHashToOperator(bytes32) view returns (address)
registryCoordinator
viewfunction registryCoordinator() view returns (address)
deregisterOperator
nonpayablefunction deregisterOperator(address operator, bytes quorumNumbers)
initializeQuorum
nonpayablefunction initializeQuorum(uint8 quorumNumber)
registerBLSPublicKey
nonpayablefunction registerBLSPublicKey(address operator, tuple params, tuple pubkeyRegistrationMessageHash) returns (bytes32 operatorId)
registerOperator
nonpayablefunction registerOperator(address operator, bytes quorumNumbers)
events
Initialized
event Initialized(uint8 version)
NewPubkeyRegistration
event NewPubkeyRegistration(address indexed operator, (uint256 X, uint256 Y) pubkeyG1, (uint256[2] X, uint256[2] Y) pubkeyG2)
OperatorAddedToQuorums
event OperatorAddedToQuorums(address operator, bytes32 operatorId, bytes quorumNumbers)
OperatorRemovedFromQuorums
event OperatorRemovedFromQuorums(address operator, bytes32 operatorId, bytes quorumNumbers)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200208738038062002087833981016040819052620000349162000116565b6001600160a01b038116608052806200004c62000054565b505062000148565b600054610100900460ff1615620000c15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000114576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b608051611f07620001806000396000818161030f01528181610466015281816105bf015281816109c501526110250152611f076000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c80636d14a987116100a2578063bf79ce5811610071578063bf79ce58146103cc578063d5254a8c146103df578063de29fac0146103ff578063e8bb9ae61461041f578063f4e24fe51461044857600080fd5b80636d14a9871461030a5780637916cea6146103315780637ff81a8714610372578063a3db80e2146103a557600080fd5b80633fb27952116100e95780633fb27952146101df57806347b314e8146101f25780635f61a88414610233578063605747d51461028f57806368bccaac146102dd57600080fd5b8062a1f4cb1461011a57806313542a4e1461015b57806326d941f214610192578063377ed99d146101a7575b600080fd5b6101416101283660046118e3565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b6101846101693660046118e3565b6001600160a01b031660009081526001602052604090205490565b604051908152602001610152565b6101a56101a0366004611916565b61045b565b005b6101ca6101b5366004611916565b60ff1660009081526004602052604090205490565b60405163ffffffff9091168152602001610152565b6101a56101ed3660046119a1565b6105b4565b61021b610200366004611a47565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610152565b610282610241366004611916565b60408051808201909152600080825260208201525060ff16600090815260056020908152604091829020825180840190935280548352600101549082015290565b6040516101529190611a60565b6102a261029d366004611a77565b610672565b60408051825167ffffffffffffffff1916815260208084015163ffffffff908116918301919091529282015190921690820152606001610152565b6102f06102eb366004611aa1565b610705565b60405167ffffffffffffffff199091168152602001610152565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b61034461033f366004611a77565b6108a0565b6040805167ffffffffffffffff19909416845263ffffffff9283166020850152911690820152606001610152565b6103856103803660046118e3565b6108eb565b604080518351815260209384015193810193909352820152606001610152565b6101416103b3366004611916565b6005602052600090815260409020805460019091015482565b6101846103da366004611ae9565b6109b8565b6103f26103ed366004611b46565b610e0b565b6040516101529190611bbe565b61018461040d3660046118e3565b60016020526000908152604090205481565b61021b61042d366004611a47565b6002602052600090815260409020546001600160a01b031681565b6101a56104563660046119a1565b61101a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ac5760405162461bcd60e51b81526004016104a390611c08565b60405180910390fd5b60ff81166000908152600460205260409020541561052b5760405162461bcd60e51b815260206004820152603660248201527f424c5341706b52656769737472792e696e697469616c697a6551756f72756d3a6044820152752071756f72756d20616c72656164792065786973747360501b60648201526084016104a3565b60ff166000908152600460209081526040808320815160608101835284815263ffffffff4381168286019081528285018781528454600181018655948852959096209151919092018054955194518316600160e01b026001600160e01b0395909316600160c01b026001600160e01b03199096169190931c179390931791909116919091179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105fc5760405162461bcd60e51b81526004016104a390611c08565b6000610607836108eb565b50905061061482826110c3565b7f73a2b7fb844724b971802ae9b15db094d4b7192df9d7350e14eb466b9b22eb4e83610655856001600160a01b031660009081526001602052604090205490565b8460405161066593929190611c7c565b60405180910390a1505050565b604080516060810182526000808252602080830182905282840182905260ff8616825260049052919091208054839081106106af576106af611ce2565b600091825260209182902060408051606081018252919092015467ffffffffffffffff1981841b16825263ffffffff600160c01b8204811694830194909452600160e01b90049092169082015290505b92915050565b60ff8316600090815260046020526040812080548291908490811061072c5761072c611ce2565b600091825260209182902060408051606081018252919092015467ffffffffffffffff1981841b16825263ffffffff600160c01b82048116948301859052600160e01b9091048116928201929092529250851610156107f35760405162461bcd60e51b815260206004820152603e60248201527f424c5341706b52656769737472792e5f76616c696461746541706b486173684160448201527f74426c6f636b4e756d6265723a20696e64657820746f6f20726563656e74000060648201526084016104a3565b604081015163ffffffff1615806108195750806040015163ffffffff168463ffffffff16105b6108975760405162461bcd60e51b815260206004820152604360248201527f424c5341706b52656769737472792e5f76616c696461746541706b486173684160448201527f74426c6f636b4e756d6265723a206e6f74206c61746573742061706b2075706460648201526261746560e81b608482015260a4016104a3565b51949350505050565b600460205281600052604060002081815481106108bc57600080fd5b600091825260209091200154604081901b925063ffffffff600160c01b820481169250600160e01b9091041683565b60408051808201909152600080825260208201526001600160a01b0382166000818152600360209081526040808320815180830183528154815260019182015481850152948452909152812054909190806109ae5760405162461bcd60e51b815260206004820152603e60248201527f424c5341706b52656769737472792e676574526567697374657265645075626b60448201527f65793a206f70657261746f72206973206e6f742072656769737465726564000060648201526084016104a3565b9094909350915050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a025760405162461bcd60e51b81526004016104a390611c08565b6000610a30610a1936869003860160408701611cf8565b805160009081526020918201519091526040902090565b90507fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58103610ab7576040805162461bcd60e51b8152602060048201526024810191909152600080516020611eb283398151915260448201527f4b65793a2063616e6e6f74207265676973746572207a65726f207075626b657960648201526084016104a3565b6001600160a01b03851660009081526001602052604090205415610b415760405162461bcd60e51b81526020600482015260476024820152600080516020611eb283398151915260448201527f4b65793a206f70657261746f7220616c72656164792072656769737465726564606482015266207075626b657960c81b608482015260a4016104a3565b6000818152600260205260409020546001600160a01b031615610bc55760405162461bcd60e51b81526020600482015260426024820152600080516020611eb283398151915260448201527f4b65793a207075626c6963206b657920616c7265616479207265676973746572606482015261195960f21b608482015260a4016104a3565b604080516000917f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000191610c1e918835916020808b0135928b01359160608c01359160808d019160c08e01918d35918e8201359101611d2a565b6040516020818303038152906040528051906020012060001c610c419190611d6c565b9050610cdb610c7a610c6583610c5f368a90038a0160408b01611cf8565b90611307565b610c7436899003890189611cf8565b90611398565b610c8261142d565b610cc4610cb585610c5f604080518082018252600080825260209182015281518083019092526001825260029082015290565b610c74368a90038a018a611cf8565b610cd6368a90038a0160808b01611dde565b6114ed565b610d765760405162461bcd60e51b815260206004820152606c6024820152600080516020611eb283398151915260448201527f4b65793a2065697468657220746865204731207369676e61747572652069732060648201527f77726f6e672c206f7220473120616e642047322070726976617465206b65792060848201526b0c8de40dcdee840dac2e8c6d60a31b60a482015260c4016104a3565b6001600160a01b03861660008181526003602090815260408083208982018035825560608b013560019283015590835281842087905586845260029092529182902080546001600160a01b0319168417905590517fe3fb6613af2e8930cf85d47fcf6db10192224a64c6cbe8023e0eee1ba382804191610dfa9160808a0190611e1d565b60405180910390a250949350505050565b606060008367ffffffffffffffff811115610e2857610e28611931565b604051908082528060200260200182016040528015610e51578160200160208202803683370190505b50905060005b84811015611011576000868683818110610e7357610e73611ce2565b919091013560f81c6000818152600460205260409020549092509050801580610ed6575060ff821660009081526004602052604081208054909190610eba57610eba611ce2565b600091825260209091200154600160c01b900463ffffffff1686105b15610f635760405162461bcd60e51b815260206004820152605160248201527f424c5341706b52656769737472792e67657441706b496e64696365734174426c60448201527f6f636b4e756d6265723a20626c6f636b4e756d626572206973206265666f7265606482015270207468652066697273742075706461746560781b608482015260a4016104a3565b805b80156110065760ff831660009081526004602052604090208790610f8a600184611e5d565b81548110610f9a57610f9a611ce2565b600091825260209091200154600160c01b900463ffffffff1611610ff457610fc3600182611e5d565b858581518110610fd557610fd5611ce2565b602002602001019063ffffffff16908163ffffffff1681525050611006565b80610ffe81611e70565b915050610f65565b505050600101610e57565b50949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110625760405162461bcd60e51b81526004016104a390611c08565b600061106d836108eb565b5090506110828261107d83611751565b6110c3565b7ff843ecd53a563675e62107be1494fdde4a3d49aeedaf8d88c616d85346e3500e83610655856001600160a01b031660009081526001602052604090205490565b604080518082019091526000808252602082015260005b83518110156113015760008482815181106110f7576110f7611ce2565b0160209081015160f81c600081815260049092526040822054909250908190036111895760405162461bcd60e51b815260206004820152603d60248201527f424c5341706b52656769737472792e5f70726f6365737351756f72756d41706b60448201527f5570646174653a2071756f72756d20646f6573206e6f7420657869737400000060648201526084016104a3565b60ff821660009081526005602090815260409182902082518084019093528054835260010154908201526111bd9086611398565b60ff831660008181526005602090815260408083208551808255868401805160019384015590855251835281842094845260049092528220939750919290916112069085611e5d565b8154811061121657611216611ce2565b6000918252602090912001805490915063ffffffff438116600160c01b90920416036112555780546001600160c01b031916604083901c1781556112f1565b805463ffffffff438116600160e01b8181026001600160e01b0394851617855560ff88166000908152600460209081526040808320815160608101835267ffffffffffffffff198b16815280840196875280830185815282546001810184559286529390942093519301805495519251871690940291909516600160c01b026001600160e01b0319949094169190941c17919091179092161790555b5050600190920191506110da9050565b50505050565b6040805180820190915260008082526020820152611323611810565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808061135257fe5b50806113905760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016104a3565b505092915050565b60408051808201909152600080825260208201526113b461182e565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa905080806113ef57fe5b50806113905760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016104a3565b61143561184c565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b60408051808201825285815260208082018590528251808401909352858352820183905260009161151c611871565b60005b60028110156116d7576000611535826006611e87565b905084826002811061154957611549611ce2565b6020020151518361155b836000611e9e565b600c811061156b5761156b611ce2565b602002015284826002811061158257611582611ce2565b602002015160200151838260016115999190611e9e565b600c81106115a9576115a9611ce2565b60200201528382600281106115c0576115c0611ce2565b60200201515151836115d3836002611e9e565b600c81106115e3576115e3611ce2565b60200201528382600281106115fa576115fa611ce2565b6020020151516001602002015183611613836003611e9e565b600c811061162357611623611ce2565b602002015283826002811061163a5761163a611ce2565b60200201516020015160006002811061165557611655611ce2565b602002015183611666836004611e9e565b600c811061167657611676611ce2565b602002015283826002811061168d5761168d611ce2565b6020020151602001516001600281106116a8576116a8611ce2565b6020020151836116b9836005611e9e565b600c81106116c9576116c9611ce2565b60200201525060010161151f565b506116e0611890565b60006020826101808560086107d05a03fa905080806116fb57fe5b50806117415760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b60448201526064016104a3565b5051151598975050505050505050565b6040805180820190915260008082526020820152815115801561177657506020820151155b15611794575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516117d99190611d6c565b611803907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611e5d565b905292915050565b919050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061185f6118ae565b815260200161186c6118ae565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b80356001600160a01b038116811461180b57600080fd5b6000602082840312156118f557600080fd5b6118fe826118cc565b9392505050565b803560ff8116811461180b57600080fd5b60006020828403121561192857600080fd5b6118fe82611905565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561196a5761196a611931565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561199957611999611931565b604052919050565b600080604083850312156119b457600080fd5b6119bd836118cc565b915060208084013567ffffffffffffffff808211156119db57600080fd5b818601915086601f8301126119ef57600080fd5b813581811115611a0157611a01611931565b611a13601f8201601f19168501611970565b91508082528784828501011115611a2957600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215611a5957600080fd5b5035919050565b8151815260208083015190820152604081016106ff565b60008060408385031215611a8a57600080fd5b611a9383611905565b946020939093013593505050565b600080600060608486031215611ab657600080fd5b611abf84611905565b9250602084013563ffffffff81168114611ad857600080fd5b929592945050506040919091013590565b6000806000838503610160811215611b0057600080fd5b611b09856118cc565b9350610100601f1982011215611b1e57600080fd5b602085019250604061011f1982011215611b3757600080fd5b50610120840190509250925092565b600080600060408486031215611b5b57600080fd5b833567ffffffffffffffff80821115611b7357600080fd5b818601915086601f830112611b8757600080fd5b813581811115611b9657600080fd5b876020828501011115611ba857600080fd5b6020928301989097509590910135949350505050565b6020808252825182820181905260009190848201906040850190845b81811015611bfc57835163ffffffff1683529284019291840191600101611bda565b50909695505050505050565b6020808252604e908201527f424c5341706b52656769737472792e6f6e6c795265676973747279436f6f726460408201527f696e61746f723a2063616c6c6572206973206e6f74207468652072656769737460608201526d393c9031b7b7b93234b730ba37b960911b608082015260a00190565b60018060a01b03841681526000602084602084015260606040840152835180606085015260005b81811015611cbf57858101830151858201608001528201611ca3565b506000608082860101526080601f19601f83011685010192505050949350505050565b634e487b7160e01b600052603260045260246000fd5b600060408284031215611d0a57600080fd5b611d12611947565b82358152602083013560208201528091505092915050565b888152876020820152866040820152856060820152604085608083013760408460c0830137610100810192909252610120820152610140019695505050505050565b600082611d8957634e487b7160e01b600052601260045260246000fd5b500690565b600082601f830112611d9f57600080fd5b611da7611947565b806040840185811115611db957600080fd5b845b81811015611dd3578035845260209384019301611dbb565b509095945050505050565b600060808284031215611df057600080fd5b611df8611947565b611e028484611d8e565b8152611e118460408501611d8e565b60208201529392505050565b823581526020808401359082015260c0810160408381840137604080840160808401379392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106ff576106ff611e47565b600081611e7f57611e7f611e47565b506000190190565b80820281158282048414176106ff576106ff611e47565b808201808211156106ff576106ff611e4756fe424c5341706b52656769737472792e7265676973746572424c535075626c6963a2646970667358221220b612f555b93cba8ee8de5e577b850458cdc8ac3703afb93ea508382b3d60786364736f6c6343000818003300000000000000000000000028c486660aff4c3ffc671cb72ff36fea214e8de1