Skip to main content

CoreAdjusted

Asset Tokenization Studio Team

CoreAdjusted

Abstract implementation of the CoreAdjusted domain, providing time-adjusted decimal reads that account for pending scheduled balance adjustments (ABAFs).

Inherits ICoreAdjusted and delegates entirely to ERC20StorageWrapper.decimalsAdjustedAt. Designed to be inherited by CoreAdjustedFacet in the Diamond pattern. Contains no storage of its own; all state is managed by ERC20StorageWrapper.

Methods​

decimalsAt​

function decimalsAt(uint256 _timestamp) external view returns (uint8)

Returns the effective token decimals at the given timestamp, simulating pending scheduled balance adjustments (ABAFs) up to and including that timestamp.

Forwards to ERC20StorageWrapper.decimalsAdjustedAt. No state is mutated.

Parameters​

NameTypeDescription
_timestampuint256The Unix timestamp up to which pending ABAFs are simulated.

Returns​

NameTypeDescription
_0uint8The effective decimal precision of the token at the specified timestamp.

initializeCoreAdjusted​

function initializeCoreAdjusted() external nonpayable

Initialises the core adjusted capability on the token.

Callable once; subsequent calls revert with FacetAlreadyRegistered. Requires DEFAULT_ADMIN_ROLE. Called by the factory during deployment.

Events​

CoreAdjustedInitialized​

event CoreAdjustedInitialized()

Emitted once when the core adjusted capability is initialised on a token.

Fires exclusively from initializeCoreAdjusted.

Errors​

AccountHasNoRole​

error AccountHasNoRole(address account, bytes32 role)

Thrown when an account does not hold a required role.

Parameters​

NameTypeDescription
accountaddressThe account that lacks the role.
rolebytes32The role that is not held.

FacetAlreadyRegistered​

error FacetAlreadyRegistered(bytes32 facetId, uint256 lastVersion)

Raised when an initialiser tries to register a facet that already has a non-zero last registered version (i.e. the facet is being re-initialised on a fresh install).

Parameters​

NameTypeDescription
facetIdbytes32Identifier of the offending facet.
lastVersionuint256Last version recorded for that facet at the time of the check.

UnrecognizedResolverProxyVersion​

error UnrecognizedResolverProxyVersion(bytes8 _resolverProxyVersion)

Thrown when the provided proxy version does not match any BLR compatible standard.

Parameters​

NameTypeDescription
_resolverProxyVersionbytes8proxy version that is not compatible with the BLR.

WalletRecovered​

error WalletRecovered()

Thrown when attempting to recover a wallet that has already been recovered.