Activation Structures
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). |
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.
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 CoinNode 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 |
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. |