Skip to main content

PRICEv2

Git Source

Inherits: ModuleWithSubmodules, IPRICEv2, IERC165

Author: Oighty

SPDX-License-Identifier: AGPL-3.0 forge-lint: disable-start(mixed-case-function)

Abstract Bophades module for price resolution

State Variables

_UNIT_OF_ACCOUNT

address internal constant _UNIT_OF_ACCOUNT = address(840)

_observationFrequency

The frequency of price observations (in seconds)

uint48 internal _observationFrequency

_decimals

The number of decimals to used in output values

uint8 internal _decimals

assets

The addresses of tracked assets

address[] public assets

_assetData

Maps asset addresses to configuration data

mapping(address => Asset) internal _assetData

isNonContractAsset

Tracks registered non-contract assets

mapping(address => bool) public isNonContractAsset

Functions

constructor

constructor(Kernel kernel_) Module(kernel_);

observationFrequency

The frequency of price observations (in seconds)

function observationFrequency() external view virtual override returns (uint48);

decimals

The number of decimals to used in output values

function decimals() external view virtual override returns (uint8);

unitOfAccount

The reserved unit-of-account key

function unitOfAccount() external pure virtual override returns (address);

_validateAssetIsManageable

Reverts unless asset_ is a contract or a registered non-contract asset

Will revert if:

  • asset_ is a non-contract address that is not registered
function _validateAssetIsManageable(address asset_) internal view;

supportsInterface

function supportsInterface(bytes4 interfaceId_) public pure virtual returns (bool);