diff --git a/Cargo.toml b/Cargo.toml index d20105a..9bc0116 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ ruint = "1" alloy-primitives = "1.1" arrayvec = "0.7.6" -hypersync-client = "1.1.4" +hypersync-client = "1.3.0" strum = "0.27.2" strum_macros = "0.27.2" @@ -38,3 +38,4 @@ lto = true [dev-dependencies] pretty_assertions = "1.4.1" + diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index bc36a19..ac703d5 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -1,10 +1,24 @@ :root { - --light-hl-0: #795E26; - --dark-hl-0: #DCDCAA; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #A31515; - --dark-hl-2: #CE9178; + --light-hl-0: #008000; + --dark-hl-0: #6A9955; + --light-hl-1: #795E26; + --dark-hl-1: #DCDCAA; + --light-hl-2: #000000; + --dark-hl-2: #D4D4D4; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #AF00DB; + --dark-hl-6: #C586C0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-hl-9: #000000FF; + --dark-hl-9: #D4D4D4; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -13,6 +27,13 @@ --hl-0: var(--light-hl-0); --hl-1: var(--light-hl-1); --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } } @@ -20,6 +41,13 @@ --hl-0: var(--dark-hl-0); --hl-1: var(--dark-hl-1); --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } } @@ -27,6 +55,13 @@ --hl-0: var(--light-hl-0); --hl-1: var(--light-hl-1); --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } @@ -34,10 +69,24 @@ --hl-0: var(--dark-hl-0); --hl-1: var(--dark-hl-1); --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } .hl-0 { color: var(--hl-0); } .hl-1 { color: var(--hl-1); } .hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } pre, code { background: var(--code-background); } diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index ec16c64..26db355 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52WwY7TMBCG3yXnirIVu0BvS5eyoKxWtCs4IA7GmSZWHTuyHdiCeHfUpEnsxBlb3CL//3zjkWdif/uTGHg2yTr5JJl4kBkki6QipkjWCYi61Mtu/UVhSp4skiMTWbJ+83fRR24I53dAZQZqCKacaA16aYku4WplM2bjI2Lf/wRh9kYBKafxlogx7oHlxSzEVlHKqQKlT4JuOANhPCDXgLE+16BOO9CVFBrmNuYxYcxbSkHrlGlra0wYUAdCQS8H2YWsrm9sSG0KqdhvYpgUfo7tiEbtgQONY/ZWDP6OS3r0sholGLpl3NgdOQa0ehCDl+VaMFjbMRspDiz3omwDCpK8LsUDqSomZki2A0O1w5k1M+Yl2YYI0F7yL4TXgLE6D4ab31BwJ42hm6h5ROcIovQ8Q2PBWwY8w3vHtWAw+/+1kUIANdipzdtjk7TfcRksbyx+B7TdFhN5XJJJBJYqlf65SCU6DanMkX9GrwYQ+JnbBgzUXAxeQqMEQ9EJcBzRqDtiSBh3dkUjvzJT7IiBlJXM3wPzdixJb/ooDtLLdRwoSnL+g9Djh5qozI+yHRiqH8i5G8A2YKAnRaj/ZBslGIp0uaUHMXinu5YATGiCkjo9EoMX6LoikcFiJ0YMfO7kTJFfhHtxgxzxygFu9aU5VcP7Bvi4H1++fX11vXIeE5fr4YnkY4qthTjnsX86VTBmdOuhePtfP7oRWtDEEEf0lNULYcLzY22q2rOXixAiNHeG53y69VC8fet5KhnJIdoeFCP88gTfSlWSSWUeS4h6+WN4qhyUCMYwlH6So4d4lQINprk7mlHQtyKzGPdEF2A97A61aNb1MirQzX7zKj7x/+SMTJfKPEQ/W+Jhj4fRHM4yL84J+vs/Wgyhzp0QAAA=" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52WUW/TMBDHv0ueK8oqNqBvo6MMlGmircYD4sE418SqY0e2M1YQ3x01aRo7cc4Wb5H///udT76L/f1PYuDFJMvki2TiQWaQzJKKmCJZJiDqUs+79VeFKXkySw5MZMny3d/ZJXJFOL8DKjNQfTDlRGvQc0t0CVcLmzEZHxH78RmE2RoFpBzHWyLGuAeWF5MQW0UpxwqUPgq64gyE8YBcA8b6WoM6bkBXUmiY2pjHhDFvKQWtU6atrTFhQO0JBT3vZReyuL6xIbUppGK/iWFS+Dm2Ixq1BQ40jnmxYvAPXNKDl9UowdA148buyCGg1YMYvCzXgsHajllJsWe5F2UbUJDkdSkeSFUxMUGyHRiqHc6smTEvyTZEgLaSPxFeA8bqPBhuekPBnTSGbqKmEZ0jiNLTDI0FrxnwDO8d14LB7P/XSgoB1GCnNm2PTdJ+x2WwvLH4DdB2W0zkcUlGEViqVPrnIpXoNKQyR/4ZFzWAwM/cNmCg5mLwEholGIpOgOOIRt0RQ8K4kysa+Y2ZYkMMpKxk/h6YtmNJLqbPYi+9XMeBoiTnPwk9fKqJyvwo24GhLgM5dQPYBgy0U4T6T7ZRgqFIl1t6EIN3umsJwIQmKKnTIzF4ga4rEhksdmTEwKdOzhT5RbgX18sRrxzgVl+aY9W/b4AP+/H1+7dX1wvnMXG+HnYkH1JsLcQ5jf3uWMGQ0a2H4u1//eBGaEEjQxzRU9ZFCBNeHmtT1Z69nIUQobkzPOfTrYfi7VvPU8lADtG2oBjh5yf4WqqSjCrzWELU8x/DU2WvRDD6ofSTHD3EqxRoMM3d0YyCvhWZxbgnugDrYbevRbOu51GBbvabN/GJ/ydnZLpU5iH6yRIPe9wP5nCSeXYiaA0mlXkKz8B9PEseQX78A0mSYKriEAAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 5574c85..4f96c93 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/CallDecoder.html b/docs/classes/CallDecoder.html index 6d2dab2..f0c6ed1 100644 --- a/docs/classes/CallDecoder.html +++ b/docs/classes/CallDecoder.html @@ -1,5 +1,5 @@ CallDecoder | @envio-dev/hypersync-client

Decoder for Ethereum function calls

-

Constructors

Constructors

Methods

  • Decode function call inputs asynchronously

    -

    Parameters

    • inputs: string[]

    Returns Promise<DecodedSolValue[][]>

  • Decode function call inputs synchronously

    -

    Parameters

    • inputs: string[]

    Returns DecodedSolValue[][]

  • Decode trace inputs asynchronously

    -

    Parameters

    Returns Promise<DecodedSolValue[][]>

  • Create call decoder from function signatures

    -

    Parameters

    • signatures: string[]

    Returns CallDecoder

  • Create call decoder from function signatures with checksum option

    -

    Parameters

    • signatures: string[]
    • checksum: boolean

    Returns CallDecoder

\ No newline at end of file +

Parameters

Returns DecodedSolValue[]

\ No newline at end of file diff --git a/docs/classes/Decoder.html b/docs/classes/Decoder.html index a40a98b..9d86b73 100644 --- a/docs/classes/Decoder.html +++ b/docs/classes/Decoder.html @@ -1,5 +1,5 @@ Decoder | @envio-dev/hypersync-client

Decoder for Ethereum events and function calls

-

Constructors

Constructors

Methods

  • Decode events asynchronously

    -

    Parameters

    Returns Promise<DecodedEvent[]>

  • Decode logs asynchronously

    -

    Parameters

    Returns Promise<DecodedEvent[]>

  • Disable checksummed addresses in decoded output

    -

    Returns void

  • Enable checksummed addresses in decoded output

    -

    Returns void

  • Create decoder from event signatures

    -

    Parameters

    • signatures: string[]

    Returns Decoder

  • Create decoder from event signatures with checksum option

    -

    Parameters

    • signatures: string[]
    • checksum: boolean

    Returns Decoder

\ No newline at end of file +

Parameters

Returns Promise<DecodedEvent[]>

\ No newline at end of file diff --git a/docs/classes/EventStream.html b/docs/classes/EventStream.html index 7e5a54e..a896b90 100644 --- a/docs/classes/EventStream.html +++ b/docs/classes/EventStream.html @@ -1,7 +1,7 @@ EventStream | @envio-dev/hypersync-client

Stream for receiving event responses

-

Constructors

Constructors

Methods

Constructors

Methods

  • Close the event stream

    -

    Returns Promise<void>

  • Receive the next event response from the stream

    -

    Returns Promise<EventResponse>

\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/docs/classes/HeightStream.html b/docs/classes/HeightStream.html index ed643c9..8e39c84 100644 --- a/docs/classes/HeightStream.html +++ b/docs/classes/HeightStream.html @@ -1,9 +1,9 @@ HeightStream | @envio-dev/hypersync-client

Stream for receiving height stream events yields the immediate height of the chain and then continues to yield height updates as they are received

-

Constructors

Constructors

Methods

Constructors

Methods

  • Close the height stream

    -

    Returns Promise<void>

\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/docs/classes/HypersyncClient.html b/docs/classes/HypersyncClient.html index 8289d4b..37c5fc8 100644 --- a/docs/classes/HypersyncClient.html +++ b/docs/classes/HypersyncClient.html @@ -1,5 +1,5 @@ HypersyncClient | @envio-dev/hypersync-client

HyperSync client for querying blockchain data

-

Constructors

Constructors

Methods

  • Collect blockchain data and save to parquet format

    -

    Parameters

    Returns Promise<void>

  • Get the chain_id of the source hypersync instance

    -

    Returns Promise<number>

  • Get blockchain events for a single query

    -

    Parameters

    Returns Promise<EventResponse>

  • Get the height of the source hypersync instance

    -

    Returns Promise<number>

Methods

  • Collect blockchain data and save to parquet format

    +

    Parameters

    Returns Promise<void>

  • Get the chain_id of the source hypersync instance

    +

    Returns Promise<number>

  • Get the height of the source hypersync instance

    +

    Returns Promise<number>

  • Get the most recently observed rate limit information. Returns null if no requests have been made yet.

    -

    Returns RateLimitInfo

  • Wait until the current rate limit window resets. Returns immediately if no rate limit info observed or quota available.

    -

    Returns Promise<void>

  • Internal

    Create a new client with custom user agent

    This method is intended for internal use when you need to customize the user agent string. Most users should use new() instead.

    -

    Parameters

    Returns HypersyncClient

\ No newline at end of file +

Parameters

Returns HypersyncClient

\ No newline at end of file diff --git a/docs/classes/QueryResponseStream.html b/docs/classes/QueryResponseStream.html index 8aabbce..31e5238 100644 --- a/docs/classes/QueryResponseStream.html +++ b/docs/classes/QueryResponseStream.html @@ -1,7 +1,7 @@ QueryResponseStream | @envio-dev/hypersync-client

Stream for receiving query responses

-

Constructors

Constructors

Methods

Constructors

Methods

  • Close the response stream

    -

    Returns Promise<void>

  • Receive the next query response from the stream

    -

    Returns Promise<QueryResponse>

\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/docs/enums/JoinMode.html b/docs/enums/JoinMode.html index f8c7ffb..6e21436 100644 --- a/docs/enums/JoinMode.html +++ b/docs/enums/JoinMode.html @@ -1,8 +1,8 @@ JoinMode | @envio-dev/hypersync-client

Mode for joining blockchain data

-

Enumeration Members

Enumeration Members

Enumeration Members

Default: 0

Default join mode

-
JoinAll: 1

Join all available data

-
JoinNothing: 2

Join no additional data

-
\ No newline at end of file +
JoinAll: 1

Join all available data

+
JoinNothing: 2

Join no additional data

+
\ No newline at end of file diff --git a/docs/functions/presetQueryBlocksAndTransactionHashes.html b/docs/functions/presetQueryBlocksAndTransactionHashes.html index 7d795e9..9d8dab0 100644 --- a/docs/functions/presetQueryBlocksAndTransactionHashes.html +++ b/docs/functions/presetQueryBlocksAndTransactionHashes.html @@ -1,4 +1,4 @@ presetQueryBlocksAndTransactionHashes | @envio-dev/hypersync-client

Function presetQueryBlocksAndTransactionHashes

  • Returns a query object for all Blocks and hashes of the Transactions within the block range (from_block, to_block]. Also returns the block_hash and block_number fields on each Transaction so it can be mapped to a block. If to_block is None then query runs to the head of the chain.

    -

    Parameters

    • fromBlock: number
    • Optional toBlock: number

    Returns Query

\ No newline at end of file +

Parameters

Returns Query

\ No newline at end of file diff --git a/docs/functions/presetQueryBlocksAndTransactions.html b/docs/functions/presetQueryBlocksAndTransactions.html index 6249ff9..42f58e2 100644 --- a/docs/functions/presetQueryBlocksAndTransactions.html +++ b/docs/functions/presetQueryBlocksAndTransactions.html @@ -1,3 +1,3 @@ presetQueryBlocksAndTransactions | @envio-dev/hypersync-client

Function presetQueryBlocksAndTransactions

  • Returns a query for all Blocks and Transactions within the block range (from_block, to_block] If to_block is None then query runs to the head of the chain.

    -

    Parameters

    • fromBlock: number
    • Optional toBlock: number

    Returns Query

\ No newline at end of file +

Parameters

Returns Query

\ No newline at end of file diff --git a/docs/functions/presetQueryLogs.html b/docs/functions/presetQueryLogs.html index a7d2ef4..66420e3 100644 --- a/docs/functions/presetQueryLogs.html +++ b/docs/functions/presetQueryLogs.html @@ -1,3 +1,3 @@ presetQueryLogs | @envio-dev/hypersync-client
  • Returns a query object for all Logs within the block range from the given address. If to_block is None then query runs to the head of the chain.

    -

    Parameters

    • contractAddress: string
    • fromBlock: number
    • Optional toBlock: number

    Returns Query

\ No newline at end of file +

Parameters

Returns Query

\ No newline at end of file diff --git a/docs/functions/presetQueryLogsOfEvent.html b/docs/functions/presetQueryLogsOfEvent.html index 74dc142..0bd6936 100644 --- a/docs/functions/presetQueryLogsOfEvent.html +++ b/docs/functions/presetQueryLogsOfEvent.html @@ -1,4 +1,4 @@ presetQueryLogsOfEvent | @envio-dev/hypersync-client
  • Returns a query for all Logs within the block range from the given address with a matching topic0 event signature. Topic0 is the keccak256 hash of the event signature. If to_block is None then query runs to the head of the chain.

    -

    Parameters

    • contractAddress: string
    • topic0: string
    • fromBlock: number
    • Optional toBlock: number

    Returns Query

\ No newline at end of file +

Parameters

Returns Query

\ No newline at end of file diff --git a/docs/functions/setLogLevel.html b/docs/functions/setLogLevel.html new file mode 100644 index 0000000..5d748da --- /dev/null +++ b/docs/functions/setLogLevel.html @@ -0,0 +1,7 @@ +setLogLevel | @envio-dev/hypersync-client
  • Set the log level for the underlying Rust logger.

    +

    Accepts values like "info", "warn", "debug", "trace", "error", +or a full filter directive like "hypersync_client=debug". +If RUST_LOG env var is set, it takes precedence. +Must be called before creating any HypersyncClient. +Only the first call takes effect (logger can only init once per process).

    +

    Parameters

    • level: string

    Returns void

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 7b5de57..cf466ff 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,6 +1,65 @@ -@envio-dev/hypersync-client

@envio-dev/hypersync-client

Node.js HyperSync Client

HyperSync Client by Envio.

-

Read full documentation here.

-

Getting Started

npm i @envio-dev/hypersync-client
+@envio-dev/hypersync-client

@envio-dev/hypersync-client

hypersync-client-node

npm npm downloads Discord

+

Node.js client for Envio's HyperSync. TypeScript-first, built on top of the Rust implementation via NAPI bindings for high-performance blockchain data access.

+

What is HyperSync?

HyperSync is Envio's high-performance blockchain data retrieval layer. It is a purpose-built alternative to JSON-RPC endpoints, offering up to 2000x faster data access across 70+ EVM-compatible networks and Fuel.

+

HyperSync lets you query logs, transactions, blocks, and traces with flexible filtering and field selection, returning only the data you need.

+

If you need a full indexing framework on top of HyperSync with GraphQL APIs and schema management, see HyperIndex.

+

Features

    +
  • TypeScript-first: Full TypeScript types and IntelliSense support
  • +
  • High performance: Built on a Rust core via NAPI bindings
  • +
  • Binary transport: Optimized serialization to minimize bandwidth and maximize throughput
  • +
  • Flexible queries: Filter logs, transactions, blocks, and traces
  • +
  • Field selection: Choose exactly which fields to return
  • +
  • Preset queries: Built-in helpers for common query patterns
  • +
  • Parquet export: Stream data directly to Parquet files
  • +
  • Streaming: Process large datasets without loading everything into memory
  • +
  • 70+ networks: Access any HyperSync-supported network
  • +
+

Installation

# npm
npm install @envio-dev/hypersync-client

# pnpm
pnpm add @envio-dev/hypersync-client

# yarn
yarn add @envio-dev/hypersync-client
-

See examples for usage.

-
\ No newline at end of file +

API Token

An API token is required to use HyperSync. Get your token here, then set it as an environment variable:

+
export ENVIO_API_TOKEN="your-token-here"
+
+

Quick Start

Fetch Transfer event logs from a USDT contract on Ethereum:

+
import { HypersyncClient, presetQueryLogsOfEvent } from "@envio-dev/hypersync-client";

async function main() {
const client = new HypersyncClient({
url: "https://eth.hypersync.xyz",
apiToken: process.env.ENVIO_API_TOKEN!,
});

const usdtContract = "0xdAC17F958D2ee523a2206206994597C13D831ec7";

// ERC-20 Transfer event topic0
const transferTopic = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";

const query = presetQueryLogsOfEvent(usdtContract, transferTopic, 17_000_000, 17_000_050);

const res = await client.get(query);
console.log(`Found ${res.data.logs.length} Transfer events`);
}

main(); +
+

See the examples directory for more patterns including block data, wallet transactions, Parquet export, and real-time streaming.

+

Connecting to Different Networks

Change the url to connect to any supported network:

+
// Arbitrum
const client = new HypersyncClient({
url: "https://arbitrum.hypersync.xyz",
apiToken: process.env.ENVIO_API_TOKEN!,
});

// Base
const client = new HypersyncClient({
url: "https://base.hypersync.xyz",
apiToken: process.env.ENVIO_API_TOKEN!,
}); +
+

See the full list of supported networks and URLs.

+

What you can build

The Node.js client is a natural fit for JavaScript and TypeScript applications that need fast, direct access to blockchain data:

+
    +
  • Real-time event monitoring: Stream block heights and query events as they land, like this Polymarket trade tracker built with the Node.js client
  • +
  • Blockchain data analytics: Scan entire chain histories in seconds, not hours
  • +
  • ETL pipelines: Extract on-chain data and export to Parquet for downstream processing
  • +
  • Block explorers: Power responsive interfaces with comprehensive real-time data access
  • +
  • DeFi dashboards: Query protocol events, pool data, and token transfers at scale
  • +
  • Cross-chain applications: Query unified data across 70+ EVM chains from a single client
  • +
+

Documentation

+

FAQ

How does this compare to ethers.js or viem for data fetching? +HyperSync retrieves data up to 2000x faster than traditional JSON-RPC. It is designed for bulk historical data access, not transaction signing or contract writes. Use HyperSync alongside ethers.js or viem for read-heavy applications.

+

Do I need an API token? +Yes. Get one here.

+

Which networks are supported? +70+ EVM-compatible networks and Fuel. See the full list.

+

Can I export data to Parquet? +Yes. See examples/parquet-out for an example of streaming data to a Parquet file.

+

Does this work with Deno or Bun? +The package targets Node.js via NAPI bindings. Bun is broadly compatible with Node.js native modules. Deno compatibility may vary.

+

How is this different from the Rust client? +This client is built on top of the Rust client via NAPI bindings. It provides a TypeScript-first interface for JavaScript/Node.js developers. If you need the lowest-level access with the least overhead, use the Rust client directly.

+

What is the difference between HyperSync and HyperIndex? +HyperSync is the raw data access layer. Use it when you need direct access to blockchain data in your own pipeline. HyperIndex is the full indexing framework built on top of HyperSync, with schema management, event handlers, and a GraphQL API.

+

Support

+
\ No newline at end of file diff --git a/docs/interfaces/AccessList.html b/docs/interfaces/AccessList.html index c13cdac..b56c266 100644 --- a/docs/interfaces/AccessList.html +++ b/docs/interfaces/AccessList.html @@ -1,5 +1,5 @@ AccessList | @envio-dev/hypersync-client

Evm access list object

See ethereum rpc spec for the meaning of fields

-
interface AccessList {
    address?: string;
    storageKeys?: string[];
}

Properties

interface AccessList {
    address?: string;
    storageKeys?: string[];
}

Properties

address?: string
storageKeys?: string[]
\ No newline at end of file +

Properties

address?: string
storageKeys?: string[]
\ No newline at end of file diff --git a/docs/interfaces/Authorization.html b/docs/interfaces/Authorization.html index 64ebe1e..04359ae 100644 --- a/docs/interfaces/Authorization.html +++ b/docs/interfaces/Authorization.html @@ -1,15 +1,15 @@ Authorization | @envio-dev/hypersync-client

Evm authorization object

See ethereum rpc spec for the meaning of fields

-
interface Authorization {
    address: string;
    chainId: bigint;
    nonce: number;
    r: string;
    s: string;
    yParity: number;
}

Properties

interface Authorization {
    address: string;
    chainId: bigint;
    nonce: number;
    r: string;
    s: string;
    yParity: number;
}

Properties

address: string

20-byte hex

-
chainId: bigint

uint256

-
nonce: number

uint64

-
r: string

32-byte hex

-
s: string

32-byte hex

-
yParity: number

0 | 1

-
\ No newline at end of file +
chainId: bigint

uint256

+
nonce: number

uint64

+
r: string

32-byte hex

+
s: string

32-byte hex

+
yParity: number

0 | 1

+
\ No newline at end of file diff --git a/docs/interfaces/AuthorizationSelection.html b/docs/interfaces/AuthorizationSelection.html index be68bb9..75644ef 100644 --- a/docs/interfaces/AuthorizationSelection.html +++ b/docs/interfaces/AuthorizationSelection.html @@ -1,6 +1,6 @@ AuthorizationSelection | @envio-dev/hypersync-client

Selection criteria for transaction authorization lists

-
interface AuthorizationSelection {
    address?: string[];
    chainId?: number[];
}

Properties

interface AuthorizationSelection {
    address?: string[];
    chainId?: number[];
}

Properties

Properties

address?: string[]

List of addresses to match in the transaction authorizationList

-
chainId?: number[]

List of chain ids to match in the transaction authorizationList

-
\ No newline at end of file +
chainId?: number[]

List of chain ids to match in the transaction authorizationList

+
\ No newline at end of file diff --git a/docs/interfaces/Block.html b/docs/interfaces/Block.html index f3cd2df..84b9464 100644 --- a/docs/interfaces/Block.html +++ b/docs/interfaces/Block.html @@ -1,6 +1,6 @@ Block | @envio-dev/hypersync-client

Evm block header object

See ethereum rpc spec for the meaning of fields

-
interface Block {
    baseFeePerGas?: bigint;
    blobGasUsed?: bigint;
    difficulty?: bigint;
    excessBlobGas?: bigint;
    extraData?: string;
    gasLimit?: bigint;
    gasUsed?: bigint;
    hash?: string;
    l1BlockNumber?: number;
    logsBloom?: string;
    miner?: string;
    mixHash?: string;
    nonce?: bigint;
    number?: number;
    parentBeaconBlockRoot?: string;
    parentHash?: string;
    receiptsRoot?: string;
    sendCount?: string;
    sendRoot?: string;
    sha3Uncles?: string;
    size?: bigint;
    stateRoot?: string;
    timestamp?: number;
    totalDifficulty?: bigint;
    transactionsRoot?: string;
    uncles?: string[];
    withdrawals?: Withdrawal[];
    withdrawalsRoot?: string;
}

Properties

interface Block {
    baseFeePerGas?: bigint;
    blobGasUsed?: bigint;
    difficulty?: bigint;
    excessBlobGas?: bigint;
    extraData?: string;
    gasLimit?: bigint;
    gasUsed?: bigint;
    hash?: string;
    l1BlockNumber?: number;
    logsBloom?: string;
    miner?: string;
    mixHash?: string;
    nonce?: bigint;
    number?: number;
    parentBeaconBlockRoot?: string;
    parentHash?: string;
    receiptsRoot?: string;
    sendCount?: string;
    sendRoot?: string;
    sha3Uncles?: string;
    size?: bigint;
    stateRoot?: string;
    timestamp?: number;
    totalDifficulty?: bigint;
    transactionsRoot?: string;
    uncles?: string[];
    withdrawals?: Withdrawal[];
    withdrawalsRoot?: string;
}

Properties

baseFeePerGas?: bigint
blobGasUsed?: bigint
difficulty?: bigint
excessBlobGas?: bigint
extraData?: string
gasLimit?: bigint
gasUsed?: bigint
hash?: string
l1BlockNumber?: number
logsBloom?: string
miner?: string
mixHash?: string
nonce?: bigint
number?: number
parentBeaconBlockRoot?: string
parentHash?: string
receiptsRoot?: string
sendCount?: string
sendRoot?: string
sha3Uncles?: string
size?: bigint
stateRoot?: string
timestamp?: number
totalDifficulty?: bigint
transactionsRoot?: string
uncles?: string[]
withdrawals?: Withdrawal[]
withdrawalsRoot?: string
\ No newline at end of file +

Properties

baseFeePerGas?: bigint
blobGasUsed?: bigint
difficulty?: bigint
excessBlobGas?: bigint
extraData?: string
gasLimit?: bigint
gasUsed?: bigint
hash?: string
l1BlockNumber?: number
logsBloom?: string
miner?: string
mixHash?: string
nonce?: bigint
number?: number
parentBeaconBlockRoot?: string
parentHash?: string
receiptsRoot?: string
sendCount?: string
sendRoot?: string
sha3Uncles?: string
size?: bigint
stateRoot?: string
timestamp?: number
totalDifficulty?: bigint
transactionsRoot?: string
uncles?: string[]
withdrawals?: Withdrawal[]
withdrawalsRoot?: string
\ No newline at end of file diff --git a/docs/interfaces/BlockFilter.html b/docs/interfaces/BlockFilter.html index faa93c9..46a6ef2 100644 --- a/docs/interfaces/BlockFilter.html +++ b/docs/interfaces/BlockFilter.html @@ -1,8 +1,8 @@ BlockFilter | @envio-dev/hypersync-client

Filter for selecting blocks based on hash and miner

-
interface BlockFilter {
    hash?: string[];
    miner?: string[];
}

Properties

interface BlockFilter {
    hash?: string[];
    miner?: string[];
}

Properties

Properties

hash?: string[]

Hash of a block, any blocks that have one of these hashes will be returned. Empty means match all.

-
miner?: string[]

Miner address of a block, any blocks that have one of these miners will be returned. +

miner?: string[]

Miner address of a block, any blocks that have one of these miners will be returned. Empty means match all.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/interfaces/BlockSelection.html b/docs/interfaces/BlockSelection.html index 0f70f1a..3f8f789 100644 --- a/docs/interfaces/BlockSelection.html +++ b/docs/interfaces/BlockSelection.html @@ -1,6 +1,6 @@ BlockSelection | @envio-dev/hypersync-client

Selection criteria for blocks with include and exclude filters

-
interface BlockSelection {
    exclude?: BlockFilter;
    include: BlockFilter;
}

Properties

interface BlockSelection {
    exclude?: BlockFilter;
    include: BlockFilter;
}

Properties

Properties

exclude?: BlockFilter

Blocks that match this filter will be excluded

-
include: BlockFilter

Blocks that match this filter will be included

-
\ No newline at end of file +
include: BlockFilter

Blocks that match this filter will be included

+
\ No newline at end of file diff --git a/docs/interfaces/ClientConfig.html b/docs/interfaces/ClientConfig.html index f31cccf..c3dcb74 100644 --- a/docs/interfaces/ClientConfig.html +++ b/docs/interfaces/ClientConfig.html @@ -1,5 +1,5 @@ ClientConfig | @envio-dev/hypersync-client

Configuration for the hypersync client.

-
interface ClientConfig {
    apiToken: string;
    enableChecksumAddresses?: boolean;
    enableQueryCaching?: boolean;
    httpReqTimeoutMillis?: number;
    maxNumRetries?: number;
    proactiveRateLimitSleep?: boolean;
    retryBackoffMs?: number;
    retryBaseMs?: number;
    retryCeilingMs?: number;
    serializationFormat?: SerializationFormat;
    url: string;
}

Properties

interface ClientConfig {
    apiToken: string;
    enableChecksumAddresses?: boolean;
    enableQueryCaching?: boolean;
    httpReqTimeoutMillis?: number;
    maxNumRetries?: number;
    proactiveRateLimitSleep?: boolean;
    retryBackoffMs?: number;
    retryBaseMs?: number;
    retryCeilingMs?: number;
    serializationFormat?: SerializationFormat;
    url: string;
}

Properties

apiToken: string

HyperSync server api token.

-
enableChecksumAddresses?: boolean

Enable checksum addresses in responses.

-
enableQueryCaching?: boolean

Whether to use query caching when using CapnProto serialization format.

-
httpReqTimeoutMillis?: number

Milliseconds to wait for a response before timing out. Default: 30000.

-
maxNumRetries?: number

Number of retries to attempt before returning error. Default: 12.

-
proactiveRateLimitSleep?: boolean

Whether to proactively sleep when the rate limit is exhausted instead of +

enableChecksumAddresses?: boolean

Enable checksum addresses in responses.

+
enableQueryCaching?: boolean

Whether to use query caching when using CapnProto serialization format.

+
httpReqTimeoutMillis?: number

Milliseconds to wait for a response before timing out. Default: 30000.

+
maxNumRetries?: number

Number of retries to attempt before returning error. Default: 12.

+
proactiveRateLimitSleep?: boolean

Whether to proactively sleep when the rate limit is exhausted instead of sending requests that will be rejected with 429. Default: true.

-
retryBackoffMs?: number

Milliseconds that would be used for retry backoff increasing. Default: 500.

-
retryBaseMs?: number

Initial wait time for request backoff. Default: 200.

-
retryCeilingMs?: number

Ceiling time for request backoff. Default: 5000.

-
serializationFormat?: SerializationFormat

Query serialization format to use for HTTP requests. Default: Json.

-
url: string

HyperSync server URL.

-
\ No newline at end of file +
retryBackoffMs?: number

Milliseconds that would be used for retry backoff increasing. Default: 500.

+
retryBaseMs?: number

Initial wait time for request backoff. Default: 200.

+
retryCeilingMs?: number

Ceiling time for request backoff. Default: 5000.

+
serializationFormat?: SerializationFormat

Query serialization format to use for HTTP requests. Default: Json.

+
url: string

HyperSync server URL.

+
\ No newline at end of file diff --git a/docs/interfaces/ColumnMapping.html b/docs/interfaces/ColumnMapping.html index 5f060a6..b225c3a 100644 --- a/docs/interfaces/ColumnMapping.html +++ b/docs/interfaces/ColumnMapping.html @@ -1,13 +1,13 @@ ColumnMapping | @envio-dev/hypersync-client

Column mapping for stream function output. It lets you map columns you want into the DataTypes you want.

-
interface ColumnMapping {
    block?: Record<string, DataType>;
    decodedLog?: Record<string, DataType>;
    log?: Record<string, DataType>;
    trace?: Record<string, DataType>;
    transaction?: Record<string, DataType>;
}

Properties

interface ColumnMapping {
    block?: Record<string, DataType>;
    decodedLog?: Record<string, DataType>;
    log?: Record<string, DataType>;
    trace?: Record<string, DataType>;
    transaction?: Record<string, DataType>;
}

Properties

block?: Record<string, DataType>

Mapping for block data.

-
decodedLog?: Record<string, DataType>

Mapping for decoded log data.

-
log?: Record<string, DataType>

Mapping for log data.

-
trace?: Record<string, DataType>

Mapping for trace data.

-
transaction?: Record<string, DataType>

Mapping for transaction data.

-
\ No newline at end of file +
decodedLog?: Record<string, DataType>

Mapping for decoded log data.

+
log?: Record<string, DataType>

Mapping for log data.

+
trace?: Record<string, DataType>

Mapping for trace data.

+
transaction?: Record<string, DataType>

Mapping for transaction data.

+
\ No newline at end of file diff --git a/docs/interfaces/DecodedEvent.html b/docs/interfaces/DecodedEvent.html index 26bb0bd..8eef3a9 100644 --- a/docs/interfaces/DecodedEvent.html +++ b/docs/interfaces/DecodedEvent.html @@ -1,4 +1,4 @@ DecodedEvent | @envio-dev/hypersync-client

Decoded EVM log

-
interface DecodedEvent {
    body: DecodedSolValue[];
    indexed: DecodedSolValue[];
}

Properties

interface DecodedEvent {
    body: DecodedSolValue[];
    indexed: DecodedSolValue[];
}

Properties

Properties

indexed: DecodedSolValue[]
\ No newline at end of file +

Properties

indexed: DecodedSolValue[]
\ No newline at end of file diff --git a/docs/interfaces/DecodedSolValue.html b/docs/interfaces/DecodedSolValue.html index fb51ebd..c559d19 100644 --- a/docs/interfaces/DecodedSolValue.html +++ b/docs/interfaces/DecodedSolValue.html @@ -1,2 +1,2 @@ -DecodedSolValue | @envio-dev/hypersync-client
interface DecodedSolValue {
    val: string | bigint | boolean | DecodedSolValue[];
}

Properties

val -

Properties

val: string | bigint | boolean | DecodedSolValue[]
\ No newline at end of file +DecodedSolValue | @envio-dev/hypersync-client
interface DecodedSolValue {
    val: string | bigint | boolean | DecodedSolValue[];
}

Properties

val +

Properties

val: string | bigint | boolean | DecodedSolValue[]
\ No newline at end of file diff --git a/docs/interfaces/Event.html b/docs/interfaces/Event.html index f577715..855e5a6 100644 --- a/docs/interfaces/Event.html +++ b/docs/interfaces/Event.html @@ -1,8 +1,8 @@ Event | @envio-dev/hypersync-client

Data relating to a single event (log)

-
interface Event {
    block?: Block;
    log: Log;
    transaction?: Transaction;
}

Properties

interface Event {
    block?: Block;
    log: Log;
    transaction?: Transaction;
}

Properties

block?: Block

Block that this event happened in

-
log: Log

Evm log data

-
transaction?: Transaction

Transaction that triggered this event

-
\ No newline at end of file +
log: Log

Evm log data

+
transaction?: Transaction

Transaction that triggered this event

+
\ No newline at end of file diff --git a/docs/interfaces/EventResponse.html b/docs/interfaces/EventResponse.html index c9484a7..70d5061 100644 --- a/docs/interfaces/EventResponse.html +++ b/docs/interfaces/EventResponse.html @@ -1,14 +1,14 @@ EventResponse | @envio-dev/hypersync-client

Response from an event query

-
interface EventResponse {
    archiveHeight?: number;
    data: Event[];
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

interface EventResponse {
    archiveHeight?: number;
    data: Event[];
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

archiveHeight?: number

Current height of the source hypersync instance

-
data: Event[]

Response data

-
nextBlock: number

Next block to query for, the responses are paginated so, +

data: Event[]

Response data

+
nextBlock: number

Next block to query for, the responses are paginated so, the caller should continue the query from this block if they didn't get responses up to the to_block they specified in the Query.

-
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

-
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

-
\ No newline at end of file +
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

+
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

+
\ No newline at end of file diff --git a/docs/interfaces/Events.html b/docs/interfaces/Events.html index 17a436c..c233e16 100644 --- a/docs/interfaces/Events.html +++ b/docs/interfaces/Events.html @@ -1,14 +1,14 @@ Events | @envio-dev/hypersync-client

Collection of events from a blockchain query

-
interface Events {
    archiveHeight?: number;
    events: Event[];
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

interface Events {
    archiveHeight?: number;
    events: Event[];
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

archiveHeight?: number

Current height of the source hypersync instance

-
events: Event[]

Response data

-
nextBlock: number

Next block to query for, the responses are paginated so, +

events: Event[]

Response data

+
nextBlock: number

Next block to query for, the responses are paginated so, the caller should continue the query from this block if they didn't get responses up to the to_block they specified in the Query.

-
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

-
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

-
\ No newline at end of file +
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

+
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

+
\ No newline at end of file diff --git a/docs/interfaces/FieldSelection.html b/docs/interfaces/FieldSelection.html index 141e9c4..52bfcab 100644 --- a/docs/interfaces/FieldSelection.html +++ b/docs/interfaces/FieldSelection.html @@ -1,10 +1,10 @@ FieldSelection | @envio-dev/hypersync-client

Selection of specific fields to return for each data type

-
interface FieldSelection {
    block?: BlockField[];
    log?: LogField[];
    trace?: TraceField[];
    transaction?: TransactionField[];
}

Properties

interface FieldSelection {
    block?: BlockField[];
    log?: LogField[];
    trace?: TraceField[];
    transaction?: TransactionField[];
}

Properties

block?: BlockField[]

Block fields to include in the response

-
log?: LogField[]

Log fields to include in the response

-
trace?: TraceField[]

Trace fields to include in the response

-
transaction?: TransactionField[]

Transaction fields to include in the response

-
\ No newline at end of file +
log?: LogField[]

Log fields to include in the response

+
trace?: TraceField[]

Trace fields to include in the response

+
transaction?: TransactionField[]

Transaction fields to include in the response

+
\ No newline at end of file diff --git a/docs/interfaces/HeightStreamConnectedEvent.html b/docs/interfaces/HeightStreamConnectedEvent.html index d9830e9..c7ee3f5 100644 --- a/docs/interfaces/HeightStreamConnectedEvent.html +++ b/docs/interfaces/HeightStreamConnectedEvent.html @@ -1,2 +1,2 @@ -HeightStreamConnectedEvent | @envio-dev/hypersync-client

Interface HeightStreamConnectedEvent

interface HeightStreamConnectedEvent {
    type: "Connected";
}

Properties

Properties

type: "Connected"
\ No newline at end of file +HeightStreamConnectedEvent | @envio-dev/hypersync-client

Interface HeightStreamConnectedEvent

interface HeightStreamConnectedEvent {
    type: "Connected";
}

Properties

Properties

type: "Connected"
\ No newline at end of file diff --git a/docs/interfaces/HeightStreamHeightEvent.html b/docs/interfaces/HeightStreamHeightEvent.html index cb0e620..3fc6e0e 100644 --- a/docs/interfaces/HeightStreamHeightEvent.html +++ b/docs/interfaces/HeightStreamHeightEvent.html @@ -1,3 +1,3 @@ -HeightStreamHeightEvent | @envio-dev/hypersync-client
interface HeightStreamHeightEvent {
    height: number;
    type: "Height";
}

Properties

height +HeightStreamHeightEvent | @envio-dev/hypersync-client
interface HeightStreamHeightEvent {
    height: number;
    type: "Height";
}

Properties

Properties

height: number
type: "Height"
\ No newline at end of file +

Properties

height: number
type: "Height"
\ No newline at end of file diff --git a/docs/interfaces/HeightStreamReconnectingEvent.html b/docs/interfaces/HeightStreamReconnectingEvent.html index a3618b7..3102c45 100644 --- a/docs/interfaces/HeightStreamReconnectingEvent.html +++ b/docs/interfaces/HeightStreamReconnectingEvent.html @@ -1,4 +1,4 @@ -HeightStreamReconnectingEvent | @envio-dev/hypersync-client

Interface HeightStreamReconnectingEvent

interface HeightStreamReconnectingEvent {
    delayMillis: number;
    errorMsg: string;
    type: "Reconnecting";
}

Properties

delayMillis +HeightStreamReconnectingEvent | @envio-dev/hypersync-client

Interface HeightStreamReconnectingEvent

interface HeightStreamReconnectingEvent {
    delayMillis: number;
    errorMsg: string;
    type: "Reconnecting";
}

Properties

delayMillis: number
errorMsg: string
type: "Reconnecting"
\ No newline at end of file +

Properties

delayMillis: number
errorMsg: string
type: "Reconnecting"
\ No newline at end of file diff --git a/docs/interfaces/Log.html b/docs/interfaces/Log.html index c14d217..dd48778 100644 --- a/docs/interfaces/Log.html +++ b/docs/interfaces/Log.html @@ -1,6 +1,6 @@ Log | @envio-dev/hypersync-client

Evm log object

See ethereum rpc spec for the meaning of fields

-
interface Log {
    address?: string;
    blockHash?: string;
    blockNumber?: number;
    data?: string;
    logIndex?: number;
    removed?: boolean;
    topics: string[];
    transactionHash?: string;
    transactionIndex?: number;
}

Properties

interface Log {
    address?: string;
    blockHash?: string;
    blockNumber?: number;
    data?: string;
    logIndex?: number;
    removed?: boolean;
    topics: string[];
    transactionHash?: string;
    transactionIndex?: number;
}

Properties

address?: string
blockHash?: string
blockNumber?: number
data?: string
logIndex?: number
removed?: boolean
topics: string[]
transactionHash?: string
transactionIndex?: number
\ No newline at end of file +

Properties

address?: string
blockHash?: string
blockNumber?: number
data?: string
logIndex?: number
removed?: boolean
topics: string[]
transactionHash?: string
transactionIndex?: number
\ No newline at end of file diff --git a/docs/interfaces/LogFilter.html b/docs/interfaces/LogFilter.html index 1520e70..8c9ba5b 100644 --- a/docs/interfaces/LogFilter.html +++ b/docs/interfaces/LogFilter.html @@ -1,8 +1,8 @@ LogFilter | @envio-dev/hypersync-client

Filter for selecting logs based on address and topics

-
interface LogFilter {
    address?: string[];
    topics?: string[][];
}

Properties

interface LogFilter {
    address?: string[];
    topics?: string[][];
}

Properties

Properties

address?: string[]

Address of the contract, any logs that has any of these addresses will be returned. Empty means match all.

-
topics?: string[][]

Topics to match, each member of the top level array is another array, if the nth topic matches any +

topics?: string[][]

Topics to match, each member of the top level array is another array, if the nth topic matches any topic specified in topics[n] the log will be returned. Empty means match all.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/interfaces/LogSelection.html b/docs/interfaces/LogSelection.html index 0fda338..a62405b 100644 --- a/docs/interfaces/LogSelection.html +++ b/docs/interfaces/LogSelection.html @@ -1,6 +1,6 @@ LogSelection | @envio-dev/hypersync-client

Selection criteria for logs with include and exclude filters

-
interface LogSelection {
    exclude?: LogFilter;
    include: LogFilter;
}

Properties

interface LogSelection {
    exclude?: LogFilter;
    include: LogFilter;
}

Properties

Properties

exclude?: LogFilter

Logs that match this filter will be excluded

-
include: LogFilter

Logs that match this filter will be included

-
\ No newline at end of file +
include: LogFilter

Logs that match this filter will be included

+
\ No newline at end of file diff --git a/docs/interfaces/Query.html b/docs/interfaces/Query.html index ef05f64..09ade72 100644 --- a/docs/interfaces/Query.html +++ b/docs/interfaces/Query.html @@ -1,5 +1,5 @@ Query | @envio-dev/hypersync-client

Query for retrieving blockchain data

-
interface Query {
    blocks?: (BlockFilter | BlockSelection)[];
    fieldSelection: FieldSelection;
    fromBlock: number;
    includeAllBlocks?: boolean;
    joinMode?: JoinMode;
    logs?: (LogFilter | LogSelection)[];
    maxNumBlocks?: number;
    maxNumLogs?: number;
    maxNumTraces?: number;
    maxNumTransactions?: number;
    toBlock?: number;
    traces?: (TraceSelection | TraceFilter)[];
    transactions?: (TransactionSelection | TransactionFilter)[];
}

Properties

interface Query {
    blocks?: (BlockFilter | BlockSelection)[];
    fieldSelection: FieldSelection;
    fromBlock: number;
    includeAllBlocks?: boolean;
    joinMode?: JoinMode;
    logs?: (LogFilter | LogSelection)[];
    maxNumBlocks?: number;
    maxNumLogs?: number;
    maxNumTraces?: number;
    maxNumTransactions?: number;
    toBlock?: number;
    traces?: (TraceSelection | TraceFilter)[];
    transactions?: (TransactionSelection | TransactionFilter)[];
}

Properties

List of block selections, the query will return blocks that match any of these selections

-
fieldSelection: FieldSelection

Field selection. The user can select which fields they are interested in, requesting less fields will improve +

fieldSelection: FieldSelection

Field selection. The user can select which fields they are interested in, requesting less fields will improve query execution time and reduce the payload size so the user should always use a minimal number of fields.

-
fromBlock: number

The block to start the query from

-
includeAllBlocks?: boolean

Weather to include all blocks regardless of if they are related to a returned transaction or log. Normally +

fromBlock: number

The block to start the query from

+
includeAllBlocks?: boolean

Weather to include all blocks regardless of if they are related to a returned transaction or log. Normally the server will return only the blocks that are related to the transaction or logs in the response. But if this is set to true, the server will return data for all blocks in the requested range [from_block, to_block).

-
joinMode?: JoinMode

Selects join mode for the query, +

joinMode?: JoinMode

Selects join mode for the query, Default: join in this order logs -> transactions -> traces -> blocks JoinAll: join everything to everything. For example if logSelection matches log0, we get the associated transaction of log0 and then we get associated logs of that transaction as well. Applites similarly to blocks, traces. JoinNothing: join nothing.

-
logs?: (LogFilter | LogSelection)[]

List of log selections, these have an or relationship between them, so the query will return logs +

logs?: (LogFilter | LogSelection)[]

List of log selections, these have an or relationship between them, so the query will return logs that match any of these selections.

-
maxNumBlocks?: number

Maximum number of blocks that should be returned, the server might return more blocks than this number but +

maxNumBlocks?: number

Maximum number of blocks that should be returned, the server might return more blocks than this number but it won't overshoot by too much.

-
maxNumLogs?: number

Maximum number of logs that should be returned, the server might return more logs than this number but +

maxNumLogs?: number

Maximum number of logs that should be returned, the server might return more logs than this number but it won't overshoot by too much.

-
maxNumTraces?: number

Maximum number of traces that should be returned, the server might return more traces than this number but +

maxNumTraces?: number

Maximum number of traces that should be returned, the server might return more traces than this number but it won't overshoot by too much.

-
maxNumTransactions?: number

Maximum number of transactions that should be returned, the server might return more transactions than this number but +

maxNumTransactions?: number

Maximum number of transactions that should be returned, the server might return more transactions than this number but it won't overshoot by too much.

-
toBlock?: number

The block to end the query at. If not specified, the query will go until the +

toBlock?: number

The block to end the query at. If not specified, the query will go until the end of data. Exclusive, the returned range will be [from_block..to_block).

The query will return before it reaches this target block if it hits the time limit configured on the server. The user should continue their query by putting the next_block field in the response into from_block field of their next query. This implements pagination.

-

List of trace selections, the query will return traces that match any of these selections and +

List of trace selections, the query will return traces that match any of these selections and it will re turn traces that are related to the returned logs.

-

List of transaction selections, the query will return transactions that match any of these selections and +

List of transaction selections, the query will return transactions that match any of these selections and it will return transactions that are related to the returned logs.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/interfaces/QueryResponse.html b/docs/interfaces/QueryResponse.html index 9c5070e..e918e09 100644 --- a/docs/interfaces/QueryResponse.html +++ b/docs/interfaces/QueryResponse.html @@ -1,14 +1,14 @@ QueryResponse | @envio-dev/hypersync-client

Response from a blockchain query

-
interface QueryResponse {
    archiveHeight?: number;
    data: QueryResponseData;
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

interface QueryResponse {
    archiveHeight?: number;
    data: QueryResponseData;
    nextBlock: number;
    rollbackGuard?: RollbackGuard;
    totalExecutionTime: number;
}

Properties

archiveHeight?: number

Current height of the source hypersync instance

-

Response data

-
nextBlock: number

Next block to query for, the responses are paginated so, +

Response data

+
nextBlock: number

Next block to query for, the responses are paginated so, the caller should continue the query from this block if they didn't get responses up to the to_block they specified in the Query.

-
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

-
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

-
\ No newline at end of file +
rollbackGuard?: RollbackGuard

Rollback guard, supposed to be used to detect rollbacks

+
totalExecutionTime: number

Total time it took the hypersync instance to execute the query.

+
\ No newline at end of file diff --git a/docs/interfaces/QueryResponseData.html b/docs/interfaces/QueryResponseData.html index 44c753c..9c55668 100644 --- a/docs/interfaces/QueryResponseData.html +++ b/docs/interfaces/QueryResponseData.html @@ -1,10 +1,10 @@ QueryResponseData | @envio-dev/hypersync-client

Data returned from a query response

-
interface QueryResponseData {
    blocks: Block[];
    logs: Log[];
    traces: Trace[];
    transactions: Transaction[];
}

Properties

interface QueryResponseData {
    blocks: Block[];
    logs: Log[];
    traces: Trace[];
    transactions: Transaction[];
}

Properties

blocks: Block[]

Blocks returned by the query

-
logs: Log[]

Logs returned by the query

-
traces: Trace[]

Traces returned by the query

-
transactions: Transaction[]

Transactions returned by the query

-
\ No newline at end of file +
logs: Log[]

Logs returned by the query

+
traces: Trace[]

Traces returned by the query

+
transactions: Transaction[]

Transactions returned by the query

+
\ No newline at end of file diff --git a/docs/interfaces/QueryResponseWithRateLimit.html b/docs/interfaces/QueryResponseWithRateLimit.html index 1be7c03..a4a58ba 100644 --- a/docs/interfaces/QueryResponseWithRateLimit.html +++ b/docs/interfaces/QueryResponseWithRateLimit.html @@ -1,6 +1,7 @@ QueryResponseWithRateLimit | @envio-dev/hypersync-client

Interface QueryResponseWithRateLimit

Response from a query that includes rate limit information.

-
interface QueryResponseWithRateLimit {
    rateLimit: RateLimitInfo;
    response: QueryResponse;
}

Properties

interface QueryResponseWithRateLimit {
    rateLimit: RateLimitInfo;
    response?: QueryResponse;
}

Properties

Properties

rateLimit: RateLimitInfo

Rate limit information from response headers.

-
response: QueryResponse

The query response data.

-
\ No newline at end of file +
response?: QueryResponse

The query response data. null when the request was rate limited +(HTTP 429) — in that case inspect rate_limit and retry later.

+
\ No newline at end of file diff --git a/docs/interfaces/RateLimitInfo.html b/docs/interfaces/RateLimitInfo.html index a0e8e56..c9d2f44 100644 --- a/docs/interfaces/RateLimitInfo.html +++ b/docs/interfaces/RateLimitInfo.html @@ -1,10 +1,10 @@ RateLimitInfo | @envio-dev/hypersync-client

Rate limit information from server response headers.

-
interface RateLimitInfo {
    cost?: number;
    limit?: number;
    remaining?: number;
    resetSecs?: number;
}

Properties

interface RateLimitInfo {
    cost?: number;
    limit?: number;
    remaining?: number;
    resetSecs?: number;
}

Properties

cost?: number

Budget consumed per request.

-
limit?: number

Total request quota for the current window.

-
remaining?: number

Remaining budget in the current window.

-
resetSecs?: number

Seconds until the rate limit window resets.

-
\ No newline at end of file +
limit?: number

Total request quota for the current window.

+
remaining?: number

Remaining budget in the current window.

+
resetSecs?: number

Seconds until the rate limit window resets.

+
\ No newline at end of file diff --git a/docs/interfaces/RollbackGuard.html b/docs/interfaces/RollbackGuard.html index 0b6e85f..e1907b4 100644 --- a/docs/interfaces/RollbackGuard.html +++ b/docs/interfaces/RollbackGuard.html @@ -1,13 +1,13 @@ -RollbackGuard | @envio-dev/hypersync-client
interface RollbackGuard {
    blockNumber: number;
    firstBlockNumber: number;
    firstParentHash: string;
    hash: string;
    timestamp: number;
}

Properties

blockNumber +RollbackGuard | @envio-dev/hypersync-client
interface RollbackGuard {
    blockNumber: number;
    firstBlockNumber: number;
    firstParentHash: string;
    hash: string;
    timestamp: number;
}

Properties

blockNumber: number

Block number of the last scanned block

-
firstBlockNumber: number

Block number of the first scanned block in memory.

+
firstBlockNumber: number

Block number of the first scanned block in memory.

This might not be the first scanned block. It only includes blocks that are in memory (possible to be rolled back).

-
firstParentHash: string

Parent hash of the first scanned block in memory.

+
firstParentHash: string

Parent hash of the first scanned block in memory.

This might not be the first scanned block. It only includes blocks that are in memory (possible to be rolled back).

-
hash: string

Block hash of the last scanned block

-
timestamp: number

Block timestamp of the last scanned block

-
\ No newline at end of file +
hash: string

Block hash of the last scanned block

+
timestamp: number

Block timestamp of the last scanned block

+
\ No newline at end of file diff --git a/docs/interfaces/StreamConfig.html b/docs/interfaces/StreamConfig.html index ccc503c..7b02ce0 100644 --- a/docs/interfaces/StreamConfig.html +++ b/docs/interfaces/StreamConfig.html @@ -1,31 +1,37 @@ StreamConfig | @envio-dev/hypersync-client

Config for hypersync event streaming.

-
interface StreamConfig {
    batchSize?: number;
    columnMapping?: ColumnMapping;
    concurrency?: number;
    eventSignature?: string;
    hexOutput?: HexOutput;
    maxBatchSize?: number;
    maxNumBlocks?: number;
    maxNumLogs?: number;
    maxNumTraces?: number;
    maxNumTransactions?: number;
    minBatchSize?: number;
    responseBytesCeiling?: number;
    responseBytesFloor?: number;
    reverse?: boolean;
}

Properties

interface StreamConfig {
    batchSize?: number;
    columnMapping?: ColumnMapping;
    concurrency?: number;
    eventSignature?: string;
    hexOutput?: HexOutput;
    maxBatchSize?: number;
    maxBufferedBytes?: number;
    maxNumBlocks?: number;
    maxNumLogs?: number;
    maxNumTraces?: number;
    maxNumTransactions?: number;
    minBatchSize?: number;
    responseBytesTarget?: number;
    reverse?: boolean;
}

Properties

batchSize?: number

Initial batch size. Size would be adjusted based on response size during execution. Default: 1000.

-
columnMapping?: ColumnMapping

Column mapping for stream function output. +

Properties

batchSize?: number

Initial, deliberately-overestimated batch size used for the first wave of +requests and as a fallback before any response density is measured. Default: 1000.

+
columnMapping?: ColumnMapping

Column mapping for stream function output. It lets you map columns you want into the DataTypes you want.

-
concurrency?: number

Number of async threads that would be spawned to execute different block ranges of queries. Default: 10.

-
eventSignature?: string

Event signature used to populate decode logs. Decode logs would be empty if set to None.

-
hexOutput?: HexOutput

Determines formatting of binary columns numbers into utf8 hex. Default: NoEncode.

-
maxBatchSize?: number

Maximum batch size that could be used during dynamic adjustment. Default: 200000.

-
maxNumBlocks?: number

Max number of blocks to fetch in a single request.

-
maxNumLogs?: number

Max number of logs to fetch in a single request.

-
maxNumTraces?: number

Max number of traces to fetch in a single request.

-
maxNumTransactions?: number

Max number of transactions to fetch in a single request.

-
minBatchSize?: number

Minimum batch size that could be used during dynamic adjustment. Default: 200.

-
responseBytesCeiling?: number

Size of a response in bytes from which step size will be lowered. Default: 500000.

-
responseBytesFloor?: number

Size of a response in bytes from which step size will be increased. Default: 250000.

-
reverse?: boolean

Stream data in reverse order. Default: false.

-
\ No newline at end of file +
concurrency?: number

Number of async threads that would be spawned to execute different block ranges of queries. Default: 10.

+
eventSignature?: string

Event signature used to populate decode logs. Decode logs would be empty if set to None.

+
hexOutput?: HexOutput

Determines formatting of binary columns numbers into utf8 hex. Default: NoEncode.

+
maxBatchSize?: number

Optional hard cap on the number of blocks per request. Leave unset (the +default) for no cap: an over-large request is truncated by the server and +the remainder is backfilled in parallel, so overshoot self-corrects.

+
maxBufferedBytes?: number

Optional cap on the bytes of fetched-but-undelivered chunks held in the +reorder buffer (consumer backpressure). Leave unset (the default) for an +adaptive cap that grows with the largest response seen.

+
maxNumBlocks?: number

Max number of blocks to fetch in a single request.

+
maxNumLogs?: number

Max number of logs to fetch in a single request.

+
maxNumTraces?: number

Max number of traces to fetch in a single request.

+
maxNumTransactions?: number

Max number of transactions to fetch in a single request.

+
minBatchSize?: number

Hard lower clamp on the projected block count, to avoid tiny ranges. Default: 200.

+
responseBytesTarget?: number

Target response size in bytes. Each request's block span is projected from +the most recently observed byte-density to aim each response at this size. Default: 400000.

+
reverse?: boolean

Stream data in reverse order. Default: false.

+
\ No newline at end of file diff --git a/docs/interfaces/Trace.html b/docs/interfaces/Trace.html index 8d9181b..52f01a5 100644 --- a/docs/interfaces/Trace.html +++ b/docs/interfaces/Trace.html @@ -1,6 +1,6 @@ Trace | @envio-dev/hypersync-client

Evm trace object

See ethereum rpc spec for the meaning of fields

-
interface Trace {
    actionAddress?: string;
    address?: string;
    author?: string;
    balance?: bigint;
    blockHash?: string;
    blockNumber?: number;
    callType?: string;
    code?: string;
    error?: string;
    from?: string;
    gas?: bigint;
    gasUsed?: bigint;
    init?: string;
    input?: string;
    output?: string;
    refundAddress?: string;
    rewardType?: string;
    sighash?: string;
    subtraces?: number;
    to?: string;
    traceAddress?: number[];
    transactionHash?: string;
    transactionPosition?: number;
    type?: string;
    value?: bigint;
}

Properties

interface Trace {
    actionAddress?: string;
    address?: string;
    author?: string;
    balance?: bigint;
    blockHash?: string;
    blockNumber?: number;
    callType?: string;
    code?: string;
    error?: string;
    from?: string;
    gas?: bigint;
    gasUsed?: bigint;
    init?: string;
    input?: string;
    output?: string;
    refundAddress?: string;
    rewardType?: string;
    sighash?: string;
    subtraces?: number;
    to?: string;
    traceAddress?: number[];
    transactionHash?: string;
    transactionPosition?: number;
    type?: string;
    value?: bigint;
}

Properties

actionAddress?: string
address?: string
author?: string
balance?: bigint
blockHash?: string
blockNumber?: number
callType?: string
code?: string
error?: string
from?: string
gas?: bigint
gasUsed?: bigint
init?: string
input?: string
output?: string
refundAddress?: string
rewardType?: string
sighash?: string
subtraces?: number
to?: string
traceAddress?: number[]
transactionHash?: string
transactionPosition?: number
type?: string
value?: bigint
\ No newline at end of file +

Properties

actionAddress?: string
address?: string
author?: string
balance?: bigint
blockHash?: string
blockNumber?: number
callType?: string
code?: string
error?: string
from?: string
gas?: bigint
gasUsed?: bigint
init?: string
input?: string
output?: string
refundAddress?: string
rewardType?: string
sighash?: string
subtraces?: number
to?: string
traceAddress?: number[]
transactionHash?: string
transactionPosition?: number
type?: string
value?: bigint
\ No newline at end of file diff --git a/docs/interfaces/TraceFilter.html b/docs/interfaces/TraceFilter.html index c5ec784..6b1902e 100644 --- a/docs/interfaces/TraceFilter.html +++ b/docs/interfaces/TraceFilter.html @@ -1,9 +1,9 @@ TraceFilter | @envio-dev/hypersync-client

Filter for selecting traces based on various criteria

-
interface TraceFilter {
    address?: string[];
    callType?: string[];
    from?: string[];
    rewardType?: string[];
    sighash?: string[];
    to?: string[];
    type?: string[];
}

Properties

interface TraceFilter {
    address?: string[];
    callType?: string[];
    from?: string[];
    rewardType?: string[];
    sighash?: string[];
    to?: string[];
    type?: string[];
}

Properties

address?: string[]
callType?: string[]
from?: string[]
rewardType?: string[]
sighash?: string[]
to?: string[]
type?: string[]
\ No newline at end of file +

Properties

address?: string[]
callType?: string[]
from?: string[]
rewardType?: string[]
sighash?: string[]
to?: string[]
type?: string[]
\ No newline at end of file diff --git a/docs/interfaces/TraceSelection.html b/docs/interfaces/TraceSelection.html index 84fab8a..a2ee27d 100644 --- a/docs/interfaces/TraceSelection.html +++ b/docs/interfaces/TraceSelection.html @@ -1,6 +1,6 @@ TraceSelection | @envio-dev/hypersync-client

Selection criteria for traces with include and exclude filters

-
interface TraceSelection {
    exclude?: TraceFilter;
    include: TraceFilter;
}

Properties

interface TraceSelection {
    exclude?: TraceFilter;
    include: TraceFilter;
}

Properties

Properties

exclude?: TraceFilter

Traces that match this filter will be excluded

-
include: TraceFilter

Traces that match this filter will be included

-
\ No newline at end of file +
include: TraceFilter

Traces that match this filter will be included

+
\ No newline at end of file diff --git a/docs/interfaces/Transaction.html b/docs/interfaces/Transaction.html index 2d24ee2..2855c97 100644 --- a/docs/interfaces/Transaction.html +++ b/docs/interfaces/Transaction.html @@ -1,6 +1,6 @@ Transaction | @envio-dev/hypersync-client

Evm transaction object

See ethereum rpc spec for the meaning of fields

-
interface Transaction {
    accessList?: AccessList[];
    authorizationList?: Authorization[];
    blobGasPrice?: bigint;
    blobGasUsed?: bigint;
    blobVersionedHashes?: string[];
    blockHash?: string;
    blockNumber?: number;
    chainId?: number;
    contractAddress?: string;
    cumulativeGasUsed?: bigint;
    depositNonce?: bigint;
    depositReceiptVersion?: bigint;
    effectiveGasPrice?: bigint;
    from?: string;
    gas?: bigint;
    gasPrice?: bigint;
    gasUsed?: bigint;
    gasUsedForL1?: bigint;
    hash?: string;
    input?: string;
    l1BaseFeeScalar?: bigint;
    l1BlobBaseFee?: bigint;
    l1BlobBaseFeeScalar?: bigint;
    l1BlockNumber?: number;
    l1Fee?: bigint;
    l1FeeScalar?: number;
    l1GasPrice?: bigint;
    l1GasUsed?: bigint;
    logsBloom?: string;
    maxFeePerBlobGas?: bigint;
    maxFeePerGas?: bigint;
    maxPriorityFeePerGas?: bigint;
    mint?: bigint;
    nonce?: bigint;
    r?: string;
    root?: string;
    s?: string;
    sighash?: string;
    sourceHash?: string;
    status?: number;
    to?: string;
    transactionIndex?: number;
    type?: number;
    v?: string;
    value?: bigint;
    yParity?: string;
}

Properties

interface Transaction {
    accessList?: AccessList[];
    authorizationList?: Authorization[];
    blobGasPrice?: bigint;
    blobGasUsed?: bigint;
    blobVersionedHashes?: string[];
    blockHash?: string;
    blockNumber?: number;
    chainId?: number;
    contractAddress?: string;
    cumulativeGasUsed?: bigint;
    depositNonce?: bigint;
    depositReceiptVersion?: bigint;
    effectiveGasPrice?: bigint;
    from?: string;
    gas?: bigint;
    gasPrice?: bigint;
    gasUsed?: bigint;
    gasUsedForL1?: bigint;
    hash?: string;
    input?: string;
    l1BaseFeeScalar?: bigint;
    l1BlobBaseFee?: bigint;
    l1BlobBaseFeeScalar?: bigint;
    l1BlockNumber?: number;
    l1Fee?: bigint;
    l1FeeScalar?: number;
    l1GasPrice?: bigint;
    l1GasUsed?: bigint;
    logsBloom?: string;
    maxFeePerBlobGas?: bigint;
    maxFeePerGas?: bigint;
    maxPriorityFeePerGas?: bigint;
    mint?: bigint;
    nonce?: bigint;
    r?: string;
    root?: string;
    s?: string;
    sighash?: string;
    sourceHash?: string;
    status?: number;
    to?: string;
    transactionIndex?: number;
    type?: number;
    v?: string;
    value?: bigint;
    yParity?: string;
}

Properties

accessList?: AccessList[]
authorizationList?: Authorization[]
blobGasPrice?: bigint
blobGasUsed?: bigint
blobVersionedHashes?: string[]
blockHash?: string
blockNumber?: number
chainId?: number
contractAddress?: string
cumulativeGasUsed?: bigint
depositNonce?: bigint
depositReceiptVersion?: bigint
effectiveGasPrice?: bigint
from?: string
gas?: bigint
gasPrice?: bigint
gasUsed?: bigint
gasUsedForL1?: bigint
hash?: string
input?: string
l1BaseFeeScalar?: bigint
l1BlobBaseFee?: bigint
l1BlobBaseFeeScalar?: bigint
l1BlockNumber?: number
l1Fee?: bigint
l1FeeScalar?: number
l1GasPrice?: bigint
l1GasUsed?: bigint
logsBloom?: string
maxFeePerBlobGas?: bigint
maxFeePerGas?: bigint
maxPriorityFeePerGas?: bigint
mint?: bigint
nonce?: bigint
r?: string
root?: string
s?: string
sighash?: string
sourceHash?: string
status?: number
to?: string
transactionIndex?: number
type?: number
v?: string
value?: bigint
yParity?: string
\ No newline at end of file +

Properties

accessList?: AccessList[]
authorizationList?: Authorization[]
blobGasPrice?: bigint
blobGasUsed?: bigint
blobVersionedHashes?: string[]
blockHash?: string
blockNumber?: number
chainId?: number
contractAddress?: string
cumulativeGasUsed?: bigint
depositNonce?: bigint
depositReceiptVersion?: bigint
effectiveGasPrice?: bigint
from?: string
gas?: bigint
gasPrice?: bigint
gasUsed?: bigint
gasUsedForL1?: bigint
hash?: string
input?: string
l1BaseFeeScalar?: bigint
l1BlobBaseFee?: bigint
l1BlobBaseFeeScalar?: bigint
l1BlockNumber?: number
l1Fee?: bigint
l1FeeScalar?: number
l1GasPrice?: bigint
l1GasUsed?: bigint
logsBloom?: string
maxFeePerBlobGas?: bigint
maxFeePerGas?: bigint
maxPriorityFeePerGas?: bigint
mint?: bigint
nonce?: bigint
r?: string
root?: string
s?: string
sighash?: string
sourceHash?: string
status?: number
to?: string
transactionIndex?: number
type?: number
v?: string
value?: bigint
yParity?: string
\ No newline at end of file diff --git a/docs/interfaces/TransactionFilter.html b/docs/interfaces/TransactionFilter.html index 6d1c109..e314722 100644 --- a/docs/interfaces/TransactionFilter.html +++ b/docs/interfaces/TransactionFilter.html @@ -1,5 +1,5 @@ TransactionFilter | @envio-dev/hypersync-client

Filter for selecting transactions based on various criteria

-
interface TransactionFilter {
    authorizationList?: AuthorizationSelection[];
    contractAddress?: string[];
    from?: string[];
    hash?: string[];
    sighash?: string[];
    status?: number;
    to?: string[];
    type?: number[];
}

Properties

interface TransactionFilter {
    authorizationList?: AuthorizationSelection[];
    contractAddress?: string[];
    from?: string[];
    hash?: string[];
    sighash?: string[];
    status?: number;
    to?: string[];
    type?: number[];
}

Properties

authorizationList?: AuthorizationSelection[]

If transaction.authorization_list matches any of these values, the transaction will be returned.

-
contractAddress?: string[]
from?: string[]

Address the transaction should originate from. If transaction.from matches any of these, the transaction +

contractAddress?: string[]
from?: string[]

Address the transaction should originate from. If transaction.from matches any of these, the transaction will be returned. Keep in mind that this has an and relationship with to filter, so each transaction should match both of them. Empty means match all.

-
hash?: string[]

If transaction.hash matches any of these values, the transaction will be returned. +

hash?: string[]

If transaction.hash matches any of these values, the transaction will be returned. Empty means match all.

-
sighash?: string[]

If first 4 bytes of transaction input matches any of these, transaction will be returned. Empty means match all.

-
status?: number

If tx.status matches this it will be returned.

-
to?: string[]

Address the transaction should go to. If transaction.to matches any of these, the transaction will +

sighash?: string[]

If first 4 bytes of transaction input matches any of these, transaction will be returned. Empty means match all.

+
status?: number

If tx.status matches this it will be returned.

+
to?: string[]

Address the transaction should go to. If transaction.to matches any of these, the transaction will be returned. Keep in mind that this has an and relationship with from filter, so each transaction should match both of them. Empty means match all.

-
type?: number[]

If transaction.type matches any of these values, the transaction will be returned

-
\ No newline at end of file +
type?: number[]

If transaction.type matches any of these values, the transaction will be returned

+
\ No newline at end of file diff --git a/docs/interfaces/TransactionSelection.html b/docs/interfaces/TransactionSelection.html index 7056af0..f27f7f7 100644 --- a/docs/interfaces/TransactionSelection.html +++ b/docs/interfaces/TransactionSelection.html @@ -1,6 +1,6 @@ TransactionSelection | @envio-dev/hypersync-client

Selection criteria for transactions with include and exclude filters

-
interface TransactionSelection {
    exclude?: TransactionFilter;
    include: TransactionFilter;
}

Properties

interface TransactionSelection {
    exclude?: TransactionFilter;
    include: TransactionFilter;
}

Properties

Properties

Transactions that match this filter will be excluded

-

Transactions that match this filter will be included

-
\ No newline at end of file +

Transactions that match this filter will be included

+
\ No newline at end of file diff --git a/docs/interfaces/Withdrawal.html b/docs/interfaces/Withdrawal.html index 16598c7..a2a6587 100644 --- a/docs/interfaces/Withdrawal.html +++ b/docs/interfaces/Withdrawal.html @@ -1,7 +1,7 @@ Withdrawal | @envio-dev/hypersync-client

Evm withdrawal object

See ethereum rpc spec for the meaning of fields

-
interface Withdrawal {
    address?: string;
    amount?: string;
    index?: string;
    validatorIndex?: string;
}

Properties

interface Withdrawal {
    address?: string;
    amount?: string;
    index?: string;
    validatorIndex?: string;
}

Properties

address?: string
amount?: string
index?: string
validatorIndex?: string
\ No newline at end of file +

Properties

address?: string
amount?: string
index?: string
validatorIndex?: string
\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html index 1749ffa..02abc99 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -54,4 +54,5 @@ presetQueryBlocksAndTransactions presetQueryLogs presetQueryLogsOfEvent +setLogLevel
\ No newline at end of file diff --git a/docs/types/BlockField.html b/docs/types/BlockField.html index 55239c5..ad01031 100644 --- a/docs/types/BlockField.html +++ b/docs/types/BlockField.html @@ -1,2 +1,2 @@ BlockField | @envio-dev/hypersync-client
BlockField: "Number" | "Hash" | "ParentHash" | "Nonce" | "Sha3Uncles" | "LogsBloom" | "TransactionsRoot" | "StateRoot" | "ReceiptsRoot" | "Miner" | "Difficulty" | "TotalDifficulty" | "ExtraData" | "Size" | "GasLimit" | "GasUsed" | "Timestamp" | "Uncles" | "BaseFeePerGas" | "BlobGasUsed" | "ExcessBlobGas" | "ParentBeaconBlockRoot" | "WithdrawalsRoot" | "Withdrawals" | "L1BlockNumber" | "SendCount" | "SendRoot" | "MixHash"

Available fields for block data

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/ConnectedTag.html b/docs/types/ConnectedTag.html index cb52c0b..5c73a54 100644 --- a/docs/types/ConnectedTag.html +++ b/docs/types/ConnectedTag.html @@ -1 +1 @@ -ConnectedTag | @envio-dev/hypersync-client
ConnectedTag: "Connected"
\ No newline at end of file +ConnectedTag | @envio-dev/hypersync-client
ConnectedTag: "Connected"
\ No newline at end of file diff --git a/docs/types/DataType.html b/docs/types/DataType.html index 735388a..23c49e3 100644 --- a/docs/types/DataType.html +++ b/docs/types/DataType.html @@ -1,3 +1,3 @@ DataType | @envio-dev/hypersync-client
DataType: "Float64" | "Float32" | "UInt64" | "UInt32" | "Int64" | "Int32"

DataType is an enumeration representing the different data types that can be used in the column mapping. Each variant corresponds to a specific data type.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/HeightStreamEvent.html b/docs/types/HeightStreamEvent.html index d3350fc..ab5544d 100644 --- a/docs/types/HeightStreamEvent.html +++ b/docs/types/HeightStreamEvent.html @@ -10,4 +10,4 @@ console.log("Reconnecting in", event.delayMillis, "ms", "due to error:", event.errorMsg); break; }

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/HeightTag.html b/docs/types/HeightTag.html index 5b7002c..2c07fd9 100644 --- a/docs/types/HeightTag.html +++ b/docs/types/HeightTag.html @@ -1 +1 @@ -HeightTag | @envio-dev/hypersync-client
HeightTag: "Height"
\ No newline at end of file +HeightTag | @envio-dev/hypersync-client
HeightTag: "Height"
\ No newline at end of file diff --git a/docs/types/HexOutput.html b/docs/types/HexOutput.html index c24e55d..9cd0300 100644 --- a/docs/types/HexOutput.html +++ b/docs/types/HexOutput.html @@ -1,2 +1,2 @@ HexOutput | @envio-dev/hypersync-client
HexOutput: "NoEncode" | "Prefixed" | "NonPrefixed"

Determines format of Binary column

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/LogField.html b/docs/types/LogField.html index 5e19d45..37d7de7 100644 --- a/docs/types/LogField.html +++ b/docs/types/LogField.html @@ -1,2 +1,2 @@ LogField | @envio-dev/hypersync-client
LogField: "Removed" | "LogIndex" | "TransactionIndex" | "TransactionHash" | "BlockHash" | "BlockNumber" | "Address" | "Data" | "Topic0" | "Topic1" | "Topic2" | "Topic3"

Available fields for log data

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/ReconnectingTag.html b/docs/types/ReconnectingTag.html index af94a40..f7e339e 100644 --- a/docs/types/ReconnectingTag.html +++ b/docs/types/ReconnectingTag.html @@ -1 +1 @@ -ReconnectingTag | @envio-dev/hypersync-client
ReconnectingTag: "Reconnecting"
\ No newline at end of file +ReconnectingTag | @envio-dev/hypersync-client
ReconnectingTag: "Reconnecting"
\ No newline at end of file diff --git a/docs/types/SerializationFormat.html b/docs/types/SerializationFormat.html index f37c4bc..8b156d1 100644 --- a/docs/types/SerializationFormat.html +++ b/docs/types/SerializationFormat.html @@ -1,2 +1,2 @@ SerializationFormat | @envio-dev/hypersync-client
SerializationFormat: "Json" | "CapnProto"

Determines query serialization format for HTTP requests.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/TraceField.html b/docs/types/TraceField.html index 52e9aa6..e6941fa 100644 --- a/docs/types/TraceField.html +++ b/docs/types/TraceField.html @@ -1,2 +1,2 @@ TraceField | @envio-dev/hypersync-client
TraceField: "ActionAddress" | "Balance" | "RefundAddress" | "Sighash" | "From" | "To" | "CallType" | "Gas" | "Input" | "Init" | "Value" | "Author" | "RewardType" | "BlockHash" | "BlockNumber" | "Address" | "Code" | "GasUsed" | "Output" | "Subtraces" | "TraceAddress" | "TransactionHash" | "TransactionPosition" | "Type" | "Error"

Available fields for trace data

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/types/TransactionField.html b/docs/types/TransactionField.html index 940d80d..42810a2 100644 --- a/docs/types/TransactionField.html +++ b/docs/types/TransactionField.html @@ -1,2 +1,2 @@ TransactionField | @envio-dev/hypersync-client
TransactionField: "BlockHash" | "BlockNumber" | "From" | "Gas" | "GasPrice" | "Hash" | "Input" | "Nonce" | "To" | "TransactionIndex" | "Value" | "V" | "R" | "S" | "YParity" | "MaxPriorityFeePerGas" | "MaxFeePerGas" | "ChainId" | "AccessList" | "AuthorizationList" | "MaxFeePerBlobGas" | "BlobVersionedHashes" | "CumulativeGasUsed" | "EffectiveGasPrice" | "GasUsed" | "ContractAddress" | "LogsBloom" | "Type" | "Root" | "Status" | "L1Fee" | "L1BlockNumber" | "L1GasPrice" | "L1GasUsed" | "L1FeeScalar" | "L1BaseFeeScalar" | "L1BlobBaseFee" | "L1BlobBaseFeeScalar" | "GasUsedForL1" | "Sighash" | "BlobGasPrice" | "BlobGasUsed" | "DepositNonce" | "DepositReceiptVersion" | "Mint" | "SourceHash"

Available fields for transaction data

-
\ No newline at end of file +
\ No newline at end of file diff --git a/index.d.ts b/index.d.ts index 45eab76..27e247a 100644 --- a/index.d.ts +++ b/index.d.ts @@ -607,8 +607,11 @@ export interface QueryResponseData { /** Response from a query that includes rate limit information. */ export interface QueryResponseWithRateLimit { - /** The query response data. */ - response: QueryResponse + /** + * The query response data. `null` when the request was rate limited + * (HTTP 429) — in that case inspect `rate_limit` and retry later. + */ + response?: QueryResponse /** Rate limit information from response headers. */ rateLimit: RateLimitInfo } @@ -676,11 +679,18 @@ export interface StreamConfig { eventSignature?: string /** Determines formatting of binary columns numbers into utf8 hex. Default: NoEncode. */ hexOutput?: HexOutput - /** Initial batch size. Size would be adjusted based on response size during execution. Default: 1000. */ + /** + * Initial, deliberately-overestimated batch size used for the first wave of + * requests and as a fallback before any response density is measured. Default: 1000. + */ batchSize?: number - /** Maximum batch size that could be used during dynamic adjustment. Default: 200000. */ + /** + * Optional hard cap on the number of blocks per request. Leave unset (the + * default) for no cap: an over-large request is truncated by the server and + * the remainder is backfilled in parallel, so overshoot self-corrects. + */ maxBatchSize?: number - /** Minimum batch size that could be used during dynamic adjustment. Default: 200. */ + /** Hard lower clamp on the projected block count, to avoid tiny ranges. Default: 200. */ minBatchSize?: number /** Number of async threads that would be spawned to execute different block ranges of queries. Default: 10. */ concurrency?: number @@ -692,10 +702,17 @@ export interface StreamConfig { maxNumLogs?: number /** Max number of traces to fetch in a single request. */ maxNumTraces?: number - /** Size of a response in bytes from which step size will be lowered. Default: 500000. */ - responseBytesCeiling?: number - /** Size of a response in bytes from which step size will be increased. Default: 250000. */ - responseBytesFloor?: number + /** + * Target response size in bytes. Each request's block span is projected from + * the most recently observed byte-density to aim each response at this size. Default: 400000. + */ + responseBytesTarget?: number + /** + * Optional cap on the bytes of fetched-but-undelivered chunks held in the + * reorder buffer (consumer backpressure). Leave unset (the default) for an + * adaptive cap that grows with the largest response seen. + */ + maxBufferedBytes?: number /** Stream data in reverse order. Default: false. */ reverse?: boolean } diff --git a/index.js b/index.js index 1927501..0265ce9 100644 --- a/index.js +++ b/index.js @@ -77,8 +77,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-android-arm64') const bindingPackageVersion = require('@envio-dev/hypersync-client-android-arm64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -93,8 +93,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-android-arm-eabi') const bindingPackageVersion = require('@envio-dev/hypersync-client-android-arm-eabi/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -114,8 +114,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-win32-x64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-win32-x64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -130,8 +130,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-win32-x64-msvc') const bindingPackageVersion = require('@envio-dev/hypersync-client-win32-x64-msvc/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -147,8 +147,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-win32-ia32-msvc') const bindingPackageVersion = require('@envio-dev/hypersync-client-win32-ia32-msvc/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -163,8 +163,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-win32-arm64-msvc') const bindingPackageVersion = require('@envio-dev/hypersync-client-win32-arm64-msvc/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -182,8 +182,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-darwin-universal') const bindingPackageVersion = require('@envio-dev/hypersync-client-darwin-universal/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -198,8 +198,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-darwin-x64') const bindingPackageVersion = require('@envio-dev/hypersync-client-darwin-x64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -214,8 +214,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-darwin-arm64') const bindingPackageVersion = require('@envio-dev/hypersync-client-darwin-arm64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -234,8 +234,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-freebsd-x64') const bindingPackageVersion = require('@envio-dev/hypersync-client-freebsd-x64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -250,8 +250,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-freebsd-arm64') const bindingPackageVersion = require('@envio-dev/hypersync-client-freebsd-arm64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -271,8 +271,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-x64-musl') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-x64-musl/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -287,8 +287,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-x64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-x64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -305,8 +305,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-arm64-musl') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-arm64-musl/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -321,8 +321,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-arm64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-arm64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -339,8 +339,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-arm-musleabihf') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-arm-musleabihf/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -355,8 +355,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-arm-gnueabihf') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-arm-gnueabihf/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -373,8 +373,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-loong64-musl') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-loong64-musl/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -389,8 +389,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-loong64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-loong64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -407,8 +407,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-riscv64-musl') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-riscv64-musl/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -423,8 +423,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-riscv64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-riscv64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -440,8 +440,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-ppc64-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-ppc64-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -456,8 +456,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-linux-s390x-gnu') const bindingPackageVersion = require('@envio-dev/hypersync-client-linux-s390x-gnu/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -476,8 +476,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-openharmony-arm64') const bindingPackageVersion = require('@envio-dev/hypersync-client-openharmony-arm64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -492,8 +492,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-openharmony-x64') const bindingPackageVersion = require('@envio-dev/hypersync-client-openharmony-x64/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { @@ -508,8 +508,8 @@ function requireNative() { try { const binding = require('@envio-dev/hypersync-client-openharmony-arm') const bindingPackageVersion = require('@envio-dev/hypersync-client-openharmony-arm/package.json').version - if (bindingPackageVersion !== '1.3.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { - throw new Error(`Native binding package version mismatch, expected 1.3.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + if (bindingPackageVersion !== '1.4.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 1.4.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } return binding } catch (e) { diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index a587927..04968ab 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@envio-dev/hypersync-client-darwin-arm64", - "version": "1.3.0", + "version": "1.4.0", "cpu": [ "arm64" ], diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 741c348..9175621 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@envio-dev/hypersync-client-darwin-x64", - "version": "1.3.0", + "version": "1.4.0", "cpu": [ "x64" ], diff --git a/npm/linux-arm64-gnu/package.json b/npm/linux-arm64-gnu/package.json index b6ba0a4..b69913e 100644 --- a/npm/linux-arm64-gnu/package.json +++ b/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@envio-dev/hypersync-client-linux-arm64-gnu", - "version": "1.3.0", + "version": "1.4.0", "cpu": [ "arm64" ], diff --git a/npm/linux-x64-gnu/package.json b/npm/linux-x64-gnu/package.json index 1df11be..5ccf5fc 100644 --- a/npm/linux-x64-gnu/package.json +++ b/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@envio-dev/hypersync-client-linux-x64-gnu", - "version": "1.3.0", + "version": "1.4.0", "cpu": [ "x64" ], diff --git a/npm/linux-x64-musl/package.json b/npm/linux-x64-musl/package.json index 96b16db..955227f 100644 --- a/npm/linux-x64-musl/package.json +++ b/npm/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@envio-dev/hypersync-client-linux-x64-musl", - "version": "1.3.0", + "version": "1.4.0", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 62952c7..52976ce 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@envio-dev/hypersync-client", "description": "HyperSync Client by Envio", - "version": "1.3.0", + "version": "1.4.0", "main": "index.js", "types": "index.d.ts", "napi": { diff --git a/src/config.rs b/src/config.rs index 1fb3c1b..6fdc28f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -11,11 +11,14 @@ pub struct StreamConfig { pub event_signature: Option, /// Determines formatting of binary columns numbers into utf8 hex. Default: NoEncode. pub hex_output: Option, - /// Initial batch size. Size would be adjusted based on response size during execution. Default: 1000. + /// Initial, deliberately-overestimated batch size used for the first wave of + /// requests and as a fallback before any response density is measured. Default: 1000. pub batch_size: Option, - /// Maximum batch size that could be used during dynamic adjustment. Default: 200000. + /// Optional hard cap on the number of blocks per request. Leave unset (the + /// default) for no cap: an over-large request is truncated by the server and + /// the remainder is backfilled in parallel, so overshoot self-corrects. pub max_batch_size: Option, - /// Minimum batch size that could be used during dynamic adjustment. Default: 200. + /// Hard lower clamp on the projected block count, to avoid tiny ranges. Default: 200. pub min_batch_size: Option, /// Number of async threads that would be spawned to execute different block ranges of queries. Default: 10. pub concurrency: Option, @@ -27,10 +30,13 @@ pub struct StreamConfig { pub max_num_logs: Option, /// Max number of traces to fetch in a single request. pub max_num_traces: Option, - /// Size of a response in bytes from which step size will be lowered. Default: 500000. - pub response_bytes_ceiling: Option, - /// Size of a response in bytes from which step size will be increased. Default: 250000. - pub response_bytes_floor: Option, + /// Target response size in bytes. Each request's block span is projected from + /// the most recently observed byte-density to aim each response at this size. Default: 400000. + pub response_bytes_target: Option, + /// Optional cap on the bytes of fetched-but-undelivered chunks held in the + /// reorder buffer (consumer backpressure). Leave unset (the default) for an + /// adaptive cap that grows with the largest response seen. + pub max_buffered_bytes: Option, /// Stream data in reverse order. Default: false. pub reverse: Option, } @@ -135,9 +141,7 @@ impl From for hypersync_client::StreamConfig { batch_size: config .batch_size .map_or(Cfg::default_batch_size(), |v| v as u64), - max_batch_size: config - .max_batch_size - .map_or(Cfg::default_max_batch_size(), |v| v as u64), + max_batch_size: config.max_batch_size.map(|v| v as u64), min_batch_size: config .min_batch_size .map_or(Cfg::default_min_batch_size(), |v| v as u64), @@ -148,12 +152,10 @@ impl From for hypersync_client::StreamConfig { max_num_transactions: config.max_num_transactions.map(|v| v as usize), max_num_logs: config.max_num_logs.map(|v| v as usize), max_num_traces: config.max_num_traces.map(|v| v as usize), - response_bytes_ceiling: config - .response_bytes_ceiling - .map_or(Cfg::default_response_bytes_ceiling(), |v| v as u64), - response_bytes_floor: config - .response_bytes_floor - .map_or(Cfg::default_response_bytes_floor(), |v| v as u64), + response_bytes_target: config + .response_bytes_target + .map_or(Cfg::default_response_bytes_target(), |v| v as u64), + max_buffered_bytes: config.max_buffered_bytes.map(|v| v as u64), reverse: config.reverse.unwrap_or_default(), } } diff --git a/src/lib.rs b/src/lib.rs index 349301c..277ea07 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -69,8 +69,9 @@ impl From for RateLimitInfo { /// Response from a query that includes rate limit information. #[napi(object)] pub struct QueryResponseWithRateLimit { - /// The query response data. - pub response: QueryResponse, + /// The query response data. `null` when the request was rate limited + /// (HTTP 429) — in that case inspect `rate_limit` and retry later. + pub response: Option, /// Rate limit information from response headers. pub rate_limit: RateLimitInfo, } @@ -267,13 +268,26 @@ impl HypersyncClient { .await .context("run inner query") .map_err(map_err)?; - let response = convert_response(res.response, self.enable_checksum_addresses) - .context("convert response") - .map_err(map_err)?; - Ok(QueryResponseWithRateLimit { - response, - rate_limit: res.rate_limit.into(), - }) + match res { + hypersync_client::RateLimitResponse::Success { + response, + rate_limit, + } => { + let response = convert_response(response, self.enable_checksum_addresses) + .context("convert response") + .map_err(map_err)?; + Ok(QueryResponseWithRateLimit { + response: Some(response), + rate_limit: rate_limit.into(), + }) + } + hypersync_client::RateLimitResponse::RateLimited(rate_limit) => { + Ok(QueryResponseWithRateLimit { + response: None, + rate_limit: rate_limit.into(), + }) + } + } } /// Get the most recently observed rate limit information.