0 txs
52 calls
constructor
constructor((string description, address baseAssetAddress, uint8 baseAssetDecimals, address quoteAssetAddress, uint8 quoteAssetDecimals) baseParams, address _pendleOracle, address _pendleMarket, uint32 _twapDuration)
functions
assetScalingFactor
viewfunction assetScalingFactor() view returns (uint256)
baseAsset
viewfunction baseAsset() view returns (address)
convertAmount
viewfunction convertAmount(address fromAsset, uint256 fromAssetAmount, uint8 priceType, uint8 roundingMode) view returns (uint256 toAssetAmount)
decimals
viewfunction decimals() view returns (uint8)
description
viewfunction description() view returns (string)
latestPrice
viewfunction latestPrice(uint8, uint8) view returns (uint256 price)
latestPrices
viewfunction latestPrices(uint8 priceType1, uint8 roundingMode1, uint8 priceType2, uint8 roundingMode2) view returns (uint256, uint256, address, address)
matchAssets
viewfunction matchAssets(address asset1, address asset2) view returns (bool)
pendleMarket
viewfunction pendleMarket() view returns (address)
precision
viewfunction precision() view returns (uint256)
quoteAsset
viewfunction quoteAsset() view returns (address)
twapDuration
viewfunction twapDuration() view returns (uint32)
events
ValidPriceRangeSet
event ValidPriceRangeSet(uint128 validFloor, uint128 validCeiling)
errors
AboveMaxValidRange
error AboveMaxValidRange(address oracle, uint256 price, uint128 ceiling)
BelowMinValidRange
error BelowMinValidRange(address oracle, uint256 price, uint128 floor)
InvalidOracleData
error InvalidOracleData(address oracle)
InvalidParam
error InvalidParam()
InvalidPrice
error InvalidPrice(address oracle, int256 price)
InvalidToken
error InvalidToken(address token)
PRBMath_MulDiv_Overflow
error PRBMath_MulDiv_Overflow(uint256 x, uint256 y, uint256 denominator)
StalePrice
error StalePrice(address oracle, uint256 lastUpdatedAt, int256 price)
UninitializedPendleOracle
error UninitializedPendleOracle()
UnknownPriceType
error UnknownPriceType(uint8 priceType)
creation bytecode
0x61012060405234801562000011575f80fd5b50604051620020e4380380620020e483398101604081905262000034916200024b565b835184905f9062000046908262000432565b5060208101516001600160a01b0390811660805260608201511660a05260408101516200007590601262000512565b60ff16816080015160ff161115620000a057604051633494a40d60e21b815260040160405180910390fd5b60808101516040820151620000b790601262000512565b620000c3919062000534565b620000d090600a62000649565b60c052506001600160a01b0382811660e081905263ffffffff831661010081905260405162439f4b60e91b8152600481019290925260248201525f9182919086169063873e960090604401606060405180830381865afa15801562000137573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200015d919062000670565b925050915081806200016d575080155b156200018c57604051636efece6560e01b815260040160405180910390fd5b505050505050620006be565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715620001d157620001d162000198565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000202576200020262000198565b604052919050565b80516001600160a01b038116811462000221575f80fd5b919050565b805160ff8116811462000221575f80fd5b805163ffffffff8116811462000221575f80fd5b5f805f80608085870312156200025f575f80fd5b84516001600160401b038082111562000276575f80fd5b9086019060a082890312156200028a575f80fd5b62000294620001ac565b825182811115620002a3575f80fd5b8301601f81018a13620002b4575f80fd5b805183811115620002c957620002c962000198565b60209350620002e1601f8201601f19168501620001d7565b8181528b85838501011115620002f5575f80fd5b5f5b8281101562000314578381018601518282018701528501620002f7565b505f8583830101528084525050506200032f8284016200020a565b82820152620003416040840162000226565b604082015262000354606084016200020a565b6060820152620003676080840162000226565b608082015295506200037b8782016200020a565b945050506200038d604086016200020a565b91506200039d6060860162000237565b905092959194509250565b600181811c90821680620003bd57607f821691505b602082108103620003dc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200042d57805f5260205f20601f840160051c81016020851015620004095750805b601f840160051c820191505b818110156200042a575f815560010162000415565b50505b505050565b81516001600160401b038111156200044e576200044e62000198565b62000466816200045f8454620003a8565b84620003e2565b602080601f8311600181146200049c575f8415620004845750858301515b5f19600386901b1c1916600185901b178555620004f6565b5f85815260208120601f198616915b82811015620004cc57888601518255948401946001909101908401620004ab565b5085821015620004ea57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200052e576200052e620004fe565b92915050565b60ff82811682821603908111156200052e576200052e620004fe565b600181815b808511156200059057815f1904821115620005745762000574620004fe565b808516156200058257918102915b93841c939080029062000555565b509250929050565b5f82620005a8575060016200052e565b81620005b657505f6200052e565b8160018114620005cf5760028114620005da57620005fa565b60019150506200052e565b60ff841115620005ee57620005ee620004fe565b50506001821b6200052e565b5060208310610133831016604e8410600b84101617156200061f575081810a6200052e565b6200062b838362000550565b805f1904821115620006415762000641620004fe565b029392505050565b5f6200065960ff84168362000598565b9392505050565b8051801515811462000221575f80fd5b5f805f6060848603121562000683575f80fd5b6200068e8462000660565b9250602084015161ffff81168114620006a5575f80fd5b9150620006b56040850162000660565b90509250925092565b60805160a05160c05160e051610100516119956200074f5f395f818160d8015261072201525f8181610202015261070001525f81816101b801528181610417015261051101525f8181610297015281816102fb01528181610446015281816105e2015261068e01525f8181610261015281816102d8015281816103b20152818161058c015261063801526119955ff3fe608060405234801561000f575f80fd5b50600436106100cf575f3560e01c8063950212801161007d578063cdf456e111610058578063cdf456e11461025c578063d3b5dc3b14610283578063fdf262b714610292575f80fd5b806395021280146101da57806399d9a71f146101fd578063c6845a0914610249575f80fd5b80637284e416116100ad5780637284e4161461017d5780637349615f146101925780638fc5e88d146101b3575f80fd5b806326d89545146100d3578063313ce56714610114578063699945111461012e575b5f80fd5b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b61011c601281565b60405160ff909116815260200161010b565b61014161013c366004611402565b6102b9565b60408051948552602085019390935273ffffffffffffffffffffffffffffffffffffffff9182169284019290925216606082015260800161010b565b610185610324565b60405161010b919061145b565b6101a56101a03660046114e6565b6103af565b60405190815260200161010b565b6101a57f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6101e836600461151b565b610589565b604051901515815260200161010b565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b6101a5610257366004611552565b6106e5565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b6101a5670de0b6b3a764000081565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b5f805f806102c788886106e5565b6102d187876106e5565b90999098507f000000000000000000000000000000000000000000000000000000000000000097507f00000000000000000000000000000000000000000000000000000000000000009650945050505050565b5f80546103309061157e565b80601f016020809104026020016040519081016040528092919081815260200182805461035c9061157e565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610444575f61040e84846106e5565b905061043c85827f000000000000000000000000000000000000000000000000000000000000000086610746565b915050610581565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610537575f6104c28460018560018111156104b0576104b06115cf565b146104bc5760016106e5565b5f6106e5565b9050805f0361050b576040517fdcd07d4f000000000000000000000000000000000000000000000000000000008152306004820152602481018290526044015b60405180910390fd5b61043c857f00000000000000000000000000000000000000000000000000000000000000008386610746565b6040517f961c9a4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152602401610502565b949350505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561063057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806106dc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156106dc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b90505b92915050565b5f6106dc73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006107f6565b5f610752858585610840565b90506001826001811115610768576107686115cf565b0361058157828061077b5761077b6115fc565b84860915610581577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107b357600101610581565b6040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260448101849052606401610502565b5f805f6108028561094d565b91509150808210610820576108178585610bba565b925050506106df565b808261082c8787610bba565b6108369190611656565b610817919061166d565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050805f036108965783828161088c5761088c6115fc565b0492505050610946565b8381106108e0576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610502565b5f848688098519600190810187169687900496828603819004959092119093035f82900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b5f805f808473ffffffffffffffffffffffffffffffffffffffff16632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561099a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109be9190611680565b92505091508173ffffffffffffffffffffffffffffffffffffffff16633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3091906116ca565b93505f8173ffffffffffffffffffffffffffffffffffffffff1663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa091906116ca565b90508173ffffffffffffffffffffffffffffffffffffffff1663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aeb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0f91906116e1565b8015610b985750438273ffffffffffffffffffffffffffffffffffffffff166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b849190611700565b6fffffffffffffffffffffffffffffffff16145b15610ba557809350610bb2565b610baf8582610c96565b93505b505050915091565b5f808373ffffffffffffffffffffffffffffffffffffffff1663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2991906116ca565b9050428111610c4357670de0b6b3a76400009150506106df565b5f610c4e8585610cab565b90505f610c5b428461172f565b90505f610c70610c6b8484610e22565b610e5a565b9050610c84670de0b6b3a764000082610e6b565b9450505050506106df565b5092915050565b5f818311610ca457816106dc565b5090919050565b6040805160028082526060820183525f928392919060208301908036833701905050905082815f81518110610ce257610ce261176f565b63ffffffff909216602092830291909101909101526040517f883bdbfd0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff86169063883bdbfd90610d4b90859060040161179c565b5f60405180830381865afa158015610d65573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610daa9190810190611814565b90508363ffffffff16815f81518110610dc557610dc561176f565b602002602001015182600181518110610de057610de061176f565b6020026020010151610df291906118f2565b610dfc9190611926565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b5f80610e336201518061016d611656565b610e3d8486611656565b610e47919061166d565b9050610581610e5582610e99565b610ec6565b5f80821215610e67575f80fd5b5090565b5f80610e7f670de0b6b3a764000085611656565b9050828181610e9057610e906115fc565b04949350505050565b5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115610e67575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008212158015610f00575068070c1cc73b00c800008213155b610f66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152606401610502565b5f821215610f9d57610f79825f03610ec6565b6ec097ce7bc90715b34b9f100000000081610f9657610f966115fc565b0592915050565b5f6806f05b59d3b20000008312610ff257507ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e00000090910190770195e54c5dd42177f53a27172fa9ec63026282700000000061103e565b6803782dace9d9000000831261103a57507ffffffffffffffffffffffffffffffffffffffffffffffffc87d2531627000000909101906b1425982cf597cd205cef738061103e565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110a4577fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000009093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126110f6577fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000009093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611146577fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000009093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611196577fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000009093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126111e5577ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000009093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611234577ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf000009093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611283577ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e7800009093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126112d2577ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c00009093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600281106113ff575f80fd5b50565b5f805f8060808587031215611415575f80fd5b8435611420816113f3565b93506020850135611430816113f3565b92506040850135611440816113f3565b91506060850135611450816113f3565b939692955090935050565b5f602080835283518060208501525f5b818110156114875785810183015185820160400152820161146b565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146113ff575f80fd5b5f805f80608085870312156114f9575f80fd5b8435611504816114c5565b9350602085013592506040850135611440816113f3565b5f806040838503121561152c575f80fd5b8235611537816114c5565b91506020830135611547816114c5565b809150509250929050565b5f8060408385031215611563575f80fd5b823561156e816113f3565b91506020830135611547816113f3565b600181811c9082168061159257607f821691505b6020821081036115c9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820281158282048414176106df576106df611629565b5f8261167b5761167b6115fc565b500490565b5f805f60608486031215611692575f80fd5b835161169d816114c5565b60208501519093506116ae816114c5565b60408501519092506116bf816114c5565b809150509250925092565b5f602082840312156116da575f80fd5b5051919050565b5f602082840312156116f1575f80fd5b81518015158114610946575f80fd5b5f60208284031215611710575f80fd5b81516fffffffffffffffffffffffffffffffff81168114610946575f80fd5b818103818111156106df576106df611629565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825282518282018190525f9190848201906040850190845b818110156117d957835163ffffffff16835292840192918401916001016117b7565b50909695505050505050565b80517affffffffffffffffffffffffffffffffffffffffffffffffffffff8116811461180f575f80fd5b919050565b5f6020808385031215611825575f80fd5b825167ffffffffffffffff8082111561183c575f80fd5b818501915085601f83011261184f575f80fd5b81518181111561186157611861611742565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156118a4576118a4611742565b6040529182528482019250838101850191888311156118c1575f80fd5b938501935b828510156118e6576118d7856117e5565b845293850193928501926118c6565b98975050505050505050565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff828116828216039080821115610c8f57610c8f611629565b5f7affffffffffffffffffffffffffffffffffffffffffffffffffffff80841680611953576119536115fc565b9216919091049291505056fea264697066735822122057542b8da54b4a19e5a31671cde18352035dc91e2608666ea1080b20fc163e5964736f6c6343000816003300000000000000000000000000000000000000000000000000000000000000800000000000000000000000009a9fa8338dd5e5b2188006f1cd2ef26d921650c200000000000000000000000070b70ac0445c3ef04e314dfda6caafd825428221000000000000000000000000000000000000000000000000000000000000038400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ec5a52c685cc3ad79a6a347abace330d69e0b1ed00000000000000000000000000000000000000000000000000000000000000080000000000000000000000008236a87084f8b84306f72007f36f2618a56344940000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001450542d4c4254432d4d6172323032352f4c425443000000000000000000000000