0 txs
1 call
constructor
constructor()
functions
decimals
viewfunction decimals() view returns (uint8)
description
viewfunction description() view returns (string)
discountType
viewfunction discountType() view returns (uint8)
getAnswer
viewfunction getAnswer(uint256 roundId) view returns (int256)
getLinearDiscountRate
viewfunction getLinearDiscountRate() view returns (uint256)
getPTToAssetTWAPRate
viewfunction getPTToAssetTWAPRate() view returns (uint256)
getRoundData
viewfunction getRoundData(uint80) view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
getTimestamp
viewfunction getTimestamp(uint256 roundId) view returns (uint256)
initialImpliedAPY
viewfunction initialImpliedAPY() view returns (uint256)
latestAnswer
viewfunction latestAnswer() view returns (int256)
latestRound
viewfunction latestRound() view returns (uint256)
latestRoundData
viewfunction latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)
latestTimestamp
viewfunction latestTimestamp() view returns (uint256)
maturity
viewfunction maturity() view returns (uint256)
minUpdatedAt
viewfunction minUpdatedAt() view returns (uint256)
pool
viewfunction pool() view returns (address)
ptToken
viewfunction ptToken() view returns (address)
startTime
viewfunction startTime() view returns (uint256)
underlyingDecimals
viewfunction underlyingDecimals() view returns (uint8)
initialize
nonpayablefunction initialize(address pool_, string description_, uint256 initialImpliedAPY_, uint8 decimals_)
initialize
nonpayablefunction initialize(address ptToken_, string description_, uint256 initialImpliedAPY_, uint8 discountType_, uint8 decimals_)
events
Initialized
event Initialized(uint64 version)
errors
InvalidDiscountType
error InvalidDiscountType()
InvalidInitialization
error InvalidInitialization()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NotInitializing
error NotInitializing()
PoolAddressIsZero
error PoolAddressIsZero()
PoolTypeNotSupported
error PoolTypeNotSupported()
PriceMustBeGreaterThanZero
error PriceMustBeGreaterThanZero()
PTTokenAddressIsZero
error PTTokenAddressIsZero()
creation bytecode
0x608060405234602357600e6027565b60146027565b60405161173590816100c38239f35b5f80fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff8160401c1660b0576001600160401b036002600160401b031982821601607157505050565b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1565b60405163f92ee8a960e01b8152600490fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816316f0115b14610f7857508063204f83f914610f5b57806325a760c214610f3b5780632a327fb014610f21578063313ce56714610efe57806333fa87c414610d2f5780633f400be414610cf257806350d25bcd14610cd8578063668a0f0214610ca95780636caa1fd8146108675780637284e4161461078d57806378e9792514610770578063814cd937146107535780638205bf6a1461018857806390db69671461020b5780639a6fc8f5146101dd578063b5ab58dc146101b5578063b633620c1461018d578063cb6b660114610188578063e018b0ef1461015c5763feaf968c14610103575f80fd5b34610158575f3660031901126101585761015461011e611098565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015290819060a0820190565b0390f35b5f80fd5b34610158575f3660031901126101585760015460405160109190911c6001600160a01b03168152602090f35b61105f565b346101585760203660031901126101585760206101a8611098565b5092505050604051908152f35b346101585760203660031901126101585760206101d0611098565b5050509050604051908152f35b34610158576020366003190112610158576004356001600160501b038116036101585761015461011e611098565b3461015857608036600319011261015857610224610f9b565b6001600160401b039060243582811161015857610245903690600401610fd2565b6064359260ff841693848103610158577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009485549360ff8560401c1615938086169586158061074c575b60018098149081610742575b159081610739575b506107275767ffffffffffffffff1981168717895585610708575b506001600160a01b0396871680156106f657603980546001600160a01b0319811683179091556102ec6113c9565b156106bd57506039805467ffffffffffffffff60a01b1916600160a01b1790555b60405197889163c661065760e01b835288600484015282602460209b8c935afa9182156105f1575f9261069e575b5060ff8a5460401c161561068c57808216801561067a5760405163313ce56760e01b808252908b81600481865afa80156105f157610380915f9161065d575b506111a4565b5f55604051636f307dc360e01b8152908b82600481865afa9081156105f1578c925f9261062b575b5060049060405195869384928352165afa80156105f1576004938b935f926105fc575b508a5461ff01600160b01b03191660ff929092169190911760109190911b62010000600160b01b031617895560405163204f83f960e01b815292839182905afa9081156105f1575f916105c4575b5060025560ff196004541660045560443560035581519081116105b057806005926104448454611027565b601f8111610562575b508890601f8311600114610503575f926104f8575b50505f19600383901b1c191690861b1790555b6104f3575060ff8254165b61ff0083549160081b169061ff0019161782554260065561049f6111f3565b156104e1576104aa57005b825460ff60401b19169092556040519182527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291a1005b6040516323a3620960e01b8152600490fd5b610480565b015190508980610462565b90889350601f19831691855f528a5f20925f5b8c82821061054c5750508411610534575b505050811b019055610475565b01515f1960f88460031b161c19169055898080610527565b8385015186558c97909501949384019301610516565b909150835f52885f20601f8401851c8101918a85106105a6575b84939291601f8b9201871c01915b82811061059857505061044d565b5f81558594508a910161058a565b909150819061057c565b634e487b7160e01b5f52604160045260245ffd5b90508781813d83116105ea575b6105db8183610fb1565b81010312610158575189610419565b503d6105d1565b6040513d5f823e3d90fd5b61061d919250843d8611610624575b6106158183610fb1565b81019061118b565b908d6103cb565b503d61060b565b600491925061064f90843d8611610656575b6106478183610fb1565b810190611079565b91906103a8565b503d61063d565b61067491508d803d10610624576106158183610fb1565b8e61037a565b604051634acd3c5360e11b8152600490fd5b604051631afcd79f60e31b8152600490fd5b6106b6919250893d8b11610656576106478183610fb1565b908a61033b565b6106c561142f565b156106e4576001600160e01b0319168117600160a11b1760395561030d565b60405163d1b382a360e01b8152600490fd5b60405163afac17d360e01b8152600490fd5b68ffffffffffffffffff191668010000000000000001178855886102be565b60405163f92ee8a960e01b8152600490fd5b9050158a6102a3565b303b15915061029b565b508561028f565b34610158575f366003190112610158576020600354604051908152f35b34610158575f366003190112610158576020600654604051908152f35b34610158575f366003190112610158576040515f600554916107ae83611027565b9283825260209384808401926001906001811690815f14610849575060011461080c575b5050506107e3826040940383610fb1565b825193849281845251918280928501528484015e5f828201840152601f01601f19168101030190f35b9190945060055f52845f20915f925b828410610836575050508201909201916107e38460406107d2565b805486850188015292860192810161081b565b60ff19168552505090151560051b83010192506107e38460406107d2565b346101585760a036600319011261015857610880610f9b565b6024356001600160401b0381116101585761089f903690600401610fd2565b90600160643510156101585760ff6084351660843503610158577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00908154906001600160401b03821680159081610c99575b6001149081610c8f575b159081610c86575b506107275760016001600160401b0319831617835560ff8260401c1615610c67575b60ff835460401c161561068c576001600160a01b0381161561067a5760405163313ce56760e01b81526020816004816001600160a01b0386165afa80156105f157610976915f91610c4857506111a4565b5f55604051636f307dc360e01b81526020816004816001600160a01b0386165afa9081156105f1576004916020915f91610c2b575b5060405163313ce56760e01b815292839182906001600160a01b03165afa9182156105f1576004926020925f91610c0e575b506001805461ff01600160b01b03191660ff9290921691909117601083901b62010000600160b01b031617905560405163204f83f960e01b815292839182906001600160a01b03165afa9081156105f1575f91610bdc575b5060025560ff196004541660ff606435161760045560443560035582516001600160401b0381116105b057600590610a6d8254611027565b601f8111610b99575b50602094601f8211600114610b37579481929394955f92610b2c575b50508160011b915f199060031b1c19161790555b60843560ff16610b245760ff600154165b61ff006001549160081b169061ff0019161760015542600655610ad86111f3565b156104e15760401c60ff1615610aea57005b805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b608435610ab7565b015190508580610a92565b601f19821695835f5260205f20915f5b888110610b8157508360019596979810610b69575b505050811b019055610aa6565b01515f1960f88460031b161c19169055858080610b5c565b91926020600181928685015181550194019201610b47565b825f5260205f20601f8301841c81019160208410610bd2575b601f01841c01905b818110610bc75750610a76565b5f8155600101610bba565b9091508190610bb2565b90506020813d602011610c06575b81610bf760209383610fb1565b81010312610158575184610a35565b3d9150610bea565b610c259150833d8511610624576106158183610fb1565b876109dd565b610c429150823d8411610656576106478183610fb1565b876109ab565b610c61915060203d602011610624576106158183610fb1565b8661037a565b68ffffffffffffffffff19821668010000000000000001178355610925565b90501585610903565b303b1591506108fb565b604084901c60ff161591506108f1565b34610158575f366003190112610158576020610cc3611098565b505050506001600160501b0360405191168152f35b34610158575f3660031901126101585760206101d0611098565b34610158575f3660031901126101585760ff600454166040516001821015610d1b576020918152f35b634e487b7160e01b5f52602160045260245ffd5b34610158575f366003190112610158576039546001600160401b038160a01c169081600214610e605750600114610d7457634e487b7160e01b5f52605160045260245ffd5b6039546001600160a01b0390811690610d8c8261146a565b9160405192839163c661065760e01b83525f600484015282602460209687935afa9081156105f15784925f92610e3e575b50602490604051948593849263266d6a8360e11b84526004840152165afa9182156105f1575f92610e0d575b5050610e056020916001549060ff808360081c1692169061137d565b604051908152f35b90809250813d8311610e37575b610e248183610fb1565b810103126101585751610e056020610de9565b503d610e1a565b6024919250610e5990843d8611610656576106478183610fb1565b9190610dbd565b60405163744986af60e11b81526001600160a01b0390911660048201529050602081602481737d0ed27ab23e05620675f73d3ab0b48d4541e4555af49081156105f1575f91610eca575b50610ec56020916001549060ff808360081c1692169061137d565b610e05565b90506020813d602011610ef6575b81610ee560209383610fb1565b810103126101585751610ec5610eaa565b3d9150610ed8565b34610158575f36600319011261015857602060ff60015460081c16604051908152f35b34610158575f366003190112610158576020610e05611169565b34610158575f36600319011261015857602060ff60015416604051908152f35b34610158575f366003190112610158576020600254604051908152f35b34610158575f366003190112610158576039546001600160a01b03168152602090f35b600435906001600160a01b038216820361015857565b90601f801991011681019081106001600160401b038211176105b057604052565b81601f82011215610158578035906001600160401b0382116105b05760405192611006601f8401601f191660200185610fb1565b8284526020838301011161015857815f926020809301838601378301015290565b90600182811c92168015611055575b602083101461104157565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611036565b34610158575f3660031901126101585760206101a8611098565b9081602091031261015857516001600160a01b03811681036101585790565b6110a0611169565b5f80604051630cfea1f160e21b8152602081600481305afa5f9181611135575b5061112e57505060015b156111165750905b60ff60015460081c16604d811161110257600a0a8083116110fa575b505f91905f9042905f90565b91505f6110ee565b634e487b7160e01b5f52601160045260245ffd5b908082111561112757505b906110d2565b9050611121565b91506110ca565b9091506020813d602011611161575b8161115160209383610fb1565b810103126101585751905f6110c0565b3d9150611144565b6111886111746111f3565b6001549060ff808360081c1692169061137d565b90565b90816020910312610158575160ff811681036101585790565b60ff16604d811161110257600a0a90565b9190820391821161110257565b8181029291811591840414171561110257565b81156111df570490565b634e487b7160e01b5f52601260045260245ffd5b6001545f54604051631dc7f52160e01b8152600480820192909252916020908390602490829060101c6001600160a01b03165afa9182156105f1575f92611335575b5060ff815416600181101561132257611313576002548042101561130e5761126060065480926111b5565b906301e13380611272836003546111c2565b04670de0b6b3a764000090818602908682048314871517156112fb5782018092116112e857916112bd6112b66112af6112c3946112c897966111d5565b80986111b5565b91426111b5565b906111c2565b6111d5565b82018092116112d5575090565b601190634e487b7160e01b5f525260245ffd5b601185634e487b7160e01b5f525260245ffd5b601186634e487b7160e01b5f525260245ffd5b505090565b60405163559b66cb60e01b8152fd5b602182634e487b7160e01b5f525260245ffd5b9091506020813d602011611361575b8161135160209383610fb1565b810103126101585751905f611235565b3d9150611344565b9060ff8091169116039060ff821161110257565b909160ff811660ff84168181145f1461139857505050905090565b10156113b3576113ae611188936112bd92611369565b6111a4565b6113ae6113c39161118894611369565b906111d5565b6039546040516386fc88d360e01b815290602090829060049082906001600160a01b03165afa9081611404575b506113ff575f90565b600190565b602090813d8311611428575b61141a8183610fb1565b81010312610158575f6113f6565b503d611410565b603954604051636872765360e01b81525f600482015290602090829060249082906001600160a01b03165afa908161140457506113ff575f90565b6040805163c661065760e01b81526001600480830191909152926001600160a01b0390811691602091908281602481875afa908115611591575f91611685575b501691835163204f83f960e01b815282818781875afa908115611591575f91611658575b50421061159b57509091928351906307cad3c960e21b825282828281875afa91821561159157908392915f9261155f575b5060249086519586938492633460fbfb60e11b84528301525afa92831561155657505f9261152c57505090565b90809250813d831161154f575b6115438183610fb1565b81010312610158575190565b503d611539565b513d5f823e3d90fd5b8381949293503d831161158a575b6115778183610fb1565b81010312610158579051829160246114ff565b503d61156d565b85513d5f823e3d90fd5b8185938551948580926307cad3c960e21b82525afa92831561164e575f9361161f575b5081908451958680926386fc88d360e01b82525afa92831561155657505f926115ed575b5061118892506116a2565b90915082813d8311611618575b6116048183610fb1565b81010312610158576111889151905f6115e2565b503d6115fa565b9092508181813d8311611647575b6116378183610fb1565b81010312610158575191816115be565b503d61162d565b84513d5f823e3d90fd5b90508281813d831161167e575b61166f8183610fb1565b8101031261015857515f6114ce565b503d611665565b61169c9150833d8511610656576106478183610fb1565b5f6114aa565b90808202905f198184099082808310920391808303921461171757670de0b6b3a76400009082821115611705577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b60405163227bc15360e01b8152600490fd5b5050670de0b6b3a76400009150049056fea164736f6c6343000819000a