Expand description
One resolver for every command that takes a token symbol (docs/design/2026-10-15-token-disambiguation-design.md).
Steps: --token → an address → a saved binding (checked against a CEX
venue’s coin list) → the candidates → 0 stops, 1 is used, more go to
the picker → the save question. It never chooses silently.
Structs§
- Candidate
- One token a symbol could mean.
- DexCandidates
- Candidates from a DexScreener search, with the CEX ticker fallback when
fallback(its transport) is set and the search finds nothing. - NoTerminal
Picker - Never asks: a choice is an error that lists the candidates.
- Resolve
Context - What the command knows before the lookup.
- Resolved
- The token a command uses.
- Terminal
Picker - Asks on the terminal: the numbered token list, then yes/no.
- TuiPicker
- Asks in the TUI: puts the question in the pane’s ask slot and waits for the list’s answer.
- Venue
Candidates - Candidates from a CEX venue’s coin list (the
assetscapability).
Enums§
Traits§
- Binding
Store - The saved bindings.
- Candidate
Source - Where candidates come from: a DEX search or a venue’s coin list.
- Picker
- Asks the user to choose.
Functions§
- candidate_
line - One line for a candidate in lists and errors: chain, contract, name.
- picker_
for - The picker for this run: never for JSON output; the TUI’s list when the TUI pane shows the output; no prompt in a server or without a terminal; else the terminal.
- resolve
resolve_loggedwith the log in the scope state folder.- resolve_
logged - Resolves
input, then appends one line tolog(the RCA trail). A log failure is a warning.