atomicDEX-API icon indicating copy to clipboard operation
atomicDEX-API copied to clipboard

feat(txfee): add priority transaction fee support for tendermint coins

Open dimxy opened this issue 1 year ago • 3 comments

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.

dimxy avatar Nov 26 '24 15:11 dimxy

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?

smk762 avatar Feb 10 '25 07:02 smk762

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?

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.

dimxy avatar Feb 10 '25 07:02 dimxy

Please ping me once this is ready for review. It's tagged with status: in progress label and has conflicts at the moment.`

onur-ozkan avatar Mar 04 '25 05:03 onur-ozkan