feat(wallet): humanize shared wallet experience

Consolidate wallet account decoding and portfolio handling around the shared Rust IDL decoder. Simplify AMM wallet integration, remove obsolete caches and network plumbing, and cover account selection and live flows.
This commit is contained in:
Ricardo Guilherme Schmidt
2026-08-21 17:38:45 -03:00
parent 62d133e909
commit 8c3e6fccfe
64 changed files with 6268 additions and 27501 deletions
+9 -8
View File
@@ -70,10 +70,10 @@ TEST_SEQUENCER_ADDR="${TEST_SEQUENCER_ADDR:-}"
# Deterministic accounts, created in THIS fixed order after a fresh restore so
# their ids are reproducible. Resolved to ids at runtime via `wallet account id`.
# token-c-*/token-d-* are APPENDED (not inserted) so the pre-existing a/b/lp ids don't shift.
# Token C has no seeded pool — the create-pool UI test (apps/amm/tests/create-pool.mjs)
# Token C has no seeded pool — the create-pool UI test (apps/amm/tests/e2e/create-pool.mjs)
# creates the A/C pool itself, minting its own LP holding via the app.
# Token D is created but LEFT OUT of the token config — the custom-token UI test
# (apps/amm/tests/custom-token.mjs) adds it by id.
# (apps/amm/tests/e2e/custom-token.mjs) adds it by id.
ACCOUNT_LABELS=(token-a-def token-a-holding token-b-def token-b-holding lp-holding token-c-def token-c-holding token-d-def token-d-holding)
###############################################################################
@@ -81,9 +81,9 @@ ACCOUNT_LABELS=(token-a-def token-a-holding token-b-def token-b-holding lp-holdi
###############################################################################
# --- Program binaries (docker release builds; image ids must match deployment) ---
TOKEN_BIN="programs/token/methods/guest/target/riscv32im-risc0-zkvm-elf/docker/token.bin"
AMM_BIN="programs/amm/methods/guest/target/riscv32im-risc0-zkvm-elf/docker/amm.bin"
TWAP_BIN="programs/twap_oracle/methods/guest/target/riscv32im-risc0-zkvm-elf/docker/twap_oracle.bin"
TOKEN_BIN="${TOKEN_BIN:-target/guest/token.bin}"
AMM_BIN="${AMM_BIN:-target/guest/amm.bin}"
TWAP_BIN="${TWAP_BIN:-target/guest/twap_oracle.bin}"
# --- IDLs ---
TOKEN_IDL="artifacts/token-idl.json"
@@ -522,6 +522,7 @@ log ""
log "Token D was created ON-CHAIN but left out of the token config (the ${DIM}custom${RST}"
log "token). Its id: ${DIM}$TOKEN_D_DEF${RST}"
log ""
log "Then in another terminal: ${DIM}node apps/amm/tests/swap.mjs${RST} (swap A/B)"
log " or: ${DIM}node apps/amm/tests/create-pool.mjs${RST} (create A/C pool)"
log " or: ${DIM}node apps/amm/tests/custom-token.mjs${RST} (add token D by id)"
log "Then in another terminal: ${DIM}node apps/amm/tests/e2e/swap.mjs${RST} (swap A/B)"
log " or: ${DIM}node apps/amm/tests/e2e/create-pool.mjs${RST} (create A/C pool)"
log " or: ${DIM}node apps/amm/tests/e2e/add-liquidity.mjs${RST} (add A/B liquidity)"
log " or: ${DIM}node apps/amm/tests/e2e/custom-token.mjs${RST} (add token D by id)"