0 txs
1.2k calls
constructor
constructor(address _vaultExplorer, address _registry)
functions
getDescription
purefunction getDescription() pure returns (string)
getSystemRegistry
viewfunction getSystemRegistry() view returns (address)
vaultExplorer
viewfunction vaultExplorer() view returns (address)
getSafeSpotPriceInfo
nonpayablefunction getSafeSpotPriceInfo(address pool, address lpToken, address quoteToken) returns (uint256 totalLpSupply, tuple[] reserves)
getSpotPrice
nonpayablefunction getSpotPrice(address token, address pool, address requestedQuoteToken) returns (uint256, address)
events
No events.
errors
ArrayLengthMismatch
error ArrayLengthMismatch(uint256 length1, uint256 length2, string details)
InvalidPool
error InvalidPool(address pool)
InvalidToken
error InvalidToken(address token)
StableComputeBalanceDidNotConverge
error StableComputeBalanceDidNotConverge()
StableInvariantDidNotConverge
error StableInvariantDidNotConverge()
ZeroAddress
error ZeroAddress(string paramName)
ZeroDivision
error ZeroDivision()
creation bytecode
0x60c060405234801562000010575f80fd5b50604051620022cb380380620022cb8339810160408190526200003391620001c7565b80806200006e816040518060400160405280600f81526020016e5f73797374656d526567697374727960881b8152506200017660201b60201c565b806001600160a01b03166080816001600160a01b031681525050506200012a816001600160a01b031663f3c274f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000ca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000f0919062000204565b60408051808201909152601981527f5f72656769737472792e726f6f7450726963654f7261636c6500000000000000602082015262000176565b5062000163826040518060400160405280600e81526020016d2fbb30bab63a22bc383637b932b960911b8152506200017660201b60201c565b506001600160a01b031660a05262000277565b6001600160a01b038216620001ab578060405163eac0d38960e01b8152600401620001a2919062000229565b60405180910390fd5b5050565b6001600160a01b0381168114620001c4575f80fd5b50565b5f8060408385031215620001d9575f80fd5b8251620001e681620001af565b6020840151909250620001f981620001af565b809150509250929050565b5f6020828403121562000215575f80fd5b81516200022281620001af565b9392505050565b5f602080835283518060208501525f5b81811015620002575785810183015185820160400152820162000239565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a05161201e620002ad5f395f81816098015281816104a40152818161053d015261079201525f610125015261201e5ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c80631a092541146100595780636b18a5701461009357806375075ad5146100d2578063da83972f14610102578063f12baf5c14610123575b5f80fd5b604080518082018252600f81526e0c4c2d8ac66a6e8c2c4d8ca9ac2e8d608b1b6020820152905161008a9190611776565b60405180910390f35b6100ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008a565b6100e56100e036600461179f565b610149565b604080519283526001600160a01b0390911660208301520161008a565b61011561011036600461179f565b610251565b60405161008a9291906117e7565b7f00000000000000000000000000000000000000000000000000000000000000006100ba565b5f8061017285604051806040016040528060058152602001643a37b5b2b760d91b81525061044b565b61019884604051806040016040528060048152602001631c1bdbdb60e21b81525061044b565b6101cd83604051806040016040528060138152602001723932b8bab2b9ba32b228bab7ba32aa37b5b2b760691b81525061044b565b5f805f6101d987610478565b9350509250925082515f0361021157604051630f4c971b60e21b81526001600160a01b03881660048201526024015b60405180910390fd5b5f806102218a8a8a888888610bb2565b915091508184828151811061023857610238611862565b6020026020010151965096505050505050935093915050565b5f606061027a85604051806040016040528060048152602001631c1bdbdb60e21b81525061044b565b6102a6836040518060400160405280600a81526020016938bab7ba32aa37b5b2b760b11b81525061044b565b846001600160a01b0316846001600160a01b0316146102e357604051630f4c971b60e21b81526001600160a01b0386166004820152602401610208565b6102ec85610e0a565b91505f805f806102fb89610478565b835193975091955093509150806001600160401b0381111561031f5761031f611876565b60405190808252806020026020018201604052801561036f57816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f1990920191018161033d5790505b5095505f5b8181101561043d575f85828151811061038f5761038f611862565b602002602001015190505f806103a9838f8e8c8c8b610bb2565b915091506040518060800160405280846001600160a01b031681526020018886815181106103d9576103d9611862565b602002602001015181526020018381526020018983815181106103fe576103fe611862565b60200260200101516001600160a01b03168152508a858151811061042457610424611862565b6020026020010181905250505050806001019050610374565b505050505050935093915050565b6001600160a01b038216610474578060405163eac0d38960e01b81526004016102089190611776565b5050565b6040516333f0703b60e11b81526001600160a01b0382811660048301526060918291829182915f9182917f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156104e8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261050f9190810190611a51565b508251604051633f1b0def60e11b81526001600160a01b038c81166004830152949650919450925f925082917f000000000000000000000000000000000000000000000000000000000000000090911690637e361bde906024015f60405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105aa9190810190611b55565b915091505f6040518060e001604052808c6001600160a01b03168152602001868152602001848152602001838152602001856001600160401b038111156105f3576105f3611876565b60405190808252806020026020018201604052801561061c578160200160208202803683370190505b508152602001856001600160401b0381111561063a5761063a611876565b604051908082528060200260200182016040528015610663578160200160208202803683370190505b508152602001856001600160401b0381111561068157610681611876565b6040519080825280602002602001820160405280156106aa578160200160208202803683370190505b50905290505f846001600160401b038111156106c8576106c8611876565b6040519080825280602002602001820160405280156106f1578160200160208202803683370190505b5090505f856001600160401b0381111561070d5761070d611876565b604051908082528060200260200182016040528015610736578160200160208202803683370190505b5090505f5b86811015610b775788818151811061075557610755611862565b602002602001015182828151811061076f5761076f611862565b60200260200101906001600160a01b031690816001600160a01b0316815250505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630387587d8b84815181106107d1576107d1611862565b60200260200101516040518263ffffffff1660e01b815260040161080491906001600160a01b0391909116815260200190565b602060405180830381865afa15801561081f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108439190611bbf565b90505f8a838151811061085857610858611862565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bf9190611bda565b6108ca90600a611cee565b9050808660a0015184815181106108e3576108e3611862565b60209081029190910101526001600160a01b03821615610aee578a838151811061090f5761090f611862565b60200260200101516001600160a01b03166307a2d13a826040518263ffffffff1660e01b815260040161094491815260200190565b602060405180830381865afa15801561095f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109839190611cfc565b8660800151848151811061099957610999611862565b602002602001018181525050818484815181106109b8576109b8611862565b60200260200101906001600160a01b031690816001600160a01b0316815250508383815181106109ea576109ea611862565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a519190611bda565b610a5c90600a611cee565b8660c001518481518110610a7257610a72611862565b6020026020010181815250508086608001518481518110610a9557610a95611862565b60200260200101518b8581518110610aaf57610aaf611862565b6020026020010151610ac19190611d13565b610acb9190611d2a565b858481518110610add57610add611862565b602002602001018181525050610b6d565b8086608001518481518110610b0557610b05611862565b602002602001018181525050808660c001518481518110610b2857610b28611862565b602002602001018181525050898381518110610b4657610b46611862565b6020026020010151858481518110610b6057610b60611862565b6020026020010181815250505b505060010161073b565b5087818385604051602001610b8c9190611d83565b6040516020818303038152906040529b509b509b509b5050505050505050509193509193565b5f805f6040518060c001604052805f1981526020015f1981526020015f1981526020015f81526020015f81526020015f81525090505f5b8551811015610ca1575f868281518110610c0557610c05611862565b602002602001015190508a6001600160a01b0316816001600160a01b031603610c3057818352610c76565b886001600160a01b0316816001600160a01b031603610c555760208301829052610c76565b806001600160a01b03168a6001600160a01b031614610c7657604083018290525b82515f1914801590610c8d575082602001515f1914155b15610c985750610ca1565b50600101610be9565b50805119610ccd5760405163961c9a4f60e01b81526001600160a01b038a166004820152602401610208565b602081015119610ce257604081015160208201525b5f80610ced86610e71565b915091505f610cfb8b61102c565b90505f610d088285611096565b905089855f015181518110610d1f57610d1f611862565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d869190611bda565b610d9190600a611cee565b60a0860181905285518451610dbe929186918110610db157610db1611862565b602002602001015161123a565b6060860181905285516020870151610ddc928592889290918661124c565b60808601525f610dee868b868c6112e8565b6020909601519597509495505050505050965096945050505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6b9190611cfc565b92915050565b6060805f83806020019051810190610e899190611e4b565b90505f816020015190505f81519050610edd818460400151516040518060400160405280601e81526020017f62616c616e6365732b646563696d616c5363616c696e67466163746f72730000815250611411565b806001600160401b03811115610ef557610ef5611876565b604051908082528060200260200182016040528015610f1e578160200160208202803683370190505b509450806001600160401b03811115610f3957610f39611876565b604051908082528060200260200182016040528015610f62578160200160208202803683370190505b5093505f5b81811015611023575f84604001518281518110610f8657610f86611862565b602002602001015190505f85606001518381518110610fa757610fa7611862565b60200260200101519050610fd5858481518110610fc657610fc6611862565b6020026020010151838361143c565b888481518110610fe757610fe7611862565b6020908102919091010152610ffc8183611d13565b87848151811061100e5761100e611862565b60209081029190910101525050600101610f67565b50505050915091565b5f816001600160a01b0316636daccffa6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611069573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108d9190611f72565b50909392505050565b80515f908190815b818110156110d5578481815181106110b8576110b8611862565b6020026020010151836110cb9190611fa4565b925060010161109e565b50815f036110e7575f92505050610e6b565b5f82816110f48489611d13565b90505f5b60ff81101561122157825f5b8681101561114f57868a828151811061111f5761111f611862565b60200260200101516111319190611d13565b61113b8684611d13565b6111459190611d2a565b9150600101611104565b50839450808660016111619190611fa4565b61116b9190611d13565b6103e8856111798287611fb7565b6111839190611d13565b61118d9190611d2a565b6111979190611fa4565b846111a28884611d13565b6103e86111af8b88611d13565b6111b99190611d2a565b6111c39190611fa4565b6111cd9190611d13565b6111d79190611d2a565b9350848411156111ff576001858503116111fa5783975050505050505050610e6b565b611218565b6001848603116112185783975050505050505050610e6b565b506001016110f8565b506040516208651960e51b815260040160405180910390fd5b5f611245838361144d565b9392505050565b5f8286868151811061126057611260611862565b602002602001018181516112749190611fa4565b9052505f6112848888858861146d565b90508387878151811061129957611299611862565b6020026020010181815103915081815250506001818887815181106112c0576112c0611862565b60200260200101516112d29190611fb7565b6112dc9190611fb7565b98975050505050505050565b5f80828060200190518101906112fe9190611e4b565b90505f61130d878787876116a6565b90505f8260a00151885f01518151811061132957611329611862565b60200260200101518360800151895f01518151811061134a5761134a611862565b60200260200101518960a001516113619190611d13565b61136b9190611d2a565b90505f8360a0015189602001518151811061138857611388611862565b602002602001015184608001518a60200151815181106113aa576113aa611862565b6020026020010151846113bd9190611d13565b6113c79190611d2a565b90505f82828660c001518c5f0151815181106113e5576113e5611862565b60200260200101516113f79190611d13565b6114019190611d2a565b955050505050505b949350505050565b818314611437578282826040516358da50eb60e01b815260040161020893929190611fca565b505050565b5f6114098261144b8587611d13565b905b5f806114598385611d13565b9050611409670de0b6b3a764000082611d2a565b82515f908161147c8288611d13565b90505f865f8151811061149157611491611862565b602002602001015190505f83885f815181106114af576114af611862565b60200260200101516114c19190611d13565b905060015b8481101561153a5787858a83815181106114e2576114e2611862565b6020026020010151846114f59190611d13565b6114ff9190611d13565b6115099190611d2a565b915088818151811061151d5761151d611862565b6020026020010151836115309190611fa4565b92506001016114c6565b5087868151811061154d5761154d611862565b6020026020010151826115609190611fb7565b91505f61156d8880611d13565b90505f89888151811061158257611582611862565b60200260200101516115ab84876115999190611d13565b6115a56103e886611d13565b906116db565b6115b59190611d13565b90505f6103e86115c5878c611d2a565b6115cf9190611d13565b6115d99086611fa4565b90505f806115f46115ea848e611fa4565b6115a58688611fa4565b90505f5b60ff81101561168c5781925061163f8d858460026116169190611d13565b6116209190611fa4565b61162a9190611fb7565b866116358580611d13565b6115a59190611fa4565b9150828211156116695760018383031161166457509850611409975050505050505050565b611684565b60018284031161168457509850611409975050505050505050565b6001016115f8565b5060405163372f681760e21b815260040160405180910390fd5b5f6116d28560800151848760200151815181106116c5576116c5611862565b602002602001015161170d565b95945050505050565b5f815f036116fc57604051630a0c22c760e01b815260040160405180910390fd5b508115155f19909201046001010290565b5f61124583835f80611727670de0b6b3a764000085611d13565b90506114098382611d2a565b5f81518084525f5b818110156117575760208185018101518683018201520161173b565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6112456020830184611733565b6001600160a01b038116811461179c575f80fd5b50565b5f805f606084860312156117b1575f80fd5b83356117bc81611788565b925060208401356117cc81611788565b915060408401356117dc81611788565b809150509250925092565b5f604080830185845260206040602086015281865180845260609350606087019150602088015f5b8281101561185357815180516001600160a01b039081168652868201518787015288820151898701529087015116868501526080909301929084019060010161180f565b50919998505050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b03811182821017156118ac576118ac611876565b60405290565b60405160e081016001600160401b03811182821017156118ac576118ac611876565b604051601f8201601f191681016001600160401b03811182821017156118fc576118fc611876565b604052919050565b5f6001600160401b0382111561191c5761191c611876565b5060051b60200190565b80518015158114611935575f80fd5b919050565b5f82601f830112611949575f80fd5b8151602061195e61195983611904565b6118d4565b8281526060928302850182019282820191908785111561197c575f80fd5b8387015b858110156119dd5781818a031215611996575f80fd5b61199e61188a565b8151600281106119ac575f80fd5b8152818601516119bb81611788565b8187015260406119cc838201611926565b908201528452928401928101611980565b5090979650505050505050565b5f82601f8301126119f9575f80fd5b81516020611a0961195983611904565b8083825260208201915060208460051b870101935086841115611a2a575f80fd5b602086015b84811015611a465780518352918301918301611a2f565b509695505050505050565b5f805f8060808587031215611a64575f80fd5b84516001600160401b0380821115611a7a575f80fd5b818701915087601f830112611a8d575f80fd5b81516020611a9d61195983611904565b82815260059290921b8401810191818101908b841115611abb575f80fd5b948201945b83861015611ae2578551611ad381611788565b82529482019490820190611ac0565b918a0151919850909350505080821115611afa575f80fd5b611b068883890161193a565b94506040870151915080821115611b1b575f80fd5b611b27888389016119ea565b93506060870151915080821115611b3c575f80fd5b50611b49878288016119ea565b91505092959194509250565b5f8060408385031215611b66575f80fd5b82516001600160401b0380821115611b7c575f80fd5b611b88868387016119ea565b93506020850151915080821115611b9d575f80fd5b50611baa858286016119ea565b9150509250929050565b805161193581611788565b5f60208284031215611bcf575f80fd5b815161124581611788565b5f60208284031215611bea575f80fd5b815160ff81168114611245575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611c4857815f1904821115611c2e57611c2e611bfa565b80851615611c3b57918102915b93841c9390800290611c13565b509250929050565b5f82611c5e57506001610e6b565b81611c6a57505f610e6b565b8160018114611c805760028114611c8a57611ca6565b6001915050610e6b565b60ff841115611c9b57611c9b611bfa565b50506001821b610e6b565b5060208310610133831016604e8410600b8410161715611cc9575081810a610e6b565b611cd38383611c0e565b805f1904821115611ce657611ce6611bfa565b029392505050565b5f61124560ff841683611c50565b5f60208284031215611d0c575f80fd5b5051919050565b8082028115828204841417610e6b57610e6b611bfa565b5f82611d4457634e487b7160e01b5f52601260045260245ffd5b500490565b5f815180845260208085019450602084015f5b83811015611d7857815187529582019590820190600101611d5c565b509495945050505050565b60208152611d9d6020820183516001600160a01b03169052565b5f602083015160e06040840152611db8610100840182611d49565b90506040840151601f1980858403016060860152611dd68383611d49565b92506060860151915080858403016080860152611df38383611d49565b925060808601519150808584030160a0860152611e108383611d49565b925060a08601519150808584030160c0860152611e2d8383611d49565b925060c08601519150808584030160e0860152506116d28282611d49565b5f60208284031215611e5b575f80fd5b81516001600160401b0380821115611e71575f80fd5b9083019060e08286031215611e84575f80fd5b611e8c6118b2565b611e9583611bb4565b8152602083015182811115611ea8575f80fd5b611eb4878286016119ea565b602083015250604083015182811115611ecb575f80fd5b611ed7878286016119ea565b604083015250606083015182811115611eee575f80fd5b611efa878286016119ea565b606083015250608083015182811115611f11575f80fd5b611f1d878286016119ea565b60808301525060a083015182811115611f34575f80fd5b611f40878286016119ea565b60a08301525060c083015182811115611f57575f80fd5b611f63878286016119ea565b60c08301525095945050505050565b5f805f60608486031215611f84575f80fd5b83519250611f9460208501611926565b9150604084015190509250925092565b80820180821115610e6b57610e6b611bfa565b81810381811115610e6b57610e6b611bfa565b838152826020820152606060408201525f6116d2606083018461173356fea26469706673582212200afcfd2beb200f390851444ce620609738819286e1bfa02fbe65d50fd6c5a56264736f6c63430008180033000000000000000000000000774cb66e2b2db59a9daf175e9b2b7a142e17eb940000000000000000000000002218f90a98b0c070676f249ef44834686daa4285