Skip to content

1.10.0: Lighter on Robinhood Chain, account positions, Lighter liquidations - #4

Merged
0xFantomMenace merged 6 commits into
masterfrom
release-1.10.0
Sep 28, 2026
Merged

0xFantomMenace merged 6 commits into
masterfrom
release-1.10.0

Conversation

@0xFantomMenace

@0xFantomMenace 0xFantomMenace commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

Summary

CLI 1.10.0. Three additions through @0xarchive/sdk 1.12.0, plus the order-flow paging and 1-minute interval work already on master:

  • Lighter on Robinhood Chain as --exchange rh-lighter, presented as the second Lighter deployment (Lighter mainnet stays --exchange lighter). It works on every shared command Lighter mainnet supports: instruments, order book and history, trades (canonical range and preliminary recent tier), candles, funding, open interest, liquidations, prices, summary, freshness, and auth test. USDG-quoted, 84 markets (57 perp, 27 spot); spot symbols are dashed (AAPL-USDG). No L3.
  • Live Robinhood Chain streams: oxa stream orderbook|trades <symbol> --exchange rh-lighter, and oxa stream subscribe accepts rh_lighter_orderbook, rh_lighter_trades, rh_lighter_open_interest, rh_lighter_funding. Same message shapes as the lighter_* live channels; --interval-ms (100 to 5000) works on rh_lighter_orderbook; drop notices are warnings, as on mainnet. rh_lighter_candles is replay-only and refused before a socket opens.
  • Account positions: oxa positions get|history|changes|market|summary|all on hyperliquid, hip3, lighter, rh-lighter, plus oxa positions account|account-history on Hyperliquid and HIP-3, and oxa accounts by-l1 for Lighter mainnet. Hyperliquid and HIP-3 take --address 0x...; Lighter takes --account <index>. Times accept ISO 8601 or Unix ms and are sent as Unix ms. JSON output is { data, nextCursor, meta }, so the as-of time, source, quality, staleness, clamp, and finalization fields are always visible.
  • Lighter liquidations: oxa liquidations history|volume accept lighter and rh-lighter, with Lighter-specific pretty tables. liquidations user stays Hyperliquid only. Robinhood Chain liquidations are served from 2026-06-26 20:10:26 UTC, the same floor as trades; order book, OI, and funding start at 2026-08-22 18:43 UTC. Rows from before live capture carry source bucket with an empty rawJson; live rows carry source ws and the venue's raw JSON.

Also:

  • Brought up to date with master: --cursor on oxa orders flow and oxa hip4 orders flow, and --interval 1m on the aggregated history commands. Their changelog entries moved from Unreleased into 1.10.0.
  • oxa positions summary --cursor without --start and --end is now a validation error (exit 2) before any request, since a summary cursor pages an hourly series bound to its window.
  • oxa orders, oxa l4, and oxa l2 refuse lighter / rh-lighter with a clear message before any request.
  • On Lighter ranges (both deployments), oxa trades fetch passes the response meta through, including finalizedThrough, requestedEnd, and clampedTo. Hyperliquid and HIP-3 trades output is unchanged.
  • README: venue scopes, positions (which reads carry the account summary, clamp fields, empty pages before coverage, and how quality reads per venue), liquidations, and stream sections; CHANGELOG entry.
  • New npm run check:pack: fails unless the tarball is exactly LICENSE, README.md, dist/cli.js, dist/cli.js.map, package.json, and the bundle reports the package version.
  • New CI workflow: typecheck, tests, build, and the package-contents check on Node 20 and 22.

SDK dependency

@0xarchive/sdk 1.12.0 is released alongside this version. The commands read the new SDK resources through small local interfaces, so the CLI type-checks against both the published SDK and 1.12.0, and an install older than the floor exits with "Support for ... requires @0xarchive/sdk 1.12.0 or newer" instead of a TypeError. Until 1.12.0 is on npm, CI installs the newest published SDK for that run only and says so in a warning. Publish this package after the SDK.

Testing

  • npm run typecheck: clean against the published SDK and against a build of SDK 1.12.0.
  • npm test: 144 tests pass (7 files).
  • npm run build and npm run check:pack: pass.
  • Every positions and rh-lighter command was run against the live API through SDK 1.12.0: wallet and account reads (latest, exact hour, reconstructed, before coverage), history, changes with a clamped end, market listings with every filter, summary now and as a paged series, bulk by hour, account summaries, the L1 lookup, and the shared market-data commands on rh-lighter, plus live rh_lighter_* streams. Output shapes and meta fields match the README.

…ations

- --exchange rh-lighter (Lighter on Robinhood Chain, the second Lighter
  deployment) on every shared market-data command Lighter mainnet supports.
- Live rh_lighter_orderbook, rh_lighter_trades, rh_lighter_open_interest and
  rh_lighter_funding streams; --interval-ms on rh_lighter_orderbook;
  rh_lighter_candles is replay-only.
- oxa positions get/history/changes/market/summary/all on hyperliquid, hip3,
  lighter and rh-lighter, plus account/account-history on hyperliquid and
  hip3, and oxa accounts by-l1 for Lighter mainnet.
- Liquidation history and volume on both Lighter deployments.
- orders/l4/l2 refuse Lighter deployments before any request.
- Lighter trade ranges pass the finalization meta through.
- Requires @0xarchive/sdk ^1.12.0.
- Package-contents allowlist check and a CI workflow.
…README table

- Robinhood Chain liquidations are served from 2026-08-22 18:43 UTC, like
  the order book, OI, and funding. The README venue table, the liquidations
  intro, and the CHANGELOG said 2026-06-26 20:10:26 UTC, which the API refuses.
- oxa trades fetch passes the response meta through on Lighter ranges only,
  so Hyperliquid and HIP-3 trades JSON is unchanged. Test added.
- The oxa positions market README row broke on GitHub at a pipe inside a
  code span; the side filter is now written out.
- positions changes help and README copy: the change log lists every fill
  leg, including Lighter legs that leave the size unchanged.
The API now serves Robinhood Chain liquidations from the venue's first
trade, the same floor as trades. Rows before live capture were backfilled
from the venue's finalized export and carry source "bucket" with an empty
rawJson; live rows carry source "ws" and the venue's raw JSON.

- README venue table, liquidations intro, and row notes; CHANGELOG.
- oxa liquidations history help names both Lighter floors and the
  backfilled-row fields.
- Release test pins the floor in the README and CHANGELOG.
@0xFantomMenace

Copy link
Copy Markdown
Member Author

master now includes #5 (1-minute intervals and the order-flow cursor). This branch conflicts with it in CHANGELOG.md only; the code merges cleanly. When updating this branch, merge master in and move the Unreleased entries from #5 into this release's section. A local merge with that resolution passes typecheck, the test suite (143 passed) and the build.

Brings in order-flow --cursor paging and --interval 1m on the aggregated
history commands. Their Unreleased changelog entries move into 1.10.0.
- oxa positions summary --cursor without --start and --end is refused
  as a validation error (exit 2) before any request. A summary cursor
  pages an hourly series and is bound to that window; the SDK refusal
  used to surface as an internal error (exit 5). Test added.
- README: which reads carry the account summary on oxa positions get,
  the clamp fields on the change log, what an empty page before
  coverage looks like, and how quality reads per venue (Hyperliquid and
  HIP-3 normally complete; the latest Lighter day can read degraded at
  snapshot level with preliminary rows until the daily reconcile).
@0xFantomMenace 0xFantomMenace changed the title 1.10.0: Lighter on Robinhood Chain, positions, Lighter liquidations 1.10.0: Lighter on Robinhood Chain, account positions, Lighter liquidations Sep 28, 2026
Ranges and --timestamp reads before coverage succeed with an empty list;
get, changes, and Lighter history add the notice. An --hour with no
committed snapshot is an API error on market and all.
@0xFantomMenace
0xFantomMenace merged commit 6eb555b into master Sep 28, 2026
2 checks passed
0xFantomMenace added a commit that referenced this pull request Sep 29, 2026
…ations (#4)

- --exchange rh-lighter (Lighter on Robinhood Chain, the second Lighter
  deployment) on every shared market-data command Lighter mainnet supports,
  and live rh_lighter_orderbook, rh_lighter_trades, rh_lighter_open_interest
  and rh_lighter_funding streams.
- oxa positions get/history/changes/market/summary/all on hyperliquid, hip3,
  lighter and rh-lighter, account/account-history on hyperliquid and hip3,
  and oxa accounts by-l1 for Lighter mainnet.
- Liquidation history and volume on both Lighter deployments.
- Includes order-flow --cursor paging and --interval 1m on the aggregated
  history commands from master.
- orders/l4/l2 refuse Lighter deployments before any request; Lighter trade
  ranges pass the finalization meta through.
- Requires @0xarchive/sdk ^1.12.0. Package-contents check and CI workflow.
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