You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when a transaction fee is paid in a valid non-OSMO token, the token is collected and distributed as-is to stakers. While this doesn't affect the core user flow since gas fees are zero for the time being anyway, it causes confusing UX around claiming staking rewards (since epochs with too many additional denoms used as tx fees breach the auto set gas limit on Keplr) and dust for random denoms showing up in wallets. The goal of this change would be to implement the following logic:
For osmo, do whatever it currently does (send to distribution module)
For not osmo, send to a module account $FOO in txfees module
On epoch, auto-swap the funds in module account $FOO and distribute that osmo to stakers.
More specifically, one relatively clean way of implementing this would be to take the following steps:
Create a second module account in the TxFees module to send non-OSMO fee tokens to
Add a check in the DeductFees function (sends tokens from fee payer to module account) that checks if the paid fee denom is OSMO and if not, make sure they are supported on the DEX (with enough liquidity) and send the tokens to the second module account
At the end of each epoch, iterate through all the denoms in the second module account, swapping each into OSMO and then transferring the total amount to the first module account to be distributed like normal
The text was updated successfully, but these errors were encountered:
Currently when a transaction fee is paid in a valid non-OSMO token, the token is collected and distributed as-is to stakers. While this doesn't affect the core user flow since gas fees are zero for the time being anyway, it causes confusing UX around claiming staking rewards (since epochs with too many additional denoms used as tx fees breach the auto set gas limit on Keplr) and dust for random denoms showing up in wallets. The goal of this change would be to implement the following logic:
More specifically, one relatively clean way of implementing this would be to take the following steps:
The text was updated successfully, but these errors were encountered: