2 txs
5 calls
constructor
constructor()
functions
getMessageHash
purefunction getMessageHash(bytes prefix, bytes data) pure returns (bytes32)
jointPublicKey
viewfunction jointPublicKey() view returns (bytes32)
MESSAGE_UPDATE_JOINT_PUBLIC_KEY
viewfunction MESSAGE_UPDATE_JOINT_PUBLIC_KEY() view returns (bytes)
owner
viewfunction owner() view returns (address)
usedNonces
viewfunction usedNonces(bytes32) view returns (bool)
validateMessage
viewfunction validateMessage(bytes prefix, bytes data, bytes signature) view returns (bool)
validateMessageHash
viewfunction validateMessageHash(bytes32 hash, bytes signature) view returns (bool)
verify
purefunction verify(uint256 px, uint256 rx, uint256 s, bytes32 m) pure returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
setJointPublicKey
nonpayablefunction setJointPublicKey(bytes32 _jointPublicKey)
setJointPublicKeySigned
nonpayablefunction setJointPublicKeySigned(bytes32 _jointPublicKey, bytes32 _nonce, bytes signature)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
JointPublicKeyUpdated
event JointPublicKeyUpdated(bytes32 newjointPublicKey)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
InvalidSignature
error InvalidSignature()
NoJointPublicKey
error NoJointPublicKey()
NonceAlreadyUsed
error NonceAlreadyUsed(bytes32 nonce)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080604052348015600f57600080fd5b503380603557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b603c816041565b506091565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610db0806100a06000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063996d1b9111610071578063996d1b911461013f5780639c846f7814610152578063ad75d1fd14610169578063bca0ac06146101b2578063f2fde38b146101c5578063feb61724146101d857600080fd5b806301b4167e146100b95780630fde6e55146100ce57806311ee58a9146100f65780631bb449bd14610109578063715018a61461011c5780638da5cb5b14610124575b600080fd5b6100cc6100c736600461091d565b6101fb565b005b6100e16100dc366004610936565b61023e565b60405190151581526020015b60405180910390f35b6100e1610104366004610a56565b6103a6565b6100e1610117366004610aed565b6103ca565b6100cc610440565b6000546040516001600160a01b0390911681526020016100ed565b6100cc61014d366004610b39565b610454565b61015b60015481565b6040519081526020016100ed565b6101a56040518060400160405280601e81526020017f5354524f4f4d5f5550444154455f4a4f494e545f5055424c49435f4b4559000081525081565b6040516100ed9190610b98565b61015b6101c0366004610bcb565b61056c565b6100cc6101d3366004610c34565b6105a7565b6100e16101e636600461091d565b60026020526000908152604090205460ff1681565b6102036105e5565b60018190556040518181527f8c2c4ca5558a22e5df2161c7ba30c7c1da4b0dfd74176f4ae8aa625a146957619060200160405180910390a150565b60006401000003d0198510158061025b57506401000003d0198410155b80610278575070014551231950b75fc4402da1732fc9bebe198310155b156102855750600061039e565b60008061029186610612565b91509150806102a55760009250505061039e565b60006102b287898761066d565b9050600070014551231950b75fc4402da1732fc9bebe198988096102e89070014551231950b75fc4402da1732fc9bebe19610c89565b9050600070014551231950b75fc4402da1732fc9bebe198a840961031e9070014551231950b75fc4402da1732fc9bebe19610c89565b60408051600080825260208201808452869052601b92820192909252606081018d9052608081018390529192509060019060a0016020604051602081039080840390855afa158015610374573d6000803e3d6000fd5b505050602060405103519050856001600160a01b0316816001600160a01b03161496505050505050505b949350505050565b6000806103b3868661056c565b90506103c08185856103ca565b9695505050505050565b60015460009081036103ef57604051631ecd631160e21b815260040160405180910390fd5b60006103fe6020828587610c9c565b61040791610cc6565b90506000610419604060208688610c9c565b61042291610cc6565b6001549091506104349083838961023e565b925050505b9392505050565b6104486105e5565b610452600061073f565b565b60008381526002602052604090205460ff161561048c57604051638c24228560e01b8152600481018490526024015b60405180910390fd5b6104f76040518060400160405280601e81526020017f5354524f4f4d5f5550444154455f4a4f494e545f5055424c49435f4b4559000081525085856040516020016104e1929190918252602082015260400190565b60405160208183030381529060405284846103a6565b61051457604051638baa579f60e01b815260040160405180910390fd5b6001848155600084815260026020908152604091829020805460ff1916909317909255518581527f8c2c4ca5558a22e5df2161c7ba30c7c1da4b0dfd74176f4ae8aa625a14695761910160405180910390a150505050565b6000828051906020012082604051602001610588929190610ce4565b6040516020818303038152906040528051906020012090505b92915050565b6105af6105e5565b6001600160a01b0381166105d957604051631e4fbdf760e01b815260006004820152602401610483565b6105e28161073f565b50565b6000546001600160a01b031633146104525760405163118cdaa760e01b8152336004820152602401610483565b6000806000806106218561078f565b9150915080610637575060009485945092505050565b50604080516020808201969096528082019290925280518083038201815260609092019052805193019290922092600192509050565b604080517f7bb52d7a9fef58323eb1bf7a407db382d2f3f2d81bb1224f49fe518f6d48d37c60208201819052918101829052606081018590526080810184905260a081018390526000919070014551231950b75fc4402da1732fc9bebe199060029060c00160408051601f19818403018152908290526106ec91610d0a565b602060405180830381855afa158015610709573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061072c9190610d26565b6107369190610d3f565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806401000003d0198160078286106107b157506000958695509350505050565b600083806107c1576107c1610c5d565b84806107cf576107cf610c5d565b8386806107de576107de610c5d565b868b090885806107f0576107f0610c5d565b86806107fe576107fe610c5d565b8a8b098a09089050610827816004610817876001610d53565b6108219190610d66565b86610854565b9050600060018216156108435761083e8286610c89565b610845565b815b98600198509650505050505050565b6000816000036108985760405162461bcd60e51b815260206004820152600f60248201526e4d6f64756c7573206973207a65726f60881b6044820152606401610483565b836000036108a857506000610439565b826000036108b857506001610439565b6001600160ff1b5b801561091457838186161515870a85848509099150836002820486161515870a85848509099150836004820486161515870a85848509099150836008820486161515870a85848509099150601090046108c0565b50949350505050565b60006020828403121561092f57600080fd5b5035919050565b6000806000806080858703121561094c57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261098f57600080fd5b813567ffffffffffffffff8111156109a9576109a9610968565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156109d8576109d8610968565b6040528181528382016020018510156109f057600080fd5b816020850160208301376000918101602001919091529392505050565b60008083601f840112610a1f57600080fd5b50813567ffffffffffffffff811115610a3757600080fd5b602083019150836020828501011115610a4f57600080fd5b9250929050565b60008060008060608587031215610a6c57600080fd5b843567ffffffffffffffff811115610a8357600080fd5b610a8f8782880161097e565b945050602085013567ffffffffffffffff811115610aac57600080fd5b610ab88782880161097e565b935050604085013567ffffffffffffffff811115610ad557600080fd5b610ae187828801610a0d565b95989497509550505050565b600080600060408486031215610b0257600080fd5b83359250602084013567ffffffffffffffff811115610b2057600080fd5b610b2c86828701610a0d565b9497909650939450505050565b60008060008060608587031215610b4f57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115610ad557600080fd5b60005b83811015610b8f578181015183820152602001610b77565b50506000910152565b6020815260008251806020840152610bb7816040850160208701610b74565b601f01601f19169190910160400192915050565b60008060408385031215610bde57600080fd5b823567ffffffffffffffff811115610bf557600080fd5b610c018582860161097e565b925050602083013567ffffffffffffffff811115610c1e57600080fd5b610c2a8582860161097e565b9150509250929050565b600060208284031215610c4657600080fd5b81356001600160a01b038116811461043957600080fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156105a1576105a1610c73565b60008085851115610cac57600080fd5b83861115610cb957600080fd5b5050820193919092039150565b803560208310156105a157600019602084900360031b1b1692915050565b82815260008251610cfc816020850160208701610b74565b919091016020019392505050565b60008251610d1c818460208701610b74565b9190910192915050565b600060208284031215610d3857600080fd5b5051919050565b600082610d4e57610d4e610c5d565b500690565b808201808211156105a1576105a1610c73565b600082610d7557610d75610c5d565b50049056fea264697066735822122041f46347986ff0fd3feff027df5c9275fac29355772600a5d35536708343508264736f6c634300081b0033