Skip to content

v4.5.0: Hyperliquid (HypurrClaw) ARIA tools, fee meter, autopilot mandates, explorer auto-refresh#206

Merged
nullxnothing merged 7 commits into
mainfrom
feat/aria-autopilot
Jun 21, 2026
Merged

v4.5.0: Hyperliquid (HypurrClaw) ARIA tools, fee meter, autopilot mandates, explorer auto-refresh#206
nullxnothing merged 7 commits into
mainfrom
feat/aria-autopilot

Conversation

@nullxnothing

Copy link
Copy Markdown
Owner

Release v4.5.0. Bundles the unmerged feature work on this branch plus the new Hyperliquid integration.

Hyperliquid (HypurrClaw CLI) ARIA tools

ARIA can now read Hyperliquid markets and trade perps/spot from natural language by driving the agent-first hyperliquid CLI. Reads auto-run; signing actions are sensitive-gated and dry-run previewable. Network defaults to testnet, and the CLI owns its own encrypted wallet, so DAEMON never holds a Hyperliquid key.

  • HyperliquidCliService: binary discovery + execFile-only runner (forces JSON, injects --testnet/--dry-run, maps CLI exit codes to clean errors), typed read/write wrappers
  • aria/tools/hyperliquid: hl_* read / preview / trade tools with strict input validation and an [HL-MAINNET]/[HL-TESTNET] marker on sensitive summaries
  • network setting (testnet default) + hyperliquid:status / set-network IPC and preload bridge
  • 12 unit tests covering argv assembly, testnet injection, dry-run, and exit-code mapping

No raw-shell tool added: a single known binary invoked with a fixed argv, the same sanctioned pattern as CheckRunnerService.

Also in this release (branch commits)

  • feat(fees): execution fee meter on agent-routed mainnet execution
  • feat(autopilot): unattended scheduled trading mandates with exit rules
  • feat(explorer): auto-refresh file tree on external filesystem changes
  • fix(terminal): hidden instances inert so scroll and click-to-focus work

Gate loop

typecheck, 895 tests, and build all green.

nullxnothing and others added 6 commits June 11, 2026 13:14
25bps fee (config-driven, 75bps compiled ceiling) rides as an atomic
SystemProgram.transfer leg appended at the SolanaExecutionService
chokepoint. Devnet always free; meter hard-disabled until a treasury is
configured. New transfer_sol ARIA tool routes agent sends through the
meter, with the fee quoted on the approval card before anything signs.
fee_events ledger (V52) is the local source of truth for routed-volume
and wallet-concentration metrics; only aggregates cross IPC.
Add ARIA Autopilot — standing, structured trading mandates that execute
unattended on mainnet on a schedule. A mandate is parsed from natural
language into a strategy (target mint, DCA clip, exposure cap, interval,
TP/SL/liquidity exit rules); arming it authorizes all subsequent
autonomous trades.

Execution reuses the human-swap path: getSwapQuote mints the hash-pinned
review draft server-side, executeSwap signs through the signer guard and
fires the fee meter. No guard is bypassed.

- schema V54: autopilot_mandates + idempotent autopilot_actions ledger
- AutopilotService: CRUD, arm/disarm, kill switch, hard exposure cap,
  position valuation via reverse quote, TP/SL/liquidity exits, P&L
- AutopilotScheduler: re-entrancy-guarded 5s sweep, boots with the app
- ARIA tools: create_mandate, autopilot_arm/disarm/list
- IPC + preload + top-level Autopilot panel ("The Desk"): mandate cards
  with live unrealized P&L, action tape, kill switch

Also carries the in-progress Flywheel platform-share work staged in the
shared schema/types files, and fixes a latent FlywheelPreview typecheck
gap (missing platformBps).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Watch the active project root in the main process and push fs:changed so
the explorer reloads when files are created/added/removed outside DAEMON.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…us work

Hidden terminal instances stayed stacked on top of the active one and
swallowed wheel/click events. Move visibility to the wrapper and disable
pointer-events when not visible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the agent-first `hyperliquid` CLI into ARIA as a tool domain so the
operator can read Hyperliquid markets and trade perps/spot from natural
language. Reads auto-run; signing actions are sensitive-gated and dry-run
previewable. Network defaults to testnet; the CLI owns its own encrypted
wallet so DAEMON never holds a Hyperliquid key.

- HyperliquidCliService: binary discovery + execFile-only runner (forces
  JSON, injects --testnet/--dry-run, maps CLI exit codes), typed wrappers
- aria/tools/hyperliquid: hl_* read/preview/trade tools with strict input
  validation and an [HL-MAINNET]/[HL-TESTNET] marker on sensitive summaries
- SettingsService: hyperliquid network setting (testnet default)
- ipc/hyperliquid + preload bridge: status + set-network
@nullxnothing nullxnothing enabled auto-merge (squash) June 21, 2026 16:51
# Conflicts:
#	electron/main/index.ts
#	electron/preload/index.ts
#	src/panels/AgentWorkbench/ApprovalCard.tsx
@nullxnothing nullxnothing merged commit 01742cc into main Jun 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant