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)
getLinearDiscountRate
viewfunction getLinearDiscountRate() view returns (uint256)
getPTToAssetTWAPRate
viewfunction getPTToAssetTWAPRate() view returns (uint256)
initialImpliedAPY
viewfunction initialImpliedAPY() view returns (uint256)
latestRoundData
viewfunction latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)
maturity
viewfunction maturity() 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
0x608060405234602357600e6027565b60146027565b6040516115d390816100c38239f35b5f80fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff8160401c1660b0576001600160401b036002600160401b031982821601607157505050565b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1565b60405163f92ee8a960e01b8152600490fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816316f0115b14610f0157508063204f83f914610ee457806325a760c214610ec45780632a327fb014610eaa578063313ce56714610e8757806333fa87c414610cb85780633f400be414610c7b5780636caa1fd8146108395780637284e4161461075f57806378e9792514610742578063814cd9371461072557806390db6967146101dd578063e018b0ef146101b15763feaf968c146100b6575f80fd5b346101a5575f3660031901126101a5576100ce611007565b5f80604051630cfea1f160e21b8152602081600481305afa5f9181610179575b5061017257505060015b1561015c57505b60ff60015460081c1690604d82116101485760a091600a0a808211610140575b50604051905f825260208201525f60408201524260608201525f6080820152f35b90505f61011f565b634e487b7160e01b5f52601160045260245ffd5b908082111561016b57506100ff565b90506100ff565b91506100f8565b9091506020813d6020116101a9575b8161019560209383610f3a565b810103126101a55751905f6100ee565b5f80fd5b3d9150610188565b346101a5575f3660031901126101a55760015460405160109190911c6001600160a01b03168152602090f35b346101a55760803660031901126101a5576101f6610f24565b6001600160401b03906024358281116101a557610217903690600401610f5b565b6064359260ff8416938481036101a5577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009485549360ff8560401c1615938086169586158061071e575b60018098149081610714575b15908161070b575b506106f95767ffffffffffffffff19811687178955856106da575b506001600160a01b0396871680156106c857603980546001600160a01b0319811683179091556102be611267565b1561068f57506039805467ffffffffffffffff60a01b1916600160a01b1790555b60405197889163c661065760e01b835288600484015282602460209b8c935afa9182156105c3575f92610670575b5060ff8a5460401c161561065e57808216801561064c5760405163313ce56760e01b808252908b81600481865afa80156105c357610352915f9161062f575b50611042565b5f55604051636f307dc360e01b8152908b82600481865afa9081156105c3578c925f926105fd575b5060049060405195869384928352165afa80156105c3576004938b935f926105ce575b508a5461ff01600160b01b03191660ff929092169190911760109190911b62010000600160b01b031617895560405163204f83f960e01b815292839182905afa9081156105c3575f91610596575b5060025560ff1960045416600455604435600355815190811161058257806005926104168454610fb0565b601f8111610534575b508890601f83116001146104d5575f926104ca575b50505f19600383901b1c191690861b1790555b6104c5575060ff8254165b61ff0083549160081b169061ff00191617825542600655610471611091565b156104b35761047c57005b825460ff60401b19169092556040519182527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291a1005b6040516323a3620960e01b8152600490fd5b610452565b015190508980610434565b90889350601f19831691855f528a5f20925f5b8c82821061051e5750508411610506575b505050811b019055610447565b01515f1960f88460031b161c191690558980806104f9565b8385015186558c979095019493840193016104e8565b909150835f52885f20601f8401851c8101918a8510610578575b84939291601f8b9201871c01915b82811061056a57505061041f565b5f81558594508a910161055c565b909150819061054e565b634e487b7160e01b5f52604160045260245ffd5b90508781813d83116105bc575b6105ad8183610f3a565b810103126101a55751896103eb565b503d6105a3565b6040513d5f823e3d90fd5b6105ef919250843d86116105f6575b6105e78183610f3a565b810190611029565b908d61039d565b503d6105dd565b600491925061062190843d8611610628575b6106198183610f3a565b810190610fe8565b919061037a565b503d61060f565b61064691508d803d106105f6576105e78183610f3a565b8e61034c565b604051634acd3c5360e11b8152600490fd5b604051631afcd79f60e31b8152600490fd5b610688919250893d8b11610628576106198183610f3a565b908a61030d565b6106976112cd565b156106b6576001600160e01b0319168117600160a11b176039556102df565b60405163d1b382a360e01b8152600490fd5b60405163afac17d360e01b8152600490fd5b68ffffffffffffffffff19166801000000000000000117885588610290565b60405163f92ee8a960e01b8152600490fd5b9050158a610275565b303b15915061026d565b5085610261565b346101a5575f3660031901126101a5576020600354604051908152f35b346101a5575f3660031901126101a5576020600654604051908152f35b346101a5575f3660031901126101a5576040515f6005549161078083610fb0565b9283825260209384808401926001906001811690815f1461081b57506001146107de575b5050506107b5826040940383610f3a565b825193849281845251918280928501528484015e5f828201840152601f01601f19168101030190f35b9190945060055f52845f20915f925b828410610808575050508201909201916107b58460406107a4565b80548685018801529286019281016107ed565b60ff19168552505090151560051b83010192506107b58460406107a4565b346101a55760a03660031901126101a557610852610f24565b6024356001600160401b0381116101a557610871903690600401610f5b565b90600160643510156101a55760ff60843516608435036101a5577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00908154906001600160401b03821680159081610c6b575b6001149081610c61575b159081610c58575b506106f95760016001600160401b0319831617835560ff8260401c1615610c39575b60ff835460401c161561065e576001600160a01b0381161561064c5760405163313ce56760e01b81526020816004816001600160a01b0386165afa80156105c357610948915f91610c1a5750611042565b5f55604051636f307dc360e01b81526020816004816001600160a01b0386165afa9081156105c3576004916020915f91610bfd575b5060405163313ce56760e01b815292839182906001600160a01b03165afa9182156105c3576004926020925f91610be0575b506001805461ff01600160b01b03191660ff9290921691909117601083901b62010000600160b01b031617905560405163204f83f960e01b815292839182906001600160a01b03165afa9081156105c3575f91610bae575b5060025560ff196004541660ff606435161760045560443560035582516001600160401b03811161058257600590610a3f8254610fb0565b601f8111610b6b575b50602094601f8211600114610b09579481929394955f92610afe575b50508160011b915f199060031b1c19161790555b60843560ff16610af65760ff600154165b61ff006001549160081b169061ff0019161760015542600655610aaa611091565b156104b35760401c60ff1615610abc57005b805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b608435610a89565b015190508580610a64565b601f19821695835f5260205f20915f5b888110610b5357508360019596979810610b3b575b505050811b019055610a78565b01515f1960f88460031b161c19169055858080610b2e565b91926020600181928685015181550194019201610b19565b825f5260205f20601f8301841c81019160208410610ba4575b601f01841c01905b818110610b995750610a48565b5f8155600101610b8c565b9091508190610b84565b90506020813d602011610bd8575b81610bc960209383610f3a565b810103126101a5575184610a07565b3d9150610bbc565b610bf79150833d85116105f6576105e78183610f3a565b876109af565b610c149150823d8411610628576106198183610f3a565b8761097d565b610c33915060203d6020116105f6576105e78183610f3a565b8661034c565b68ffffffffffffffffff198216680100000000000000011783556108f7565b905015856108d5565b303b1591506108cd565b604084901c60ff161591506108c3565b346101a5575f3660031901126101a55760ff600454166040516001821015610ca4576020918152f35b634e487b7160e01b5f52602160045260245ffd5b346101a5575f3660031901126101a5576039546001600160401b038160a01c169081600214610de95750600114610cfd57634e487b7160e01b5f52605160045260245ffd5b6039546001600160a01b0390811690610d1582611308565b9160405192839163c661065760e01b83525f600484015282602460209687935afa9081156105c35784925f92610dc7575b50602490604051948593849263266d6a8360e11b84526004840152165afa9182156105c3575f92610d96575b5050610d8e6020916001549060ff808360081c1692169061121b565b604051908152f35b90809250813d8311610dc0575b610dad8183610f3a565b810103126101a55751610d8e6020610d72565b503d610da3565b6024919250610de290843d8611610628576106198183610f3a565b9190610d46565b60405163744986af60e11b81526001600160a01b0390911660048201529050602081602481737d0ed27ab23e05620675f73d3ab0b48d4541e4555af49081156105c3575f91610e53575b50610e4e6020916001549060ff808360081c1692169061121b565b610d8e565b90506020813d602011610e7f575b81610e6e60209383610f3a565b810103126101a55751610e4e610e33565b3d9150610e61565b346101a5575f3660031901126101a557602060ff60015460081c16604051908152f35b346101a5575f3660031901126101a5576020610d8e611007565b346101a5575f3660031901126101a557602060ff60015416604051908152f35b346101a5575f3660031901126101a5576020600254604051908152f35b346101a5575f3660031901126101a5576039546001600160a01b03168152602090f35b600435906001600160a01b03821682036101a557565b90601f801991011681019081106001600160401b0382111761058257604052565b81601f820112156101a5578035906001600160401b0382116105825760405192610f8f601f8401601f191660200185610f3a565b828452602083830101116101a557815f926020809301838601378301015290565b90600182811c92168015610fde575b6020831014610fca57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610fbf565b908160209103126101a557516001600160a01b03811681036101a55790565b611026611012611091565b6001549060ff808360081c1692169061121b565b90565b908160209103126101a5575160ff811681036101a55790565b60ff16604d811161014857600a0a90565b9190820391821161014857565b8181029291811591840414171561014857565b811561107d570490565b634e487b7160e01b5f52601260045260245ffd5b6001545f54604051631dc7f52160e01b8152600480820192909252916020908390602490829060101c6001600160a01b03165afa9182156105c3575f926111d3575b5060ff81541660018110156111c0576111b157600254804210156111ac576110fe6006548092611053565b906301e1338061111083600354611060565b04670de0b6b3a76400009081860290868204831487151715611199578201809211611186579161115b61115461114d611161946111669796611073565b8098611053565b9142611053565b90611060565b611073565b8201809211611173575090565b601190634e487b7160e01b5f525260245ffd5b601185634e487b7160e01b5f525260245ffd5b601186634e487b7160e01b5f525260245ffd5b505090565b60405163559b66cb60e01b8152fd5b602182634e487b7160e01b5f525260245ffd5b9091506020813d6020116111ff575b816111ef60209383610f3a565b810103126101a55751905f6110d3565b3d91506111e2565b9060ff8091169116039060ff821161014857565b909160ff811660ff84168181145f1461123657505050905090565b10156112515761124c6110269361115b92611207565b611042565b61124c6112619161102694611207565b90611073565b6039546040516386fc88d360e01b815290602090829060049082906001600160a01b03165afa90816112a2575b5061129d575f90565b600190565b602090813d83116112c6575b6112b88183610f3a565b810103126101a5575f611294565b503d6112ae565b603954604051636872765360e01b81525f600482015290602090829060249082906001600160a01b03165afa90816112a2575061129d575f90565b6040805163c661065760e01b81526001600480830191909152926001600160a01b0390811691602091908281602481875afa90811561142f575f91611523575b501691835163204f83f960e01b815282818781875afa90811561142f575f916114f6575b50421061143957509091928351906307cad3c960e21b825282828281875afa91821561142f57908392915f926113fd575b5060249086519586938492633460fbfb60e11b84528301525afa9283156113f457505f926113ca57505090565b90809250813d83116113ed575b6113e18183610f3a565b810103126101a5575190565b503d6113d7565b513d5f823e3d90fd5b8381949293503d8311611428575b6114158183610f3a565b810103126101a55790518291602461139d565b503d61140b565b85513d5f823e3d90fd5b8185938551948580926307cad3c960e21b82525afa9283156114ec575f936114bd575b5081908451958680926386fc88d360e01b82525afa9283156113f457505f9261148b575b506110269250611540565b90915082813d83116114b6575b6114a28183610f3a565b810103126101a5576110269151905f611480565b503d611498565b9092508181813d83116114e5575b6114d58183610f3a565b810103126101a55751918161145c565b503d6114cb565b84513d5f823e3d90fd5b90508281813d831161151c575b61150d8183610f3a565b810103126101a557515f61136c565b503d611503565b61153a9150833d8511610628576106198183610f3a565b5f611348565b90808202905f19818409908280831092039180830392146115b557670de0b6b3a764000090828211156115a3577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b60405163227bc15360e01b8152600490fd5b5050670de0b6b3a76400009150049056fea164736f6c6343000819000a