Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ABI Types

This section documents the canonical ARC-4 structs exposed by the D-ASA ABI.

The types below refer to the on-chain ABI structs in smart_contracts/abi_types.py, not to the richer SDK-side normalization models in src/models.py.

RoleValidity

Time-bounded role assignment.

FieldTypeMeaning
role_validity_startuint64Inclusive activation timestamp
role_validity_enduint64Inclusive expiration timestamp

Prospectus

Informational contract metadata uploaded with contract_config.

FieldTypeMeaning
hashbyte[32]Prospectus digest
urlstringProspectus location or label

NormalizedActusTerms

Normalized ACTUS terms required by the AVM kernel.

FieldTypeMeaning
contract_typeuint8ACTUS contract family id
denomination_asset_iduint64Denomination asset id
settlement_asset_iduint64Settlement asset id
total_unitsuint64Total unit supply
notional_principaluint64Notional principal in base units
initial_exchange_amountuint64Initial exchange amount in base units
initial_exchange_dateuint64IED timestamp
maturity_dateuint64MD timestamp, or 0 if absent
day_count_conventionuint8Supported day-count identifier
rate_reset_spreaduint64Fixed-point spread
rate_reset_multiplieruint64Fixed-point rate multiplier
rate_reset_flooruint64Fixed-point floor
rate_reset_capuint64Fixed-point cap
rate_reset_nextuint64Prefixed next rate value
has_rate_reset_floorboolFloor flag
has_rate_reset_capboolCap flag
dynamic_principal_redemptionboolDynamic annuity redemption flag
fixed_point_scaleuint64Fixed-point scale, currently 1_000_000_000

SDK-only metadata such as notional_unit_value and secondary-market dates is not part of this ABI struct.

InitialKernelState

Pre-IED state snapshot uploaded with contract_config.

FieldTypeMeaning
status_dateuint64Reference timestamp for the uploaded state
event_cursoruint64Starting global event cursor
outstanding_principaluint64Outstanding principal in base units
interest_calculation_baseuint64Interest base in base units
nominal_interest_rateuint64Current fixed-point nominal rate
accrued_interestuint64Accrued interest in base units
next_principal_redemptionuint64Next redemption target
cumulative_interest_indexuint64Per-unit fixed-point interest index
cumulative_principal_indexuint64Per-unit fixed-point principal index

ExecutionScheduleEntry

One normalized ACTUS schedule entry.

FieldTypeMeaning
event_iduint64Global contiguous event identifier
event_typeuint8ACTUS event id
scheduled_timeuint64Due timestamp
accrual_factoruint64Fixed-point accrual factor
redemption_accrual_factoruint64Fixed-point redemption factor
next_nominal_interest_rateuint64Fixed-point next rate
next_principal_redemptionuint64Next redemption state value
next_outstanding_principaluint64Next outstanding principal
flagsuint64Entry flags

ExecutionSchedulePage

Alias for:

ExecutionScheduleEntry[]

The current kernel accepts at most 16 entries per page.

ObservedEventRequest

Observed non-cash event payload used by apply_non_cash_event.

FieldTypeMeaning
event_iduint64Expected event id when appending
event_typeuint8ACTUS event id
scheduled_timeuint64Event timestamp
accrual_factoruint64Fixed-point accrual factor
redemption_accrual_factoruint64Fixed-point redemption factor
observed_rateuint64Observed fixed-point rate input
next_nominal_interest_rateuint64Fixed-point next rate
next_principal_redemptionuint64Next redemption state value
next_outstanding_principaluint64Next outstanding principal
flagsuint64Observed-event flags

ObservedCashEventRequest

Observed cash event payload used by append_observed_cash_event.

FieldTypeMeaning
event_iduint64Expected event id when appending
event_typeuint8ACTUS cash event id
scheduled_timeuint64Event timestamp
accrual_factoruint64Fixed-point accrual factor
redemption_accrual_factoruint64Fixed-point redemption factor
next_nominal_interest_rateuint64Fixed-point next rate
next_principal_redemptionuint64Next redemption state value
next_outstanding_principaluint64Next outstanding principal
flagsuint64Observed cash-event flags

KernelState

Readonly snapshot returned by contract_get_state.

FieldTypeMeaning
contract_typeuint8ACTUS contract family id
statusuint64Kernel lifecycle status
total_unitsuint64Total unit supply
reserved_units_totaluint64Units reserved pre-IED
initial_exchange_amountuint64Initial exchange amount
event_cursoruint64Current global event cursor
schedule_entry_countuint64Total uploaded schedule entries
outstanding_principaluint64Outstanding principal
interest_calculation_baseuint64Current interest base
nominal_interest_rateuint64Current fixed-point nominal rate
accrued_interestuint64Current accrued interest
cumulative_interest_indexuint64Global per-unit interest index
cumulative_principal_indexuint64Global per-unit principal index
reserved_interestuint64Reserved interest balance
reserved_principaluint64Reserved principal balance

The contract-level defaulted performance flag is stored separately in RBAC-managed global state and is not part of KernelState.

AccountPosition

Accounting position returned by account_get_position.

FieldTypeMeaning
payment_addressaddressCashflow destination
unitsuint64Active units
reserved_unitsuint64Pre-IED reserved units
suspendedboolAccount suspension flag
settled_cursoruint64Last settled global cursor
interest_checkpointuint64Applied interest index checkpoint
principal_checkpointuint64Applied principal index checkpoint
claimable_interestuint64Claimable interest amount
claimable_principaluint64Claimable principal amount

CashFundingResult

Result returned by fund_due_cashflows.

FieldTypeMeaning
funded_interestuint64Interest reserved in the call
funded_principaluint64Principal reserved in the call
total_fundeduint64Total reserved amount
processed_eventsuint64Number of processed cash events
timestampuint64Execution timestamp

CashClaimResult

Result returned by claim_due_cashflows.

FieldTypeMeaning
interest_amountuint64Interest realized or reported
principal_amountuint64Principal realized or reported
total_amountuint64Total realized or reported amount
timestampuint64Execution timestamp
contextbyte[]Opaque caller-supplied context