Skip to content

aqua-sdk: Base Sepolia coverage — Docked topic never emitted by the deployed registry, missing 84532 addresses, undocumented balance views #96

Description

@EndPx

Context

We built a taker-side execution product on Aqua (SwapVM router + docked strategy) on Base Sepolia, and used @1inch/aqua-sdk in the frontend to decode protocol events from fill receipts. Three gaps we hit, all on the testnet/deployment-coverage side:

1. DockedEvent.TOPIC is never emitted by the deployed Base Sepolia registry

AQUA_CONTRACT_ADDRESSES has no entry for chain 84532, so we hardcoded our deployment's registry (0xd2A8f6D7…). When we then searched for dock provenance using DockedEvent.TOPIC (0xd173a1d1…) across the deployment window, eth_getLogs returned zero events — while the registry does emit 5 events in that window, all anonymous-layout (single topic = signature, all args in data):

observed topic0 matches the SDK's
0xdc3622e0… ShippedEvent.TOPIC ✔
0x3f18354a… PushedEvent.TOPIC ✔
0x3ad61047… PulledEvent.TOPIC ✔
0xd173a1d1… (DockedEvent.TOPIC) never observed

Pushed/Pulled topics match live fill receipts byte-for-byte (we decode sixty-plus fills with them), so the mismatch is specific to Docked/the registry deployment. Likely version skew between the SDK's event definitions and the testnet registry's ABI.

2. AQUA_ABI item types don't satisfy viem's typed getLogs {abi, eventName} overload

client.getLogs({address, abi: ABI.AQUA_ABI, eventName: "Docked"}) fails to typecheck (the SDK's readonly item shapes don't match viem's Abi), forcing a raw client.request("eth_getLogs") with manual casts. Since viem ^2.48.4 is already a direct dependency, exporting a viem-Abi-typed constant would keep integrators on the typed path.

3. rawBalances / safeBalances semantics are undocumented

For maker + app + strategyHash + token we read ~1030.5 (18-dec) dETH and ~2.9M (6-dec) dUSD raw, while that maker's wallet held ~6,000 dETH and ~40 dETH were ever executed across all schedules. Without units or the accounting rule (cumulative pushes? pushes − pulls? a multiplier?), the values cannot be used in any UI. A doc tying rawBalances to an observable push/pull history would fix it.

Request

A testnet coverage pass: publish Base Sepolia deployment addresses + their exact event ABIs (per-deployment topic0s), and a short doc for the registry's balance functions. Full write-up with tx hashes and repro in FEEDBACK-AQUA.md at our public repo.

Versions

  • @1inch/aqua-sdk 0.2.0 → 0.3.1 (identical public surface, both affected)
  • Base Sepolia, registry 0xd2A8f6D7645F53aB23dC3EcB146a196026F964DA, app/router 0x054F6A7CE03fdEB7814977B0FE7017cc5B2d7DA2, strategyHash 0x4a4ffe294877219b0438c8ad16ef5ff405a523c95bf5225f56b354507657c8db

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions