0 txs
0 calls
constructor
constructor((address aclManager, address baseAggregatorAddress, address ratioProviderAddress, string pairDescription, uint48 minimumSnapshotDelay, (uint104 snapshotRatio, uint48 snapshotTimestamp, uint16 maxYearlyRatioGrowthPercent) priceCapParams) capAdapterParams)
functions
ACL_MANAGER
viewfunction ACL_MANAGER() view returns (address)
BASE_TO_USD_AGGREGATOR
viewfunction BASE_TO_USD_AGGREGATOR() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
DECIMALS
viewfunction DECIMALS() view returns (uint8)
description
viewfunction description() view returns (string)
getMaxRatioGrowthPerSecond
viewfunction getMaxRatioGrowthPerSecond() view returns (uint256)
getMaxYearlyGrowthRatePercent
viewfunction getMaxYearlyGrowthRatePercent() view returns (uint256)
getRatio
viewfunction getRatio() view returns (int256)
getSnapshotRatio
viewfunction getSnapshotRatio() view returns (uint256)
getSnapshotTimestamp
viewfunction getSnapshotTimestamp() view returns (uint256)
isCapped
viewfunction isCapped() view returns (bool)
latestAnswer
viewfunction latestAnswer() view returns (int256)
MINIMAL_RATIO_INCREASE_LIFETIME
viewfunction MINIMAL_RATIO_INCREASE_LIFETIME() view returns (uint256)
MINIMUM_SNAPSHOT_DELAY
viewfunction MINIMUM_SNAPSHOT_DELAY() view returns (uint48)
PERCENTAGE_FACTOR
viewfunction PERCENTAGE_FACTOR() view returns (uint256)
RATIO_DECIMALS
viewfunction RATIO_DECIMALS() view returns (uint8)
RATIO_PROVIDER
viewfunction RATIO_PROVIDER() view returns (address)
SECONDS_PER_YEAR
viewfunction SECONDS_PER_YEAR() view returns (uint256)
setCapParameters
nonpayablefunction setCapParameters(tuple priceCapParams)
events
CapParametersUpdated
event CapParametersUpdated(uint256 snapshotRatio, uint256 snapshotTimestamp, uint256 maxRatioGrowthPerSecond, uint16 maxYearlyRatioGrowthPercent)
errors
ACLManagerIsZeroAddress
error ACLManagerIsZeroAddress()
CallerIsNotRiskOrPoolAdmin
error CallerIsNotRiskOrPoolAdmin()
DecimalsAboveLimit
error DecimalsAboveLimit()
DecimalsNotEqual
error DecimalsNotEqual()
InvalidRatioTimestamp
error InvalidRatioTimestamp(uint48 timestamp)
RatioOutOfBounds
error RatioOutOfBounds()
SnapshotMayOverflowSoon
error SnapshotMayOverflowSoon(uint104 snapshotRatio, uint16 maxYearlyRatioGrowthPercent)
SnapshotRatioIsZero
error SnapshotRatioIsZero()
creation bytecode
0x61014060405234801562000011575f80fd5b506040516200160d3803806200160d8339810160408190526200003491620005b7565b6040518060e00160405280825f01516001600160a01b0316815260200182602001516001600160a01b0316815260200182604001516001600160a01b0316815260200182606001518152602001601260ff168152602001826080015165ffffffffffff1681526020018260a001518152505f6001600160a01b0316815f01516001600160a01b031603620000db57604051636d5d763f60e01b815260040160405180910390fd5b80516001600160a01b0390811660a0526020808301518216608081905260408085015190931660c052825163313ce56760e01b81529251909263313ce5679260048083019391928290030181865afa1580156200013a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016091906200068b565b60ff90811660e0526080820151166101005260a081015165ffffffffffff166101205260608101515f9062000196908262000740565b5060c0810151620001a790620001af565b505062000888565b80516001600160681b03165f03620001da5760405163022bd6e160e51b815260040160405180910390fd5b602081015160015465ffffffffffff918216600160681b90910490911610158062000227575061012051620002189065ffffffffffff16426200081c565b816020015165ffffffffffff16115b156200025b57602081015160405163f0c2a63960e01b815265ffffffffffff90911660048201526024015b60405180910390fd5b805160018054602084015165ffffffffffff16600160681b026001600160981b03199091166001600160681b0390931692831717905560408201516002805461ffff90921661ffff19909216821790556301e133809161271091620002c09162000838565b620002cc919062000852565b620002d8919062000852565b600180546001600160981b0316600160981b6001600160681b039384168102919091179182905560039162000316916301e133809104841662000838565b62000322919062000838565b6001546200033a91906001600160681b031662000872565b11156200037757805160408083015190516363fa0d9760e11b81526001600160681b03909216600483015261ffff16602482015260440162000252565b805160208083015160015460408086015181516001600160681b03968716815265ffffffffffff90941694840194909452600160981b9091049093168184015261ffff909116606082015290517f47f15f366dcc3684fc77c4f79eb851bb5befbc095ec7a296a53a27a622964c639181900360800190a150565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156200042a576200042a620003f1565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200045b576200045b620003f1565b604052919050565b6001600160a01b038116811462000478575f80fd5b50565b8051620004888162000463565b919050565b5f82601f8301126200049d575f80fd5b81516001600160401b03811115620004b957620004b9620003f1565b6020620004cf601f8301601f1916820162000430565b8281528582848701011115620004e3575f80fd5b5f5b8381101562000502578581018301518282018401528201620004e5565b505f928101909101919091529392505050565b805165ffffffffffff8116811462000488575f80fd5b5f606082840312156200053c575f80fd5b604051606081016001600160401b0381118282101715620005615762000561620003f1565b604052825190915081906001600160681b038116811462000580575f80fd5b8152620005906020840162000515565b6020820152604083015161ffff81168114620005aa575f80fd5b6040919091015292915050565b5f60208284031215620005c8575f80fd5b81516001600160401b0380821115620005df575f80fd5b908301906101008286031215620005f4575f80fd5b620005fe62000405565b82516200060b8162000463565b815260208301516200061d8162000463565b602082015262000630604084016200047b565b604082015260608301518281111562000647575f80fd5b62000655878286016200048d565b606083015250620006696080840162000515565b60808201526200067d8660a085016200052b565b60a082015295945050505050565b5f602082840312156200069c575f80fd5b815160ff81168114620006ad575f80fd5b9392505050565b600181811c90821680620006c957607f821691505b602082108103620006e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200073b575f81815260208120601f850160051c81016020861015620007165750805b601f850160051c820191505b81811015620007375782815560010162000722565b5050505b505050565b81516001600160401b038111156200075c576200075c620003f1565b62000774816200076d8454620006b4565b84620006ee565b602080601f831160018114620007aa575f8415620007925750858301515b5f19600386901b1c1916600185901b17855562000737565b5f85815260208120601f198616915b82811015620007da57888601518255948401946001909101908401620007b9565b5085821015620007f857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8181038181111562000832576200083262000808565b92915050565b808202811582820484141762000832576200083262000808565b5f826200086d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111562000832576200083262000808565b60805160a05160c05160e0516101005161012051610d05620009085f395f8181610125015261079f01525f818161021201528181610406015261066b01525f8181610168015261019e01525f81816102c0015261064101525f81816102390152818161050b015261059901525f8181610299015261034d0152610d055ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c8063c1b8c2e0116100a9578063e6a69ab81161006e578063e6a69ab8146102f9578063ec1ebd7a14610304578063ee01e5e71461030c578063f6ba77de14610315578063fe4d9e791461032d575f80fd5b8063c1b8c2e014610273578063caa4cdcf14610288578063d221087c14610294578063dc4a4be8146102bb578063deb8c641146102e2575f80fd5b80635703da10116100ef5780635703da10146101d8578063671528d4146101e05780637284e416146101f8578063a83622e01461020d578063a8a652eb14610234575f80fd5b806318b7a6e1146101205780632e0f262514610163578063313ce5671461019c57806350d25bcd146101c2575b5f80fd5b6101477f000000000000000000000000000000000000000000000000000000000000000081565b60405165ffffffffffff90911681526020015b60405180910390f35b61018a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161015a565b7f000000000000000000000000000000000000000000000000000000000000000061018a565b6101ca61033e565b60405190815260200161015a565b6101ca600381565b6101e8610449565b604051901515815260200161015a565b610200610467565b60405161015a91906109a7565b61018a7f000000000000000000000000000000000000000000000000000000000000000081565b61025b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161015a565b610286610281366004610a08565b6104f6565b005b60025461ffff166101ca565b61025b7f000000000000000000000000000000000000000000000000000000000000000081565b61025b7f000000000000000000000000000000000000000000000000000000000000000081565b600154600160681b900465ffffffffffff166101ca565b6101ca6301e1338081565b6101ca610636565b6101ca61271081565b600154600160981b90046001600160681b03166101ca565b6001546001600160681b03166101ca565b5f80610348610636565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610a97565b90505f811315806103dc57505f8213155b156103e9575f9250505090565b5f6103f26106f3565b905082811215610400578092505b5f61042c7f0000000000000000000000000000000000000000000000000000000000000000600a610ba4565b6104368585610bb9565b6104409190610bfc565b95945050505050565b5f80610453610636565b90505f61045e6106f3565b90911392915050565b60605f805461047590610c28565b80601f01602080910402602001604051908101604052809291908181526020018280546104a190610c28565b80156104ec5780601f106104c3576101008083540402835291602001916104ec565b820191905f5260205f20905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b60405163674b5e4d60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063674b5e4d90602401602060405180830381865afa158015610558573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057c9190610c60565b15801561060c5750604051637be53ca160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637be53ca190602401602060405180830381865afa1580156105e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060a9190610c60565b155b1561062a57604051632538c98d60e11b815260040160405180910390fd5b61063381610744565b50565b5f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166307a2d13a6106917f0000000000000000000000000000000000000000000000000000000000000000600a610ba4565b6040518263ffffffff1660e01b81526004016106af91815260200190565b602060405180830381865afa1580156106ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ee9190610a97565b905090565b6001545f9061071190600160681b900465ffffffffffff1642610c7f565b60015461072e9190600160981b90046001600160681b0316610c92565b6001546106ee91906001600160681b0316610ca9565b80516001600160681b03165f0361076e5760405163022bd6e160e51b815260040160405180910390fd5b602081015160015465ffffffffffff918216600160681b9091049091161015806107d457506107c565ffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001642610c7f565b816020015165ffffffffffff16115b1561080757602081015160405163f0c2a63960e01b815265ffffffffffff90911660048201526024015b60405180910390fd5b805160018054602084015165ffffffffffff16600160681b0272ffffffffffffffffffffffffffffffffffffff199091166001600160681b0390931692831717905560408201516002805461ffff90921661ffff19909216821790556301e13380916127109161087691610c92565b6108809190610cbc565b61088a9190610cbc565b6001805472ffffffffffffffffffffffffffffffffffffff16600160981b6001600160681b03938416810291909117918290556003916108d2916301e1338091048416610c92565b6108dc9190610c92565b6001546108f291906001600160681b0316610ca9565b111561092d57805160408083015190516363fa0d9760e11b81526001600160681b03909216600483015261ffff1660248201526044016107fe565b805160208083015160015460408086015181516001600160681b03968716815265ffffffffffff90941694840194909452600160981b9091049093168184015261ffff909116606082015290517f47f15f366dcc3684fc77c4f79eb851bb5befbc095ec7a296a53a27a622964c639181900360800190a150565b5f6020808352835180828501525f5b818110156109d2578581018301518582016040015282016109b6565b505f604082860101526040601f19601f8301168501019250505092915050565b803561ffff81168114610a03575f80fd5b919050565b5f60608284031215610a18575f80fd5b6040516060810181811067ffffffffffffffff82111715610a4757634e487b7160e01b5f52604160045260245ffd5b60405282356001600160681b0381168114610a60575f80fd5b8152602083013565ffffffffffff81168114610a7a575f80fd5b6020820152610a8b604084016109f2565b60408201529392505050565b5f60208284031215610aa7575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610afc57815f1904821115610ae257610ae2610aae565b80851615610aef57918102915b93841c9390800290610ac7565b509250929050565b5f82610b1257506001610b9e565b81610b1e57505f610b9e565b8160018114610b345760028114610b3e57610b5a565b6001915050610b9e565b60ff841115610b4f57610b4f610aae565b50506001821b610b9e565b5060208310610133831016604e8410600b8410161715610b7d575081810a610b9e565b610b878383610ac2565b805f1904821115610b9a57610b9a610aae565b0290505b92915050565b5f610bb260ff841683610b04565b9392505050565b8082025f8212600160ff1b84141615610bd457610bd4610aae565b8181058314821517610b9e57610b9e610aae565b634e487b7160e01b5f52601260045260245ffd5b5f82610c0a57610c0a610be8565b600160ff1b82145f1984141615610c2357610c23610aae565b500590565b600181811c90821680610c3c57607f821691505b602082108103610c5a57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610c70575f80fd5b81518015158114610bb2575f80fd5b81810381811115610b9e57610b9e610aae565b8082028115828204841417610b9e57610b9e610aae565b80820180821115610b9e57610b9e610aae565b5f82610cca57610cca610be8565b50049056fea2646970667358221220e8098ac08412151537d22771f7097ebb140ee710b90eb6ada8663cfb275771a864736f6c634300081400330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c2aacf6553d20d1e9d78e365aaba8032af9c85b00000000000000000000000003e7d1eab13ad0104d2750b8863b489d65364e32d00000000000000000000000090d2af7d622ca3141efa4d8f1f24d86e5974cc8f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006806490b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019436170706564206555534465202f2055534465202f2055534400000000000000