refactor: allow Ether in selectedToken
#1662
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactor unblocking further work on #1652.
Context
To make ETH transfers to a custom gas token work, we need to let users select ETH even if they are on a chain with custom gas token. E.g. user has Xai selected, then if they were to select ETH (once enabled) it would still set
selectedToken
to null, which wouldn't change the currency at all (because null refers to the native currency on child chain).To go around that, we allow
NativeCurrencyEther
as an additional type forselectedToken
. ThenselectedToken
can be either an ERC20 token, Ether or null - null still defaulting to the native currency on the child chain as is (which could still be ETH!).Testing
Everything should work the same.