13 txs
17 calls
constructor
constructor(address _owner, address _mofaSigner, address _switchboardRouter, address _swapExecutor, address _calldataRouter, address _permit2, uint256 _expiryBuffer, address _singleOutputRequestImpl, address _swapOutputRequestImpl)
functions
beneficiarySettlements
viewfunction beneficiarySettlements(address beneficiary, address router, address token) view returns (uint256 amount)
CALLDATA_EXECUTOR
viewfunction CALLDATA_EXECUTOR() view returns (address)
checkCapacity
viewfunction checkCapacity(address transmitter, address token) view returns (uint256)
EXPIRY_BUFFER
viewfunction EXPIRY_BUFFER() view returns (uint256)
FEE_COLLECTOR
viewfunction FEE_COLLECTOR() view returns (address)
getSingleOutputExtractedRequest
viewfunction getSingleOutputExtractedRequest(bytes32 requestHash) view returns (tuple)
getSingleOutputFulfilledRequest
viewfunction getSingleOutputFulfilledRequest(bytes32 requestHash) view returns (tuple)
getWhitelistedReceiver
viewfunction getWhitelistedReceiver(address router, uint256 destinationChainId) view returns (address)
isBungeeRouter
viewfunction isBungeeRouter(address router) view returns (bool)
isWhitelisted
viewfunction isWhitelisted(address router) view returns (bool whitelisted)
MOFA_SIGNER
viewfunction MOFA_SIGNER() view returns (address)
NATIVE_TOKEN_ADDRESS
viewfunction NATIVE_TOKEN_ADDRESS() view returns (address)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
PERMIT2
viewfunction PERMIT2() view returns (address)
SINGLE_OUTPUT_IMPL_ID
viewfunction SINGLE_OUTPUT_IMPL_ID() view returns (uint8)
SINGLE_OUTPUT_REQUEST_IMPL
viewfunction SINGLE_OUTPUT_REQUEST_IMPL() view returns (address)
STAKE_VAULT
viewfunction STAKE_VAULT() view returns (address)
SWAP_EXECUTOR
viewfunction SWAP_EXECUTOR() view returns (address)
SWAP_REQUEST_IMPL_ID
viewfunction SWAP_REQUEST_IMPL_ID() view returns (uint8)
SWAP_REQUEST_IMPL
viewfunction SWAP_REQUEST_IMPL() view returns (address)
SWITCHBOARD_ROUTER
viewfunction SWITCHBOARD_ROUTER() view returns (address)
transmitterCapacity
viewfunction transmitterCapacity(address transmitter, address token) view returns (uint256 capacity)
withdrawnRequests
viewfunction withdrawnRequests(bytes32 requestHash) view returns (bool withdrawn)
claimOwner
nonpayablefunction claimOwner()
executeSOR
payablefunction executeSOR(bytes data) payable returns (bytes)
executeSR
payablefunction executeSR(bytes data) payable returns (bytes)
inboundMsgFromSwitchboard
payablefunction inboundMsgFromSwitchboard(uint8 implId, uint32, bytes payload) payable
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
receiveMsg
payablefunction receiveMsg(bytes payload) payable
registerStakedRouter
nonpayablefunction registerStakedRouter(address stakedRouter)
registerTransmitterStake
payablefunction registerTransmitterStake(address token, uint256 capacity) payable
registerWhitelistedRouter
nonpayablefunction registerWhitelistedRouter(address whitelistedRouter)
rescue
nonpayablefunction rescue(address token, address to, uint256 amount)
setCalldataExecutor
nonpayablefunction setCalldataExecutor(address _calldataExecutor)
setExpiryBuffer
nonpayablefunction setExpiryBuffer(uint256 _expiryBuffer)
setFeeCollector
nonpayablefunction setFeeCollector(address _feeCollector)
setMofaSigner
nonpayablefunction setMofaSigner(address _mofaSigner)
setStakeVault
nonpayablefunction setStakeVault(address _stakeVault)
setSwapExecutor
nonpayablefunction setSwapExecutor(address _swapExecutor)
setSwitchboardRouter
nonpayablefunction setSwitchboardRouter(address _switchboardRouter)
setWhitelistedReceiver
nonpayablefunction setWhitelistedReceiver(address receiver, uint256 destinationChainId, address router)
withdrawBeneficiarySettlement
nonpayablefunction withdrawBeneficiarySettlement(address beneficiary, address router, address token)
withdrawTransmitterStake
nonpayablefunction withdrawTransmitterStake(address token, uint256 capacity)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
errors
InvalidMsg
error InvalidMsg()
InvalidStake
error InvalidStake()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
RouterAlreadyRegistered
error RouterAlreadyRegistered()
RouterAlreadyWhitelisted
error RouterAlreadyWhitelisted()
TransferFailed
error TransferFailed()
creation bytecode
0x610100604052635ba303c560e11b60e0523480156200001d57600080fd5b5060405162001ddb38038062001ddb833981016040819052620000409162000130565b8884816200004e81620000c0565b506001600160a01b03908116608052600280549a82166001600160a01b03199b8c1617905560038054998216998b16999099179098555060048054968816968916969096179095556005805494871694909716939093179095555060089390935591811660a0521660c05250620001e2565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b03811681146200012b57600080fd5b919050565b60008060008060008060008060006101208a8c0312156200015057600080fd5b6200015b8a62000113565b98506200016b60208b0162000113565b97506200017b60408b0162000113565b96506200018b60608b0162000113565b95506200019b60808b0162000113565b9450620001ab60a08b0162000113565b935060c08a01519250620001c260e08b0162000113565b9150620001d36101008b0162000113565b90509295985092959850929598565b60805160a05160c05160e051611baa62000231600039600061125001526000818161076f015261146d01526000818161089501528181610a8401526111fa015260006105770152611baa6000f3fe60806040526004361061026b5760003560e01c806374f8d3fd11610144578063b3b4b6bc116100b6578063e1282c5c1161007a578063e1282c5c146107ff578063e9899ed214610843578063f36ba4d814610863578063f5b841e214610883578063f8281486146108b7578063fe9e60d3146108d757600080fd5b8063b3b4b6bc1461075d578063b746078a14610791578063c66eaeb6146107a4578063cc6dc63a146107b7578063df2ebdbb146107d757600080fd5b8063823d008811610108578063823d0088146106b45780638da5cb5b146106c9578063967aef08146106e75780639ed0cb1314610707578063a42dce8014610727578063ae3100c01461074757600080fd5b806374f8d3fd146105d957806376479d1b1461061c578063795d86b81461063c5780637f660b011461065c57806380f7013e1461067c57600080fd5b80633af32abf116101dd5780635b94db27116101a15780635b94db27146104f55780636a0706db146105155780636a7372da146105355780636afdd85014610565578063733957f8146105995780637373161f146105b957600080fd5b80633af32abf1461041e5780633bd1adec1461044e5780633cbc7eaa146104635780633de408a11461048a5780634c7a7732146104c857600080fd5b80631e789c361161022f5780631e789c361461034257806320798eb71461038b57806320f99c0a146103a057806320ff430b146103be5780632a022241146103de57806331feeadd146103fe57600080fd5b80630b345879146102775780630c0a0ccb146102b45780630cb352e0146102e25780630e4bfd6e1461030257806312f07c251461032257600080fd5b3661027257005b600080fd5b34801561028357600080fd5b50600454610297906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102c057600080fd5b506102d46102cf36600461170c565b6108ea565b6040519081526020016102ab565b3480156102ee57600080fd5b50600554610297906001600160a01b031681565b34801561030e57600080fd5b50600354610297906001600160a01b031681565b34801561032e57600080fd5b50600254610297906001600160a01b031681565b34801561034e57600080fd5b5061037b61035d36600461173f565b6001600160a01b03166000908152600c602052604090205460ff1690565b60405190151581526020016102ab565b61039e610399366004611761565b610917565b005b3480156103ac57600080fd5b506001546001600160a01b0316610297565b3480156103ca57600080fd5b5061039e6103d936600461178b565b610a47565b6103f16103ec366004611810565b610a7d565b6040516102ab91906118a2565b34801561040a57600080fd5b5061039e6104193660046118b5565b610b16565b34801561042a57600080fd5b5061037b61043936600461173f565b600d6020526000908152604090205460ff1681565b34801561045a57600080fd5b5061039e610beb565b34801561046f57600080fd5b50610478600181565b60405160ff90911681526020016102ab565b34801561049657600080fd5b506102d46104a53660046118b5565b601060209081526000938452604080852082529284528284209052825290205481565b3480156104d457600080fd5b506104e86104e33660046118f8565b610c21565b6040516102ab9190611911565b34801561050157600080fd5b5061039e61051036600461173f565b610dcb565b34801561052157600080fd5b5061039e61053036600461173f565b610e40565b34801561054157600080fd5b5061037b6105503660046118f8565b600f6020526000908152604090205460ff1681565b34801561057157600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a557600080fd5b5061039e6105b436600461173f565b610e8d565b3480156105c557600080fd5b5061039e6105d43660046118f8565b610eda565b3480156105e557600080fd5b506102976105f4366004611761565b6001600160a01b039182166000908152600b6020908152604080832093835292905220541690565b34801561062857600080fd5b5061039e61063736600461173f565b610f0a565b34801561064857600080fd5b5061039e61065736600461173f565b610fd8565b34801561066857600080fd5b50600654610297906001600160a01b031681565b34801561068857600080fd5b506102d461069736600461170c565b600e60209081526000928352604080842090915290825290205481565b3480156106c057600080fd5b50610478600281565b3480156106d557600080fd5b506000546001600160a01b0316610297565b3480156106f357600080fd5b5061039e610702366004611761565b611046565b34801561071357600080fd5b5061039e6107223660046119fc565b611109565b34801561073357600080fd5b5061039e61074236600461173f565b611171565b34801561075357600080fd5b506102d460085481565b34801561076957600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b61039e61079f366004611810565b6111be565b61039e6107b2366004611a2f565b6111e9565b3480156107c357600080fd5b5061039e6107d236600461173f565b61131b565b3480156107e357600080fd5b5061029773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561080b57600080fd5b5061081f61081a3660046118f8565b611368565b604080518251815260208084015190820152918101511515908201526060016102ab565b34801561084f57600080fd5b5061039e61085e36600461173f565b6113cc565b34801561086f57600080fd5b5061039e61087e36600461173f565b611419565b34801561088f57600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b3480156108c357600080fd5b50600754610297906001600160a01b031681565b6103f16108e5366004611810565b611466565b6001600160a01b038083166000908152600e60209081526040808320938516835292905220545b92915050565b336000908152600e602090815260408083206001600160a01b0386168452909152902054610946908290611ab9565b336000908152600e602090815260408083206001600160a01b03871680855292529091209190915573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed1901610a27578034146109a957604051634eba4d4960e11b815260040160405180910390fd5b6007546040516000916001600160a01b03169061138890849084818181858888f193505050503d80600081146109fb576040519150601f19603f3d011682016040523d82523d6000602084013e610a00565b606091505b5050905080610a22576040516312171d8360e31b815260040160405180910390fd5b505050565b600754610a43906001600160a01b0384811691339116846114a5565b5050565b6000546001600160a01b03163314610a7257604051635fc483c560e01b815260040160405180910390fd5b610a22838284611546565b60606000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610abc929190611acc565b600060405180830381855af49150503d8060008114610af7576040519150601f19603f3d011682016040523d82523d6000602084013e610afc565b606091505b509150915081610b0e57805160208201fd5b949350505050565b6001600160a01b03808416600090815260106020908152604080832086851684528252808320938516835292905220548015610be5576001600160a01b038481166000818152601060209081526040808320888616808552908352818420958816808552959092528083209290925590516362524dd760e01b81526004810193909352602483018490526044830191909152906362524dd790606401600060405180830381600087803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505050505b50505050565b6001546001600160a01b03163314610c1657604051637c91ccdd60e01b815260040160405180910390fd5b610c1f336115f8565b565b604080516101808101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082018390526101408201929092526101608101919091526000828152600a60208181526040928390208351610180810185528154815260018201546001600160a01b0390811693820193909352600282015483169481019490945260038101548083166060860152600160a01b900463ffffffff1660808501526004810154821660a08501526005810154821660c0850152600681015490911660e0840152600781015461010084015260088101546101208401526009810154610140840152908101805461016084019190610d4290611adc565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6e90611adc565b8015610dbb5780601f10610d9057610100808354040283529160200191610dbb565b820191906000526020600020905b815481529060010190602001808311610d9e57829003601f168201915b5050505050815250509050919050565b6000546001600160a01b03163314610df657604051635fc483c560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b6000546001600160a01b03163314610e6b57604051635fc483c560e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610eb857604051635fc483c560e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f0557604051635fc483c560e01b815260040160405180910390fd5b600855565b6000546001600160a01b03163314610f3557604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381166000908152600d602052604090205460ff1615610f6f5760405163406c5bd360e01b815260040160405180910390fd5b6001600160a01b0381166000908152600c602052604090205460ff1615610fa957604051633ba24ff960e11b815260040160405180910390fd5b6001600160a01b0381166000908152600d60205260409020805460ff19166001179055610fd58161164b565b50565b6000546001600160a01b0316331461100357604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381166000908152600c602052604090205460ff161561103d57604051633ba24ff960e11b815260040160405180910390fd5b610fd58161164b565b336000908152600e602090815260408083206001600160a01b0386168452909152902054611075908290611b16565b336000818152600e602090815260408083206001600160a01b038881168086529190935292819020949094556007549351632385922d60e01b81526004810192909252602482018590526044820192909252911690632385922d90606401600060405180830381600087803b1580156110ed57600080fd5b505af1158015611101573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461113457604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b039081166000908152600b60209081526040808320948352939052919091208054919092166001600160a01b0319909116179055565b6000546001600160a01b0316331461119c57604051635fc483c560e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b03163314610a4357604051631bd147a760e01b815260040160405180910390fd5b600060001960ff86160161121a57507f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b03811661124157604051631bd147a760e01b815260040160405180910390fd5b600080826001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000008686604051602401611282929190611b29565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112c09190611b58565b600060405180830381855af49150503d80600081146112fb576040519150601f19603f3d011682016040523d82523d6000602084013e611300565b606091505b50915091508161131257805160208201fd5b50505050505050565b6000546001600160a01b0316331461134657604051635fc483c560e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61138e604051806060016040528060008152602001600081526020016000151581525090565b506000908152600960209081526040918290208251606081018452815481526001820154928101929092526002015460ff1615159181019190915290565b6000546001600160a01b031633146113f757604051635fc483c560e01b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461144457604051635fc483c560e01b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60606000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610abc929190611acc565b60006040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b03841660248201528260448201526020600060648360008a5af13d15601f3d116001600051141617169150508061153f5760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b60448201526064015b60405180910390fd5b5050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016115e4576000816001600160a01b03168361138890604051600060405180830381858888f193505050503d80600081146115bd576040519150601f19603f3d011682016040523d82523d6000602084013e6115c2565b606091505b5050905080610be5576040516312171d8360e31b815260040160405180910390fd5b610a226001600160a01b038416828461166f565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610be55760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401611536565b80356001600160a01b038116811461170757600080fd5b919050565b6000806040838503121561171f57600080fd5b611728836116f0565b9150611736602084016116f0565b90509250929050565b60006020828403121561175157600080fd5b61175a826116f0565b9392505050565b6000806040838503121561177457600080fd5b61177d836116f0565b946020939093013593505050565b6000806000606084860312156117a057600080fd5b6117a9846116f0565b92506117b7602085016116f0565b9150604084013590509250925092565b60008083601f8401126117d957600080fd5b50813567ffffffffffffffff8111156117f157600080fd5b60208301915083602082850101111561180957600080fd5b9250929050565b6000806020838503121561182357600080fd5b823567ffffffffffffffff81111561183a57600080fd5b611846858286016117c7565b90969095509350505050565b60005b8381101561186d578181015183820152602001611855565b50506000910152565b6000815180845261188e816020860160208601611852565b601f01601f19169290920160200192915050565b60208152600061175a6020830184611876565b6000806000606084860312156118ca57600080fd5b6118d3846116f0565b92506118e1602085016116f0565b91506118ef604085016116f0565b90509250925092565b60006020828403121561190a57600080fd5b5035919050565b60208152815160208201526000602083015161193860408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015163ffffffff811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e08301516101006119bb818501836001600160a01b03169052565b840151610120848101919091528401516101408085019190915284015161016080850191909152840151610180808501529050610b0e6101a0840182611876565b600080600060608486031215611a1157600080fd5b611a1a846116f0565b9250602084013591506118ef604085016116f0565b60008060008060608587031215611a4557600080fd5b843560ff81168114611a5657600080fd5b9350602085013563ffffffff81168114611a6f57600080fd5b9250604085013567ffffffffffffffff811115611a8b57600080fd5b611a97878288016117c7565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561091157610911611aa3565b8183823760009101908152919050565b600181811c90821680611af057607f821691505b602082108103611b1057634e487b7160e01b600052602260045260246000fd5b50919050565b8181038181111561091157610911611aa3565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60008251611b6a818460208701611852565b919091019291505056fea2646970667358221220cd96527e70faa197907f020270d6f14fa9f311e4fcdd8e75b324bd0863a011d464736f6c63430008130033000000000000000000000000a5acba07788f16b4790fcbb09ca3b7fc8dd053a20000000000000000000000009033472ec5dcf3e2905ed93108de5f8961005f4000000000000000000000000063c653e8fb3d3ed01c6cf391bf4fdc8837bd6f15000000000000000000000000fd6b5c873faf51a9a9968eeaf31ec2c9c93dc2a60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000002a30000000000000000000000000a5a197e5668524b2681d1bcf4109522cf7818f95000000000000000000000000d26410401cc61a24205a01cc620a73c010fba290