feat(txfee): add priority transaction fee support for tendermint coins
Continuing adding priority transaction fee requested in issue #1848, now for Tendermint. There are three priority levels for tx fees: low, average and high, allowing to users to set higher priority for their transactions by paying more fees. Cosmos has a registry for its chain ecosystem: https://github.com/cosmos/chain-registry which contains suggested priority tx fees for different coins. The priority fees from the Cosmos registry should be added in the coins file (for the platform coin only) like:
"coin":"ATOM",
"protocol":{
"type":"TENDERMINT",
"protocol_data": {
...
"priority_gas_prices": [0.1, 0.2, 0.3]
},
},
}
To set priority level with withdraw, WithdrawFee::CosmosGasPriority variant is added.
To set priority for swaps, set_swap_transaction_fee_policy() implemented for TendermintCoin.
I assume this will require updates to the coins repo? How often do the priority values change? Does set_swap_transaction_fee_policy involve a new config param in MM2.json?
I assume this will require updates to the coins repo? How often do the priority values change? Does
set_swap_transaction_fee_policyinvolve a new config param in MM2.json?
Yes we need to set "priority_gas_prices": [0.1, 0.2, 0.3] in the coin file. We could get them from cosmos registry (they maintain those params for each chain).
It was supposed that GUI will call set_swap_transaction_fee_policy (low, medium, priority) before starting a swap (after asking the user which one the user prefers). I am going also to add this param to coins file, to be able to set as the default option.
Please ping me once this is ready for review. It's tagged with status: in progress label and has conflicts at the moment.`