0 txs
0 calls
constructor
constructor(address socket_, address owner_, uint32 chainSlug_)
functions
chainSlug
viewfunction chainSlug() view returns (uint32)
getMessageId
viewfunction getMessageId(uint32 siblingChainSlug_) view returns (bytes32)
getMinFees
viewfunction getMinFees(uint32 siblingChainSlug_, uint256 msgGasLimit_) view returns (uint256 totalFees)
hasRole
viewfunction hasRole(bytes32 role_, address address_) view returns (bool)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
siblingPlugs
viewfunction siblingPlugs(uint32) view returns (address)
socket__
viewfunction socket__() view returns (address)
token__
viewfunction token__() view returns (address)
claimOwner
nonpayablefunction claimOwner()
connect
nonpayablefunction connect(uint32 siblingChainSlug_, address siblingPlug_, address inboundSwitchboard_, address outboundSwitchboard_)
disconnect
nonpayablefunction disconnect(uint32 siblingChainSlug_)
grantRole
nonpayablefunction grantRole(bytes32 role_, address grantee_)
inbound
payablefunction inbound(uint32 siblingChainSlug_, bytes payload_) payable
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
outbound
payablefunction outbound(uint32 siblingChainSlug_, uint256 msgGasLimit_, bytes payload_) payable returns (bytes32 messageId_)
rescueFunds
nonpayablefunction rescueFunds(address token_, address rescueTo_, uint256 amount_)
revokeRole
nonpayablefunction revokeRole(bytes32 role_, address revokee_)
setSuperToken
nonpayablefunction setSuperToken(address token)
updateSocket
nonpayablefunction updateSocket(address socket_)
events
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)
SocketPlugDisconnected
event SocketPlugDisconnected(uint32 siblingChainSlug)
SocketUpdated
event SocketUpdated()
SuperTokenSet
event SuperTokenSet()
errors
InvalidTokenAddress
error InvalidTokenAddress()
NoPermit
error NoPermit(bytes32 role)
NotSocket
error NotSocket()
NotSuperToken
error NotSuperToken()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
TokenAlreadySet
error TokenAlreadySet()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200198b3803806200198b8339810160408190526200003491620000e4565b8180620000418162000074565b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555063ffffffff166080526200013a565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b0381168114620000df57600080fd5b919050565b600080600060608486031215620000fa57600080fd5b6200010584620000c7565b92506200011560208501620000c7565b9150604084015163ffffffff811681146200012f57600080fd5b809150509250925092565b60805161182e6200015d600039600081816103ca0152610c72015261182e6000f3fe60806040526004361061015f5760003560e01c8063608b677d116100c0578063b349ba6511610074578063c6a261d211610059578063c6a261d214610414578063d547741f14610441578063ddcb44971461046157600080fd5b8063b349ba65146103b8578063c41f1f6c1461040157600080fd5b80638da5cb5b116100a55780638da5cb5b1461033d57806391d14854146103685780639dc112891461039857600080fd5b8063608b677d146102da5780636ccae0541461031d57600080fd5b80633b1be6781161011757806349eec51e116100fc57806349eec51e1461026d578063537975dc1461029a5780635b94db27146102ba57600080fd5b80633b1be678146102385780633bd1adec1461025857600080fd5b8063195320ec11610148578063195320ec146101ac57806320f99c0a146101cc5780632f2ff15d1461021857600080fd5b80630293f6971461016457806311c97b381461018a575b600080fd5b610177610172366004611483565b610481565b6040519081526020015b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046114ff565b610581565b005b3480156101b857600080fd5b506101776101c736600461151c565b61063e565b3480156101d857600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610181565b34801561022457600080fd5b506101aa610233366004611546565b610700565b34801561024457600080fd5b506101aa610253366004611576565b61075f565b34801561026457600080fd5b506101aa610891565b34801561027957600080fd5b506004546101f39073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102a657600080fd5b506101aa6102b53660046114ff565b6108ed565b3480156102c657600080fd5b506101aa6102d53660046114ff565b6109fa565b3480156102e657600080fd5b506101f36102f53660046115d0565b60056020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561032957600080fd5b506101aa6103383660046115eb565b610aba565b34801561034957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101f3565b34801561037457600080fd5b50610388610383366004611546565b610b5d565b6040519015158152602001610181565b3480156103a457600080fd5b506101776103b33660046115d0565b610b95565b3480156103c457600080fd5b506103ec7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610181565b6101aa61040f36600461162c565b610cc0565b34801561042057600080fd5b506003546101f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561044d57600080fd5b506101aa61045c366004611546565b610d9e565b34801561046d57600080fd5b506101aa61047c3660046115d0565b610df9565b60045460009073ffffffffffffffffffffffffffffffffffffffff1633146104d5576040517f134d673900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546040517f3386774f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690633386774f903490610536908890889060009081908a906004016116e5565b60206040518083038185885af1158015610554573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105799190611721565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105d2576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556040517fcc1cd58997d5a009103394b0dd6f3fffec84dce61fc60781a5ff8caae680861b90600090a150565b6003546040517f9ae3f05a00000000000000000000000000000000000000000000000000000000815260048101839052606060248201526000604482018190526064820181905263ffffffff851660848301523060a48301529173ffffffffffffffffffffffffffffffffffffffff1690639ae3f05a9060c401602060405180830381865afa1580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f99190611721565b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610751576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075b8282610fd6565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107b0576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff84166000818152600560205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925560035492517f3b1be67800000000000000000000000000000000000000000000000000000000815260048101949094526024840152848116604484015283811660648401521690633b1be67890608401600060405180830381600087803b15801561087357600080fd5b505af1158015610887573d6000803e3d6000fd5b5050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146108e2576040517f7c91ccdd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108eb3361105c565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461093e576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045473ffffffffffffffffffffffffffffffffffffffff161561098e576040517fe22d1c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556040517ffe8c8e65a19e3e73cfdb602f53aa79cea768b338e20d261fb5566d7283805e8d90600090a150565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a4b576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b3360009081527f4933f7bec34ee32db93e9f5cd7e0519781b395282211f4f6857489046ea38f7660205260409020547fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f292539060ff16610b4c576040517f962f6333000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b610b578484846110d4565b50505050565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff166106f9565b600354604080517fe992e0ff000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163e992e0ff9160048083019260209291908290030181865afa158015610c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c29919061173a565b63ffffffff92909216600090815260056020526040908190205467ffffffffffffffff90931692901b7bffffffffffffffffffffffffffffffffffffffff0000000000000000167f000000000000000000000000000000000000000000000000000000000000000060e01b7fffffffff00000000000000000000000000000000000000000000000000000000161791909117919050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610d11576040517fc59f8f7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546040517fc41f1f6c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163c41f1f6c91610d68918691869101611764565b600060405180830381600087803b158015610d8257600080fd5b505af1158015610d96573d6000803e3d6000fd5b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610def576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075b82826111c9565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e4a576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546040517f6f38f87000000000000000000000000000000000000000000000000000000000815230600482015263ffffffff83166024820152600091829173ffffffffffffffffffffffffffffffffffffffff90911690636f38f8709060440160a060405180830381865afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eed9190611783565b50506003546040517f3b1be67800000000000000000000000000000000000000000000000000000000815263ffffffff881660048201526000602482015273ffffffffffffffffffffffffffffffffffffffff80851660448301528084166064830152939650919450919091169150633b1be67890608401600060405180830381600087803b158015610f7f57600080fd5b505af1158015610f93573d6000803e3d6000fd5b505060405163ffffffff861681527f95774ff9b5d227d0266feeffbfed32e564b9b74951cf310b8c15436c4412bbfd9250602001905060405180910390a1505050565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b73ffffffffffffffffffffffffffffffffffffffff8216611121576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161116d57611168828261124c565b505050565b8273ffffffffffffffffffffffffffffffffffffffff163b6000036111be576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111688383836112c1565b600082815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b600080600080600085875af1905080611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152606401610b43565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610b57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152606401610b43565b803563ffffffff811681146113a457600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126113e957600080fd5b813567ffffffffffffffff80821115611404576114046113a9565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561144a5761144a6113a9565b8160405283815286602085880101111561146357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561149857600080fd5b6114a184611390565b925060208401359150604084013567ffffffffffffffff8111156114c457600080fd5b6114d0868287016113d8565b9150509250925092565b73ffffffffffffffffffffffffffffffffffffffff811681146114fc57600080fd5b50565b60006020828403121561151157600080fd5b81356106f9816114da565b6000806040838503121561152f57600080fd5b61153883611390565b946020939093013593505050565b6000806040838503121561155957600080fd5b82359150602083013561156b816114da565b809150509250929050565b6000806000806080858703121561158c57600080fd5b61159585611390565b935060208501356115a5816114da565b925060408501356115b5816114da565b915060608501356115c5816114da565b939692955090935050565b6000602082840312156115e257600080fd5b6106f982611390565b60008060006060848603121561160057600080fd5b833561160b816114da565b9250602084013561161b816114da565b929592945050506040919091013590565b6000806040838503121561163f57600080fd5b61164883611390565b9150602083013567ffffffffffffffff81111561166457600080fd5b611670858286016113d8565b9150509250929050565b6000815180845260005b818110156116a057602081850181015186830182015201611684565b818111156116b2576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b63ffffffff8616815284602082015283604082015282606082015260a06080820152600061171660a083018461167a565b979650505050505050565b60006020828403121561173357600080fd5b5051919050565b60006020828403121561174c57600080fd5b815167ffffffffffffffff811681146106f957600080fd5b63ffffffff83168152604060208201526000610579604083018461167a565b600080600080600060a0868803121561179b57600080fd5b85516117a6816114da565b60208701519095506117b7816114da565b60408701519094506117c8816114da565b60608701519093506117d9816114da565b60808701519092506117ea816114da565b80915050929550929590935056fea264697066735822122045b0540304e3169e75842f4d327be1adbbb1b59562581da179a22e22f0f55f3164736f6c634300080d0033000000000000000000000000301bd265f0b3c16a58cbdb886ad87842e3a1c0a400000000000000000000000086ab95d2c6200b798ca382740597ce715ad0d727000000000000000000000000000000000000000000000000000000000000000a