0 txs
1 call
constructor
constructor(address weth)
functions
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
invalidatorForOrderRFQ
viewfunction invalidatorForOrderRFQ(address maker, uint256 slot) view returns (uint256)
cancelOrderRFQ
nonpayablefunction cancelOrderRFQ(uint256 orderInfo, uint256 additionalMask)
cancelOrderRFQ
nonpayablefunction cancelOrderRFQ(uint256 orderInfo)
fillOrderRFQ
payablefunction fillOrderRFQ(tuple order, bytes signature, uint256 flagsAndAmount) payable returns (uint256, uint256, bytes32)
fillOrderRFQCompact
payablefunction fillOrderRFQCompact(tuple order, bytes32 r, bytes32 vs, uint256 flagsAndAmount) payable returns (uint256 filledMakingAmount, uint256 filledTakingAmount, bytes32 orderHash)
fillOrderRFQTo
payablefunction fillOrderRFQTo(tuple order, bytes signature, uint256 flagsAndAmount, address target) payable returns (uint256 filledMakingAmount, uint256 filledTakingAmount, bytes32 orderHash)
fillOrderRFQToWithPermit
nonpayablefunction fillOrderRFQToWithPermit(tuple order, bytes signature, uint256 flagsAndAmount, address target, bytes permit) returns (uint256, uint256, bytes32)
events
OrderFilledRFQ
event OrderFilledRFQ(uint256 indexed rfqId, uint256 expiration, address indexed makerAsset, address indexed takerAsset, address maker, address allowedSender, uint256 expectedMakingAmount, uint256 expectedTakingAmount, address settler, address treasury, uint256 filledMakingAmount, uint256 filledTakingAmount)
errors
Permit2TransferAmountTooHigh
error Permit2TransferAmountTooHigh()
RFQ_BadSignature
error RFQ_BadSignature()
RFQ_EthDepositRejected
error RFQ_EthDepositRejected()
RFQ_ETHTransferFailed
error RFQ_ETHTransferFailed()
RFQ_InvalidatedOrder
error RFQ_InvalidatedOrder()
RFQ_InvalidMsgValue
error RFQ_InvalidMsgValue()
RFQ_MakingAmountExceeded
error RFQ_MakingAmountExceeded()
RFQ_OrderExpired
error RFQ_OrderExpired()
RFQ_PrivateOrder
error RFQ_PrivateOrder()
RFQ_SettleFaild
error RFQ_SettleFaild()
RFQ_SwapWithZeroAmount
error RFQ_SwapWithZeroAmount()
RFQ_TakingAmountExceeded
error RFQ_TakingAmountExceeded()
RFQ_ZeroTargetIsForbidden
error RFQ_ZeroTargetIsForbidden()
SafePermitBadLength
error SafePermitBadLength()
SafeTransferFromFailed
error SafeTransferFromFailed()
creation bytecode
0x6101403461019357601f620017b038819003918201601f19168301926001600160401b039290918385118386101761017d57816020928492604097885283398101031261019357516001600160a01b038116908190036101935782519061006582610198565b601482526003602083017f4f4b58204c616220504d4d2050726f746f636f6c00000000000000000000000081526020865161009f81610198565b8381520193620312e360ec1b855251902092208260e052610100948186524660a05280519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f958685528284015260608301524660808301523060a083015260a0825260c08201958287109087111761017d578590525190206080523060c052610120918252600080546001600160a01b0319169190911790556115fc9283620001b4843960805183610776015260a05183610831015260c05183610740015260e051836107c5015251826107eb015251816107a20152f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b0382111761017d5760405256fe6040608081526004361015610025575b50361561001b57600080fd5b610023610717565b005b60003560e01c908163123043bf146100ce575080631460fb79146100c55780633644e515146100bc57806356f16124146100b3578063825caba1146100aa578063bddccd35146100a1578063cb64b754146100985763d16992ba1461008b575b3861000f565b6100936106cb565b610085565b506100936105fb565b50610093610588565b5061009361056a565b5061009361051d565b506100936104f9565b5061009361047c565b610180366003190112610297576100e4366103ae565b61012435919061016435610144356101036100fd61073d565b846108a2565b94600160fe1b83161561027857600160fd1b83161561024357606084015161013f9261013b92909188906001600160a01b031661140e565b1590565b610232575b3361014f9183610b13565b82516020840151919492939183906001600160a01b0316818401519093906001600160a01b031660608201516001600160a01b03166080830151899089906001600160a01b031660a086015160c087015160e0880151929791926001600160a01b0316610100909201516001600160a01b0316928951988998600160a01b600190038067ffffffffffffffff92169e169c8181169c1c16976101f1988a610857565b037fa1f06285e49ba4b4c5c7cda700d853b724859189dcb8a30a980152a59834df0e91a45190815260208101919091526040810191909152606090f35b0390f35b82516356ed29db60e01b8152600490fd5b60608401516102629261013b92909188906001600160a01b03166113ca565b156101445782516356ed29db60e01b8152600490fd5b60608401516102629261013b92909188906001600160a01b03166112f9565b600080fd5b50634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116102c757604052565b6102cf61029c565b604052565b60c0810190811067ffffffffffffffff8211176102c757604052565b90601f8019910116810190811067ffffffffffffffff8211176102c757604052565b61016435906001600160a01b038216820361029757565b602435906001600160a01b038216820361029757565b604435906001600160a01b038216820361029757565b606435906001600160a01b038216820361029757565b608435906001600160a01b038216820361029757565b60e435906001600160a01b038216820361029757565b61010435906001600160a01b038216820361029757565b90610120809260031901126102975760405191820182811067ffffffffffffffff821117610441575b6040528160043581526103e8610329565b60208201526103f561033f565b6040820152610402610355565b606082015261040f61036b565b608082015260a43560a082015260c43560c082015261042c610381565b60e082015261010061043c610397565b910152565b61044961029c565b6103d7565b9181601f840112156102975782359167ffffffffffffffff8311610297576020838186019501011161029757565b5061018036600319011261029757610493366103ae565b6101243567ffffffffffffffff81116102975761022e916104bb6104d192369060040161044e565b6104c6929192610312565b9261014435926108f1565b604080519384526020840192909252908201529081906060820190565b600091031261029757565b503461029757600036600319011261029757602061051561073d565b604051908152f35b5034610297576040366003190112610297576004356001600160a01b0381169081900361029757600052600160205260406000206024356000526020526020604060002054604051908152f35b50346102975760203660031901126102975761002360043533611129565b50346102975760403660031901126102975760043566ffffffffffffff8160081c1690600160ff60243592161b176000913383526001602052604083208184528060205260408420549183808416146105e957845260205217604082205580f35b60405163c5bc2c8360e01b8152600490fd5b5034610297576101a036600319011261029757610617366103ae565b67ffffffffffffffff90610124358281116102975761063a90369060040161044e565b929091610645610312565b91610184359081116102975761065f90369060040161044e565b60408301516001600160a01b03169160e082036106a25761067f92611599565b156106965761022e936104d19361014435926108f1565b6040513d6000823e3d90fd5b61010082036106b9576106b49261154e565b61067f565b604051636827585760e01b8152600490fd5b50610160366003190112610297576106e2366103ae565b6101243567ffffffffffffffff81116102975761022e9161070a6104d192369060040161044e565b33926101443592906108f1565b6000546001600160a01b0316330361072b57565b60405163f4a0897760e01b8152600490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061082e575b15610798577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610828816102d4565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461076f565b95909998979461010097939461012088019b885260018060a01b0380968180961660208b0152166040890152606088015260808701521660a08501521660c083015260e08201520152565b601f190180517fca2eed051c5abf59f740ea03e613601b73950b9453204f31c2d09094c815171b82526101408220915260405161190160f01b8152600281019290925260228201526042902090565b949390929161090761090161073d565b876108a2565b93600160fe1b841615610a4657600160fd1b8416151580610a3b575b610a295760608701516109469261013b92909187906001600160a01b031661137c565b610a2957610955915b85610b13565b84516020860151929591949286928692916001600160a01b031660408201519094906001600160a01b031660608301519094906001600160a01b031660808401519091906001600160a01b031660a085015160c086015160e0870151919692959290916001600160a01b0316610100909101516001600160a01b031691604051978897600160a01b600190038067ffffffffffffffff9d169d169b808c169b60401c1697610a03988a610857565b037fa1f06285e49ba4b4c5c7cda700d853b724859189dcb8a30a980152a59834df0e91a4565b6040516356ed29db60e01b8152600490fd5b506041821415610923565b6060870151610a659261013b92909187906001600160a01b03166111ed565b610a29576109559161094f565b506040513d6000823e3d90fd5b3d15610ac8573d9067ffffffffffffffff8211610abb575b60405191610aaf601f8201601f1916602001846102f0565b82523d6000602084013e565b610ac361029c565b610a97565b606090565b50634e487b7160e01b600052601160045260246000fd5b91908203918211610af157565b610af9610acd565b565b90816020910312610297575180151581036102975790565b92906001600160a01b03908382161561108f5760608501516001600160a01b0316608086015190919083906001600160a01b0316168015159081611084575b506110725785519260409367ffffffffffffffff81861c168015159081611068575b5061105757610b839084611129565b60a087015160c0880151979083831680610feb575097965b88158015610fe3575b610fd2576020820180519094906001600160a01b03169160009585610be1610bd5610bd58a5460018060a01b031690565b6001600160a01b031690565b94169384149283610fc2575b50888c60e0870195610c08610bd5885160018060a01b031690565b15610eb857505050610c41610bd5610bd5610c338686610c2e875160018060a01b031690565b6110a1565b96516001600160a01b031690565b81516001600160a01b0316813b15610eb4578a51639f51d0a560e01b81526001600160a01b038581166004830152919091166024820152604481018e905284151560648201528d95610cc8959094610cc39491939092610c2e92918c908290608490829084905af18015610ea7575b610e94575b50516001600160a01b031690565b610ae4565b10610e835784905b6101008101516001600160a01b0316838116610e7b575b500180519091906001600160a01b03168354909190610d1090610bd5906001600160a01b031681565b91161480610e72575b15610e385750843403610e27578054610d3a906001600160a01b0316610bd5565b803b15610e23579260209282878094610db4976004865180948193630d0e30db60e41b83525af18015610e16575b610dfd575b508054610d82906001600160a01b0316610bd5565b925163a9059cbb60e01b81526001600160a01b0390921660048301526024820193909352938492839182906044820190565b03925af18015610df0575b610dc65750565b610de69060203d8111610de9575b610dde81836102f0565b810190610afb565b50565b503d610dd4565b610df8610a72565b610dbf565b80610e0a610e10926102b3565b806104ee565b38610d6d565b610e1e610a72565b610d68565b5080fd5b8251636b9257b360e01b8152600490fd5b9192905034610e62575051610af9918491610e5b906001600160a01b0316610bd5565b33906114f1565b51636b9257b360e01b8152600490fd5b50341515610d19565b945038610ce7565b845163c814c6dd60e01b8152600490fd5b80610e0a610ea1926102b3565b38610cb5565b610eaf610a72565b610cb0565b8880fd5b91969550929392908315610fba578930915b8751600160fa1b1615610fab57509251610ef69390610ef1906001600160a01b0316610bd5565b611466565b610f01575b50610cd0565b845491925090610f19906001600160a01b0316610bd5565b803b15610fa75784808b81948294838c518092632e1a7d4d60e01b8252818381610f4b89600483019190602083019252565b03925af18015610f9a575b610f87575b50611388f1610f68610a7f565b5015610f7657849038610efb565b84516373cda89160e11b8152600490fd5b80610e0a610f94926102b3565b38610f5b565b610fa2610a72565b610f56565b8480fd5b610fb594506114f1565b610ef6565b898591610eca565b600160fc1b161515925038610bed565b85516311d4fe7960e21b8152600490fd5b508715610ba4565b9098600160ff1b85161561102357898211611012579061100c91819a6111ab565b96610b9b565b865163d28f64df60e01b8152600490fd5b909798818911611046579061103b611040928a611178565b61118b565b97610b9b565b86516353342db960e11b8152600490fd5b845163456c724560e11b8152600490fd5b9050421138610b74565b60405163ef5ab38360e01b8152600490fd5b905033141538610b52565b604051636e19fcf360e11b8152600490fd5b9091156110ad57503190565b6040516370a0823160e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561111c575b6000916110eb575090565b906020823d8211611114575b81611104602093836102f0565b8101031261111157505190565b80fd5b3d91506110f7565b611124610a72565b6110e0565b90600160ff66ffffffffffffff8360081c1692161b60009260018060a01b031683526001602052604083208284528060205260408420549082808316146105e957604093855260205217912055565b81810292918115918404141715610af157565b8115611195570490565b634e487b7160e01b600052601260045260246000fd5b906111b9906111d593611178565b8181018091116111e0575b60001981019081116111d85761118b565b90565b61103b610acd565b6111e8610acd565b6111c4565b9291906001600160a01b0380851680156112ee576040918286149283156112e3575b8361122e575b505050611225576111d59361137c565b50505050600190565b909192506000908051908782816041146112cb57506040146112a057505080805b61125f575b501614388080611215565b816fa2a8918ca85bafe22016d0b997e4df5f600160ff1b03606083015110611288575b50611254565b608082876020945282805260015afa50513881611282565b819060208881810135928360ff1c601b01838601528401376001600160ff1b0316606082015261124f565b91809150880135841a6020830152878183013761124f565b60418714935061120f565b505050505050600090565b9291906001600160a01b038085169081156112ee5760006001600160ff1b038616816fa2a8918ca85bafe22016d0b997e4df5f600160ff1b03821061134a575b50501614611225576111d5936113ca565b6080602092604051908882528a60ff1c601b0185830152896040830152606082015282805260015afa50513881611339565b6000906020929395949582968060405192630b135d3f60e11b978885526004850152604060248501528160448501526064840137606401915afa6113bd5750565b600051143d602014169150565b60a460209293600092969596839760405192630b135d3f60e11b9788855260048501526040602485015260406044850152606484015260848301525afa6113bd5750565b60a560209293600092969596839760405192630b135d3f60e11b9788855260048501526040602485015260416044850152606484015260018060ff1b038116608484015260ff1c601b0160a48301535afa6113bd5750565b90926001600160a01b0381116114df5760009260405194631b63c28b60e11b865260048601526024850152604484015260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816114d4575b50156114c257565b60405163f405907160e01b8152600490fd5b90503b1515386114ba565b604051638112e11960e01b8152600490fd5b9260209291606491600093604051926323b872dd60e01b845260048401526024830152604482015282855af1908161152b5750156114c257565b90503d156115465750600160005114601f3d11165b386114ba565b3b1515611540565b929160209160009180604051926323f2ebc360e21b845260048401376004019082865af1918261157b5750565b9091503d156115935750600160005114601f3d111690565b3b151590565b9291602091600091806040519263d505accf60e01b845260048401376004019082865af1918261157b575056fea264697066735822122086c1536079a48ac91aaa20b401582f5cbf4d40fe59a86211a1b395ed225b5dff64736f6c6343000811003300000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1