Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

dimxy
Copy link
Collaborator

@dimxy dimxy commented Nov 26, 2024

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.

CosmosGasPriority {
gas_limit: u64,
gas_price_option: TendermintPriorityFeeOption,
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we extend existing option CosmosGas?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually I did this like EthGasEip1559 option (which is also a dedicated variant to set priority tx fee for eth).
Also, if we combine mutually exclusive gas_price: f64 and gas_price_option: TendermintPriorityFeeOption in CosmosGas, this would require extra checks in the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants