0 txs
159 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
0x6101206040523480156200001257600080fd5b506040516200218038038062002180833981016040819052620000359162000255565b835184906000906200004890826200044d565b5060208101516001600160a01b0390811660805260608201511660a0526040810151620000779060126200052f565b60ff16816080015160ff161115620000a257604051633494a40d60e21b815260040160405180910390fd5b60808101516040820151620000b99060126200052f565b620000c5919062000551565b620000d290600a6200066a565b60c052506001600160a01b0382811660e081905263ffffffff831661010081905260405162439f4b60e91b81526004810192909252602482015260009182919086169063873e960090604401606060405180830381865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000162919062000693565b9250509150818062000172575080155b156200019157604051636efece6560e01b815260040160405180910390fd5b505050505050620006e5565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715620001d857620001d86200019d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200020957620002096200019d565b604052919050565b80516001600160a01b03811681146200022957600080fd5b919050565b805160ff811681146200022957600080fd5b805163ffffffff811681146200022957600080fd5b600080600080608085870312156200026c57600080fd5b84516001600160401b03808211156200028457600080fd5b9086019060a082890312156200029957600080fd5b620002a3620001b3565b825182811115620002b357600080fd5b8301601f81018a13620002c557600080fd5b805183811115620002da57620002da6200019d565b60209350620002f2601f8201601f19168501620001de565b8181528b858385010111156200030757600080fd5b60005b82811015620003275783810186015182820187015285016200030a565b5060008583830101528084525050506200034382840162000211565b8282015262000355604084016200022e565b6040820152620003686060840162000211565b60608201526200037b608084016200022e565b608082015295506200038f87820162000211565b94505050620003a16040860162000211565b9150620003b16060860162000240565b905092959194509250565b600181811c90821680620003d157607f821691505b602082108103620003f257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000448576000816000526020600020601f850160051c81016020861015620004235750805b601f850160051c820191505b8181101562000444578281556001016200042f565b5050505b505050565b81516001600160401b038111156200046957620004696200019d565b62000481816200047a8454620003bc565b84620003f8565b602080601f831160018114620004b95760008415620004a05750858301515b600019600386901b1c1916600185901b17855562000444565b600085815260208120601f198616915b82811015620004ea57888601518255948401946001909101908401620004c9565b5085821015620005095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156200054b576200054b62000519565b92915050565b60ff82811682821603908111156200054b576200054b62000519565b600181815b80851115620005ae57816000190482111562000592576200059262000519565b80851615620005a057918102915b93841c939080029062000572565b509250929050565b600082620005c7575060016200054b565b81620005d6575060006200054b565b8160018114620005ef5760028114620005fa576200061a565b60019150506200054b565b60ff8411156200060e576200060e62000519565b50506001821b6200054b565b5060208310610133831016604e8410600b84101617156200063f575081810a6200054b565b6200064b83836200056d565b806000190482111562000662576200066262000519565b029392505050565b60006200067b60ff841683620005b6565b9392505050565b805180151581146200022957600080fd5b600080600060608486031215620006a957600080fd5b620006b48462000682565b9250602084015161ffff81168114620006cc57600080fd5b9150620006dc6040850162000682565b90509250925092565b60805160a05160c05160e05161010051611a036200077d6000396000818160de015261073401526000818161020801526107120152600081816101be01528181610424015261052101526000818161029d0152818161030301528181610453015281816105f3015261069f015260008181610267015281816102e0015281816103be0152818161059d01526106490152611a036000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639502128011610081578063cdf456e11161005b578063cdf456e114610262578063d3b5dc3b14610289578063fdf262b71461029857600080fd5b806395021280146101e057806399d9a71f14610203578063c6845a091461024f57600080fd5b80637284e416116100b25780637284e416146101835780637349615f146101985780638fc5e88d146101b957600080fd5b806326d89545146100d9578063313ce5671461011a5780636999451114610134575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b610122601281565b60405160ff9091168152602001610111565b610147610142366004611442565b6102bf565b60408051948552602085019390935273ffffffffffffffffffffffffffffffffffffffff91821692840192909252166060820152608001610111565b61018b61032c565b604051610111919061149e565b6101ab6101a636600461152d565b6103ba565b604051908152602001610111565b6101ab7f000000000000000000000000000000000000000000000000000000000000000081565b6101f36101ee366004611565565b610599565b6040519015158152602001610111565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610111565b6101ab61025d36600461159e565b6106f6565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b6101ab670de0b6b3a764000081565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806102cf88886106f6565b6102d987876106f6565b90999098507f000000000000000000000000000000000000000000000000000000000000000097507f00000000000000000000000000000000000000000000000000000000000000009650945050505050565b60008054610339906115cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610365906115cc565b80156103b25780601f10610387576101008083540402835291602001916103b2565b820191906000526020600020905b81548152906001019060200180831161039557829003601f168201915b505050505081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361045157600061041b84846106f6565b905061044985827f000000000000000000000000000000000000000000000000000000000000000086610758565b915050610591565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036105475760006104d18460018560018111156104be576104be61161f565b146104ca5760016106f6565b60006106f6565b90508060000361051b576040517fdcd07d4f000000000000000000000000000000000000000000000000000000008152306004820152602481018290526044015b60405180910390fd5b610449857f00000000000000000000000000000000000000000000000000000000000000008386610758565b6040517f961c9a4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152602401610512565b949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561064157507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806106ed57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156106ed57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b90505b92915050565b60006106ed73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610809565b6000610765858585610855565b9050600182600181111561077b5761077b61161f565b0361059157828061078e5761078e61164e565b84860915610591577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107c657600101610591565b6040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260448101849052606401610512565b600080600061081785610966565b915091508082106108355761082c8585610be0565b925050506106f0565b80826108418787610be0565b61084b91906116ac565b61082c91906116c3565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036108ad578382816108a3576108a361164e565b049250505061095f565b8381106108f7576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610512565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff16632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156109b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109db91906116d7565b92505091508173ffffffffffffffffffffffffffffffffffffffff16633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190611724565b935060008173ffffffffffffffffffffffffffffffffffffffff1663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190611724565b90508173ffffffffffffffffffffffffffffffffffffffff1663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b33919061173d565b8015610bbe5750438273ffffffffffffffffffffffffffffffffffffffff166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa919061175f565b6fffffffffffffffffffffffffffffffff16145b15610bcb57809350610bd8565b610bd58582610cc2565b93505b505050915091565b6000808373ffffffffffffffffffffffffffffffffffffffff1663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190611724565b9050428111610c6c57670de0b6b3a76400009150506106f0565b6000610c788585610cd8565b90506000610c864284611791565b90506000610c9c610c978484610e57565b610e90565b9050610cb0670de0b6b3a764000082610ea3565b9450505050506106f0565b5092915050565b6000818311610cd157816106ed565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610d1157610d116117d3565b63ffffffff909216602092830291909101909101526040517f883bdbfd00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff86169063883bdbfd90610d7b908590600401611802565b600060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dde919081019061187c565b90508363ffffffff1681600081518110610dfa57610dfa6117d3565b602002602001015182600181518110610e1557610e156117d3565b6020026020010151610e27919061195f565b610e319190611993565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b600080610e696201518061016d6116ac565b610e7384866116ac565b610e7d91906116c3565b9050610591610e8b82610ed2565b610f01565b600080821215610e9f57600080fd5b5090565b600080610eb8670de0b6b3a7640000856116ac565b9050828181610ec957610ec961164e565b04949350505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115610e9f57600080fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008212158015610f3c575068070c1cc73b00c800008213155b610fa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152606401610512565b6000821215610fdb57610fb782600003610f01565b6ec097ce7bc90715b34b9f100000000081610fd457610fd461164e565b0592915050565b60006806f05b59d3b2000000831261103157507ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e00000090910190770195e54c5dd42177f53a27172fa9ec63026282700000000061107d565b6803782dace9d9000000831261107957507ffffffffffffffffffffffffffffffffffffffffffffffffc87d2531627000000909101906b1425982cf597cd205cef738061107d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110e3577fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000009093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611135577fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000009093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611185577fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000009093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126111d5577fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000009093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611224577ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000009093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611273577ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf000009093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126112c2577ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e7800009093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611311577ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c00009093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6002811061143f57600080fd5b50565b6000806000806080858703121561145857600080fd5b843561146381611432565b9350602085013561147381611432565b9250604085013561148381611432565b9150606085013561149381611432565b939692955090935050565b60006020808352835180602085015260005b818110156114cc578581018301518582016040015282016114b0565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461143f57600080fd5b6000806000806080858703121561154357600080fd5b843561154e8161150b565b935060208501359250604085013561148381611432565b6000806040838503121561157857600080fd5b82356115838161150b565b915060208301356115938161150b565b809150509250929050565b600080604083850312156115b157600080fd5b82356115bc81611432565b9150602083013561159381611432565b600181811c908216806115e057607f821691505b602082108103611619577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176106f0576106f061167d565b6000826116d2576116d261164e565b500490565b6000806000606084860312156116ec57600080fd5b83516116f78161150b565b60208501519093506117088161150b565b60408501519092506117198161150b565b809150509250925092565b60006020828403121561173657600080fd5b5051919050565b60006020828403121561174f57600080fd5b8151801515811461095f57600080fd5b60006020828403121561177157600080fd5b81516fffffffffffffffffffffffffffffffff8116811461095f57600080fd5b818103818111156106f0576106f061167d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561184057835163ffffffff168352928401929184019160010161181e565b50909695505050505050565b80517affffffffffffffffffffffffffffffffffffffffffffffffffffff8116811461187757600080fd5b919050565b6000602080838503121561188f57600080fd5b825167ffffffffffffffff808211156118a757600080fd5b818501915085601f8301126118bb57600080fd5b8151818111156118cd576118cd6117a4565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611910576119106117a4565b60405291825284820192508381018501918883111561192e57600080fd5b938501935b82851015611953576119448561184c565b84529385019392850192611933565b98975050505050505050565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff828116828216039080821115610cbb57610cbb61167d565b60007affffffffffffffffffffffffffffffffffffffffffffffffffffff808416806119c1576119c161164e565b9216919091049291505056fea264697066735822122067b5312466d899f9b6639aa87051dfebeeb441a21be2598c8458c1ffdf99b10164736f6c6343000816003300000000000000000000000000000000000000000000000000000000000000800000000000000000000000009a9fa8338dd5e5b2188006f1cd2ef26d921650c2000000000000000000000000b162b764044697cf03617c2efbcb1f42e31e47660000000000000000000000000000000000000000000000000000000000000e1000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000b7de5dfcb74d25c2f21841fbd6230355c50d930800000000000000000000000000000000000000000000000000000000000000120000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b30000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001550542d73555344652d4d6179323032352f555344650000000000000000000000