@xyo-network/chain-sdk 4.0.5 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/modules/ethereum/block/blockRangeChunks.d.ts +8 -0
- package/dist/browser/modules/ethereum/block/blockRangeChunks.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts +17 -0
- package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/block/index.d.ts +2 -0
- package/dist/browser/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +27 -0
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts +6 -0
- package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +19 -0
- package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -0
- package/dist/neutral/ethereum.mjs +249 -65
- package/dist/neutral/ethereum.mjs.map +4 -4
- package/dist/neutral/modules/ethereum/block/blockRangeChunks.d.ts +8 -0
- package/dist/neutral/modules/ethereum/block/blockRangeChunks.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts +17 -0
- package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/block/index.d.ts +2 -0
- package/dist/neutral/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +27 -0
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts +6 -0
- package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +19 -0
- package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -0
- package/dist/node/modules/ethereum/block/blockRangeChunks.d.ts +8 -0
- package/dist/node/modules/ethereum/block/blockRangeChunks.d.ts.map +1 -0
- package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts +17 -0
- package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -0
- package/dist/node/modules/ethereum/block/index.d.ts +2 -0
- package/dist/node/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +27 -0
- package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts +6 -0
- package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -0
- package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +19 -0
- package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -0
- package/package.json +16 -16
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Provider } from 'ethers';
|
|
2
|
+
/** Rough average EVM block time (post-merge Ethereum / Sepolia). */
|
|
3
|
+
export declare const DEFAULT_EVM_BLOCK_TIME_SEC = 12;
|
|
4
|
+
/** Default date used when estimating a deployment / history floor block. */
|
|
5
|
+
export declare const DEFAULT_ESTIMATE_BLOCK_DATE: Date;
|
|
6
|
+
/**
|
|
7
|
+
* Estimate the block number at `targetDate` from a known head, using a constant
|
|
8
|
+
* average block time. Conservative: `Math.ceil` on blocks-back so the estimate
|
|
9
|
+
* tends slightly early.
|
|
10
|
+
*/
|
|
11
|
+
export declare function estimateBlockNumberFromHead(headNumber: number, headTimestampSec: number, targetDate?: Date, avgBlockTimeSec?: number): number;
|
|
12
|
+
/**
|
|
13
|
+
* Fetch the current head from `provider` and estimate the block number on that
|
|
14
|
+
* chain at `targetDate` (default 2025-06-01 UTC).
|
|
15
|
+
*/
|
|
16
|
+
export declare function estimateBlockNumberAt(provider: Provider, targetDate?: Date, avgBlockTimeSec?: number): Promise<number>;
|
|
17
|
+
//# sourceMappingURL=estimateBlockNumberAt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateBlockNumberAt.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/block/estimateBlockNumberAt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,oEAAoE;AACpE,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,MAAiC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,IAAkC,EAC9C,eAAe,GAAE,MAAmC,GACnD,MAAM,CAOR;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,UAAU,GAAE,IAAkC,EAC9C,eAAe,GAAE,MAAmC,GACnD,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA"}
|
|
@@ -8,7 +8,28 @@ type StakeAddedLogEvent = TypedEventLog<ReturnTypeForOverload<IAddressStakingEve
|
|
|
8
8
|
type StakeRemovedLogEvent = TypedEventLog<ReturnTypeForOverload<IAddressStakingEvents['getEvent'], 'StakeRemoved'>>;
|
|
9
9
|
type StakeWithdrawnLogEvent = TypedEventLog<ReturnTypeForOverload<IAddressStakingEvents['getEvent'], 'StakeWithdrawn'>>;
|
|
10
10
|
type StakeLogEvent = StakeAddedLogEvent | StakeRemovedLogEvent | StakeWithdrawnLogEvent;
|
|
11
|
+
/** Default max blocks per eth_getLogs / queryFilter call (public RPC safe). */
|
|
12
|
+
export declare const DEFAULT_EVENT_QUERY_BLOCK_CHUNK_SIZE = 2000;
|
|
13
|
+
/** Default attempts (including first) when eth_getLogs hits provider rate limits. */
|
|
14
|
+
export declare const DEFAULT_EVENT_QUERY_MAX_ATTEMPTS = 8;
|
|
15
|
+
/** Initial backoff after a rate-limit response before retrying eth_getLogs. */
|
|
16
|
+
export declare const DEFAULT_EVENT_QUERY_INITIAL_DELAY_MS = 1000;
|
|
11
17
|
export interface EvmStakeEventsParams extends EvmViewerParams {
|
|
18
|
+
/**
|
|
19
|
+
* Max blocks per eth_getLogs / queryFilter call when loading historical stake events.
|
|
20
|
+
* Defaults to {@link DEFAULT_EVENT_QUERY_BLOCK_CHUNK_SIZE}.
|
|
21
|
+
*/
|
|
22
|
+
eventQueryBlockChunkSize?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Initial delay (ms) after a rate-limit response before retrying eth_getLogs.
|
|
25
|
+
* Defaults to {@link DEFAULT_EVENT_QUERY_INITIAL_DELAY_MS}.
|
|
26
|
+
*/
|
|
27
|
+
eventQueryInitialDelayMs?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Total eth_getLogs attempts per chunk (including the first) when rate limited.
|
|
30
|
+
* Defaults to {@link DEFAULT_EVENT_QUERY_MAX_ATTEMPTS}.
|
|
31
|
+
*/
|
|
32
|
+
eventQueryMaxAttempts?: number;
|
|
12
33
|
}
|
|
13
34
|
export declare class EvmStakeEventsViewer extends AbstractEvmViewer<EvmStakeEventsParams, IAddressStakingEvents> implements StakeEventsViewer {
|
|
14
35
|
static readonly connectionTypes: readonly ["evm-rpc"];
|
|
@@ -17,13 +38,19 @@ export declare class EvmStakeEventsViewer extends AbstractEvmViewer<EvmStakeEven
|
|
|
17
38
|
static readonly monikers: "StakeEventsViewer"[];
|
|
18
39
|
static readonly surface: "node";
|
|
19
40
|
moniker: "StakeEventsViewer";
|
|
41
|
+
/** Set at start when `params.deploymentBlock` is omitted (estimated 2025-06-01). */
|
|
42
|
+
private defaultDeploymentBlock;
|
|
20
43
|
private eventCache;
|
|
21
44
|
get deploymentBlock(): number;
|
|
45
|
+
get eventQueryBlockChunkSize(): number;
|
|
46
|
+
get eventQueryInitialDelayMs(): number;
|
|
47
|
+
get eventQueryMaxAttempts(): number;
|
|
22
48
|
positionCount(range: [number, number | 'latest']): Promise<number>;
|
|
23
49
|
stakeEvents<TName extends StakeEventName>(range?: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>;
|
|
24
50
|
protected connectContract(address: EthAddress): IAddressStakingEvents;
|
|
25
51
|
protected onEventHandler(staked: string, staker: string, id: bigint, amount: bigint, event: StakeLogEvent, throwOnInvalid?: boolean): StakeEvent | undefined;
|
|
26
52
|
protected startHandler(): Promise<void>;
|
|
53
|
+
private attachLiveListeners;
|
|
27
54
|
private loadHistoricalEvents;
|
|
28
55
|
private stakeEventsNative;
|
|
29
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmStakeEventsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/drivers/EvmStakeEventsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM7D,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAC3D,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"EvmStakeEventsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/drivers/EvmStakeEventsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM7D,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAC3D,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAA;AAK7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAIzD,KAAK,kBAAkB,GAAG,aAAa,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;AAC/G,KAAK,oBAAoB,GAAG,aAAa,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA;AACnH,KAAK,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAA;AACvH,KAAK,aAAa,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,sBAAsB,CAAA;AAEvF,+EAA+E;AAC/E,eAAO,MAAM,oCAAoC,OAAO,CAAA;AAExD,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,IAAI,CAAA;AAEjD,+EAA+E;AAC/E,eAAO,MAAM,oCAAoC,OAAO,CAAA;AAExD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,qBACa,oBAAqB,SAAQ,iBAAiB,CAAC,oBAAoB,EAAE,qBAAqB,CAAE,YAAW,iBAAiB;IACnI,MAAM,CAAC,QAAQ,CAAC,eAAe,uBAAuB;IACtD,MAAM,CAAC,QAAQ,CAAC,cAAc,sBAA2B;IACzD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wBAA6B;IACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,OAAO,sBAAsC;IAE7C,oFAAoF;IACpF,OAAO,CAAC,sBAAsB,CAAI;IAElC,OAAO,CAAC,UAAU,CAAgC;IAElD,IAAI,eAAe,WAElB;IAED,IAAI,wBAAwB,WAE3B;IAED,IAAI,wBAAwB,WAE3B;IAED,IAAI,qBAAqB,WAExB;IAEK,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxE,WAAW,CAAC,KAAK,SAAS,cAAc,EACtC,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAiB,EAClD,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;cA4Bf,eAAe,CAAC,OAAO,EAAE,UAAU;IAItD,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,UAAQ,GAAG,UAAU,GAAG,SAAS;cAgCjI,YAAY;YAuBvB,mBAAmB;YAYnB,oBAAoB;YAuBpB,iBAAiB;CA6DhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/drivers/EvmStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,UAAU,EAAE,UAAU,EAChC,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,KAAK,eAAe,EAA4B,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"EvmStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/drivers/EvmStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,UAAU,EAAE,UAAU,EAChC,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,KAAK,eAAe,EAA4B,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;AAK7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAezD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;CAE5D;AAED,qBACa,cAAe,SAAQ,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,CAAE,YAAW,WAAW;IACjH,MAAM,CAAC,QAAQ,CAAC,eAAe,uBAAuB;IACtD,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAuB;IAC/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,QAAQ,CAAC,OAAO,gBAAgC;IAEhD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,gBAAgB,CAAI;IAE5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,IAAI,WAAW,sBAEd;IAEK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAMzB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;IAIvB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7C,mBAAmB,IAAI,MAAM;IAIvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAM1B,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD,aAAa,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;IAIvC,eAAe,IAAI,OAAO;IAIpB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAexC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAS/D,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAe1G,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAchH,mBAAmB,IAAI,OAAO;IAIxB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAM5B,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzD,eAAe,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;cAItB,eAAe,CAAC,OAAO,EAAE,UAAU;cAI7B,YAAY;IAyCrC,OAAO,CAAC,yBAAyB;CA6BlC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect Infura / Alchemy / generic JSON-RPC rate-limit and overload responses.
|
|
3
|
+
* Walks nested ethers error wrappers (`error`, `info`, `value`, `data`).
|
|
4
|
+
*/
|
|
5
|
+
export declare function isRpcRateLimitError(error: unknown): boolean;
|
|
6
|
+
//# sourceMappingURL=isRpcRateLimitError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRpcRateLimitError.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/rpc/isRpcRateLimitError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiD3D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface RpcRateLimitBackoffOptions {
|
|
2
|
+
/** Multiplier applied to delay after each rate-limit hit. Default 2. */
|
|
3
|
+
backoff?: number;
|
|
4
|
+
/** Initial wait before the first retry. Default 1000ms. */
|
|
5
|
+
initialDelayMs?: number;
|
|
6
|
+
/** Total attempts including the first try. Default 8. */
|
|
7
|
+
maxAttempts?: number;
|
|
8
|
+
/** Cap on wait between retries. Default 30_000ms. */
|
|
9
|
+
maxDelayMs?: number;
|
|
10
|
+
/** Optional hook when a rate-limit triggers a backoff sleep. */
|
|
11
|
+
onRetry?: (error: unknown, attempt: number, delayMs: number) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Run an async RPC call, retrying with exponential backoff when the provider
|
|
15
|
+
* reports rate limiting (e.g. Infura `-32005` / "Too Many Requests").
|
|
16
|
+
* Non-rate-limit errors are rethrown immediately.
|
|
17
|
+
*/
|
|
18
|
+
export declare function withRpcRateLimitBackoff<T>(fn: () => Promise<T>, options?: RpcRateLimitBackoffOptions): Promise<T>;
|
|
19
|
+
//# sourceMappingURL=withRpcRateLimitBackoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRpcRateLimitBackoff.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/rpc/withRpcRateLimitBackoff.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACrE;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/chain-sdk",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.6",
|
|
5
5
|
"description": "XYO Layer One SDK",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -131,17 +131,17 @@
|
|
|
131
131
|
"@opentelemetry/instrumentation-runtime-node": "~0.33.0",
|
|
132
132
|
"@opentelemetry/resources": "~2.9.0",
|
|
133
133
|
"@opentelemetry/sdk-metrics": "~2.9.0",
|
|
134
|
-
"@opentelemetry/semantic-conventions": "~1.
|
|
134
|
+
"@opentelemetry/semantic-conventions": "~1.43.0",
|
|
135
135
|
"@xyo-network/typechain": "~4.1.3",
|
|
136
136
|
"chalk": "~5.6.2",
|
|
137
137
|
"shallowequal": "~1.1.0"
|
|
138
138
|
},
|
|
139
139
|
"devDependencies": {
|
|
140
140
|
"@ariestools/mongo": "~8.0.3",
|
|
141
|
-
"@ariestools/sdk": "~8.0.
|
|
142
|
-
"@ariestools/threads": "~8.0.
|
|
143
|
-
"@ariestools/toolchain": "~8.
|
|
144
|
-
"@ariestools/tsconfig": "~8.
|
|
141
|
+
"@ariestools/sdk": "~8.0.5",
|
|
142
|
+
"@ariestools/threads": "~8.0.5",
|
|
143
|
+
"@ariestools/toolchain": "~8.7.4",
|
|
144
|
+
"@ariestools/tsconfig": "~8.7.4",
|
|
145
145
|
"@ariestools/vitest-extended": "~8.0.3",
|
|
146
146
|
"@bitauth/libauth": "~3.0.0",
|
|
147
147
|
"@metamask/json-rpc-engine": "~10.5.0",
|
|
@@ -154,10 +154,10 @@
|
|
|
154
154
|
"@types/shallowequal": "~1.1.5",
|
|
155
155
|
"@xyo-network/archivist-mongodb": "~7.0.11",
|
|
156
156
|
"@xyo-network/sdk": "~7.0.11",
|
|
157
|
-
"@xyo-network/sdk-protocol": "~7.0.
|
|
158
|
-
"@xyo-network/xl1-driver-lmdb": "~4.0.
|
|
159
|
-
"@xyo-network/xl1-driver-mongodb": "~4.0.
|
|
160
|
-
"@xyo-network/xl1-sdk": "~4.0.
|
|
157
|
+
"@xyo-network/sdk-protocol": "~7.0.16",
|
|
158
|
+
"@xyo-network/xl1-driver-lmdb": "~4.0.16",
|
|
159
|
+
"@xyo-network/xl1-driver-mongodb": "~4.0.16",
|
|
160
|
+
"@xyo-network/xl1-sdk": "~4.0.16",
|
|
161
161
|
"ajv": "~8.20.0",
|
|
162
162
|
"async-mutex": "~0.5.0",
|
|
163
163
|
"debug": "~4.4.3",
|
|
@@ -165,19 +165,19 @@
|
|
|
165
165
|
"ethers": "~6.17.0",
|
|
166
166
|
"hash-wasm": "~4.12.0",
|
|
167
167
|
"idb": "~8.0.3",
|
|
168
|
-
"mongodb": "~7.
|
|
168
|
+
"mongodb": "~7.5.0",
|
|
169
169
|
"observable-fns": "~0.6.1",
|
|
170
170
|
"tslib": "~2.8.1",
|
|
171
171
|
"typescript": "~6.0.3",
|
|
172
|
-
"vite": "~8.1.
|
|
172
|
+
"vite": "~8.1.4",
|
|
173
173
|
"vitest": "~4.1.10",
|
|
174
174
|
"web3-types": "~1.10.0",
|
|
175
175
|
"webextension-polyfill": "~0.12.0",
|
|
176
176
|
"zod": "~4.4.3"
|
|
177
177
|
},
|
|
178
178
|
"peerDependencies": {
|
|
179
|
-
"@ariestools/sdk": "^8.0.
|
|
180
|
-
"@ariestools/threads": "^8.0.
|
|
179
|
+
"@ariestools/sdk": "^8.0.5",
|
|
180
|
+
"@ariestools/threads": "^8.0.5",
|
|
181
181
|
"@bitauth/libauth": "^3.0.0",
|
|
182
182
|
"@metamask/json-rpc-engine": "^10.5.0",
|
|
183
183
|
"@metamask/providers": "^22.1.1",
|
|
@@ -187,8 +187,8 @@
|
|
|
187
187
|
"@scure/base": "^2.2.0",
|
|
188
188
|
"@scure/bip39": "^2.2.0",
|
|
189
189
|
"@xyo-network/sdk": "^7.0.11",
|
|
190
|
-
"@xyo-network/sdk-protocol": "^7.0.
|
|
191
|
-
"@xyo-network/xl1-sdk": "^4.0.
|
|
190
|
+
"@xyo-network/sdk-protocol": "^7.0.16",
|
|
191
|
+
"@xyo-network/xl1-sdk": "^4.0.16",
|
|
192
192
|
"ajv": "^8.20.0",
|
|
193
193
|
"async-mutex": "^0.5.0",
|
|
194
194
|
"debug": "^4.4.3",
|