Interactions
What’s an Interaction?
A MOI Interaction refers to any kind of action between participants on the MOI network. It results in a state change on the respective accounts of the interaction participants. For example, if Bob were to send Alice 1 unit of an asset, that asset must be deducted from Bob’s balance and credited to Alice; this is known as an Asset Transfer which is facilitated through AssetTransfer.
Other examples of Interaction in MOI include:
- The creation of a new Asset
- The transfer of one or more existing Assets between participants
- The minting/burning of an existing supply adjustable Asset
- The deployment of a new Logic
- The invocation of a routine on an existing Logic
Just like Transactions in other blockchain networks, Interactions in MOI need to be broadcast to the whole network, and all Guardian nodes in the network compete to finalize them. Any node can attempt to finalize an Interaction by successfully locking the context of the Interaction participants, executing the Interaction and finalizing the state transitions on the participants. Interactions require a fee for the cost incurred by the network to validate & execute them.
Interaction vs Operation
The primary difference between Interactions in MOI and Transactions in other blockchain protocols is the degree of general-purpose capability and flexibility.
- An Interaction intrinsically describes unique state transitions based on its type, and thus it is very easy to optimize consensus and design specific zk-proofs for these Interactions because the scope of the state transition is limited.
- A Operation, on the other hand, is designed to be a general-purpose wrapper and has a very large scope of state transition, thus limiting the ability of the network to perform advanced validation and other optimisations without relying on the operation execution layer.
- While Interactions are designed to express transitions between participants, Transactions are intended to express transitions between network state checkpoints and hence better at expressing units of transition on a large-scale peer-to-peer network
- Interactions are also capable of being highly customizable with participants being able to choose the parameters and constraints within which they are finalized, allowing for a very flexible modulation of trust.
Structure of an Interaction
| Parameter | Type | Description |
|---|---|---|
| sender | Sender | Object containing details of the interaction sender |
| payer | HEX (32 bytes) | Unique identifier of the payer [optional] |
| fuel_price | HEX | Fuel price |
| fuel_limit | HEX | Fuel limit |
| ix_operations | Array | List containing one or more participant create, account configure, account inherit, asset create, asset action, logic deploy or logic invoke operations. |
| participants | Array | List of participants involved in the interaction, each defining an participants’s role, locking behavior, and notary status |
| preferences | IxPreferences | Defines the compute and consensus preferences for the interaction [optional] |
| perception | Bytes | Encoded representation of the perceived asset value at the time of interaction (e.g., 1 KMOI token = 1 USD) [optional] |
Sender
The Sender object represents the participant initiating the interaction.
| Field | Type | Description |
|---|---|---|
| id | HEX (32 Bytes) | Unique identifier of the sender |
| sequence_id | Number | Sequential identifier used for ordering interactions |
| key_id | Number | Identifier representing the public key associated with the sender |
Participant
The Participant object represents a participant involved in the interaction.
| Field | Type | Description |
|---|---|---|
| id | HEX (32 Bytes) | Unique identifier representing the participant |
| lock_type | LockType | Defines the locking mechanism used for the participant’s account |
| notary | Boolean | Indicates whether the participant acts as a notary in the interaction |
LockType
Specifies the type of lock applied to a participant’s account during interaction execution.
| Value | Description |
|---|---|
MutateLock | Allows modification of the participant’s account state |
ReadLock | Grants read-only access to the participant’s account |
NoLock | No locking mechanism; the participant’s account remains unaffected |
IxPreferences
The IxPreferences object defines the preferences used for interaction execution, covering compute and consensus behavior.
| Field | Type | Description |
|---|---|---|
| compute | Bytes | Encoded data representing compute preferences |
| consensus | IxConsensusPreference | Object containing consensus-specific preferences for the interaction |
IxConsensusPreference
The IxConsensusPreference object defines the consensus-related preferences for an interaction.
| Field | Type | Description |
|---|---|---|
| MTQ | uint | Modulated trust quotient required for the interaction to be considered valid |
| TrustNodes | Array | List of trusted node identifiers (KramaID) that participate in the consensus process |
Example Interaction Objects
- AssetTransfer
- LogicDeploy
{
"ix_index": "0x0",
"hash": "0x37fbbaa93e836670cfbe68e735b59ebb72726c86aa679c18513f1712c65dca00",
"fuel_price": "0x1",
"fuel_limit": "0x2710",
"sender": {
"id": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"sequence_id": "0x13",
"key_id": "0x0"
},
"payer": "0x0000000000000000000000000000000000000000000000000000000000000000",
"ix_participants": [
{
"id": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"lock_type": 0
},
{
"id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"lock_type": 2
}
],
"funds": [],
"ix_operations": [
{
"type": 1,
"payload": {
"id": "0x000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000",
"value": {
"asset_id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"callsite": "Transfer",
"calldata": "0x0d6f0665a601d502616d6f756e74030186a062656e656669636961727906000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000"
}
}
}
],
"participants_state": [
{
"id": "0x000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000",
"height": "0x0",
"transitive_link": "0x0000000000000000000000000000000000000000000000000000000000000000",
"locked_context": "0x0000000000000000000000000000000000000000000000000000000000000000",
"context_delta": {
"consensus_nodes": [
"1116Uiu2HAkxNAsjmsEQADvWYDcKdhvbdhtPdCTytMQnSeu5WCm66QY",
"1116Uiu2HAm6m1XjPXnP8m1qtBztnLLmGfr8QjW1QE3AfeZuTyDmM9S",
"1116Uiu2HAm4RFCEbTvfYcw1NF6pGCQob7ZhmdcwqhXczjFDmTrY9nm",
"1116Uiu2HAmEEvCb1aF47SSPVjetKmvfvHH5D1sRmdV2mACvVuWzKHx",
"1116Uiu2HAmQiXtvrRqhGeXPy1AXRZbYskiWHVWrhkqZih1Varo5ndG"
],
"replaced_nodes": null
},
"state_hash": "0xd04c9f7abef2a2fd4cbe64bfd4054d2bcea6b064c76155cb2a22d17b006f7d6a"
},
{
"id": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"height": "0x14",
"transitive_link": "0xc0343f04b70da28235398aebf7e8bafbeb25ccd243f1a925267471f87c762739",
"locked_context": "0xdb1cf3ee96b9666faee751df70d735db36a9cb1b86eff63f1306997e41f0d48f",
"context_delta": null,
"state_hash": "0xa0b92b3d4bb4d554ad221fc727437811b73c02656230d669583a3349a06f65ce"
},
{
"id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"height": "0x0",
"transitive_link": "0x57937b8e3f070334e2490a0f183ed793b3d2f9f26bd2b68e3cc26c2e79be1caa",
"locked_context": "0x1df96b8133811d9a3db0425d823c1ff3d12325c09c11d360605246749be7de72",
"context_delta": null,
"state_hash": "0x5053eb1143ee6eaf879fa2b3acb233aece2b78f00a2aca61652c392cd86dd852"
},
{
"id": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"height": "0xb",
"transitive_link": "0xa9a755989697ff8c4cc5cdd292a8366c0b5ae052a905779e5272c6aa851e1afd",
"locked_context": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"context_delta": null,
"state_hash": "0xb824d167fc374f7123316480c430d5ae7683daf158fca343ef09e7f7fa4f2609"
}
],
"signatures": [
{
"id": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"key_id": "0x0",
"signature": "0x01463044022055d7a61ba37f6565cbb9a17f8964326d5ddc48b89b889ddd5c794077b1a9fbf5022067cfa50cc69ae4eb96c95a70d816fe213fe1f7151c3058e1f236c538cc2feac002"
}
],
"ts_hash": "0x3a2ff5148748e69101a66ce2d1f8b7c6a2cd01678ee048777f319ccd837f29ef",
"status": 1,
"timestamp": 1761911788
},
"preferences": {
"trust_quotient": 100,
"reputation_quotient": 100
},
"participants": [
{
"address": "0x000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000",
"context_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"state_hash": "0xd04c9f7abef2a2fd4cbe64bfd4054d2bcea6b064c76155cb2a22d17b006f7d6a",
"role": "participant"
},
{
"address": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"context_hash": "0xdb1cf3ee96b9666faee751df70d735db36a9cb1b86eff63f1306997e41f0d48f",
"state_hash": "0xa0b92b3d4bb4d554ad221fc727437811b73c02656230d669583a3349a06f65ce",
"role": "participant"
},
{
"address": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"context_hash": "0x1df96b8133811d9a3db0425d823c1ff3d12325c09c11d360605246749be7de72",
"state_hash": "0x5053eb1143ee6eaf879fa2b3acb233aece2b78f00a2aca61652c392cd86dd852",
"role": "participant"
},
{
"address": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"context_hash": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"state_hash": "0xb824d167fc374f7123316480c430d5ae7683daf158fca343ef09e7f7fa4f2609",
"role": "participant"
}
],
"receipt": {
"ix_hash": "0x37fbbaa93e836670cfbe68e735b59ebb72726c86aa679c18513f1712c65dca00",
"status": 0,
"fuel_used": "0x1af",
"ix_operations": [
{
"tx_type": "0x1",
"status": 0,
"data": {
"account_id": "0x000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000",
"error": "0x"
}
}
],
"from": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"ts_hash": "0x3a2ff5148748e69101a66ce2d1f8b7c6a2cd01678ee048777f319ccd837f29ef",
"participants": [
{
"id": "0x000000001fed487f9d4d794770627658f312e27208a9d17ff9befb9000000000",
"height": "0x0",
"transitive_link": "0x0000000000000000000000000000000000000000000000000000000000000000",
"locked_context": "0x0000000000000000000000000000000000000000000000000000000000000000",
"context_delta": {
"consensus_nodes": [
"1116Uiu2HAkxNAsjmsEQADvWYDcKdhvbdhtPdCTytMQnSeu5WCm66QY",
"1116Uiu2HAm6m1XjPXnP8m1qtBztnLLmGfr8QjW1QE3AfeZuTyDmM9S",
"1116Uiu2HAm4RFCEbTvfYcw1NF6pGCQob7ZhmdcwqhXczjFDmTrY9nm",
"1116Uiu2HAmEEvCb1aF47SSPVjetKmvfvHH5D1sRmdV2mACvVuWzKHx",
"1116Uiu2HAmQiXtvrRqhGeXPy1AXRZbYskiWHVWrhkqZih1Varo5ndG"
],
"replaced_nodes": null
},
"state_hash": "0xd04c9f7abef2a2fd4cbe64bfd4054d2bcea6b064c76155cb2a22d17b006f7d6a"
},
{
"id": "0x000000005dfd3e93ae09bea907f0d6db965ddfe84d09dfdf868e4e6800000000",
"height": "0x14",
"transitive_link": "0xc0343f04b70da28235398aebf7e8bafbeb25ccd243f1a925267471f87c762739",
"locked_context": "0xdb1cf3ee96b9666faee751df70d735db36a9cb1b86eff63f1306997e41f0d48f",
"context_delta": null,
"state_hash": "0xa0b92b3d4bb4d554ad221fc727437811b73c02656230d669583a3349a06f65ce"
},
{
"id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"height": "0x0",
"transitive_link": "0x57937b8e3f070334e2490a0f183ed793b3d2f9f26bd2b68e3cc26c2e79be1caa",
"locked_context": "0x1df96b8133811d9a3db0425d823c1ff3d12325c09c11d360605246749be7de72",
"context_delta": null,
"state_hash": "0x5053eb1143ee6eaf879fa2b3acb233aece2b78f00a2aca61652c392cd86dd852"
},
{
"id": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"height": "0xb",
"transitive_link": "0xa9a755989697ff8c4cc5cdd292a8366c0b5ae052a905779e5272c6aa851e1afd",
"locked_context": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"context_delta": null,
"state_hash": "0xb824d167fc374f7123316480c430d5ae7683daf158fca343ef09e7f7fa4f2609"
}
]
}
{
"ix_index": "0x0",
"hash": "0xbd9f158adc8a751e972f0d75aaac05062ee8e5934b79568bfe6992393e71c852",
"fuel_price": "0x1",
"fuel_limit": "0x214",
"sender": {
"id": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"sequence_id": "0x2",
"key_id": "0x0"
},
"payer": "0x0000000000000000000000000000000000000000000000000000000000000000",
"ix_participants": [
{
"id": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"lock_type": 0
}
],
"funds": [],
"ix_operations": [
{
"type": 11,
"payload": {
"manifest": "0x0e6f031ef601ce02013f064e56504953410f302e352e306c6f676963df010e9e048e0bbe168e20fe2a8e344f0300065e73746174652f065e6c6f6769631f0e3f03065676616c7565626f6f6c5f031e36be01011f0363616c6c61626c65cf010646b6019e02ae02be02fe02496e697464796e616d69636465706c6f790f0f3f0606000f5f031e56de01022f03130663616c6c61626c65cf010646b6019e02ae04be049e075365656464796e616d69636465706c6f791f0e3f030676696e697469616c626f6f6c0f5f06860280020a00040100550000011101060c0001000f5f031e36be01031f0363616c6c61626c65cf0106369601fe018e02fe03de05476574737461746963696e766f6b650f1f0e3f03065676616c7565626f6f6c5f06860180019000000500009e000f5f031e46ce01041f030663616c6c61626c65cf010636a6018e02fe038e04ee0653657464796e616d6963696e766f6b651f0e3f03065676616c7565626f6f6c0f5f06860280020a00040100550000011101060c0001000f5f031e36be01051f0363616c6c61626c65cf010666d601be02ce02de029e05546f67676c6564796e616d6963696e766f6b650f0f5f06e601e0019000009c01006201019b00019f000f5f031e36be01061f0363616c6c61626c65cf010636a601ae029e04ae04be0673657464796e616d6963696e7465726e616c1f0e3f03065676616c7565626f6f6c0f5f06b601b0019000000401009b00019f000f",
"logic_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
"callsite": "Seed",
"calldata": "0x0d2f0675696e697469616c02"
}
}
],
"participants_state": [
{
"id": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"height": "0xa",
"transitive_link": "0xc0343f04b70da28235398aebf7e8bafbeb25ccd243f1a925267471f87c762739",
"locked_context": "0x0a7326e159af1991dcea6fc53c9d596ab7dee501c86d56fa0aea82aac041f32c",
"context_delta": null,
"state_hash": "0x907e7d7cf9ea0bc4f2ba51be3dadbd9f6ddf4d49df229d04f37cd8f368568a72"
},
{
"id": "0x20000000ff572431a4f52ad972f54fee061847c682eb22ffa51c97a900000000",
"height": "0x0",
"transitive_link": "0x0000000000000000000000000000000000000000000000000000000000000000",
"locked_context": "0x0000000000000000000000000000000000000000000000000000000000000000",
"context_delta": {
"consensus_nodes": [
"1116Uiu2HAkxNAsjmsEQADvWYDcKdhvbdhtPdCTytMQnSeu5WCm66QY",
"1116Uiu2HAm6m1XjPXnP8m1qtBztnLLmGfr8QjW1QE3AfeZuTyDmM9S",
"1116Uiu2HAm4RFCEbTvfYcw1NF6pGCQob7ZhmdcwqhXczjFDmTrY9nm",
"1116Uiu2HAmQiXtvrRqhGeXPy1AXRZbYskiWHVWrhkqZih1Varo5ndG",
"1116Uiu2HAkym5sDWUXTDYAs3tLtNAdeePfErPwNe4hqBg8ZAVBrYRH"
],
"replaced_nodes": null
},
"state_hash": "0x4c0ab51f118c86d936d60f19710292863572ede0068b2c26e2cd326d321143f1"
},
{
"id": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"height": "0xf",
"transitive_link": "0x7460c2cccda875c4060f154c621fb1aed714efe2e17755b8cb096672121f3140",
"locked_context": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"context_delta": null,
"state_hash": "0x80740709d5d781b967b16f01d09d7fcfd26466413b1c1340dcb0b6624c089d62"
}
],
"signatures": [
{
"id": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"key_id": "0x0",
"signature": "0x0146304402205bf53304e61a7c82cb283a7bb321cd7951dcf66024ab6ff87cfef5ee359d1590022022ef4da1910e2d598a45940c22e77937ac479cbf5907ba101123b9135c43e6ed03"
}
],
"ts_hash": "0xe0fcc314a80f902a512527b9831f48991ac267d8dc89b4fa05cdf566ec65d021",
"status": 1,
"timestamp": 1762318277
},
"preferences": {
"trust_quotient": 100,
"reputation_quotient": 100
},
"participants": [
{
"address": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"context_hash": "0x0a7326e159af1991dcea6fc53c9d596ab7dee501c86d56fa0aea82aac041f32c",
"state_hash": "0x907e7d7cf9ea0bc4f2ba51be3dadbd9f6ddf4d49df229d04f37cd8f368568a72",
"role": "participant"
},
{
"address": "0x20000000ff572431a4f52ad972f54fee061847c682eb22ffa51c97a900000000",
"context_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"state_hash": "0x4c0ab51f118c86d936d60f19710292863572ede0068b2c26e2cd326d321143f1",
"role": "participant"
},
{
"address": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"context_hash": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"state_hash": "0x80740709d5d781b967b16f01d09d7fcfd26466413b1c1340dcb0b6624c089d62",
"role": "participant"
}
],
"receipt": {
"ix_hash": "0xbd9f158adc8a751e972f0d75aaac05062ee8e5934b79568bfe6992393e71c852",
"status": 0,
"fuel_used": "0x214",
"ix_operations": [
{
"tx_type": "0xb",
"status": 0,
"data": {
"logic_id": "0x20000000ff572431a4f52ad972f54fee061847c682eb22ffa51c97a900000000",
"error": "0x"
}
}
],
"from": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"ts_hash": "0xe0fcc314a80f902a512527b9831f48991ac267d8dc89b4fa05cdf566ec65d021",
"participants": [
{
"id": "0x00000000cef3cd6b8b8d8f809f8f7f7ac95a3833b0da182d995751c300000000",
"height": "0xa",
"transitive_link": "0xc0343f04b70da28235398aebf7e8bafbeb25ccd243f1a925267471f87c762739",
"locked_context": "0x0a7326e159af1991dcea6fc53c9d596ab7dee501c86d56fa0aea82aac041f32c",
"context_delta": null,
"state_hash": "0x907e7d7cf9ea0bc4f2ba51be3dadbd9f6ddf4d49df229d04f37cd8f368568a72"
},
{
"id": "0x20000000ff572431a4f52ad972f54fee061847c682eb22ffa51c97a900000000",
"height": "0x0",
"transitive_link": "0x0000000000000000000000000000000000000000000000000000000000000000",
"locked_context": "0x0000000000000000000000000000000000000000000000000000000000000000",
"context_delta": {
"consensus_nodes": [
"1116Uiu2HAkxNAsjmsEQADvWYDcKdhvbdhtPdCTytMQnSeu5WCm66QY",
"1116Uiu2HAm6m1XjPXnP8m1qtBztnLLmGfr8QjW1QE3AfeZuTyDmM9S",
"1116Uiu2HAm4RFCEbTvfYcw1NF6pGCQob7ZhmdcwqhXczjFDmTrY9nm",
"1116Uiu2HAmQiXtvrRqhGeXPy1AXRZbYskiWHVWrhkqZih1Varo5ndG",
"1116Uiu2HAkym5sDWUXTDYAs3tLtNAdeePfErPwNe4hqBg8ZAVBrYRH"
],
"replaced_nodes": null
},
"state_hash": "0x4c0ab51f118c86d936d60f19710292863572ede0068b2c26e2cd326d321143f1"
},
{
"id": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"height": "0xf",
"transitive_link": "0x7460c2cccda875c4060f154c621fb1aed714efe2e17755b8cb096672121f3140",
"locked_context": "0xef3d55603796202949766067425ad95f82fb2450d1f3ea2ca546414e08e7eb98",
"context_delta": null,
"state_hash": "0x80740709d5d781b967b16f01d09d7fcfd26466413b1c1340dcb0b6624c089d62"
}
]
}
Each Interaction type may require different fields to be set along with a different structure for the payload of the Interaction. Refer to the Types of Interactions section and the JSON-RPC Documentation for more information on the payload structure for each Interaction type.
This Interaction object needs to be POLO-encoded and signed with the private key of the sender, allowing to network to prove the origin and validity of the interaction. This process of encoding and signing the Interaction is typically handled by a client SDK like JS-MOI-SDK.
For more information on how to submit an Interaction to the network, refer to the tutorial on Submitting an Interaction.
Execution Fuel for an Interaction
The Fuel parameters fuel_price and fuel_limit in the Interaction determine the fuel dynamics and cost of that
Interaction. Fuel is paid for with the KMOI asset [Asset ID: 0x…].
- Price adjustment of an Interaction is not supported for the Public Devnet, i.e, the
fuel_priceof an Interaction must always be0x1[1 fuel unit = 1 KMOI]. Any other value for this field will result in the Interaction being rejected by the network. - The account of the Interaction
sendermust have sufficient balance of KMOI for the specifiedfuel_limitof an Interaction. Thisfuel_limitvalue must be large enough for the cost of the Interaction execution (based on the Interaction Type). For LogicInvoke, additional FUEL will be charged based on code execution of the Logic.
For more information about Execution Fuel and KMOI in MOI. Refer to Execution Fuel.
Interaction Lifecycle
Once the interactions has been submitted to the network the following happens:
- An interaction hash is cryptographically generated:
0x43d99bc7729218611a21b12c933c949d4f31684f1d6954ff417d0477538ff032 - The interaction is broadcast to the entire network and is added to the interaction pool consisting of other pending network interactions.
- Guardians will then attempt to finalize this Interaction (and other Interactions with the same context lock) by forming an ICS (Interaction Consensus Set) Cluster around it, the formation of this cluster indicates the successful locking on the context states of the interaction participants.
- Once the ICS is formed, all Guardians in the cluster will execute the Interactions, verify each other’s execution, update the participant contexts and agree on the state transition for each of the interaction participants. Once consensus is reached, the Interactions are bundled into a Tesseract for each participant and added to their respective participant Lattices.
- Each Interaction when included in a Tesseract is bundled with an Ixn Receipt with the proof and output of the Interaction. This receipt can be retrieved for interaction with the ixn hash.
- After successfully transitioning the context state of the interaction participants, the updated state is propagated to the rest of the network and the ICS cluster is dismissed.
At any point in time, millions of Interactions can be finalized in parallel across multiple ICS Clusters around the network that are being dynamically assembled and dismissed based on the context of the Interaction and its Participants.
Operations
A Operation is an individual action encapsulated within an interaction on
the MOI network. It is responsible for executing specific actions, such as asset
creation, asset invocation, participant creation, account configuration, account inheritance, logic deployment or logic invocation. Each operation
includes key details like the type of action being performed and the associated
payload. Operations are processed as part of an interaction, and their execution
directly impacts the state of participants and contributes to changes in the
overall network state. When an interaction containing these operations is
submitted, you'll receive an Interaction Hash. This hash can be used to query the
receipt of the interaction via the moi.InteractionReceipt API.
The interaction receipt will include a list of operation results within the
operations field containing specific details such as the operation type,
status, and result.
The supported operation types are:
ParticipantCreate
This operation registers a new participant within the network, establishing their unique identity. It serves as the entry point to interact with the network.
ParticipantCreateOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (1 for ParticipantCreate) |
| payload | ParticipantCreatePayload | Contains the information about the participant to be registered |
ParticipantCreatePayload
| Parameters | Type | Description |
|---|---|---|
| id | HEX (32 Bytes) | Id of the participant to be registered |
| add | Array | List of new keys to be added to the account. |
| value | AssetActionPayload | Optional payload defining contextual parameters or initialization actions. |
- Payload
- Ix Object
- Receipt
{
"payload": {
"id": "0x000000004678e9f5bf2f66362ef5367fbc72efe7b419a5e7d851f57b00000000",
"keys_payload": [
{
"public_key": "0x00000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000",
"weight": 1000,
"signature_algorithm": 0
}
],
"value": {
"asset_id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000"
}
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 0,
"key_id": 0
},
"fuel_price": 1,
"fuel_limit": 10000,
"ix_operations": [
{
"type": 1,
"payload": {
"id": "0x000000004678e9f5bf2f66362ef5367fbc72efe7b419a5e7d851f57b00000000",
"keys_payload": [
{
"public_key": "0x00000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000",
"weight": 1000,
"signature_algorithm": 0
}
],
"value": {
"asset_id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000"
}
}
}
],
"participants": [
{
"id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"lock_type": 2
}
]
}
ParticipantCreate does not return any result in the data field. A successful participant creation is indicated when the operation’s status in the receipt is marked as successful.
AccountConfigure
This operation manages an account’s configuration by enabling the addition or revocation of associated cryptographic keys. It ensures that account control and permissions remain flexible and securely maintained over time.
AccountConfigureOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (5 for AccountConfigure) |
| payload | AccountConfigurePayload | Contains the key management details for account configuration. |
AccountConfigurePayload
| Parameter | Type | Description |
|---|---|---|
| add | Array | List of new keys to be added to the account. |
| revoke | Array | List of existing keys to be revoked. |
KeyAddPayload
| Parameter | Type | Description |
|---|---|---|
| public_key | BYTES | Public key of the account key to be added. |
| weight | NUMBER | The weight assigned to the key for multi-signature operations. |
| signature_algorithm | NUMBER | The signature algorithm type used by the key. |
KeyRevokePayload
| Parameter | Type | Description |
|---|---|---|
| key_id | NUMBER | The unique identifier of the key to revoke. |
- Payload
- Ix Object
- Receipt
{
"payload": {
"add": [
{
"public_key": "0x000000004678e9f5bf2f66362ef5367fbc72efe7b419a5e7d851f57b00000000",
"weight": 1000,
"signature_algorithm": 0
}
],
"revoke": []
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 1,
"key_id": 0
},
"fuel_price": 1,
"fuel_limit": 10000,
"ix_operations": [
{
"type": 2,
"payload": {
"add": [
{
"public_key": "0x000000004678e9f5bf2f66362ef5367fbc72efe7b419a5e7d851f57b00000000",
"weight": 1000,
"signature_algorithm": 0
}
],
"revoke": []
}
}
],
"participants": []
}
AccountConfigure does not return any result in the data field. A successful account configuration is indicated when the operation’s status in the receipt is marked as successful.
AccountInherit
This operation allows an account to inherit the context or configuration of a specified target account. It is primarily used to instantiate sub-accounts that operate under shared governance or predefined parameters.
AccountInheritOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (6 for AccountInherit) |
| payload | AccountInheritPayload | Contains information about the inheritance process. |
AccountInheritPayload
| Parameter | Type | Description |
|---|---|---|
| target_account | HEX (32 Bytes) | The account identifier whose context or configuration will be inherited. |
| value | AssetActionPayload | Optional payload defining contextual parameters or initialization actions. |
| sub_account_index | NUMBER | The index of the sub-account inheriting from the target account. |
- Payload
- Ix Object
- Receipt
{
"payload": {
"target_account": "0x3b7f1d9b847f8a1f2d2f48701b56e0b6ff6727e7e56a3155db9e1f2b3fbb4d33",
"value": {
"asset_id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000"
},
"sub_account_index": 0
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 2,
"key_id": 0
},
"fuel_price": 1,
"fuel_limit": 10000,
"ix_operations": [
{
"type": 3,
"payload": {
"target_account": "0x20800000a6ba9853f131679d00da0f033516a2efe9cd53c3d54e1f9a00000000",
"value": {
"asset_id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000513b40a069905a1b05bd28d8338ad4a2eff419d7972be75900000000"
},
"sub_account_index": 0
}
}
],
"participants": [
{
"id": "0x108000004cd973c4eb83cdb8870c0de209736270491b7acc99873da100000000",
"lock_type": 2
}
]
}
AccountInherit does not return any result in the data field. A successful account inheritance is indicated when the operation’s status in the receipt is marked as successful.
AssetCreate
This operation defines and registers a new asset within the Tesseract Lattice. It establishes the foundational metadata, ownership structure, and initial state of the asset.
AssetCreateOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (4 for AssetCreate) |
| payload | AssetCreatePayload | Contains the information about the asset to be created |
AssetCreatePayload
| Parameters | Type | Description |
|---|---|---|
| symbol | STRING | Symbol of the asset (e.g., KOI) |
| max_supply | NUMBER | Maximum supply of the asset (e.g., 20000) |
| standard | NUMBER | Standard of the asset (e.g., 0) |
| dimension | NUMBER | Dimension or type classification of the asset (e.g., 0) |
| enable_events | BOOLEAN | Whether events are enabled for the asset |
| manager | STRING | Participant id of the asset manager |
AssetCreateResult
| Parameters | Type | Description |
|---|---|---|
| asset_id | [AssetID][AssetID_link] | Asset ID of created asset |
| id | HEX | Account id of asset |
- Payload
- Ix Object
- Receipt
{
"payload": {
"symbol": "KOI",
"max_supply": 20000,
"standard": 0,
"dimension": 0,
"enable_events": true,
"manager": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000"
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 4,
"key_id": 0
},
"fuel_price": 1,
"fuel_limit": 10000,
"ix_operations": [
{
"type": 4,
"payload": {
"symbol": "KOI",
"max_supply": 20000,
"standard": 0,
"dimension": 0,
"enable_events": true,
"manager": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000"
}
}
],
"participants": []
}
{
"asset_id": "0x10030000d9f12d13c0347a737430cdbcca174164f0823ccc39bedbe800000000",
"error": "0x"
}
AssetAction
This operation executes asset-specific routines. It encompasses a wide range of programmable asset behaviors, including transfers, minting, burning, approvals, locking, and other custom interactions defined within the asset logic.
AssetActionOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (5 for AssetAction) |
| payload | AssetActionPayload | Contains the information about the asset to be transferred |
AssetActionPayload
| Parameter | Type | Description |
|---|---|---|
| asset_id | HEX (32 Bytes) | The asset or context reference identifier. |
| callsite | STRING | The function or entry point invoked during inheritance. |
| calldata | HEX | Encoded call data representing contextual parameters. |
| interfaces | map[HEX]HEX (32 Bytes) | The external logic interfaces required for this interaction. |
- Payload
- Ix Object
- Receipt
{
"payload": {
"asset_id": "0x10030000d9f12d13c0347a737430cdbcca174164f0823ccc39bedbe800000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000ed434a2ab138e69295e134686d57d80a9aa3325dbbde9bbf00000000"
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 7,
"key_id": 0
},
"fuel_price": 1,
"fuel_limit": 10000,
"ix_operations": [
{
"type": 5,
"payload": {
"asset_id": "0x10030000d9f12d13c0347a737430cdbcca174164f0823ccc39bedbe800000000",
"callsite": "Transfer",
"calldata": "0x0d6f06659601c502616d6f756e7403138862656e65666963696172790600000000ed434a2ab138e69295e134686d57d80a9aa3325dbbde9bbf00000000"
}
}
],
"participants": [
{
"id": "0x00000000ed434a2ab138e69295e134686d57d80a9aa3325dbbde9bbf00000000",
"lock_type": 0
},
{
"id": "0x10030000d9f12d13c0347a737430cdbcca174164f0823ccc39bedbe800000000",
"lock_type": 2
}
]
}
{
"outputs": "0x0d0f",
"error": "0x"
}
LogicDeploy
This operation deploys a new logic instance to the network for decentralized execution. It enables the registration of custom routines or smart modules that can be invoked by participants.
LogicDeployOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (9 for LogicDeploy) |
| payload | LogicDeployPayload | Contains the information about the logic to be deployed |
LogicDeployPayload
| Parameters | Type | Description |
|---|---|---|
| manifest | HEX | serialized manifest |
| callsite | STRING | routine to be executed |
| calldata | HEX | serialized input for logic deploy |
LogicDeployResult
| Parameters | Type | Description |
|---|---|---|
| logic_id | [LogicID][LogicID_link] | Logic ID of deployed Logic |
| error | HEX | serialised error data if deployer execution fails |
- Payload
- Ix Object
- Receipt
{
"payload": {
"manifest": "0x7b2273796e746178223a22302e312e30222c22656e67696e65223a7b226b696e64223a2250495341222c22666c616773223a5b5d7d2c22656c656d656e7473223a5b7b22707472223a302c2264657073223a6e756c6c2c226b696e64223a227374617465222c2264617461223a7b226b696e64223a2270657273697374656e74222c226669656c6473223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d2c7b22736c6f74223a312c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d2c7b22736c6f74223a322c226c6162656c223a22737570706c79222c2274797065223a22753634227d2c7b22736c6f74223a332c226c6162656c223a2262616c616e636573222c2274797065223a226d61705b616464726573735d753634227d2c7b22736c6f74223a342c226c6162656c223a22616c6c6f77616e636573222c2274797065223a226d61705b616464726573735d6d61705b616464726573735d753634227d5d7d7d2c7b22707472223a312c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2253656564657221222c226b696e64223a226465706c6f796572222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d2c7b22736c6f74223a312c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d2c7b22736c6f74223a322c226c6162656c223a22737570706c79222c2274797065223a22753634227d2c7b22736c6f74223a332c226c6162656c223a22736565646572222c2274797065223a2261646472657373227d5d2c2272657475726e73223a6e756c6c2c226578656375746573223a7b2262696e223a5b342c302c302c3132392c302c302c342c302c312c3132392c302c312c342c302c322c3132392c302c322c3132382c312c332c342c322c332c38342c312c322c302c3132392c312c335d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a322c2264657073223a6e756c6c2c226b696e64223a22636f6e7374616e74222c2264617461223a7b2274797065223a22753634222c2276616c7565223a22307830333061227d7d2c7b22707472223a332c2264657073223a6e756c6c2c226b696e64223a2274797065646566222c2264617461223a226d61705b616464726573735d753634227d2c7b22707472223a342c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224e616d65222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a352c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2253796d626f6c222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c312c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a362c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22446563696d616c73222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22646563696d616c73222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b31372c302c322c31362c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a372c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22546f74616c537570706c79222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22737570706c79222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c322c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a382c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2242616c616e63654f66222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a2262616c616e6365222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c302c38332c322c302c312c352c322c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a392c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22416c6c6f77616e6365222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226f776e6572222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a227370656e646572222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22616c6c6f77616e6365222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c342c342c312c302c38332c322c302c312c342c332c312c38332c342c322c332c352c342c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31302c2264657073223a5b302c335d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22417070726f766521222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226f776e6572222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a227370656e646572222c2274797065223a2261646472657373227d2c7b22736c6f74223a322c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c342c342c312c302c38332c322c302c312c33322c332c322c39382c332c332c31372c342c31302c332c342c332c31372c342c302c34302c342c342c33362c322c342c312c342c332c312c342c342c322c38342c322c332c342c38342c302c312c322c3132392c302c342c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31312c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a225472616e7366657221222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a2266726f6d222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a22746f222c2274797065223a2261646472657373227d2c7b22736c6f74223a322c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c302c38332c322c302c312c342c332c322c36382c342c332c322c31372c352c31302c332c352c342c34312c302c312c352c302c302c302c312c3130322c342c322c332c38342c302c312c342c342c352c312c38332c342c302c352c3130312c362c342c332c38342c302c352c362c3132392c302c332c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31322c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224d696e7421222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d2c7b22736c6f74223a312c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c322c342c312c302c3130312c302c302c312c3132392c302c322c3132382c302c332c342c322c312c38332c332c302c322c3130312c332c332c312c38342c302c322c332c3132392c302c332c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31332c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224275726e21222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d2c7b22736c6f74223a312c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c312c38332c322c302c312c342c332c302c36382c342c332c322c31372c352c31302c332c352c342c34312c302c312c352c302c302c302c312c3130322c342c322c332c38342c302c312c342c3132392c302c332c3132382c302c322c3130322c302c302c332c3132392c302c322c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d5d7d",
"callsite": "Seeder!",
"calldata": "0x0def0106458601e501f605d506a60785086e616d65064d4f497365656465720652fdfc072182654f163f5f0f9a621d729566c74d10037c4d7bbb0407d1e2c649737570706c790301312d0073796d626f6c064d4f49"
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 8,
"key_id": 0
},
"fuel_price": "0x130D41",
"fuel_limit": "0x130D41",
"ix_operations": [
{
"type": 11,
"payload": {
"manifest": "0x7b2273796e746178223a22302e312e30222c22656e67696e65223a7b226b696e64223a2250495341222c22666c616773223a5b5d7d2c22656c656d656e7473223a5b7b22707472223a302c2264657073223a6e756c6c2c226b696e64223a227374617465222c2264617461223a7b226b696e64223a2270657273697374656e74222c226669656c6473223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d2c7b22736c6f74223a312c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d2c7b22736c6f74223a322c226c6162656c223a22737570706c79222c2274797065223a22753634227d2c7b22736c6f74223a332c226c6162656c223a2262616c616e636573222c2274797065223a226d61705b616464726573735d753634227d2c7b22736c6f74223a342c226c6162656c223a22616c6c6f77616e636573222c2274797065223a226d61705b616464726573735d6d61705b616464726573735d753634227d5d7d7d2c7b22707472223a312c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2253656564657221222c226b696e64223a226465706c6f796572222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d2c7b22736c6f74223a312c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d2c7b22736c6f74223a322c226c6162656c223a22737570706c79222c2274797065223a22753634227d2c7b22736c6f74223a332c226c6162656c223a22736565646572222c2274797065223a2261646472657373227d5d2c2272657475726e73223a6e756c6c2c226578656375746573223a7b2262696e223a5b342c302c302c3132392c302c302c342c302c312c3132392c302c312c342c302c322c3132392c302c322c3132382c312c332c342c322c332c38342c312c322c302c3132392c312c335d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a322c2264657073223a6e756c6c2c226b696e64223a22636f6e7374616e74222c2264617461223a7b2274797065223a22753634222c2276616c7565223a22307830333061227d7d2c7b22707472223a332c2264657073223a6e756c6c2c226b696e64223a2274797065646566222c2264617461223a226d61705b616464726573735d753634227d2c7b22707472223a342c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224e616d65222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226e616d65222c2274797065223a22737472696e67227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a352c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2253796d626f6c222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a2273796d626f6c222c2274797065223a22737472696e67227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c312c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a362c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22446563696d616c73222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22646563696d616c73222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b31372c302c322c31362c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a372c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22546f74616c537570706c79222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a6e756c6c2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22737570706c79222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c322c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a382c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a2242616c616e63654f66222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a2262616c616e6365222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c302c38332c322c302c312c352c322c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a392c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22416c6c6f77616e6365222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226f776e6572222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a227370656e646572222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a22616c6c6f77616e6365222c2274797065223a22753634227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c342c342c312c302c38332c322c302c312c342c332c312c38332c342c322c332c352c342c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31302c2264657073223a5b302c335d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a22417070726f766521222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a226f776e6572222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a227370656e646572222c2274797065223a2261646472657373227d2c7b22736c6f74223a322c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c342c342c312c302c38332c322c302c312c33322c332c322c39382c332c332c31372c342c31302c332c342c332c31372c342c302c34302c342c342c33362c322c342c312c342c332c312c342c342c322c38342c322c332c342c38342c302c312c322c3132392c302c342c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31312c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a225472616e7366657221222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a2266726f6d222c2274797065223a2261646472657373227d2c7b22736c6f74223a312c226c6162656c223a22746f222c2274797065223a2261646472657373227d2c7b22736c6f74223a322c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c302c38332c322c302c312c342c332c322c36382c342c332c322c31372c352c31302c332c352c342c34312c302c312c352c302c302c302c312c3130322c342c322c332c38342c302c312c342c342c352c312c38332c342c302c352c3130312c362c342c332c38342c302c352c362c3132392c302c332c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31322c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224d696e7421222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d2c7b22736c6f74223a312c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c322c342c312c302c3130312c302c302c312c3132392c302c322c3132382c302c332c342c322c312c38332c332c302c322c3130312c332c332c312c38342c302c322c332c3132392c302c332c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d2c7b22707472223a31332c2264657073223a5b305d2c226b696e64223a22726f7574696e65222c2264617461223a7b226e616d65223a224275726e21222c226b696e64223a22696e766f6b61626c65222c2261636365707473223a5b7b22736c6f74223a302c226c6162656c223a22616d6f756e74222c2274797065223a22753634227d2c7b22736c6f74223a312c226c6162656c223a2261646472222c2274797065223a2261646472657373227d5d2c2272657475726e73223a5b7b22736c6f74223a302c226c6162656c223a226f6b222c2274797065223a22626f6f6c227d5d2c226578656375746573223a7b2262696e223a5b3132382c302c332c342c312c312c38332c322c302c312c342c332c302c36382c342c332c322c31372c352c31302c332c352c342c34312c302c312c352c302c302c302c312c3130322c342c322c332c38342c302c312c342c3132392c302c332c3132382c302c322c3130322c302c302c332c3132392c302c322c34312c302c312c39382c302c302c352c302c305d2c22686578223a22222c2261736d223a6e756c6c7d2c2263617463686573223a6e756c6c7d7d5d7d",
"callsite": "Seeder",
"calldata": "0x0def0106458601e501f605d506a60785086e616d65064d4f497365656465720652fdfc072182654f163f5f0f9a621d729566c74d10037c4d7bbb0407d1e2c649737570706c790301312d0073796d626f6c064d4f49"
}
}
],
"participants": []
}
{
"logic_id": "0x080000d83e06477de424fc9c8addedbc294a176e301554c5ba76dbacbb97defe4a371c",
"error": "0x"
}
LogicInvoke
This operation triggers the execution of a predefined routine within a deployed logic instance. It allows participants to invoke specific routines within the deployed logic modules on the network.
LogicInvokeOperation
| Parameter | Type | Description |
|---|---|---|
| type | NUMBER | Type of interaction (10 for LogicInvoke) |
| payload | LogicInvokePayload | Contains the information about the specific routine to be invoked |
LogicInvokePayload
| Parameters | Type | Description |
|---|---|---|
| logic_id | [LogicID][LogicID_link] | The unique identifier of the logic for that needs to be invoked. |
| callsite | STRING | routine to be executed |
| calldata | HEX | serialised input for logic execution |
LogicInvokeResult
| Parameters | Type | Description |
|---|---|---|
| outputs | HEX | serialised output of logic execution |
| error | HEX | serialised error data if logic execution failed |
- Payload
- Ix Object
- Receipt
{
"payload": {
"logic_id": "0x0800008d898ef91ebd8a208855d6d1c98939202cfcb6a067530845993fe6975de1eb84",
"callsite": "BalanceOf",
"calldata": "0x0d2f0645616464720652fdfc072182654f163f5f0f9a621d729566c74d10037c4d7bbb0407d1e2c649"
}
}
{
"sender": {
"id": "0x000000001ec28dabfc3e4ac4dfc2084b45785b5e9cf1287b63a4f46900000000",
"sequence": 9,
"key_id": 0
},
"fuel_price": "0x130D41",
"fuel_limit": "0x130D41",
"ix_operations": [
{
"type": 12,
"payload": {
"logic_id": "0x0800008d898ef91ebd8a208855d6d1c98939202cfcb6a067530845993fe6975de1eb84",
"callsite": "BalanceOf",
"calldata": "0x0d2f0645616464720652fdfc072182654f163f5f0f9a621d729566c74d10037c4d7bbb0407d1e2c649"
}
}
],
"participants": [
{
"id": "0x0800008d898ef91ebd8a208855d6d1c98939202cfcb6a067530845993fe6975de1eb84",
"lock_type": 1
}
]
}
{
"outputs": "0x",
"error": "0x0e5f0696028e136275696c74696e2e496e69744572726f72696e76616c696420696e707574733a206d616c666f726d6564206461746120666f72202761646472273a206461746120646f6573206e6f74206465636f646520746f20616e20616464726573733a20696e636f6d70617469626c6520776972653a206d69736d6174636865642064617461206c656e67746820666f7220627974652061727261791f06726f6f742e73746172742829"
}
Future Interaction Types
The set of supported Interaction in MOI today, only covers the core capabilities of the MOI Protocol for the Public Devnet. This set will be extended in future rollouts to support capabilities like native fuel management, governance, voting, etc.