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. |