0 txs
0 calls
constructor
constructor(address lut)
functions
calcLpTokenSupply
viewfunction calcLpTokenSupply(uint256[] reserves, bytes data) view returns (uint256 lpTokenSupply)
calcLPTokenUnderlying
purefunction calcLPTokenUnderlying(uint256 lpTokenAmount, uint256[] reserves, uint256 lpTokenSupply, bytes) pure returns (uint256[] underlyingAmounts)
calcRate
viewfunction calcRate(uint256[] reserves, uint256 i, uint256 j, bytes data) view returns (uint256 rate)
calcReserve
viewfunction calcReserve(uint256[] reserves, uint256 j, uint256 lpTokenSupply, bytes data) view returns (uint256 reserve)
calcReserveAtRatioLiquidity
viewfunction calcReserveAtRatioLiquidity(uint256[] reserves, uint256 j, uint256[] ratios, bytes data) view returns (uint256 reserve)
calcReserveAtRatioSwap
viewfunction calcReserveAtRatioSwap(uint256[] reserves, uint256 j, uint256[] ratios, bytes data) view returns (uint256 reserve)
decodeWellData
viewfunction decodeWellData(bytes data) view returns (uint256[] decimals)
name
purefunction name() pure returns (string)
ratioPrecision
purefunction ratioPrecision(uint256, bytes) pure returns (uint256 precision)
symbol
purefunction symbol() pure returns (string)
version
purefunction version() pure returns (string)
events
No events.
errors
InvalidJArgument
error InvalidJArgument()
InvalidLUT
error InvalidLUT()
InvalidTokenDecimals
error InvalidTokenDecimals()
creation bytecode
0x60c060405234801561001057600080fd5b5060405161243a38038061243a83398101604081905261002f916100cd565b6001600160a01b03811661005657604051638005fdb760e01b815260040160405180910390fd5b6001600160a01b038116608081905260408051633e2a0a2960e01b81529051633e2a0a29916004808201926020929091908290030181865afa1580156100a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906100fd565b60a05250610116565b6000602082840312156100df57600080fd5b81516001600160a01b03811681146100f657600080fd5b9392505050565b60006020828403121561010f57600080fd5b5051919050565b60805160a0516122f16101496000396000818161026d0152610bee0152600081816106bf0152610e4401526122f16000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80637f35e83d11610081578063a11686b81161005b578063a11686b8146101af578063b1d35841146101cf578063bf66642a146101e257600080fd5b80637f35e83d1461016b57806380be8c981461017e57806395d89b411461019157600080fd5b80632b227ea9116100b25780632b227ea91461012457806354fd4d50146101375780635a84467c1461015857600080fd5b806306fdde03146100ce57806314c15fc014610103575b600080fd5b60408051808201909152600781526629ba30b136329960c91b60208201525b6040516100fa9190611ae9565b60405180910390f35b610116610111366004611c67565b6101f5565b6040519081526020016100fa565b610116610132366004611cd0565b610504565b6040805180820190915260058152640312e312e360dc1b60208201526100ed565b610116610166366004611dda565b610570565b610116610179366004611cd0565b610bc4565b61011661018c366004611e8a565b610d5d565b604080518082019091526002815261299960f11b60208201526100ed565b6101c26101bd366004611f2f565b61142e565b6040516100fa9190611f64565b6101166101dd366004611fa7565b6114f8565b6101c26101f0366004611ff3565b611504565b60008260008151811061020a5761020a61207b565b6020026020010151600014801561023b57508260018151811061022f5761022f61207b565b60200260200101516000145b15610248575060006104fe565b60006102538361142e565b9050600061026185836115a9565b905060006002610291817f00000000000000000000000000000000000000000000000000000000000000006120a7565b61029b91906120a7565b90506000826001815181106102b2576102b261207b565b6020026020010151836000815181106102cd576102cd61207b565b60200260200101516102df91906120be565b94508490506000805b60ff8110156104a557600087905060028660008151811061030b5761030b61207b565b602002602001015161031d91906120a7565b61032789836120a7565b61033191906120e7565b90506002866001815181106103485761034861207b565b602002602001015161035a91906120a7565b61036489836120a7565b61036e91906120e7565b9050878161037e600260016120be565b61038891906120a7565b60648a610395828a612109565b61039f91906120a7565b6103a991906120e7565b6103b391906120be565b896103bf6002856120a7565b60646103cb898b6120a7565b6103d591906120e7565b6103df91906120be565b6103e991906120a7565b6103f391906120e7565b98508089111561045657610407818a612109565b60020361043357831561042e5761041f60018a612109565b985050505050505050506104fe565b600193505b600161043f828b612109565b116104515750505050505050506104fe565b61049b565b6104608982612109565b60020361047d5783156104785761041f8960016120be565b600193505b60016104898a83612109565b1161049b5750505050505050506104fe565b50506001016102e8565b5060405162461bcd60e51b815260206004820152602260248201527f4e6f6e20636f6e76657267656e63653a2063616c634c70546f6b656e537570706044820152616c7960f01b60648201526084015b60405180910390fd5b92915050565b6000806105108361142e565b9050600061051e87836115a9565b60408051601260208201819052918101919091529091506000906105569083906060015b6040516020818303038152906040526101f5565b9050610564828888846116bb565b98975050505050505050565b60008086600114610582576001610585565b60005b60ff16905060006105cb85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061142e92505050565b9050600061060d8b8b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692506115a9915050565b9050610617611a7d565b60006106578a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892506115a9915050565b9050808b8151811061066b5761066b61207b565b6020026020010151620f42408287815181106106895761068961207b565b602002602001015161069b91906120a7565b6106a591906120e7565b808352604051630a9028c960e41b815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9028c909060240160e060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f919061211c565b6080830181905260600151825161075691906117b5565b608083015151835161076891906117b5565b11156107e357816080015160c00151826080015160a001518487815181106107925761079261207b565b60200260200101516107a491906120a7565b6107ae91906120e7565b838c815181106107c0576107c061207b565b60200260200101818152505081608001516060015182602001818152505061084f565b816080015160c001518260800151604001518487815181106108075761080761207b565b602002602001015161081991906120a7565b61082391906120e7565b838c815181106108355761083561207b565b602090810291909101810191909152608083015151908301525b608082015160a08101516040909101516108699082612109565b848d8151811061087b5761087b61207b565b602002602001015161088d91906120a7565b61089791906120e7565b606083015260005b60ff811015610b4a576108cb83858e815181106108be576108be61207b565b602002602001015161182c565b848d815181106108dd576108dd61207b565b60200260200101818152505061092684878e60128060405160200161091292919060ff92831681529116602082015260400190565b604051602081830303815290604052610504565b604084018190528351108015610940575060208301518351115b156109b1578386815181106109575761095761207b565b6020026020010151848d815181106109715761097161207b565b6020026020010151670de0b6b3a764000061098c91906120a7565b61099691906120e7565b60808401805160409081019290925290840151905152610a38565b825160408401511080156109c9575060208301518351105b15610a38578386815181106109e0576109e061207b565b6020026020010151848d815181106109fa576109fa61207b565b6020026020010151670de0b6b3a7640000610a1591906120a7565b610a1f91906120e7565b60808401805160a0019190915260408401519051606001525b608083015160a0810151604090910151610a529082612109565b858e81518110610a6457610a6461207b565b6020026020010151610a7691906120a7565b610a8091906120e7565b606084015260408301516020840181905283511015610b185782516020840151600a91610aac91612109565b11610b1357848c81518110610ac357610ac361207b565b60200260200101516012610ad79190612109565b610ae290600a61228b565b848d81518110610af457610af461207b565b6020026020010151610b0691906120e7565b9650505050505050610bb9565b610b42565b60208301518351600a91610b2b91612109565b11610b4257848c81518110610ac357610ac361207b565b60010161089f565b5060405162461bcd60e51b815260206004820152602c60248201527f4e6f6e20636f6e76657267656e63653a2063616c63526573657276654174526160448201527f74696f4c6971756964697479000000000000000000000000000000000000000060648201526084016104f5565b979650505050505050565b600080610bd08361142e565b90506000610bde87836115a9565b9050600080610c566002610c12817f00000000000000000000000000000000000000000000000000000000000000006120a7565b610c1c91906120a7565b888a15610c435785600081518110610c3657610c3661207b565b60200260200101516118d9565b85600181518110610c3657610c3661207b565b915091508694506000805b60ff811015610d0c57869150610c798784868c611953565b965081871115610ce1576001610c8f8389612109565b11610cdc57858a81518110610ca657610ca661207b565b60200260200101516012610cba9190612109565b610cc590600a61228b565b610ccf90886120e7565b9650505050505050610d55565b610d04565b6001610ced8884612109565b11610d0457858a81518110610ca657610ca661207b565b600101610c61565b5060405162461bcd60e51b815260206004820152601c60248201527f4e6f6e20636f6e76657267656e63653a2063616c63526573657276650000000060448201526064016104f5565b949350505050565b60008085600114610d6f576001610d72565b60005b60ff1690506000610db885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061142e92505050565b90506000610dc689836115a9565b9050610dd0611a7d565b6000610ddc89856115a9565b9050808a81518110610df057610df061207b565b6020026020010151620f4240828781518110610e0e57610e0e61207b565b6020026020010151610e2091906120a7565b610e2a91906120e7565b80835260405163958581e560e01b815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063958581e59060240160e060405180830381865afa158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec4919061211c565b60808301526040805160126020820181905291810191909152600090610eee908590606001610542565b90506000610efd6002836120e7565b9050610f1584608001516060015185600001516117b5565b6080850151518551610f2791906117b5565b1115610fc55760808085015160c0810151910151610f4590836120a7565b610f4f91906120e7565b858881518110610f6157610f6161207b565b6020908102919091010152608084015160c081015160a090910151610f8690836120a7565b610f9091906120e7565b858d81518110610fa257610fa261207b565b602002602001018181525050836080015160600151846020018181525050611056565b608084015160c0810151602090910151610fdf90836120a7565b610fe991906120e7565b858881518110610ffb57610ffb61207b565b6020908102919091010152608084015160c081015160409091015161102090836120a7565b61102a91906120e7565b858d8151811061103c5761103c61207b565b602090810291909101810191909152608085015151908501525b608084015160a08101516040909101516110709082612109565b868e815181106110825761108261207b565b602002602001015161109491906120a7565b61109e91906120e7565b606085015260005b60ff8110156113cc576110c585878f815181106108be576108be61207b565b868e815181106110d7576110d761207b565b60200260200101818152505061112086898560128060405160200161110c92919060ff92831681529116602082015260400190565b604051602081830303815290604052610bc4565b8689815181106111325761113261207b565b60200260200101818152505061114a86898f866116bb565b604086018190526020860151108015611167575084516040860151115b156112025781868e8151811061117f5761117f61207b565b6020026020010151670de0b6b3a764000061119a91906120a7565b6111a491906120e7565b6080860151604001528551829087908a9081106111c3576111c361207b565b6020026020010151670de0b6b3a76400006111de91906120a7565b6111e891906120e7565b6080860180516020019190915260408601519051526112b8565b8460200151856040015110801561121d575084516040860151105b156112b85781868e815181106112355761123561207b565b6020026020010151670de0b6b3a764000061125091906120a7565b61125a91906120e7565b608086015160a001528551829087908a9081106112795761127961207b565b6020026020010151670de0b6b3a764000061129491906120a7565b61129e91906120e7565b608080870180519091019190915260408601519051606001525b608085015160a08101516040909101516112d29082612109565b878f815181106112e4576112e461207b565b60200260200101516112f691906120a7565b61130091906120e7565b60608601526040850151602086018190528551101561139a5784516020860151600a9161132c91612109565b1161139557868d815181106113435761134361207b565b602002602001015160126113579190612109565b61136290600a61228b565b868e815181106113745761137461207b565b602002602001015161138691906120e7565b98505050505050505050611425565b6113c4565b60208501518551600a916113ad91612109565b116113c457868d815181106113435761134361207b565b6001016110a6565b5060405162461bcd60e51b815260206004820152602760248201527f4e6f6e20636f6e76657267656e63653a2063616c635265736572766541745261604482015266074696f537761760cc1b60648201526084016104f5565b95945050505050565b6060600080838060200190518101906114479190612297565b915091508160000361145857601291505b80600003611464575060125b60128211806114735750601281115b156114915760405163686d360760e01b815260040160405180910390fd5b604080516002808252606082018352909160208301908036833701905050925081836000815181106114c5576114c561207b565b60200260200101818152505080836001815181106114e5576114e561207b565b6020026020010181815250505050919050565b620f42405b9392505050565b604080516002808252606080830184529260208301908036833701905050905061154b8686600081811061153a5761153a61207b565b8a926020909102013590508661198b565b8160008151811061155e5761155e61207b565b6020026020010181815250506115808686600181811061153a5761153a61207b565b816001815181106115935761159361207b565b6020026020010181815250509695505050505050565b6040805160028082526060808301845292602083019080368337019050509050816000815181106115dc576115dc61207b565b602002602001015160126115f09190612109565b6115fb90600a61228b565b8360008151811061160e5761160e61207b565b602002602001015161162091906120a7565b816000815181106116335761163361207b565b602002602001018181525050816001815181106116525761165261207b565b602002602001015160126116669190612109565b61167190600a61228b565b836001815181106116845761168461207b565b602002602001015161169691906120a7565b816001815181106116a9576116a961207b565b60200260200101818152505092915050565b604080516002808252606082018352600092839291906020830190803683370190505090508585815181106116f2576116f261207b565b602002602001015181868151811061170c5761170c61207b565b602002602001018181525050620f424086858151811061172e5761172e61207b565b602002602001015161174091906120be565b8185815181106117525761175261207b565b60200260200101818152505061178781868560128060405160200161110c92919060ff92831681529116602082015260400190565b8186815181106117995761179961207b565b60200260200101516117ab9190612109565b9695505050505050565b60008183036117c6575060006104fe565b60008284116117de576117d98484612109565b6117e8565b6117e88385612109565b9050600060026117f885876120be565b61180291906120e7565b9050806118108360646120a7565b61182290670de0b6b3a76400006120a7565b61142591906120e7565b600082602001518360000151111561188f576080830151606081015190516118549190612109565b602084015184516118659190612109565b846060015161187491906120a7565b61187e91906120e7565b6118889083612109565b90506104fe565b6080830151606081015190516118a59190612109565b835160208501516118b69190612109565b84606001516118c591906120a7565b6118cf91906120e7565b61188890836120be565b6000806118e76002866120a7565b6064856118f56002876120a7565b6118ff88806120a7565b61190991906120e7565b61191391906120a7565b61191d91906120a7565b61192791906120e7565b9150846119356064866120a7565b61193f91906120e7565b61194990846120be565b9050935093915050565b600081846119628760026120a7565b61196c91906120be565b6119769190612109565b8361198187806120a7565b61182291906120be565b60008080600019858709858702925082811083820303915050806000036119c5578382816119bb576119bb6120d1565b04925050506114fd565b808411611a145760405162461bcd60e51b815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f77000000000000000000000060448201526064016104f5565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001611ae46040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b602081526000825180602084015260005b81811015611b175760208186018101516040868401015201611afa565b506000604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b7657611b76611b37565b604052919050565b600082601f830112611b8f57600080fd5b813567ffffffffffffffff811115611ba957611ba9611b37565b8060051b611bb960208201611b4d565b91825260208185018101929081019086841115611bd557600080fd5b6020860192505b838310156117ab578235825260209283019290910190611bdc565b600082601f830112611c0857600080fd5b813567ffffffffffffffff811115611c2257611c22611b37565b611c35601f8201601f1916602001611b4d565b818152846020838601011115611c4a57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215611c7a57600080fd5b823567ffffffffffffffff811115611c9157600080fd5b611c9d85828601611b7e565b925050602083013567ffffffffffffffff811115611cba57600080fd5b611cc685828601611bf7565b9150509250929050565b60008060008060808587031215611ce657600080fd5b843567ffffffffffffffff811115611cfd57600080fd5b611d0987828801611b7e565b9450506020850135925060408501359150606085013567ffffffffffffffff811115611d3457600080fd5b611d4087828801611bf7565b91505092959194509250565b60008083601f840112611d5e57600080fd5b50813567ffffffffffffffff811115611d7657600080fd5b6020830191508360208260051b8501011115611d9157600080fd5b9250929050565b60008083601f840112611daa57600080fd5b50813567ffffffffffffffff811115611dc257600080fd5b602083019150836020828501011115611d9157600080fd5b60008060008060008060006080888a031215611df557600080fd5b873567ffffffffffffffff811115611e0c57600080fd5b611e188a828b01611d4c565b90985096505060208801359450604088013567ffffffffffffffff811115611e3f57600080fd5b611e4b8a828b01611d4c565b909550935050606088013567ffffffffffffffff811115611e6b57600080fd5b611e778a828b01611d98565b989b979a50959850939692959293505050565b600080600080600060808688031215611ea257600080fd5b853567ffffffffffffffff811115611eb957600080fd5b611ec588828901611b7e565b95505060208601359350604086013567ffffffffffffffff811115611ee957600080fd5b611ef588828901611b7e565b935050606086013567ffffffffffffffff811115611f1257600080fd5b611f1e88828901611d98565b969995985093965092949392505050565b600060208284031215611f4157600080fd5b813567ffffffffffffffff811115611f5857600080fd5b610d5584828501611bf7565b602080825282518282018190526000918401906040840190835b81811015611f9c578351835260209384019390920191600101611f7e565b509095945050505050565b600080600060408486031215611fbc57600080fd5b83359250602084013567ffffffffffffffff811115611fda57600080fd5b611fe686828701611d98565b9497909650939450505050565b6000806000806000806080878903121561200c57600080fd5b86359550602087013567ffffffffffffffff81111561202a57600080fd5b61203689828a01611d4c565b90965094505060408701359250606087013567ffffffffffffffff81111561205d57600080fd5b61206989828a01611d98565b979a9699509497509295939492505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104fe576104fe612091565b808201808211156104fe576104fe612091565b634e487b7160e01b600052601260045260246000fd5b60008261210457634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104fe576104fe612091565b600060e082840312801561212f57600080fd5b5060405160009060e0810167ffffffffffffffff8111828210171561215657612156611b37565b604090815284518252602080860151908301528481015190820152606080850151908201526080808501519082015260a0808501519082015260c09384015193810193909352509092915050565b6001815b60018411156121df578085048111156121c3576121c3612091565b60018416156121d157908102905b60019390931c9280026121a8565b935093915050565b6000826121f6575060016104fe565b81612203575060006104fe565b816001811461221957600281146122235761223f565b60019150506104fe565b60ff84111561223457612234612091565b50506001821b6104fe565b5060208310610133831016604e8410600b8410161715612262575081810a6104fe565b61226f60001984846121a4565b806000190482111561228357612283612091565b029392505050565b60006114fd83836121e7565b600080604083850312156122aa57600080fd5b50508051602090910151909290915056fea26469706673582212205b789bc84edfcc57b3602fafb56ddc3c32e4da54c808ad6229bdbe3048ff947f64736f6c634300081c0033000000000000000000000000ba510a1eb7262853cdf910db2f6e4d1ee9457196