Skip to content

Latest commit

 

History

History
114 lines (93 loc) · 8.8 KB

File metadata and controls

114 lines (93 loc) · 8.8 KB

export const title = "Komodo DeFi SDK Common Structures: Wallet Operations"; export const description = "Starting with version beta-2.1.3434, the Komodo DeFi SDK supports the standardized protocol format called mmrpc 2.0.";

Wallet Operations Structures

RawTxInfo

The RawTxInfo object includes the following items:

Parameter Type Description
tx_hex string UTXO only. The raw unsigned hex of a proposed transaction.
prev_txns list UTXO only. A list of standard InputTxns objects.
to string ETH/EVM only. A destination address to send the funds to.
value string ETH/EVM only. The amount of funds to be sent as a string with a 0x prefix, in wei units.
gas_limit string ETH/EVM only. The maximum gas to be used for sending the transaction, in gwei units.
pay_for_gas object Optional, ETH/EVM only. Used for EIP-1559 fee policy config. A standard PayForGas object.
TODO: Confirm units used in ETH/EVM transactions. ```json { "tx_hex": "02000000010d23d763f12d77a337cc16df2696ac3f48552dda373c9977fa1f5dd8d5025cb20100000000fdffffff01f40100000000000016001488accd2145b7232b958db5cdf09336ad619541e200000000", "prev_txns": [ ... ] } ``` ```json { "to": "0x927DaFDDa16F1742BeFcBEAE6798090354B294A9", "value": "0.85", "gas_limit": "21000", "pay_for_gas": { "tx_type": "Eip1559", "max_fee_per_gas": "1234.567", "max_priority_fee_per_gas": "1.2" } } ```

InputTxns

The InputTxns object includes the following items:

Parameter Type Description
tx_hash string The transaction id of an unspent transaction from the same wallet output.
index integer The output index of this unspent transaction output.
script_pub_key string The scriptpubkey of this unspent transaction output.
amount float The value of this unspent transaction output.
amount
```json { "tx_hash": "0d23d763f12d77a337cc16df2696ac3f48552dda373c9977fa1f5dd8d5025cb2", "index": 1, "script_pub_key": "001449e3b6b4684c4d4a914b29411af51843c59bfff0", "amount": 0.00001000 } ```

PayForGas

The PayForGas object includes the following items:

Parameter Type Description
tx_type string ETH/EVM coins and tokens only. Options are Legacy or Eip1559. The type of transaction values being configured.
gas_price decimal Only used if tx_type is Legacy. Values are in Gwei. The maximium price per gas unit the user is willing to pay for the transaction.
max_fee_per_gas decimal Only used if tx_type is Eip1559. Values are in Gwei. The maximum amount to pay per unit of gas to get your transaction included in a block.
max_priority_fee_per_gas decimal Only used if tx_type is Eip1559. Values are in Gwei. This is paid directly to the miner, and can be set by the user to attract minimal delay in transaction confirmation.
min_wait_time integer Optional, only used if tx_type is Eip1559. Estimated minimum transaction wait time in mempool (in ms) for this priority level.
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 to source recommended fee values from third party providers Infura or Blocknative.

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

To set or view the current swap transaction fee policy, use the get_swap_transaction_fee_policy and set_swap_transaction_fee_policy methods.

For more information about EIP1559, refer to https://www.blocknative.com/blog/eip-1559-fees

```json { "tx_type": "Legacy", "gas_price": "1234.567" } ``` ```json { "tx_type": "Eip1559", "max_fee_per_gas": "1234.567", "max_priority_fee_per_gas": "1.2" } ```