feat(tempo): show resolved fee token + clean-ups#15130
Conversation
Materialize Tempo default fee tokens in cast transaction building and print the resolved fee token before sending, signing, or emitting transactions across cast, forge create, and script broadcast paths. Add no-RPC labels for well-known Tempo fee tokens and centralize the local AlphaUSD, BetaUSD, and ThetaUSD addresses for reuse in EVM core and Anvil.
grandizzy
left a comment
There was a problem hiding this comment.
Looks good overall — couple of things to check.
|
Have nothing to against it except for which have been proposed by @grandizzy |
There was a problem hiding this comment.
Two issues with the fee-token display:
-
The main send paths (
cast send/mktx/batch-mktx/tip20/keychain) never show the default fee token, because it isn't materialized:tx.fee_token()isNoneunless the user passed--tempo.fee-token, soprint_fee_token_selectionis a no-op on the default path. This defeats the PR's goal of showing the resolved token before sending. -
cast vaddr creatematerializes the default into the request (and the pre-existing paths incast erc20/forge createdo the same). Settingfee_token = PathUSDis not wire-neutral and overrides the node's on-chain fee-token preference — the same concern raised above ontx.rs.
Recommend a single display-only resolver used by all paths, and removing the set_fee_token materializations.
Motivation
Materialize Tempo default fee tokens in cast transaction building and print the resolved fee token before sending, signing, or emitting transactions across cast, forge create, and script broadcast paths.
Add no-RPC labels for well-known Tempo fee tokens and centralize the local AlphaUSD, BetaUSD, and ThetaUSD addresses for reuse in EVM core and Anvil.
Towards OSS-165