Skip to content

Upgrade to hypersync-client 1.3.0 (streaming v2)#64

Merged
JonoPrest merged 2 commits into
mainfrom
upgrade-hypersync-client-1.3.0
Jun 8, 2026
Merged

Upgrade to hypersync-client 1.3.0 (streaming v2)#64
JonoPrest merged 2 commits into
mainfrom
upgrade-hypersync-client-1.3.0

Conversation

@JonoPrest

@JonoPrest JonoPrest commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Upgrades the core dep hypersync-client 1.1.4 → 1.3.0 (streaming engine v2) and adapts the API.

StreamConfig (breaking)

  • Drop response_bytes_floor / response_bytes_ceiling.
  • max_batch_size is now an optional no-cap (unset ⇒ no block cap; overshoot self-corrects via backfill).
  • Add response_bytes_target (default 400000) — projection aims each response at this size.
  • Add max_buffered_bytes (unset ⇒ adaptive reorder-buffer cap).
  • Updated the From<StreamConfig> impl and index.d.ts.

Rate-limit API

  • getWithRateLimit adapts to the new RateLimitResponse enum: response is now optional (null on HTTP 429) — inspect rateLimit and retry.

Verified with cargo check against published hypersync-client 1.3.0. napi artifact build + publish happen in CI.

Summary by CodeRabbit

  • Bug Fixes

    • Query responses now indicate when a request was rate-limited (response may be absent when limited).
  • New Features

    • Stream configuration gains new buffering and response-size tuning knobs and clearer batch-sizing behavior.
  • Chores

    • Bumped client dependency versions.
  • Documentation

    • Large docs regeneration: expanded docs landing page, updated CSS highlight palette, refreshed search/navigation payloads, and many TypeDoc source-link/markup improvements.

- Bump hypersync-client 1.1.4 -> 1.3.0.
- StreamConfig: drop response_bytes_floor/ceiling; make max_batch_size an
  optional no-cap (None => no block cap); add response_bytes_target (default
  400000) and max_buffered_bytes (None => adaptive). Update the From impl and
  index.d.ts.
- get_with_rate_limit: adapt to the new RateLimitResponse enum — response is
  now optional (null on HTTP 429); inspect rate_limit and retry.
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a192d513-7838-43fa-a34a-89e767ee3386

📥 Commits

Reviewing files that changed from the base of the PR and between 5f3a0a9 and 2c31c6f.

📒 Files selected for processing (70)
  • docs/assets/highlight.css
  • docs/assets/navigation.js
  • docs/assets/search.js
  • docs/classes/CallDecoder.html
  • docs/classes/Decoder.html
  • docs/classes/EventStream.html
  • docs/classes/HeightStream.html
  • docs/classes/HypersyncClient.html
  • docs/classes/QueryResponseStream.html
  • docs/enums/JoinMode.html
  • docs/functions/presetQueryBlocksAndTransactionHashes.html
  • docs/functions/presetQueryBlocksAndTransactions.html
  • docs/functions/presetQueryLogs.html
  • docs/functions/presetQueryLogsOfEvent.html
  • docs/functions/setLogLevel.html
  • docs/index.html
  • docs/interfaces/AccessList.html
  • docs/interfaces/Authorization.html
  • docs/interfaces/AuthorizationSelection.html
  • docs/interfaces/Block.html
  • docs/interfaces/BlockFilter.html
  • docs/interfaces/BlockSelection.html
  • docs/interfaces/ClientConfig.html
  • docs/interfaces/ColumnMapping.html
  • docs/interfaces/DecodedEvent.html
  • docs/interfaces/DecodedSolValue.html
  • docs/interfaces/Event.html
  • docs/interfaces/EventResponse.html
  • docs/interfaces/Events.html
  • docs/interfaces/FieldSelection.html
  • docs/interfaces/HeightStreamConnectedEvent.html
  • docs/interfaces/HeightStreamHeightEvent.html
  • docs/interfaces/HeightStreamReconnectingEvent.html
  • docs/interfaces/Log.html
  • docs/interfaces/LogFilter.html
  • docs/interfaces/LogSelection.html
  • docs/interfaces/Query.html
  • docs/interfaces/QueryResponse.html
  • docs/interfaces/QueryResponseData.html
  • docs/interfaces/QueryResponseWithRateLimit.html
  • docs/interfaces/RateLimitInfo.html
  • docs/interfaces/RollbackGuard.html
  • docs/interfaces/StreamConfig.html
  • docs/interfaces/Trace.html
  • docs/interfaces/TraceFilter.html
  • docs/interfaces/TraceSelection.html
  • docs/interfaces/Transaction.html
  • docs/interfaces/TransactionFilter.html
  • docs/interfaces/TransactionSelection.html
  • docs/interfaces/Withdrawal.html
  • docs/modules.html
  • docs/types/BlockField.html
  • docs/types/ConnectedTag.html
  • docs/types/DataType.html
  • docs/types/HeightStreamEvent.html
  • docs/types/HeightTag.html
  • docs/types/HexOutput.html
  • docs/types/LogField.html
  • docs/types/ReconnectingTag.html
  • docs/types/SerializationFormat.html
  • docs/types/TraceField.html
  • docs/types/TransactionField.html
  • index.d.ts
  • index.js
  • npm/darwin-arm64/package.json
  • npm/darwin-x64/package.json
  • npm/linux-arm64-gnu/package.json
  • npm/linux-x64-gnu/package.json
  • npm/linux-x64-musl/package.json
  • package.json
✅ Files skipped from review due to trivial changes (38)
  • docs/interfaces/LogSelection.html
  • docs/interfaces/HeightStreamConnectedEvent.html
  • docs/functions/presetQueryLogs.html
  • docs/classes/QueryResponseStream.html
  • docs/interfaces/AuthorizationSelection.html
  • docs/interfaces/FieldSelection.html
  • docs/enums/JoinMode.html
  • docs/interfaces/RollbackGuard.html
  • docs/interfaces/BlockSelection.html
  • docs/interfaces/Log.html
  • docs/interfaces/HeightStreamReconnectingEvent.html
  • docs/interfaces/DecodedSolValue.html
  • docs/classes/HeightStream.html
  • docs/interfaces/HeightStreamHeightEvent.html
  • docs/interfaces/RateLimitInfo.html
  • docs/interfaces/BlockFilter.html
  • docs/interfaces/Event.html
  • docs/classes/EventStream.html
  • docs/classes/HypersyncClient.html
  • docs/functions/presetQueryLogsOfEvent.html
  • docs/functions/setLogLevel.html
  • docs/interfaces/ClientConfig.html
  • docs/interfaces/DecodedEvent.html
  • docs/classes/Decoder.html
  • docs/interfaces/Events.html
  • docs/interfaces/LogFilter.html
  • docs/interfaces/Query.html
  • docs/index.html
  • docs/classes/CallDecoder.html
  • docs/interfaces/EventResponse.html
  • docs/interfaces/Block.html
  • docs/interfaces/QueryResponse.html
  • docs/interfaces/QueryResponseData.html
  • docs/functions/presetQueryBlocksAndTransactionHashes.html
  • docs/functions/presetQueryBlocksAndTransactions.html
  • docs/interfaces/ColumnMapping.html
  • docs/interfaces/Authorization.html
  • docs/interfaces/AccessList.html

📝 Walkthrough

Walkthrough

This PR upgrades the hypersync-client Node.js binding to version 1.3.0, introducing rate-limited response handling and improved stream configuration tuning. The update makes query responses nullable when rate-limited and replaces response-byte sizing controls with new target and buffering fields.

Changes

Hypersync-client 1.3.0 integration

Layer / File(s) Summary
Dependency upgrade
Cargo.toml
Hypersync-client bumped to 1.3.0 and dev-dependency added.
Rate-limit response handling
index.d.ts, src/lib.rs
QueryResponseWithRateLimit.response becomes optional (Option<QueryResponse>); get_with_rate_limit now returns Some(response) on success or None when rate-limited (HTTP 429), while preserving rate-limit headers in both cases.
Stream configuration tuning
index.d.ts, src/config.rs
StreamConfig replaces responseBytesCeiling/responseBytesFloor with responseBytesTarget and maxBufferedBytes; batch sizing parameters updated with expanded documentation; field conversions adjusted in the Rust→client mapping to handle new defaults and forwarding rules.

Docs & site regeneration

Layer / File(s) Summary
Site assets
docs/assets/highlight.css, docs/assets/navigation.js, docs/assets/search.js
Highlight palette expanded to hl-0..hl-9, new .hl-3...hl-9 classes added; navigation and search base64 payloads replaced.
Docs landing
docs/index.html
Getting Started replaced with full documentation/marketing landing (intro, features, quick start, FAQ, sidebar anchors).
New function and presets docs
docs/functions/*
Added setLogLevel doc page; small updates to presetQuery* docs and their source links.
TypeDoc classes
docs/classes/*
Regenerated class HTML (CallDecoder, Decoder, EventStream, HeightStream, HypersyncClient, QueryResponseStream, JoinMode) updating “Defined in” links and parameter/returns markup.
TypeDoc interfaces (bulk)
docs/interfaces/*
Regenerated many interface pages to update “Defined in” GitHub blob links, minor markup/whitespace, and small doc text tweaks (including QueryResponseWithRateLimit docs marking response?).

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • JasoonS
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Upgrade to hypersync-client 1.3.0 (streaming v2)' directly and concisely describes the primary change: upgrading the core dependency and its major version feature (streaming v2).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@JonoPrest JonoPrest requested a review from JasoonS June 8, 2026 11:03
- package version 1.3.0 -> 1.4.0 (1.3.0 already on npm); synced the npm/*
  platform sub-packages via 'napi version'.
- Regenerated index.d.ts / index.js from the 1.3.0 build (yarn build) and the
  typedoc HTML under docs/ (yarn docs) — StreamConfig now shows
  response_bytes_target / max_buffered_bytes and the optional rate-limited
  response.

Built against published hypersync-client 1.3.0; release/publish runs in CI.
@JonoPrest JonoPrest merged commit 8cf5b7d into main Jun 8, 2026
1 check 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