Page cover

Assets

Purpose: Asset registry with oracle configuration. Maps asset addresses to IDs and stores oracle feed data per asset.

List of Core Functions

Queries:

  • get-nonce: Get total asset count

  • get-reverse: Get asset ID by address

  • find: Get asset details by address

  • lookup: Get asset details by ID

  • get-bitmap: Get enabled assets bitmask

  • enabled: Check if assets are enabled

  • get-status: Get asset status (collateral/debt enabled)

  • get-asset-status: Get asset status by address

  • status-multi: Get status for multiple assets

Admin:

  • insert: Register new asset with oracle config

  • update: Update asset oracle configuration

  • enable: Enable asset for collateral or debt

  • disable: Disable asset for collateral or debt


Function Parameters

get-nonce

Get total number of registered assets.

Parameter
Type
Description

(none)

-

No parameters

Returns: (response uint uint) - Asset count


get-reverse

Get asset ID by contract address.

Parameter
Type
Description

asset

principal

Asset contract address

Returns: (response (buff 1) uint) - Asset ID buffer or error


find

Get asset details by contract address.

Parameter
Type
Description

asset

principal

Asset contract address

Returns: (response {...} uint) - Asset details or error

Fields:

  • id: (buff 1) - Asset ID

  • addr: principal - Contract address

  • decimals: uint - Token decimals

  • oracle: {...} - Oracle configuration


lookup

Get asset details by ID.

Parameter
Type
Description

id

uint

Asset ID

Returns: (response {...} uint) - Asset details or error

Fields:

  • id: (buff 1) - Asset ID

  • addr: principal - Contract address

  • decimals: uint - Token decimals

  • oracle: {...} - Oracle configuration (type, ident, callcode, max-staleness)


get-bitmap

Get enabled assets bitmask. Bits 0-63 represent collateral, bits 64-127 represent debt.

Parameter
Type
Description

(none)

-

No parameters

Returns: uint - Enabled assets bitmask


enabled

Check if asset mask is subset of enabled assets.

Parameter
Type
Description

mask

uint

Asset mask to check

Returns: bool - True if all assets in mask are enabled


get-status

Get asset status including collateral/debt enabled flags.

Parameter
Type
Description

id

uint

Asset ID

Returns: (response {...} uint) - Asset status or error

Fields:

  • All fields from lookup()

  • id: uint - Asset ID

  • collateral: bool - Collateral enabled

  • debt: bool - Debt enabled


get-asset-status

Get asset status by contract address.

Parameter
Type
Description

address

principal

Asset contract address

Returns: (response {...} uint) - Asset status or error

Fields: Same as get-status


status-multi

Get status for multiple assets at once.

Parameter
Type
Description

ids

(list 64 uint)

List of asset IDs

Returns: (list 64 {...}) - List of asset statuses


insert

Register new asset with oracle configuration. Asset IDs assigned sequentially.

Parameter
Type
Description

ft

<ft-trait>

Asset token contract

oracle-data

{ type: (buff 1), ident: (buff 32), callcode: (optional (buff 1)), max-staleness: uint }

Oracle configuration

Returns: (response uint uint) - Assigned asset ID or error

Authorization: DAO executor only

Oracle fields:

  • type: Oracle type (0x00=Pyth, 0x01=DIA, 0x02=Mock)

  • ident: Oracle feed identifier (32 bytes)

  • callcode: Optional price transformation (0x00=stSTX ratio, 0x01-0x06=zToken indexes)

  • max-staleness: Maximum age in seconds before price considered stale

Note: Asset decimals auto-detected from token contract


update

Update asset oracle configuration.

Parameter
Type
Description

asset

principal

Asset contract address

oracle-data

{ type: (buff 1), ident: (buff 32), callcode: (optional (buff 1)), max-staleness: uint }

New oracle configuration

Returns: (response bool uint) - Success or error

Authorization: DAO executor only

Note: Cannot change asset address or decimals, only oracle config


enable

Enable asset for collateral or debt usage.

Parameter
Type
Description

asset

principal

Asset contract address

collateral

bool

True to enable as collateral, false to enable as debt

Returns: (response bool uint) - Success or error

Authorization: DAO executor only

Note: Updates bitmap: collateral uses bits 0-63, debt uses bits 64-127


disable

Disable asset for collateral or debt usage.

Parameter
Type
Description

asset

principal

Asset contract address

collateral

bool

True to disable as collateral, false to disable as debt

Returns: (response bool uint) - Success or error

Authorization: DAO executor only

Note: Updates bitmap to remove asset from enabled set

Last updated