Skip to main content

FixedRateFacet

Asset Tokenization Studio Team

FixedRateFacet

Diamond facet that exposes fixed-rate management to the proxy.

Selectors exposed: - initializeFixedRate - setRate - getRate

Methods​

getRate​

function getRate() external view returns (uint256 rate_, uint8 decimals_)

Returns the current fixed interest rate and its decimal precision.

Returns​

NameTypeDescription
rate_uint256Scaled rate value.
decimals_uint8Decimal precision; divide rate_ by 10 ** decimals_ for the effective rate.

getStaticFunctionSelectors​

function getStaticFunctionSelectors() external pure returns (bytes4[])

Gets all function selectors of a facet

Returns​

NameTypeDescription
_0bytes4[]Face functions selectors

getStaticInterfaceIds​

function getStaticInterfaceIds() external pure returns (bytes4[])

Gets all interfaces ids of a facet.

Returns​

NameTypeDescription
_0bytes4[]Face interface ids

getStaticResolverKey​

function getStaticResolverKey() external pure returns (bytes32 staticResolverKey_)

Gets the static resolver key

Returns​

NameTypeDescription
staticResolverKey_bytes32Static resolver key

initializeFixedRate​

function initializeFixedRate(IFixedRate.FixedRateData _initData) external nonpayable

Parameters​

NameTypeDescription
_initDataIFixedRate.FixedRateDataundefined

setRate​

function setRate(uint256 _newRate, uint8 _newRateDecimals) external nonpayable

Updates the fixed interest rate.

Requires an operational, activated, unpaused asset and the interest rate manager role.

Parameters​

NameTypeDescription
_newRateuint256New scaled rate value.
_newRateDecimalsuint8Decimal precision for _newRate.

Events​

FixedRateInitialized​

event FixedRateInitialized(IFixedRate.FixedRateData initData)

Emitted once when the FixedRate capability is initialised on a token.

Fires exclusively from initializeFixedRate after the storage write succeeds.

Parameters​

NameTypeDescription
initDataIFixedRate.FixedRateDataThe rate and decimal precision written during initialisation.

RateUpdated​

event RateUpdated(address indexed operator, uint256 newRate, uint8 newRateDecimals)

Emitted when the fixed rate is updated by an authorised operator.

Parameters​

NameTypeDescription
operator indexedaddressAddress that performed the update.
newRateuint256New scaled rate value.
newRateDecimalsuint8New decimal precision for the rate.

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.

AssetNotOperational​

error AssetNotOperational(bytes32 configId, uint256 versionId)

Raised by InitializerStorageWrapper.checkOperational (and the related isConfigVersionOperational helper) when an operation is attempted on a configuration version that has not yet been marked operational.

Parameters​

NameTypeDescription
configIdbytes32Resolver-proxy configuration whose operational status was checked.
versionIduint256Configuration version whose operational status was checked.

Deactivated​

error Deactivated()

Thrown when an operation guarded by onlyActivated is attempted on a token whose deactivation flag has already been set.

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.

InterestRateIsFixed​

error InterestRateIsFixed()

Thrown when setRate is called on a token whose rate has been locked.

IsPaused​

error IsPaused()

Thrown when an operation that requires the token to be unpaused is attempted while the token is paused (own flag or any external pause contract).

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.