Activation Structures
The ActivationParams object defines additional parameters used for activation. These params may vary depending on the coin type.
| Parameter | Type | Description |
|---|---|---|
| required_confirmations | integer | Optional. Confirmations to wait for steps in swap. Defaults to value in the coins file if not set. |
| requires_notarization | boolean | Optional, defaults to false. For dPoW protected coins, a true value will wait for transactions to be notarised when doing swaps. Overrides value if set in coins file. |
| priv_key_policy | string | Defaults to ContextPrivKey. Set as Trezor to activate in Trezor mode. |
| min_addresses_number | integer | HD wallets only. How many additional addreesses to generate at a minimum. |
| scan_policy | string | 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 SDK. |
| gap_limit | integer | 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. |
| zcash_params_path | string | ZHTLC coins only. Path to folder containing Zcash parameters. Optional, defaults to standard location as defined in this guide |
| scan_blocks_per_iteration | integer | ZHTLC coins only. Sets the number of scanned blocks per iteration during BuildingWalletDb state. Optional, default value is 1000. |
| scan_interval_ms | integer | ZHTLC coins only. Sets the interval in milliseconds between iterations of BuildingWalletDb state. Optional, default value is 0. |
| mode | object | QTUM, UTXO & ZHTLC coins only. A standard ActivationMode object. |
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
activation, but subsequent activations will be much faster.
Using a smaller scan_blocks_per_iteration and larger scan_interval_ms,
will reduce the average CPU load during ZHTLC coin activation (at the cost of a
longer activation time). These optional fields are recommended when developing
for iOS, where a high CPU load may kill the activation process. Android &
desktop operating systems do not appear to have any problems with high CPU
load during ZHTLC coin activation.
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 object. |
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 objects. |
| electrum | list of objects | QTUM, BCH & UTXO coins only. A list of standard ActivationServers 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). |
Contains information electrum servers for coins being used in Electrum or Light mode.
| Parameter | Type | Description |
|---|---|---|
| url | string | The URL and port for an electrum server. |
| ws_url | string | Optional, for WSS only. The URL and port for an electrum server's WSS port. |
| protocol | string | Optional, defaults to TCP. Transport protocol used to connect to the server. Options: TCP or SSL |
| disable_cert_verification | boolean | Optional, defaults to false. If true, this disables server SSL/TLS certificate verification (e.g. for self-signed certificates). Use at your own risk! |
| Parameter | Type | Description |
|---|---|---|
| type | integer | One of the Coin Types supported by the Komodo DeFi Framework |
| protocol_data | object | A standard CoinProtocolData object. |
| Parameter | Type | Description |
|---|---|---|
| platform | string | Indicates the platform parent coin for EMV-like protocols, or the coin used for lightning nodes. |
| network | string | Either mainnet or `testnet |
| confirmation_targets | object | A standard ConfirmationTargets object. |
The EvmNode object includes the following items for a given coin or token:
| 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 officially by the Komodo Platform team |
Prior to the v2.2.0 release, the gui_auth field was used to access RPC nodes run officially by the Komodo Platform team. This field was replaced with the komodo_proxy field in the v2.2.0 release.
The TendermintNode object includes the following items for a given coin or token:
| 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 |
Prior to the v2.2.0 release, the gui_auth field was used to access RPC nodes run officially by the Komodo Platform team. This field was replaced with the komodo_proxy field in the v2.2.0 release.
The SwapV2Contracts object includes the following items for a given coin or token:
| Parameter | Type | Description |
|---|---|---|
| maker_swap_v2_contract | string | Address for the maker's new V2 swap smart contract. Must be provided if "use_trading_proto_v2"is true in your MM2.json file configuration |
| taker_swap_v2_contract | string | Address for the taker's new V2 swap smart contract. Must be provided if "use_trading_proto_v2"is true in your MM2.json file configuration |
| nft_maker_swap_v2_contract | string | Address for the maker's new V2 NFT swap smart contract. Must be provided if "use_trading_proto_v2"is true in your MM2.json file configuration |
The TokensRequest object includes the following items for a given coin or token:
| Parameter | Type | Description |
|---|---|---|
| ticker | string | Ticker of the token to be enabled |
| required_confirmations | integer | How many confirmations to wait during the transaction steps of an atomic swap. Overwrites value in coins file; defaults to 3 |
The UtxoMergeParams object defines how often and at which thresholds to merge UTXOs. This is useful for wallets which have been used for a long time, and have many small UTXOs from mining activity.
| Parameter | Type | Description |
|---|---|---|
| merge_at | integer | Mamimum UTXO count before merge loop is initiated. |
| check_every | integer | How frequently (in blocks) the wallet UTXO count is evaluated. |
| max_merge_at_once | integer | The maximum nouber of UTXOs to inlude as inputs for a merge transaction. Note that more input UTXOs means a larger transaction and greater fees, and that each blockchain has a limit to the maximum size of a transaction. |