0 txs
1 call
constructor
constructor(address _balancerV2Vault, address _balancerQueries)
functions
BALANCER_QUERIES
viewfunction BALANCER_QUERIES() view returns (address)
BALANCER_VAULT
viewfunction BALANCER_VAULT() view returns (address)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
buy
nonpayablefunction buy(uint256 amountOutBase, uint256 amountInMaxQuote, uint8 flavor, bytes flavorParams)
quote
nonpayablefunction quote(address vault, uint256 baseTokenAmount, uint8 direction, tuple[] swapParams) returns (int256 baseTokenDelta, int256 quoteTokenDelta)
renounceOwnership
nonpayablefunction renounceOwnership()
sell
nonpayablefunction sell(uint256 amountInBase, uint256 amountOutMinQuote, uint8 flavor, bytes flavorParams)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(address token, address recipient)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
BaseTokenIsNotPresentInTheFirstPool
error BaseTokenIsNotPresentInTheFirstPool()
InvalidBaseTokenAmount
error InvalidBaseTokenAmount()
InvalidFlavor
error InvalidFlavor()
InvalidQuoteTokenAmount
error InvalidQuoteTokenAmount()
OutputTokenIsNotQuoteToken
error OutputTokenIsNotQuoteToken()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PathIsEmpty
error PathIsEmpty()
QuoteTokenIsNotPresentInTheLastPool
error QuoteTokenIsNotPresentInTheLastPool()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c0346101c757601f61219138819003918201601f19168301916001600160401b038311848410176101cb5780849260409485528339810103126101c757610052602061004b836101df565b92016101df565b33156101b4575f8054336001600160a01b0319821681178355604051949290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600160a01b031691821561017257506001600160a01b031690811561012e5760805260a052604051611f9d90816101f482396080518181816101e60152818161086601528181610bd401528181610e9c01528181610f98015281816110880152818161156501528181611822015281816119180152611989015260a05181818161059401526108aa0152f35b606460405162461bcd60e51b815260206004820152602060248201527f42616c616e636572563253747261746567793a205a45524f5f515545524945536044820152fd5b62461bcd60e51b815260206004820152601e60248201527f42616c616e636572563253747261746567793a205a45524f5f5641554c5400006044820152606490fd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101c75756fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714611ad3575080635b72bee914611285578063715018a61461122e5780638da5cb5b1461120757806396f1f900146108d95780639b6d6bbb14610895578063bc16384614610851578063f2fde38b146107cc578063f940e385146106f75763fb6343fb1461008a575f80fd5b346104ac5760803660031901126104ac576100a3611b89565b602435906044359060028210156104ac576064356001600160401b0381116104ac576100d3903690600401611c21565b925f60606040516100e381611b9f565b82815282602082015282604082015201528351156106e85780156106d957835161010c81611c0a565b9061011a6040519283611be9565b808252610129601f1991611c0a565b015f5b8181106106a3575050845192600184018094116103755761014c84611c0a565b9361015a6040519586611be9565b808552610169601f1991611c0a565b0136602086013760405163c55dae6360e01b815294906001600160a01b0316602086600481845afa9586156104cf575f96610682575b50604051630217a4b760e41b8152602081600481855afa9081156104cf575f91610653575b5090956001600160a01b03909116916101dc81611d68565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116935f93602093159216845b8b51811015610509579081858d61023260049560018060a01b0392611e82565b5151166040519485809263038fff2d60e41b82525afa9283156104cf575f936104da575b50604051631f29a8cd60e31b815260048101849052915f836024818c5afa9283156104cf575f936103be575b506001600160a01b0316610296828d611e82565b528c85156103b757506001810192838211610375578d935b86156103a25782935b6001600160a01b03906102db9060ff8b6102d1888b611e82565b5101511690611e82565b511694515f19810190811161037557831480610398575b61038957600183019384841161037557856103108f96600197611e82565b528361036e578c905b604051926103278b85611be9565b5f84528b368c8601376040519461033d86611bce565b85528a85015260408401526060830152608082015261035c828b611e82565b52610367818a611e82565b5001610212565b5f90610319565b634e487b7160e01b5f52601160045260245ffd5b632757a36f60e21b5f5260045ffd5b50858514156102f2565b600183019450848311610375578e94936102b7565b92816102ae565b9092503d805f833e6103d08183611be9565b81016060828203126104ac5781516001600160401b0381116104ac5782019181601f840112156104ac5782519261040684611c0a565b936104146040519586611be9565b8085528a8086019160051b830101918483116104ac578b01905b8282106104b05750505088810151906001600160401b0382116104ac570181601f820112156104ac57805190898061046584611c0a565b6104726040519182611be9565b848152019260051b8201019283116104ac5789809101915b83831061049c5750505050915f610282565b82518152918101918a910161048a565b5f80fd5b81516001600160a01b03811681036104ac578152908b01908b0161042e565b6040513d5f823e3d90fd5b9092508581813d8311610502575b6104f28183611be9565b810103126104ac5751915f610256565b503d6104e8565b610572855f8a8d8f89156106465761058f6105846001935b6040519361052e85611b9f565b308552878986015260408501528660608501526040519889968796637c26833760e11b885261055c81611d68565b600488015260e0602488015260e4870190611d72565b85810360031901604487015290611e11565b916064840190611e4d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156104cf575f92610622575b5081511561060e576105e081830151611e96565b9082515f198101908111610375576105fd61060391604095611e82565b51611e96565b908351928352820152f35b634e487b7160e01b5f52603260045260245ffd5b61063f9192503d805f833e6106378183611be9565b810190611cef565b90826105cc565b61058f6105848593610521565b610675915060203d60201161067b575b61066d8183611be9565b810190611cd0565b5f6101c4565b503d610663565b61069c91965060203d60201161067b5761066d8183611be9565b945f61019f565b6020906040516106b281611bce565b5f81525f838201525f60408201525f6060820152606060808201528282860101520161012c565b63a0be088b60e01b5f5260045ffd5b630b5b36c560e41b5f5260045ffd5b346104ac5760403660031901126104ac57610710611b89565b6024356001600160a01b038116918282036104ac5761072d611ea6565b6001600160a01b03168061075d5750505f808080934790828215610754575bf1156104cf57005b506108fc61074c565b6040516370a0823160e01b8152306004820152925090602083602481855afa9182156104cf575f92610796575b6107949350611ecc565b005b91506020833d6020116107c4575b816107b160209383611be9565b810103126104ac5761079492519161078a565b3d91506107a4565b346104ac5760203660031901126104ac576107e5611b89565b6107ed611ea6565b6001600160a01b0316801561083e575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346104ac575f3660031901126104ac576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104ac575f3660031901126104ac576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104ac576108e736611b26565b604051630217a4b760e41b8152949192602086600481335afa9586156104cf575f966111e6575b5060405163c55dae6360e01b8152602081600481335afa80156104cf576111c9575b50600381101561111f576002036111ba576109846040516323b872dd60e01b602082015233602482015230604482015285606482015260648152610975608482611be9565b6001600160a01b038716611f0f565b82016040838203126104ac578235906001600160401b0382116104ac576109ac918401611c21565b9283519281156111ab576001600160ff1b0382116111ab5760018401809411610375576109f16109db85611c0a565b946109e96040519687611be9565b808652611c0a565b601f19013660208601375f5b84519081811015610a6c5780610a3c576001915084610a1c8288611e82565b52610a2a6105fd8288611e82565b610a348288611e82565b525b016109fd565b5f198201918211610375576001918103610a615783610a5b8288611e82565b52610a36565b5f610a5b8288611e82565b8483888a89885f6060604051610a8181611b9f565b82815282602082015282604082015201528351156106e85785156106d957835191610aab83611c0a565b92610ab96040519485611be9565b808452610ac8601f1991611c0a565b015f5b8181106111755750508451936001850180951161037557610aeb85611c0a565b94610af96040519687611be9565b808652610b08601f1991611c0a565b0136602087013760405163c55dae6360e01b815290602082600481335afa9182156104cf575f92611154575b50604051630217a4b760e41b815291602083600481335afa9283156104cf575f93611133575b509397602094929391926001600160a01b03165f5b8951811015610e4a576004959493929190876001600160a01b03610b93838e611e82565b5151166040519889809263038fff2d60e41b82525afa9687156104cf575f97610e1b575b50604051631f29a8cd60e31b815260048101889052915f836024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156104cf575f93610cf9575b506001600160a01b0316610c20828c611e82565b52600181019182821161037557610c468c9160ff8b6102d18660018060a01b0396611e82565b5116968b515f19810190811161037557821480610ce6575b6103895782821161037557828e89610c786001968f611e82565b5283610cdf575b60405191610c8d8c84611be9565b5f8352601f198c01368d85013760405193610ca785611bce565b84528b84015283604084015260608301526080820152610cc7828b611e82565b52610cd2818a611e82565b5001949091929394610b6f565b505f610c7f565b506001600160a01b038716881415610c5e565b9092509b9a9b3d805f833e610d0e8183611be9565b8101906060818303126104ac5780516001600160401b0381116104ac5781019180601f840112156104ac57825192610d4584611c0a565b93610d536040519586611be9565b8085528c8086019160051b830101918383116104ac578d01905b828210610dfc575050508a820151916001600160401b0383116104ac5781601f8483010112156104ac5782810151928c610da685611c0a565b610db36040519182611be9565b85815201928d8560051b8385010101116104ac578c81830101925b8d8560051b83850101018410610ded5750505050509b9a9b918e610c0c565b83518152928d01928d01610dce565b81516001600160a01b03811681036104ac578152908d01908d01610d6d565b9096508781813d8311610e43575b610e338183611be9565b810103126104ac5751958d610bb7565b503d610e29565b505084918691888b610f5e610f5360019360405193610e6885611b9f565b3085525f8a860181905233604080880191909152606087018290525163095ea7b360e01b818d019081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024830152604480830194909452928152918b91908d90610ede606486611be9565b84519183906001600160a01b03165af1863d5f5190836110f9575b50505015611077575b5091610f419795969491899493604051998a9863945bcec960e01b8a52610f2886611d68565b8560048b015261012060248b01526101248a0190611d72565b8881036003190160448a015290611e11565b926064870190611e4d565b8482036003190160e4860152835180835291830193602001915f5b81811061105f575050505092909201356101048201525f9181900381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156104cf57611047575b506040516370a0823160e01b81523060048201529181836024816001600160a01b0385165afa9182156104cf575f92611015575b61079483336001600160a01b038516611ecc565b90915082813d8311611040575b61102c8183611be9565b810103126104ac5761079491519083611001565b503d611022565b61105a903d805f833e6106378183611be9565b610fcd565b83518652889650948401948994909301928201610f79565b60405163095ea7b360e01b8b8201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660248201525f60448083019190915281526110f391906110e4906110d5606482611be9565b6001600160a01b038e16611f0f565b6001600160a01b038c16611f0f565b8a610f02565b919250906111195750506001600160a01b038b163b15155b868d80610ef9565b14611111565b634e487b7160e01b5f52602160045260245ffd5b61114d91935060203d60201161067b5761066d8183611be9565b918a610b5a565b61116e91925060203d60201161067b5761066d8183611be9565b9089610b34565b60209060405161118481611bce565b5f81525f838201525f60408201525f60608201526060608082015282828801015201610acb565b6354e9378f60e11b5f5260045ffd5b632596348760e21b5f5260045ffd5b6111e19060203d60201161067b5761066d8183611be9565b610930565b61120091965060203d60201161067b5761066d8183611be9565b948661090e565b346104ac575f3660031901126104ac575f546040516001600160a01b039091168152602090f35b346104ac575f3660031901126104ac57611246611ea6565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104ac5761129336611b26565b60405163c55dae6360e01b81529192602083600481335afa9283156104cf575f93611ab2575b50604051630217a4b760e41b8152602081600481335afa80156104cf57611a95575b50600381101561111f576002036111ba5761132f6040516323b872dd60e01b602082015233602482015230604482015286606482015260648152611320608482611be9565b6001600160a01b038416611f0f565b82016040838203126104ac578235906001600160401b0382116104ac57611357918401611c21565b9283519281156111ab576001600160ff1b0382116111ab5760018401809411610375576113866109db85611c0a565b601f19013660208601375f5b8451908181101561140157806113b95760019150876113b18288611e82565b525b01611392565b5f1982019182116103755760019181036113f657836113d88288611e82565b526113e66105fd8288611e82565b6113f08288611e82565b526113b3565b5f6113f08288611e82565b87838888885f606060405161141581611b9f565b82815282602082015282604082015201528251156106e85784156106d95782519061143f82611c0a565b9161144d6040519384611be9565b80835261145c601f1991611c0a565b015f5b818110611a5f575050835192600184018094116103755761147f84611c0a565b9361148d6040519586611be9565b80855261149c601f1991611c0a565b0136602086013760405163c55dae6360e01b8152602081600481335afa9081156104cf575f91611a40575b50604051630217a4b760e41b815290602082600481335afa9182156104cf575f92611a1f575b5092966020939192916001600160a01b03165f5b88518110156117d25760049493929190866001600160a01b03611524838d611e82565b5151166040519788809263038fff2d60e41b82525afa9586156104cf575f966117a3575b50604051631f29a8cd60e31b815260048101879052915f836024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156104cf575f93611688575b506001600160a01b03166115b1828b611e82565b526001810191828211610375576115d78b9160ff8a6102d18660018060a01b0396611e82565b5116958a515f19810190811161037557821480611675575b610389578282116103755782876116086001958d611e82565b528261166f578d5b6040519161161e8b84611be9565b5f8352601f198b01368c8501376040519361163885611bce565b8452848b850152604084015260608301526080820152611658828a611e82565b526116638189611e82565b50019390919293611501565b5f611610565b506001600160a01b0386168714156115ef565b9092503d90815f823e61169b8282611be9565b60608183810103126104ac5780516001600160401b0381116104ac57810191808201601f840112156104ac5782516116d281611c0a565b936116e06040519586611be9565b8185528b85018385018d8460051b840101116104ac578c8201905b8d8460051b84010182106117845750505050898201516001600160401b0381116104ac578201818301601f820112156104ac578051918b8061173c85611c0a565b6117496040519182611be9565b858152019360051b830101930183116104ac578a809101915b8383106117745750505050918d61159d565b82518152918101918b9101611762565b81516001600160a01b03811681036104ac578152908d01908d016116fb565b9095508681813d83116117cb575b6117bb8183611be9565b810103126104ac5751948c611548565b503d6117b1565b5050915092936118df6118d4899289604051946117ee86611b9f565b3086525f88870181905233604080890191909152606088018290525163095ea7b360e01b818b019081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015260448083019490945292815291899190611862606485611be9565b835190826001600160a01b0387165af15f513d826119fa575b505015611978575b5050906118c29795969493929160405198899763945bcec960e01b89526118a95f611d68565b5f60048a015261012060248a0152610124890190611d72565b87810360031901604489015290611e11565b916064860190611e4d565b8381036003190160e4850152825180825290850192602001905f5b8181106119615750505092909201356101048201525f9181900381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156104cf5761194e57005b610794903d805f833e6106378183611be9565b8251855287955093860193918601916001016118fa565b60405163095ea7b360e01b898201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660248201525f60448083019190915281526119f392906119e5906119d6606482611be9565b6001600160a01b038316611f0f565b6001600160a01b0316611f0f565b8880611883565b909150611a1757506001600160a01b0382163b15155b8b8061187b565b600114611a10565b611a3991925060203d60201161067b5761066d8183611be9565b90896114ed565b611a59915060203d60201161067b5761066d8183611be9565b886114c7565b602090604051611a6e81611bce565b5f81525f838201525f60408201525f6060820152606060808201528282870101520161145f565b611aad9060203d60201161067b5761066d8183611be9565b6112db565b611acc91935060203d60201161067b5761066d8183611be9565b91866112b9565b346104ac5760203660031901126104ac576004359063ffffffff60e01b82168092036104ac57602091632558f38360e01b8114908115611b15575b5015158152f35b6301ffc9a760e01b14905083611b0e565b60806003198201126104ac57600435916024359160443560038110156104ac57916064356001600160401b0381116104ac57826023820112156104ac578060040135926001600160401b0384116104ac57602484830101116104ac576024019190565b600435906001600160a01b03821682036104ac57565b608081019081106001600160401b03821117611bba57604052565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b03821117611bba57604052565b90601f801991011681019081106001600160401b03821117611bba57604052565b6001600160401b038111611bba5760051b60200190565b81601f820112156104ac57803590611c3882611c0a565b92611c466040519485611be9565b82845260208085019360061b830101918183116104ac57602001925b828410611c70575050505090565b6040848303126104ac5760405190604082018281106001600160401b03821117611bba5760405284356001600160a01b03811681036104ac57825260208501359060ff821682036104ac5782602092836040950152815201930192611c62565b908160209103126104ac57516001600160a01b03811681036104ac5790565b6020818303126104ac578051906001600160401b0382116104ac57019080601f830112156104ac578151611d2281611c0a565b92611d306040519485611be9565b81845260208085019260051b8201019283116104ac57602001905b828210611d585750505090565b8151815260209182019101611d4b565b6002111561111f57565b9080602083519182815201916020808360051b8301019401925f915b838310611d9d57505050505090565b909192939460208060c0600193601f198682030187528260808b518051845282810151838501526040810151604085015260608101516060850152015160a0608084015280519182918260a0860152018484015e5f828201840152601f01601f191601019701959491909101920190611d8e565b90602080835192838152019201905f5b818110611e2e5750505090565b82516001600160a01b0316845260209384019390920191600101611e21565b80516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b805182101561060e5760209160051b010190565b600160ff1b8114610375575f0390565b5f546001600160a01b03163303611eb957565b63118cdaa760e01b5f523360045260245ffd5b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152611f0d91611f08606483611be9565b611f0f565b565b905f602091828151910182855af1156104cf575f513d611f5e57506001600160a01b0381163b155b611f3e5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611f3756fea26469706673582212209dedfaaccd3776506bbf25c890bc662dd40ef6a3c663cc84a5ca1643f5c4092a64736f6c634300081d0033000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8000000000000000000000000300ab2038eac391f26d9f895dc61f8f66a548833