feat: native support for WNIBI gas consumption
If a user has WNIBI in their account and not NIBI, they should still be able to pay for txs
Unique: did deep dive on the Osmosis fee module, which includes functionality we don't need, so ours would be a lot simpler (e.g. no IBC fees). In our case, it would be a 1:1 conversion between WNIBI and NIBI, and with stNIBI it would include a wasm query for the exchange rate.
- As soon as @expertdicer started working on this (see https://github.com/NibiruChain/nibiru/pull/2343) need to clarify some requirements overall:
-
Should we use gov proposal or sudo to add "gas tokens"? Gov proposal could potentially break the system if the unknown token added.
-
Do we need an epoch hook to distribute the token between validators? When the token is not convertible into a bank coin, it could be hard. Can we skip this distribution entirely? Just keep the tokens on fee collector account? I believe it's mostly for spam protection. In this case it could be simpler.
-
I suggest we only support "wrapped tokens" like WNIBI which has an easy way of withdrawing and FunTokens which could be converted to bank coin via precompile.
-
I suggest we only support coins which are whitelisted in Nibiru oracle.
- Requirements discussion here: https://www.notion.so/nibiru/Gas-tokens-WNIBI-USDC-TxFees-module-24dd2597a03c80c5adb2f41c141c3c9d