0 txs
0 calls
constructor
constructor(address admin)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
RELAYER_EOA_ROLE
viewfunction RELAYER_EOA_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
claimAndKeep
nonpayablefunction claimAndKeep(tuple[] preCalls, address dp, tuple intent, tuple[] claimCalls, tuple[] postCalls, bytes32 swapAndTipHash)
fastFinish
nonpayablefunction fastFinish(address dp, tuple intent, tuple tokenIn, tuple[] calls)
grantRelayerEOARole
nonpayablefunction grantRelayerEOARole(address relayer)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
startIntent
payablefunction startIntent(tuple[] preCalls, address dp, tuple intent, address[] paymentTokens, tuple[] startCalls, bytes bridgeExtraData, tuple[] postCalls, bytes32 swapAndTipHash) payable
swapAndTip
payablefunction swapAndTip(tuple requiredTokenIn, uint256 suppliedTokenInAmount, tuple requiredTokenOut, uint256 maxPreTip, uint256 maxPostTip, tuple innerSwap) payable
withdrawAmount
nonpayablefunction withdrawAmount(address token, uint256 amount)
withdrawBalance
nonpayablefunction withdrawBalance(address token) returns (uint256)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SwapAndTip
event SwapAndTip(address indexed requiredTokenIn, uint256 suppliedAmountIn, address indexed requiredTokenOut, uint256 swapAmountOut, uint256 maxPreTip, uint256 maxPostTip)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60803461007657601f61263938819003918201601f19168301916001600160401b0383118484101761007b5780849260209460405283398101031261007657516001600160a01b0381168103610076578061005c61006292610091565b5061010d565b506001805560405161242f90816101ca8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381166000908152600080516020612619833981519152602052604090205460ff16610107576001600160a01b0316600081815260008051602061261983398151915260205260408120805460ff191660011790553391906000805160206125f98339815191528180a4600190565b50600090565b6001600160a01b03811660009081527f20eb0dd28e4fa8d39893da6efac9845649636c00412910328fc6b615280454ba602052604090205460ff16610107576001600160a01b031660008181527f20eb0dd28e4fa8d39893da6efac9845649636c00412910328fc6b615280454ba60205260408120805460ff191660011790553391907f6880b0695dc1781908e2dac98c22ee7d9e1868075c008992d15588919f503af2906000805160206125f98339815191529080a460019056fe608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c90816301ffc9a7146115fd575080630c726e4b146115b55780631754791914610cb6578063248a9ca314610c625780632f2ff15d14610c0357806336568abe14610b7a57806338606f0a14610b215780634343433c1461090d578063736fe565146108bc578063756af45f1461084c57806391d14854146107d5578063a217fddf1461079b578063d547741f14610733578063e59f2e701461037e5763e82259d60361000f573461030d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d576101026116bb565b9060243567ffffffffffffffff811161037a576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc823603011261037a5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36011261037a5760843567ffffffffffffffff81116103765761018c903690600401611727565b610194611deb565b6101c173ffffffffffffffffffffffffffffffffffffffff6101b461190b565b9616958660643591612189565b6040918251906101d18483611855565b6001825260208201927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0850136853761020861190b565b8351156103495773ffffffffffffffffffffffffffffffffffffffff168452873b15610345576020916102a2916102728751987f0bbc44c3000000000000000000000000000000000000000000000000000000008a52606060048b015260648a0190600401611b40565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8984030160248a0152611c9d565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8684030160448701525191828152019190855b81811061031957505050828495818681819503925af190811561031057506102fc5750f35b8161030691611855565b61030d5780f35b80fd5b513d84823e3d90fd5b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016102d7565b8680fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b8280fd5b5080fd5b506101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5760043567ffffffffffffffff811161037a576103ca903690600401611727565b906103d36116e3565b6044359067ffffffffffffffff821161072f576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc833603011261072f5760643567ffffffffffffffff811161072b57610433903690600401611727565b9160843567ffffffffffffffff811161072757610454903690600401611727565b60a435939167ffffffffffffffff851161072357366023860112156107235784600401359367ffffffffffffffff85116106c55736602486880101116106c55760c43567ffffffffffffffff811161071f576104b4903690600401611727565b99909a6104bf611deb565b60e4356001558c5b8d8282106106c9575050505073ffffffffffffffffffffffffffffffffffffffff1695863b156106c557908a97969594939291602061053a604051997f775ece72000000000000000000000000000000000000000000000000000000008b52608060048c015260848b0190600401611b40565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8a82030160248b0152828152019390895b818110610680575050506105ea879589979560246105b9878b978b99977ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8b809a030160448a0152611c9d565b927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc86850301606487015201611784565b03925af1801561067557610660575b505b81811061060a57836001805580f35b8061065a858061061d6001958789611a3a565b60206106288261196a565b610635604084018461198b565b9290836040519485928337810186815203930135905af16106546119dc565b50611d1a565b016105fb565b8161066a91611855565b6103765782386105f9565b6040513d84823e3d90fd5b9195969798995091929360208060019273ffffffffffffffffffffffffffffffffffffffff6106ae8a611706565b1681520196019101918c999897969594939261056c565b8a80fd5b90610719826001936106dc848789611a3a565b60206106e78261196a565b6106f4604084018461198b565b9290836040519485928337810186815203930135905af16107136119dc565b50611aa9565b016104c7565b8b80fd5b8980fd5b8780fd5b8580fd5b8480fd5b503461030d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d576107976004356107716116e3565b9061079261078d82600052600060205260016040600020015490565b611e76565b61229a565b5080f35b503461030d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d57602090604051908152f35b503461030d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5773ffffffffffffffffffffffffffffffffffffffff60406108246116e3565b92600435815280602052209116600052602052602060ff604060002054166040519015158152f35b503461030d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5760206108866116bb565b61088e611d7f565b61089830826120ce565b9081806108aa575b5050604051908152f35b6108b5913390612189565b82816108a0565b503461030d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5761090a6108f76116bb565b6108ff611d7f565b602435903390612189565b80f35b503461030d5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5760043567ffffffffffffffff811161037a5761095d903690600401611727565b906109666116e3565b60443567ffffffffffffffff811161072f576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc823603011261072f5760643567ffffffffffffffff811161072b576109c5903690600401611727565b91909260843567ffffffffffffffff811161072757906109ec889493923690600401611727565b9690976109f7611deb565b60a435600155855b818110610afd5750505073ffffffffffffffffffffffffffffffffffffffff1690813b15610af95783610a7091610aa0604051978896879586947f13f167a5000000000000000000000000000000000000000000000000000000008652604060048701526044860190600401611b40565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016024860152611c9d565b03925af18015610aee57610ada575b50825b818110610ac157836001805580f35b80610ad4858061061d6001958789611a3a565b01610ab2565b83610ae791949294611855565b9138610aaf565b6040513d86823e3d90fd5b8380fd5b610b148784959697986106dc848660019798611a3a565b01908995949392916109ff565b503461030d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d5760206040517f6880b0695dc1781908e2dac98c22ee7d9e1868075c008992d15588919f503af28152f35b503461030d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d57610bb26116e3565b3373ffffffffffffffffffffffffffffffffffffffff821603610bdb576107979060043561229a565b6004827f6697b232000000000000000000000000000000000000000000000000000000008152fd5b503461030d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d57610797600435610c416116e3565b90610c5d61078d82600052600060205260016040600020015490565b611fef565b503461030d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d576020610cae600435600052600060205260016040600020015490565b604051908152f35b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100811261037a5760401361030d5760443560407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261037a5760a43560c43560e4359267ffffffffffffffff841161072f57836004019360607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc823603011261072b5760405190602082019560043573ffffffffffffffffffffffffffffffffffffffff81168091036115b15787526024359687604085015284606085015260643573ffffffffffffffffffffffffffffffffffffffff8116809103610723576080850152608435938460a08201528760c08201528660e082015261010080820152610e1e81610df26101208201866117c3565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611855565b519020600154036115535760018055610e3f610e386118c5565b30906120ce565b9673ffffffffffffffffffffffffffffffffffffffff610e5d6118e8565b166111b457348103611156576024830135116110f85787915b73ffffffffffffffffffffffffffffffffffffffff610e948361196a565b16611052575b505050610eb8610eb130610eac6118c5565b6120ce565b958661192e565b94818610610f51575b50907fb756eaad80d22b70d4dcbea07fb23fb9ee8ef4dd3ccf9ba632505020a319e02c92610efa608093610ef36118c5565b3390612189565b73ffffffffffffffffffffffffffffffffffffffff610f176118e8565b169473ffffffffffffffffffffffffffffffffffffffff610f366118c5565b1696604051938452602084015260408301526060820152a380f35b83610f5e8784959461192e565b11610ff4578211610f70579038610ec1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4450523a2062616c616e6365206c657373207468616e2072657175697265642060448201527f6f757470757400000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4450523a2065786365737369766520706f7374207469700000000000000000006044820152fd5b60248261106d611062869561196a565b91604485019061198b565b9290836040519485928337810186815203930135905af161108c6119dc565b501561109a57853880610e9a565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4450523a20696e6e65722073776170206661696c6564000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4450523a2077726f6e6720696e6e657220737761702076616c756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450523a2077726f6e67206d73672e76616c75650000000000000000000000006044820152fd5b916111bd6118e8565b9273ffffffffffffffffffffffffffffffffffffffff8416156114cf5761122f8a94604051907f23b872dd0000000000000000000000000000000000000000000000000000000060208301523360248301523060448301528860648301526064825261122a608483611855565b61236e565b8086106113c2575b73ffffffffffffffffffffffffffffffffffffffff6112558461196a565b16611261575b50610e76565b6112696118e8565b906112738461196a565b9160208660405193611302856112d6858201937f095ea7b300000000000000000000000000000000000000000000000000000000855289602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101875286611855565b84519082855af186513d82611390575b505015611321575b505061125b565b61122a6113889373ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b300000000000000000000000000000000000000000000000000000000602084015216602482015287604482015260448152611382606482611855565b8261236e565b38808061131a565b9091506113ba575073ffffffffffffffffffffffffffffffffffffffff81163b15155b3880611312565b6001146113b3565b9250866113cf868561192e565b1161147157826113e130610eac6118e8565b106113ed578892611237565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4450523a2062616c616e6365206c657373207468616e2072657175697265642060448201527f696e7075740000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4450523a206578636573736976652070726520746970000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f546f6b656e5574696c733a20455448207472616e7366657246726f6d206d757360448201527f742062652063616c6c65720000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4450523a2077726f6e67206861736800000000000000000000000000000000006044820152fd5b8880fd5b503461030d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030d576107976115f06116bb565b6115f8611d7f565b611ee3565b90503461037a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261037a576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361037657602092507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611691575b5015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150143861168a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036116de57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036116de57565b359073ffffffffffffffffffffffffffffffffffffffff821682036116de57565b9181601f840112156116de5782359167ffffffffffffffff83116116de576020808501948460051b0101116116de57565b6020809173ffffffffffffffffffffffffffffffffffffffff61177a82611706565b1684520135910152565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff6117e182611706565b1682526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156116de57016020813591019067ffffffffffffffff81116116de5780360382136116de576060838160406118529601520191611784565b90565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761189657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60643573ffffffffffffffffffffffffffffffffffffffff811681036116de5790565b60043573ffffffffffffffffffffffffffffffffffffffff811681036116de5790565b60443573ffffffffffffffffffffffffffffffffffffffff811681036116de5790565b9190820391821161193b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036116de5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156116de570180359067ffffffffffffffff82116116de576020019181360383136116de57565b3d15611a35573d9067ffffffffffffffff82116118965760405191611a2960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184611855565b82523d6000602084013e565b606090565b9190811015611a7a5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156116de570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b15611ab057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4450523a2070726543616c6c206661696c6564000000000000000000000000006044820152fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1823603018112156116de570190565b9061014081018235825260208301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112156116de5783016020813591019167ffffffffffffffff82116116de578160061b360383136116de57610140602085015281905261016083019060005b818110611c7d575050611beb9150611bd16040840160408601611758565b611bde6080850185611b0e565b83820360808501526117c3565b9160a081013573ffffffffffffffffffffffffffffffffffffffff81168091036116de5760a083015260c081013573ffffffffffffffffffffffffffffffffffffffff81168091036116de5761012091829160c085015273ffffffffffffffffffffffffffffffffffffffff611c6360e08301611706565b1660e0850152610100810135610100850152013591015290565b909160408082611c8f60019488611758565b019401910192919092611bb3565b90602083828152019260208260051b82010193836000925b848410611cc55750505050505090565b909192939495602080611d0a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08660019603018852611d058b88611b0e565b6117c3565b9801940194019294939190611cb5565b15611d2157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450523a20706f737443616c6c206661696c65640000000000000000000000006044820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615611db857565b7fe2517d3f0000000000000000000000000000000000000000000000000000000060005233600452600060245260446000fd5b3360009081527f20eb0dd28e4fa8d39893da6efac9845649636c00412910328fc6b615280454ba602052604090205460ff1615611e2457565b7fe2517d3f00000000000000000000000000000000000000000000000000000000600052336004527f6880b0695dc1781908e2dac98c22ee7d9e1868075c008992d15588919f503af260245260446000fd5b806000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff331660005260205260ff6040600020541615611eb25750565b7fe2517d3f000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081527f20eb0dd28e4fa8d39893da6efac9845649636c00412910328fc6b615280454ba602052604090205460ff16611fe95773ffffffffffffffffffffffffffffffffffffffff1660008181527f20eb0dd28e4fa8d39893da6efac9845649636c00412910328fc6b615280454ba6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790553391907f6880b0695dc1781908e2dac98c22ee7d9e1868075c008992d15588919f503af2907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50600090565b806000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff831660005260205260ff60406000205416156000146120c757806000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff8316600052602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b73ffffffffffffffffffffffffffffffffffffffff16806120ee57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa90811561217d5760009161214e575090565b90506020813d602011612175575b8161216960209383611855565b810103126116de575190565b3d915061215c565b6040513d6000823e3d90fd5b9073ffffffffffffffffffffffffffffffffffffffff82161561220b576040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff919091166024820152604480820193909352918252612209919061122a606483611855565b565b6000809381935073ffffffffffffffffffffffffffffffffffffffff8293165af16122346119dc565b501561223c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f546f6b656e5574696c733a20455448207472616e73666572206661696c6564006044820152fd5b806000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff831660005260205260ff604060002054166000146120c757806000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff831660005260205260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a4600190565b906000602091828151910182855af11561217d576000513d6123f0575073ffffffffffffffffffffffffffffffffffffffff81163b155b6123ac5750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b600114156123a556fea2646970667358221220302f6236a40b95212329b4f00034bd264c449e2a22c9ea8c4bfc78b78a3df49e64736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000002f321372e8a9755cd2ca6114eb8da32a14f8100b