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
| Name | Type | Description |
|---|---|---|
| _0 | enum IInterestRate.RateType | The 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
| Name | Type | Description |
|---|---|---|
| _rateType | enum IInterestRate.RateType | The 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
| Name | Type | Description |
|---|---|---|
| _rateType | enum IInterestRate.RateType | The 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
| Name | Type | Description |
|---|---|---|
operator indexed | address | The caller who invoked the setter. |
| rateType | enum IInterestRate.RateType | The 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
| Name | Type | Description |
|---|---|---|
| rateType | enum IInterestRate.RateType | The rate type that was set. |