diff --git a/data-for-gpts/all-content.txt b/data-for-gpts/all-content.txt
index f91981b5c..21f2e3853 100644
--- a/data-for-gpts/all-content.txt
+++ b/data-for-gpts/all-content.txt
@@ -32053,7 +32053,7 @@ The `NftTransfer` object includes the following items for each token transaction
| status | string | Transfer status. Will be either `Send` or `Receive`. When the `from_address` and `to_address` are the same (i.e. sending to yourself), this value will be `Receive`. |
| verified | integer | May be `null`. A deprecated field which will be removed in future. |
| operator | string | May be `null`. |
-| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| confirmations | integer | The count of blocks produced since this transaction was confirmed. |
`verified` has no description. Related to [https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth](https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth)? Who verifies it? I can see there are ways to verify on opensea etc, I assume Moralis incorporates this.
@@ -42322,7 +42322,7 @@ This method generates a raw transaction which should then be broadcast using [se
| to | string | coins are withdrawn to this address |
| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
| max | bool | withdraw the maximum available amount |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
## Response
@@ -55883,7 +55883,7 @@ This method generates a raw transaction which should then be broadcast using [se
| amount | string (numeric) | The amount the user desires to withdraw, ignored when `max=true`. |
| memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
| max | bool | Optional. Withdraw the maximum available amount. |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| from | object | HD wallets only. A standard [WithdrawFromInfo](/komodo-defi-framework/api/common_structures/wallet/#withdraw-from-info) object. |
| ibc\_source\_channel | integer | Tendermint IBC transfers only. The source channel for the [IBC](https://tutorials.cosmos.network/academy/3-ibc/1-what-is-ibc.html) transaction. |
diff --git a/data-for-gpts/komodefi-api/all-api-content.txt b/data-for-gpts/komodefi-api/all-api-content.txt
index 90885b123..d6c4fc213 100644
--- a/data-for-gpts/komodefi-api/all-api-content.txt
+++ b/data-for-gpts/komodefi-api/all-api-content.txt
@@ -977,7 +977,7 @@ The `NftTransfer` object includes the following items for each token transaction
| status | string | Transfer status. Will be either `Send` or `Receive`. When the `from_address` and `to_address` are the same (i.e. sending to yourself), this value will be `Receive`. |
| verified | integer | May be `null`. A deprecated field which will be removed in future. |
| operator | string | May be `null`. |
-| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| confirmations | integer | The count of blocks produced since this transaction was confirmed. |
`verified` has no description. Related to [https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth](https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth)? Who verifies it? I can see there are ways to verify on opensea etc, I assume Moralis incorporates this.
@@ -11246,7 +11246,7 @@ This method generates a raw transaction which should then be broadcast using [se
| to | string | coins are withdrawn to this address |
| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
| max | bool | withdraw the maximum available amount |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
## Response
@@ -24807,7 +24807,7 @@ This method generates a raw transaction which should then be broadcast using [se
| amount | string (numeric) | The amount the user desires to withdraw, ignored when `max=true`. |
| memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
| max | bool | Optional. Withdraw the maximum available amount. |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| from | object | HD wallets only. A standard [WithdrawFromInfo](/komodo-defi-framework/api/common_structures/wallet/#withdraw-from-info) object. |
| ibc\_source\_channel | integer | Tendermint IBC transfers only. The source channel for the [IBC](https://tutorials.cosmos.network/academy/3-ibc/1-what-is-ibc.html) transaction. |
diff --git a/data-for-gpts/komodefi-api/legacy-api-content.txt b/data-for-gpts/komodefi-api/legacy-api-content.txt
index 6e90496c3..959205c90 100644
--- a/data-for-gpts/komodefi-api/legacy-api-content.txt
+++ b/data-for-gpts/komodefi-api/legacy-api-content.txt
@@ -8165,7 +8165,7 @@ This method generates a raw transaction which should then be broadcast using [se
| to | string | coins are withdrawn to this address |
| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
| max | bool | withdraw the maximum available amount |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
## Response
diff --git a/data-for-gpts/komodefi-api/v20-api-content.txt b/data-for-gpts/komodefi-api/v20-api-content.txt
index 388bdca69..b85d9d243 100644
--- a/data-for-gpts/komodefi-api/v20-api-content.txt
+++ b/data-for-gpts/komodefi-api/v20-api-content.txt
@@ -13211,7 +13211,7 @@ This method generates a raw transaction which should then be broadcast using [se
| amount | string (numeric) | The amount the user desires to withdraw, ignored when `max=true`. |
| memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
| max | bool | Optional. Withdraw the maximum available amount. |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| from | object | HD wallets only. A standard [WithdrawFromInfo](/komodo-defi-framework/api/common_structures/wallet/#withdraw-from-info) object. |
| ibc\_source\_channel | integer | Tendermint IBC transfers only. The source channel for the [IBC](https://tutorials.cosmos.network/academy/3-ibc/1-what-is-ibc.html) transaction. |
diff --git a/data-for-gpts/komodo-defi-framework-content.txt b/data-for-gpts/komodo-defi-framework-content.txt
index 64f4ff2a4..1b50712d7 100644
--- a/data-for-gpts/komodo-defi-framework-content.txt
+++ b/data-for-gpts/komodo-defi-framework-content.txt
@@ -977,7 +977,7 @@ The `NftTransfer` object includes the following items for each token transaction
| status | string | Transfer status. Will be either `Send` or `Receive`. When the `from_address` and `to_address` are the same (i.e. sending to yourself), this value will be `Receive`. |
| verified | integer | May be `null`. A deprecated field which will be removed in future. |
| operator | string | May be `null`. |
-| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| confirmations | integer | The count of blocks produced since this transaction was confirmed. |
`verified` has no description. Related to [https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth](https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth)? Who verifies it? I can see there are ways to verify on opensea etc, I assume Moralis incorporates this.
@@ -11246,7 +11246,7 @@ This method generates a raw transaction which should then be broadcast using [se
| to | string | coins are withdrawn to this address |
| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
| max | bool | withdraw the maximum available amount |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
## Response
@@ -24807,7 +24807,7 @@ This method generates a raw transaction which should then be broadcast using [se
| amount | string (numeric) | The amount the user desires to withdraw, ignored when `max=true`. |
| memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
| max | bool | Optional. Withdraw the maximum available amount. |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| from | object | HD wallets only. A standard [WithdrawFromInfo](/komodo-defi-framework/api/common_structures/wallet/#withdraw-from-info) object. |
| ibc\_source\_channel | integer | Tendermint IBC transfers only. The source channel for the [IBC](https://tutorials.cosmos.network/academy/3-ibc/1-what-is-ibc.html) transaction. |
diff --git a/filepathSlugs.json b/filepathSlugs.json
index df9f121d4..4cb18ca17 100644
--- a/filepathSlugs.json
+++ b/filepathSlugs.json
@@ -2006,10 +2006,9 @@
],
"src/pages/komodo-defi-framework/api/common_structures/activation/index.mdx": [
"activation-structures",
- "account-address-info",
"activation-mode",
- "activation-params",
"activation-rpc-data",
+ "activation-params",
"activation-servers",
"zhtlc-example",
"hd-utxo-activation-v2",
@@ -2026,28 +2025,19 @@
],
"src/pages/komodo-defi-framework/api/common_structures/index.mdx": [
"komodo-de-fi-sdk-common-structures",
- "address-format",
- "example",
- "balance-info",
- "derivation-method",
- "event-stream-config",
"numeric-formats-value",
- "fee-info",
- "examples",
- "extended-fee-info",
- "total-fee-info",
"fractional-value",
"pagination",
- "example-2",
+ "example",
"rational-value",
+ "streaming-config",
+ "example-2",
+ "streaming-fee-config",
+ "example-stream-fee-estimator-enable",
+ "event-stream-config",
"sync-status",
"sync-status-extended",
"example-3",
- "withdraw-fee",
- "example-of-eth-type",
- "example-of-qrc20-type",
- "example-of-tendermint-type",
- "example-of-utxo-type",
"filter-criteria",
"example-4",
"paging-options",
@@ -2074,31 +2064,33 @@
],
"src/pages/komodo-defi-framework/api/common_structures/nfts/index.mdx": [
"non-fungible-token-structures",
+ "nft-filter",
"nft-info-basic",
"nft-info",
- "nft-filter",
+ "nft-metadata",
+ "nft-provider",
"nft-transfer",
"nft-transfer-filter",
- "nft-metadata",
- "withdraw-nft-data",
- "nft-provider"
+ "withdraw-nft-data"
],
"src/pages/komodo-defi-framework/api/common_structures/orders/index.mdx": [
"order-structures",
+ "1inch-protocol-image",
+ "1inch-protocol-info",
+ "1inch-token-info",
+ "1inch-tx-fields",
"cancel-by",
"conf-settings",
- "request-by",
+ "match-by",
"order-address",
- "order-type",
- "order-status-data",
"order-data-v1",
"order-data-v2",
+ "order-status-data",
+ "order-data-v1-2",
+ "order-data-v2-2",
"order-summary-data",
- "match-by",
- "1inch-token-info",
- "1inch-protocol-info",
- "1inch-tx-fields",
- "1inch-protocol-image"
+ "order-type",
+ "request-by"
],
"src/pages/komodo-defi-framework/api/common_structures/swaps/index.mdx": [
"swap-structures",
@@ -2175,9 +2167,21 @@
],
"src/pages/komodo-defi-framework/api/common_structures/wallet/index.mdx": [
"wallet-operations-structures",
- "history-target",
+ "account-address-info",
+ "address-derivation-path",
+ "address-format",
"example",
+ "address-info",
+ "example-with-balances",
+ "example-without-balances",
"address-path",
+ "balance-info",
+ "derivation-method",
+ "extended-fee-info",
+ "fee-info",
+ "examples",
+ "history-target",
+ "example-2",
"input-txns",
"new-address-info",
"pay-for-gas",
@@ -2187,9 +2191,24 @@
"priv-key-policy",
"raw-tx-info",
"scan-addresses-info",
+ "total-fee-info",
+ "withdraw-fee",
+ "example-of-eth-type",
+ "example-of-qrc20-type",
+ "example-of-tendermint-type",
+ "example-of-utxo-type",
+ "wallet-account-info",
"wallet-balance-info",
"withdraw-from-info",
- "wallet-account-info"
+ "error-types",
+ "not-sufficient-balance",
+ "response-not-sufficient-balance-error",
+ "zero-balance-to-withdraw-max",
+ "amount-too-low",
+ "invalid-address",
+ "invalid-fee-policy",
+ "response-invalid-fee-policy-error-attempt-to-use-eth-gas-for-utxo-coin",
+ "response-invalid-fee-policy-error-attempt-to-use-utxo-fixed-or-utxo-per-kbyte-for-eth-coin"
],
"src/pages/komodo-defi-framework/api/index.mdx": [
"komodo-de-fi-framework-rpc-methods"
@@ -2436,7 +2455,8 @@
"response-2"
],
"src/pages/komodo-defi-framework/api/legacy/index.mdx": [
- "komodo-de-fi-framework-api-rpc-legacy"
+ "komodo-de-fi-framework-api-rpc-legacy",
+ "common-komodo-de-fi-sdk-request-response-objects"
],
"src/pages/komodo-defi-framework/api/legacy/kmd_rewards_info/index.mdx": [
"kmd-rewards-info",
@@ -2527,11 +2547,15 @@
"command",
"command-max-true",
"response-success",
- "response-error",
- "response-history-too-large-in-electrum-mode",
"response-sync-in-progress-for-utxo-coins",
"response-sync-in-progress-for-eth-erc-20-coins",
- "response-successful-result-in-case-of-eth-erc-20-coins"
+ "response-successful-result-in-case-of-eth-erc-20-coins",
+ "error-coin-not-active",
+ "error-coin-not-compatible",
+ "error-coin-enabled-without-tx-history-true",
+ "error-local-database-failed",
+ "error-from-id-not-found",
+ "error-history-too-large"
],
"src/pages/komodo-defi-framework/api/legacy/order_status/index.mdx": [
"order-status",
@@ -2824,55 +2848,153 @@
"unexpected-token-protocol-error"
],
"src/pages/komodo-defi-framework/api/v20/coin_activation/index.mdx": [
- "zhtlc-coin-methods"
+ "coin-activation-v2"
],
- "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/index.mdx": [
- "task-managed-coin-activation"
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/index.mdx": [
+ "task-bch-slp-activation",
+ "task-enable-bch-init",
+ "arguments",
+ "response",
+ "examples",
+ "activation-in-trezor-mode",
+ "response-2",
+ "task-enable-bch-status",
+ "arguments-2",
+ "command",
+ "response-ready-successful-hd-mode",
+ "response-ready-successful-iguana-mode",
+ "response-in-progress",
+ "response-ready-error",
+ "task-enable-bch-user-action",
+ "arguments-3",
+ "response-3",
+ "examples-2",
+ "command-2",
+ "response-success",
+ "task-enable-bch-cancel",
+ "arguments-4",
+ "response-4",
+ "response-success-2",
+ "response-success-already-finished",
+ "response-error-no-such-task"
],
- "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/index.mdx": [
- "task-enable-qtum",
- "init",
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/index.mdx": [
+ "task-eth-evm-activation",
+ "task-enable-eth-init",
+ "arguments",
+ "response",
+ "response-2",
+ "examples",
+ "activation-in-trezor-mode",
+ "response-3",
+ "task-enable-eth-status",
+ "arguments-2",
+ "command",
+ "response-ready-successful-hd-mode",
+ "response-in-progress",
+ "response-ready-error",
+ "task-enable-eth-user-action",
+ "arguments-3",
+ "response-4",
+ "examples-2",
+ "command-2",
+ "response-success",
+ "task-enable-eth-cancel",
+ "arguments-4",
+ "response-5",
+ "response-success-2",
+ "response-success-already-finished",
+ "response-error-no-such-task"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/index.mdx": [
+ "task-qtum-activation",
+ "task-enable-qtum-init",
"arguments",
"response",
"examples",
"command",
"response-2",
- "status",
+ "task-enable-qtum-status",
"arguments-2",
"request",
- "response-ready-successful-iguana-mode",
- "user-action",
+ "task-enable-qtum-user-action",
"arguments-3",
"response-3",
"examples-2",
"command-2",
"response-success",
- "error-cases"
+ "error-cases",
+ "task-enable-qtum-cancel",
+ "arguments-4",
+ "response-4",
+ "examples-3",
+ "command-3",
+ "response-success-2"
],
- "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/index.mdx": [
- "task-enable-utxo",
- "init",
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/index.mdx": [
+ "task-tendermint-activation",
+ "task-enable-tendermint-init",
"arguments",
"response",
"examples",
"activation-in-trezor-mode",
"response-2",
- "status",
+ "task-enable-tendermint-status",
"arguments-2",
"command",
- "response-ready-successful-trezor-mode",
- "response-ready-successful-iguana-mode",
+ "response-3",
+ "response-in-progress",
+ "error-types",
+ "platform-config-is-not-found-error",
+ "platform-is-already-activated-error",
+ "coin-protocol-parse-error",
+ "unexpected-platform-protocol-error",
+ "token-config-is-not-found-error",
+ "token-protocol-parse-error-error",
+ "unexpected-token-protocol-error",
+ "task-enable-tendermint-user-action",
+ "arguments-3",
+ "response-4",
+ "examples-2",
+ "command-2",
+ "response-success",
+ "task-enable-tendermint-cancel",
+ "arguments-4",
+ "response-5",
+ "response-success-2",
+ "response-success-already-finished",
+ "response-error-no-such-task"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/index.mdx": [
+ "task-utxo-activation",
+ "task-enable-utxo-init",
+ "arguments",
+ "response",
+ "examples",
+ "activation-in-trezor-mode",
+ "response-2",
+ "task-enable-utxo-status",
+ "arguments-2",
+ "command",
+ "response-ready-successful-hd-mode",
"response-in-progress",
"response-ready-error",
- "user-action",
+ "task-enable-utxo-user-action",
"arguments-3",
"response-3",
"examples-2",
"command-2",
- "response-success"
+ "response-success",
+ "task-enable-utxo-cancel",
+ "arguments-4",
+ "response-4",
+ "response-success-2",
+ "response-success-already-finished",
+ "response-error-no-such-task"
],
- "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/index.mdx": [
- "initialize-zhtlc-coin-activation",
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/index.mdx": [
+ "task-z-coin-activation",
+ "task-enable-z-coin-init",
"arguments",
"response",
"examples",
@@ -2881,7 +3003,7 @@
"sync-from-sapling-activation-height-earliest",
"using-websockets-to-sync-from-proof-of-keys-day-2023",
"response-2",
- "activation-status",
+ "task-enable-z-coin-status",
"arguments-2",
"response-3",
"examples-2",
@@ -2889,22 +3011,28 @@
"response-activating-coin-enabling-has-started",
"response-updating-blocks-cache",
"response-building-wallet-db",
- "response-complete",
+ "response-enabling-complete",
"response-coin-creation-error-no-zcash-params",
"response-error-no-such-task",
"response-error-invalid-request",
- "response-enabling-complete",
"response-no-zcash-params",
"response-error-no-such-task-2",
- "cancel-activation",
+ "task-enable-z-coin-user-action",
"arguments-3",
"response-4",
+ "response-success",
+ "task-enable-z-coin-cancel",
+ "arguments-4",
+ "response-5",
"examples-3",
"command",
- "response-success",
+ "response-success-2",
"response-success-already-finished",
"response-error-no-such-task-3"
],
+ "src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/index.mdx": [
+ "task-managed-coin-activation"
+ ],
"src/pages/komodo-defi-framework/api/v20/index.mdx": [
"komodo-de-fi-sdk-rpc-protocol-v2-0",
"request",
@@ -2913,24 +3041,7 @@
"examples",
"response-success-2",
"response-error-2",
- "common-komodo-de-fi-sdk-request-response-objects",
- "error-types",
- "not-sufficient-balance",
- "response-not-sufficient-balance-error",
- "zero-balance-to-withdraw-max",
- "amount-too-low",
- "invalid-address",
- "invalid-fee-policy",
- "response-invalid-fee-policy-error-attempt-to-use-eth-gas-for-utxo-coin",
- "response-invalid-fee-policy-error-attempt-to-use-utxo-fixed-or-utxo-per-kbyte-for-eth-coin",
- "no-such-coin",
- "transport",
- "internal-error",
- "error-cases",
- "error-coin-not-active",
- "error-coin-not-compatible",
- "error-coin-enabled-without-tx-history-true",
- "error-local-database-failed"
+ "common-komodo-de-fi-sdk-request-response-objects"
],
"src/pages/komodo-defi-framework/api/v20/lightning/activation/index.mdx": [
"lightning-network-initialization-tasks",
@@ -3163,6 +3274,101 @@
"transport-error-unable-to-estimate-gas",
"not-enough-nfts-amount-trying-to-send-more-nfts-than-you-have"
],
+ "src/pages/komodo-defi-framework/api/v20/streaming/balance_enable/index.mdx": [
+ "balance-enable",
+ "request-parameters",
+ "response-parameters",
+ "examples",
+ "request",
+ "response",
+ "coin-not-found",
+ "unknown-client",
+ "client-already-listening",
+ "enable-error-error"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/disable/index.mdx": [
+ "disable",
+ "request-parameters",
+ "examples",
+ "request",
+ "response",
+ "streamer-not-found",
+ "unknown-client"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/fee_estimator/index.mdx": [
+ "fee-estimator-enable",
+ "request-parameters",
+ "examples",
+ "request",
+ "response",
+ "coin-not-found",
+ "coin-not-supported",
+ "unknown-client",
+ "client-already-listening",
+ "invalid-request"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/heartbeat_enable/index.mdx": [
+ "heartbeat-enable",
+ "request-parameters",
+ "response-parameters",
+ "examples",
+ "request",
+ "response",
+ "unknown-client",
+ "client-already-listening"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/index.mdx": [
+ "streaming-methods"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/network_enable/index.mdx": [
+ "network-enable",
+ "request-parameters",
+ "response-parameters",
+ "examples",
+ "request",
+ "response",
+ "unknown-client",
+ "client-already-listening"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/order_status_enable/index.mdx": [
+ "order-status-enable",
+ "request-parameters",
+ "examples",
+ "request",
+ "response",
+ "unknown-client",
+ "client-already-listening"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/orderbook_enable/index.mdx": [
+ "orderbook-enable",
+ "request-parameters",
+ "examples",
+ "request",
+ "response",
+ "unknown-client",
+ "client-already-listening"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/swap_status_enable/index.mdx": [
+ "swap-status-enable",
+ "request-parameters",
+ "examples",
+ "request",
+ "response",
+ "unknown-client",
+ "client-already-listening"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/streaming/tx_history_enable/index.mdx": [
+ "tx-history-enable",
+ "request-parameters",
+ "response-parameters",
+ "examples",
+ "request",
+ "response",
+ "coin-not-found",
+ "unknown-client",
+ "client-already-listening",
+ "coin-not-supported-error"
+ ],
"src/pages/komodo-defi-framework/api/v20/swaps_and_orders/active_swaps/index.mdx": [
"active-swaps",
"arguments",
@@ -3418,14 +3624,14 @@
],
"src/pages/komodo-defi-framework/api/v20/utils/task_init_trezor/index.mdx": [
"trezor-initialisation",
- "init",
+ "task-init-trezor-init",
"arguments",
"response",
"examples",
"command-without-device-pubkey",
"command-with-device-pubkey",
"response-success",
- "status",
+ "task-init-trezor-status",
"arguments-2",
"response-2",
"examples-2",
@@ -3433,14 +3639,14 @@
"response-in-progress",
"response-ready-successful",
"error-responses-by-error-type",
- "cancel",
+ "task-init-trezor-cancel",
"arguments-3",
"response-3",
"examples-3",
"command-2",
"response-ready-successful-2",
"response-error-task-already-finished",
- "user-action",
+ "task-init-trezor-user-action",
"arguments-4",
"response-4",
"examples-4",
@@ -3465,8 +3671,13 @@
],
"src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/index.mdx": [
"get-eth-estimated-fee-per-gas",
- "request",
- "response"
+ "request-simple",
+ "response",
+ "request-provider",
+ "response-2",
+ "error-missing-parameter",
+ "error-coin-not-active",
+ "error-coin-not-supported"
],
"src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_swap_transaction_fee_policy/index.mdx": [
"get-swap-transaction-fee-policy",
@@ -3485,54 +3696,7 @@
"request",
"response"
],
- "src/pages/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/index.mdx": [
- "start-eth-fee-estimator",
- "response"
- ],
- "src/pages/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/index.mdx": [
- "stop-eth-fee-estimator",
- "response"
- ],
- "src/pages/komodo-defi-framework/api/v20/wallet/hd/address_management/index.mdx": [
- "hierarchical-deterministic-address-management",
- "get-new-address",
- "arguments",
- "response",
- "examples",
- "command",
- "response-success",
- "init",
- "response-success-2",
- "status",
- "arguments-2",
- "response-success-3",
- "user-action",
- "arguments-3",
- "response-2",
- "examples-2",
- "command-2",
- "response-success-4",
- "cancel",
- "arguments-4",
- "response-3",
- "examples-3",
- "command-3",
- "response-success-5",
- "task-scan-for-new-addresses-init",
- "arguments-5",
- "response-4",
- "examples-4",
- "command-4",
- "response-success-6",
- "task-scan-for-new-addresses-status",
- "arguments-6",
- "response-5",
- "examples-5",
- "command-5",
- "response-success-no-new-address-found",
- "response-success-new-address-found"
- ],
- "src/pages/komodo-defi-framework/api/v20/wallet/hd/get_wallet_names/index.mdx": [
+ "src/pages/komodo-defi-framework/api/v20/wallet/get_wallet_names/index.mdx": [
"get-wallet-names",
"arguments",
"response",
@@ -3541,53 +3705,6 @@
"response-in-no-login-mode",
"response-while-logged-in"
],
- "src/pages/komodo-defi-framework/api/v20/wallet/hd/index.mdx": [
- "hd-wallets-overview",
- "initialisation-and-authentication-hardware-wallets-only",
- "utxo-and-qtum-coin-activation-in-hd-mode",
- "withdrawing-your-funds",
- "viewing-hardware-wallet-coin-balances",
- "creating-new-addresses",
- "viewing-transaction-history"
- ],
- "src/pages/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/index.mdx": [
- "account-balance-tasks",
- "init",
- "arguments",
- "response",
- "examples",
- "command",
- "response-ready-successful",
- "status",
- "arguments-2",
- "response-2",
- "examples-2",
- "command-2",
- "response-ready-successful-2",
- "cancel",
- "arguments-3",
- "response-3",
- "examples-3",
- "command-3",
- "response-ready-successful-3",
- "response-error-task-already-finished"
- ],
- "src/pages/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/index.mdx": [
- "task-create-new-account",
- "init",
- "arguments",
- "response",
- "examples",
- "command",
- "response-ready-successful",
- "status",
- "arguments-2",
- "response-2",
- "examples-2",
- "command-2",
- "response-ready-successful-2",
- "response-in-progress"
- ],
"src/pages/komodo-defi-framework/api/v20/wallet/index.mdx": [
"wallet-methods"
],
@@ -3661,12 +3778,96 @@
"invalid-request-unsupported-coin-type",
"no-such-coin-coin-not-yet-active"
],
+ "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/index.mdx": [
+ "task-account-balance",
+ "task-account-balance-init",
+ "arguments",
+ "response",
+ "examples",
+ "command",
+ "response-ready-successful",
+ "task-account-balance-status",
+ "arguments-2",
+ "response-2",
+ "examples-2",
+ "command-2",
+ "response-ready-successful-2",
+ "task-account-balance-cancel",
+ "arguments-3",
+ "response-3",
+ "examples-3",
+ "command-3",
+ "response-ready-successful-3",
+ "response-error-task-already-finished"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/index.mdx": [
+ "task-create-new-account",
+ "task-create-new-account-init",
+ "arguments",
+ "response",
+ "examples",
+ "command",
+ "response-ready-successful",
+ "task-create-new-account-status",
+ "arguments-2",
+ "response-2",
+ "examples-2",
+ "command-2",
+ "response-ready-successful-2",
+ "response-in-progress"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/index.mdx": [
+ "task-get-new-address",
+ "task-get-new-address-init",
+ "arguments",
+ "response",
+ "examples",
+ "command",
+ "response-success",
+ "task-get-new-address-status",
+ "response-2",
+ "response-success-2",
+ "task-get-new-address-user-action",
+ "arguments-2",
+ "response-3",
+ "examples-2",
+ "command-2",
+ "response-success-3",
+ "task-get-new-address-cancel",
+ "arguments-3",
+ "response-4",
+ "examples-3",
+ "command-3",
+ "response-success-4"
+ ],
"src/pages/komodo-defi-framework/api/v20/wallet/task_managed/index.mdx": [
- "task-managed-wallet-methods"
+ "task-managed-wallet-methods",
+ "hd-wallets-overview",
+ "initialisation-and-authentication-hardware-wallets-only",
+ "coin-activation-in-hd-mode",
+ "withdrawing-your-funds",
+ "viewing-hd-wallet-balances-and-addresses",
+ "viewing-hd-wallet-transaction-history"
],
- "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/index.mdx": [
+ "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/index.mdx": [
+ "task-scan-for-new-addresses",
+ "task-scan-for-new-addresses-init",
+ "arguments",
+ "response",
+ "examples",
+ "command",
+ "response-success",
+ "task-scan-for-new-addresses-status",
+ "arguments-2",
+ "response-2",
+ "examples-2",
+ "command-2",
+ "response-success-no-new-address-found",
+ "response-success-new-address-found"
+ ],
+ "src/pages/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/index.mdx": [
"withdraw-tasks",
- "init",
+ "task-withdraw-init",
"arguments",
"response",
"examples",
@@ -3677,7 +3878,7 @@
"command-hd-wallet-derivation-path-option",
"command-hd-wallet-account-id-chain-and-address-id-option",
"response-2",
- "status",
+ "task-withdraw-status",
"arguments-2",
"response-3",
"examples-2",
@@ -3687,7 +3888,7 @@
"response-generating-kmd-transaction-complete-with-rewards-info",
"response-no-such-task-task-expired",
"response-error-waiting-for-user-to-confirm-signing-on-hardware-wallet-device",
- "cancel",
+ "task-withdraw-cancel",
"arguments-3",
"response-4",
"examples-3",
@@ -3804,7 +4005,8 @@
"error-token-config-not-activated"
],
"src/pages/komodo-defi-framework/api/v20-dev/index.mdx": [
- "komodo-de-fi-framework-api-rpc-protocol-v2-0-dev"
+ "komodo-de-fi-framework-api-rpc-protocol-v2-0-dev",
+ "common-komodo-de-fi-sdk-request-response-objects"
],
"src/pages/komodo-defi-framework/api/v20-dev/one_inch_v6_0_classic_swap_create/index.mdx": [
"1inch-v6-0-classic-swap-create",
@@ -3958,6 +4160,7 @@
"example-wss-with-certificates",
"example-with-wallet-name-and-wallet-password",
"example-with-1inch-api",
+ "example-with-event-streaming-enabled",
"example-for-hd-wallets",
"examples-for-seed-nodes",
"coins-file-configuration",
diff --git a/src/data/sidebar.json b/src/data/sidebar.json
index 0cef92988..e312adc7e 100644
--- a/src/data/sidebar.json
+++ b/src/data/sidebar.json
@@ -359,10 +359,6 @@
{
"title": "V2 Methods Overview",
"href": "/komodo-defi-framework/api/v20/"
- },
- {
- "title": "HD Methods Overview",
- "href": "/komodo-defi-framework/api/v20/wallet/hd/"
}
]
},
@@ -406,17 +402,29 @@
"title": "Overview",
"href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/"
},
+ {
+ "title": "Task: Enable BCH",
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/"
+ },
+ {
+ "title": "Task: Enable ETH",
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/"
+ },
{
"title": "Task: Enable QTUM",
- "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/"
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/"
},
+ {
+ "title": "Task: Enable Tendermint",
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/"
+ },
{
"title": "Task: Enable UTXO",
- "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/"
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/"
},
{
"title": "Task: Enable ZHTLC",
- "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/"
+ "href": "/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/"
}
]
},
@@ -438,14 +446,6 @@
{
"title": "set_swap_transaction_fee_policy",
"href": "/komodo-defi-framework/api/v20/wallet/fee_management/set_swap_transaction_fee_policy/"
- },
- {
- "title": "start_eth_fee_estimator",
- "href": "/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/"
- },
- {
- "title": "stop_eth_fee_estimator",
- "href": "/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/"
}
]
},
@@ -483,6 +483,51 @@
}
]
},
+ {
+ "title": "Streaming",
+ "links": [
+ {
+ "title": "Overview",
+ "href": "/komodo-defi-framework/api/v20/streaming/"
+ },
+ {
+ "title": "Enable Balance",
+ "href": "/komodo-defi-framework/api/v20/streaming/balance_enable/"
+ },
+ {
+ "title": "Enable Fee Estimator",
+ "href": "/komodo-defi-framework/api/v20/streaming/fee_estimator/"
+ },
+ {
+ "title": "Enable Heartbeat",
+ "href": "/komodo-defi-framework/api/v20/streaming/heartbeat_enable/"
+ },
+ {
+ "title": "Enable Network",
+ "href": "/komodo-defi-framework/api/v20/streaming/network_enable/"
+ },
+ {
+ "title": "Enable Orderbook",
+ "href": "/komodo-defi-framework/api/v20/streaming/orderbook_enable/"
+ },
+ {
+ "title": "Enable Order Status",
+ "href": "/komodo-defi-framework/api/v20/streaming/order_status_enable/"
+ },
+ {
+ "title": "Enable Swap Status",
+ "href": "/komodo-defi-framework/api/v20/streaming/swap_status_enable/"
+ },
+ {
+ "title": "Enable Transaction History",
+ "href": "/komodo-defi-framework/api/v20/streaming/tx_history_enable/"
+ },
+ {
+ "title": "Disable",
+ "href": "/komodo-defi-framework/api/v20/streaming/disable/"
+ }
+ ]
+ },
{
"title": "Swaps & Orders",
"links": [
@@ -640,27 +685,31 @@
},
{
"title": "get_wallet_names",
- "href": "/komodo-defi-framework/api/v20/wallet/hd/get_wallet_names/"
+ "href": "/komodo-defi-framework/api/v20/wallet/get_wallet_names/"
+ },
+ {
+ "title": "Task Managed Methods Overview",
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/"
},
{
- "title": "HD Address Management",
- "href": "/komodo-defi-framework/api/v20/wallet/hd/address_management/"
+ "title": "Task: Account Balance",
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/"
},
{
- "title": "HD Account Balance Tasks",
- "href": "/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/"
+ "title": "Task: Create New Account",
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/"
},
{
- "title": "Task: Account Balance",
- "href": "/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/"
+ "title": "Task: Get New Address",
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/"
},
{
- "title": "Task Managed Methods",
- "href": "/komodo-defi-framework/api/v20/wallet/task_managed/"
+ "title": "Task: Scan For New Adresses",
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/"
},
{
"title": "Task: Withdraw",
- "href": "/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/"
+ "href": "/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/"
}
]
},
diff --git a/src/pages/komodo-defi-framework/api/common_structures/activation/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/activation/index.mdx
index 3f88b26b9..e0ba3750e 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/activation/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/activation/index.mdx
@@ -3,41 +3,16 @@ export const description = "The Komodo DeFi SDK uses a variety of activation met
# Activation Structures
-### AccountAddressInfo
-
-The `AccountAddressInfo` object includes the following items for active addresses in the activation response for a coin in HD mode:
-
-| Parameter | Type | Description |
-| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
-| address | string | The account address for a specific derivation path under the `account_index`. |
-| derivation\_path | string | The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of the address. |
-| chain | string | `External` or `Internal`, as defined in the activation request. |
-| balance | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. |
-
-
- ```json
- {
- "address": "RXNtAyDSsY3DS3VxTpJegzoHU9bUX54j56",
- "derivation_path": "m/44'/141'/0'/0/0",
- "chain": "External",
- "balance": {
- "spendable": "7.64018255",
- "unspendable": "0"
- }
- }
- ```
-
-
### ActivationMode
-Defines the activation mode for QTUM, BCH, UTXO & ZHTLC coins.
+
+ Defines the activation mode for QTUM, BCH, UTXO & ZHTLC coins.
-| Parameter | Type | Description |
-| --------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
-| rpc | string | `Native` if running a native blockchain node, `Electrum` if using electrum servers or `Light` for ZHTLC coins. |
-| rpc\_data | object | `Electrum` or `Light` mode only. A standard [ActivationRpcData](/komodo-defi-framework/api/common_structures/activation/#activation-rpc-data) object. |
+ | Parameter | Type | Description |
+ | --------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
+ | rpc | string | `Native` if running a native blockchain node, `Electrum` if using electrum servers or `Light` for ZHTLC coins. |
+ | rpc\_data | object | `Electrum` or `Light` mode only. A standard [ActivationRpcData](/komodo-defi-framework/api/common_structures/activation/#activation-rpc-data) object. |
-
```json
{
"mode": {
@@ -57,6 +32,21 @@ Defines the activation mode for QTUM, BCH, UTXO & ZHTLC coins.
```
+### ActivationRpcData
+
+Contains information about electrum & lightwallet\_d servers for coins being used in `Electrum` or `Light` mode.
+
+| Parameter | Type | Description |
+| ------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| light\_wallet\_d\_servers | list | ZHTLC only. A list of urls which are hosting lightwallet\_d servers for a coin. |
+| electrum\_servers | list of objects | ZHTLC only. A list of standard [ActivationServers](/komodo-defi-framework/api/common_structures/activation/#activation-servers) objects. |
+| electrum | list of objects | QTUM, BCH & UTXO coins only. A list of standard [ActivationServers](/komodo-defi-framework/api/common_structures/activation/#activation-servers) objects. |
+| sync\_params | integer or string | ZHTLC coins only. Optional, defaults to two days ago. Defines where to start scanning blockchain data upon initial activation. Options: `"earliest"` (the coin's sapling\_activation\_height), `height` (a specific block height) or `date` (a unix timestamp). |
+
+
+ `electrum` and `electrum_servers` are both used for the same purpose. This should be consolidated in the API.
+
+
### ActivationParams
The `ActivationParams` object defines additional parameters used for activation. These params may vary depending on the coin type.
@@ -76,6 +66,11 @@ The `ActivationParams` object defines additional parameters used for activation.
| path\_to\_address | object | Optional, HD wallets only. A standard [AddressDerivationPath](/komodo-defi-framework/api/common_structures/activation/#address-derivation-path) object. |
| get\_balances | boolean | Optional, defaults to `true`. If `false`, coin and token balances will not be returned in the response, and the response will be returned more quickly. |
+
+ Is priv\_key\_policy still a thing?
+ Defaults to `ContextPrivKey`. Set as `Trezor` to activate in Trezor mode.
+
+
For ZHTLC coins, older wallets need to set the `sync_params` field to a date before its
first transaction to see all balance and history. This may take a long time on the first
@@ -88,21 +83,6 @@ The `ActivationParams` object defines additional parameters used for activation.
load during ZHTLC coin activation.
-### ActivationRpcData
-
-Contains information about electrum & lightwallet\_d servers for coins being used in `Electrum` or `Light` mode.
-
-| Parameter | Type | Description |
-| ------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| light\_wallet\_d\_servers | list | ZHTLC only. A list of urls which are hosting lightwallet\_d servers for a coin. |
-| electrum\_servers | list of objects | ZHTLC only. A list of standard [ActivationServers](/komodo-defi-framework/api/common_structures/activation/#activation-servers) objects. |
-| electrum | list of objects | QTUM, BCH & UTXO coins only. A list of standard [ActivationServers](/komodo-defi-framework/api/common_structures/activation/#activation-servers) objects. |
-| sync\_params | integer or string | ZHTLC coins only. Optional, defaults to two days ago. Defines where to start scanning blockchain data upon initial activation. Options: `"earliest"` (the coin's sapling\_activation\_height), `height` (a specific block height) or `date` (a unix timestamp). |
-
-
- `electrum` and `electrum_servers` are both used for the same purpose. This should be consolidated in the API.
-
-
### ActivationServers
Contains information electrum servers for coins being used in `Electrum` or `Light` mode.
@@ -198,12 +178,12 @@ The `AddressDerivationPath` object defines the account / change / address\_index
The `AddressInfo` object includes the following items for a given address:
-| Parameter | Type | Description |
-| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| balances | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. Not included in responses where `get_balances` is `false` |
-| derivation\_method | object | A standard [DerivationMethod](/komodo-defi-framework/api/common_structures/#derivation-method) object |
-| pubkey | string | The public key associated with the seed used to launch Komodo DeFi Framework |
-| tickers | array | A list of tokens which were successfully activated. Only included in responses where `get_balances` is `false` |
+| Parameter | Type | Description |
+| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| balances | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. Not included in responses where `get_balances` is `false` |
+| derivation\_method | object | A standard [DerivationMethod](/komodo-defi-framework/api/common_structures/wallet/#derivation-method) object |
+| pubkey | string | The public key associated with the seed used to launch Komodo DeFi Framework |
+| tickers | array | A list of tokens which were successfully activated. Only included in responses where `get_balances` is `false` |
#### Example with balances
@@ -253,10 +233,10 @@ The `AddressInfo` object includes the following items for a given address:
The `CoinNode` object includes the following items for a given coin or token:
-| Parameter | Type | Description |
-| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------- |
-| url | string | URL of an RPC node |
-| komodo\_proxy | boolean | Optional, defaults to `false`. Must be set to `true` to access RPC nodes run officially by the Komodo Platform team |
+| Parameter | Type | Description |
+| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| url | string | URL of an RPC node |
+| komodo\_auth | boolean | Optional, defaults to `false`. Must be set to `true` to access RPC nodes run behind [komodo-defi-proxy](https://github.com/KomodoPlatform/komodo-defi-proxy) |
```json
diff --git a/src/pages/komodo-defi-framework/api/common_structures/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/index.mdx
index 1aa744c81..1395e7ba9 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/index.mdx
@@ -5,121 +5,10 @@ export const description = "Starting with version beta-2.1.3434, the Komodo DeFi
The objects are in the request or response of multiple Komodo DeFi SDK methods have been grouped into the following sections:
-* [Activation](/komodo-defi-framework/api/common_structures/activation/)
-* [Swaps](/komodo-defi-framework/api/common_structures/swaps/)
-* [Lightning Network](/komodo-defi-framework/api/common_structures/lightning/)
-* [Non-fungible Tokens](/komodo-defi-framework/api/common_structures/nfts/)
-* [Wallet Operations](/komodo-defi-framework/api/common_structures/wallet/)
+
Structures which are used in more than one section are listed below:
-## AddressFormat
-
-| Structure | Type | Description |
-| --------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| format | string (enum) | address format to which the input address should be converted. Possible values: `mixedcase` for ETH/ERC20 coins; `cashaddress` or `standard` for UTXO coins; `contract` or `wallet` for QTUM/QRC20 |
-| network | string (enum) | Optional, only used for UTXO coins. Network prefix for `cashaddress` format. Possible values: `bitcoincash` for BCH mainnet; `bchtest` for BCH testnet; `bchreg` for BCH regtest |
-
-
- #### Example
-
- ```json
- {
- "format": "mixedcase"
- }
- ```
-
- ```json
- {
- "format": "cashaddress",
- "network": "bitcoincash"
- }
- ```
-
-
-### BalanceInfo
-
-The `balanceInfo` object includes the following items for a given coin or token:
-
-| Parameter | Type | Description |
-| ----------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------ |
-| spendable | string (numeric) | The available amount of a coin or token which is ready to be traded or withdrawn. |
-| unspendable | string (numeric) | The amount of a coin or token which is awaiting confirmation on the block chain for an incoming or outgoing transaction. |
-
-
- ```json
- {
- "spendable": "12.11398301",
- "unspendable": "0.53"
- }
- ```
-
-
-### DerivationMethod
-
-The `DerivationMethod` object includes the following items for a given coin or token:
-
-| Parameter | Type | Description |
-| --------- | ------ | ------------------------------------------------------------------------------- |
-| type | string | Defines how keypairs will be generated. Possible values: `Iguana` or `HDWallet` |
-
-
- Using the same seed or private key to generate keypairs using different derivation methods will result in a different address and private key for each method.
-
-
-Where the value indicates:
-
-* `Iguana`: The coin or token is was activated using Iguana derivation (default).
-* `HDWallet`: The coin or token is was activated using a Heirarchical Deterministic (HD) Wallet derivation path.
-
-
- ```json
- {
- "type": "Iguana"
- }
- ```
-
-
-### EventStreamConfig
-
-The `EventStreamConfig` object defines which events will be streamed to the client:
-
-| Parameter | Type | Description |
-| ------------------------------ | ------ | -------------------------------------------------------------------------------------- |
-| access\_control\_allow\_origin | string | Defines CORS whitelist. Use "\*" to allow fromi any origin. |
-| active\_events | object | Events to be streamed to the client, along with configuration defineing frequency etc. |
-| worker\_path | string | WASM only. Path to a custom `worker.js` file. |
-
-Active events are defined as follows:
-
-* NETWORK: Network status changes. Requires `stream_interval_seconds` configuration.
-* HEARTBEAT: Allows clients to easily determine whether channels are functioning. Requires `stream_interval_seconds` configuration.
-* COIN\_BALANCE: Balance changes. Does not require `stream_interval_seconds` configuration, as the event is triggered by the balance change.
-
-
- The `COIN_BALANCE` event may not be available for all coins or tokens.
-
-
-An example of the event stream output can then be viewed in [https://github.com/KomodoPlatform/komodo-defi-framework/blob/main/examples/sse/index.html](https://github.com/KomodoPlatform/komodo-defi-framework/blob/main/examples/sse/index.html)
-
-
- ```json
- "event_stream_configuration": {
- "access_control_allow_origin": "*",
- "active_events": {
- "NETWORK": {
- "stream_interval_seconds": 1.5,
- },
- "COIN_BALANCE": {},
- "HEATBEAT": {
- "stream_interval_seconds": 2.4,
- }
- },
- "worker_path": "index.js"
- }
- ```
-
-
### NumericFormatsValue
The `NumericFormatsValue` returns a price or amount in three different formats: `fraction`, `rational`, and `decimal`.
@@ -146,92 +35,6 @@ The `NumericFormatsValue` returns a price or amount in three different formats:
```
-### FeeInfo
-
-The `FeeInfo` response object includes the following items for [withdraw (v2)](/komodo-defi-framework/api/v20/wallet/tx/withdraw/) requests:
-
-| Parameter | Type | Description |
-| ---------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
-| type | string | Type of transaction fee. Possible values: `UtxoFixed`, `UtxoPerKbyte`, `UtxoPriority`, `EthGas`, `Qrc20Gas`, `CosmosGas` |
-| amount | string (numeric) | Fee amount in coin units, used only when type is `UtxoFixed` (fixed amount not depending on tx size) or `UtxoPerKbyte` (amount per Kbyte) |
-| priority | string | Used only when type is `UtxoPriority`. Possible values: 'Low', 'Normal', 'High'. |
-| gas\_price | string (numeric) | Used only when fee type is `Qrc20Gas` or `EthGas`; sets the gas price in `gwei` units. |
-| gas\_price | number (double) | Used only when fee type is `CosmosGas`; sets the gas price. |
-| gas | number (integer) | Used only when fee type is `EthGas`; sets the gas limit for transaction |
-| gas\_limit | number (integer) | Used only when fee type is `Qrc20Gas` or `CosmosGas`; sets the gas limit for transaction |
-
-
- #### Examples
-
- ```json
- {
- "type": "UtxoFixed",
- "amount": "0.0001"
- }
- ```
-
- ```json
- {
- "type": "UtxoPerKbyte",
- "amount": "0.0001"
- }
- ```
-
- ```json
- {
- "type": "UtxoPriority",
- "priority": "Low"
- }
- ```
-
- ```json
- {
- "type": "EthGas",
- "gas_price": "10",
- "gas": 21000
- }
- ```
-
- ```json
- {
- "type": "Qrc20Gas",
- "gas_price": "10",
- "gas_limit": 21000
- }
- ```
-
- ```json
- {
- "type": "CosmosGas",
- "gas_price": 0.05,
- "gas_limit": 21000
- }
- ```
-
-
-### ExtendedFeeInfo
-
-| Structure | Type | Description |
-| ------------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| coin | string | the fee is paid from the user's balance of this coin. This coin name may differ from the `base` or `rel` coins. For example, ERC20 fees are paid by ETH (gas) |
-| amount | string (numeric) | fee amount (in decimal representation) |
-| amount\_rat | rational | fee amount (in rational representation) |
-| amount\_fraction | fraction | fee amount (in fraction representation) |
-| amount\_fraction | fraction | fee amount (in fraction representation) |
-| paid\_from\_trading\_vol | bool | whether the fee is paid from trading volume and not use actual `coin` balance |
-
-### TotalFeeInfo
-
-| Structure | Type | Description |
-| --------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| coin | string | the fee is paid from the user's balance of this coin. This coin name may differ from the `base` or `rel` coins. For example, ERC20 fees are paid by ETH (gas) |
-| amount | string (numeric) | fee amount (in decimal representation) |
-| amount\_rat | rational | fee amount (in rational representation) |
-| amount\_fraction | fraction | fee amount (in fraction representation) |
-| required\_balance | string (numeric) | the required `coin` balance to pay the fee |
-| required\_balance\_rat | rational | `required_balance` in rational representation |
-| required\_balance\_fraction | fraction | `required_balance` in fraction representation |
-
### FractionalValue
The `FractionalValue` object includes a [numerator and denominator](https://www.freemathhelp.com/numerator-denominator/) values for a given price or amount:
@@ -294,6 +97,65 @@ The `numerator` and `denominator` are BigInteger numbers represented as a sign a
`[-1,[1,1]]` represents `-1000000000000000000000000000000010000000000000000000000000000000` = `-4294967297`
+### StreamingConfig
+
+You can optionally apply more detailed configuration to event streaming methods.
+
+| Parameter | Type | Description |
+| ------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| stream\_interval\_seconds | float | Interval in seconds between streaming event update requests. Defaults to `10` for [stream::balance::enable](/komodo-defi-framework/api/v20/streaming/balance_enable/) and `5` for [stream::network::enable](/komodo-defi-framework/api/v20/streaming/network_enable/)/[stream::heartbeat::enable](/komodo-defi-framework/api/v20/streaming/heartbeat_enable/) |
+| always\_send | boolean | [stream::network::enable](/komodo-defi-framework/api/v20/streaming/network_enable/) only. Optional, defaults to `false`. If `true`, network data will always be sent every `stream_interval_seconds`, even when there is no change. If `false`, network data will be sent regardless. |
+
+
+ #### Example
+
+ ```json
+ {
+ "stream_interval_seconds": 33.3
+ }
+ ```
+
+ ### StreamingFeeConfig
+
+ | Parameter | Type | Description |
+ | --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ | estimate\_every | float | Optional, defaults to `15`. Interval in seconds between fee estimate updates. |
+ | estimate\_type | string | Optional, defaults to `Simple`. If set to `Provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/) Used in [get\_eth\_estimated\_fee\_per\_gas](/komodo-defi-framework/api/v20/streaming/fee_estimator/) only. |
+
+ #### Example (stream::fee\_estimator::enable)
+
+ ```json
+ {
+ "estimate_every": 33.3,
+ "estimate_type": "Provider"
+ }
+ ```
+
+
+### EventStreamConfig
+
+The `EventStreamConfig` object defines which events will be streamed to the client:
+
+| Parameter | Type | Description |
+| ------------------------------ | ------ | ---------------------------------------------------------- |
+| access\_control\_allow\_origin | string | Defines CORS whitelist. Use "\*" to allow from any origin. |
+| worker\_path | string | WASM only. Path to a custom `worker.js` file. |
+
+Configurable events, and how to enable them, is detailed in the [streaming methods doc](/komodo-defi-framework/api/v20/streaming/)
+
+An example of the event stream output can then be viewed in [https://github.com/KomodoPlatform/komodo-defi-framework/blob/main/examples/sse/index.html?id=CLIENT\_ID](https://github.com/KomodoPlatform/komodo-defi-framework/blob/main/examples/sse/index.html?id=0)
+
+The `CLIENT_ID` value used in the url must match the `client_id` value used when enabling streaming events. In the case of a single client only, defining the client\_id is not required (it will default to `0`).
+
+
+ ```json
+ {
+ "access_control_allow_origin": "*",
+ "worker_path": "index.js"
+ }
+ ```
+
+
### SyncStatus
| Parameter | Type | Description |
@@ -341,69 +203,6 @@ The `numerator` and `denominator` are BigInteger numbers represented as a sign a
```
-### WithdrawFee
-
-The `WithdrawFee` object varies depending on the coin or token type. Refer to the examples to view the object structure for each type.
-
-| Parameter | Type | Description |
-| --------------- | -------------- | --------------------------------------------------------------------------------- |
-| type | string | The fee type. Either `Utxo`, `Tendermint`, `Qrc20` or `Eth`. |
-| amount | numeric string | `Utxo` or `Tendermint` type only. The fee amount. |
-| coin | string | The coin which will be used to pay the transaction fee. |
-| gas | integer | `Eth` type only. The amount of gas to be used for the transaction. |
-| gas\_price | numeric string | `Eth` or `Qrc20` type only. Price per unit of gas to be used for the transaction. |
-| gas\_limit | numeric string | `Tendermint` or `Qrc20` type only. Maximum gas to be used for the transaction. |
-| miner\_fee | numeric string | `Tendermint` type only. Fee to mine the transaction. |
-| total\_fee | numeric string | `Eth` type only. Gas price multiplied by gas amount. |
-| total\_gas\_fee | numeric string | `Qrc20` type only. Gas price multiplied by gas amount. |
-
-
- #### Example of Eth type
-
- ```json
- {
- "type": "Eth",
- "coin": "BNB",
- "gas": 109739,
- "gas_price": "0.000000003",
- "total_fee": "0.000329217"
- }
- ```
-
- #### Example of Qrc20 type
-
- ```json
- {
- "type": "Qrc20",
- "coin": "tQTUM",
- "miner_fee": "0.00000447",
- "gas_limit": 100000,
- "gas_price": 40,
- "total_gas_fee": "0.04"
- }
- ```
-
- #### Example of Tendermint type
-
- ```json
- {
- "type": "Tendermint",
- "coin": "IRIS",
- "amount": "0.038553",
- "gas_limit": 100000
- }
- ```
-
- #### Example of Utxo type
-
- ```json
- {
- "type": "Utxo",
- "amount": "0.00001"
- }
- ```
-
-
### FilterCriteria
The 'FilterCriteria' object allows you to filter the results based on specific parameters.
diff --git a/src/pages/komodo-defi-framework/api/common_structures/lightning/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/lightning/index.mdx
index 5edd6c754..30396fa93 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/lightning/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/lightning/index.mdx
@@ -140,17 +140,17 @@ It is used for estimating the transaction fee rate (`feerate`) for different tra
### LightningPaymentFilter
-| Parameter | Type | Description |
-| --------------------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
-| payment\_type | object | A standard `LightningPaymentType` object. |
-| description | string | Optional. A note to indicate the purpose of the invoice. |
-| status | string | Optional. Accepted values: `pending`, `succeeded`, `failed`. |
-| from\_amount\_msat | integer | Optional. Minimum amount sent in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
-| to\_amount\_msat | integer | Optional. Maximum amount sent in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
-| from\_fee\_paid\_msat | integer | Optional. Minimum transaction fee paid in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
-| to\_fee\_paid\_msat | integer | Optional. Maximum transaction fee paid in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
-| from\_timestamp | string | Optional. Minimum timestamp in [unix epoch format](https://www.epochconverter.com/) of payment results to return. |
-| to\_timestamp | string | Optional. Maximum timestamp in [unix epoch format](https://www.epochconverter.com/) of payment results to return. |
+| Parameter | Type | Description |
+| --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
+| payment\_type | object | A standard [LightningPaymentType](/komodo-defi-framework/api/common_structures/lightning/#lightning-payment-type) object. |
+| description | string | Optional. A note to indicate the purpose of the invoice. |
+| status | string | Optional. Accepted values: `pending`, `succeeded`, `failed`. |
+| from\_amount\_msat | integer | Optional. Minimum amount sent in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
+| to\_amount\_msat | integer | Optional. Maximum amount sent in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
+| from\_fee\_paid\_msat | integer | Optional. Minimum transaction fee paid in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
+| to\_fee\_paid\_msat | integer | Optional. Maximum transaction fee paid in [millisatoshis](https://bitcoindata.science/bitcoin-units-converter) |
+| from\_timestamp | string | Optional. Minimum timestamp in [unix epoch format](https://www.epochconverter.com/) of payment results to return. |
+| to\_timestamp | string | Optional. Maximum timestamp in [unix epoch format](https://www.epochconverter.com/) of payment results to return. |
### LightningPaymentType
diff --git a/src/pages/komodo-defi-framework/api/common_structures/nfts/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/nfts/index.mdx
index c14f1f901..38c4e0ecc 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/nfts/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/nfts/index.mdx
@@ -5,6 +5,15 @@ export const description = "Starting with version beta-2.1.3434, the Komodo DeFi
The following structures are used in the Komodo DeFi SDK for non-fungible tokens (NFTs).
+### NftFilter
+
+The `NftFilter` object includes the following items for a given coin or token:
+
+| Parameter | Type | Description |
+| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
+| exclude\_spam | boolean | Optional, defaults to `false`. If `true`, only tokens which have param `possible_spam:false` are included in the response. |
+| exclude\_phishing | boolean | Optional, defaults to `false`. If `true`, only tokens which have param `possible_phishing:false` are included in the response. |
+
### NftInfoBasic
The `NftInfoBasic` object includes the following items for a given token:
@@ -44,79 +53,6 @@ The `NftInfo` object includes the following items for a given token:
| token\_domain | string | Token domain. May be `null`. |
| uri\_meta | object | A standard [NftMetadata](/komodo-defi-framework/api/common_structures/nfts/#nft-metadata) object. |
-### NftFilter
-
-The `NftFilter` object includes the following items for a given coin or token:
-
-| Parameter | Type | Description |
-| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
-| exclude\_spam | boolean | Optional, defaults to `false`. If `true`, only tokens which have param `possible_spam:false` are included in the response. |
-| exclude\_phishing | boolean | Optional, defaults to `false`. If `true`, only tokens which have param `possible_phishing:false` are included in the response. |
-
-### NftTransfer
-
-The `NftTransfer` object includes the following items for each token transaction:
-
-| Parameter | Type | Description |
-| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| amount | string | Amount of tokens transferred. |
-| block\_hash | string | May be `null`. Hash of block in which transfer occurred. |
-| block\_number | integer | Height of block in which transfer occurred. |
-| block\_timestamp | integer | Block time in [unix epoch format](https://www.epochconverter.com/). |
-| chain | string | Chain name. One of `AVALANCHE`, `BSC`, `ETH`, `FANTOM`, or `POLYGON`. |
-| token\_uri | string | May be `null`. The URI to the metadata of the token. |
-| token\_domain | string | May be `null`. Extracted domain from the `token_uri`, if valid. |
-| collection\_name | string | May be `null`. Name of collection which token belongs to. |
-| image\_url | string | May be `null`. The URI to the token image. |
-| image\_domain | string | May be `null`. Extracted domain from the `image_url`, if valid. |
-| token\_name | string | May be `null`. Name of the token. |
-| contract\_type | string | Contract type. `ERC721` or `ERC1155`. |
-| token\_address | string | Address of token transferred. |
-| token\_id | string | Token ID. |
-| possible\_spam | boolean | If `true`, the contract address has [been identified](https://docs.moralis.io/web3-data-api/evm/nft-spam-detection) as associated with spam or suspicious activities. |
-| possible\_phishing | boolean | If `true`, the token has been identified as associated with phishing, as at least one of domain fields is found in database with phishing domains. |
-| transaction\_hash | string | Transaction ID of the transfer. |
-| transaction\_index | string | May be `null`. Transaction index of the transfer. |
-| log\_index | string | Log index of the transfer. |
-| value | string | May be `null`. Tranfer value. |
-| transaction\_type | string | May be `null`. Transaction type. Possible values are `Single`. |
-| from\_address | string | Address of previous owner which sent the token(s). |
-| to\_address | string | Address of new owner which received the token(s). |
-| status | string | Transfer status. Will be either `Send` or `Receive`. When the `from_address` and `to_address` are the same (i.e. sending to yourself), this value will be `Receive`. |
-| verified | integer | May be `null`. A deprecated field which will be removed in future. |
-| operator | string | May be `null`. |
-| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
-| confirmations | integer | The count of blocks produced since this transaction was confirmed. |
-
-
- `verified` has no description. Related to [https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth](https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth)? Who verifies it? I can see there are ways to verify on opensea etc, I assume Moralis incorporates this.
- What are the other possible values for `transaction_type`?
- What is `operator`?
- What does `verified` mean?
-
-
-### NftTransferFilter
-
-The `NftTransferFilter` object includes the following items for a transfer of given coin or token:
-
-| Parameter | Type | Description |
-| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| receive | boolean | Optional, defaults to `false`. If `true`, only transfers where user received NFTs are included in the response. |
-| send | boolean | Optional, defaults to `false`. If `true`, only transfers where user sent NFTs are included in the response. |
-| from\_date | integer | Optional. A timestamp in [unix epoch format](https://www.epochconverter.com/). If `true`, filter includes transfers from this date onwards (inclusive). |
-| to\_date | integer | Optional. A timestamp in [unix epoch format](https://www.epochconverter.com/). If `true`, filter includes transfers up to this date (inclusive). |
-| exclude\_spam | boolean | Optional, defaults to `false`. If `true`, only transfers which have param `possible_spam:false` are included in the response. |
-| exclude\_phishing | boolean | Optional, defaults to `false`. If `true`, only transfers which have param `possible_phishing:false` are included in the response. |
-
-
- ```json
- {
- "ticker": "MINDS-ERC20",
- "required_confirmations": 4
- }
- ```
-
-
### NftMetadata
The `NftMetadata` object includes the following items for a given coin or token:
@@ -186,30 +122,6 @@ The `NftMetadata` object includes the following items for a given coin or token:
```
-### WithdrawNftData
-
-The `WithdrawNftData` object is used for withdrawals of NFTs on ERC721 and ERC1155 contracts. It includes the following items for a given coin or token:
-
-| Parameter | Type | Description |
-| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| chain | string | The token chain. Chain must be [activated](/komodo-defi-framework/api/legacy/coin_activation/) first. |
-| to | string | Destination address to withdraw the token to. |
-| token\_address | string | Token address. |
-| token\_id | string | Token ID. |
-| fee | object | A standard [WithdrawFee](/komodo-defi-framework/api/common_structures/#withdraw-fee) object. May be missing for older transfers. |
-| amount | string | Optional, ERC1155 only. Defaults to `1`. Amount of NFTs to withdraw. Ignored if `max` is true. |
-| max | boolean | Optional, ERC1155 only. Defaults to `false`. If `true`, amount parameter will be ignored and all NFTs with this `token_id` will be sent. |
-
-
- When the `type` parameter in a [withdraw\_nft](/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/) request is `withdraw_erc721`, it means the NFT is absolutely unique,
- and it has only 1 owner and the owner can own only 1 NFT with this `token_id`
- in its `token_address` (also referred to as contract address).
- When the `type` parameter in a [withdraw\_nft](/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/) request is `withdraw_erc1155`, it means that it is possible for more
- than 1 user to own one or more of the same NFT (with an identical `token_id`).
- Due to this difference, the `amount` and `max` fields are only used the when
- the `type` value is `withdraw_erc1155`.
-
-
### NftProvider
The `NftProvider` object is used in the 'enable\_nft' RPC method. It defines the NFT providers that are avaialable and their configuration.
@@ -232,3 +144,91 @@ The `NftProvider` object is used in the 'enable\_nft' RPC method. It defines the
}
```
+
+### NftTransfer
+
+The `NftTransfer` object includes the following items for each token transaction:
+
+| Parameter | Type | Description |
+| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| amount | string | Amount of tokens transferred. |
+| block\_hash | string | May be `null`. Hash of block in which transfer occurred. |
+| block\_number | integer | Height of block in which transfer occurred. |
+| block\_timestamp | integer | Block time in [unix epoch format](https://www.epochconverter.com/). |
+| chain | string | Chain name. One of `AVALANCHE`, `BSC`, `ETH`, `FANTOM`, or `POLYGON`. |
+| token\_uri | string | May be `null`. The URI to the metadata of the token. |
+| token\_domain | string | May be `null`. Extracted domain from the `token_uri`, if valid. |
+| collection\_name | string | May be `null`. Name of collection which token belongs to. |
+| image\_url | string | May be `null`. The URI to the token image. |
+| image\_domain | string | May be `null`. Extracted domain from the `image_url`, if valid. |
+| token\_name | string | May be `null`. Name of the token. |
+| contract\_type | string | Contract type. `ERC721` or `ERC1155`. |
+| token\_address | string | Address of token transferred. |
+| token\_id | string | Token ID. |
+| possible\_spam | boolean | If `true`, the contract address has [been identified](https://docs.moralis.io/web3-data-api/evm/nft-spam-detection) as associated with spam or suspicious activities. |
+| possible\_phishing | boolean | If `true`, the token has been identified as associated with phishing, as at least one of domain fields is found in database with phishing domains. |
+| transaction\_hash | string | Transaction ID of the transfer. |
+| transaction\_index | string | May be `null`. Transaction index of the transfer. |
+| log\_index | string | Log index of the transfer. |
+| value | string | May be `null`. Tranfer value. |
+| transaction\_type | string | May be `null`. Transaction type. Possible values are `Single`. |
+| from\_address | string | Address of previous owner which sent the token(s). |
+| to\_address | string | Address of new owner which received the token(s). |
+| status | string | Transfer status. Will be either `Send` or `Receive`. When the `from_address` and `to_address` are the same (i.e. sending to yourself), this value will be `Receive`. |
+| verified | integer | May be `null`. A deprecated field which will be removed in future. |
+| operator | string | May be `null`. |
+| fee\_details | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
+| confirmations | integer | The count of blocks produced since this transaction was confirmed. |
+
+
+ `verified` has no description. Related to [https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth](https://cointelegraph.com/news/nft-whale-pranksy-pranked-by-fake-banksy-for-97-7-eth)? Who verifies it? I can see there are ways to verify on opensea etc, I assume Moralis incorporates this.
+ What are the other possible values for `transaction_type`?
+ What is `operator`?
+ What does `verified` mean?
+
+
+### NftTransferFilter
+
+The `NftTransferFilter` object inclu
+
+| Parameter | Type | Description |
+| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| receive | boolean | Optional, defaults to `false`. If `true`, only transfers where user received NFTs are included in the response. |
+| send | boolean | Optional, defaults to `false`. If `true`, only transfers where user sent NFTs are included in the response. |
+| from\_date | integer | Optional. A timestamp in [unix epoch format](https://www.epochconverter.com/). If `true`, filter includes transfers from this date onwards (inclusive). |
+| to\_date | integer | Optional. A timestamp in [unix epoch format](https://www.epochconverter.com/). If `true`, filter includes transfers up to this date (inclusive). |
+| exclude\_spam | boolean | Optional, defaults to `false`. If `true`, only transfers which have param `possible_spam:false` are included in the response. |
+| exclude\_phishing | boolean | Optional, defaults to `false`. If `true`, only transfers which have param `possible_phishing:false` are included in the response. |
+
+
+ ```json
+ {
+ "ticker": "MINDS-ERC20",
+ "required_confirmations": 4
+ }
+ ```
+
+
+### WithdrawNftData
+
+The `WithdrawNftData` object is used for withdrawals of NFTs on ERC721 and ERC1155 contracts. It includes the following items for a given coin or token:
+
+| Parameter | Type | Description |
+| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
+| chain | string | The token chain. Chain must be [activated](/komodo-defi-framework/api/legacy/coin_activation/) first. |
+| to | string | Destination address to withdraw the token to. |
+| token\_address | string | Token address. |
+| token\_id | string | Token ID. |
+| fee | object | A standard [WithdrawFee](/komodo-defi-framework/api/common_structures/wallet/#withdraw-fee) object. May be missing for older transfers. |
+| amount | string | Optional, ERC1155 only. Defaults to `1`. Amount of NFTs to withdraw. Ignored if `max` is true. |
+| max | boolean | Optional, ERC1155 only. Defaults to `false`. If `true`, amount parameter will be ignored and all NFTs with this `token_id` will be sent. |
+
+
+ When the `type` parameter in a [withdraw\_nft](/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/) request is `withdraw_erc721`, it means the NFT is absolutely unique,
+ and it has only 1 owner and the owner can own only 1 NFT with this `token_id`
+ in its `token_address` (also referred to as contract address).
+ When the `type` parameter in a [withdraw\_nft](/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/) request is `withdraw_erc1155`, it means that it is possible for more
+ than 1 user to own one or more of the same NFT (with an identical `token_id`).
+ Due to this difference, the `amount` and `max` fields are only used the when
+ the `type` value is `withdraw_erc1155`.
+
diff --git a/src/pages/komodo-defi-framework/api/common_structures/orders/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/orders/index.mdx
index 9df60aa22..b6e24751c 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/orders/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/orders/index.mdx
@@ -3,6 +3,48 @@ export const description = "Each order on the Komodo Defi oderbook can be querie
# Order Structures
+### 1inchProtocolImage
+
+| Structure | Type | Description |
+| ---------- | ------ | ----------------------------- |
+| id | string | Protocol id. |
+| title | string | Protocol title. |
+| img | string | Link to protocol image. |
+| img\_color | string | Link to protocol image color. |
+
+### 1inchProtocolInfo
+
+| Structure | Type | Description |
+| -------------------- | ------- | ---------------------------- |
+| name | string | Liquidity source name. |
+| part | numeric | Protocol part. |
+| from\_token\_address | string | From-token contract address. |
+| to\_token\_address | numeric | To-token contract address. |
+
+### 1inchTokenInfo
+
+| Structure | Type | Description |
+| --------- | -------------- | ---------------------------------------------------------- |
+| address | string | Token contract address. |
+| symbol | string | Token symbol. |
+| name | string | Token name. |
+| decimals | numeric | Number of digits after decimal point for the token amount. |
+| eip2612 | boolean | Is Eip-2612 supported. |
+| is\_fot | boolean | Is FoT token. |
+| logo\_uri | string | Token logo uri. |
+| tags | list of string | Token tags. |
+
+### 1inchTxFields
+
+| Structure | Type | Description |
+| ---------- | ------- | ----------------- |
+| from | string | From address |
+| to | string | To address |
+| data | string | Transaction data |
+| value | numeric | Transaction value |
+| gas\_price | float | Gas price |
+| gas | numeric | Gas |
+
### CancelBy
| Structure | Type | Description |
@@ -60,32 +102,34 @@ export const description = "Each order on the Komodo Defi oderbook can be querie
```
-### RequestBy
-
-| Structure | Type | Description | |
-| --------- | ------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| type | integer | Defines whether requesting by `volume` or by `number`. | |
-| value | numeric | string | If `type` is `volume`, the amount of `coin` (defined in the parent object) the user is willing to buy or sell. If `type` is `number`, the number of best price trades to return. |
+## MatchBy
-
- Filter response to return the best trades for up to 20 of the coin defined in the parent object:
+| Structure | Type | Description |
+| --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
+| Type | string | `Any` to match with any other order; `Orders` to select specific uuids; `Pubkeys` to select specific nodes; default is `Any` |
+| data | array of strings | A list of order uuids (to match for `Orders` type) or pubkeys of nodes (to match for `Pubkeys` type) |
+
```json
- {
- "request_by": {
- "type": "volume",
- "value": 20
- }
- }
+ "match_by": {
+ "type": "Pubkeys",
+ "data": [
+ "0261eef15cbc141f555aff1aa40fb21de17a0a9e6897eee18c14c6032586b456b3",
+ "036879df230663db4cd083c8eeb0f293f46abc460ad3c299b0089b72e6d472202c"
+ ]
+ }
```
- Filter response to return the 10 best priced trades:
+ Match by order uuids:
```json
- {
- "type": "number",
- "value": 10
- }
+ "match_by": {
+ "type": "Orders",
+ "data": [
+ "6f65968f-e3c6-4978-98c5-5cec2bb5aa5b",
+ "07ce08bf-3db9-4dd8-a671-854affc1b7a3"
+ ]
+ }
```
@@ -105,37 +149,70 @@ export const description = "Each order on the Komodo Defi oderbook can be querie
```
-### OrderType
-
-| Structure | Type | Description |
-| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Type | string | There are two types from which to choose: `GoodTillCancelled` and `FillOrKill`. The `GoodTillCancelled` order is automatically converted to a `maker` order if the order is not matched in 30 seconds, and this `maker` order stays in the orderbook until explicitly cancelled. On the other hand, a `FillOrKill` order is cancelled if it is not matched within 30 seconds. The default type is `GoodTillCancelled` |
+### OrderDataV1
-
- If your order includes UTXO coins activated via electrum, and connection to its servers is lost, your order will automatically cancel and will need to be recreated once the connection is restored.
-
+
+ Compare and confirm the differences between this object in v1 and v2 methods.
+
-
- `GoodTillCancelled` orders will remain on the orderbook until they are exhausted or explicitly cancelled.
+| Structure | Type | Description |
+| --------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | The ticker of the coin |
+| address | string | The address offering the trade |
+| price | string (decimal) | The price the user is willing to buy or sell per one unit of the coin from request |
+| price\_rat | rational | The price represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| price\_fraction | object | The price represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| maxvolume | string (decimal) | The maximum amount of `base` the offer provider is willing to sell |
+| max\_volume\_rat | rational | The max volume represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| max\_volume\_fraction | object | The max volume represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| min\_volume | string (decimal) | The minimum amount of `base` coin the offer provider is willing to sell |
+| min\_volume\_rat | rational | The min volume represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| min\_volume\_fraction | object | The min volume represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| pubkey | string | The pubkey of the offer provider |
+| age | number | The age of the offer (in seconds) |
+| zcredits | number | The zeroconf deposit amount (deprecated) |
+| netid | number | The id of the network on which the request is made (default is `0`) |
+| uuid | string | The uuid of order |
+| is\_mine | bool | Whether the order is placed by me |
+| base\_max\_volume | string (decimal) | The maximum amount of `base` coin the offer provider is willing to buy or sell |
+| base\_max\_volume\_rat | rational | The `base_max_volume` represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| base\_max\_volume\_fraction | object | The `base_max_volume` represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| base\_min\_volume | string (decimal) | The minimum amount of `base` coin the offer provider is willing to buy or sell |
+| base\_min\_volume\_rat | rational | The `base_min_volume` represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| base\_min\_volume\_fraction | object | The `base_min_volume` represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| base\_confs | number | The confirmations settings of `base` coin set by the offer provider |
+| base\_nota | bool | The notarisation settings of `base` coin set by the offer provider |
+| rel\_max\_volume | string (decimal) | The maximum amount of `rel` coin the offer provider is willing to buy or sell |
+| rel\_max\_volume\_rat | rational | The `rel_max_volume` max volume represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| rel\_max\_volume\_fraction | object | The `rel_max_volume` max volume represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| rel\_min\_volume | string (decimal) | The minimum amount of `rel` coin the offer provider is willing to buy or sell |
+| rel\_min\_volume\_rat | rational | The `rel_min_volume` represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object. |
+| rel\_min\_volume\_fraction | object | The `rel_min_volume` represented as a standard [FractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object. |
+| rel\_confs | number | The confirmations settings of `rel` coin set by the offer provider |
+| rel\_nota | bool | The notarisation settings of `rel` coin set by the offer provider |
+| original\_tickers | list (string) | Tickers included in response when `orderbook_ticker` is configured for the queried coin in `coins` file |
- ```json
- {
- "order_type": {
- "type": "GoodTillCancelled"
- }
- }
- ```
+### OrderDataV2
- `FillOrKill` orders will be automatically cancelled if they are not matched within 60 seconds.
+
+ Compare and confirm the differences between this object in v1 and v2 methods.
+
- ```json
- {
- "order_type": {
- "type": "FillOrKill"
- }
- }
- ```
-
+| Structure | Type | Description |
+| ----------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | The ticker of the coin |
+| address | object | A standard [OrderAddress](/komodo-defi-framework/api/common_structures/orders/#order-address) object. |
+| price | object | A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the coin price. |
+| base\_min\_volume | object | A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the minimum base volume. |
+| base\_max\_volume | object | A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the maximum base volume. |
+| base\_max\_volume\_aggr | object | Orderbook (v2) only. A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the maximum aggregated base amount at the specified price. The sum of max base volumes of the current order and all orders with a worse price. |
+| rel\_min\_volume | object | A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the minimum rel volume. |
+| rel\_max\_volume | object | A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the maximum rel volume. |
+| rel\_max\_volume\_aggr | object | Orderbook (v2) only. A standard [NumericFormatsValue](/komodo-defi-framework/api/common_structures/#numeric-formats-value) object representing the maximum aggregated rel amount at the specified price. The sum of max rel volumes of the current order and all orders with a worse price. |
+| pubkey | string | The pubkey of the offer provider |
+| uuid | string | The uuid of order |
+| is\_mine | bool | Whether the order is placed by me |
+| conf\_settings | object | A standard [ConfSettings](/komodo-defi-framework/api/common_structures/orders/#conf-settings) object. |
### OrderStatusData
@@ -311,75 +388,63 @@ export const description = "Each order on the Komodo Defi oderbook can be querie
| Was\_taker | number | `1` if the order was a "Taker" order that got converted to "Maker", `0` otherwise |
| status | string | status of the Order |
-## MatchBy
+### OrderType
-| Structure | Type | Description |
-| --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
-| Type | string | `Any` to match with any other order; `Orders` to select specific uuids; `Pubkeys` to select specific nodes; default is `Any` |
-| data | array of strings | A list of order uuids (to match for `Orders` type) or pubkeys of nodes (to match for `Pubkeys` type) |
+| Structure | Type | Description |
+| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Type | string | There are two types from which to choose: `GoodTillCancelled` and `FillOrKill`. The `GoodTillCancelled` order is automatically converted to a `maker` order if the order is not matched in 30 seconds, and this `maker` order stays in the orderbook until explicitly cancelled. On the other hand, a `FillOrKill` order is cancelled if it is not matched within 30 seconds. The default type is `GoodTillCancelled` |
+
+
+ If your order includes UTXO coins activated via electrum, and connection to its servers is lost, your order will automatically cancel and will need to be recreated once the connection is restored.
+
+ `GoodTillCancelled` orders will remain on the orderbook until they are exhausted or explicitly cancelled.
+
```json
- "match_by": {
- "type": "Pubkeys",
- "data": [
- "0261eef15cbc141f555aff1aa40fb21de17a0a9e6897eee18c14c6032586b456b3",
- "036879df230663db4cd083c8eeb0f293f46abc460ad3c299b0089b72e6d472202c"
- ]
+ {
+ "order_type": {
+ "type": "GoodTillCancelled"
}
+ }
```
- Match by order uuids:
+ `FillOrKill` orders will be automatically cancelled if they are not matched within 60 seconds.
```json
- "match_by": {
- "type": "Orders",
- "data": [
- "6f65968f-e3c6-4978-98c5-5cec2bb5aa5b",
- "07ce08bf-3db9-4dd8-a671-854affc1b7a3"
- ]
+ {
+ "order_type": {
+ "type": "FillOrKill"
}
+ }
```
-### 1inchTokenInfo
-
-| Structure | Type | Description |
-| --------- | -------------- | ---------------------------------------------------------- |
-| address | string | Token contract address. |
-| symbol | string | Token symbol. |
-| name | string | Token name. |
-| decimals | numeric | Number of digits after decimal point for the token amount. |
-| eip2612 | boolean | Is Eip-2612 supported. |
-| is\_fot | boolean | Is FoT token. |
-| logo\_uri | string | Token logo uri. |
-| tags | list of string | Token tags. |
-
-### 1inchProtocolInfo
+### RequestBy
-| Structure | Type | Description |
-| -------------------- | ------- | ---------------------------- |
-| name | string | Liquidity source name. |
-| part | numeric | Protocol part. |
-| from\_token\_address | string | From-token contract address. |
-| to\_token\_address | numeric | To-token contract address. |
+| Structure | Type | Description | |
+| --------- | ------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| type | integer | Defines whether requesting by `volume` or by `number`. | |
+| value | numeric | string | If `type` is `volume`, the amount of `coin` (defined in the parent object) the user is willing to buy or sell. If `type` is `number`, the number of best price trades to return. |
-### 1inchTxFields
+
+ Filter response to return the best trades for up to 20 of the coin defined in the parent object:
-| Structure | Type | Description |
-| ---------- | ------- | ----------------- |
-| from | string | From address |
-| to | string | To address |
-| data | string | Transaction data |
-| value | numeric | Transaction value |
-| gas\_price | float | Gas price |
-| gas | numeric | Gas |
+ ```json
+ {
+ "request_by": {
+ "type": "volume",
+ "value": 20
+ }
+ }
+ ```
-### 1inchProtocolImage
+ Filter response to return the 10 best priced trades:
-| Structure | Type | Description |
-| ---------- | ------ | ----------------------------- |
-| id | string | Protocol id. |
-| title | string | Protocol title. |
-| img | string | Link to protocol image. |
-| img\_color | string | Link to protocol image color. |
+ ```json
+ {
+ "type": "number",
+ "value": 10
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/common_structures/wallet/index.mdx b/src/pages/komodo-defi-framework/api/common_structures/wallet/index.mdx
index 4f17e4554..1dc04f2b5 100644
--- a/src/pages/komodo-defi-framework/api/common_structures/wallet/index.mdx
+++ b/src/pages/komodo-defi-framework/api/common_structures/wallet/index.mdx
@@ -3,35 +3,113 @@ export const description = "Starting with version beta-2.1.3434, the Komodo DeFi
# Wallet Operations Structures
-### HistoryTarget
+### AccountAddressInfo
-Used to specify a HD wallet `account_id` or `address_id` for [my\_tx\_history v2](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) requests.
+The `AccountAddressInfo` object includes the following items for active addresses in the activation response for a coin in HD mode:
-| Parameter | Type | Description |
-| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| type | string | Filters results by `account_id` or `address_id` part of the derivation path. |
-| account\_id | integer | `ACCOUNT_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. |
-| address\_id | integer | Only required when `type` is `address_id`. `ADDRESS_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. |
-| chain | string | Only required when `type` is `address_id`. `Internal`, or `External`. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
+| Parameter | Type | Description |
+| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
+| address | string | The account address for a specific derivation path under the `account_index`. |
+| derivation\_path | string | The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of the address. |
+| chain | string | `External` or `Internal`, as defined in the activation request. |
+| balance | object | A standard [BalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
-
- #### Example
+
+ ```json
+ {
+ "address": "RXNtAyDSsY3DS3VxTpJegzoHU9bUX54j56",
+ "derivation_path": "m/44'/141'/0'/0/0",
+ "chain": "External",
+ "balance": {
+ "spendable": "7.64018255",
+ "unspendable": "0"
+ }
+ }
+ ```
+
+
+### AddressDerivationPath
+
+The `AddressDerivationPath` object defines the account / change / address\_index of the [derivation path](https://medium.com/mycrypto/wtf-is-a-derivation-path-c3493ca2eb52) used for your wallet. Using different values for `account_id` or `address_id` parameters will result in a different address and private key for each combination. The `chain` parameter is used to specify if the change from a transaction. Set to `External` for addresses that are intended to be visible outside of the wallet (e.g. for receiving payments). `Internal` is used for addresses which are not meant to be visible outside of the wallet and is used to return the leftover change from a transaction.
+
+| Parameter | Type | Description |
+| ----------- | ------- | ---------------------------------------------------------------------------------------- |
+| account\_id | integer | Optional, defaults to `0`. Used as a layer of separation or hierarchy. |
+| chain | string | Optional. Accepted values are `External` (0) and `Internal` (1). Defaults to `External`. |
+| address\_id | integer | Optional, defaults to `0`. Used as a layer of separation or hierarchy. |
+
```json
{
- "type": "account_id",
- "account_id": 77
+ "path_to_address": {
+ "account_id": 0,
+ "chain": "External",
+ "address_id": 1
+ }
}
```
-
+## AddressFormat
+
+| Structure | Type | Description |
+| --------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| format | string (enum) | address format to which the input address should be converted. Possible values: `mixedcase` for ETH/ERC20 coins; `cashaddress` or `standard` for UTXO coins; `contract` or `wallet` for QTUM/QRC20 |
+| network | string (enum) | Optional, only used for UTXO coins. Network prefix for `cashaddress` format. Possible values: `bitcoincash` for BCH mainnet; `bchtest` for BCH testnet; `bchreg` for BCH regtest |
+
+
+ #### Example
+
```json
{
- "type": "address_id",
- "account_id": 0,
- "chain": "External", // Accepted values: "External" and "Internal"
- "address_id": 1
+ "format": "mixedcase"
+ }
+ ```
+
+ ```json
+ {
+ "format": "cashaddress",
+ "network": "bitcoincash"
+ }
+ ```
+
+
+### AddressInfo
+
+The `AddressInfo` object includes the following items for a given address:
+
+| Parameter | Type | Description |
+| ------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| balances | object | A standard [balanceInfos](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. Not included in responses where `get_balances` is `false` |
+| derivation\_method | object | A standard [DerivationMethod](/komodo-defi-framework/api/common_structures/wallet/#derivation-method) object |
+| pubkey | string | The public key associated with the seed used to launch Komodo DeFi Framework |
+| tickers | array | A list of tokens which were successfully activated. Only included in responses where `get_balances` is `false` |
+
+
+ #### Example with balances
+
+ ```json
+ "bitcoincash:qrf5vpn78s7rjexrjhlwyzzeg7gw98k7t5qx64fztj": {
+ "derivation_method": {
+ "type": "Iguana"
+ },
+ "pubkey": "036879df230663db4cd083c8eeb0f293f46abc460ad3c299b0089b72e6d472202c",
+ "balances": {
+ "spendable": "0.11398301",
+ "unspendable": "0.00001"
+ }
+ }
+ ```
+
+ #### Example without balances
+
+ ```json
+ "bitcoincash:qrf5vpn78s7rjexrjhlwyzzeg7gw98k7t5qx64fztj": {
+ "derivation_method": {
+ "type": "Iguana"
+ },
+ "pubkey": "036879df230663db4cd083c8eeb0f293f46abc460ad3c299b0089b72e6d472202c",
+ "tickers": ["ASLP-SLP"]
}
```
@@ -65,14 +143,154 @@ The `AddressPath` object includes the following items:
```
+### BalanceInfo
+
+The `BalanceInfo` object includes the following items for a given coin or token:
+
+| Parameter | Type | Description |
+| ----------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------ |
+| spendable | string (numeric) | The available amount of a coin or token which is ready to be traded or withdrawn. |
+| unspendable | string (numeric) | The amount of a coin or token which is awaiting confirmation on the block chain for an incoming or outgoing transaction. |
+
+
+ ```json
+ {
+ "spendable": "12.11398301",
+ "unspendable": "0.53"
+ }
+ ```
+
+
+### DerivationMethod
+
+The `DerivationMethod` object includes the following items for a given coin or token:
+
+| Parameter | Type | Description |
+| --------- | ------ | ------------------------------------------------------------------------------- |
+| type | string | Defines how keypairs will be generated. Possible values: `Iguana` or `HDWallet` |
+
- If using the `derivation_path` parameter, the `account_id`, `chain` and `address_id` parameters are not required (and vice-versa).
- If the `address` parameter is not provided for a HD wallet, the root derivation path will be used, for example `m/84'/2'/0'/0/0`.
- The two examples above point to the same address. The derivation path follows the format `m/44'/COIN_ID'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` (or `m/84'/COIN_ID'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` for segwit coins).
- The `coin_id` is defined in the [`coins`](https://github.com/KomodoPlatform/coins) file.
- For more information about derivation paths, check out [this explanation](https://www.blockplate.com/blogs/blockplate/what-is-a-derivation-path).
+ Using the same seed or private key to generate keypairs using different derivation methods will result in a different address and private key for each method.
+Where the value indicates:
+
+* `Iguana`: The coin or token is was activated using Iguana derivation (default).
+* `HDWallet`: The coin or token is was activated using a Hierarchical Deterministic (HD) Wallet derivation path.
+
+
+ ```json
+ {
+ "type": "Iguana"
+ }
+ ```
+
+
+### ExtendedFeeInfo
+
+| Structure | Type | Description |
+| ------------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | the fee is paid from the user's balance of this coin. This coin name may differ from the `base` or `rel` coins. For example, ERC20 fees are paid by ETH (gas) |
+| amount | string (numeric) | fee amount (in decimal representation) |
+| amount\_rat | rational | fee amount (in rational representation) |
+| amount\_fraction | fraction | fee amount (in fraction representation) |
+| amount\_fraction | fraction | fee amount (in fraction representation) |
+| paid\_from\_trading\_vol | bool | whether the fee is paid from trading volume and not use actual `coin` balance |
+
+### FeeInfo
+
+The `FeeInfo` response object includes the following items for [withdraw (v2)](/komodo-defi-framework/api/v20/wallet/tx/withdraw/) requests:
+
+| Parameter | Type | Description |
+| ---------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
+| type | string | Type of transaction fee. Possible values: `UtxoFixed`, `UtxoPerKbyte`, `UtxoPriority`, `EthGas`, `Qrc20Gas`, `CosmosGas` |
+| amount | string (numeric) | Fee amount in coin units, used only when type is `UtxoFixed` (fixed amount not depending on tx size) or `UtxoPerKbyte` (amount per Kbyte) |
+| priority | string | Used only when type is `UtxoPriority`. Possible values: 'Low', 'Normal', 'High'. |
+| gas\_price | string (numeric) | Used only when fee type is `Qrc20Gas` or `EthGas`; sets the gas price in `gwei` units. |
+| gas\_price | number (double) | Used only when fee type is `CosmosGas`; sets the gas price. |
+| gas | number (integer) | Used only when fee type is `EthGas`; sets the gas limit for transaction |
+| gas\_limit | number (integer) | Used only when fee type is `Qrc20Gas` or `CosmosGas`; sets the gas limit for transaction |
+
+
+ #### Examples
+
+ ```json
+ {
+ "type": "UtxoFixed",
+ "amount": "0.0001"
+ }
+ ```
+
+ ```json
+ {
+ "type": "UtxoPerKbyte",
+ "amount": "0.0001"
+ }
+ ```
+
+ ```json
+ {
+ "type": "UtxoPriority",
+ "priority": "Low"
+ }
+ ```
+
+ ```json
+ {
+ "type": "EthGas",
+ "gas_price": "10",
+ "gas": 21000
+ }
+ ```
+
+ ```json
+ {
+ "type": "Qrc20Gas",
+ "gas_price": "10",
+ "gas_limit": 21000
+ }
+ ```
+
+ ```json
+ {
+ "type": "CosmosGas",
+ "gas_price": 0.05,
+ "gas_limit": 21000
+ }
+ ```
+
+
+### HistoryTarget
+
+Used to specify a HD wallet `account_id` or `address_id` for [my\_tx\_history v2](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) requests.
+
+| Parameter | Type | Description |
+| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| type | string | Filters results by `account_id` or `address_id` part of the derivation path. |
+| account\_id | integer | `ACCOUNT_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. |
+| address\_id | integer | Only required when `type` is `address_id`. `ADDRESS_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. |
+| chain | string | Only required when `type` is `address_id`. `Internal`, or `External`. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
+
+
+ #### Example
+
+ ```json
+ {
+ "type": "account_id",
+ "account_id": 77
+ }
+ ```
+
+ ```json
+ {
+ "type": "address_id",
+ "account_id": 0,
+ "chain": "External", // Accepted values: "External" and "Internal"
+ "address_id": 1
+ }
+ ```
+
+
### InputTxns
The `InputTxns` object includes the following items:
@@ -103,7 +321,7 @@ The `NewAddressInfo` response object includes the following items for request in
| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| address | string | The account address for a specific derivation path under the `account_index`. |
| derivation\_path | string | The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of the address. If there are no more addresses with balances within the gap limit, the address index will increment. |
-| balance | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. |
+| balance | object | A standard [BalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
| chain | string | `Internal`, or `External`. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
### PayForGas
@@ -120,11 +338,9 @@ The `PayForGas` object includes the following items:
| max\_wait\_time | integer | Optional, only used if tx\_type is `Eip1559`. Estimated maximum transaction wait time in mempool (in ms) for this priority level. |
- [Eip1559](https://www.coinbase.com/en-au/blog/the-technical-benefits-of-eip-1559) allows users to save on gas fees. To use this feature for a coin/token, its entry in your `coins` file must include fields for `chain_id` and `max_eth_tx_type`. To allow eip-1559 transactions, `max_eth_tx_type` should be set to `2`. To find the `chain_id` for an \[EVM network([https://blog.thirdweb.com/evm-compatible-blockchains-and-ethereum-virtual-machine/](https://blog.thirdweb.com/evm-compatible-blockchains-and-ethereum-virtual-machine/))], refer to [chainlist.org](https://chainlist.org). There is also a new `gas_fee_estimator` parameter in the coins file, which can be set to `provider` or `simple`.
-
- By default, `simple` gas fee estimation suggests a fee based on fee history. If set `gas_fee_estimator` is set to `provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/).
+ [Eip1559](https://www.coinbase.com/en-au/blog/the-technical-benefits-of-eip-1559) allows users to save on gas fees. To use this feature for a coin/token, its entry in your `coins` file must include fields for `chain_id` and `max_eth_tx_type`. To allow eip-1559 transactions, `max_eth_tx_type` should be set to `2`. To find the `chain_id` for an \[EVM network([https://blog.thirdweb.com/evm-compatible-blockchains-and-ethereum-virtual-machine/](https://blog.thirdweb.com/evm-compatible-blockchains-and-ethereum-virtual-machine/))], refer to [chainlist.org](https://chainlist.org). There is also a new `gas_fee_estimator` parameter in the coins file, which can be set to `Provider` or `Simple`.
- Use the [start\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/) method to begin tracking the fee market for a coin (and its tokens). You can stop tracking the fee market with [stop\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/).
+ By default, `Simple` gas fee estimation suggests a fee based on fee history. If set `gas_fee_estimator` is set to `Provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/).
To set or view the current swap transaction fee policy, use the [get\_swap\_transaction\_fee\_policy](/komodo-defi-framework/api/v20/wallet/fee_management/get_swap_transaction_fee_policy/) and [set\_swap\_transaction\_fee\_policy](/komodo-defi-framework/api/v20/wallet/fee_management/set_swap_transaction_fee_policy/) methods.
@@ -303,6 +519,106 @@ The `ScanAddressesInfo` response object includes the following items for request
Confirm `new_addresses` array has the structure of `NewAddressInfo`.
+### TotalFeeInfo
+
+| Structure | Type | Description |
+| --------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | the fee is paid from the user's balance of this coin. This coin name may differ from the `base` or `rel` coins. For example, ERC20 fees are paid by ETH (gas) |
+| amount | string (numeric) | fee amount (in decimal representation) |
+| amount\_rat | rational | fee amount (in rational representation) |
+| amount\_fraction | fraction | fee amount (in fraction representation) |
+| required\_balance | string (numeric) | the required `coin` balance to pay the fee |
+| required\_balance\_rat | rational | `required_balance` in rational representation |
+| required\_balance\_fraction | fraction | `required_balance` in fraction representation |
+
+### WithdrawFee
+
+The `WithdrawFee` object varies depending on the coin or token type. Refer to the examples to view the object structure for each type.
+
+| Parameter | Type | Description |
+| --------------- | -------------- | --------------------------------------------------------------------------------- |
+| type | string | The fee type. Either `Utxo`, `Tendermint`, `Qrc20` or `Eth`. |
+| amount | numeric string | `Utxo` or `Tendermint` type only. The fee amount. |
+| coin | string | The coin which will be used to pay the transaction fee. |
+| gas | integer | `Eth` type only. The amount of gas to be used for the transaction. |
+| gas\_price | numeric string | `Eth` or `Qrc20` type only. Price per unit of gas to be used for the transaction. |
+| gas\_limit | numeric string | `Tendermint` or `Qrc20` type only. Maximum gas to be used for the transaction. |
+| miner\_fee | numeric string | `Tendermint` type only. Fee to mine the transaction. |
+| total\_fee | numeric string | `Eth` type only. Gas price multiplied by gas amount. |
+| total\_gas\_fee | numeric string | `Qrc20` type only. Gas price multiplied by gas amount. |
+
+
+ #### Example of Eth type
+
+ ```json
+ {
+ "type": "Eth",
+ "coin": "BNB",
+ "gas": 109739,
+ "gas_price": "0.000000003",
+ "total_fee": "0.000329217"
+ }
+ ```
+
+ #### Example of Qrc20 type
+
+ ```json
+ {
+ "type": "Qrc20",
+ "coin": "tQTUM",
+ "miner_fee": "0.00000447",
+ "gas_limit": 100000,
+ "gas_price": 40,
+ "total_gas_fee": "0.04"
+ }
+ ```
+
+ #### Example of Tendermint type
+
+ ```json
+ {
+ "type": "Tendermint",
+ "coin": "IRIS",
+ "amount": "0.038553",
+ "gas_limit": 100000
+ }
+ ```
+
+ #### Example of Utxo type
+
+ ```json
+ {
+ "type": "Utxo",
+ "amount": "0.00001"
+ }
+ ```
+
+
+### WalletAccountInfo
+
+The `WalletAccountInfo` object includes the following items in the activation response for a coin in HD mode:
+
+| Parameter | Type | Description |
+| ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
+| account\_index | integer | `ACCOUNT_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. **Please don't confuse with the global account.** |
+| derivation\_path | string | Derivation path up to the `COIN` child. E.g. `"m/44'/141'/0'"` |
+| total\_balance | object | A standard [BalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
+| addresses | list | A list of standard [AccountAddressInfo](/komodo-defi-framework/api/common_structures/wallet/#account-address-info) objects. |
+
+```json
+{
+ "account_index": 0,
+ "derivation_path": "m/44'/141'/0'",
+ "total_balance": {
+ "spendable": "23.08710255",
+ "unspendable": "0"
+ },
+ "addresses": [
+ ...
+ ]
+}
+```
+
### WalletBalanceInfo
The `WalletBalanceInfo` object includes the following items in the activation response for a coin in HD mode:
@@ -335,27 +651,103 @@ You can use either the `derivation_path` on its own, or the `account_id`, `chain
| address\_id | integer | `ADDRESS_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. |
| chain | string | `Internal`, or `External`. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
-### WalletAccountInfo
+## Error types
-The `WalletAccountInfo` object includes the following items in the activation response for a coin in HD mode:
+#### NotSufficientBalance
-| Parameter | Type | Description |
-| ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
-| account\_index | integer | `ACCOUNT_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. **Please don't confuse with the global account.** |
-| derivation\_path | string | Derivation path up to the `COIN` child. E.g. `"m/44'/141'/0'"` |
-| total\_balance | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. |
-| addresses | list | A list of standard [AccountAddressInfo](/komodo-defi-framework/api/common_structures/activation/#account-address-info) objects. |
+The `available` balance is not sufficient to transfer the specified amount.
+
+| Structure | Type | Description |
+| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| coin | string | the name of the coin which balance is not sufficient. This coin name may differ from the requested coin. For example, ERC20 fees are paid by ETH (gas) |
+| available | string (numeric) | the balance available for transfer |
+| required | string (numeric) | the amount required to transfer the specified amount. This amount is necessary but may not be sufficient |
+
+#### Response (NotSufficientBalance error)
```json
{
- "account_index": 0,
- "derivation_path": "m/44'/141'/0'",
- "total_balance": {
- "spendable": "23.08710255",
- "unspendable": "0"
- },
- "addresses": [
- ...
- ]
+ "mmrpc": "2.0",
+ "error": "Not enough DOC to withdraw: available 69.75066225, required at least 1000.00001",
+ "error_path": "utxo_common",
+ "error_trace": "utxo_common:1379] utxo_common:449]",
+ "error_type": "NotSufficientBalance",
+ "error_data": {
+ "coin": "DOC",
+ "available": "69.75066225",
+ "required": "1000.00001"
+ },
+ "id": 0
+}
+```
+
+#### ZeroBalanceToWithdrawMax
+
+The available balance is zero.
+
+| Structure | Type | Description |
+| --------- | ---- | ----------- |
+| (none) | | |
+
+#### AmountTooLow
+
+The specified amount is too low. Required at least `threshold`.
+
+| Structure | Type | Description |
+| --------- | ---------------- | ---------------------------------------------------- |
+| amount | string (numeric) | the amount the user was willing to transfer |
+| threshold | string (numeric) | the `amount` has not to be less than the `threshold` |
+
+#### InvalidAddress
+
+The specified `to` address is not valid.
+
+| Structure | Type | Description |
+| --------- | ------ | --------------------- |
+| (none) | string | the error description |
+
+#### InvalidFeePolicy
+
+The specified `fee` is not valid.
+
+| Structure | Type | Description |
+| --------- | ------ | --------------------- |
+| (none) | string | the error description |
+
+#### Response (InvalidFeePolicy error - attempt to use EthGas for UTXO coin)
+
+```json
+{
+ "mmrpc": "2.0",
+ "error": "Invalid fee policy: Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
+ "error_path": "utxo_common",
+ "error_trace": "utxo_common:1371]",
+ "error_type": "InvalidFeePolicy",
+ "error_data": "Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
+ "id": 0
+}
+```
+
+#### Response (InvalidFeePolicy error - attempt to use UtxoFixed or UtxoPerKbyte for ETH coin)
+
+```json
+{
+ "mmrpc": "2.0",
+ "error": "Invalid fee policy: Expected 'EthGas' fee type, found UtxoFixed",
+ "error_path": "eth",
+ "error_trace": "eth:535]",
+ "error_type": "InvalidFeePolicy",
+ "error_data": "Expected 'EthGas' fee type, found UtxoFixed",
+ "id": 0
}
```
+
+
+ ```json
+ {
+ "tx_type": "Eip1559",
+ "max_fee_per_gas": "1234.567",
+ "max_priority_fee_per_gas": "1.2"
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/index.mdx b/src/pages/komodo-defi-framework/api/index.mdx
index fc1b8e4ed..e63729ebe 100644
--- a/src/pages/komodo-defi-framework/api/index.mdx
+++ b/src/pages/komodo-defi-framework/api/index.mdx
@@ -20,6 +20,7 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| | [add\_node\_to\_version\_stat](/komodo-defi-framework/api/v20/utils/add_node_to_version_stat/#add-node-to-version-stat) | |
| [all\_swaps\_uuids\_by\_filter](/komodo-defi-framework/api/legacy/all_swaps_uuids_by_filter/#all-swaps-uuids-by-filter) | | |
| | | [approve\_token](/komodo-defi-framework/api/v20-dev/approve_token/#approve-token) |
+| | [balance\_enable](/komodo-defi-framework/api/v20/streaming/balance_enable/#balance-enable) | |
| [ban\_pubkey](/komodo-defi-framework/api/legacy/ban_pubkey/#ban-pubkey) | | |
| [best\_orders](/komodo-defi-framework/api/legacy/best_orders/#best-orders) | [best\_orders](/komodo-defi-framework/api/v20/swaps_and_orders/best_orders/#best-orders) | |
| [buy](/komodo-defi-framework/api/legacy/buy/#buy) | | |
@@ -31,6 +32,7 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| [coins\_needed\_for\_kick\_start](/komodo-defi-framework/api/legacy/coins_needed_for_kick_start/#coins-needed-for-kick-start) | | |
| [convert\_utxo\_address](/komodo-defi-framework/api/legacy/convert_utxo_address/#convert-utxo-address) | | |
| [convertaddress](/komodo-defi-framework/api/legacy/convertaddress/#convertaddress) | | |
+| | [disable](/komodo-defi-framework/api/v20/streaming/disable/#disable) | |
| [disable\_coin](/komodo-defi-framework/api/legacy/disable_coin/#disable-coin) | | |
| [electrum](/komodo-defi-framework/api/legacy/coin_activation/#electrum-method) | | |
| [enable](/komodo-defi-framework/api/legacy/coin_activation/#enable-method) | | |
@@ -48,6 +50,7 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| | [experimental::staking::query::ongoing\_undelegations](/komodo-defi-framework/api/v20/wallet/staking/ongoing_delegations/#ongoing-undelegations) | |
| | [experimental::staking::query::validators](/komodo-defi-framework/api/v20/wallet/staking/validators/#validators) | |
| | [experimental::staking::undelegate](/komodo-defi-framework/api/v20/wallet/staking/undelegate/#undelegate) | |
+| | [fee\_estimator\_enable](/komodo-defi-framework/api/v20/streaming/fee_estimator/#fee-estimator-enable) | |
| | [get\_channel\_details](/komodo-defi-framework/api/v20/lightning/channels/#get-channel-details) | |
| | [get\_claimable\_balances](/komodo-defi-framework/api/v20/lightning/channels/#get-claimable-balances) | |
| | [get\_current\_mtp](/komodo-defi-framework/api/v20/utils/get_current_mtp/#get-current-mtp) | |
@@ -60,7 +63,6 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| | [get\_locked\_amount](/komodo-defi-framework/api/v20/swaps_and_orders/get_locked_amount/#get-locked-amount) | |
| | [get\_mnemonic](/komodo-defi-framework/api/v20/utils/get_mnemonic/#get-mnemonic) | |
| [get\_my\_peer\_id](/komodo-defi-framework/api/legacy/get_my_peer_id/#get-my-peer-id) | | |
-| | [get\_new\_address](/komodo-defi-framework/api/v20/wallet/hd/address_management/#get-new-address) | |
| | [get\_nft\_list](/komodo-defi-framework/api/v20/non_fungible_tokens/get_nft_list/#get-a-list-of-nfts) | |
| | [get\_nft\_metadata](/komodo-defi-framework/api/v20/non_fungible_tokens/get_nft_metadata/#get-nft-metadata) | |
| | [get\_nft\_transfers](/komodo-defi-framework/api/v20/non_fungible_tokens/get_nft_transfers/#get-a-list-of-nft-transfers) | |
@@ -72,7 +74,8 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| | | [get\_token\_allowance](/komodo-defi-framework/api/v20-dev/get_token_allowance/#get-token-allowance) |
| | [get\_token\_info](/komodo-defi-framework/api/v20/utils/get_token_info/#get-token-info) | |
| [get\_trade\_fee](/komodo-defi-framework/api/legacy/get_trade_fee/#get-trade-fee) | | |
-| | [get\_wallet\_names](/komodo-defi-framework/api/v20/wallet/hd/get_wallet_names/#get-wallet-names) | |
+| | [get\_wallet\_names](/komodo-defi-framework/api/v20/wallet/get_wallet_names/#get-wallet-names) | |
+| | [heartbeat\_enable](/komodo-defi-framework/api/v20/streaming/heartbeat_enable/#heartbeat-enable) | |
| [import\_swaps](/komodo-defi-framework/api/legacy/import_swaps/#import-swaps) | | |
| [kmd\_rewards\_info](/komodo-defi-framework/api/legacy/kmd_rewards_info/#kmd-rewards-info) | | |
| | [lightning::nodes::add\_trusted\_node](/komodo-defi-framework/api/v20/lightning/nodes/#add-trusted-node) | |
@@ -95,10 +98,13 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| [my\_recent\_swaps](/komodo-defi-framework/api/legacy/my_recent_swaps/#my-recent-swaps) | [my\_recent\_swaps](/komodo-defi-framework/api/v20/swaps_and_orders/my_recent_swaps/#my-recent-swaps) | |
| [my\_swap\_status](/komodo-defi-framework/api/legacy/my_swap_status/#my-swap-status) | | |
| [my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/#my-tx-history) | [my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/#my-tx-history) | |
+| | [network\_enable](/komodo-defi-framework/api/v20/streaming/network_enable/#network-enable) | |
| | [open\_channel](/komodo-defi-framework/api/v20/lightning/channels/#open-channel) | |
| [order\_status](/komodo-defi-framework/api/legacy/order_status/#order-status) | | |
+| | [order\_status\_enable](/komodo-defi-framework/api/v20/streaming/order_status_enable/#order-status-enable) | |
| [orderbook](/komodo-defi-framework/api/legacy/orderbook/#orderbook) | [orderbook](/komodo-defi-framework/api/v20/swaps_and_orders/orderbook/#orderbook) | |
| [orderbook\_depth](/komodo-defi-framework/api/legacy/orderbook_depth/#orderbook-depth) | | |
+| | [orderbook\_enable](/komodo-defi-framework/api/v20/streaming/orderbook_enable/#orderbook-enable) | |
| [orders\_history\_by\_filter](/komodo-defi-framework/api/legacy/orders_history_by_filter/#orders-history-by-filter) | | |
| | [peer\_connection\_healthcheck](/komodo-defi-framework/api/v20/utils/peer_connection_healthcheck/#peer-connection-healthcheck) | |
| [recover\_funds\_of\_swap](/komodo-defi-framework/api/legacy/recover_funds_of_swap/#recover-funds-of-swap) | | |
@@ -114,40 +120,56 @@ Below is a table of the currently available legacy, v2.0 and v2.0 (Dev) methods:
| [show\_priv\_key](/komodo-defi-framework/api/legacy/show_priv_key/#show-priv-key) | | |
| | [sign\_message](/komodo-defi-framework/api/v20/utils/message_signing/sign_message/#sign-message) | |
| | [sign\_raw\_transaction](/komodo-defi-framework/api/v20/wallet/tx/sign_raw_transaction/#sign-raw-transaction) | |
-| | [start\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/#start-eth-fee-estimator) | |
| | [start\_simple\_market\_maker\_bot](/komodo-defi-framework/api/v20/swaps_and_orders/start_simple_market_maker_bot/#start-simple-market-maker-bot) | |
| | [start\_version\_stat\_collection](/komodo-defi-framework/api/v20/utils/start_version_stat_collection/#start-version-stat-collection) | |
-| | [status](/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/#status) | |
-| | [stop\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/#stop-eth-fee-estimator) | |
| | [stop\_simple\_market\_maker\_bot](/komodo-defi-framework/api/v20/swaps_and_orders/stop_simple_market_maker_bot/#stop-simple-market-maker-bot) | |
| | [stop\_version\_stat\_collection](/komodo-defi-framework/api/v20/utils/stop_version_stat_collection/#stop-version-stat-collection) | |
-| | [task::account\_balance::cancel](/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/#cancel) | |
-| | [task::account\_balance::init](/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/#init) | |
-| | [task::account\_balance::status](/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/#status) | |
-| | [task::create\_new\_account::init](/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/#init) | |
+| | [swap\_status\_enable](/komodo-defi-framework/api/v20/streaming/swap_status_enable/#swap-status-enable) | |
+| | [task::account\_balance::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/#task-account-balance-cancel) | |
+| | [task::account\_balance::init](/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/#task-account-balance-init) | |
+| | [task::account\_balance::status](/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/#task-account-balance-status) | |
+| | [task::create\_new\_account::init](/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/#task-create-new-account-init) | |
+| | [task::create\_new\_account::status](/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/#task-create-new-account-status) | |
+| | [task::enable\_bch::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-cancel) | |
+| | [task::enable\_bch::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-init) | |
+| | [task::enable\_bch::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-status) | |
+| | [task::enable\_bch::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-user-action) | |
+| | [task::enable\_eth::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-cancel) | |
+| | [task::enable\_eth::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-init) | |
+| | [task::enable\_eth::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-status) | |
+| | [task::enable\_eth::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-user-action) | |
| | [task::enable\_lightning::cancel](/komodo-defi-framework/api/v20/lightning/activation/#cancel-initialization) | |
| | [task::enable\_lightning::init](/komodo-defi-framework/api/v20/lightning/activation/#initialize-lightning) | |
| | [task::enable\_lightning::status](/komodo-defi-framework/api/v20/lightning/activation/#initialization-status) | |
-| | [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init) | |
-| | [task::enable\_qtum::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#status) | |
-| | [task::enable\_qtum::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#user-action) | |
-| | [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init) | |
-| | [task::enable\_utxo::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#status) | |
-| | [task::enable\_utxo::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#user-action) | |
-| | [task::enable\_z\_coin::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#cancel-activation) | |
-| | [task::enable\_z\_coin::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#initialize-zhtlc-coin-activation) | |
-| | [task::enable\_z\_coin::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#activation-status) | |
-| | [task::get\_new\_address::cancel](/komodo-defi-framework/api/v20/wallet/hd/address_management/#cancel) | |
-| | [task::get\_new\_address::init](/komodo-defi-framework/api/v20/wallet/hd/address_management/#init) | |
-| | [task::get\_new\_address::status](/komodo-defi-framework/api/v20/wallet/hd/address_management/#status) | |
-| | [task::get\_new\_address::user\_action](/komodo-defi-framework/api/v20/wallet/hd/address_management/#user-action) | |
-| | [task::init\_trezor::cancel](/komodo-defi-framework/api/v20/utils/task_init_trezor/#cancel) | |
-| | [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#init) | |
-| | [task::init\_trezor::status](/komodo-defi-framework/api/v20/utils/task_init_trezor/#status) | |
-| | [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#user-action) | |
-| | [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#cancel) | |
-| | [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#init) | |
-| | [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#status) | |
+| | [task::enable\_qtum::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-cancel) | |
+| | [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-init) | |
+| | [task::enable\_qtum::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-status) | |
+| | [task::enable\_qtum::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-user-action) | |
+| | [task::enable\_tendermint::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-cancel) | |
+| | [task::enable\_tendermint::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-init) | |
+| | [task::enable\_tendermint::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-status) | |
+| | [task::enable\_tendermint::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-user-action) | |
+| | [task::enable\_utxo::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-cancel) | |
+| | [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-init) | |
+| | [task::enable\_utxo::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-status) | |
+| | [task::enable\_utxo::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-user-action) | |
+| | [task::enable\_z\_coin::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-cancel) | |
+| | [task::enable\_z\_coin::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-init) | |
+| | [task::enable\_z\_coin::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-status) | |
+| | [task::enable\_z\_coin::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-user-action) | |
+| | [task::get\_new\_address::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/#task-get-new-address-cancel) | |
+| | [task::get\_new\_address::init](/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/#task-get-new-address-init) | |
+| | [task::get\_new\_address::status](/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/#task-get-new-address-status) | |
+| | [task::get\_new\_address::user\_action](/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/#task-get-new-address-user-action) | |
+| | [task::init\_trezor::cancel](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-cancel) | |
+| | [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-init) | |
+| | [task::init\_trezor::status](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-status) | |
+| | [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-user-action) | |
+| | [task::scan\_for\_new\_addresses::init](/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/#task-scan-for-new-addresses-init) | |
+| | [task::scan\_for\_new\_addresses::status](/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/#task-scan-for-new-addresses-status) | |
+| | [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-cancel) | |
+| | [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-init) | |
+| | [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-status) | |
| [trade\_preimage](/komodo-defi-framework/api/legacy/trade_preimage/#trade-preimage) | [trade\_preimage](/komodo-defi-framework/api/v20/swaps_and_orders/trade_preimage/#trade-preimage) | |
| [unban\_pubkeys](/komodo-defi-framework/api/legacy/unban_pubkeys/#unban-pubkeys) | | |
| | [update\_channel](/komodo-defi-framework/api/v20/lightning/channels/#update-channel) | |
diff --git a/src/pages/komodo-defi-framework/api/legacy/ban_pubkey/index.mdx b/src/pages/komodo-defi-framework/api/legacy/ban_pubkey/index.mdx
index ebfa3e353..1848060ac 100644
--- a/src/pages/komodo-defi-framework/api/legacy/ban_pubkey/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/ban_pubkey/index.mdx
@@ -13,10 +13,10 @@ The `ban_pubkey` method bans the selected pubkey ignoring its order matching mes
## Arguments
-| Structure | Type | Description |
-| ------------- | ------- | -------------------------------------------------------- |
-| pubkey | string | The pubkey to ban |
-| reason | string | The reason of banning |
+| Structure | Type | Description |
+| ------------- | ------- | ---------------------------------------------------------------------------------------- |
+| pubkey | string | The pubkey to ban |
+| reason | string | The reason of banning |
| duration\_min | integer | Optional. Minutes to apply the ban. If not set, ban will persist until kdf is restarted. |
## Response
diff --git a/src/pages/komodo-defi-framework/api/legacy/coin_activation/index.mdx b/src/pages/komodo-defi-framework/api/legacy/coin_activation/index.mdx
index d05ab6c24..16049c5b0 100644
--- a/src/pages/komodo-defi-framework/api/legacy/coin_activation/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/coin_activation/index.mdx
@@ -484,7 +484,7 @@ If max\_connected is \< min\_connected, you will see the following error:
```
-For enabling Z coins, refer to the [ZHTLC activation tasks](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/) in the v2.0 Dev API.
+For enabling Z coins, refer to the [ZHTLC activation tasks](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/) in the v2.0 Dev API.
To see more examples for other platforms like Fantom, Avalanche & Harmony, you can search the [Komodo DeFi Framework API Coin Activation Commands List
](https://stats.kmd.io/atomicdex/activation_commands/) or build a single `batch` command to enable a set of selected coins via the
diff --git a/src/pages/komodo-defi-framework/api/legacy/convertaddress/index.mdx b/src/pages/komodo-defi-framework/api/legacy/convertaddress/index.mdx
index de4da7662..d92cab95d 100644
--- a/src/pages/komodo-defi-framework/api/legacy/convertaddress/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/convertaddress/index.mdx
@@ -13,11 +13,11 @@ Or this can be used to convert an ETH address from single to mixed case checksum
## Arguments
-| Structure | Type | Description |
-| ------------------- | ------ | ----------------------------------------------------------------------------------------------- |
-| coin | string | the name of the coin address context |
-| from | string | input address |
-| to\_address\_format | object | A standard [AddressFormat](/komodo-defi-framework/api/common_structures/#address-format) object |
+| Structure | Type | Description |
+| ------------------- | ------ | ------------------------------------------------------------------------------------------------------ |
+| coin | string | the name of the coin address context |
+| from | string | input address |
+| to\_address\_format | object | A standard [AddressFormat](/komodo-defi-framework/api/common_structures/wallet/#address-format) object |
## Response
diff --git a/src/pages/komodo-defi-framework/api/legacy/index.mdx b/src/pages/komodo-defi-framework/api/legacy/index.mdx
index bb73b2fea..6b9394855 100644
--- a/src/pages/komodo-defi-framework/api/legacy/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/index.mdx
@@ -6,3 +6,14 @@ export const description = "This section contains the Legacy Komodo DeFi Framewo
This section of the documentation contains the Legacy Komodo DeFi Framework methods that are currently being ported to the 2.0 version
+
+## Common Komodo DeFi SDK Request / Response Objects
+
+There are some [common objects](/komodo-defi-framework/api/common_structures/) that are used in the Komodo DeFi SDK RPC protocol. These standard objects have been collected and grouped into the following sections:
+
+* [Activation](/komodo-defi-framework/api/common_structures/activation/)
+* [Lightning Network](/komodo-defi-framework/api/common_structures/lightning/)
+* [Non-fungible Tokens](/komodo-defi-framework/api/common_structures/nfts/)
+* [Orders](/komodo-defi-framework/api/common_structures/orders/)
+* [Swaps](/komodo-defi-framework/api/common_structures/swaps/)
+* [Wallet](/komodo-defi-framework/api/common_structures/wallet/)
diff --git a/src/pages/komodo-defi-framework/api/legacy/my_tx_history/index.mdx b/src/pages/komodo-defi-framework/api/legacy/my_tx_history/index.mdx
index 245aeb69f..3cf52dab1 100644
--- a/src/pages/komodo-defi-framework/api/legacy/my_tx_history/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/my_tx_history/index.mdx
@@ -115,36 +115,6 @@ The coin that is used must have `tx_history` set to true in its [enable](/komodo
}
```
- #### Response (error)
-
- ```json
- {
- "error": "lp_coins:1011] from_id 1d5c1b67f8ebd3fc480e25a1d60791bece278f5d1245c5f9474c91a142fee8e2 is not found"
- }
- ```
-
- #### Response (History too large in electrum mode)
-
- ```json
- {
- "result": {
- "current_block": 144753,
- "from_id": null,
- "limit": 0,
- "skipped": 0,
- "sync_status": {
- "additional_info": {
- "code": -1,
- "message": "Got `history too large` error from Electrum server. History is not available"
- },
- "state": "Error"
- },
- "total": 0,
- "transactions": []
- }
- }
- ```
-
#### Response (Sync in progress for UTXO coins)
```json
@@ -274,3 +244,91 @@ The coin that is used must have `tx_history` set to true in its [enable](/komodo
}
```
+
+
+ ### Error - Coin not active
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "TTT-SLP",
+ "error_path": "my_tx_history_v2.lp_coins",
+ "error_trace": "my_tx_history_v2:389] lp_coins:2847]",
+ "error_type": "CoinIsNotActive",
+ "error_data": "TTT-SLP",
+ "id": null
+ }
+ ```
+
+ ### Error - Coin not compatible
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "TTT-SLP",
+ "error_path": "my_tx_history_v2",
+ "error_trace": "my_tx_history_v2:336]",
+ "error_type": "NotSupportedFor",
+ "error_data": "TTT-SLP",
+ "id": null
+ }
+ ```
+
+ ### Error - Coin enabled without tx\_history = true
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Storage is not initialized for TTT-SLP",
+ "error_path": "my_tx_history_v2",
+ "error_trace": "my_tx_history_v2:343]",
+ "error_type": "StorageIsNotInitialized",
+ "error_data": "Storage is not initialized for TTT-SLP",
+ "id": null
+ }
+ ```
+
+ ### Error - Local database failed
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
+ "error_path": "my_tx_history_v2.sql_tx_history_storage",
+ "error_trace": "my_tx_history_v2:351] sql_tx_history_storage:472]",
+ "error_type": "StorageError",
+ "error_data": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
+ "id": null
+ }
+ ```
+
+ #### Error - From ID not found
+
+ ```json
+ {
+ "error": "lp_coins:1011] from_id 1d5c1b67f8ebd3fc480e25a1d60791bece278f5d1245c5f9474c91a142fee8e2 is not found"
+ }
+ ```
+
+ #### Error - History too large
+
+ ```json
+ {
+ "result": {
+ "current_block": 144753,
+ "from_id": null,
+ "limit": 0,
+ "skipped": 0,
+ "sync_status": {
+ "additional_info": {
+ "code": -1,
+ "message": "Got `history too large` error from Electrum server. History is not available"
+ },
+ "state": "Error"
+ },
+ "total": 0,
+ "transactions": []
+ }
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/legacy/trade_preimage/index.mdx b/src/pages/komodo-defi-framework/api/legacy/trade_preimage/index.mdx
index d3cb18599..c400cdc75 100644
--- a/src/pages/komodo-defi-framework/api/legacy/trade_preimage/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/trade_preimage/index.mdx
@@ -38,17 +38,17 @@ Depending on the parameters, the function returns different results:
#### Response
-| Structure | Type | Description |
-| ------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| result | object | an object containing the relevant information |
-| base\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `base` coin |
-| rel\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `rel` coin |
-| volume | string (numeric) | Optional. The max available volume that can be traded (in decimal representation); empty if the `max` argument is missing or false |
-| volume\_rat | rational | Optional. The max available volume that can be traded represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object.; empty if the `max` argument is missing or false |
-| volume\_fraction | fraction | Optional. The max available volume that can be traded represented as a standard [fractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object.; empty if the `max` argument is missing or false |
-| taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The dex fee to be paid by Taker; empty if `swap_method` is `setprice` |
-| fee\_to\_send\_taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid to send the dex fee; empty if `swap_method` is `setprice` |
-| total\_fees | array of objects | A standard [TotalFeeInfo](/komodo-defi-framework/api/common_structures/#total-fee-info) object. Each element is a sum of fees required to be paid from user's balance of corresponding `ExtendedFeeInfo.coin`; the elements are unique by coin |
+| Structure | Type | Description |
+| ------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| result | object | an object containing the relevant information |
+| base\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `base` coin |
+| rel\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `rel` coin |
+| volume | string (numeric) | Optional. The max available volume that can be traded (in decimal representation); empty if the `max` argument is missing or false |
+| volume\_rat | rational | Optional. The max available volume that can be traded represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object.; empty if the `max` argument is missing or false |
+| volume\_fraction | fraction | Optional. The max available volume that can be traded represented as a standard [fractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object.; empty if the `max` argument is missing or false |
+| taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The dex fee to be paid by Taker; empty if `swap_method` is `setprice` |
+| fee\_to\_send\_taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid to send the dex fee; empty if `swap_method` is `setprice` |
+| total\_fees | array of objects | A standard [TotalFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#total-fee-info) object. Each element is a sum of fees required to be paid from user's balance of corresponding `ExtendedFeeInfo.coin`; the elements are unique by coin |
#### 📌 Examples
diff --git a/src/pages/komodo-defi-framework/api/legacy/withdraw/index.mdx b/src/pages/komodo-defi-framework/api/legacy/withdraw/index.mdx
index 92b6a918c..6349d1361 100644
--- a/src/pages/komodo-defi-framework/api/legacy/withdraw/index.mdx
+++ b/src/pages/komodo-defi-framework/api/legacy/withdraw/index.mdx
@@ -11,13 +11,13 @@ This method generates a raw transaction which should then be broadcast using [se
## Arguments
-| Structure | Type | Description |
-| --------- | ---------------- | ---------------------------------------------------------------------------------------------- |
-| coin | string | the name of the coin the user desires to withdraw |
-| to | string | coins are withdrawn to this address |
-| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
-| max | bool | withdraw the maximum available amount |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| Structure | Type | Description |
+| --------- | ---------------- | ----------------------------------------------------------------------------------------------------- |
+| coin | string | the name of the coin the user desires to withdraw |
+| to | string | coins are withdrawn to this address |
+| amount | string (numeric) | the amount the user desires to withdraw, ignored when `max=true` |
+| max | bool | withdraw the maximum available amount |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
## Response
diff --git a/src/pages/komodo-defi-framework/api/v20-dev/index.mdx b/src/pages/komodo-defi-framework/api/v20-dev/index.mdx
index c9f6ed7eb..6733f5892 100644
--- a/src/pages/komodo-defi-framework/api/v20-dev/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20-dev/index.mdx
@@ -4,3 +4,14 @@ export const description = "Komodo DeFi Framework API now supports mmrpc 2.0 pro
# Komodo DeFi Framework API RPC Protocol v2.0 (Dev)
The methods in this section are still undergoing testing and enhancement. To use these methods, you will need to run a version of `kdf` from the dev branch or a feature specific branch with an active pull request to the dev branch.
+
+## Common Komodo DeFi SDK Request / Response Objects
+
+There are some [common objects](/komodo-defi-framework/api/common_structures/) that are used in the Komodo DeFi SDK RPC protocol. These standard objects have been collected and grouped into the following sections:
+
+* [Activation](/komodo-defi-framework/api/common_structures/activation/)
+* [Lightning Network](/komodo-defi-framework/api/common_structures/lightning/)
+* [Non-fungible Tokens](/komodo-defi-framework/api/common_structures/nfts/)
+* [Orders](/komodo-defi-framework/api/common_structures/orders/)
+* [Swaps](/komodo-defi-framework/api/common_structures/swaps/)
+* [Wallet](/komodo-defi-framework/api/common_structures/wallet/)
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_bch_with_tokens/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_bch_with_tokens/index.mdx
index 121a5c87f..4924fb1c6 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_bch_with_tokens/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_bch_with_tokens/index.mdx
@@ -14,14 +14,13 @@ The Komodo DeFi Framework supports Bitcoin Cash SLP tokens. Using this method, y
| mode | object | A standard [ActivationMode](/komodo-defi-framework/api/common_structures/activation/#activation-mode) object. |
| tx\_history | boolean | If `true`, spawns a background loop to store the local cache of address(es) transactions. Defaults to `false`. |
| slp\_tokens\_requests | array of objects | A list of standard [TokensRequest](/komodo-defi-framework/api/common_structures/activation/#tokens-request) objects. |
-| address\_format | object | Optional. Overwrites the address format from coins file, if set. A standard [AddressFormat](/komodo-defi-framework/api/common_structures/#address-format) object. |
+| address\_format | object | Optional. Overwrites the address format from coins file, if set. A standard [AddressFormat](/komodo-defi-framework/api/common_structures/wallet/#address-format) object. |
| allow\_slp\_unsafe\_conf | boolean | Optional, defaults to `false`. If `true`, allows bchd\_urls to be empty. **Warning:** it is highly unsafe to do so as it may lead to invalid SLP transactions generation and tokens burning. |
| get\_balances | boolean | Optional, defaults to `true`. If `false`, coin and token balances will not be returned in the response, and the response will be returned more quickly. |
| required\_confirmations | integer | Optional, defaults to value in the coins file, or `3` if not set. Confirmations to wait for steps in swap. |
| requires\_notarization | boolean | Optional, defaults to `true`. Has no effect on BCH. |
| tx\_history | boolean | Optional, defaults to `true`. If `true` the Komodo DeFi Framework API will preload transaction history as a background process. Must be set to `true` to use the [my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/#my-tx-history) method |
| utxo\_merge\_params | object | A standard [UtxoMergeParams](/komodo-defi-framework/api/common_structures/activation/#utxo-merge-params) object. Used to reduce a wallet's UTXO count in cases where it is causing significantly slower RPC responses. |
-| | | |
* Go to: [https://github.com/KomodoPlatform/coins/tree/master/electrums](https://github.com/KomodoPlatform/coins/tree/master/electrums) for a full list of nodes/servers.
@@ -29,11 +28,11 @@ The Komodo DeFi Framework supports Bitcoin Cash SLP tokens. Using this method, y
### Response Parameters
-| Parameter | Type | Description |
-| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| current\_block | integer | Block height of the coin being activated |
-| bch\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/activation/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
-| slp\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/activation/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
+| Parameter | Type | Description |
+| --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| current\_block | integer | Block height of the coin being activated |
+| bch\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
+| slp\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
bch\_addresses\_infos and slp\_addresses\_infos are the same. This should be consolidated in the api.
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_eth_with_tokens/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_eth_with_tokens/index.mdx
index 9375afc64..0e91c8de9 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_eth_with_tokens/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_eth_with_tokens/index.mdx
@@ -33,12 +33,12 @@ Additionally, it supports ERC20 tokens on the ETH chain and associated ERC20 lik
### Response Parameters
-| Parameter | Type | Description |
-| ----------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| current\_block | integer | Block height of the coin being activated |
-| eth\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/activation/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
-| erc20\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/activation/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
-| nfts\_infos | list | A list of standard [NftInfoBasic](/komodo-defi-framework/api/common_structures/nfts/#nft-info) objects. |
+| Parameter | Type | Description |
+| ----------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| current\_block | integer | Block height of the coin being activated |
+| eth\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
+| erc20\_addresses\_infos | object | A standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) object. Note: the structure may vary based on the value of the `get_balances` parameter. |
+| nfts\_infos | list | A list of standard [NftInfoBasic](/komodo-defi-framework/api/common_structures/nfts/#nft-info) objects. |
### 📌 Examples
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_tendermint_with_assets/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_tendermint_with_assets/index.mdx
index d34ec2386..6240d6052 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_tendermint_with_assets/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/enable_tendermint_with_assets/index.mdx
@@ -22,14 +22,14 @@ Use this method to activate Tendermint coins (COSMOS/IRIS/OSMOSIS) and IBC asset
### Response Parameters
-| Parameter | Type | Description |
-| ---------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| current\_block | integer | Block height of the coin being activated |
-| ticker | string | Ticker of the platform protocol coin, as input in the request. |
-| address | string | An address for the activated coin |
-| balance | object | Only returned when `get_balances` is `true`. A standard [BalanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. |
-| tokens\_balances | array of objects | Only returned when `get_balances` is `true`. A list of standard [AddressInfo](/komodo-defi-framework/api/common_structures/activation/#address-info) objects, one for each token. |
-| tokens\_tickers | array | Only returned when `get_balances` is `false`. A list of each token which was activated. |
+| Parameter | Type | Description |
+| ---------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the platform protocol coin, as input in the request. |
+| address | string | An address for the activated coin |
+| balance | object | Only returned when `get_balances` is `true`. A standard [BalanceInfos](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
+| tokens\_balances | array of objects | Only returned when `get_balances` is `true`. A list of standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) objects, one for each token. |
+| tokens\_tickers | array | Only returned when `get_balances` is `false`. A list of each token which was activated. |
### 📌 Examples
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/index.mdx
index b648e7630..8af1c13ed 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/index.mdx
@@ -1,31 +1,9 @@
-export const title = "Komodo DeFi Framework Method: ZHTLC Coin Methods";
+export const title = "Komodo DeFi Framework Method: Task Managed Coin Activation";
export const description =
- "The methods in this document allow activation and management of ZHTLC coins like ARRR & ZOMBIE.";
+ "The methods in this document detail task managed activation of coins in HD mode.";
-# ZHTLC Coin Methods
+# Coin Activation (v2)
-ZHTLC coins, like Pirate (ARRR) and the test coin ZOMBIE take a little longer to enable, and use a new two step method to enable.
-Activation can take a little while the first time, as we need to download some block cache data, and build a wallet database.
-Subsequent enabling will be faster, but still take a bit longer than other coins. The second step for activation is optional, but allows us to check the status of the activation process.
-
-To activate ZHTLC coins, you need to use the [task::enable\_z\_coin](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#withdraw-tasks) methods:
-
-* Initialize activation with with [task::enable\_z\_coin::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#initialize-zhtlc-coin-activation)
-* Query activation status with [task::enable\_z\_coin::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#activation-status)
-* Cancel activation with [task::enable\_z\_coin::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/#cancel-activation)
-
-To withdraw ZHTLC coins, you need to use the [task::withdraw](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#withdraw-tasks) methods:
-
-* Generate a transaction with [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#init)
-* Query its status with [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#status)
-* Cancel generating the transaction with [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#cancel)
-* Broadcast the transaction with [send\_raw\_transaction](/komodo-defi-framework/api/legacy/send_raw_transaction/#send-raw-transaction)
-
-ZHTLC coins are not compatible with the [v2 my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) and [legacy my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/) methods.
-To get the transaction history for ZHTLC coins, you need to use the [z\_coin\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/) method.
+The v2 activation methods introduced more functionality to KDF, such as support for [Hierarchical Deterministic (HD) Wallets](https://atomicdex.io/en/blog/hd-wallet/)
-
-
- TODO: Add summary for other methods, along with detail for HD methods
-
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/index.mdx
new file mode 100644
index 000000000..c9127dcad
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/index.mdx
@@ -0,0 +1,390 @@
+export const title = "Komodo DeFi Framework Method: BCH Coin Activation Tasks";
+export const description =
+ "The methods in this document demonstrate the activation of BCH & SLP tokens.";
+
+import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
+
+# Task: BCH/SLP Activation
+
+## task::enable\_bch::init {{label : 'task::enable_bch::init', tag : 'API-v2'}}
+
+Use this method for task managed activation of BCH and SLP tokens. Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ------------------------ | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ticker | string | Ticker of the platform protocol coin. Options: `BCH` or `tBCH` |
+| bchd\_urls | array of strings | A list of BCHD gRPC API server URLs, used for validation of SLP token transactions. It's recommended to add as many servers as possible. The URLs list can be found at [https://bchd.fountainhead.cash/](https://bchd.fountainhead.cash/). |
+| mode | object | A standard [ActivationMode](/komodo-defi-framework/api/common_structures/activation/#activation-mode) object. |
+| tx\_history | boolean | If `true`, spawns a background loop to store the local cache of address(es) transactions. Defaults to `false`. |
+| slp\_tokens\_requests | array of objects | A list of standard [TokensRequest](/komodo-defi-framework/api/common_structures/activation/#tokens-request) objects. |
+| address\_format | object | Optional. Overwrites the address format from coins file, if set. A standard [AddressFormat](/komodo-defi-framework/api/common_structures/wallet/#address-format) object. |
+| allow\_slp\_unsafe\_conf | boolean | Optional, defaults to `false`. If `true`, allows bchd\_urls to be empty. **Warning:** it is highly unsafe to do so as it may lead to invalid SLP transactions generation and tokens burning. |
+| get\_balances | boolean | Optional, defaults to `true`. If `false`, coin and token balances will not be returned in the response, and the response will be returned more quickly. |
+| required\_confirmations | integer | Optional, defaults to value in the coins file, or `3` if not set. Confirmations to wait for steps in swap. |
+| requires\_notarization | boolean | Optional, defaults to `true`. Has no effect on BCH. |
+| tx\_history | boolean | Optional, defaults to `true`. If `true` the Komodo DeFi Framework API will preload transaction history as a background process. Must be set to `true` to use the [my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/#my-tx-history) method |
+| utxo\_merge\_params | object | A standard [UtxoMergeParams](/komodo-defi-framework/api/common_structures/activation/#utxo-merge-params) object. Used to reduce a wallet's UTXO count in cases where it is causing significantly slower RPC responses. |
+| | | |
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------- | --------------------------------------------------------- |
+| task\_id | integer | An identifying number which is used to query task status. |
+
+#### 📌 Examples
+
+#### Activation in Trezor mode
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_bch::init",
+ "params": {
+ "ticker": "BCH",
+ "activation_params": {
+ "bchd_urls": [
+ "https://bchd.dragonhound.info"
+ ],
+ "mode": {
+ "rpc": "Electrum",
+ "rpc_data": {
+ "servers": [
+ {
+ "url": "bch.imaginary.cash:50002",
+ "protocol": "SSL"
+ },
+ {
+ "url": "cashnode.bch.ninja:50002",
+ "protocol": "SSL"
+ },
+ {
+ "url": "bch.soul-dev.com:50002",
+ "protocol": "SSL"
+ },
+ {
+ "url": "electrum3.cipig.net:20055",
+ "protocol": "SSL"
+ }
+ ]
+ }
+ },
+ "slp_tokens_requests": [
+ {
+ "ticker": "USDF"
+ },
+ {
+ "ticker": "ASLP-SLP",
+ "required_confirmations": 3
+ }
+ ],
+ "tx_history": true,
+ "required_confirmations": 5,
+ "requires_notarization": false,
+ "address_format": {
+ "format": "cashaddress",
+ "network": "bitcoincash"
+ },
+ "utxo_merge_params": {
+ "merge_at": 50,
+ "check_every": 10,
+ "max_merge_at_once": 25
+ }
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "task_id": 1
+ },
+ "id": null
+ }
+ ```
+
+
+## task::enable\_bch::status {{label : 'task::enable_bch::status', tag : 'API-v2'}}
+
+After running the `task::enable_bch::init` method, we can query the status of activation to check its progress.
+The response will return the following:
+
+* Result of the task (success or error)
+* Progress status (what state the task is in)
+* Required user action (what user should do before the task can continue)
+
+#### Arguments
+
+| Parameter | Type | Description |
+| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_bch::status",
+ "params": {
+ "task_id": 0,
+ "forget_if_finished": false
+ }
+ }
+ ```
+
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------------------------------------------------------------------------------------------------- |
+| status | string | A short indication of how the enabling is progressing. |
+| details | object | Depending on the state of enabling progress, this will contain different information as shown in the responses below. |
+
+Possible `status` values while activation is in progress:
+
+* `ActivatingCoin`: The first step of activation. It does not require any action from the user.
+* `RequestingWalletBalance`: The first step of activation, while initial balances info is being requested. It does not require any action from the user.
+* `Finishing`: Activation process completed
+* `WaitingForTrezorToConnect`: Waiting for the user to plugin a Trezor device
+* `FollowHwDeviceInstructions`: Waiting for the user to follow the instructions on the device
+
+Once complete, `status` will be `Ok`, and the `details` object will have the following structure:
+
+#### Response (ready, successful, HD mode)
+
+| Parameter | Type | Description |
+| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the activation request. |
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "Ok",
+ "details": {
+ "ticker": "BCH",
+ "current_block": 895348,
+ "wallet_balance": {
+ "wallet_type": "HD",
+ "accounts": [
+ {
+ "account_index": 0,
+ "derivation_path": "m/44'/145'/0'",
+ "total_balance": {
+ "BCH": {
+ "spendable": "0",
+ "unspendable": "0"
+ }
+ },
+ "addresses": [
+ {
+ "address": "bitcoincash:qq6qvc33strtjwnfktdqswwvxuhrhs2ussavvhv3a0",
+ "derivation_path": "m/44'/145'/0'/0/0",
+ "chain": "External",
+ "balance": {
+ "BCH": {
+ "spendable": "0",
+ "unspendable": "0"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "id": null
+ }
+ ```
+
+
+#### Response (ready, successful, Iguana mode)
+
+| Parameter | Type | Description |
+| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the activation request. |
+
+
+ ```json
+ ```
+
+
+#### Response (in progress)
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "InProgress",
+ "details": "RequestingWalletBalance"
+ },
+ "id": null
+ }
+ ```
+
+
+#### Response (ready, error)
+
+| Parameter | Type | Description |
+| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
+| status | string | A short indication of how the requested process is progressing. |
+| details.result | object | Depending on the state of process progress, this will contain different information as detailed in the items below. |
+| .error | string | The ticker of the coin being activated |
+| .error\_path | string | Used for debugging. A reference to the function in code base which returned the error |
+| .error\_trace | string | Used for debugging. A trace of lines of code which led to the returned error |
+| .error\_type | string | An enumerated error identifier to indicate the category of error |
+| .error\_data | string | Additonal context for the error type |
+
+Possible Error Cases:
+
+* `TaskTimedOut` - Timed out waiting for coin activation, connecting to the device trezor or for user to confirm pubkey)
+* `CoinCreationError` - Error during activation. E.g. incorrect or inactive electrum servers.
+* `HwError` - **This is the most important error type.** Unlike other error types, `HwError` requires the GUI / User to check the details in `error_data` field to know which action is required. View the [HwError error type details](/komodo-defi-framework/api/v20/utils/task_init_trezor/#details-for-hw-error-error-type) for more info.
+
+## task::enable\_bch::user\_action {{label : 'task::enable_bch::user_action', tag : 'API-v2'}}
+
+If the `task::enable_bch::status` returns `UserActionRequired`, we need to use the `task::enable_bch::user_action` method to enter our PIN
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| user\_action | object | Object containing the params below |
+| user\_action.action\_type | string | Will be `TrezorPin` for this method |
+| user\_action.pin | string (number) | When the Trezor device is displaying a grid of numbers for PIN entry, this param will contain your Trezor pin, as mapped through your keyboard numpad. See the image below for more information. |
+
+
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------- |
+| result | string | The outcome of the request. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_bch::user_action",
+ "params": {
+ "task_id": 0,
+ "user_action": {
+ "action_type": "TrezorPin",
+ "pin": "862743"
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+## task::enable\_bch::cancel {{label : 'task::enable_bch::cancel', tag : 'API-v2'}}
+
+If you want to cancel the enabling process before it has completed, you can use this method.
+
+#### Arguments
+
+| Structure | Type | Description |
+| --------- | ------- | --------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the enabling process. |
+
+#### Response
+
+| Structure | Type | Description |
+| ------------ | ------ | -------------------------------------------------------------- |
+| result | string | Indicates task cancellation was succesful. |
+| error | string | An error message to explain what went wrong. |
+| error\_path | string | An indicator of the class or function which reurned the error. |
+| error\_trace | string | An indicator of where in the source code the error was thrown. |
+| error\_type | string | An enumerated value for the returned error. |
+| error\_data | string | The input task ID which resulted in the error. |
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "task::enable_bch::cancel",
+ "mmrpc": "2.0",
+ "params": {
+ "task_id": 3
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+
+ #### Response (success - already finished)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Task is finished already",
+ "error_path": "init_standalone_coin.manager",
+ "error_trace": "init_standalone_coin:144] manager:101]",
+ "error_type": "TaskFinished",
+ "error_data": 0,
+ "id": null
+ }
+ ```
+
+ #### Response (error - no such task)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "No such task '1'",
+ "error_path": "init_standalone_coin",
+ "error_trace": "init_standalone_coin:119]",
+ "error_type": "NoSuchTask",
+ "error_data": 1,
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/index.mdx
new file mode 100644
index 000000000..9131bb6b5
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/index.mdx
@@ -0,0 +1,428 @@
+export const title = "Komodo DeFi Framework Method: ETH/EVM Activation Tasks";
+export const description =
+ "The methods in this document demonstrate the task managed activation of ETH/EVM coins and tokens.";
+
+import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
+
+# Task: ETH/EVM Activation
+
+## task::enable\_eth::init {{label : 'task::enable_eth::init', tag : 'API-v2'}}
+
+Use this method for task managed activation of ETH/EVM coins & tokens. Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
+
+#### Arguments
+
+| Parameter | Type | Description |
+| --------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ticker | string | Ticker of the platform protocol coin. Options: `ETH`, `AVAX`, `BNB`, `FTM`, `MATIC`, `ONE`, `ETH-ARB20` |
+| mm2 | integer | Required if not set in `coins` file. Informs the Komodo DeFi Framework API whether or not the coin is expected to function. Accepted values are `0` or `1` |
+| swap\_contract\_address | string | Address of etomic swap smart contract |
+| fallback\_swap\_contract | string | Address of backup etomic swap smart contract. |
+| nodes | array of objects | A list of standard [CoinNode](/komodo-defi-framework/api/common_structures/activation/#coin-node) objects. |
+| erc20\_tokens\_requests | array of objects | A list of standard [TokensRequest](/komodo-defi-framework/api/common_structures/activation/#tokens-request) objects. |
+| gas\_station\_url | string | Optional, a url for gas station api. |
+| gas\_station\_decimals | integer | Optional, for ETH/ERC20 and other gas model chains. Defaults to `8`. Defines the decimals used to denominate the gas station response to gwei units. For example, the ETH gas station uses 8 decimals, which means that "average": 860 is equal to 86 gwei. While the Matic gas station uses 9 decimals, so 860 would mean 860 gwei exactly. |
+| gas\_station\_policy.policy | string | Optional, for ETH/ERC20 and other gas model chains. Defaults to `"MeanAverageFast"`. Defines the method of gas price calculation from the station response. `"MeanAverageFast"` will use the mean between average and fast fields. `"Average"` will return a simple average value. |
+| get\_balances | boolean | Optional, defaults to `true`. If `false`, coin and token balances will not be returned in the response, and the response will be returned more quickly. |
+| priv\_key\_policy | string | Optional, defaults to `ContextPrivKey`. value can be `ContextPrivKey`,`Trezor` when Komodo DeFi Framework is built for native platforms. value can be `ContextPrivKey`, `Trezor`, `Metamask` when the Komodo DeFi Framework is built targeting `wasm` |
+| required\_confirmations | integer | Optional, defaults to `3`. When the platform coin is involved, the number of confirmations for the Komodo DeFi Framework API to wait during the transaction steps of an atomic swap |
+| requires\_notarization | boolean | Optional, defaults to `false`. If `true`, coins protected by [Komodo Platform's dPoW security](https://satindergrewal.medium.com/delayed-proof-of-work-explained-9a74250dbb86) will wait for a notarization before progressing to the next atomic swap transactions step. |
+| rpc\_mode | string | Optional, defaults to `Default`. Value can be `Metamask` only when the Komodo DeFi Framework is built targeting `wasm`. |
+| tx\_history | boolean | Optional, defaults to `false`. If `true` the Komodo DeFi Framework API will preload transaction history as a background process. Must be set to `true` to use the [my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/#my-tx-history) method |
+| nft\_req | object | Optional, non-HD only. encapsulates the request parameters for NFT activation, including NFT provider configuration. |
+| min\_addresses\_number | integer | Optional, HD wallets only. How many additional addreesses to generate at a minimum. |
+| scan\_policy | string | Optional, HD wallets only. Whether or not to scan for new addresses. Select from `do_not_scan`, `scan_if_new_wallet` or `scan`. Note that `scan` will result in multple requests to the Komodo DeFi Framework. |
+| gap\_limit | integer | Optional, HD wallets only. The max number of empty addresses in a row. If transactions were sent to an address outside the `gap_limit`, they will not be identified when scanning. |
+| path\_to\_address | object | Optional, HD wallets only. A standard [AddressDerivationPath](/komodo-defi-framework/api/common_structures/wallet/#address-derivation-path) object. |
+| swap\_v2\_contracts | object | Optional, must be provided if "use\_trading\_proto\_v2" is true in [your configuration](/komodo-defi-framework/setup/configure-mm2-json/). A standard [SwapV2Contracts](/komodo-defi-framework/api/common_structures/activation/#tokens-request) object. |
+
+### Response
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------------------------------------------------------------------------------------------------- |
+| status | string | A short indication of how the enabling is progressing. |
+| details | object | Depending on the state of enabling progress, this will contain different information as shown in the responses below. |
+
+Possible `status` values while activation is in progress:
+
+* `ActivatingCoin`: The first step of activation. It does not require any action from the user.
+* `RequestingWalletBalance`: The first step of activation, while initial balances info is being requested. It does not require any action from the user.
+* `Finishing`: Activation process completed
+* `WaitingForTrezorToConnect`: Waiting for the user to plugin a Trezor device
+* `FollowHwDeviceInstructions`: Waiting for the user to follow the instructions on the device
+
+Once complete, `status` will be `Ok`, and the `details` object will have the following structure:
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------- | --------------------------------------------------------- |
+| task\_id | integer | An identifying number which is used to query task status. |
+
+#### 📌 Examples
+
+#### Activation in Trezor mode
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_eth::init",
+ "params": {
+ "ticker": "MATIC",
+ "gas_station_url": "https://gasstation-mainnet.matic.network/",
+ "swap_contract_address": "0x9130b257D37A52E52F21054c4DA3450c72f595CE",
+ "fallback_swap_contract": "0x9130b257D37A52E52F21054c4DA3450c72f595CE",
+ "swap_v2_contracts": {
+ "taker_swap_v2_contract": "0x9130b257D37A52E52F21054c4DA3450c72f595CE",
+ "maker_swap_v2_contract": "0x9130b257D37A52E52F21054c4DA3450c72f595CE",
+ "nft_maker_swap_v2_contract": "0x9130b257D37A52E52F21054c4DA3450c72f595CE"
+ },
+ "nodes": [
+ {
+ "url": "https://polygon-rpc.com"
+ },
+ {
+ "url": "https://poly-rpc.gateway.pokt.network"
+ }
+ ],
+ "erc20_tokens_requests": [
+ {
+ "ticker": "PGX-PLG20",
+ "required_confirmations": 4
+ },
+ {
+ "ticker": "AAVE-PLG20",
+ "required_confirmations": 4
+ }
+ ],
+ "required_confirmations": 5,
+ "path_to_address": {
+ "account_id": 0,
+ "chain": "External",
+ "address_id": 1
+ },
+ "gap_limit": 20,
+ "scan_policy": "scan_if_new_wallet",
+ "min_addresses_number": 3
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "task_id": 1
+ },
+ "id": null
+ }
+ ```
+
+
+## task::enable\_eth::status {{label : 'task::enable_eth::status', tag : 'API-v2'}}
+
+After running the `task::enable_eth::init` method, we can query the status of activation to check its progress.
+The response will return the following:
+
+* Result of the task (success or error)
+* Progress status (what state the task is in)
+* Required user action (what user should do before the task can continue)
+
+#### Arguments
+
+| Parameter | Type | Description |
+| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_eth::status",
+ "params": {
+ "task_id": 1,
+ "forget_if_finished": false
+ }
+ }
+ ```
+
+
+#### Response (ready, successful, HD mode)
+
+| Parameter | Type | Description |
+| --------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the acttivation request. |
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "Ok",
+ "details": {
+ "current_block": 70970530,
+ "ticker": "MATIC",
+ "wallet_balance": {
+ "wallet_type": "HD",
+ "accounts": [
+ {
+ "account_index": 0,
+ "derivation_path": "m/44'/60'/0'",
+ "total_balance": {
+ "AAVE-PLG20": {
+ "spendable": "0.0275928341263563",
+ "unspendable": "0"
+ },
+ "PGX-PLG20": {
+ "spendable": "237.729414631067",
+ "unspendable": "0"
+ },
+ "MATIC": {
+ "spendable": "66.36490013618242918",
+ "unspendable": "0"
+ }
+ },
+ "addresses": [
+ {
+ "address": "0xC11b6070c84A1E6Fc62B2A2aCf70831545d5eDD4",
+ "derivation_path": "m/44'/60'/0'/0/0",
+ "chain": "External",
+ "balance": {
+ "PGX-PLG20": {
+ "spendable": "237.729414631067",
+ "unspendable": "0"
+ },
+ "AAVE-PLG20": {
+ "spendable": "0.0275928341263563",
+ "unspendable": "0"
+ },
+ "MATIC": {
+ "spendable": "65.36490013618242918",
+ "unspendable": "0"
+ }
+ }
+ },
+ {
+ "address": "0x1751bd0510fDAE2A4a81Ab8A3e70E59E4760eAB6",
+ "derivation_path": "m/44'/60'/0'/0/1",
+ "chain": "External",
+ "balance": {
+ "AAVE-PLG20": {
+ "spendable": "0",
+ "unspendable": "0"
+ },
+ "PGX-PLG20": {
+ "spendable": "0",
+ "unspendable": "0"
+ },
+ "MATIC": {
+ "spendable": "1",
+ "unspendable": "0"
+ }
+ }
+ },
+ {
+ "address": "0xffCF6033C31ed4beBC72f77be45d97cd8a8BABB4",
+ "derivation_path": "m/44'/60'/0'/0/2",
+ "chain": "External",
+ "balance": {
+ "MATIC": {
+ "spendable": "0",
+ "unspendable": "0"
+ },
+ "AAVE-PLG20": {
+ "spendable": "0",
+ "unspendable": "0"
+ },
+ "PGX-PLG20": {
+ "spendable": "0",
+ "unspendable": "0"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "nfts_infos": {}
+ }
+ },
+ "id": null
+ }
+ ```
+
+
+#### Response (in progress)
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "InProgress",
+ "details": "RequestingWalletBalance"
+ },
+ "id": null
+ }
+ ```
+
+
+#### Response (ready, error)
+
+| Parameter | Type | Description |
+| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
+| status | string | A short indication of how the requested process is progressing. |
+| details.result | object | Depending on the state of process progress, this will contain different information as detailed in the items below. |
+| .error | string | The ticker of the coin being activated |
+| .error\_path | string | Used for debugging. A reference to the function in code base which returned the error |
+| .error\_trace | string | Used for debugging. A trace of lines of code which led to the returned error |
+| .error\_type | string | An enumerated error identifier to indicate the category of error |
+| .error\_data | string | Additonal context for the error type |
+
+Possible Error Cases:
+
+* `TaskTimedOut` - Timed out waiting for coin activation, connecting to the device trezor or for user to confirm pubkey)
+* `CoinCreationError` - Error during activation. E.g. incorrect or inactive electrum servers.
+* `HwError` - **This is the most important error type.** Unlike other error types, `HwError` requires the GUI / User to check the details in `error_data` field to know which action is required. View the [HwError error type details](/komodo-defi-framework/api/v20/utils/task_init_trezor/#details-for-hw-error-error-type) for more info.
+
+## task::enable\_eth::user\_action {{label : 'task::enable_eth::user_action', tag : 'API-v2'}}
+
+If the `task::enable_eth::status` returns `UserActionRequired`, we need to use the `task::enable_eth::user_action` method to enter our PIN
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| user\_action | object | Object containing the params below |
+| user\_action.action\_type | string | Will be `TrezorPin` for this method |
+| user\_action.pin | string (number) | When the Trezor device is displaying a grid of numbers for PIN entry, this param will contain your Trezor pin, as mapped through your keyboard numpad. See the image below for more information. |
+
+
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------- |
+| result | string | The outcome of the request. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_eth::user_action",
+ "params": {
+ "task_id": 0,
+ "user_action": {
+ "action_type": "TrezorPin",
+ "pin": "862743"
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+## task::enable\_eth::cancel {{label : 'task::enable_eth::cancel', tag : 'API-v2'}}
+
+If you want to cancel the enabling process before it has completed, you can use this method.
+
+#### Arguments
+
+| Structure | Type | Description |
+| --------- | ------- | --------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the enabling process. |
+
+#### Response
+
+| Structure | Type | Description |
+| ------------ | ------ | -------------------------------------------------------------- |
+| result | string | Indicates task cancellation was succesful. |
+| error | string | An error message to explain what went wrong. |
+| error\_path | string | An indicator of the class or function which reurned the error. |
+| error\_trace | string | An indicator of where in the source code the error was thrown. |
+| error\_type | string | An enumerated value for the returned error. |
+| error\_data | string | The input task ID which resulted in the error. |
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "task::enable_eth::cancel",
+ "mmrpc": "2.0",
+ "params": {
+ "task_id": 3
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+
+ #### Response (success - already finished)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Task is finished already",
+ "error_path": "init_standalone_coin.manager",
+ "error_trace": "init_standalone_coin:144] manager:101]",
+ "error_type": "TaskFinished",
+ "error_data": 0,
+ "id": null
+ }
+ ```
+
+ #### Response (error - no such task)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "No such task '1'",
+ "error_path": "init_standalone_coin",
+ "error_trace": "init_standalone_coin:119]",
+ "error_type": "NoSuchTask",
+ "error_data": 1,
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/index.mdx
similarity index 75%
rename from src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/index.mdx
index 981a545d3..c39aac045 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/index.mdx
@@ -4,11 +4,11 @@ export const description =
import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
-# task::enable\_qtum
+# Task: QTUM Activation
-## init {{label : 'task::enable_qtum::init', tag : 'API-v2'}}
+## task::enable\_qtum::init {{label : 'task::enable_qtum::init', tag : 'API-v2'}}
-QTUM coins are activated using this method. For UTXO coins, refer to [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init)
+Use this method for task managed activation of QTUM coins and tokens. Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
#### Arguments
@@ -39,7 +39,7 @@ QTUM coins are activated using this method. For UTXO coins, refer to [task::enab
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -89,7 +89,7 @@ QTUM coins are activated using this method. For UTXO coins, refer to [task::enab
```
-## status {{label : 'task::enable_qtum::status', tag : 'API-v2'}}
+## task::enable\_qtum::status {{label : 'task::enable_qtum::status', tag : 'API-v2'}}
After running the `task::enable_qtum::init` method, we can query the status of activation to check its progress.
The response will return the following:
@@ -107,7 +107,7 @@ The response will return the following:
#### Request
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -121,48 +121,9 @@ The response will return the following:
```
-#### Response (ready, successful, Iguana mode)
-
-| Parameter | Type | Description |
-| ---------------- | --------------- | ------------------------------------------------------------------------------------------------------------------- |
-| status | string | A short indication of how the requested process is progressing. |
-| details.result | object | Depending on the state of process progress, this will contain different information as detailed in the items below. |
-| .ticker | string | The ticker of the coin being activated |
-| .current\_block | integer | The block height of the coin being activated |
-| .wallet\_balance | object | Information about the addresses of the coin being activated |
-| ..wallet\_type | string | In Trezor mode, this will return `HD` |
-| ..address | string | One of the addresses in the account for the coin being activated |
-| ..balance | object | Contains the spendable and unspendable balance for this address |
-| ...spendable | string(numeric) | Spendable balance for this address |
-| ...unspendable | string(numeric) | Unspendable balance for this address (e.g. from unconfirmed incoming transactions) |
+The response formats for this method are the same as the [task managed activation](/komodo-defi-framework/api/v20/coin_activation/task_managed/) responses.
-
- ```json
- {
- "mmrpc": "2.0",
- "result": {
- "status": "Ok",
- "details": {
- "ticker": "tQTUM",
- "current_block": 4619066,
- "wallet_balance": {
- "wallet_type": "Iguana",
- "address": "qcpVcxMBo9ZikpGiTaM8SFBV1W14QVmGzo",
- "balance": {
- "tQTUM": {
- "spendable": "0",
- "unspendable": "0"
- }
- }
- }
- }
- },
- "id": null
- }
- ```
-
-
-## user\_action {{label : 'task::enable_qtum::user_action', tag : 'API-v2'}}
+## task::enable\_qtum::user\_action {{label : 'task::enable_qtum::user_action', tag : 'API-v2'}}
If the `task::enable_qtum::status` returns `UserActionRequired`, we need to use the `task::enable_qtum::user_action` method to enter our PIN
@@ -187,7 +148,7 @@ If the `task::enable_qtum::status` returns `UserActionRequired`, we need to use
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -239,3 +200,53 @@ If the `task::enable_qtum::status` returns `UserActionRequired`, we need to use
"id": null
}
```
+
+## task::enable\_qtum::cancel {{label : 'task::enable_qtum::cancel', tag : 'API-v2'}}
+
+If you want to cancel the enabling process before it has completed, you can use this method.
+
+#### Arguments
+
+| Structure | Type | Description |
+| --------- | ------- | --------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the enabling process. |
+
+#### Response
+
+| Structure | Type | Description |
+| ------------ | ------ | -------------------------------------------------------------- |
+| result | string | Indicates task cancellation was succesful. |
+| error | string | An error message to explain what went wrong. |
+| error\_path | string | An indicator of the class or function which reurned the error. |
+| error\_trace | string | An indicator of where in the source code the error was thrown. |
+| error\_type | string | An enumerated value for the returned error. |
+| error\_data | string | The input task ID which resulted in the error. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "task::enable_qtum::cancel",
+ "mmrpc": "2.0",
+ "params": {
+ "task_id": 3
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/index.mdx
new file mode 100644
index 000000000..b62fe6c34
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/index.mdx
@@ -0,0 +1,436 @@
+export const title = "Komodo DeFi Framework Method: Tendermint Coin Activation Tasks";
+export const description =
+ "The methods in this document allow activation of Tendermint coins.";
+
+import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
+
+# Task: Tendermint Activation
+
+## task::enable\_tendermint::init {{label : 'task::enable_tendermint::init', tag : 'API-v2'}}
+
+Use this method for task managed activation of Tendermint coins & tokens. Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ----------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ticker | string | Ticker of the platform protocol coin. Options: `ATOM`, `IRIS`, `OSMOSIS` |
+| mm2 | integer | Required if not set in `coins` file. Informs the Komodo DeFi Framework API whether or not the coin is expected to function. Accepted values are `0` or `1` |
+| tokens\_params | array of objects | A list of standard [TokensRequest](/komodo-defi-framework/api/common_structures/activation/#tokens-request) objects. |
+| nodes | array of objects | A list of [CoinNode objects](/komodo-defi-framework/api/common_structures/activation/#coin-node). |
+| priv\_key\_policy | string | Optional, defaults to `ContextPrivKey`. value can be `ContextPrivKey`,`Trezor` when Komodo DeFi Framework is built for native platforms. value can be `ContextPrivKey`, `Trezor`, `Metamask` when the Komodo DeFi Framework is built targeting `wasm` |
+| tx\_history | boolean | Optional, defaults to `false`. If `true` the Komodo DeFi Framework API will preload transaction history as a background process. Must be set to `true` to use the [my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/#my-tx-history) method |
+| required\_confirmations | integer | Optional, defaults to `3`. When the platform coin is involved, the number of confirmations for the Komodo DeFi Framework API to wait during the transaction steps of an atomic swap |
+| requires\_notarization | boolean | Optional, defaults to `false`. If `true`, coins protected by [Komodo Platform's dPoW security](https://satindergrewal.medium.com/delayed-proof-of-work-explained-9a74250dbb86) will wait for a notarization before progressing to the next atomic swap transactions step. |
+| get\_balances | boolean | Optional, defaults to `true`. If `false`, coin and token balances will not be returned in the response, and the response will be returned more quickly. |
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------- | --------------------------------------------------------- |
+| task\_id | integer | An identifying number which is used to query task status. |
+
+#### 📌 Examples
+
+#### Activation in Trezor mode
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_tendermint::init",
+ "params": {
+ "ticker": "IRIS",
+ "tokens_params": [
+ {
+ "ticker": "ATOM-IBC_IRIS"
+ }
+ ],
+ "nodes": [
+ {
+ "url": "https://iris-rpc.alpha.komodo.earth/",
+ "api_url": "https://iris-api.alpha.komodo.earth/",
+ "grpc_url": "https://iris-grpc.alpha.komodo.earth/",
+ "ws_url": "wss://iris-rpc.alpha.komodo.earth/websocket"
+ },
+ {
+ "url": "https://rpc.irishub-1.irisnet.org",
+ "komodo_proxy": false
+ }
+ ]
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "task_id": 2
+ },
+ "id": null
+ }
+ ```
+
+
+## task::enable\_tendermint::status {{label : 'task::enable_tendermint::status', tag : 'API-v2'}}
+
+After running the `task::enable_tendermint::init` method, we can query the status of activation to check its progress.
+The response will return the following:
+
+* Result of the task (success or error)
+* Progress status (what state the task is in)
+* Required user action (what user should do before the task can continue)
+
+#### Arguments
+
+| Parameter | Type | Description |
+| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_tendermint::status",
+ "params": {
+ "task_id": 0,
+ "forget_if_finished": false
+ }
+ }
+ ```
+
+
+#### Response
+
+| Parameter | Type | Description |
+| ---------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the platform protocol coin, as input in the request. |
+| address | string | An address for the activated coin |
+| balance | object | Only returned when `get_balances` is `true`. A standard [BalanceInfos](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
+| tokens\_balances | array of objects | Only returned when `get_balances` is `true`. A list of standard [AddressInfo](/komodo-defi-framework/api/common_structures/wallet/#address-info) objects, one for each token. |
+| tokens\_tickers | array | Only returned when `get_balances` is `false`. A list of each token which was activated. |
+| | | |
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "Ok",
+ "details": {
+ "ticker": "IRIS",
+ "address": "iaa1p8t6fh9tuq5c9mmnlhuuwuy4hw70cmpdcs8sc6",
+ "current_block": 29775307,
+ "balance": {
+ "spendable": "0",
+ "unspendable": "0"
+ },
+ "tokens_balances": {
+ "ATOM-IBC_IRIS": {
+ "spendable": "0",
+ "unspendable": "0"
+ }
+ }
+ }
+ },
+ "id": null
+ }
+ ```
+
+
+#### Response (in progress)
+
+| Parameter | Type | Description |
+| --------- | ------ | ----------------------------------------------------------- |
+| status | string | Will return `InProgress` if task is not yet comepleted |
+| details | string | An indication of the current step of the activation process |
+
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "InProgress",
+ "details": "RequestingWalletBalance"
+ },
+ "id": null
+ }
+ ```
+
+
+
+ ### Error Types
+
+ | Structure | Type | Description |
+ | -------------------------- | ------ | ----------------------------------------------------------------------------------- |
+ | CoinProtocolParseError | string | Parsing the protocol of the platform coin you are trying to activate failed |
+ | InternalError | string | The request was failed due to an Komodo DeFi Framework API internal error |
+ | PlatformCoinCreationError | string | There was an error when trying to activate the platform coin |
+ | PlatformConfigIsNotFound | string | Config of the platform coin you are trying to activate is not found |
+ | PlatformIsAlreadyActivated | string | The platform coin you are trying to activate is already activated |
+ | PrivKeyNotAllowed | string | The privkey is not allowed |
+ | TokenConfigIsNotFound | string | Config of the token you are trying to activate is not found |
+ | TokenProtocolParseError | string | Parsing the protocol of the token you are trying to activate failed |
+ | Transport | string | The request was failed due to a network error |
+ | UnexpectedDerivationMethod | string | The derivation method used is unexpected |
+ | UnexpectedPlatformProtocol | string | Unexpected platform protocol found for the platform coin you are trying to activate |
+ | UnexpectedTokenProtocol | string | Unexpected protocol is found in the config of the token you are trying to activate |
+
+ #### PlatformConfigIsNotFound Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Platform WALDO config is not found",
+ "error_path": "platform_coin_with_tokens.prelude",
+ "error_trace": "platform_coin_with_tokens:302] prelude:79]",
+ "error_type": "PlatformConfigIsNotFound",
+ "error_data": "WALDO",
+ "id": null
+ }
+ ```
+
+ #### PlatformIsAlreadyActivated Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "IRIS",
+ "error_path": "platform_coin_with_tokens",
+ "error_trace": "platform_coin_with_tokens:297]",
+ "error_type": "PlatformIsAlreadyActivated",
+ "error_data": "IRIS",
+ "id": null
+ }
+ ```
+
+ #### CoinProtocolParseError
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Platform coin IRIS protocol parsing failed: invalid type: null, expected adjacently tagged enum CoinProtocol",
+ "error_path": "platform_coin_with_tokens.prelude",
+ "error_trace": "platform_coin_with_tokens:302] prelude:82]",
+ "error_type": "CoinProtocolParseError",
+ "error_data": {
+ "ticker": "IRIS",
+ "error": "invalid type: null, expected adjacently tagged enum CoinProtocol"
+ },
+ "id": null
+ }
+ ```
+
+ ### UnexpectedPlatformProtocol Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Unexpected platform protocol BCH { slp_prefix: \"simpleledger\" } for BCH",
+ "error_path": "platform_coin_with_tokens.prelude.tendermint_with_assets_activation",
+ "error_trace": "platform_coin_with_tokens:302] prelude:90] tendermint_with_assets_activation:92]",
+ "error_type": "UnexpectedPlatformProtocol",
+ "error_data": {
+ "ticker": "BCH",
+ "protocol": {
+ "type": "BCH",
+ "protocol_data": {
+ "slp_prefix": "simpleledger"
+ }
+ }
+ },
+ "id": null
+ }
+ ```
+
+ ### TokenConfigIsNotFound Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Token GALT config is not found",
+ "error_path": "platform_coin_with_tokens.prelude",
+ "error_trace": "platform_coin_with_tokens:314] platform_coin_with_tokens:109] prelude:79]",
+ "error_type": "TokenConfigIsNotFound",
+ "error_data": "GALT",
+ "id": null
+ }
+ ```
+
+ ### TokenProtocolParseError Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Token BABYDOGE-BEP20 protocol parsing failed: unknown variant `WOOF`, expected one of `UTXO`, `QTUM`, `QRC20`, `ETH`, `ERC20`, `SLPTOKEN`, `BCH`, `TENDERMINT`, `TENDERMINTTOKEN`, `LIGHTNING`, `SOLANA`, `SPLTOKEN`, `ZHTLC`",
+ "error_path": "platform_coin_with_tokens.prelude",
+ "error_trace": "platform_coin_with_tokens:314] platform_coin_with_tokens:109] prelude:82]",
+ "error_type": "TokenProtocolParseError",
+ "error_data": {
+ "ticker": "BABYDOGE-BEP20",
+ "error": "unknown variant `WOOF`, expected one of `UTXO`, `QTUM`, `QRC20`, `ETH`, `ERC20`, `SLPTOKEN`, `BCH`, `TENDERMINT`, `TENDERMINTTOKEN`, `LIGHTNING`, `SOLANA`, `SPLTOKEN`, `ZHTLC`"
+ },
+ "id": null
+ }
+ ```
+
+ ### UnexpectedTokenProtocol Error
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Unexpected token protocol UTXO for KMD",
+ "error_path": "platform_coin_with_tokens.prelude.tendermint_with_assets_activation",
+ "error_trace": "platform_coin_with_tokens:314] platform_coin_with_tokens:109] prelude:90] tendermint_with_assets_activation:101]",
+ "error_type": "UnexpectedTokenProtocol",
+ "error_data": {
+ "ticker": "KMD",
+ "protocol": {
+ "type": "UTXO"
+ }
+ },
+ "id": null
+ }
+ ```
+
+
+## task::enable\_tendermint::user\_action {{label : 'task::enable_tendermint::user_action', tag : 'API-v2'}}
+
+If the `task::enable_tendermint::status` returns `UserActionRequired`, we need to use the `task::enable_tendermint::user_action` method to enter our PIN
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| user\_action | object | Object containing the params below |
+| user\_action.action\_type | string | Will be `TrezorPin` for this method |
+| user\_action.pin | string (number) | When the Trezor device is displaying a grid of numbers for PIN entry, this param will contain your Trezor pin, as mapped through your keyboard numpad. See the image below for more information. |
+
+
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------- |
+| result | string | The outcome of the request. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_tendermint::user_action",
+ "params": {
+ "task_id": 0,
+ "user_action": {
+ "action_type": "TrezorPin",
+ "pin": "862743"
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+## task::enable\_tendermint::cancel {{label : 'task::enable_tendermint::cancel', tag : 'API-v2'}}
+
+If you want to cancel the enabling process before it has completed, you can use this method.
+
+#### Arguments
+
+| Structure | Type | Description |
+| --------- | ------- | --------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the enabling process. |
+
+#### Response
+
+| Structure | Type | Description |
+| ------------ | ------ | -------------------------------------------------------------- |
+| result | string | Indicates task cancellation was succesful. |
+| error | string | An error message to explain what went wrong. |
+| error\_path | string | An indicator of the class or function which reurned the error. |
+| error\_trace | string | An indicator of where in the source code the error was thrown. |
+| error\_type | string | An enumerated value for the returned error. |
+| error\_data | string | The input task ID which resulted in the error. |
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "task::enable_tendermint::cancel",
+ "mmrpc": "2.0",
+ "params": {
+ "task_id": 3
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+
+ #### Response (success - already finished)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Task is finished already",
+ "error_path": "init_standalone_coin.manager",
+ "error_trace": "init_standalone_coin:144] manager:101]",
+ "error_type": "TaskFinished",
+ "error_data": 0,
+ "id": null
+ }
+ ```
+
+ #### Response (error - no such task)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "No such task '1'",
+ "error_path": "init_standalone_coin",
+ "error_trace": "init_standalone_coin:119]",
+ "error_type": "NoSuchTask",
+ "error_data": 1,
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/index.mdx
similarity index 53%
rename from src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/index.mdx
index 402bc7d4a..6044baae6 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/index.mdx
@@ -1,14 +1,14 @@
export const title = "Komodo DeFi Framework Method: UTXO Coin Activation Tasks";
export const description =
- "The methods in this document allow activation of UTXO coins.";
+ "The methods in this document allow task managed activation of UTXO coins.";
import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
-# task::enable\_utxo
+# Task: UTXO Activation
-## init {{label : 'task::enable_utxo::init', tag : 'API-v2'}}
+## task::enable\_utxo::init {{label : 'task::enable_utxo::init', tag : 'API-v2'}}
-UTXO coins are activated using this method. For QTUM coins, refer to [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init)
+Use this method for task managed activation of UTXO coins like KMD, LTC, BTC & DOGE. Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
#### Arguments
@@ -39,7 +39,7 @@ UTXO coins are activated using this method. For QTUM coins, refer to [task::enab
#### Activation in Trezor mode
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -89,7 +89,7 @@ UTXO coins are activated using this method. For QTUM coins, refer to [task::enab
```
-## status {{label : 'task::enable_utxo::status', tag : 'API-v2'}}
+## task::enable\_utxo::status {{label : 'task::enable_utxo::status', tag : 'API-v2'}}
After running the `task::enable_utxo::init` method, we can query the status of activation to check its progress.
The response will return the following:
@@ -107,43 +107,42 @@ The response will return the following:
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "task::enable_utxo::status",
"params": {
- "task_id": 0,
+ "task_id": 1,
"forget_if_finished": false
}
}
```
-#### Response (ready, successful, Trezor mode)
-
-| Parameter | Type | Description |
-| -------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| status | string | A short indication of how the requested process is progressing. |
-| details.result | object | Depending on the state of process progress, this will contain different information as detailed in the items below. |
-| .ticker | string | The ticker of the coin being activated |
-| .current\_block | integer | The block height of the coin being activated |
-| .wallet\_balance | object | Information about the addresses of the coin being activated |
-| ..wallet\_type | string | In Trezor mode, this will return `HD` |
-| ..accounts | list | A list of addresses and related information for the coin being activated |
-| ...account\_index | integer | `ACCOUNT_ID` child in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` BIP44 derivation path. **Please don't confuse with kdf global Iguana/HD/HW account.** |
-| ...derivation\_path | string | Derivation path up to the `COIN` child. E.g. `"m/44'/141'/0'"` |
-| ...total\_balance | object | Combined total spendable and unconfirmed balances of all account addresses |
-| ....spendable | string(numeric) | Combined total spendable balance of all account addreesses |
-| ....unspendable | string(numeric) | Combined total unspendable balance of all account addreesses |
-| ...addresses | list | A list of addresses in the account for the coin being activated |
-| ....address | string | One of the addresses in the account for the coin being activated |
-| ....derivation\_path | string | The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of the address. |
-| ....chain | string | Returns `External` when `CHAIN=0` in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` derivation path. Returns `Internal` when `CHAIN=1` in the `m/44'/COIN'/ACCOUNT_ID'/CHAIN/ADDRESS_ID` derivation path. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
-| ....balance | object | Contains the spendable and unspendable balance for this address |
-| .....spendable | string(numeric) | Spendable balance for this address |
-| .....unspendable | string(numeric) | Unspendable balance for this address (e.g. from unconfirmed incoming transactions) |
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------------------------------------------------------------------------------------------------- |
+| status | string | A short indication of how the enabling is progressing. |
+| details | object | Depending on the state of enabling progress, this will contain different information as shown in the responses below. |
+
+Possible `status` values while activation is in progress:
+
+* `ActivatingCoin`: The first step of activation. It does not require any action from the user.
+* `RequestingWalletBalance`: The first step of activation, while initial balances info is being requested. It does not require any action from the user.
+* `Finishing`: Activation process completed
+* `WaitingForTrezorToConnect`: Waiting for the user to plugin a Trezor device
+* `FollowHwDeviceInstructions`: Waiting for the user to follow the instructions on the device
+
+Once complete, `status` will be `Ok`, and the `details` object will have the following structure:
+
+#### Response (ready, successful, HD mode)
+
+| Parameter | Type | Description |
+| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the activation request. |
```json
@@ -189,21 +188,6 @@ The response will return the following:
```
-#### Response (ready, successful, Iguana mode)
-
-| Parameter | Type | Description |
-| ---------------- | --------------- | ------------------------------------------------------------------------------------------------------------------- |
-| status | string | A short indication of how the requested process is progressing. |
-| details.result | object | Depending on the state of process progress, this will contain different information as detailed in the items below. |
-| .ticker | string | The ticker of the coin being activated |
-| .current\_block | integer | The block height of the coin being activated |
-| .wallet\_balance | object | Information about the addresses of the coin being activated |
-| ..wallet\_type | string | In Trezor mode, this will return `HD` |
-| ..address | string | One of the addresses in the account for the coin being activated |
-| ..balance | object | Contains the spendable and unspendable balance for this address |
-| ...spendable | string(numeric) | Spendable balance for this address |
-| ...unspendable | string(numeric) | Unspendable balance for this address (e.g. from unconfirmed incoming transactions) |
-
```json
{
@@ -232,19 +216,6 @@ The response will return the following:
#### Response (in progress)
-| Parameter | Type | Description |
-| --------- | ------ | ----------------------------------------------------------- |
-| status | string | Will return `InProgress` if task is not yet comepleted |
-| details | string | An indication of the current step of the activation process |
-
-Possible In Progress Cases:
-
-* `ActivatingCoin`: The first step of activation. It does not require any action from the user.
-* `RequestingWalletBalance`: The first step of activation, while initial balances info is being requested. It does not require any action from the user.
-* `Finishing`: Activation process completed
-* `WaitingForTrezorToConnect`: Waiting for the user to plugin a Trezor device
-* `FollowHwDeviceInstructions`: Waiting for the user to follow the instructions on the device
-
```json
{
@@ -276,7 +247,7 @@ Possible Error Cases:
* `CoinCreationError` - Error during activation. E.g. incorrect or inactive electrum servers.
* `HwError` - **This is the most important error type.** Unlike other error types, `HwError` requires the GUI / User to check the details in `error_data` field to know which action is required. View the [HwError error type details](/komodo-defi-framework/api/v20/utils/task_init_trezor/#details-for-hw-error-error-type) for more info.
-## user\_action {{label : 'task::enable_utxo::user_action', tag : 'API-v2'}}
+## task::enable\_utxo::user\_action {{label : 'task::enable_utxo::user_action', tag : 'API-v2'}}
If the `task::enable_utxo::status` returns `UserActionRequired`, we need to use the `task::enable_utxo::user_action` method to enter our PIN
@@ -301,14 +272,14 @@ If the `task::enable_utxo::status` returns `UserActionRequired`, we need to use
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "task::enable_utxo::user_action",
"params": {
- "task_id": 0,
+ "task_id": 1,
"user_action": {
"action_type": "TrezorPin",
"pin": "862743"
@@ -329,3 +300,79 @@ If the `task::enable_utxo::status` returns `UserActionRequired`, we need to use
}
```
+
+## task::enable\_utxo::cancel {{label : 'task::enable_utxo::cancel', tag : 'API-v2'}}
+
+If you want to cancel the enabling process before it has completed, you can use this method.
+
+#### Arguments
+
+| Structure | Type | Description |
+| --------- | ------- | --------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the enabling process. |
+
+#### Response
+
+| Structure | Type | Description |
+| ------------ | ------ | -------------------------------------------------------------- |
+| result | string | Indicates task cancellation was succesful. |
+| error | string | An error message to explain what went wrong. |
+| error\_path | string | An indicator of the class or function which reurned the error. |
+| error\_trace | string | An indicator of where in the source code the error was thrown. |
+| error\_type | string | An enumerated value for the returned error. |
+| error\_data | string | The input task ID which resulted in the error. |
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "task::enable_utxo::cancel",
+ "mmrpc": "2.0",
+ "params": {
+ "task_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+
+ #### Response (success - already finished)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Task is finished already",
+ "error_path": "init_standalone_coin.manager",
+ "error_trace": "init_standalone_coin:144] manager:101]",
+ "error_type": "TaskFinished",
+ "error_data": 0,
+ "id": null
+ }
+ ```
+
+ #### Response (error - no such task)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "No such task '3'",
+ "error_path": "init_standalone_coin",
+ "error_trace": "init_standalone_coin:119]",
+ "error_type": "NoSuchTask",
+ "error_data": 3,
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/index.mdx b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/index.mdx
similarity index 62%
rename from src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/index.mdx
index 6b43d8b57..d9bdd4c46 100644
--- a/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_z_coin/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/index.mdx
@@ -2,7 +2,26 @@ export const title = "Komodo DeFi Framework Method: ZHTLC Coin Activation";
export const description =
"The methods in this document allow activation of ZHTLC coins like ARRR & ZOMBIE.";
-# Initialize ZHTLC Coin Activation {{label : 'task::enable_z_coin::init', tag : 'API-v2'}}
+import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
+
+# Task: Z Coin Activation
+
+## task::enable\_z\_coin::init {{label : 'task::enable_z_coin::init', tag : 'API-v2'}}
+
+ZHTLC coins, like Pirate (ARRR) and the test coin ZOMBIE take a little longer to enable, and use a new two step method to enable. Activation can take a little while the first time, as we need to download some block cache data, and build a wallet database.
+Subsequent enabling will be faster, but still take a bit longer than other coins. The second step for activation is optional, but allows us to check the status of the activation process.
+
+Refer to the [task managed activation overview](/komodo-defi-framework/api/v20/coin_activation/task_managed/) for activation of other coin types.
+
+To withdraw ZHTLC coins, you need to use the [task::withdraw](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#withdraw-tasks) methods:
+
+* Generate a transaction with [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-init)
+* Query its status with [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-status)
+* Cancel generating the transaction with [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-cancel)
+* Broadcast the transaction with [send\_raw\_transaction](/komodo-defi-framework/api/legacy/send_raw_transaction/#send-raw-transaction)
+
+ZHTLC coins are not compatible with the [v2 my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) and [legacy my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/) methods.
+To get the transaction history for ZHTLC coins, you need to use the [z\_coin\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/) method.
To enable Z coins you also need to [install some Zcash
@@ -26,7 +45,7 @@ export const description =
#### Enable Z coin without any optional parameters
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -64,7 +83,7 @@ export const description =
#### Sync from block 2528700, with custom `.zcash-params` path and scan params
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -102,7 +121,7 @@ export const description =
The Z coin lightwallet client only supports blocks that are post-sapling. The sapling activation height for Z coins can be found in the [coins file](https://github.com/KomodoPlatform/coins/blob/master/coins)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -143,7 +162,7 @@ The Z coin lightwallet client only supports blocks that are post-sapling. The sa
[About proof of Keys Day](https://hackernoon.com/not-your-keys-not-your-bitcoin-jan3bitcoin-z6k3ktb)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -190,7 +209,7 @@ The Z coin lightwallet client only supports blocks that are post-sapling. The sa
```
-## Activation Status {{label : 'task::enable_z_coin::status', tag : 'API-v2'}}
+## task::enable\_z\_coin::status {{label : 'task::enable_z_coin::status', tag : 'API-v2'}}
Z coins need to build sync a local block cache and wallet database before they can be used. Using `task_id` as an input, this method will return the current status of the activation process.
@@ -203,16 +222,32 @@ Z coins need to build sync a local block cache and wallet database before they c
#### Response
-| Structure | Type | Description |
+| Parameter | Type | Description |
| --------- | ------ | --------------------------------------------------------------------------------------------------------------------- |
| status | string | A short indication of how the enabling is progressing. |
| details | object | Depending on the state of enabling progress, this will contain different information as shown in the responses below. |
+Possible `status` values while activation is in progress:
+
+* `ActivatingCoin`: The first step of activation. It does not require any action from the user.
+* `RequestingWalletBalance`: The first step of activation, while initial balances info is being requested. It does not require any action from the user.
+* `Finishing`: Activation process completed
+* `WaitingForTrezorToConnect`: Waiting for the user to plugin a Trezor device
+* `FollowHwDeviceInstructions`: Waiting for the user to follow the instructions on the device
+
+Once complete, `status` will be `Ok`, and the `details` object will have the following structure:
+
+| Parameter | Type | Description |
+| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the activation request. |
+
#### 📌 Examples
#### Status of Z coin activation
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -276,35 +311,32 @@ Z coins need to build sync a local block cache and wallet database before they c
}
```
- #### Response (Complete)
+ #### Response (Enabling complete)
```json
{
"mmrpc": "2.0",
"result": {
- "status": "Ok",
- "details": {
- "ticker": "ZOMBIE",
- "current_block": 794431,
- "wallet_balance": {
- "wallet_type": "Iguana",
- "address": "zs1e3puxpnal8ljjrqlxv4jctlyndxnm5a3mj5rarjvp0qv72hmm9caduxk9asu9kyc6erfx4zsauj",
- "balance": {
- "spendable": "0",
- "unspendable": "0"
- }
- },
- "first_sync_block": {
- "requested": 792991,
- "is_pre_sapling": false,
- "actual": 792991
- }
+ "status": "Ok",
+ "details": {
+ "ticker": "ZOMBIE",
+ "current_block": 269657,
+ "wallet_balance": {
+ "wallet_type": "Iguana",
+ "address": "zs1e3puxpnal8ljjrqlxv4jctlyndxnm5a3mj5rarjvp0qv72hmm9caduxk9asu9kyc6erfx4zsauj",
+ "balance": {
+ "spendable": "29.99989008",
+ "unspendable": "0"
+ }
}
+ }
},
"id": null
}
```
+
+
#### Response (CoinCreationError - no Zcash Params)
```json
@@ -350,30 +382,6 @@ Z coins need to build sync a local block cache and wallet database before they c
}
```
- #### Response (Enabling complete)
-
- ```json
- {
- "mmrpc": "2.0",
- "result": {
- "status": "Ok",
- "details": {
- "ticker": "ZOMBIE",
- "current_block": 269657,
- "wallet_balance": {
- "wallet_type": "Iguana",
- "address": "zs1e3puxpnal8ljjrqlxv4jctlyndxnm5a3mj5rarjvp0qv72hmm9caduxk9asu9kyc6erfx4zsauj",
- "balance": {
- "spendable": "29.99989008",
- "unspendable": "0"
- }
- }
- }
- },
- "id": null
- }
- ```
-
#### Response (no Zcash Params)
```json
@@ -413,7 +421,57 @@ Z coins need to build sync a local block cache and wallet database before they c
```
-## Cancel Activation {{label : 'task::enable_z_coin::cancel', tag : 'API-v2'}}
+## task::enable\_z\_coin::user\_action {{label : 'task::enable_z_coin::user_action', tag : 'API-v2'}}
+
+If the `task::enable_z_coin::status` returns `UserActionRequired`, we need to use the `task::enable_z_coin::user_action` method to enter our PIN
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| task\_id | integer | The identifying number returned when initiating the initialisation process. |
+| user\_action | object | Object containing the params below |
+| user\_action.action\_type | string | Will be `TrezorPin` for this method |
+| user\_action.pin | string (number) | When the Trezor device is displaying a grid of numbers for PIN entry, this param will contain your Trezor pin, as mapped through your keyboard numpad. See the image below for more information. |
+
+
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------ | --------------------------- |
+| result | string | The outcome of the request. |
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::enable_z_coin::user_action",
+ "params": {
+ "task_id": 3,
+ "user_action": {
+ "action_type": "TrezorPin",
+ "pin": "862743"
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": "success",
+ "id": null
+ }
+ ```
+
+
+## task::enable\_z\_coin::cancel {{label : 'task::enable_z_coin::cancel', tag : 'API-v2'}}
If you want to cancel the enabling process before it has completed, you can use this method.
@@ -438,7 +496,7 @@ If you want to cancel the enabling process before it has completed, you can use
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -461,7 +519,9 @@ If you want to cancel the enabling process before it has completed, you can use
"id": null
}
```
+
+
#### Response (success - already finished)
```json
diff --git a/src/pages/komodo-defi-framework/api/v20/index.mdx b/src/pages/komodo-defi-framework/api/v20/index.mdx
index 03f73d7b2..cbec6c7b7 100644
--- a/src/pages/komodo-defi-framework/api/v20/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/index.mdx
@@ -105,186 +105,11 @@ It includes a uniform request, successful and error response formats. At the mom
## Common Komodo DeFi SDK Request / Response Objects
-The folowing objects are used in the request or response of multiple Komodo DeFi SDK methods.
-
-## Error types
-
-#### NotSufficientBalance
-
-The `available` balance is not sufficient to transfer the specified amount.
-
-| Structure | Type | Description |
-| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| coin | string | the name of the coin which balance is not sufficient. This coin name may differ from the requested coin. For example, ERC20 fees are paid by ETH (gas) |
-| available | string (numeric) | the balance available for transfer |
-| required | string (numeric) | the amount required to transfer the specified amount. This amount is necessary but may not be sufficient |
-
-#### Response (NotSufficientBalance error)
-
-```json
-{
- "mmrpc": "2.0",
- "error": "Not enough DOC to withdraw: available 69.75066225, required at least 1000.00001",
- "error_path": "utxo_common",
- "error_trace": "utxo_common:1379] utxo_common:449]",
- "error_type": "NotSufficientBalance",
- "error_data": {
- "coin": "DOC",
- "available": "69.75066225",
- "required": "1000.00001"
- },
- "id": 0
-}
-```
-
-#### ZeroBalanceToWithdrawMax
-
-The available balance is zero.
-
-| Structure | Type | Description |
-| --------- | ---- | ----------- |
-| (none) | | |
-
-#### AmountTooLow
-
-The specified amount is too low. Required at least `threshold`.
-
-| Structure | Type | Description |
-| --------- | ---------------- | ---------------------------------------------------- |
-| amount | string (numeric) | the amount the user was willing to transfer |
-| threshold | string (numeric) | the `amount` has not to be less than the `threshold` |
-
-#### InvalidAddress
-
-The specified `to` address is not valid.
-
-| Structure | Type | Description |
-| --------- | ------ | --------------------- |
-| (none) | string | the error description |
-
-#### InvalidFeePolicy
-
-The specified `fee` is not valid.
-
-| Structure | Type | Description |
-| --------- | ------ | --------------------- |
-| (none) | string | the error description |
-
-#### Response (InvalidFeePolicy error - attempt to use EthGas for UTXO coin)
-
-```json
-{
- "mmrpc": "2.0",
- "error": "Invalid fee policy: Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
- "error_path": "utxo_common",
- "error_trace": "utxo_common:1371]",
- "error_type": "InvalidFeePolicy",
- "error_data": "Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
- "id": 0
-}
-```
-
-#### Response (InvalidFeePolicy error - attempt to use UtxoFixed or UtxoPerKbyte for ETH coin)
-
-```json
-{
- "mmrpc": "2.0",
- "error": "Invalid fee policy: Expected 'EthGas' fee type, found UtxoFixed",
- "error_path": "eth",
- "error_trace": "eth:535]",
- "error_type": "InvalidFeePolicy",
- "error_data": "Expected 'EthGas' fee type, found UtxoFixed",
- "id": 0
-}
-```
-
-#### NoSuchCoin
-
-The specified coin was not found or is not activated yet.
-
-| Structure | Type | Description |
-| --------- | ------ | --------------------------------------------- |
-| coin | string | the not found `coin` specified in the Request |
-
-#### Transport
-
-The request was failed due to a network error.
-
-| Structure | Type | Description |
-| --------- | ------ | ------------------------------- |
-| (none) | string | the transport error description |
-
-#### InternalError
-
-The request was failed due to an Komodo DeFi API internal error.
-
-| Structure | Type | Description |
-| --------- | ------ | ------------------------------ |
-| (none) | string | the internal error description |
-
-## Error cases
-
-### Error - Coin not active
-
-```json
-{
- "mmrpc": "2.0",
- "error": "TTT-SLP",
- "error_path": "my_tx_history_v2.lp_coins",
- "error_trace": "my_tx_history_v2:389] lp_coins:2847]",
- "error_type": "CoinIsNotActive",
- "error_data": "TTT-SLP",
- "id": null
-}
-```
-
-### Error - Coin not compatible
-
-```json
-{
- "mmrpc": "2.0",
- "error": "TTT-SLP",
- "error_path": "my_tx_history_v2",
- "error_trace": "my_tx_history_v2:336]",
- "error_type": "NotSupportedFor",
- "error_data": "TTT-SLP",
- "id": null
-}
-```
-
-### Error - Coin enabled without tx\_history = true
-
-```json
-{
- "mmrpc": "2.0",
- "error": "Storage is not initialized for TTT-SLP",
- "error_path": "my_tx_history_v2",
- "error_trace": "my_tx_history_v2:343]",
- "error_type": "StorageIsNotInitialized",
- "error_data": "Storage is not initialized for TTT-SLP",
- "id": null
-}
-```
-
-### Error - Local database failed
-
-```json
-{
- "mmrpc": "2.0",
- "error": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
- "error_path": "my_tx_history_v2.sql_tx_history_storage",
- "error_trace": "my_tx_history_v2:351] sql_tx_history_storage:472]",
- "error_type": "StorageError",
- "error_data": "SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some(\"no such column: block_height\"))",
- "id": null
-}
-```
-
-
- There are some common objects that are used in the Komodo DeFi SDK RPC protocol. These standard objects have been collected and grouped into the following sections:
-
- * [Activation](/komodo-defi-framework/api/common_structures/activation/)
- * [Swaps](/komodo-defi-framework/api/common_structures/swaps/)
- * [Lightning Network](/komodo-defi-framework/api/common_structures/lightning/)
- * [Non-fungible Tokens](/komodo-defi-framework/api/common_structures/nfts/)
-
+There are some [common objects](/komodo-defi-framework/api/common_structures/) that are used in the Komodo DeFi SDK RPC protocol. These standard objects have been collected and grouped into the following sections:
+
+* [Activation](/komodo-defi-framework/api/common_structures/activation/)
+* [Lightning Network](/komodo-defi-framework/api/common_structures/lightning/)
+* [Non-fungible Tokens](/komodo-defi-framework/api/common_structures/nfts/)
+* [Orders](/komodo-defi-framework/api/common_structures/orders/)
+* [Swaps](/komodo-defi-framework/api/common_structures/swaps/)
+* [Wallet](/komodo-defi-framework/api/common_structures/wallet/)
diff --git a/src/pages/komodo-defi-framework/api/v20/lightning/activation/index.mdx b/src/pages/komodo-defi-framework/api/v20/lightning/activation/index.mdx
index dacbcef61..30553cb63 100644
--- a/src/pages/komodo-defi-framework/api/v20/lightning/activation/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/lightning/activation/index.mdx
@@ -211,11 +211,11 @@ The `task::enable_lightning::status` request checks the status of lightning node
### Response Parameters
- | Parameter | Type | Description |
- | -------------- | ------ | -------------------------------------------------------------------------------------------- |
- | platform\_coin | string | The coin ticker for which the lightning node is being intitialized. |
- | address | string | This node's address for the activated coin. |
- | balance | object | A standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) object. |
+ | Parameter | Type | Description |
+ | -------------- | ------ | --------------------------------------------------------------------------------------------------- |
+ | platform\_coin | string | The coin ticker for which the lightning node is being intitialized. |
+ | address | string | This node's address for the activated coin. |
+ | balance | object | A standard [BalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#balance-info) object. |
The unspendable balance for lightning is different to a layer-1 unspendable balance. The channel reserve is part of the unspendable balance in lightning - the user will get this part of the balance on chain when closing the channel, but it can't be spent on layer 2 (lightning) because it's part of the security mechanism to prevent channel breaches and ensure that both parties fulfill their obligations within the channel.
diff --git a/src/pages/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/index.mdx b/src/pages/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/index.mdx
index 12f878737..bcd3c7734 100644
--- a/src/pages/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/non_fungible_tokens/withdraw_nft/index.mdx
@@ -28,7 +28,7 @@ export const description =
| contract\_type | string | Contract type. `ERC721` or `ERC1155`. |
| token\_address | string | Token address. |
| token\_id | string | Token ID. |
-| fee\_details | object | A standard [WithdrawFee](/komodo-defi-framework/api/common_structures/#withdraw-fee) object. |
+| fee\_details | object | A standard [WithdrawFee](/komodo-defi-framework/api/common_structures/wallet/#withdraw-fee) object. |
| coin | string | Coin name. One of `AVALANCHE`, `BSC`, `ETH`, `FANTOM`, or `POLYGON`. |
| block\_height | integer | Block height of the transaction. If the value is `0`, the transaction is unconfirmed. |
| timestamp | integer | Timestamp of the block containing the withdrawl transaction in [unix epoch format](https://www.epochconverter.com/). |
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/balance_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/balance_enable/index.mdx
new file mode 100644
index 000000000..f8fe269da
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/balance_enable/index.mdx
@@ -0,0 +1,129 @@
+export const title = "Komodo DeFi Framework Method: Balance Events Streaming";
+export const description = "Using this method, you can enable balance events streaming for a specific coin.";
+
+# balance\_enable
+
+Using this method, you can enable balance events streaming for a specific coin, to a specific client. For ETH-like coins and tokens, you can also specify the streaming interval in seconds (to avoid excessive polling leading to upstream API rate limts)
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | Ticker of the coin to activate streaming for. The coin must be activated first. |
+| client\_id | integer | Optional. In the case of a single client, this defaults to `0`. This ID can be used to access data via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) |
+| config | object | Optional, EVM only. A standard [StreamingFeeConfig](/komodo-defi-framework/api/common_structures/#streaming-fee-config) object. |
+
+
+ The client defines its own id when opening a connection to the stream, and each client\_id can only be viewed by a single client (i.e. the `?id=` url param won't work in more than one browser tab).
+ The selected coin must be enabled prior to enabling streaming.
+
+
+### Response Parameters
+
+| Parameter | Type | Description |
+| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| streamer\_id | string | An identifier for the data stream. This can be used later to disable streaming for the event with [stream::disable](/komodo-defi-framework/api/v20/streaming/disable/). |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::balance::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "coin": "MATIC",
+ "config": {
+ "stream_interval_seconds": 15
+ },
+ "client_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "BALANCE:MATIC"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) once a balance change is detected:
+
+`data: {"_type":"BALANCE:MATIC","message":[{"ticker":"MATIC","address":"0xc11b6070c84a1e6fc62b2a2acf70831545d5edd4","balance":{"spendable":"2.00000001","unspendable":"0"}}]}`
+
+
+ #### CoinNotFound
+
+ You need to activate the coin first.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "CoinNotFound",
+ "error_path": "balance",
+ "error_trace": "balance:47]",
+ "error_type": "CoinNotFound",
+ "id": null
+ }
+ ```
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "balance",
+ "error_trace": "balance:99]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "balance",
+ "error_trace": "balance:99]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
+ #### EnableError Error
+
+ The `config` object is not used in non-EVM coins.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Invalid config provided. No config needed",
+ "error_path": "balance",
+ "error_trace": "balance:60]",
+ "error_type": "EnableError",
+ "error_data": "Invalid config provided. No config needed",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/disable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/disable/index.mdx
new file mode 100644
index 000000000..b5e2b6d83
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/disable/index.mdx
@@ -0,0 +1,77 @@
+export const title = "Komodo DeFi Framework Method: Disable Event Streaming";
+export const description = "Using this method, you can disable specific streaming events.";
+
+# disable
+
+Using this method, you can disable specific streaming events.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | This ID can be used to access data (e.g. via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1)) |
+| streamer\_id | string | An identifier for the data stream to disable. |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::disable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1,
+ "streamer_id": "BALANCE:MATIC"
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "result": "Success"
+ },
+ "id": null
+ }
+ ```
+
+
+
+ #### StreamerNotFound
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "StreamerNotFound",
+ "error_path": "disable",
+ "error_trace": "disable:48]",
+ "error_type": "DisableError",
+ "error_data": "StreamerNotFound",
+ "id": null
+ }
+ ```
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "disable",
+ "error_trace": "disable:48]",
+ "error_type": "DisableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/fee_estimator/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/fee_estimator/index.mdx
new file mode 100644
index 000000000..4acb3b477
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/fee_estimator/index.mdx
@@ -0,0 +1,134 @@
+export const title = "Komodo DeFi Framework Method: Enable Fee Estimator Streaming";
+export const description = "Using this method, you can enable the fee estimation stream.";
+
+# fee\_estimator\_enable
+
+Using this method, you can enable the fee estimation stream. For requesting fee estimates without streaming, use [get\_eth\_estimated\_fee\_per\_gas](/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/).
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | This ID can be used to access data (e.g. via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1)) |
+| coin | string | The coin or token to enable the fee estimation stream for. |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::fee_estimator::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1,
+ "coin": "MATIC",
+ "config": {
+ "estimate_every": 33.4,
+ "estimator_type": "Provider"
+ }
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "FEE_ESTIMATION:MATIC"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) at each estimate interval:
+
+`data: {"_type":"FEE_ESTIMATION:MATIC","message":{"base_fee":"0.000000281","low":{"max_priority_fee_per_gas":"30","max_fee_per_gas":"30.000000309","min_wait_time":null,"max_wait_time":null},"medium":{"max_priority_fee_per_gas":"32.633147189","max_fee_per_gas":"32.633147519","min_wait_time":null,"max_wait_time":null},"high":{"max_priority_fee_per_gas":"38.9999999","max_fee_per_gas":"39.000000251","min_wait_time":null,"max_wait_time":null},"source":"simple","base_fee_trend":"","priority_fee_trend":"","units":"Gwei"}}`
+
+
+ #### CoinNotFound
+
+ You need to activate the coin first.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "CoinNotFound",
+ "error_path": "fee_estimation",
+ "error_trace": "fee_estimation:42]",
+ "error_type": "CoinNotFound",
+ "id": null
+ }
+ ```
+
+ #### CoinNotSupported
+
+ Currently only EVM coins/tokens (e.g. BNB, ETH, MATIC, AVAX) support fee estimation.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "CoinNotSupported",
+ "error_path": "fee_estimation",
+ "error_trace": "fee_estimation:56]",
+ "error_type": "CoinNotSupported",
+ "id": null
+
+ }
+ ```
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "fee_estimation",
+ "error_trace": "fee_estimation:54]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "fee_estimation",
+ "error_trace": "fee_estimation:54]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
+ #### InvalidRequest
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Error parsing request: unknown variant `Complex`, expected `Simple` or `Provider`",
+ "error_path": "dispatcher",
+ "error_trace": "dispatcher:122]",
+ "error_type": "InvalidRequest",
+ "error_data": "unknown variant `Complex`, expected `Simple` or `Provider`",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/heartbeat_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/heartbeat_enable/index.mdx
new file mode 100644
index 000000000..5e34c9829
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/heartbeat_enable/index.mdx
@@ -0,0 +1,95 @@
+export const title = "Komodo DeFi Framework Method: Heartbeat Events";
+export const description = "Using this method, you can enable heartbeat events streaming.";
+
+# heartbeat\_enable
+
+Using this method, you can enable heartbeat events streaming to a specific client.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | Optional. In the case of a single client, this defaults to `0`. This ID can be used to access data via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) |
+| config | object | Optional. A standard [StreamingConfig](/komodo-defi-framework/api/common_structures/#streaming-config) object. |
+
+
+ The client defines its own id when opening a connection to the stream, and each client\_id can only be viewed by a single client (i.e. the `?id=` url param won't work in more than one browser tab).
+
+
+### Response Parameters
+
+| Parameter | Type | Description |
+| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| streamer\_id | string | An identifier for the data stream. This can be used later to disable streaming for the event with [stream::disable](/komodo-defi-framework/api/v20/streaming/disable/). |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::heartbeat::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "config": {
+ "stream_interval_seconds": 30
+ },
+ "client_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "HEARTBEAT"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) at each heatbeat:
+
+`data: {"_type":"HEARTBEAT","message":{}}`
+
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "heartbeat",
+ "error_trace": "heartbeat:35]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "heartbeat",
+ "error_trace": "heartbeat:35]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/index.mdx
new file mode 100644
index 000000000..2290f7999
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/index.mdx
@@ -0,0 +1,9 @@
+export const title = "Komodo DeFi Framework Method: Streaming Methods";
+export const description =
+ "The methods in this document show how to configure and initiate the KDF streaming interface";
+
+# Streaming Methods
+
+These methods give the user fine grained control over which event streams to activate, and how often to poll them for data.
+
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/network_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/network_enable/index.mdx
new file mode 100644
index 000000000..7465413ba
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/network_enable/index.mdx
@@ -0,0 +1,95 @@
+export const title = "Komodo DeFi Framework Method: Network Events";
+export const description = "Using this method, you can enable network events streaming.";
+
+# network\_enable
+
+Using this method, you can enable network events streaming to a specific client.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | Optional. In the case of a single client, this defaults to `0`. This ID can be used to access data via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) |
+| config | object | Optional. A standard [StreamingConfig](/komodo-defi-framework/api/common_structures/#streaming-config) object. |
+
+
+ The client defines its own id when opening a connection to the stream, and each client\_id can only be viewed by a single client (i.e. the `?id=` url param won't work in more than one browser tab).
+
+
+### Response Parameters
+
+| Parameter | Type | Description |
+| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| streamer\_id | string | An identifier for the data stream. This can be used later to disable streaming for the event with [stream::disable](/komodo-defi-framework/api/v20/streaming/disable/). |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::network::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "config": {
+ "stream_interval_seconds": 60
+ },
+ "client_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "NETWORK"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) at each stream interval:
+
+`data: {"_type":"NETWORK","message":{"directly_connected_peers":{"12D3KooWBhGrTVfaK9v12eA3Et84Y8Bc6ixfZVVGShsad2GBWzm3":["/ip4/162.55.5.83/tcp/42845"],"12D3KooWMjrYgoAVk5NKyqxPyYJUJyCY9nnZhFt7xwWjAe568PSN":["/ip4/65.108.252.86/tcp/42845/p2p/12D3KooWMjrYgoAVk5NKyqxPyYJUJyCY9nnZhFt7xwWjAe568PSN"]},"gossip_mesh":{"swap/4bfe3af7-dd62-4dbe-9c16-68697c4aa24d":[],"hcheck/12D3KooWEurexTFLmsiw2bQoKdrWuNZSQmjvTinoCMNmfRwfZUmW":[],"orbk/DOC:MARTY":[]},"gossip_peer_topics":{"12D3KooWMjrYgoAVk5NKyqxPyYJUJyCY9nnZhFt7xwWjAe568PSN":[],"12D3KooWBhGrTVfaK9v12eA3Et84Y8Bc6ixfZVVGShsad2GBWzm3":[]},"gossip_topic_peers":{},"relay_mesh":["12D3KooWMjrYgoAVk5NKyqxPyYJUJyCY9nnZhFt7xwWjAe568PSN","12D3KooWBhGrTVfaK9v12eA3Et84Y8Bc6ixfZVVGShsad2GBWzm3"]}}`
+
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "network",
+ "error_trace": "network:35]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "network",
+ "error_trace": "network:35]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/order_status_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/order_status_enable/index.mdx
new file mode 100644
index 000000000..4650317ff
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/order_status_enable/index.mdx
@@ -0,0 +1,81 @@
+export const title = "Komodo DeFi Framework Method: Enable Order Status Streaming";
+export const description = "Using this method, you can enable the order status stream.";
+
+# order\_status\_enable
+
+Using this method, you can enable the order status stream.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | This ID can be used to access data (e.g. via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1)) |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::order_status::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "ORDER_STATUS"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) for each order status event:
+
+`data: {"_type":"ORDER_STATUS","message":{"order_type":"TakerMatch","order_data":{"reserved":{"base":"DOC","rel":"MARTY","base_amount":[[1,[12]],[1,[5]]],"rel_amount":[[1,[12]],[1,[5]]],"taker_order_uuid":"4bfe3af7-dd62-4dbe-9c16-68697c4aa24d","maker_order_uuid":"3842068d-d8ca-4dc3-85d7-7fb2b6f4b691","sender_pubkey":"15d9c51c657ab1be4ae9d3ab6e76a619d3bccfe830d5363fa168424c0d044732","dest_pub_key":"0000000000000000000000000000000000000000000000000000000000000000","conf_settings":{"base_confs":1,"base_nota":false,"rel_confs":1,"rel_nota":false},"base_protocol_info":[145,168,115,116,97,110,100,97,114,100],"rel_protocol_info":[145,168,115,116,97,110,100,97,114,100]},"connect":{"taker_order_uuid":"4bfe3af7-dd62-4dbe-9c16-68697c4aa24d","maker_order_uuid":"3842068d-d8ca-4dc3-85d7-7fb2b6f4b691","sender_pubkey":"71792f7a6846a0da28f3422501927ae103355c02750bc4c4d8430375329a09ac","dest_pub_key":"15d9c51c657ab1be4ae9d3ab6e76a619d3bccfe830d5363fa168424c0d044732"},"connected":null,"last_updated":1746432440044}}}`
+
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "orders",
+ "error_trace": "orders:29]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "orders",
+ "error_trace": "orders:29]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/orderbook_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/orderbook_enable/index.mdx
new file mode 100644
index 000000000..7d56e7f4d
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/orderbook_enable/index.mdx
@@ -0,0 +1,89 @@
+export const title = "Komodo DeFi Framework Method: Enable Orderbook Streaming";
+export const description = "Using this method, you can enable the orderbook stream for a given pair.";
+
+# orderbook\_enable
+
+Using this method, you can enable the orderbook stream for a given pair.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | This ID can be used to access data (e.g. via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1)) |
+| base | string | Base currency of a pair |
+| rel | string | Related currency, also known as the "quote currency" |
+
+
+ For this method, `base` and `rel` are essentially interchangeable, and inverting the base coin and rel coin in a request will return the same data.
+
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::orderbook::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1,
+ "base": "DOC",
+ "rel": "MARTY"
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "ORDERBOOK_UPDATE/orbk/DOC:MARTY"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) for each orderbook updated event:
+
+`data: {"_type":"ORDERBOOK_UPDATE/orbk/KMD:MATIC","message":{"order_type":"NewOrUpdatedItem","order_data":{"pubkey":"026da2fc632afabbb1b86d04a9a012db25eca74db38ba2eccd88552f27f4c0b245","base":"MATIC","rel":"KMD","price":[[1,[4249903049,3]],[1,[1410065408,2]]],"max_volume":[[1,[1477927621,23427]],[1,[1783793664,116]]],"min_volume":[[1,[1223297773,7148]],[1,[552894464,46566]]],"uuid":"b18bb3ab-8476-4a06-9cf6-9744e1bf6442","created_at":1746432644}}} `
+
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "orderbook",
+ "error_trace": "orderbook:36]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "orderbook",
+ "error_trace": "orderbook:36]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/swap_status_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/swap_status_enable/index.mdx
new file mode 100644
index 000000000..7a327cad1
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/swap_status_enable/index.mdx
@@ -0,0 +1,81 @@
+export const title = "Komodo DeFi Framework Method: Enable Swap Status Streaming";
+export const description = "Using this method, you can enable the swap status stream.";
+
+# swap\_status\_enable
+
+Using this method, you can enable the swap status stream.
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| client\_id | integer | This ID can be used to access data (e.g. via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1)) |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::swap_status::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "SWAP_STATUS"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) for each swap status updated event:
+
+`data: {"_type":"SWAP_STATUS","message":{"swap_type":"TakerV1","swap_data":{"uuid":"4bfe3af7-dd62-4dbe-9c16-68697c4aa24d","event":{"timestamp":1746432461259,"event":{"type":"TakerPaymentInstructionsReceived","data":null}}}}}`
+
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "swaps",
+ "error_trace": "swaps:32]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "swaps",
+ "error_trace": "swaps:32]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/streaming/tx_history_enable/index.mdx b/src/pages/komodo-defi-framework/api/v20/streaming/tx_history_enable/index.mdx
new file mode 100644
index 000000000..0af796a2b
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/streaming/tx_history_enable/index.mdx
@@ -0,0 +1,129 @@
+export const title = "Komodo DeFi Framework Method: Transaction History Events Streaming";
+export const description = "Using this method, you can enable transaction history events streaming for a specific coin.";
+
+# tx\_history\_enable
+
+Using this method, you can enable transaction history events streaming for a specific coin.
+This method is only compatible with the following coin types: `UTXO`, `BCH/SLP`, `TENDERMINT`, `QTUM`, `ZHTLC`.
+
+
+ For this stream to return data, the coin being queried **must** include the `"tx_history": true` parameter in its activation command.
+
+
+### Request Parameters
+
+| Parameter | Type | Description |
+| ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | Ticker of the coin to activate streaming for. The coin must be activated first. |
+| client\_id | integer | Optional. In the case of a single client, this defaults to `0`. This ID can be used to access data via [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) |
+
+
+ The client defines its own id when opening a connection to the stream, and each client\_id can only be viewed by a single client (i.e. the `?id=` url param won't work in more than one browser tab).
+ The selected coin must be enabled prior to enabling streaming.
+
+
+### Response Parameters
+
+| Parameter | Type | Description |
+| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| streamer\_id | string | An identifier for the data stream. This can be used later to disable streaming for the event with [stream::disable](/komodo-defi-framework/api/v20/streaming/disable/). |
+
+### 📌 Examples
+
+#### Request
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "stream::tx_history::enable",
+ "mmrpc": "2.0",
+ "params": {
+ "client_id": 1,
+ "coin": "DOC"
+ }
+ }
+ ```
+
+
+
+ #### Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "streamer_id": "TX_HISTORY:DOC"
+ },
+ "id": null
+ }
+ ```
+
+
+Here is an example of the stream data you should be able to see in [http://localhost:7783/event-stream?id=1](http://localhost:7783/event-stream?id=1) for each transaction event:
+
+`data: {"_type":"TX_HISTORY:KMD","message":{"tx_hex":"0400008085202f89015c649b8da32385ec58802385d179018db8e791d752a2cdf8d7fbf9247049bb81010000006a4730440220224c598d9af09684a848435bded40f9b24cc664d129d2dff5d0c094e6919cf1a0220143d896e7c42d13f57c98fb7eabfdeee27386ece324ec84a18308c106f1cf16301210295546acd9bdd19ec68093fef17e76b098fff5ff9815bb2adbfc2a618f41a74c6ffffffff0200a3e111000000001976a91482a6b17e64687148f4922b1385a11e6221bf5f5988aca0a0548c9c0100001976a914d92154e3a7a6da1b0cc1a4f84bc97fff24a79a3588acb66f1868000000000000000000000000000000","tx_hash":"05e9b6f5c96c71af3435cab55dbb807da47ed93ef1b84fc0a5fa867956e9ce9d","from":["RV5Ge4dLvRHGiYCanRBBEDM1eMR3wHDNLs"],"to":["RMC1cWXngQf2117apEKoLh3x27NoG88yzd","RV5Ge4dLvRHGiYCanRBBEDM1eMR3wHDNLs"],"total_amount":"17721.80883336","spent_by_me":"0","received_by_me":"3","my_balance_change":"3","block_height":0,"timestamp":0,"fee_details":{"type":"Utxo","coin":"KMD","amount":"0.00001"},"coin":"KMD","internal_id":"05e9b6f5c96c71af3435cab55dbb807da47ed93ef1b84fc0a5fa867956e9ce9d","transaction_type":"StandardTransfer","memo":null}}`
+
+
+ #### CoinNotFound
+
+ You need to activate the coin first.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "CoinNotFound",
+ "error_path": "tx_history",
+ "error_trace": "tx_history:42]",
+ "error_type": "CoinNotFound",
+ "id": null
+ }
+ ```
+
+ #### UnknownClient
+
+ No client has an open connection using this `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "UnknownClient",
+ "error_path": "tx_history",
+ "error_trace": "tx_history:75]",
+ "error_type": "EnableError",
+ "error_data": "UnknownClient",
+ "id": null
+ }
+ ```
+
+ #### ClientAlreadyListening
+
+ The requested events are already being sent to the `client_id`.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "ClientAlreadyListening",
+ "error_path": "tx_history",
+ "error_trace": "tx_history:75]",
+ "error_type": "EnableError",
+ "error_data": "ClientAlreadyListening",
+ "id": null
+ }
+ ```
+
+ #### CoinNotSupported Error
+
+ The coin type is not supported for this stream.
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "CoinNotSupported",
+ "error_path": "tx_history",
+ "error_trace": "tx_history:70]",
+ "error_type": "CoinNotSupported",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/swaps_and_orders/trade_preimage/index.mdx b/src/pages/komodo-defi-framework/api/v20/swaps_and_orders/trade_preimage/index.mdx
index 70cd2c56e..799861e28 100644
--- a/src/pages/komodo-defi-framework/api/v20/swaps_and_orders/trade_preimage/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/swaps_and_orders/trade_preimage/index.mdx
@@ -32,16 +32,16 @@ Depending on the parameters, the function returns different results:
### Result
-| Structure | Type | Description |
-| ------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| base\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `base` coin |
-| rel\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `rel` coin |
-| volume | string (numeric) | Optional. The max available volume that can be traded (in decimal representation); empty if the `max` argument is missing or false |
-| volume\_rat | rational | Optional. The max available volume that can be traded represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object.; empty if the `max` argument is missing or false |
-| volume\_fraction | fraction | Optional. The max available volume that can be traded represented as a standard [fractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object.; empty if the `max` argument is missing or false |
-| taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The dex fee to be paid by Taker; empty if `swap_method` is `setprice` |
-| fee\_to\_send\_taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/#extended-fee-info) object. The approximate miner fee is paid to send the dex fee; empty if `swap_method` is `setprice` |
-| total\_fees | array of objects | A standard [TotalFeeInfo](/komodo-defi-framework/api/common_structures/#total-fee-info) object. Each element is a sum of fees required to be paid from user's balance of corresponding `ExtendedFeeInfo.coin`; the elements are unique by coin |
+| Structure | Type | Description |
+| ------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| base\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `base` coin |
+| rel\_coin\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid per the whole swap concerning the `rel` coin |
+| volume | string (numeric) | Optional. The max available volume that can be traded (in decimal representation); empty if the `max` argument is missing or false |
+| volume\_rat | rational | Optional. The max available volume that can be traded represented as a standard [RationalValue](/komodo-defi-framework/api/common_structures/#rational-value) object.; empty if the `max` argument is missing or false |
+| volume\_fraction | fraction | Optional. The max available volume that can be traded represented as a standard [fractionalValue](/komodo-defi-framework/api/common_structures/#fractional-value) object.; empty if the `max` argument is missing or false |
+| taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The dex fee to be paid by Taker; empty if `swap_method` is `setprice` |
+| fee\_to\_send\_taker\_fee | object | A standard [ExtendedFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#extended-fee-info) object. The approximate miner fee is paid to send the dex fee; empty if `swap_method` is `setprice` |
+| total\_fees | array of objects | A standard [TotalFeeInfo](/komodo-defi-framework/api/common_structures/wallet/#total-fee-info) object. Each element is a sum of fees required to be paid from user's balance of corresponding `ExtendedFeeInfo.coin`; the elements are unique by coin |
### ⚠ Error types
diff --git a/src/pages/komodo-defi-framework/api/v20/utils/task_init_trezor/index.mdx b/src/pages/komodo-defi-framework/api/v20/utils/task_init_trezor/index.mdx
index f14111030..e1749852d 100644
--- a/src/pages/komodo-defi-framework/api/v20/utils/task_init_trezor/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/utils/task_init_trezor/index.mdx
@@ -5,22 +5,22 @@ import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
# Trezor Initialisation
-The methods below prepare your Trezor device for use within the Komodo DeFi Framework API. Once completed, you can authenticate using your PIN or phrase with [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#user-action).
+The methods below prepare your Trezor device for use within the Komodo DeFi Framework API. Once completed, you can authenticate using your PIN or phrase with [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-user-action).
Methods with a `task::` prefix will be linked to a numeric
`task_id` value which can be used to query the status or outcome of a task.
-## init {{label : 'task::init_trezor::init', tag : 'API-v2'}}
+## task::init\_trezor::init {{label : 'task::init_trezor::init', tag : 'API-v2'}}
Before using this method, launch the Komodo DeFi Framework API, and plug in your Trezor.
#### Arguments
-| Parameter | Type | Description |
-| -------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| device\_pubkey | string | Optional. If known, you can specify the device pubkey. If not known, this will be part of the `task::init_trezor::status` response which you can save for future use |
+| Parameter | Type | Description |
+| -------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| device\_pubkey | string | Optional. If known, you can specify the device pubkey. If not known, this will be part of the [task::init\_trezor::status](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-status) response which you can save for future use |
#### Response
@@ -32,7 +32,7 @@ Before using this method, launch the Komodo DeFi Framework API, and plug in your
#### Command (without device\_pubkey)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -45,7 +45,7 @@ Before using this method, launch the Komodo DeFi Framework API, and plug in your
#### Command (with device\_pubkey)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -72,7 +72,7 @@ Before using this method, launch the Komodo DeFi Framework API, and plug in your
```
-## status {{label : 'task::init_trezor::status', tag : 'API-v2'}}
+## task::init\_trezor::status {{label : 'task::init_trezor::status', tag : 'API-v2'}}
After running the `task::init_trezor::init` method, we can query the status of device initialisation to check its progress.
@@ -99,7 +99,7 @@ After running the `task::init_trezor::init` method, we can query the status of d
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -146,7 +146,7 @@ After running the `task::init_trezor::init` method, we can query the status of d
}
```
- * `UserActionRequired` - This will either be `EnterTrezorPin` or `EnterTrezorPassphrase`. Refer to the [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#user-action) section for more information.
+ * `UserActionRequired` - This will either be `EnterTrezorPin` or `EnterTrezorPassphrase`. Refer to the [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-user-action) section for more information.
```json
{
@@ -224,7 +224,7 @@ After running the `task::init_trezor::init` method, we can query the status of d
}
```
- * `NoSuchTask` - Something went wrong or `task::init_trezor::init` was not called. Refer to the [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#init) section for more information.
+ * `NoSuchTask` - Something went wrong or `task::init_trezor::init` was not called. Refer to the [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-init) section for more information.
```json
{
@@ -241,7 +241,7 @@ After running the `task::init_trezor::init` method, we can query the status of d
* `HwError` - **This is the most important error type.** Unlike other error types, `HwError` requires the GUI / User to check the details in `error_data` field to know which action is required. View the [HwError error type details](/komodo-defi-framework/api/v20/utils/task_init_trezor/#details-for-hw-error-error-type) for more info.
-## cancel {{label : 'task::init_trezor::cancel', tag : 'API-v2'}}
+## task::init\_trezor::cancel {{label : 'task::init_trezor::cancel', tag : 'API-v2'}}
Use the `task::init_trezor::cancel` method to cancel the initialisation task.
@@ -266,7 +266,7 @@ Use the `task::init_trezor::cancel` method to cancel the initialisation task.
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -305,7 +305,7 @@ Use the `task::init_trezor::cancel` method to cancel the initialisation task.
```
-## user\_action {{label : 'task::init_trezor::user_action', tag : 'API-v2'}}
+## task::init\_trezor::user\_action {{label : 'task::init_trezor::user_action', tag : 'API-v2'}}
When you see the pin grid on your device, or it asks for a passphrase word, use this method.
@@ -355,7 +355,7 @@ When you see the pin grid on your device, or it asks for a passphrase word, use
#### Command (for TrezorPin)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -374,7 +374,7 @@ When you see the pin grid on your device, or it asks for a passphrase word, use
#### Command (for TrezorPassphrase)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/index.mdx
index 76751bfc9..ef0ff1f93 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/get_eth_estimated_fee_per_gas/index.mdx
@@ -1,16 +1,17 @@
export const title = "Komodo DeFi Framework Method: Get ETH Estimated Fee per Gas";
export const description =
- "The get_eth_estimated_fee_per_gas method allows you to get the gas priority fees from the estimator (started with the 'start_eth_fee_estimator') for an active coin of your choice.";
+ "The get_eth_estimated_fee_per_gas method allows you to get the gas priority fee estimates for an active coin of your choice.";
# get\_eth\_estimated\_fee\_per\_gas
-The `get_eth_estimated_fee_per_gas` method allows you to get the estimated gas priority fee for an active coin of your choice. Before using this method, you first need to use the [start\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/) method.
+The `get_eth_estimated_fee_per_gas` method allows you to get the estimated gas priority fee for an active coin of your choice.
-| parameter | Type | Description |
-| --------- | ------ | ---------------------------------------------------------------------------- |
-| coin | string | Ticker of the coin/asset for which we want to start the grass fee estimator. |
+| parameter | Type | Description |
+| --------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | Ticker of the coin/asset for which we want to start the gas fee estimator. |
+| estimator\_type | string | `Simple` or `Provider`. If set to `Provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/). |
-## Request
+## Request (simple)
```json
@@ -19,43 +20,148 @@ The `get_eth_estimated_fee_per_gas` method allows you to get the estimated gas p
"method": "get_eth_estimated_fee_per_gas",
"mmrpc": "2.0",
"params": {
- "coin": "ETH"
+ "coin": "ETH",
+ "estimator_type": "Simple"
}
}
```
-## Response
-
-```json
-{
- "mmrpc": "2.0",
- "result": {
- "base_fee": "10.890879158",
- "low": {
- "max_priority_fee_per_gas": "0.1101",
- "max_fee_per_gas": "11.949818698",
- "min_wait_time": null,
- "max_wait_time": null
- },
- "medium": {
- "max_priority_fee_per_gas": "1.258084291",
- "max_fee_per_gas": "13.905056537",
- "min_wait_time": null,
- "max_wait_time": null
- },
- "high": {
- "max_priority_fee_per_gas": "2.495532249",
- "max_fee_per_gas": "15.949758042",
- "min_wait_time": null,
- "max_wait_time": null
+
+ ## Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "base_fee": "10.890879158",
+ "low": {
+ "max_priority_fee_per_gas": "0.1101",
+ "max_fee_per_gas": "11.949818698",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "medium": {
+ "max_priority_fee_per_gas": "1.258084291",
+ "max_fee_per_gas": "13.905056537",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "high": {
+ "max_priority_fee_per_gas": "2.495532249",
+ "max_fee_per_gas": "15.949758042",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "source": "simple",
+ "base_fee_trend": "",
+ "priority_fee_trend": "",
+ "units": "Gwei"
},
- "source": "simple",
- "base_fee_trend": "",
- "priority_fee_trend": "",
- "units": "Gwei"
- },
- "id": null
-}
-
-```
+ "id": null
+ }
+
+ ```
+
+
+## Request (provider)
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "method": "get_eth_estimated_fee_per_gas",
+ "mmrpc": "2.0",
+ "params": {
+ "coin": "ETH",
+ "estimator_type": "Provider"
+ }
+ }
+ ```
+
+
+
+ ## Response
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "base_fee": "0.629465419",
+ "low": {
+ "max_priority_fee_per_gas": "0.008999999",
+ "max_fee_per_gas": "1.27",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "medium": {
+ "max_priority_fee_per_gas": "0.049",
+ "max_fee_per_gas": "1.31",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "high": {
+ "max_priority_fee_per_gas": "0.089",
+ "max_fee_per_gas": "1.35",
+ "min_wait_time": null,
+ "max_wait_time": null
+ },
+ "source": "blocknative",
+ "base_fee_trend": "",
+ "priority_fee_trend": "",
+ "units": "Gwei"
+ },
+ "id": null
+ }
+
+ ```
+
+
+
+ The responses above were requested at the same time, for the same coin (MATIC). As you can see, there difference between the returned fee values can be significant.
+
+
+
+ ### Error - missing parameter
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Error parsing request: missing field `estimator_type`",
+ "error_path": "dispatcher",
+ "error_trace": "dispatcher:122]",
+ "error_type": "InvalidRequest",
+ "error_data": "missing field `estimator_type`",
+ "id": null
+ }
+ ```
+
+ ### Error - Coin not active
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "No such coin DOGE",
+ "error_path": "get_estimated_fees.lp_coins",
+ "error_trace": "get_estimated_fees:244] lp_coins:4767]",
+ "error_type": "NoSuchCoin",
+ "error_data": {
+ "coin": "DOGE"
+ },
+ "id": null
+ }
+ ```
+
+ ### Error - Coin not supported
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "error": "Gas fee estimation not supported for this coin",
+ "error_path": "get_estimated_fees",
+ "error_trace": "get_estimated_fees:206]",
+ "error_type": "CoinNotSupported",
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/index.mdx
index 674bcbe15..a3594eb12 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/index.mdx
@@ -22,15 +22,11 @@ The Komodo Defi Framework allows users to benefit from this improvement with che
* Set swap transaction fee policy for an EVM coin/token [set\_swap\_transaction\_fee\_policy](/komodo-defi-framework/api/v20/wallet/fee_management/set_swap_transaction_fee_policy/).
-* Start tracking the fee market for an EVM coin/token [start\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/).
-
-* Stop tracking the fee market for an EVM coin/token [stop\_eth\_fee\_estimator](/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/).
-
## Fee Management Configuration
There is also a new `gas_fee_estimator` parameter in the coins file, which can be set to `provider` or `simple`.
-By default, `simple` gas fee estimation suggests a fee based on fee history. If set `gas_fee_estimator` is set to `provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/).
+By default, `Simple` gas fee estimation suggests a fee based on fee history. If set `gas_fee_estimator` is set to `Provider`, users must set the `gas_api` setting in their [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/) to source recommended fee values from third party providers [Infura](https://www.infura.io/) or [Blocknative](https://www.blocknative.com/).
### In the coins file
@@ -56,7 +52,7 @@ Below is an example of the information required in EVM token configurations in y
"derivation_path": "m/44'/60'",
"use_access_list": true,
"max_eth_tx_type": 2,
- "gas_fee_estimator": "provider",
+ "gas_fee_estimator": "Provider",
"gas_limit": {
"eth_send_erc20": 60000,
"erc20_payment": 110000,
@@ -72,7 +68,7 @@ The [`gas_limit` object](/komodo-defi-framework/tutorials/listing-a-new-coin/) v
### In the MM2.json file
-If `gas_fee_estimator` is set to `provider`, you'll also need to add the `gas_api` parameter to your [MM2.json configuration file](/komodo-defi-framework/setup/configure-mm2-json/):
+If `gas_fee_estimator` is set to `Provider`, you'll also need to add the `gas_api` parameter to your [MM2.json configuration file](/komodo-defi-framework/setup/configure-mm2-json/):
```json
{
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/index.mdx
deleted file mode 100644
index 5e8866206..000000000
--- a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/index.mdx
+++ /dev/null
@@ -1,36 +0,0 @@
-export const title = "Komodo DeFi Framework Method: Start ETH Fee Estimator";
-export const description =
- "The start_eth_fee_estimator method allows you to start the gas priority fee estimator loop for an active coin of your choice.";
-
-# start\_eth\_fee\_estimator
-
-The `start_eth_fee_estimator` method allows you to to start the gas priority fee estimator loop for an active coin of your choice. Before using this method, you first need to use the [enable\_eth\_with\_tokens](/komodo-defi-framework/api/v20/coin_activation/enable_eth_with_tokens/) method. For the gas fee estimator to work you also need to [configure your MM2.json and coins files](/komodo-defi-framework/api/v20/wallet/fee_management/#fee-management-configuration) with some extra parameters.
-
-| parameter | Type | Description |
-| --------- | ------ | -------------------------------------------------------------------------- |
-| coin | string | Ticker of the coin/asset for which we want to start the gas fee estimator. |
-
-
- ```json
- {
- "userpass": "RPC_UserP@SSW0RD",
- "method": "start_eth_fee_estimator",
- "mmrpc": "2.0",
- "params": {
- "coin": "ETH"
- }
- }
- ```
-
-
-## Response
-
-```json
-{
- "mmrpc": "2.0",
- "result": {
- "result": "Success"
- },
- "id": null
-}
-```
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/index.mdx
deleted file mode 100644
index c4e875d1e..000000000
--- a/src/pages/komodo-defi-framework/api/v20/wallet/fee_management/stop_eth_fee_estimator/index.mdx
+++ /dev/null
@@ -1,37 +0,0 @@
-export const title = "Komodo DeFi Framework Method: Stop ETH Fee Estimator";
-export const description =
- "The start_eth_fee_estimator method allows you to stop the gas priority fee estimator loop for an active coin of your choice.";
-
-# stop\_eth\_fee\_estimator
-
-The `stop_eth_fee_estimator` method allows you to to stop the gas priority fee estimator loop for an active coin of your choice. Before using this method, you first need to use the [enable\_eth\_with\_tokens](/komodo-defi-framework/api/v20/wallet/fee_management/start_eth_fee_estimator/) method.
-
-| parameter | Type | Description |
-| --------- | ------ | -------------------------------------------------------------------------- |
-| coin | string | Ticker of the coin/asset for which we want to start the gas fee estimator. |
-
-
- ```json
- {
- "userpass": "RPC_UserP@SSW0RD",
- "method": "stop_eth_fee_estimator",
- "mmrpc": "2.0",
- "params": {
- "coin": "ETH"
- }
- }
- ```
-
-
-## Response
-
-```json
-{
- "mmrpc": "2.0",
- "result": {
- "result": "Success"
- },
- "id": null
-}
-
-```
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/hd/get_wallet_names/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/get_wallet_names/index.mdx
similarity index 100%
rename from src/pages/komodo-defi-framework/api/v20/wallet/hd/get_wallet_names/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/wallet/get_wallet_names/index.mdx
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/hd/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/hd/index.mdx
deleted file mode 100644
index 1efb2a8ba..000000000
--- a/src/pages/komodo-defi-framework/api/v20/wallet/hd/index.mdx
+++ /dev/null
@@ -1,86 +0,0 @@
-export const title = "Komodo DeFi Framework: HD Wallets Overview";
-export const description =
- "This document provides and overview of functionality available using the Komodo DeFi Framework API in Hierarchical Deterministic (HD) mode.";
-
-# HD Wallets Overview
-
-[Hierarchical Deterministic (HD) Wallets](https://atomicdex.io/en/blog/hd-wallet/) are different to other wallets, as they use a key pair management system that allows generating multiple new addresses from a single seed phrase or private key.
-
-`Hierarchical` refers to the structure of HD wallets, which resembles a tree, where parent keys can produce children keys, which can produce grandchildren keys, and so on, all from the same root seed.
-`Deterministic` means that the addresses generated in this tree will always be the same for the same root seed phrase.
-
-HD wallets offer several advantages over traditional wallets:
-
-* Convenience: HD wallets allow users to generate multiple public and private keys from a single seed phrase, making it easier to manage multiple addresses in one place.
-* Privacy: HD wallets can generate new addresses for each transaction, making it more difficult for malicious parties to track a user’s transaction history.
-* Access Control: A user who controls the root seed can create new addresses & keypairs which can be shared with a 3rd party, providing limited or regulated access to funds held under specific pairs.
-
-
- To use HD wallet functionality with the Komodo DeFi Framework API, you must include `"enable_hd":true` in your [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/).
- Hardware wallets like [Trezor](https://trezor.io/) are always in HD mode, and this parameter **must** to be set to `true`.
-
-
-In some cases, the methods used to interact with HD wallets are the same as those used with legacy wallets. However, there are some differences, which are detailed in the links below.
-
-## Initialisation and authentication (Hardware wallets only):
-
-* Initialise connection with your Trezor with [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#init)
-* Check the status of the connecton with [task::init\_trezor::status](/komodo-defi-framework/api/v20/utils/task_init_trezor/#status)
-* Cancel authentication process with [task::init\_trezor::cancel](/komodo-defi-framework/api/v20/utils/task_init_trezor/#cancel)
-* Authenticate using PIN or phrase with [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#user-action)
-
-
- These methods (and others with a `task::` prefix) will be linked to a numeric
- `task_id` value which is used to query the status or outcome of the task.
-
-
-## UTXO & QTUM Coin Activation in HD Mode:
-
-As HD mode activation performs address scanning to return addresses and balances for enabled accounts, we use `task` methods because fetching this data can take some time.
-
-* Use [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init) for UTXO coins like KMD, BTC and DOGE.
-* Check the activation status with [task::enable\_utxo::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#status)
-* Authenticate the activation with [task::enable\_utxo::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#user-action) (hardware wallet only)
-* Use [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init) for QTUM Ecosystem coins.
-* Check the activation status with [task::enable\_qtum::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#status)
-* Authenticate the activation with [task::enable\_qtum::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#user-action) (hardware wallet only)
-
-
- When using the activation methods with a Trezor, `"priv_key_policy": {"type": "Trezor"},` needs to be included in the request.
-
-
-## Withdrawing your Funds:
-
-* Prepare a transaction with [withdraw (v2)](/komodo-defi-framework/api/v20/wallet/tx/withdraw/#withdraw)
-* Broadcast the transaction with [send\_raw\_transaction](/komodo-defi-framework/api/legacy/send_raw_transaction/#send-raw-transaction)
-* Prepare a transaction with [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#init)
-* Check the status of the transaction preparation with [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#status)
-* Cancel the transaction preparation with [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#cancel)
-
-
- Not sure if these are still active?
-
-
-## Viewing Hardware Wallet Coin Balances:
-
-* Initialise the balance request with [task::account\_balance::init](/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/#init)
-* Check the status of the balance request with [task::account\_balance::status](/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/#status)
-
-## Creating New Addresses:
-
-
- # TODO: add this item back after the method is redocumented
-
- {/* * Use [can\_get\_new\_address](/komodo-defi-framework/api/v20/wallet/hd/address_management/#can-get-new-address) to determine if your current address has been used, or should be updated. */}
-
-
-* Use [get\_new\_address](/komodo-defi-framework/api/v20/wallet/hd/address_management/#get-new-address) to generate a new address
-
-## Viewing Transaction History:
-
-* Transaction history using an `account_id` [my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/)
-* Transaction history using an `address_id` [my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/)
-
-
- # TODO: Add hashlinks to the above methods
-
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/index.mdx
similarity index 52%
rename from src/pages/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/index.mdx
index b88292b43..39313078f 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/hd/task_account_balance/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/index.mdx
@@ -1,11 +1,11 @@
export const title = "Komodo DeFi Framework Method: Account Balance Tasks";
export const description = "The methods in this document allow tracking of balances across multiple addresses under a specified account index.";
-# Account Balance Tasks
+# Task: Account Balance
-If you have activated a coin with the [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init) or [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init) and used the `"priv_key_policy": {"type": "Trezor"},` parameter, your funds may be spread across a range of addresses under a specified account index. The methods below will return the combined balance of your account, detailing the balance for each active account address.
+If you have enabled a coin with [task managed activation](/komodo-defi-framework/api/v20/coin_activation/task_managed/) and are using `HD Mode`, your funds may be spread across a range of addresses under a specified account index. The methods below will return the combined balance of your account, detailing the balance for each active account address.
-## init {{label : 'task::account_balance::init', tag : 'API-v2'}}
+## task::account\_balance::init {{label : 'task::account_balance::init', tag : 'API-v2'}}
Use the `task::account_balance::init` method to initialise an account balance request.
@@ -26,7 +26,7 @@ Use the `task::account_balance::init` method to initialise an account balance re
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -54,7 +54,7 @@ Use the `task::account_balance::init` method to initialise an account balance re
```
-## status {{label : 'task::account_balance::status', tag : 'API-v2'}}
+## task::account\_balance::status {{label : 'task::account_balance::status', tag : 'API-v2'}}
Use the `task::account_balance::status` method to view the status / response of an account balance request.
@@ -62,33 +62,22 @@ Use the `task::account_balance::status` method to view the status / response of
| Parameter | Type | Description |
| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
-| task\_id | integer | The identifying number returned when initiating the withdrawal process. |
+| task\_id | integer | The identifying number returned when initiating the task. |
| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
#### Response
-| Parameter | Type | Description |
-| ------------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| result | object | Object containing status and details of the task |
-| .status | string | Status of the task (`Ok` or `Error`) |
-| ..account\_index | integer | For GUIs, this will return `0`. In CLI it will return the same as the user request input |
-| ..derivation\_path | string | The The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of the wallet. |
-| ..total\_balance | object | Contains the spendable and unspendable balance for the wallet |
-| ...spendable | string(numeric) | Spendable balance for this wallet |
-| ...unspendable | string(numeric) | Unspendable balance for this wallet (e.g. from unconfirmed incoming transactions) |
-| ..addresses | list | Contains information about current active addresses in the wallet |
-| ...address | string | Spendable balance for this address |
-| ...derivation\_path | string | The The [BIP44 derivation path](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) of an address. |
-| ...chain | string(numeric) | `Internal` or `External`. External is used for addresses that are meant to be visible outside of the wallet (e.g. for receiving payments). Internal is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. |
-| ...balance | object | A map of standard [balanceInfo](/komodo-defi-framework/api/common_structures/#balance-info) objects, by ticker. |
-| ....spendable | string(numeric) | Spendable balance for this address |
-| ....unspendable | string(numeric) | Unspendable balance for this address (e.g. from unconfirmed incoming transactions) |
+| Parameter | Type | Description |
+| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| current\_block | integer | Block height of the coin being activated |
+| ticker | string | Ticker of the coin being activated. |
+| wallet\_balance | object | A standard [WalletBalanceInfo](/komodo-defi-framework/api/common_structures/wallet/#wallet-balance-info) object. Note: the structure may vary based on the `get_balances` parameter value in the activation request. |
#### 📌 Examples
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -161,15 +150,15 @@ Use the `task::account_balance::status` method to view the status / response of
```
-## cancel {{label : 'task::account_balance::cancel', tag : 'API-v2'}}
+## task::account\_balance::cancel {{label : 'task::account_balance::cancel', tag : 'API-v2'}}
Use the `task::account_balance::cancel` method to cancel an account balance request.
#### Arguments
-| Parameter | Type | Description |
-| --------- | ------- | ----------------------------------------------------------------------- |
-| task\_id | integer | The identifying number returned when initiating the withdrawal process. |
+| Parameter | Type | Description |
+| --------- | ------- | --------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the task. |
#### Response
@@ -186,7 +175,7 @@ Use the `task::account_balance::cancel` method to cancel an account balance requ
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/index.mdx
similarity index 86%
rename from src/pages/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/index.mdx
index c3876a286..237ee86c7 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/hd/task_create_new_account/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/create_new_account/index.mdx
@@ -1,11 +1,11 @@
export const title = "Komodo DeFi Framework Method: HD Account Management Tasks";
export const description = "The methods in this document allow tracking of balances across multiple addresses under a specified account index.";
-# task\_create\_new\_account
+# Task: Create New Account
-If you have activated a coin with the [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init) or [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init) and are using `HD Mode`, your funds may be spread across a range of addresses under a specified account index. The methods below will return the combined balance of your account, detailing the balance for each active account address.
+If you have enabled a coin with [task managed activation](/komodo-defi-framework/api/v20/coin_activation/task_managed/) and are using `HD Mode`, your funds may be spread across a range of addresses under a specified account index. The methods below will initialise a wallet account, and scan for existing addresses with a balance.
-## init {{label : 'init', tag : 'API-v2'}}
+## task::create\_new\_account::init {{label : 'task::create_new_account::init', tag : 'API-v2'}}
Use the `task::create_new_account::init` method to initialise a HD account.
@@ -28,7 +28,7 @@ Use the `task::create_new_account::init` method to initialise a HD account.
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -58,7 +58,7 @@ Use the `task::create_new_account::init` method to initialise a HD account.
```
-## status {{label : 'status', tag : 'API-v2'}}
+## task::create\_new\_account::status {{label : 'task::create_new_account::status', tag : 'API-v2'}}
Use the `task::create_new_account::status` method to query the status of a HD account creation task.
@@ -66,7 +66,7 @@ Use the `task::create_new_account::status` method to query the status of a HD ac
| Parameter | Type | Description |
| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
-| task\_id | integer | The identifying number returned when initiating the withdrawal process. |
+| task\_id | integer | The identifying number returned when initiating the task. |
| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
#### Response
@@ -80,7 +80,7 @@ Use the `task::create_new_account::status` method to query the status of a HD ac
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/hd/address_management/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/index.mdx
similarity index 58%
rename from src/pages/komodo-defi-framework/api/v20/wallet/hd/address_management/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/index.mdx
index b47efb41f..1b339c3fd 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/hd/address_management/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/index.mdx
@@ -1,15 +1,14 @@
-export const title = "Komodo DeFi Framework Method: HD Address Management";
+export const title = "Komodo DeFi Framework Method: Get New Address";
export const description = "The methods in this document allow generation of HD addresses on Komodo DeFi Framework.";
import trezorpin from "@/public/images/docs/api-images/trezor_pin.png";
-# Hierarchical Deterministic Address Management
+# Task: Get New Address
-A hierarchical-deterministic (HD) wallet generates a new key pair from a master key pair, allowing for multiple addresses to be generated from the same seed so that change from transactions go to a previously unused address, enhancing privacy and security. The hierarchical structure resembles that of a tree, with the master key “determining” the key pairs that follow it in the hierarchy. If you have activated a coin with the [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_utxo/#init) or [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/task_enable_qtum/#init) and used the `"priv_key_policy": {"type": "Trezor"},` parameter, you can use the methods below to generate new addresses.
+## task::get\_new\_address::init {{label : 'task::get_new_address::init', tag : 'API-v2'}}
-## get\_new\_address
-
-If we don't already have too many unused addresses, we can use the `get_new_address` method to generate a new address. The generated address will be shown in account\_balance and init\_account\_balance RPCs and on the next coin activation.
+A hierarchical-deterministic (HD) wallet generates a new key pair from a master key pair, allowing for multiple addresses to be generated from the same seed so that change from transactions go to a previously unused address, enhancing privacy and security.
+The hierarchical structure resembles that of a tree, with the master key “determining” the key pairs that follow it in the hierarchy. If you are running KDF in HD mode, and don't already have too many unused addresses, you can use the `get_new_address` method to generate a new address. The generated address will be shown in the task::account\_balance RPCs and at the next coin activation.
For hardware wallets (e.g. Trezor), you need to use the task based address creation methods: `task::get_new_address::init`, `task::get_new_address::status`, task::get\_new\_address::user\_action`and`task::get\_new\_address::cancel\`.
@@ -39,12 +38,12 @@ Some reasons you might not be able to get a new address are:
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
- "method": "get_new_address",
+ "method": "task::get_new_address::init",
"params": {
"coin": "DOC",
"account_id": 0,
@@ -60,69 +59,39 @@ Some reasons you might not be able to get a new address are:
```json
{
- "mmrpc": "2.0",
- "result": {
- "new_address": {
- "address": "RDKyU11wFTa8kYETaDbr4YuJZG8C4e6JUm",
- "derivation_path": "m/44'/141'/0'/0/3",
- "chain": "External",
- "balance": {
- "spendable": "0",
- "unspendable": "0"
- }
- }
- },
- "id": null
- }
- ```
-
-
-## init {{label : 'task::get_new_address::init', tag : 'API-v2'}}
-
-
- ```json
- {
- "userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
- "method": "task::get_new_address::init",
- "params": {
- "coin": "KMD",
- "account_id": 0
- }
- }
- ```
-
-
-
- #### Response (success)
-
- ```json
- {
- "mmrpc":"2.0",
"result": {
- "task_id":2
+ "task_id": 3
},
- "id":null
+ "id": null
}
```
-## status {{label : 'task::get_new_address::status', tag : 'API-v2'}}
+## task::get\_new\_address::status {{label : 'task::get_new_address::status', tag : 'API-v2'}}
-#### Arguments
+Use the `task::get_new_address::status` method to check the status of a HD address creation task.
+
+| Parameter | Type | Description |
+| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the task. |
+| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
+
+#### Response
-| Parameter | Type | Description |
-| --------- | ------- | --------------------------------------------------------- |
-| task\_id | integer | The identifying number returned when initiating the task. |
+| Parameter | Type | Description |
+| --------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------- |
+| status | string | Status of the task. `Ok`, `InProgress` or `Error`. |
+| details | string or object | Once complete, a standard [NewAddressesInfo](/komodo-defi-framework/api/common_structures/wallet/#new-address-info) object. |
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "task::get_new_address::status",
"params": {
- "task_id": 2
+ "task_id": 3
}
}
```
@@ -150,7 +119,7 @@ Some reasons you might not be able to get a new address are:
```
-## user\_action {{label : 'task::get_new_address::user_action', tag : 'API-v2'}}
+## task::get\_new\_address::user\_action {{label : 'task::get_new_address::user_action', tag : 'API-v2'}}
If the `task::get_new_address::status` returns `UserActionRequired`, we need to use the `task::get_new_address::user_action` method to enter our PIN
@@ -175,7 +144,7 @@ If the `task::get_new_address::status` returns `UserActionRequired`, we need to
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -204,7 +173,7 @@ If the `task::get_new_address::status` returns `UserActionRequired`, we need to
```
-## cancel {{label : 'task::get_new_address::cancel', tag : 'API-v2'}}
+## task::get\_new\_address::cancel {{label : 'task::get_new_address::cancel', tag : 'API-v2'}}
If you want to cancel the enabling process before it has completed, you can use this method.
@@ -229,7 +198,7 @@ If you want to cancel the enabling process before it has completed, you can use
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -253,142 +222,3 @@ If you want to cancel the enabling process before it has completed, you can use
}
```
-
-## task\_scan\_for\_new\_addresses\_init
-
-#### Arguments
-
-| Parameter | Type | Description |
-| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------- |
-| coin | string | The ticker of the coin you want to scan addresses for |
-| account\_id | integer | Optional, HD wallets only. Generally this will be `0` unless you have multiple accounts registered on your HD wallet |
-| gap\_limit | integer | Optional. The maximum number of empty addresses in a row. Defaults to the value provided on activation or 20 if no value was provided |
-
-#### Response
-
-| Parameter | Type | Description |
-| --------- | ------- | --------------------------------------------------------- |
-| task\_id | integer | An identifying number which is used to query task status. |
-
-#### 📌 Examples
-
-#### Command
-
-
- ```json
- {
- "userpass": "RPC_UserP@SSW0RD",
- "mmrpc": "2.0",
- "method": "task::scan_for_new_addresses::init",
- "params": {
- "coin": "DGB",
- "account_index": 0,
- "gap_limit": 20
- }
- }
- ```
-
-
-
- #### Response (success)
-
- ```json
- {
- "mmrpc": "2.0",
- "result": {
- "task_id": 3
- },
- "id": null
- }
- ```
-
-
-## task\_scan\_for\_new\_addresses\_status
-
-Use the `task::scan_for_new_addresses::status` method to query the status of a HD address scanning task.
-
-#### Arguments
-
-| Parameter | Type | Description |
-| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
-| task\_id | integer | The identifying number returned when initiating the withdrawal process. |
-| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
-
-#### Response
-
-| Parameter | Type | Description |
-| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| status | string | Status of the task. `Ok`, `InProgress` or `Error`. |
-| details | string or object | Once complete, a standard [ScanAddressesInfo](/komodo-defi-framework/api/common_structures/wallet/#scan-addresses-info) object. |
-
-#### 📌 Examples
-
-#### Command
-
-
- ```json
- {
- "userpass": "RPC_UserP@SSW0RD",
- "mmrpc": "2.0",
- "method": "task::scan_for_new_addresses::status",
- "params": {
- "task_id": 3
- }
- }
- ```
-
-
-
- #### Response (success, no new address found)
-
- ```json
- {
- "mmrpc": "2.0",
- "result": {
- "status": "Ok",
- "details": {
- "account_index": 0,
- "derivation_path": "m/44'/141'/0'",
- "new_addresses": []
- }
- },
- "id": null
- }
- ```
-
- #### Response (success, new address found)
-
- ```json
- {
- "mmrpc": "2.0",
- "result": {
- "status": "Ok",
- "details": {
- "account_index": 0,
- "derivation_path": "m/44'/141'/0'",
- "new_addresses": [
- {
- "address": "RXaMK6RtvwPiy67oramBfFXCgMobBofMWv",
- "derivation_path": "m/44'/141'/0'/0/3",
- "chain": "External",
- "balance": {
- "spendable": "0",
- "unspendable": "0"
- }
- },
- {
- "address": "RJkjq4DeQ5vTNJxa1gHoS4y31ZU9F3aisu",
- "derivation_path": "m/44'/141'/0'/0/4",
- "chain": "External",
- "balance": {
- "spendable": "0.444",
- "unspendable": "0"
- }
- }
- ]
- }
- },
- "id": null
- }
- ```
-
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/index.mdx
index bc3470373..0cfc1764b 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/index.mdx
@@ -6,6 +6,111 @@ export const description =
-
- TODO: Add summary for other methods, along with detail for HD methods
-
+## HD Wallets Overview
+
+[Hierarchical Deterministic (HD) Wallets](https://atomicdex.io/en/blog/hd-wallet/) are different to other wallets, as they use a key pair management system that allows generating multiple new addresses from a single seed phrase or private key.
+
+`Hierarchical` refers to the structure of HD wallets, which resembles a tree, where parent keys can produce children keys, which can produce grandchildren keys, and so on, all from the same root seed.
+`Deterministic` means that the addresses generated in this tree will always be the same for the same root seed phrase.
+
+HD wallets offer several advantages over traditional wallets:
+
+* Convenience: HD wallets allow users to generate multiple public and private keys from a single seed phrase, making it easier to manage multiple addresses in one place.
+* Privacy: HD wallets can generate new addresses for each transaction, making it more difficult for malicious parties to track a user’s transaction history.
+* Access Control: A user who controls the root seed can create new addresses & keypairs which can be shared with a 3rd party, providing limited or regulated access to funds held under specific pairs.
+
+
+ To use HD wallet functionality with the Komodo DeFi Framework API, you must include `"enable_hd":true` in your [MM2.json file](/komodo-defi-framework/setup/configure-mm2-json/).
+ Hardware wallets like [Trezor](https://trezor.io/) are always in HD mode, and this parameter **must** to be set to `true`.
+
+
+In some cases, the methods used to interact with HD wallets are the same as those used with legacy wallets. However, there are some differences, which are detailed in the links below.
+
+## Initialisation and authentication (Hardware wallets only):
+
+* Initialise connection with your Trezor with [task::init\_trezor::init](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-init)
+* Check the status of the connecton with [task::init\_trezor::status](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-status)
+* Cancel authentication process with [task::init\_trezor::cancel](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-cancel)
+* Authenticate using PIN or phrase with [task::init\_trezor::user\_action](/komodo-defi-framework/api/v20/utils/task_init_trezor/#task-init-trezor-user-action)
+
+
+ These methods (and others with a `task::` prefix) will be linked to a numeric
+ `task_id` value which is used to query the status or outcome of the task.
+
+
+## Coin Activation in HD Mode:
+
+As HD mode activation performs address scanning to return addresses and balances for enabled accounts, we use `task` methods because fetching this data can take some time.
+
+* Use [task::enable\_bch::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-init) for BCH/SLP coins.
+
+* Check the activation status with [task::enable\_bch::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-status)
+
+* Authenticate the activation with [task::enable\_bch::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_bch::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_bch/#task-enable-bch-cancel)
+
+* Use [task::enable\_eth::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-init) for EVM type coins like ETH, AVAX, BNB.
+
+* Check the activation status with [task::enable\_eth::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-status)
+
+* Authenticate the activation with [task::enable\_eth::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_eth::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_eth/#task-enable-eth-cancel)
+
+* Use [task::enable\_qtum::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-init) for QTUM Ecosystem coins.
+
+* Check the activation status with [task::enable\_qtum::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-status)
+
+* Authenticate the activation with [task::enable\_qtum::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_qtum::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_qtum/#task-enable-qtum-cancel)
+
+* Use [task::enable\_tendermint::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-init) for TENDERMINT coins like ATOM, OSMO and IRIS.
+
+* Check the activation status with [task::enable\_tendermint::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-status)
+
+* Authenticate the activation with [task::enable\_tendermint::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_tendermint::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_tendermint/#task-enable-tendermint-cancel)
+
+* Use [task::enable\_utxo::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-init) for UTXO coins like KMD, BTC and DOGE.
+
+* Check the activation status with [task::enable\_utxo::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-status)
+
+* Authenticate the activation with [task::enable\_utxo::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_utxo::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_utxo/#task-enable-utxo-cancel)
+
+* Use [task::enable\_z\_coin::init](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-init) for ZHTLC coins PIRATE and ZOMBIE.
+
+* Check the activation status with [task::enable\_z\_coin::status](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-status)
+
+* Authenticate the activation with [task::enable\_z\_coin::user\_action](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-user-action) (hardware wallet only)
+
+* Cancel activation with [task::enable\_z\_coin::cancel](/komodo-defi-framework/api/v20/coin_activation/task_managed/enable_z_coin/#task-enable-z-coin-cancel)
+
+
+ When using the activation methods with a Trezor, `"priv_key_policy": "Trezor"` needs to be included in the request.
+
+
+## Withdrawing your Funds:
+
+* Prepare a transaction with [task::withdraw::init](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-init)
+* Check the status of the transaction preparation with [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-status)
+* Cancel the transaction preparation with [task::withdraw::cancel](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-cancel)
+
+
+ After preparing the transaction, it needs to be broadcast to the network with [send\_raw\_transaction](/komodo-defi-framework/api/legacy/send_raw_transaction/#send-raw-transaction)
+
+
+## Viewing HD Wallet Balances and Addresses:
+
+* Initialise the balance request with [task::account\_balance::init](/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/#task-account-balance-init)
+* Check the status of the balance request with [task::account\_balance::status](/komodo-defi-framework/api/v20/wallet/task_managed/account_balance/#task-account-balance-status)
+* Creating new HD wallet addresses ith [task::get\_new\_addresses::init](/komodo-defi-framework/api/v20/wallet/task_managed/get_new_address/#task-get-new-address-init) to generate a new addresses
+
+## Viewing HD Wallet Transaction History:
+
+* Transaction history using an `account_id` [my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/)
+* Transaction history using an `address_id` [my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/)
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/index.mdx
new file mode 100644
index 000000000..aff818c21
--- /dev/null
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/scan_for_new_addresses/index.mdx
@@ -0,0 +1,143 @@
+export const title = "Komodo DeFi Framework Method: Scan For New Addresses";
+export const description = "The methods in this document demonstrate how to scan for HD addresses on Komodo DeFi Framework.";
+
+# Task: Scan for New Addresses
+
+## task::scan\_for\_new\_addresses::init {{label : 'task::scan_for_new_addresses::init', tag : 'API-v2'}}
+
+#### Arguments
+
+| Parameter | Type | Description |
+| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------- |
+| coin | string | The ticker of the coin you want to scan addresses for |
+| account\_id | integer | Optional, HD wallets only. Generally this will be `0` unless you have multiple accounts registered on your HD wallet |
+| gap\_limit | integer | Optional. The maximum number of empty addresses in a row. Defaults to the value provided on activation or 20 if no value was provided |
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ------- | --------------------------------------------------------- |
+| task\_id | integer | An identifying number which is used to query task status. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::scan_for_new_addresses::init",
+ "params": {
+ "coin": "DGB",
+ "account_index": 0,
+ "gap_limit": 20
+ }
+ }
+ ```
+
+
+
+ #### Response (success)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "task_id": 3
+ },
+ "id": null
+ }
+ ```
+
+
+## task::scan\_for\_new\_addresses::status {{label : 'task::scan_for_new_addresses::status', tag : 'API-v2'}}
+
+Use the `task::scan_for_new_addresses::status` method to query the status of a HD address scanning task.
+
+#### Arguments
+
+| Parameter | Type | Description |
+| -------------------- | ------- | ----------------------------------------------------------------------------------------- |
+| task\_id | integer | The identifying number returned when initiating the task. |
+| forget\_if\_finished | boolean | If `false`, will return final response for completed tasks. Optional, defaults to `true`. |
+
+#### Response
+
+| Parameter | Type | Description |
+| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| status | string | Status of the task. `Ok`, `InProgress` or `Error`. |
+| details | string or object | Once complete, a standard [ScanAddressesInfo](/komodo-defi-framework/api/common_structures/wallet/#scan-addresses-info) object. |
+
+#### 📌 Examples
+
+#### Command
+
+
+ ```json
+ {
+ "userpass": "RPC_UserP@SSW0RD",
+ "mmrpc": "2.0",
+ "method": "task::scan_for_new_addresses::status",
+ "params": {
+ "task_id": 3
+ }
+ }
+ ```
+
+
+
+ #### Response (success, no new address found)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "Ok",
+ "details": {
+ "account_index": 0,
+ "derivation_path": "m/44'/141'/0'",
+ "new_addresses": []
+ }
+ },
+ "id": null
+ }
+ ```
+
+ #### Response (success, new address found)
+
+ ```json
+ {
+ "mmrpc": "2.0",
+ "result": {
+ "status": "Ok",
+ "details": {
+ "account_index": 0,
+ "derivation_path": "m/44'/141'/0'",
+ "new_addresses": [
+ {
+ "address": "RXaMK6RtvwPiy67oramBfFXCgMobBofMWv",
+ "derivation_path": "m/44'/141'/0'/0/3",
+ "chain": "External",
+ "balance": {
+ "spendable": "0",
+ "unspendable": "0"
+ }
+ },
+ {
+ "address": "RJkjq4DeQ5vTNJxa1gHoS4y31ZU9F3aisu",
+ "derivation_path": "m/44'/141'/0'/0/4",
+ "chain": "External",
+ "balance": {
+ "spendable": "0.444",
+ "unspendable": "0"
+ }
+ }
+ ]
+ }
+ },
+ "id": null
+ }
+ ```
+
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/index.mdx
similarity index 95%
rename from src/pages/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/index.mdx
rename to src/pages/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/index.mdx
index b40ebffd5..d383ff034 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/index.mdx
@@ -3,16 +3,16 @@ export const description = "The methods in this document allow withdrawal of coi
# Withdraw Tasks
-## init {{label : 'task::withdraw::init', tag : 'API-v2'}}
+## task::withdraw::init {{label : 'task::withdraw::init', tag : 'API-v2'}}
-The `task::withdraw::init` method generates, signs, and returns a transaction that transfers the `amount` of `coin` to the address indicated in the `to` argument. The status of this method can be queried via the [withdraw\_status](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#status) method.
+The `task::withdraw::init` method generates, signs, and returns a transaction that transfers the `amount` of `coin` to the address indicated in the `to` argument. The status of this method can be queried via the [task::withdraw::status](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-status) method.
It will return the transaction hex (via `task::withdraw::status`), which then needs to be broadcast with the [sendrawtransaction](/komodo-defi-framework/api/legacy/send_raw_transaction/) to complete the withdrawal. This method is uses the same input fields as the [standard v2 withdraw method](/komodo-defi-framework/api/v20/wallet/tx/withdraw/), with additional optional fields to specify the `from` address when using a hardware or HD wallet. There are two way to indicate which HD address to send funds from:
* Using `derivation_path` as a single input. E.g `m/44'/20'/0'/0/2`
* Using `account_id` (0), `chain` (External) & `address_id` (2) inputs. The bracketed values are the equavalent of the derivation path above.
-To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#cancel) method.
+To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#task-withdraw-cancel) method.
When used for ZHTLC coins like ARRR or ZOMBIE, it may take some time to
@@ -47,7 +47,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command
-
+
```json
{
"mmrpc": "2.0",
@@ -65,7 +65,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command (max = true)
-
+
```json
{
"mmrpc": "2.0",
@@ -83,7 +83,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command (custom UtxoFixed fee)
-
+
```json
{
"mmrpc": "2.0",
@@ -105,7 +105,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command (custom UtxoPerKbyte fee)
-
+
```json
{
"mmrpc": "2.0",
@@ -127,7 +127,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command (HD wallet: derivation path option)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -147,7 +147,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
#### Command (HD wallet: account\_id, chain & address\_id option)
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
@@ -181,7 +181,7 @@ To cancel the transaction generation, use the [withdraw\_cancel](/komodo-defi-fr
```
-## status {{label : 'task::withdraw::status', tag : 'API-v2'}}
+## task::withdraw::status {{label : 'task::withdraw::status', tag : 'API-v2'}}
To get the status of your withdrawal transaction generation, use the `task::withdraw::status` method. Once ready, it will provide the raw hex used to broadcast your transaction with [sendrawtransaction](/komodo-defi-framework/api/legacy/send_raw_transaction/). The response returned is the same as what is returned from the [standard v2 withdraw method](/komodo-defi-framework/api/v20/wallet/tx/withdraw/#response)
@@ -217,7 +217,7 @@ To get the status of your withdrawal transaction generation, use the `task::with
#### Command
-
+
```json
{
"mmrpc": "2.0",
@@ -351,7 +351,7 @@ To get the status of your withdrawal transaction generation, use the `task::with
```
-## cancel {{label : 'task::withdraw::cancel', tag : 'API-v2'}}
+## task::withdraw::cancel {{label : 'task::withdraw::cancel', tag : 'API-v2'}}
Use the `task::withdraw::cancel` method to cancel the withdrawal preparation task.
@@ -376,7 +376,7 @@ Use the `task::withdraw::cancel` method to cancel the withdrawal preparation tas
#### Command
-
+
```json
{
"userpass": "RPC_UserP@SSW0RD",
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/tx/withdraw/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/tx/withdraw/index.mdx
index af1039e89..be5cfbe4e 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/tx/withdraw/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/tx/withdraw/index.mdx
@@ -16,7 +16,7 @@ This method generates a raw transaction which should then be broadcast using [se
| amount | string (numeric) | The amount the user desires to withdraw, ignored when `max=true`. |
| memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
| max | bool | Optional. Withdraw the maximum available amount. |
-| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/#fee-info) object. |
+| fee | object | Optional. A standard [FeeInfo](/komodo-defi-framework/api/common_structures/wallet/#fee-info) object. |
| from | object | HD wallets only. A standard [WithdrawFromInfo](/komodo-defi-framework/api/common_structures/wallet/#withdraw-from-info) object. |
| ibc\_source\_channel | integer | Tendermint IBC transfers only. The source channel for the [IBC](https://tutorials.cosmos.network/academy/3-ibc/1-what-is-ibc.html) transaction. |
| broadcast | bool | Optional, defaults to `false`. When `false`, signed transaction hex must be broadcast manually with [send\_raw\_transaction](/komodo-defi-framework/api/legacy/send_raw_transaction/). Must be set to `true` for Metamask managed transactions. |
diff --git a/src/pages/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/index.mdx b/src/pages/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/index.mdx
index 0c2fa5a13..717bde28b 100644
--- a/src/pages/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/index.mdx
+++ b/src/pages/komodo-defi-framework/api/v20/wallet/tx/zhtlc_tx_history/index.mdx
@@ -4,7 +4,7 @@ export const description =
# ZHTLC Coin Transaction History {{label : 'z_coin_tx_history', tag : 'API-v2'}}
-To get the transaction history for ZHTLC coins, you need to use this special method - the [v2 my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) and [legacy my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/) methods are not compatible with ZHTLC coins. Currently trasaction memos will not be displayed in output, though they can be added to outgoing transactions with the [task::withdraw](/komodo-defi-framework/api/v20/wallet/task_managed/task_withdraw/#withdraw-tasks) methods.
+To get the transaction history for ZHTLC coins, you need to use this special method - the [v2 my\_tx\_history](/komodo-defi-framework/api/v20/wallet/tx/my_tx_history/) and [legacy my\_tx\_history](/komodo-defi-framework/api/legacy/my_tx_history/) methods are not compatible with ZHTLC coins. Currently trasaction memos will not be displayed in output, though they can be added to outgoing transactions with the [task::withdraw](/komodo-defi-framework/api/v20/wallet/task_managed/withdraw/#withdraw-tasks) methods.
#### Arguments
diff --git a/src/pages/komodo-defi-framework/setup/configure-mm2-json/index.mdx b/src/pages/komodo-defi-framework/setup/configure-mm2-json/index.mdx
index f212ca656..3ba2a1ca0 100644
--- a/src/pages/komodo-defi-framework/setup/configure-mm2-json/index.mdx
+++ b/src/pages/komodo-defi-framework/setup/configure-mm2-json/index.mdx
@@ -12,42 +12,45 @@ When running the Komodo DeFi API via commandline with the `kdf` binary, some bas
### Configuration Parameters
-| Parameter | Type | Description |
-| ---------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 1inch_api | string | Optional, required if using [1inch integration methods](/komodo-defi-framework/api/v20-dev/one_inch_v6_0_classic_swap_create/). URL for 1inch API, e.g. "[https://api.1inch.dev](https://api.1inch.dev)" |
-| allow_weak_password | boolean | Optional, defaults to `false`. If `true`, will allow low entropy rpc_password. If `false` rpc_password must not have 3 of the same characters in a row, must be between 8-32 characters in length, must contain at least one of each of the following: numeric, uppercase, lowercase, special character (e.g. !#$*). It also can not contain the word "password", or the chars `<`, `>`, or `&`. |
-| dbdir | string | Optional, defaults to a subfolder named `DB` in the path of your `kdf` binary. This path will store the Komodo DeFi-API database data. |
-| disable_p2p | boolean | Optional, defaults to `false`. If `true`, KDF will not attempt to use P2P for peer discovery, orderbook propagation and transmitting swap events. This is useful for running KDF in a controlled environment, such as a local network. |
-| enable_hd | boolean | Optional. If `true`, the Komodo DeFi-API will work in only the [HD mode](/komodo-defi-framework/api/v20/wallet/hd/), and coins will need to have a coin derivation path entry in the `coins` file for activation. Defaults to `false`. |
-| event_stream_configuration | object | Optional, a standard [EventStreamConfig](/komodo-defi-framework/api/common_structures/#event-stream-config) object. Configuration for subscribing to events. |
-| gas_api | object | Optional, Used for [EVM gas fee management](/komodo-defi-framework/api/v20/wallet/fee_management/). Contains fields for `provider` and `url` to source third party fee market information. |
-| gui | string | Information to identify which app, tool or product is using the API, e.g. `KomodoWallet iOS 1.0.1`. Helps developers identify if an issue is related to specific builds or operating systems etc. |
-| https | boolean | Optional. Only used with wss. Defaults to `false`, set to `true` to allow TLS/SSL enabled RPC (e.g. remote queries to a domain with a valid SSL certificate). |
-| i_am_seed | boolean | Optional, defaults to `false`. Runs Komodo DeFi Framework API as a seed node mode (acting as a relay for Komodo DeFi Framework API clients). Use of this mode is not reccomended on the main network (8762) as it could result in a pubkey ban if non-compliant. On alternative testing or private networks, at least one seed node is required to relay information to other Komodo DeFi Framework API clients using the same netID. |
-| is_bootstrap_node | boolean | Optional, defaults to `false`. If `true`, and `i_am_seed` is also true, KDF will act as a bootstrap node for the network. |
-| is_watcher | boolean | Optional, defaults to `false`. If `true`, KDF will operate as a watcher seed nodes which may (in some cases) complete the final steps of a swap when a party goes offline. |
-| message_service_cfg | object | Optional. This data is used to configure [Telegram](https://telegram.org/) messenger alerts for swap events when running using the [makerbot functionality](/komodo-defi-framework/api/v20/swaps_and_orders/start_simple_market_maker_bot/). For more information check out the [telegram alerts guide](/komodo-defi-framework/api/v20/utils/telegram_alerts/) |
-| metrics | integer | Optional, defaults to `300`. The interval in seconds which metrics are logged. Set to `0` to disable metrics. |
-| netid | integer | Nework ID number, telling the Komodo DeFi Framework which network to join. 8762 is the current main network, though alternative netids can be used for testing or "private" trades as long as seed nodes exist to support it. |
-| passphrase | string | Optional. Your passphrase (mnemonic phrase) in plain text. This is the source of each of your coins private keys. [**KEEP IT SAFE!**](https://www.youtube.com/watch?v=WFpxVbTqhB8). For more secure, encrypted storage in a local database, use the `wallet_name` and `wallet_password` parameters below. |
-| p2p_in_memory | boolean | Optional, defaults to `false`. Enables in-memory peer-to-peer (P2P) networking mode. When set to true, the application bypasses traditional seed nodes and sets up in-memory relay for P2P communication. This is typically used in testing or isolated environments where external P2P communication is not desired. |
-| p2p_in_memory_port | integer | Optional (required when `p2p_in_memory` is `true`). Specifies the port number used by the in-memory relay node. This value is required if p2p_in_memory mode is active. It defines the local port for the relay to operate and accept in-memory peer connections. |
-| prometheus_credentials | integer | Optional. Only used if you are logging metrics in [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/) with authentication. For more information check out the [Komodo DeFi metrics guide](/komodo-defi-framework/tutorials/api-metrics/) |
-| prometheusport | integer | Optional. Only used if you are logging metrics in [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/). For more information check out the [Komodo DeFi metrics guide](/komodo-defi-framework/tutorials/api-metrics/) |
-| rpc_local_only | boolean | Optional, defaults to `true`. If `false` the Komodo DeFi Framework API will allow rpc methods sent from external IP addresses. **Warning:** Only use this if you know what you are doing, and have put the appropriate security measures in place. |
-| rpc_password | string | For RPC requests that need authentication, this will need to match the `userpass` value in the request body. |
-| rpcip | string | Optional, defaults to `127.0.0.1`. IP address to bind to for RPC server. |
-| rpcport | integer | Optional, defaults to `7783`. Port to use for RPC communication. If set to `0`, an available port will be chosen randomly. |
-| seednodes | list of strings | The domain or IP address of at least one seed node running on the same `netid` is required for KDF to launch (unless `disable_p2p` is set to `true`). Seednodes are used for peer discovery, orderbook propagation and transmitting swap events. |
-| use_trading_proto_v2 | boolean | Optional, defaults to `false`. If `true`, the Komodo DeFi-API will use the upgraded v2 trading protocol introduced in Komodo DeFi Framework v2.1.0-beta. |
-| use_watchers | boolean | Optional, defaults to `true`. If `true`, seed nodes may (in some cases) complete the final steps of a swap when a party goes offline. |
-| wallet_name | string | Optional. An arbitrary name for the wallet. If no `passphrase` is provided, and the wallet has been used already, the `wallet_password` will be used to decrypt the local stored mnemonic phrase. If it has not been used before, a mnemonic will be generated and encrypted for local storage. The mnemonic phrase can be seen in plain text using the (get_mnemonic)[/komodo-defi-framework/api/v20/get_mnemonic] method. |
-| wallet_password | string | Optional, required if using `wallet_name`. The password use to encrypt your wallet's mnemonic phrase for local storage, and decrypt the wallet when logging in. |
-| wss_certs | object | Optional. Contains fields for `server_priv_key` and `certificate` to allow RPC or P2P communications over TLS/SSL. |
+| Parameter | Type | Description |
+| ------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 1inch\_api | string | Optional, required if using [1inch integration methods](/komodo-defi-framework/api/v20-dev/one_inch_v6_0_classic_swap_create/). URL for 1inch API, e.g. "[https://api.1inch.dev](https://api.1inch.dev)" |
+| allow\_weak\_password | boolean | Optional, defaults to `false`. If `true`, will allow low entropy rpc\_password. If `false` rpc\_password must not have 3 of the same characters in a row, must be between 8-32 characters in length, must contain at least one of each of the following: numeric, uppercase, lowercase, special character (e.g. !#$\*). It also can not contain the word "password", or the chars `<`, `>`, or `&`. |
+| dbdir | string | Optional, defaults to a subfolder named `DB` in the path of your `kdf` binary. This path will store the Komodo DeFi-API database data. |
+| disable\_p2p | boolean | Optional, defaults to `false`. If `true`, KDF will not attempt to use P2P for peer discovery, orderbook propagation and transmitting swap events. This is useful for running KDF in a controlled environment, such as a local network. |
+| enable\_hd | boolean | Optional. If `true`, the Komodo DeFi-API will work in only the [HD mode](/komodo-defi-framework/api/v20/wallet/task_managed/#hd-wallets-overview), and coins will need to have a coin derivation path entry in the `coins` file for activation. Defaults to `false`. |
+| event\_streaming\_configuration | object | Optional, a standard [EventStreamConfig](/komodo-defi-framework/api/common_structures/#event-stream-config) object. Configuration for subscribing to events. |
+| gas\_api | object | Optional, Used for [EVM gas fee management](/komodo-defi-framework/api/v20/wallet/fee_management/). Contains fields for `provider` and `url` to source third party fee market information. |
+| gui | string | Information to identify which app, tool or product is using the API, e.g. `KomodoWallet iOS 1.0.1`. Helps developers identify if an issue is related to specific builds or operating systems etc. |
+| https | boolean | Optional. Only used with wss. Defaults to `false`, set to `true` to allow TLS/SSL enabled RPC (e.g. remote queries to a domain with a valid SSL certificate). |
+| i\_am\_seed | boolean | Optional, defaults to `false`. Runs Komodo DeFi Framework API as a seed node mode (acting as a relay for Komodo DeFi Framework API clients). Use of this mode is not reccomended on the main network (8762) as it could result in a pubkey ban if non-compliant. On alternative testing or private networks, at least one seed node is required to relay information to other Komodo DeFi Framework API clients using the same netID. |
+| is\_bootstrap\_node | boolean | Optional, defaults to `false`. If `true`, and `i_am_seed` is also true, KDF will act as a bootstrap node for the network. |
+| is\_watcher | boolean | Optional, defaults to `false`. If `true`, KDF will operate as a watcher seed nodes which may (in some cases) complete the final steps of a swap when a party goes offline. |
+| message\_service\_cfg | object | Optional. This data is used to configure [Telegram](https://telegram.org/) messenger alerts for swap events when running using the [makerbot functionality](/komodo-defi-framework/api/v20/swaps_and_orders/start_simple_market_maker_bot/). For more information check out the [telegram alerts guide](/komodo-defi-framework/api/v20/utils/telegram_alerts/) |
+| metrics | integer | Optional, defaults to `300`. The interval in seconds which metrics are logged. Set to `0` to disable metrics. |
+| myipaddr | string | Optional. IP address to bind to for P2P networking. |
+| netid | integer | Nework ID number, telling the Komodo DeFi Framework which network to join. 8762 is the current main network, though alternative netids can be used for testing or "private" trades as long as seed nodes exist to support it. |
+| p2p\_in\_memory | boolean | Optional, defaults to `false`. Enables in-memory peer-to-peer (P2P) networking mode. When set to true, the application bypasses traditional seed nodes and sets up in-memory relay for P2P communication. This is typically used in testing or isolated environments where external P2P communication is not desired. |
+| p2p\_in\_memory\_port | integer | Optional (required when `p2p_in_memory` is `true`). Specifies the port number used by the in-memory relay node. This value is required if p2p\_in\_memory mode is active. It defines the local port for the relay to operate and accept in-memory peer connections. |
+| passphrase | string | Optional. Your passphrase (mnemonic phrase) in plain text. This is the source of each of your coins private keys. [**KEEP IT SAFE!**](https://www.youtube.com/watch?v=WFpxVbTqhB8). For more secure, encrypted storage in a local database, use the `wallet_name` and `wallet_password` parameters below. |
+| prometheusport | integer | Optional. Only used if you are logging metrics in [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/). For more information check out the [Komodo DeFi metrics guide](/komodo-defi-framework/tutorials/api-metrics/) |
+| prometheus\_credentials | integer | Optional. Only used if you are logging metrics in [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/) with authentication. For more information check out the [Komodo DeFi metrics guide](/komodo-defi-framework/tutorials/api-metrics/) |
+| rpccors | string | Optional, defaults to '[http://localhost:3000](http://localhost:3000)'. Access-Control-Allow-Origin header value to be used in all the RPC responses. |
+| rpcip | string | Optional, defaults to `127.0.0.1`. IP address to bind to for RPC server. |
+| rpc\_password | string | For RPC requests that need authentication, this will need to match the `userpass` value in the request body. |
+| rpcport | integer | Optional, defaults to `7783`. Port to use for RPC communication. If set to `0`, an available port will be chosen randomly. |
+| rpc\_local\_only | boolean | Optional, defaults to `true`. If `false` the Komodo DeFi Framework API will allow rpc methods sent from external IP addresses. **Warning:** Only use this if you know what you are doing, and have put the appropriate security measures in place. |
+| seednodes | list of strings | The domain or IP address of at least one seed node running on the same `netid` is required for KDF to launch (unless `disable_p2p` is set to `true`). Seednodes are used for peer discovery, orderbook propagation and transmitting swap events. |
+| use\_trading\_proto\_v2 | boolean | Optional, defaults to `false`. If `true`, the Komodo DeFi-API will use the upgraded v2 trading protocol introduced in Komodo DeFi Framework v2.1.0-beta. |
+| use\_watchers | boolean | Optional, defaults to `true`. If `true`, seed nodes may (in some cases) complete the final steps of a swap when a party goes offline. |
+| wallet\_name | string | Optional. An arbitrary name for the wallet. If no `passphrase` is provided, and the wallet has been used already, the `wallet_password` will be used to decrypt the local stored mnemonic phrase. If it has not been used before, a mnemonic will be generated and encrypted for local storage. The mnemonic phrase can be seen in plain text using the (get\_mnemonic)\[/komodo-defi-framework/api/v20/get\_mnemonic] method. |
+| wallet\_password | string | Optional, required if using `wallet_name`. The password use to encrypt your wallet's mnemonic phrase for local storage, and decrypt the wallet when logging in. |
+| wss\_certs | object | Optional. Contains fields for `server_priv_key` and `certificate` to allow RPC or P2P communications over TLS/SSL. |
A list of current seed nodes running on the `8762` netid can be sourced from [https://github.com/KomodoPlatform/coins/blob/master/seed-nodes.json](https://github.com/KomodoPlatform/coins/blob/master/seed-nodes.json)
WASM nodes can only be run as a seed node when `p2p_in_memory` is `true`.
+ In the 2.4.0-beta release of KDF, the `event_stream_configuration` has been renamed to `event_streaming_configuration` and no longer contains the `active_events` object. Rather than define the configuration for events in global config, a [suite of new RPC methods](/komodo-defi-framework/api/v20/streaming/) to define streaming has been added which allows for much greater control over which events to track.
#### Example (allowing weak password):
@@ -136,6 +139,20 @@ When running the Komodo DeFi API via commandline with the `kdf` binary, some bas
}
```
+#### Example with event streaming enabled
+
+```json
+{
+ "gui": "DEVDOCS_CLI",
+ "netid": 8762,
+ "rpc_password": "Ent3r_Un1Qu3_Pa$$w0rd"
+ "event_streaming_configuration": {
+ "access_control_allow_origin": "*",
+ "worker_path": "index.js"
+ }
+}
+```
+
To use methods which interface with the 1inch API, you'll also need to set your 1inch API key as an environment variable called `ONE_INCH_API_TEST_AUTH`, e.g. `ONE_INCH_API_TEST_AUTH="Bearer YourAPIkey"`.
@@ -228,13 +245,13 @@ The structure for adding additional coins can vary, please refer to the [listing
| Variable | Type | Description |
| -------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ONE_INCH_API_TEST_AUTH | string | 1inch API key to authenticate for using [1inch integration methods](/komodo-defi-framework/api/v20-dev/one_inch_v6_0_classic_swap_create/). |
-| MM2_CONF_PATH | string | A file path to load the `MM2.json` configuration file. Defaults to `MM2.json` in the same folder as the `kdf` binary. |
-| MM_COINS_PATH | string | A file path to load the `coins` configuration file. A comprehensive version for public use is maintained in the [Komodo Platform coins github repository](https://github.com/KomodoPlatform/coins/blob/master/coins) |
-| MM_LOG | string | A file path to store the Komodo DeFi-API logs. |
-| MM_CERT_PATH | string | Full path to TLS/SSL certificate file. |
-| MM_CERT_KEY_PATH | string | Full path to TLS/SSL certificate key file. |
-| RUST_LOG | string | Global default log level is `info`. To modify the log level for specific module (e.g. for debugging `atomicdex_gossipsub::behaviour`) and keep the default at `info`, use the format `"info,atomicdex_gossipsub::behaviour=debug"` |
+| ONE\_INCH\_API\_TEST\_AUTH | string | 1inch API key to authenticate for using [1inch integration methods](/komodo-defi-framework/api/v20-dev/one_inch_v6_0_classic_swap_create/). |
+| MM2\_CONF\_PATH | string | A file path to load the `MM2.json` configuration file. Defaults to `MM2.json` in the same folder as the `kdf` binary. |
+| MM\_COINS\_PATH | string | A file path to load the `coins` configuration file. A comprehensive version for public use is maintained in the [Komodo Platform coins github repository](https://github.com/KomodoPlatform/coins/blob/master/coins) |
+| MM\_LOG | string | A file path to store the Komodo DeFi-API logs. |
+| MM\_CERT\_PATH | string | Full path to TLS/SSL certificate file. |
+| MM\_CERT\_KEY\_PATH | string | Full path to TLS/SSL certificate key file. |
+| RUST\_LOG | string | Global default log level is `info`. To modify the log level for specific module (e.g. for debugging `atomicdex_gossipsub::behaviour`) and keep the default at `info`, use the format `"info,atomicdex_gossipsub::behaviour=debug"` |
| USERPASS | string | For convenience, this variable can store the value of your `rpc_password` to be referenced in any shell scripts |
### What now?
diff --git a/src/pages/komodo-defi-framework/tutorials/listing-a-new-coin/index.mdx b/src/pages/komodo-defi-framework/tutorials/listing-a-new-coin/index.mdx
index f95711dc8..16e066aca 100644
--- a/src/pages/komodo-defi-framework/tutorials/listing-a-new-coin/index.mdx
+++ b/src/pages/komodo-defi-framework/tutorials/listing-a-new-coin/index.mdx
@@ -63,7 +63,7 @@ sendrawtransaction
| force\_min\_relay\_fee | boolean | If `true` for coins with dynamic fees, when a new transaction is generated, Komodo DeFi Framework will check whether the total fee set (`sat * tx size`) is lower than relay fee and will use the relay fee instead. Defaults to `false`. |
| mtp\_block\_count | integer | Optional. Number of blocks to be used for the calculation of `median time past`. Must be greater than `0`. Default value is `11`. While this parameter is applicable only in the case of KMD reward calculation for now, it will be used for calculating locktimes to be set for the atomic swap refund transactions. |
| estimate\_fee\_mode | string | Sets the fee mode for the `estimatesmartfee` call. Supported values are: `ECONOMICAL`,`CONSERVATIVE`, `UNSET`. Please note that some coins may not support some of these modes. Makes no effect for coins that do not have the `estimatesmartfee` RPC. |
-| address\_format | object | Optional. Overwrites the address format from coins file, if set. A standard [AddressFormat](/komodo-defi-framework/api/common_structures/#address-format) object. |
+| address\_format | object | Optional. Overwrites the address format from coins file, if set. A standard [AddressFormat](/komodo-defi-framework/api/common_structures/wallet/#address-format) object. |
| isPoS | integer | Optional, defaults to `0`. A value of `1` indicates the coin uses proof of stake, so transactions created will have the `nTime` field. |
| segwit | Boolean | If `true`, Komodo DeFi Framework will use to `P2SH` segwit addresses. |
| version\_group\_id | integer | Optional, used by Zcash (and its forks') transactions. |
@@ -169,7 +169,7 @@ The token's contract **must** have `approve` and `transferFrom` methods. Additio
"contract_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
},
- "gas_fee_estimator": "provider",
+ "gas_fee_estimator": "Provider",
"gas_limit": {
"eth_send_coins": 21000,
"eth_send_erc20": 65000,