0 txs
81 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
0x6101206040523480156200001257600080fd5b506040516200217d3803806200217d833981016040819052620000359162000255565b835184906000906200004890826200044b565b5060208101516001600160a01b0390811660805260608201511660a0526040810151620000779060126200052d565b60ff16816080015160ff161115620000a257604051633494a40d60e21b815260040160405180910390fd5b60808101516040820151620000b99060126200052d565b620000c591906200054f565b620000d290600a62000668565b60c052506001600160a01b0382811660e081905263ffffffff831661010081905260405162439f4b60e91b81526004810192909252602482015260009182919086169063873e960090604401606060405180830381865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000162919062000691565b9250509150818062000172575080155b156200019157604051636efece6560e01b815260040160405180910390fd5b505050505050620006e3565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715620001d857620001d86200019d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200020957620002096200019d565b604052919050565b80516001600160a01b03811681146200022957600080fd5b919050565b805160ff811681146200022957600080fd5b805163ffffffff811681146200022957600080fd5b600080600080608085870312156200026c57600080fd5b84516001600160401b03808211156200028457600080fd5b9086019060a082890312156200029957600080fd5b620002a3620001b3565b825182811115620002b357600080fd5b8301601f81018a13620002c557600080fd5b805183811115620002da57620002da6200019d565b60209350620002f2601f8201601f19168501620001de565b8181528b858385010111156200030757600080fd5b60005b82811015620003275783810186015182820187015285016200030a565b5060008583830101528084525050506200034382840162000211565b8282015262000355604084016200022e565b6040820152620003686060840162000211565b60608201526200037b608084016200022e565b608082015295506200038f87820162000211565b94505050620003a16040860162000211565b9150620003b16060860162000240565b905092959194509250565b600181811c90821680620003d157607f821691505b602082108103620003f257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200044657600081815260208120601f850160051c81016020861015620004215750805b601f850160051c820191505b8181101562000442578281556001016200042d565b5050505b505050565b81516001600160401b038111156200046757620004676200019d565b6200047f81620004788454620003bc565b84620003f8565b602080601f831160018114620004b757600084156200049e5750858301515b600019600386901b1c1916600185901b17855562000442565b600085815260208120601f198616915b82811015620004e857888601518255948401946001909101908401620004c7565b5085821015620005075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111562000549576200054962000517565b92915050565b60ff828116828216039081111562000549576200054962000517565b600181815b80851115620005ac57816000190482111562000590576200059062000517565b808516156200059e57918102915b93841c939080029062000570565b509250929050565b600082620005c55750600162000549565b81620005d45750600062000549565b8160018114620005ed5760028114620005f85762000618565b600191505062000549565b60ff8411156200060c576200060c62000517565b50506001821b62000549565b5060208310610133831016604e8410600b84101617156200063d575081810a62000549565b6200064983836200056b565b806000190482111562000660576200066062000517565b029392505050565b60006200067960ff841683620005b4565b9392505050565b805180151581146200022957600080fd5b600080600060608486031215620006a757600080fd5b620006b28462000680565b9250602084015161ffff81168114620006ca57600080fd5b9150620006da6040850162000680565b90509250925092565b60805160a05160c05160e05161010051611a026200077b6000396000818160de015261073401526000818161020801526107120152600081816101be01528181610424015261052101526000818161029d0152818161030301528181610453015281816105f3015261069f015260008181610267015281816102e0015281816103be0152818161059d01526106490152611a026000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639502128011610081578063cdf456e11161005b578063cdf456e114610262578063d3b5dc3b14610289578063fdf262b71461029857600080fd5b806395021280146101e057806399d9a71f14610203578063c6845a091461024f57600080fd5b80637284e416116100b25780637284e416146101835780637349615f146101985780638fc5e88d146101b957600080fd5b806326d89545146100d9578063313ce5671461011a5780636999451114610134575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b610122601281565b60405160ff9091168152602001610111565b610147610142366004611442565b6102bf565b60408051948552602085019390935273ffffffffffffffffffffffffffffffffffffffff91821692840192909252166060820152608001610111565b61018b61032c565b604051610111919061149e565b6101ab6101a636600461152c565b6103ba565b604051908152602001610111565b6101ab7f000000000000000000000000000000000000000000000000000000000000000081565b6101f36101ee366004611564565b610599565b6040519015158152602001610111565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610111565b6101ab61025d36600461159d565b6106f6565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b6101ab670de0b6b3a764000081565b61022a7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806102cf88886106f6565b6102d987876106f6565b90999098507f000000000000000000000000000000000000000000000000000000000000000097507f00000000000000000000000000000000000000000000000000000000000000009650945050505050565b60008054610339906115cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610365906115cb565b80156103b25780601f10610387576101008083540402835291602001916103b2565b820191906000526020600020905b81548152906001019060200180831161039557829003601f168201915b505050505081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361045157600061041b84846106f6565b905061044985827f000000000000000000000000000000000000000000000000000000000000000086610758565b915050610591565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036105475760006104d18460018560018111156104be576104be61161e565b146104ca5760016106f6565b60006106f6565b90508060000361051b576040517fdcd07d4f000000000000000000000000000000000000000000000000000000008152306004820152602481018290526044015b60405180910390fd5b610449857f00000000000000000000000000000000000000000000000000000000000000008386610758565b6040517f961c9a4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152602401610512565b949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561064157507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806106ed57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156106ed57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b90505b92915050565b60006106ed73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610809565b6000610765858585610855565b9050600182600181111561077b5761077b61161e565b0361059157828061078e5761078e61164d565b84860915610591577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107c657600101610591565b6040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260448101849052606401610512565b600080600061081785610966565b915091508082106108355761082c8585610be0565b925050506106f0565b80826108418787610be0565b61084b91906116ab565b61082c91906116c2565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036108ad578382816108a3576108a361164d565b049250505061095f565b8381106108f7576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610512565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff16632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156109b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109db91906116d6565b92505091508173ffffffffffffffffffffffffffffffffffffffff16633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190611723565b935060008173ffffffffffffffffffffffffffffffffffffffff1663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190611723565b90508173ffffffffffffffffffffffffffffffffffffffff1663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b33919061173c565b8015610bbe5750438273ffffffffffffffffffffffffffffffffffffffff166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa919061175e565b6fffffffffffffffffffffffffffffffff16145b15610bcb57809350610bd8565b610bd58582610cc2565b93505b505050915091565b6000808373ffffffffffffffffffffffffffffffffffffffff1663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190611723565b9050428111610c6c57670de0b6b3a76400009150506106f0565b6000610c788585610cd8565b90506000610c864284611790565b90506000610c9c610c978484610e57565b610e90565b9050610cb0670de0b6b3a764000082610ea3565b9450505050506106f0565b5092915050565b6000818311610cd157816106ed565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610d1157610d116117d2565b63ffffffff909216602092830291909101909101526040517f883bdbfd00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff86169063883bdbfd90610d7b908590600401611801565b600060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dde919081019061187b565b90508363ffffffff1681600081518110610dfa57610dfa6117d2565b602002602001015182600181518110610e1557610e156117d2565b6020026020010151610e27919061195e565b610e319190611992565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b600080610e696201518061016d6116ab565b610e7384866116ab565b610e7d91906116c2565b9050610591610e8b82610ed2565b610f01565b600080821215610e9f57600080fd5b5090565b600080610eb8670de0b6b3a7640000856116ab565b9050828181610ec957610ec961164d565b04949350505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115610e9f57600080fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008212158015610f3c575068070c1cc73b00c800008213155b610fa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152606401610512565b6000821215610fdb57610fb782600003610f01565b6ec097ce7bc90715b34b9f100000000081610fd457610fd461164d565b0592915050565b60006806f05b59d3b2000000831261103157507ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e00000090910190770195e54c5dd42177f53a27172fa9ec63026282700000000061107d565b6803782dace9d9000000831261107957507ffffffffffffffffffffffffffffffffffffffffffffffffc87d2531627000000909101906b1425982cf597cd205cef738061107d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110e3577fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000009093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611135577fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000009093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611185577fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000009093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126111d5577fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000009093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611224577ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000009093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611273577ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf000009093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126112c2577ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e7800009093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611311577ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c00009093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6002811061143f57600080fd5b50565b6000806000806080858703121561145857600080fd5b843561146381611432565b9350602085013561147381611432565b9250604085013561148381611432565b9150606085013561149381611432565b939692955090935050565b600060208083528351808285015260005b818110156114cb578581018301518582016040015282016114af565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461143f57600080fd5b6000806000806080858703121561154257600080fd5b843561154d8161150a565b935060208501359250604085013561148381611432565b6000806040838503121561157757600080fd5b82356115828161150a565b915060208301356115928161150a565b809150509250929050565b600080604083850312156115b057600080fd5b82356115bb81611432565b9150602083013561159281611432565b600181811c908216806115df57607f821691505b602082108103611618577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176106f0576106f061167c565b6000826116d1576116d161164d565b500490565b6000806000606084860312156116eb57600080fd5b83516116f68161150a565b60208501519093506117078161150a565b60408501519092506117188161150a565b809150509250925092565b60006020828403121561173557600080fd5b5051919050565b60006020828403121561174e57600080fd5b8151801515811461095f57600080fd5b60006020828403121561177057600080fd5b81516fffffffffffffffffffffffffffffffff8116811461095f57600080fd5b818103818111156106f0576106f061167c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561183f57835163ffffffff168352928401929184019160010161181d565b50909695505050505050565b80517affffffffffffffffffffffffffffffffffffffffffffffffffffff8116811461187657600080fd5b919050565b6000602080838503121561188e57600080fd5b825167ffffffffffffffff808211156118a657600080fd5b818501915085601f8301126118ba57600080fd5b8151818111156118cc576118cc6117a3565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561190f5761190f6117a3565b60405291825284820192508381018501918883111561192d57600080fd5b938501935b82851015611952576119438561184b565b84529385019392850192611932565b98975050505050505050565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff828116828216039080821115610cbb57610cbb61167c565b60007affffffffffffffffffffffffffffffffffffffffffffffffffffff808416806119c0576119c061164d565b9216919091049291505056fea2646970667358221220a05c9b29889b769a260494ec4d626a5df723836a8b3da9dd379adf76a414ea0d64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000800000000000000000000000009a9fa8338dd5e5b2188006f1cd2ef26d921650c2000000000000000000000000cae62858db831272a03768f5844cbe1b40bb381f000000000000000000000000000000000000000000000000000000000000070800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000332a8ee60edff0a11cf3994b1b846bbc27d3dcd600000000000000000000000000000000000000000000000000000000000000080000000000000000000000008236a87084f8b84306f72007f36f2618a56344940000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001650542d636f726e4c4254432d44656332342f4c42544300000000000000000000