Types
To call core contracts from Move you have to encode the parameters using BCS. This page lists custom enums and structs used.
Enums
AgentID
| Name | Type |
|---|---|
| NoType | null |
| AddressAgentID | IscAddressAgentID |
| ContractAgentID | IscContractAgentID |
| EthereumAddressAgentID | IscEthereumAddressAgentID |
| NilAgentID | IscNilAgentID |
Request
| Name | Type |
|---|---|
| OnLedger | OnLedgerRequestData |
| OffLedger | OffLedgerRequestData |
| EVMOffLedgerTx | evmOffLedgerTxRequest |
VMErrorParam
| Name | Type |
|---|---|
| NoType | null |
| uint16 | u16 |
| int64 | [u8; 8] |
| string | string |
| uint8 | u8 |
| int32 | [u8; 4] |
| uint64 | u64 |
| int16 | [u8; 2] |
| uint32 | u32 |
Maps
CoinBalances
[CoinType][u64]
Structs
AccessNodeData
| Name | Type |
|---|---|
| ValidatorAddr | [u8; 32] |
| Certificate | [u8] |
| ForCommittee | bool |
| AccessAPI | string |
AccessNodeInfo
| Name | Type |
|---|---|
| NodePubKey | [u8; 32] |
| AccessNodeData | AccessNodeData |
Anchor
| Name | Type |
|---|---|
| iD | [u8; 32] |
| assets | Referent_AssetsBag |
| stateMetadata | [u8] |
| stateIndex | u32 |
AnchorWithRef
| Name | Type |
|---|---|
| objectRef | ObjectRef |
| object | Anchor |
| owner | [u8; 32] |
Assets
| Name | Type |
|---|---|
| Coins | CoinBalances |
| Objects | [u8; 32] |
AssetsBag
| Name | Type |
|---|---|
| iD | [u8; 32] |
| size | u64 |
AssetsBagWithBalances
| Name | Type |
|---|---|
| AssetsBag | AssetsBag |
| Assets | Assets |
BlockInfo
| Name | Type |
|---|---|
| schemaVersion | u8 |
| blockIndex | u32 |
| timestamp | u64 |
| previousAnchor | StateAnchor |
| l1Params | L1Params |
| totalRequests | u16 |
| numSuccessfulRequests | u16 |
| numOffLedgerRequests | u16 |
| gasBurned | u64 |
| gasFeeCharged | u64 |
CallTarget
| Name | Type |
|---|---|
| contract | u32 |
| entryPoint | u32 |
ChainInfo
| Name | Type |
|---|---|
| chainID | [u8; 32] |
| chainOwnerID | [u8; 32] |
| gasFeePolicy | FeePolicy |
| gasLimits | Limits |
| blockKeepAmount | [u8; 4] |
| publicURL | string |
| metadata | PublicChainMetadata |
CoinType
| Name | Type |
|---|---|
| s | string |
ContractIdentity
| Name | Type |
|---|---|
| kind | u8 |
| evmAddr | [u8, 20] |
| hname | u32 |
ContractRecord
| Name | Type |
|---|---|
| Name | string |
Event
| Name | Type |
|---|---|
| ContractID | u32 |
| Topic | string |
| Timestamp | u64 |
| Payload | [u8] |
FeePolicy
| Name | Type |
|---|---|
| eVMGasRatio | Ratio32 |
| gasPerToken | Ratio32 |
| validatorFeeShare | u8 |
GasBurnLog
| Name | Type |
|---|---|
| records | [GasBurnRecord] |
GasBurnRecord
| Name | Type |
|---|---|
| code | u16 |
| gasBurned | u64 |
IotaCoinInfo
| Name | Type |
|---|---|
| CoinType | CoinType |
| Decimals | u8 |
| Name | string |
| Symbol | string |
| Description | string |
| IconURL | string |
| TotalSupply | u64 |
L1Params
| Name | Type |
|---|---|
| protocol | Protocol |
| baseToken | IotaCoinInfo |
Limits
| Name | Type |
|---|---|
| maxGasPerBlock | u64 |
| minGasPerRequest | u64 |
| maxGasPerRequest | u64 |
| maxGasExternalViewCall | u64 |
Message
| Name | Type |
|---|---|
| Target | CallTarget |
| Params | [[byte]] |
ObjectRef
| Name | Type |
|---|---|
| objectID | [u8; 32] |
| version | u64 |
| digest | [u8] |
OnLedgerRequestData
| Name | Type |
|---|---|
| requestRef | ObjectRef |
| senderAddress | *[u8; 32] |
| targetAddress | *[u8; 32] |
| assets | *Assets |
| assetsBag | *AssetsBagWithBalances |
| requestMetadata | *RequestMetadata |
Protocol
| Name | Type |
|---|---|
| epoch | BigInt |
| protocolVersion | BigInt |
| systemStateVersion | BigInt |
| iotaTotalSupply | BigInt |
| referenceGasPrice | BigInt |
| epochStartTimestampMs | BigInt |
| epochDurationMs | BigInt |
PublicChainMetadata
| Name | Type |
|---|---|
| eVMJsonRPCURL | string |
| eVMWebSocketURL | string |
| name | string |
| description | string |
| website | string |
Ratio32
| Name | Type |
|---|---|
| A | u32 |
| B | u32 |
Referent_AssetsBag
| Name | Type | optional |
|---|---|---|
| iD | [u8; 32] | No |
| value | AssetsBag | Yes |
RequestMetadata
| Name | Type |
|---|---|
| senderContract | ContractIdentity |
| message | Message |
| allowance | *Assets |
| gasBudget | u64 |
RequestReceipt
| Name | Type |
|---|---|
| Request | Request |
| Error | IscUnresolvedVMError (optional) |
| GasBudget | u64 |
| GasBurned | u64 |
| GasFeeCharged | u64 |
| GasBurnLog | GasBurnLog |
| BlockIndex | u32 |
| RequestIndex | u16 |
RequestReceiptsResponse
| Name | Type |
|---|---|
| BlockIndex | u32 |
| Receipts | [RequestReceipt] |
StateAnchor
| Name | Type |
|---|---|
| anchor | AnchorWithRef |
| iscPackage | [u8; 32] |
UnresolvedVMError
| Name | Type |
|---|---|
| errorCode | IscVMErrorCode |
| params | [VMErrorParam] |
VMErrorCode
| Name | Type |
|---|---|
| contractID | u32 |
| iD | u16 |