2 txs
58 calls
constructor
constructor(address bridge_, address socket_, uint32 siblingChainSlug_)
functions
bridge__
viewfunction bridge__() view returns (address)
getMessageId
viewfunction getMessageId() view returns (bytes32)
getMinFees
viewfunction getMinFees(uint256 msgGasLimit_, uint256 payloadSize_) view returns (uint256 totalFees)
hasRole
viewfunction hasRole(bytes32 role_, address address_) view returns (bool)
messageIdPart
viewfunction messageIdPart() view returns (uint256)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
siblingChainSlug
viewfunction siblingChainSlug() view returns (uint32)
socket__
viewfunction socket__() view returns (address)
claimOwner
nonpayablefunction claimOwner()
connect
nonpayablefunction connect(address siblingPlug_, address switchboard_)
disconnect
nonpayablefunction disconnect()
grantRole
nonpayablefunction grantRole(bytes32 role_, address grantee_)
inbound
payablefunction inbound(uint32 siblingChainSlug_, bytes payload_) payable
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
outbound
payablefunction outbound(uint256 msgGasLimit_, bytes payload_, bytes) payable returns (bytes32 messageId_)
rescueFunds
nonpayablefunction rescueFunds(address token_, address rescueTo_, uint256 amount_)
revokeRole
nonpayablefunction revokeRole(bytes32 role_, address revokee_)
events
ConnectorPlugDisconnected
event ConnectorPlugDisconnected()
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed grantee)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed revokee)
errors
InvalidTokenAddress
error InvalidTokenAddress()
NoPermit
error NoPermit(bytes32 role)
NotBridge
error NotBridge()
NotSocket
error NotSocket()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60e06040523480156200001157600080fd5b50604051620019bc380380620019bc833981016040819052620000349162000160565b3380620000418162000095565b50506001600160a01b03808416608052821660a05263ffffffff811660c0526200008c7fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f2925333620000e8565b505050620001b6565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b60008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150604084015163ffffffff81168114620001ab57600080fd5b809150509250925092565b60805160a05160c05161176d6200024f6000396000818161030d0152818161050d0152818161078801528181610a9c01528181610d1a0152610df20152600081816103690152818161044601528181610562015281816107b6015281816108e401528181610a6d01528181610b3001528181610d430152610e4b0152600081816102c6015281816109d90152610bc4015261176d6000f3fe6080604052600436106101295760003560e01c806391d14854116100a5578063c41f1f6c11610074578063d547741f11610059578063d547741f1461038b578063d9374bff146103ab578063e9975f88146103c057600080fd5b8063c41f1f6c14610344578063c6a261d21461035757600080fd5b806391d1485414610284578063aa128e8f146102b4578063ac0710cb146102e8578063bf965e52146102fb57600080fd5b80635b94db27116100fc5780636ccae054116100e15780636ccae0541461022457806374fa24a6146102445780638da5cb5b1461025957600080fd5b80635b94db27146101d6578063666758ca146101f657600080fd5b806320f99c0a1461012e578063295058ef1461017f5780632f2ff15d146101a15780633bd1adec146101c1575b600080fd5b34801561013a57600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018b57600080fd5b5061019f61019a3660046112b6565b6103d6565b005b3480156101ad57600080fd5b5061019f6101bc3660046112ef565b6105c2565b3480156101cd57600080fd5b5061019f610621565b3480156101e257600080fd5b5061019f6101f1366004611314565b61067d565b34801561020257600080fd5b50610216610211366004611331565b61073d565b604051908152602001610176565b34801561023057600080fd5b5061019f61023f366004611353565b61083d565b34801561025057600080fd5b506102166108e0565b34801561026557600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610155565b34801561029057600080fd5b506102a461029f3660046112ef565b610987565b6040519015158152602001610176565b3480156102c057600080fd5b506101557f000000000000000000000000000000000000000000000000000000000000000081565b6102166102f636600461146e565b6109bf565b34801561030757600080fd5b5061032f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610176565b61019f6103523660046114ed565b610b18565b34801561036357600080fd5b506101557f000000000000000000000000000000000000000000000000000000000000000081565b34801561039757600080fd5b5061019f6103a63660046112ef565b610c34565b3480156103b757600080fd5b5061019f610c8f565b3480156103cc57600080fd5b5061021660035481565b60005473ffffffffffffffffffffffffffffffffffffffff163314610427576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408273ffffffffffffffffffffffffffffffffffffffff16901b60e07f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b349ba656040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d39190611572565b63ffffffff90811690911b919091176003556040517f3b1be6780000000000000000000000000000000000000000000000000000000081527f0000000000000000000000000000000000000000000000000000000000000000909116600482015273ffffffffffffffffffffffffffffffffffffffff83811660248301528281166044830181905260648301527f00000000000000000000000000000000000000000000000000000000000000001690633b1be67890608401600060405180830381600087803b1580156105a657600080fd5b505af11580156105ba573d6000803e3d6000fd5b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610613576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061d8282610ed7565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610672576040517f7c91ccdd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61067b33610f5d565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ce576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b6040517f9ae3f05a00000000000000000000000000000000000000000000000000000000815260048101839052602481018290526000604482018190526064820181905263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660848301523060a4830152907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639ae3f05a9060c401602060405180830381865afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610836919061158f565b9392505050565b3360009081527f4933f7bec34ee32db93e9f5cd7e0519781b395282211f4f6857489046ea38f7660205260409020547fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f292539060ff166108cf576040517f962f6333000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b6108da848484610fd5565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e992e0ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097191906115a8565b67ffffffffffffffff166003541760001b905090565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff16610836565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a30576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f3386774f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633386774f903490610acd907f000000000000000000000000000000000000000000000000000000000000000090899060009081908b906004016115d2565b60206040518083038185885af1158015610aeb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b10919061158f565b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b87576040517fc59f8f7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f873ea75500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063873ea75590610bfd90869086908690600401611668565b600060405180830381600087803b158015610c1757600080fd5b505af1158015610c2b573d6000803e3d6000fd5b50505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c85576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061d82826110ca565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ce0576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060038190556040517f6f38f87000000000000000000000000000000000000000000000000000000000815230600482015263ffffffff7f000000000000000000000000000000000000000000000000000000000000000016602482015281907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636f38f8709060440160a060405180830381865afa158015610d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc391906116c2565b50506040517f3b1be67800000000000000000000000000000000000000000000000000000000815263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048201526000602482015273ffffffffffffffffffffffffffffffffffffffff808416604483015280831660648301529295509093507f00000000000000000000000000000000000000000000000000000000000000009091169150633b1be67890608401600060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b50506040517fc2af098c82dba3c4b00be8bda596d62d13b98a87b42626fefa67e0bb0e198fdd925060009150a15050565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b73ffffffffffffffffffffffffffffffffffffffff8216611022576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161106e57611069828261114d565b505050565b8273ffffffffffffffffffffffffffffffffffffffff163b6000036110bf576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110698383836111c2565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b600080600080600085875af1905080611069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c45440000000000000000000000000060448201526064016108c6565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806108da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016108c6565b73ffffffffffffffffffffffffffffffffffffffff811681146112b357600080fd5b50565b600080604083850312156112c957600080fd5b82356112d481611291565b915060208301356112e481611291565b809150509250929050565b6000806040838503121561130257600080fd5b8235915060208301356112e481611291565b60006020828403121561132657600080fd5b813561083681611291565b6000806040838503121561134457600080fd5b50508035926020909101359150565b60008060006060848603121561136857600080fd5b833561137381611291565b9250602084013561138381611291565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126113d457600080fd5b813567ffffffffffffffff808211156113ef576113ef611394565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561143557611435611394565b8160405283815286602085880101111561144e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561148357600080fd5b83359250602084013567ffffffffffffffff808211156114a257600080fd5b6114ae878388016113c3565b935060408601359150808211156114c457600080fd5b506114d1868287016113c3565b9150509250925092565b63ffffffff811681146112b357600080fd5b60008060006040848603121561150257600080fd5b833561150d816114db565b9250602084013567ffffffffffffffff8082111561152a57600080fd5b818601915086601f83011261153e57600080fd5b81358181111561154d57600080fd5b87602082850101111561155f57600080fd5b6020830194508093505050509250925092565b60006020828403121561158457600080fd5b8151610836816114db565b6000602082840312156115a157600080fd5b5051919050565b6000602082840312156115ba57600080fd5b815167ffffffffffffffff8116811461083657600080fd5b63ffffffff8616815260006020868184015285604084015284606084015260a0608084015283518060a085015260005b8181101561161e5785810183015185820160c001528201611602565b8181111561163057600060c083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160c001979650505050505050565b63ffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b600080600080600060a086880312156116da57600080fd5b85516116e581611291565b60208701519095506116f681611291565b604087015190945061170781611291565b606087015190935061171881611291565b608087015190925061172981611291565b80915050929550929590935056fea2646970667358221220d2323bd16e9fa5192234a5b59fe23b0626724f5b5a1ecfe363c92563b1e4f91064736f6c634300080d00330000000000000000000000004518308f435f5cf08952d8eb2e1be33a49b6ba0800000000000000000000000037cc674582049b579571e2ffd890a4d99355f6ba00000000000000000000000000000000000000000000000000000000000003bd