Design: Product scope for hybrid routing (manual split vs automation) #65

Closed
opened 2026-04-09 03:23:41 +00:00 by PlasticDigits · 3 comments
PlasticDigits commented 2026-04-09 03:23:41 +00:00 (Migrated from gitlab.com)

Type

needs-design

Evidence

  • frontend-dapp/src/pages/SwapPage.tsx — manual pool_input / book_input
  • indexer/src/api/route_solver.rs — clients patch hybrid off-chain

Rationale

Defines V1 launch (user-only split) vs future indexer-assisted routing.

Dependencies

Coordinate with #64; may merge into one ADR if preferred.

Acceptance criteria

  • Written decision recorded and linked from Epic

Epic

#56

## Type **needs-design** ## Evidence - `frontend-dapp/src/pages/SwapPage.tsx` — manual `pool_input` / `book_input` - `indexer/src/api/route_solver.rs` — clients patch `hybrid` off-chain ## Rationale Defines V1 launch (user-only split) vs future indexer-assisted routing. ## Dependencies Coordinate with #64; may merge into one ADR if preferred. ## Acceptance criteria - [ ] Written decision recorded and linked from Epic ## Epic #56
PlasticDigits commented 2026-04-09 03:23:42 +00:00 (Migrated from gitlab.com)

marked this issue as related to #56

marked this issue as related to #56
PlasticDigits commented 2026-04-09 03:24:02 +00:00 (Migrated from gitlab.com)

mentioned in issue #75

mentioned in issue #75
Brouie commented 2026-04-22 04:12:33 +00:00 (Migrated from gitlab.com)

@PlasticDigits checked both ADR + implementation.

ADR exists and decides manual split + server-assisted simulation: docs/adr/0001-hybrid-quoting-and-routing.md — GET /api/v1/route/solve stays pool-only for backward compat, POST accepts optional hybrid_by_hop array (one optional payload per hop, aligned with BFS order). Indexer merges splits into router ops and runs chain's simulate_swap_operations for the full hybrid quote.

Implementation present:

  • indexer/src/api/route_solver.rs:49 — hybrid_by_hop: Option<Vec<Option<HybridHopJson>>> on POST body
  • route_solver.rs:213 — apply_hybrid_by_hop merge logic
  • Module doc at line 4 documents the design

Nothing appears to be blocking. If there's a deeper design gap I'm missing, tag me with specifics.

@PlasticDigits checked both ADR + implementation. **ADR exists and decides manual split + server-assisted simulation:** `docs/adr/0001-hybrid-quoting-and-routing.md` — GET `/api/v1/route/solve` stays pool-only for backward compat, POST accepts optional `hybrid_by_hop` array (one optional payload per hop, aligned with BFS order). Indexer merges splits into router ops and runs chain's `simulate_swap_operations` for the full hybrid quote. **Implementation present:** - `indexer/src/api/route_solver.rs:49` — `hybrid_by_hop: Option<Vec<Option<HybridHopJson>>>` on POST body - `route_solver.rs:213` — `apply_hybrid_by_hop` merge logic - Module doc at line 4 documents the design Nothing appears to be blocking. If there's a deeper design gap I'm missing, tag me with specifics.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-04-22 04:51:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic#65
No description provided.