Skip to main content

IInterestRate

Asset Tokenization Studio Team

IInterestRate

Interface for the explicit coupon rate type selector facet.

Pure types tier: function signatures and events only. Does NOT inherit ICouponTypes to avoid forcing read-only callers to pick up the full type tree. The setCouponRateType / getCouponRateType / isCouponRateTypeSet trio is the only surface exposed by this facet.

Methods​

getCouponRateType​

function getCouponRateType() external view returns (enum IInterestRate.RateType)

Returns the stored coupon rate type.

Returns​

NameTypeDescription
_0enum IInterestRate.RateTypeThe RateType value; defaults to STANDARD (0) if never set.

initializeInterestRateType​

function initializeInterestRateType(enum IInterestRate.RateType _rateType) external nonpayable

Initializes the coupon rate type during asset deployment.

Intended to be called by the factory immediately after proxy creation. No role required — the factory is trusted at deploy time.

Parameters​

NameTypeDescription
_rateTypeenum IInterestRate.RateTypeThe RateType to persist (STANDARD, FIXED, or KPI_LINKED).

setCouponRateType​

function setCouponRateType(enum IInterestRate.RateType _rateType) external nonpayable

Sets the coupon rate type discriminator for this asset.

Requires ROLE_INTEREST_RATE_MANAGER. Reverts if any active coupon still has an unresolved rate, so a coupon issued under the previous type can never be left permanently unresolved by the switch.

Parameters​

NameTypeDescription
_rateTypeenum IInterestRate.RateTypeThe RateType to persist (STANDARD, FIXED, or KPI_LINKED).

Events​

CouponRateTypeSet​

event CouponRateTypeSet(address indexed operator, enum IInterestRate.RateType rateType)

Emitted when the coupon rate type is set (by factory initializer or admin).

Parameters​

NameTypeDescription
operator indexedaddressThe caller who invoked the setter.
rateTypeenum IInterestRate.RateTypeThe RateType value that was selected.

InterestRateTypeInitialized​

event InterestRateTypeInitialized(enum IInterestRate.RateType rateType)

Emitted once when the interest rate type is initialised on a token.

Fires exclusively from initializeInterestRateType after the storage write succeeds.

Parameters​

NameTypeDescription
rateTypeenum IInterestRate.RateTypeThe rate type that was set.