0 txs
179 calls
constructor
No constructor.
functions
getMillionUsdPrice
viewfunction getMillionUsdPrice(address token, uint256 lookback) view returns (uint256)
getRatiosAndBeanIndex
viewfunction getRatiosAndBeanIndex(address[] tokens, uint256 lookback) view returns (uint256[] ratios, uint256 beanIndex, bool success)
getTokenUsdPrice
viewfunction getTokenUsdPrice(address token) view returns (uint256)
getTokenUsdPriceFromExternal
viewfunction getTokenUsdPriceFromExternal(address token, uint256 lookback) view returns (uint256 tokenUsd)
getTokenUsdTwap
viewfunction getTokenUsdTwap(address token, uint256 lookback) view returns (uint256)
getUsdTokenPrice
viewfunction getUsdTokenPrice(address token) view returns (uint256)
getUsdTokenPriceFromExternal
viewfunction getUsdTokenPriceFromExternal(address token, uint256 lookback) view returns (uint256 usdToken)
getUsdTokenTwap
viewfunction getUsdTokenTwap(address token, uint256 lookback) view returns (uint256)
events
No events.
errors
SafeCastOverflowedIntDowncast
error SafeCastOverflowedIntDowncast(uint8 bits, int256 value)
T
error T()
creation bytecode
0x6080604052348015600f57600080fd5b5061225c8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100775760003560e01c8062593bcf1461007c578063052c3990146100a2578063054ce3bd146100c4578063399ff0b5146100d75780638b7750c2146100ea578063c4c5140f146100fd578063d48274a014610110578063dd455fbf14610123575b600080fd5b61008f61008a366004611ab0565b610136565b6040519081526020015b60405180910390f35b6100b56100b0366004611b38565b610149565b60405161009993929190611bdd565b61008f6100d2366004611c31565b610166565b61008f6100e5366004611c31565b61017b565b61008f6100f8366004611ab0565b6101ec565b61008f61010b366004611c31565b6101f9565b61008f61011e366004611c31565b610205565b61008f610131366004611c31565b610211565b6000610143826000610166565b92915050565b6060600080610158858561021d565b919790965090945092505050565b60006101748360008461023d565b9392505050565b600061017483846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e39190611c5d565b60ff168461023d565b600061014382600061017b565b60006101748383610166565b60006101748383610254565b6000610174838361017b565b60606000806102308585620f42406102c7565b9250925092509250925092565b600061024c84848460006105ed565b949350505050565b600061017483846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102bc9190611c5d565b60ff168460016105ed565b60606000808060019150865167ffffffffffffffff8111156102eb576102eb611acd565b604051908082528060200260200182016040528015610314578160200160208202803683370190505b50600182015490945060001993506000906001600160a01b0316815b895181101561040557816001600160a01b03168a828151811061035557610355611c80565b60200260200101516001600160a01b031603610373578095506103fd565b60088a828151811061038757610387611c80565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f09190611c5d565b60ff16116103fd57600192505b600101610330565b5060005b895181101561054557816001600160a01b03168a828151811061042e5761042e611c80565b60200260200101516001600160a01b0316036104895782156104735764e8d4a5100087828151811061046257610462611c80565b60200260200101818152505061053d565b620f424087828151811061046257610462611c80565b82156104d5576104b28a82815181106104a4576104a4611c80565b60200260200101518a610254565b8782815181106104c4576104c4611c80565b602002602001018181525050610517565b6104f88a82815181106104ea576104ea611c80565b60200260200101518a61017b565b87828151811061050a5761050a611c80565b6020026020010181815250505b86818151811061052957610529611c80565b602002602001015160000361053d57600094505b600101610409565b5060001985036105905760405162461bcd60e51b81526020600482015260116024820152702132b0b7103737ba1034b7102bb2b6361760791b60448201526064015b60405180910390fd5b86620f42408787815181106105a7576105a7611c80565b60200260200101516105b99190611cac565b6105c39190611cd9565b8686815181106105d5576105d5611c80565b60200260200101818152505050505093509350939050565b6001600160a01b038481166000908152602260209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b0319169082015260018301805492938493849392606084019161066790611ced565b80601f016020809104026020016040519081016040528092919081815260200182805461069390611ced565b80156106e05780601f106106b5576101008083540402835291602001916106e0565b820191906000526020600020905b8154815290600101906020018083116106c357829003601f168201915b5050509190925250505060408101519091506001600160f81b0319908116016107345761072b816000015182606001518060200190518101906107239190611d27565b888888610c2f565b9250505061024c565b60408101516001600160f81b031916607f60f91b01610b0f57600081600001516001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b59190611d40565b9050876001600160a01b0316816001600160a01b0316036108395781600001516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108369190611d40565b90505b6108d38615610848578661084c565b6103845b83518a848b15610866576108618c600a611e39565b610c62565b8c6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c5d565b61086190600a611e45565b6001600160a01b0382811660009081526022860160209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b031916908201526001830180549498509193909291606084019161095090611ced565b80601f016020809104026020016040519081016040528092919081815260200182805461097c90611ced565b80156109c95780601f1061099e576101008083540402835291602001916109c9565b820191906000526020600020905b8154815290600101906020018083116109ac57829003601f168201915b50505050508152505090506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190611c5d565b60ff1690506000610a7583600001518460600151806020019051810190610a5f9190611d27565b8c15610a6b5784610a6d565b8c5b8c6000610c2f565b90508915610b01578715610aaf5786610a8f8b600a611e39565b610a9e9064e8d4a51000611cac565b610aa89190611cd9565b9650610ad5565b86610abb8b600a611e39565b610ac890620f4240611cac565b610ad29190611cd9565b96505b610ae082600a611e39565b610aea8289611cac565b610af49190611cd9565b965050505050505061024c565b620f4240610aea8289611cac565b80516001600160a01b0316610b295760009250505061024c565b60608101518415610b5d57816060015185604051602001610b4b929190611e78565b60405160208183030381529060405290505b60008083600001516001600160a01b031684602001518a8a86604051602401610b8893929190611ea0565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610bc69190611ee1565b600060405180830381855afa9150503d8060008114610c01576040519150601f19603f3d011682016040523d82523d6000602084013e610c06565b606091505b509150915081610c1e5760009550505050505061024c565b602001519998505050505050505050565b6000808311610c4957610c4486868685610e20565b610c56565b610c568686868686610fae565b90505b95945050505050565b6000806000610c7187896112ae565b9150915081610c8557600092505050610c59565b610c918185888861147c565b92506000866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf79190611c5d565b60ff1690506000866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d609190611c5d565b60ff1690506000610d718284611efd565b905080600003610da957610d8683600a611e39565b610d93620f424088611cac565b610d9d9190611cd9565b95505050505050610c59565b6000811315610dce57610dbd81600a611e39565b610dc79087611cac565b9550610def565b610dd781611f24565b610de290600a611e39565b610dec9087611cd9565b95505b610dfa83600a611e39565b610e07620f424088611cac565b610e119190611cd9565b9b9a5050505050505050505050565b6000808590506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e82575060408051601f3d908101601f19168201909252610e7f91810190611c5d565b60015b610e915760009250505061024c565b9050816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015610eed575060408051601f3d908101601f19168201909252610eea91810190611f57565b60015b610efc5760009250505061024c565b846001600160501b0316600003610f1d57600097505050505050505061024c565b610f298285428e611585565b15610f3e57600097505050505050505061024c565b8915610f81578815610f5857610f558a6006611fa7565b99505b610f7a84610f6960ff89168d611fa7565b610f7490600a611e39565b906115d4565b9750610f9f565b610f9c610f8f87600a611e45565b610f7486620f42406115e0565b97505b50505050505050949350505050565b600080866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561100b575060408051601f3d908101601f1916820190925261100891810190611c5d565b60015b611019576000915050610c59565b9050866001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015611075575060408051601f3d908101601f1916820190925261107291810190611f57565b60015b611083576000915050610c59565b846001600160501b03166000036110a35760009650505050505050610c59565b6110af8285428e611585565b156110c35760009650505050505050610c59565b6110e760405180606001604052806000815260200160008152602001600081525090565b6110f1428b6115ec565b6020820152881561110a576111078b6006611fa7565b9a505b80602001518311611155578a1561113a5761112c85610f6960ff8a168e611fa7565b975050505050505050610c59565b61112c61114888600a611e45565b610f7487620f42406115e0565b4260408201525b8060200151831115611212578a15611194578461117c60ff89168d611fa7565b61118790600a611e39565b6111919190611cd9565b94505b6111c06111b86111b18584604001516115ec90919063ffffffff16565b87906115e0565b8251906115f8565b81526111cd600187611fba565b6040820184905295506111e08d87611604565b80945081965050506111f8838683604001518f611585565b1561120d576000975050505050505050610c59565b61115c565b8a1561123e578461122660ff89168d611fa7565b61123190600a611e39565b61123b9190611cd9565b94505b61125f6111b86111b1836020015184604001516115ec90919063ffffffff16565b81528a1561127a578051611273908b6115d4565b975061129e565b61129b8a610f7461128c8a600a611e45565b8451610f7490620f42406115e0565b97505b5050505050505095945050505050565b6000808263ffffffff166000036112ec5760405162461bcd60e51b8152602060048201526002602482015261042560f41b6044820152606401610587565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061132157611321611c80565b602002602001019063ffffffff16908163ffffffff168152505060008160018151811061135057611350611c80565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526001600160a01b0386169063883bdbfd90611391908490600401611fda565b600060405180830381865afa9250505080156113cf57506040513d6000823e601f3d908101601f191682016040526113cc9190810190612097565b60015b15611474576000826000815181106113e9576113e9611c80565b60200260200101518360018151811061140457611404611c80565b60200260200101516114169190612163565b905061143361142b63ffffffff891683612190565b60060b611699565b945060008160060b128015611459575061145363ffffffff8816826121ce565b60060b15155b1561146c5784611468816121f0565b9550505b600195505050505b509250929050565b600080611488866116cd565b90506001600160801b036001600160a01b0382161161150e5760006114b66001600160a01b03831680611cac565b9050836001600160a01b0316856001600160a01b0316106114ee576114e9600160c01b876001600160801b0316836119e6565b611506565b61150681876001600160801b0316600160c01b6119e6565b92505061157c565b60006115286001600160a01b03831680600160401b6119e6565b9050836001600160a01b0316856001600160a01b0316106115605761155b600160801b876001600160801b0316836119e6565b611578565b61157881876001600160801b0316600160801b6119e6565b9250505b50949350505050565b600084158061159357508285115b156115a05750600161024c565b816115ab84876115ec565b11156115b95750600161024c565b600084136115c95750600161024c565b506000949350505050565b60006101748284611cd9565b60006101748284611cac565b60006101748284612213565b60006101748284611fa7565b604051639a6fc8f560e01b81526001600160501b038216600482015260009081906001600160a01b03851690639a6fc8f59060240160a060405180830381865afa925050508015611672575060408051601f3d908101601f1916820190925261166f91810190611f57565b60015b611683575060001990506000611692565b50919450909250611692915050565b9250929050565b80600281900b81146116c85760405163327269a760e01b81526018600482015260248101839052604401610587565b919050565b60008060008360020b126116e4578260020b6116ec565b8260020b6000035b9050620d89e8811115611712576040516315e4079d60e11b815260040160405180910390fd5b60008160011660000361172957600160801b61173b565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b031690506002821615611765576ffff97272373d413259a46990580e213a0260801c5b6004821615611784576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156117a3576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156117c2576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156117e1576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611800576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561181f576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561183f576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561185f576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561187f576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561189f576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156118bf576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156118df576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156118ff576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561191f576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611940576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611960576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561197f576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561199c576b048a170391f7dc42444e8fa20260801c5b60008460020b13156119bd5780600019816119b9576119b9611cc3565b0490505b6401000000008106156119d15760016119d4565b60005b60ff16602082901c0192505050919050565b6000808060001985870985870292508281108382030391505080600003611a1f5760008411611a1457600080fd5b508290049050610174565b808411611a2b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6001600160a01b0381168114611aad57600080fd5b50565b600060208284031215611ac257600080fd5b813561017481611a98565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b0c57611b0c611acd565b604052919050565b600067ffffffffffffffff821115611b2e57611b2e611acd565b5060051b60200190565b60008060408385031215611b4b57600080fd5b823567ffffffffffffffff811115611b6257600080fd5b8301601f81018513611b7357600080fd5b80356020611b88611b8383611b14565b611ae3565b82815260059290921b83018101918181019088841115611ba757600080fd5b938201935b83851015611bce578435611bbf81611a98565b82529382019390820190611bac565b98969091013596505050505050565b606080825284519082018190526000906020906080840190828801845b82811015611c1657815184529284019290840190600101611bfa565b50505060208401959095525050901515604090910152919050565b60008060408385031215611c4457600080fd5b8235611c4f81611a98565b946020939093013593505050565b600060208284031215611c6f57600080fd5b815160ff8116811461017457600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761014357610143611c96565b634e487b7160e01b600052601260045260246000fd5b600082611ce857611ce8611cc3565b500490565b600181811c90821680611d0157607f821691505b602082108103611d2157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d3957600080fd5b5051919050565b600060208284031215611d5257600080fd5b815161017481611a98565b600181815b80851115611474578160001904821115611d7e57611d7e611c96565b80851615611d8b57918102915b93841c9390800290611d62565b600082611da757506001610143565b81611db457506000610143565b8160018114611dca5760028114611dd457611df0565b6001915050610143565b60ff841115611de557611de5611c96565b50506001821b610143565b5060208310610133831016604e8410600b8410161715611e13575081810a610143565b611e1d8383611d5d565b8060001904821115611e3157611e31611c96565b029392505050565b60006101748383611d98565b600061017460ff841683611d98565b60005b83811015611e6f578181015183820152602001611e57565b50506000910152565b60008351611e8a818460208801611e54565b92151560f81b9190920190815260010192915050565b8381528260208201526060604082015260008251806060840152611ecb816080850160208701611e54565b601f01601f191691909101608001949350505050565b60008251611ef3818460208701611e54565b9190910192915050565b8181036000831280158383131683831282161715611f1d57611f1d611c96565b5092915050565b6000600160ff1b8201611f3957611f39611c96565b5060000390565b80516001600160501b03811681146116c857600080fd5b600080600080600060a08688031215611f6f57600080fd5b611f7886611f40565b9450602086015193506040860151925060608601519150611f9b60808701611f40565b90509295509295909350565b8082018082111561014357610143611c96565b6001600160501b03828116828216039080821115611f1d57611f1d611c96565b6020808252825182820181905260009190848201906040850190845b8181101561201857835163ffffffff1683529284019291840191600101611ff6565b50909695505050505050565b600082601f83011261203557600080fd5b81516020612045611b8383611b14565b8083825260208201915060208460051b87010193508684111561206757600080fd5b602086015b8481101561208c57805161207f81611a98565b835291830191830161206c565b509695505050505050565b600080604083850312156120aa57600080fd5b825167ffffffffffffffff808211156120c257600080fd5b818501915085601f8301126120d657600080fd5b815160206120e6611b8383611b14565b82815260059290921b8401810191818101908984111561210557600080fd5b948201945b838610156121335785518060060b81146121245760008081fd5b8252948201949082019061210a565b9188015191965090935050508082111561214c57600080fd5b5061215985828601612024565b9150509250929050565b600682810b9082900b03667fffffffffffff198112667fffffffffffff8213171561014357610143611c96565b60008160060b8360060b806121a7576121a7611cc3565b667fffffffffffff198214600019821416156121c5576121c5611c96565b90059392505050565b60008260060b806121e1576121e1611cc3565b808360060b0791505092915050565b60008160020b627fffff19810361220957612209611c96565b6000190192915050565b8181038181111561014357610143611c9656fea2646970667358221220f2080020a2456f87e4677fb0c762c5966ae590b5fc330edecb376cbc92315f5f64736f6c63430008190033