106.1k txs
691.8k calls
constructor
constructor(address trustedForwarder_, address oneInch_, address _permit2, address _dopRelayer, address _dopSmartWallet)
functions
dopRelayer
viewfunction dopRelayer() view returns (address)
dopSmartWallet
viewfunction dopSmartWallet() view returns (address)
isTrustedForwarder
viewfunction isTrustedForwarder(address forwarder) view returns (bool)
oneInch
viewfunction oneInch() view returns (address)
permit2
viewfunction permit2() view returns (address)
trustedForwarder
viewfunction trustedForwarder() view returns (address)
makePublicSwap
nonpayablefunction makePublicSwap(tuple swap, tuple synthSupport)
makePublicSwapWithPermit
nonpayablefunction makePublicSwapWithPermit(tuple swap, tuple synthSupport, tuple permitSingleStruct, bytes signature)
makePublicSwapWithTwoPermits
nonpayablefunction makePublicSwapWithTwoPermits(tuple swap, tuple synthSupport, tuple permitSingleStruct, bytes permitSingleSignature, tuple tokenPermitSignatureDetails)
relayToDop
nonpayablefunction relayToDop(address addressToCall, bytes data)
relayToDopWithApproval
nonpayablefunction relayToDopWithApproval(address token, uint256 amount, address addressToCall, bytes data)
relayToDopWithApprovalAndPermit
nonpayablefunction relayToDopWithApprovalAndPermit(address token, uint256 amount, address addressToCall, tuple permitSingleStruct, bytes signature, bytes data)
relayToDopWithApprovalAndTwoPermits
nonpayablefunction relayToDopWithApprovalAndTwoPermits(address token, uint256 amount, address addressToCall, tuple permitSingleStruct, bytes permitSingleSignature, tuple tokenPermitSignatureDetails, bytes data)
events
No events.
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InvalidAddressToRelay
error InvalidAddressToRelay()
InvalidDstReceiver
error InvalidDstReceiver()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnderlyingTokenMismatch
error UnderlyingTokenMismatch()
ZeroAddress
error ZeroAddress()
creation bytecode
0x6101206040523480156200001257600080fd5b5060405162001f2c38038062001f2c833981016040819052620000359162000129565b6001600160a01b0380861660805283908116620000655760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0390811660a05260016000558416620000985760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380851660c0528216620000c65760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660e0528116620000f45760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031661010052506200019992505050565b80516001600160a01b03811681146200012457600080fd5b919050565b600080600080600060a086880312156200014257600080fd5b6200014d866200010c565b94506200015d602087016200010c565b93506200016d604087016200010c565b92506200017d606087016200010c565b91506200018d608087016200010c565b90509295509295909350565b60805160a05160c05160e05161010051611cf4620002386000396000818161020801528181610607015261067f015260008181610255015281816106b0015261072801526000818160d90152818161049601526104cb01526000818161011d0152818161082401528181610c2901528181610cb601528181610db60152610eb8015260008181610177015281816101b901526110880152611cf46000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638bda46ca1161008c578063d88b03fe11610066578063d88b03fe1461022a578063d8ec0bb91461023d578063f9e1732e14610250578063fd16f8f31461027757600080fd5b80638bda46ca146101dd578063b205ed4d146101f0578063cbde21c01461020357600080fd5b8063045c08d5146100d457806312261ee71461011857806313347e271461013f5780634ab78da614610154578063572b6c05146101675780637da0a877146101b7575b600080fd5b6100fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fb7f000000000000000000000000000000000000000000000000000000000000000081565b61015261014d36600461135f565b61028a565b005b61015261016236600461140c565b610583565b6101a761017536600461147f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b604051901515815260200161010f565b7f00000000000000000000000000000000000000000000000000000000000000006100fb565b6101526101eb3660046114ae565b6105ad565b6101526101fe366004611579565b6105d2565b6100fb7f000000000000000000000000000000000000000000000000000000000000000081565b61015261023836600461161a565b6105fd565b61015261024b36600461166f565b610779565b6100fb7f000000000000000000000000000000000000000000000000000000000000000081565b610152610285366004611722565b61079b565b61029a60608201604083016117af565b156104635760006102ae602083018361147f565b6001600160a01b0316637158da7c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030f91906117cc565b9050610321604084016020850161147f565b6001600160a01b0316816001600160a01b0316146103525760405163fcac14f360e01b815260040160405180910390fd5b60006103d4610367604086016020870161147f565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c891906117f8565b601260a08701356107b0565b90506103ed6103e6602085018561147f565b308361081c565b6103fa602084018461147f565b604051637647691d60e01b8152600481018390523060248201526001600160a01b039190911690637647691d90604401600060405180830381600087803b15801561044457600080fd5b505af1158015610458573d6000803e3d6000fd5b505050505050610481565b610481610476604084016020850161147f565b3060a085013561081c565b6104c1610494604084016020850161147f565b7f000000000000000000000000000000000000000000000000000000000000000060a085013560016108cf565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166307ed23796104fd602085018561147f565b6020850161050f610100870187611815565b6040518563ffffffff1660e01b815260040161052e9493929190611895565b60408051808303816000875af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610570919061194a565b505061057f8260200182610983565b5050565b61058e85308661081c565b61059b85848660006108cf565b6105a68383836105fd565b5050505050565b6105b78984610be9565b6105c78989898989898888610779565b505050505050505050565b6105e86105e2602086018661147f565b82610be9565b6105f5868686868661079b565b505050505050565b610605610d70565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036106ae576106a882828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692915050610d9a565b5061076a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610751576106a882828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692915050610d9a565b6040516305422da360e21b815260040160405180910390fd5b6107746001600055565b505050565b610784858585610db1565b6107918888888585610583565b5050505050505050565b6107a6838383610db1565b6105a6858561028a565b60008260ff168460ff1610156107e65760ff808516908416036107d481600a611a68565b6107de9084611a74565b915050610815565b8260ff168460ff1611156108125760ff8084169085160361080881600a611a68565b6107de9084611a8b565b50805b9392505050565b8015610774577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166336c78516610859610f3d565b6040516001600160e01b031960e084901b1681526001600160a01b039182166004820152818616602482015281851660448201529086166064820152608401600060405180830381600087803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b50505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b03848116602483015283919086169063dd62ed3e90604401602060405180830381865afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190611aad565b101561097d578015610969576109646001600160a01b03851684600019610f4c565b61097d565b61097d6001600160a01b0385168484610f4c565b50505050565b61099360808201606083016117af565b15610bb157306109a9608084016060850161147f565b6001600160a01b0316146109d05760405163458eb24b60e01b815260040160405180910390fd5b60006109e2604083016020840161147f565b6001600160a01b0316637158da7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4391906117cc565b9050610a55604084016020850161147f565b6001600160a01b0316816001600160a01b031614610a865760405163fcac14f360e01b815260040160405180910390fd5b6000610a98604085016020860161147f565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b029190611aad565b9050610b2f610b17604086016020870161147f565b610b27604086016020870161147f565b8360016108cf565b610b3f604084016020850161147f565b6001600160a01b03166313bac82082610b56610f3d565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b158015610b9d57600080fd5b505af1158015610791573d6000803e3d6000fd5b30610bc2608084016060850161147f565b6001600160a01b03160361057f5760405163458eb24b60e01b815260040160405180910390fd5b600019826001600160a01b031663dd62ed3e610c03610f3d565b60405160e083901b6001600160e01b03191681526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091166024820152604401602060405180830381865afa158015610c70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c949190611aad565b03610c9d575050565b816001600160a01b031663d505accf610cb4610f3d565b7f00000000000000000000000000000000000000000000000000000000000000006000198535610cea6040880160208901611ac6565b604080516001600160e01b031960e089901b1681526001600160a01b0396871660048201529590941660248601526044850192909252606484015260ff16608483015284013560a4820152606084013560c482015260e401600060405180830381600087803b158015610d5c57600080fd5b505af11580156105f5573d6000803e3d6000fd5b600260005403610d9357604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b6060610da883836000610fd6565b90505b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663927da105610deb610f3d565b610df8602089018961147f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152306044820152606401606060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d9190611af7565b509092509050610e83604086016020870161147f565b6001600160a01b0316826001600160a01b0316148015610eaa5750428165ffffffffffff16115b15610eb6575050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b67b570610eed610f3d565b8787876040518563ffffffff1660e01b8152600401610f0f9493929190611b44565b600060405180830381600087803b158015610f2957600080fd5b505af11580156105c7573d6000803e3d6000fd5b6000610f47611078565b905090565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc09190611aad565b905061097d8484610fd18585611bed565b6110ed565b6060814710156110005760405163cd78605960e01b81523060048201526024015b60405180910390fd5b600080856001600160a01b0316848660405161101c9190611c00565b60006040518083038185875af1925050503d8060008114611059576040519150601f19603f3d011682016040523d82523d6000602084013e61105e565b606091505b509150915061106e8683836111a1565b9695505050505050565b6000366014336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156110b55750808210155b156110e5576000366110c78385611c2f565b6110d2928290611c42565b6110db91611c6c565b60601c9250505090565b339250505090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261113e84826111fd565b61097d57604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526111979085906112a5565b61097d84826112a5565b6060826111b6576111b182611308565b610815565b81511580156111cd57506001600160a01b0384163b155b156111f657604051639996b31560e01b81526001600160a01b0385166004820152602401610ff7565b5080610815565b6000806000846001600160a01b03168460405161121a9190611c00565b6000604051808303816000865af19150503d8060008114611257576040519150601f19603f3d011682016040523d82523d6000602084013e61125c565b606091505b50915091508180156112865750805115806112865750808060200190518101906112869190611ca1565b801561129c57506000856001600160a01b03163b115b95945050505050565b60006112ba6001600160a01b03841683610d9a565b905080516000141580156112df5750808060200190518101906112dd9190611ca1565b155b1561077457604051635274afe760e01b81526001600160a01b0384166004820152602401610ff7565b8051156113185780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6000610120828403121561134757600080fd5b50919050565b60006080828403121561134757600080fd5b60008060a0838503121561137257600080fd5b823567ffffffffffffffff81111561138957600080fd5b61139585828601611334565b9250506113a5846020850161134d565b90509250929050565b6001600160a01b038116811461133157600080fd5b60008083601f8401126113d557600080fd5b50813567ffffffffffffffff8111156113ed57600080fd5b60208301915083602082850101111561140557600080fd5b9250929050565b60008060008060006080868803121561142457600080fd5b853561142f816113ae565b9450602086013593506040860135611446816113ae565b9250606086013567ffffffffffffffff81111561146257600080fd5b61146e888289016113c3565b969995985093965092949392505050565b60006020828403121561149157600080fd5b8135610815816113ae565b600060c0828403121561134757600080fd5b60008060008060008060008060006101e08a8c0312156114cd57600080fd5b89356114d8816113ae565b985060208a0135975060408a01356114ef816113ae565b96506114fe8b60608c0161149c565b95506101208a013567ffffffffffffffff8082111561151c57600080fd5b6115288d838e016113c3565b909750955085915061153e8d6101408e0161134d565b94506101c08c013591508082111561155557600080fd5b506115628c828d016113c3565b915080935050809150509295985092959850929598565b600080600080600080610200878903121561159357600080fd5b863567ffffffffffffffff808211156115ab57600080fd5b6115b78a838b01611334565b97506115c68a60208b0161134d565b96506115d58a60a08b0161149c565b95506101608901359150808211156115ec57600080fd5b506115f989828a016113c3565b909450925061160e905088610180890161134d565b90509295509295509295565b60008060006040848603121561162f57600080fd5b833561163a816113ae565b9250602084013567ffffffffffffffff81111561165657600080fd5b611662868287016113c3565b9497909650939450505050565b600080600080600080600080610160898b03121561168c57600080fd5b8835611697816113ae565b97506020890135965060408901356116ae816113ae565b95506116bd8a60608b0161149c565b945061012089013567ffffffffffffffff808211156116db57600080fd5b6116e78c838d016113c3565b90965094506101408b013591508082111561170157600080fd5b5061170e8b828c016113c3565b999c989b5096995094979396929594505050565b6000806000806000610180868803121561173b57600080fd5b853567ffffffffffffffff8082111561175357600080fd5b61175f89838a01611334565b965061176e8960208a0161134d565b955061177d8960a08a0161149c565b945061016088013591508082111561179457600080fd5b5061146e888289016113c3565b801515811461133157600080fd5b6000602082840312156117c157600080fd5b8135610815816117a1565b6000602082840312156117de57600080fd5b8151610815816113ae565b60ff8116811461133157600080fd5b60006020828403121561180a57600080fd5b8151610815816117e9565b6000808335601e1984360301811261182c57600080fd5b83018035915067ffffffffffffffff82111561184757600080fd5b60200191503681900382131561140557600080fd5b8035611867816113ae565b919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682526000906101209086356118b4816113ae565b81811660208601525060208701356118cb816113ae565b166040848101919091528601356118e1816113ae565b6001600160a01b0381166060850152506118fd6060870161185c565b6001600160a01b038116608085015250608086013560a084015260a086013560c084015260c086013560e08401528061010084015261193f818401858761186c565b979650505050505050565b6000806040838503121561195d57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119bf5781600019048211156119a5576119a561196e565b808516156119b257918102915b93841c9390800290611989565b509250929050565b6000826119d657506001610dab565b816119e357506000610dab565b81600181146119f95760028114611a0357611a1f565b6001915050610dab565b60ff841115611a1457611a1461196e565b50506001821b610dab565b5060208310610133831016604e8410600b8410161715611a42575081810a610dab565b611a4c8383611984565b8060001904821115611a6057611a6061196e565b029392505050565b6000610da883836119c7565b8082028115828204841417610dab57610dab61196e565b600082611aa857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611abf57600080fd5b5051919050565b600060208284031215611ad857600080fd5b8135610815816117e9565b65ffffffffffff8116811461133157600080fd5b600080600060608486031215611b0c57600080fd5b8351611b17816113ae565b6020850151909350611b2881611ae3565b6040850151909250611b3981611ae3565b809150509250925092565b6001600160a01b038581168252600090610100908635611b63816113ae565b8181166020860152506020870135611b7a816113ae565b8181166040860152506040870135611b9181611ae3565b65ffffffffffff808216606087015260608901359150611bb082611ae3565b16608085810191909152870135611bc6816113ae565b81811660a0860152505060a086013560c08401528060e084015261193f818401858761186c565b80820180821115610dab57610dab61196e565b6000825160005b81811015611c215760208186018101518583015201611c07565b506000920191825250919050565b81810381811115610dab57610dab61196e565b60008085851115611c5257600080fd5b83861115611c5f57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015611c995780818660140360031b1b83161692505b505092915050565b600060208284031215611cb357600080fd5b8151610815816117a156fea26469706673582212203b3e12a1ba98ec425d304e394031614d0a72169ccb81e696482ebb4b3af6b98264736f6c63430008180033000000000000000000000000997f38e2ffc1d5fbaece8765f315f2c39f2da31f000000000000000000000000111111125421ca6dc452d289314280a0f8842a65000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000079de17d2bad47d1e08d9767ffe26d50dd585d0200000000000000000000000008593da65d55ccdb9367377231925d0688efb5007