Commit Graph
19 Commits
Author SHA1 Message Date
Ricardo Guilherme Schmidt 2403a0e5f7 fix(amm): align reads with adopted wallet endpoint 2026-07-18 19:55:35 -03:00
Ricardo Guilherme Schmidt 5b3663ef27 fix(amm): submit wallet mutations asynchronously 2026-07-18 19:55:35 -03:00
Ricardo Guilherme Schmidt 6bcafbefd2 fix(amm): reject failed identity responses 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 9893d88320 fix(amm): deduplicate transaction status polls 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 155eae3d7f fix(amm): avoid duplicate wallet context refreshes 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 56178fb6af fix(amm): complete repeated context refreshes 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 80e3a7da62 fix(amm): reload changed sequencer configuration 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 338ed52545 fix(amm): back off network identity probes 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 2f029d4c91 feat: Introduce SequencerClient for enhanced account management and transaction querying
- Added SequencerClient class to handle asynchronous account reads and transaction queries.
- Updated NewPositionRuntime to integrate SequencerClient, allowing for improved wallet account management.
- Modified existing tests to accommodate changes in the new position schema from v1 to v2.
- Enhanced QML tests to validate new position form behavior with updated holding selections and context handling.
- Refactored code to ensure compatibility with the new SequencerClient functionalities.
2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 0327892a70 feat(amm-ui): complete new position liquidity flow
Implement one create-pool and add-liquidity workflow. Add searchable token resolution, direct opening-price and deposit editing, optimistic pool activation, and base58 transaction IDs.

Isolate network, wallet, AMM client, and runtime boundaries. Stabilize quote, submission, refresh, and pool-probe state while consolidating liquidity tests and removing obsolete liquidity paths.
2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt bc47e6fbda feat(amm-ui): implement new position flow #216
Replace prototype data and floating-point quotes with live wallet and
chain reads, exact Rust quote planning, and optimistic external-wallet
submission.

Add canonical display-order mapping, responsive QML states,
network-scoped program configuration, and packaged Rust client support.
2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 5d8b1e3a3c test(amm-ui): validate new position flow #224 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 17f1c430ac feat(amm-ui): add new position backend API #222 2026-07-18 19:55:15 -03:00
Ricardo Guilherme Schmidt 2977399cb0 fix(wallet): show decoded program account data 2026-07-18 19:53:02 -03:00
Ricardo Guilherme Schmidt b71be34edf perf(amm): cache verified token definitions 2026-07-17 21:39:09 -03:00
Ricardo Guilherme Schmidt 9b72b08c2d feat(wallet): humanize shared wallet experience 2026-07-17 20:18:09 -03:00
Ricardo Guilherme Schmidt 049ccdf6a7 refactor(wallet): centralize UI wallet coordination
Move wallet lifecycle, account-model synchronization, settings, and reachability behind a composition-based WalletController. Keep AmmUiBackend as the QtRO forwarding adapter while retaining direct WalletProvider ownership for program-specific reads and transaction submission.

Adopt the thin-consumer direction demonstrated by PR #230 without coupling the shared module to generated QtRO base classes.

Refs #227

Refs #230
2026-07-16 15:09:45 +02:00
Ricardo Guilherme Schmidt ae52613279 refactor(amm-ui): use shared wallet modules
Replace AMM-local wallet access, account state, controls, and confirmation-dialog mechanics with the reusable wallet targets. Keep AMM-specific transaction summaries and actions in the AMM UI.\n\nRefs #227
2026-07-16 15:09:30 +02:00
r4bbit 751d4ac530 feat(amm): wire the AMM app to the LEZ wallet module
Turns the dummy-data AMM UI into a real client of the on-chain LEZ wallet.
Adds a hand-written ui_qml C++ backend (src/AmmUi*) over the core
logos_execution_zone module: create/open a local wallet, create and list
public/private accounts, and a navbar Connect / Connected + account-selector
+ Disconnect flow. Onboarding is password-only (no path picking) with a
per-app wallet at ~/.lee/amm-wallet (override: AMM_WALLET_HOME_DIR);
standalone gets its own wallet, Basecamp shares accounts via adopt-on-start.

Requires Nix with flakes; macOS also needs `sandbox = false` (the default).
The logos_execution_zone input is pinned to a module rev whose LEZ (lssa)
already includes the macOS Metal-build fix, so no `--override-input` is
needed — plain `nix run .` works:

    cd apps/amm
    nix run .

- create_new now returns the new wallet's BIP39 mnemonic (not an int status);
  the app currently discards it, so the wallet can't yet be recovered. Surfacing
  it in onboarding (+ restore_storage) is a follow-up.
- The wallet password is currently a no-op upstream (storage.rs: "TODO: use
  password for storage encryption"); storage.json is plaintext. So Disconnect
  is a UI-level lock and reconnect does not (cannot yet) re-prompt for it.
- wallet-ffi requires explicit config/storage paths; a *_default() FFI would
  let the app drop its path handling.
- Bundled network config: connects to whatever WalletConfig::default() points
  at; real testnet endpoints still TBD.
2026-07-02 18:57:01 +02:00