On this page

latest contributor to this doc

Last Edit:

@gcharang

Activation Structures

The ActivationParams object defines additional parameters used for activation. These params may vary depending on the coin type.

ParameterTypeDescription
required_confirmationsintegerOptional. Confirmations to wait for steps in swap. Defaults to value in the coins file if not set.
requires_notarizationbooleanOptional, 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_policystringDefaults to ContextPrivKey. Set as Trezor to activate in Trezor mode.
min_addresses_numberintegerHD wallets only. How many additional addreesses to generate at a minimum.
scan_policystringHD 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_limitintegerHD 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_pathstringZHTLC coins only. Path to folder containing Zcash parameters. Optional, defaults to standard location as defined in this guide
scan_blocks_per_iterationintegerZHTLC coins only. Sets the number of scanned blocks per iteration during BuildingWalletDb state. Optional, default value is 1000.
scan_interval_msintegerZHTLC coins only. Sets the interval in milliseconds between iterations of BuildingWalletDb state. Optional, default value is 0.
modeobjectQTUM, 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.

ParameterTypeDescription
rpcstringNative if running a native blockchain node, Electrum if using electrum servers or Light for ZHTLC coins.
rpc_dataobjectElectrum or Light mode only. A standard ActivationRpcData object.

Contains information about electrum & lightwallet_d servers for coins being used in Electrum or Light mode.

ParameterTypeDescription
light_wallet_d_serverslistZHTLC only. A list of urls which are hosting lightwallet_d servers for a coin.
electrum_serverslist of objectsZHTLC only. A list of standard ActivationServers objects.
electrumlist of objectsQTUM, BCH & UTXO coins only. A list of standard ActivationServers objects.
sync_paramsinteger or stringZHTLC 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.

ParameterTypeDescription
urlstringThe URL and port for an electrum server.
ws_urlstringOptional, for WSS only. The URL and port for an electrum server's WSS port.
protocolstringOptional, defaults to TCP. Transport protocol used to connect to the server. Options: TCP or SSL
disable_cert_verificationbooleanOptional, defaults to false. If true, this disables server SSL/TLS certificate verification (e.g. for self-signed certificates). Use at your own risk!

ParameterTypeDescription
typeintegerOne of the Coin Types supported by the Komodo DeFi Framework
protocol_dataobjectA standard CoinProtocolData object.

ParameterTypeDescription
platformstringIndicates the platform parent coin for EMV-like protocols, or the coin used for lightning nodes.
networkstringEither mainnet or `testnet
confirmation_targetsobjectA standard ConfirmationTargets object.

The EvmNode object includes the following items for a given coin or token:

ParameterTypeDescription
urlstringURL of an RPC node
gui_authbooleanOptional, defaults to false. Must be set to true to access RPC nodes run officially by the Komodo Platform team

The SwapV2Contracts object includes the following items for a given coin or token:

ParameterTypeDescription
maker_swap_v2_contractstringAddress for the maker's new V2 swap smart contract. Must be provided if "use_trading_proto_v2"is true in mm2 configuration
taker_swap_v2_contractstringAddress for the taker's new V2 swap smart contract. Must be provided if "use_trading_proto_v2"is true in mm2 configuration
nft_maker_swap_v2_contractstringAddress for the maker's new V2 NFT swap smart contract. Must be provided if "use_trading_proto_v2"is true in mm2 configuration
nft_taker_swap_v2_contractstringAddress for the taker's new V2 NFT swap smart contract. Must be provided if "use_trading_proto_v2"is true in mm2 configuration

The TokensRequest object includes the following items for a given coin or token:

ParameterTypeDescription
tickerstringTicker of the token to be enabled
required_confirmationsintegerHow 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.

ParameterTypeDescription
merge_atintegerMamimum UTXO count before merge loop is initiated.
check_everyintegerHow frequently (in blocks) the wallet UTXO count is evaluated.
max_merge_at_onceintegerThe 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.