@w3lib/solana-batch-call 0.5.0 → 0.7.0
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/CHANGELOG.md +47 -0
- package/README.md +129 -9
- package/dist/accountReader.d.ts +57 -0
- package/dist/accountReader.d.ts.map +1 -0
- package/dist/accountReader.js +149 -0
- package/dist/accountReader.js.map +1 -0
- package/dist/address.d.ts +9 -0
- package/dist/address.d.ts.map +1 -1
- package/dist/address.js +36 -6
- package/dist/address.js.map +1 -1
- package/dist/approvals.d.ts +5 -3
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +25 -36
- package/dist/approvals.js.map +1 -1
- package/dist/balances.d.ts +178 -0
- package/dist/balances.d.ts.map +1 -0
- package/dist/balances.js +524 -0
- package/dist/balances.js.map +1 -0
- package/dist/batchPlan.d.ts +52 -0
- package/dist/batchPlan.d.ts.map +1 -0
- package/dist/batchPlan.js +64 -0
- package/dist/batchPlan.js.map +1 -0
- package/dist/bytes.d.ts +31 -0
- package/dist/bytes.d.ts.map +1 -0
- package/dist/bytes.js +74 -0
- package/dist/bytes.js.map +1 -0
- package/dist/claim.d.ts +163 -0
- package/dist/claim.d.ts.map +1 -0
- package/dist/claim.js +197 -0
- package/dist/claim.js.map +1 -0
- package/dist/client.d.ts +26 -41
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +41 -986
- package/dist/client.js.map +1 -1
- package/dist/clientConfig.d.ts +11 -0
- package/dist/clientConfig.d.ts.map +1 -0
- package/dist/clientConfig.js +3 -0
- package/dist/clientConfig.js.map +1 -0
- package/dist/decode.d.ts +22 -0
- package/dist/decode.d.ts.map +1 -0
- package/dist/decode.js +160 -0
- package/dist/decode.js.map +1 -0
- package/dist/describe.d.ts +26 -0
- package/dist/describe.d.ts.map +1 -0
- package/dist/describe.js +58 -0
- package/dist/describe.js.map +1 -0
- package/dist/fees.d.ts.map +1 -1
- package/dist/fees.js +2 -12
- package/dist/fees.js.map +1 -1
- package/dist/history.d.ts +125 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +220 -0
- package/dist/history.js.map +1 -0
- package/dist/historyHelius.d.ts +52 -0
- package/dist/historyHelius.d.ts.map +1 -0
- package/dist/historyHelius.js +125 -0
- package/dist/historyHelius.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +21 -0
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +50 -69
- package/dist/layout.js.map +1 -1
- package/dist/liquidity/common.js +2 -2
- package/dist/liquidity/common.js.map +1 -1
- package/dist/liquidity/orca.d.ts +6 -0
- package/dist/liquidity/orca.d.ts.map +1 -1
- package/dist/liquidity/orca.js +14 -3
- package/dist/liquidity/orca.js.map +1 -1
- package/dist/liquidity/raydiumClmm.d.ts +6 -0
- package/dist/liquidity/raydiumClmm.d.ts.map +1 -1
- package/dist/liquidity/raydiumClmm.js +12 -5
- package/dist/liquidity/raydiumClmm.js.map +1 -1
- package/dist/lp.d.ts +55 -12
- package/dist/lp.d.ts.map +1 -1
- package/dist/lp.js +158 -70
- package/dist/lp.js.map +1 -1
- package/dist/lpMath.d.ts +22 -0
- package/dist/lpMath.d.ts.map +1 -1
- package/dist/lpMath.js +21 -0
- package/dist/lpMath.js.map +1 -1
- package/dist/portfolio.d.ts.map +1 -1
- package/dist/portfolio.js +3 -8
- package/dist/portfolio.js.map +1 -1
- package/dist/programs.d.ts +19 -0
- package/dist/programs.d.ts.map +1 -0
- package/dist/programs.js +175 -0
- package/dist/programs.js.map +1 -0
- package/dist/reclaim.d.ts +192 -0
- package/dist/reclaim.d.ts.map +1 -0
- package/dist/reclaim.js +399 -0
- package/dist/reclaim.js.map +1 -0
- package/dist/risk.js +2 -2
- package/dist/risk.js.map +1 -1
- package/dist/rpc.d.ts +30 -7
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +404 -111
- package/dist/rpc.js.map +1 -1
- package/dist/simulate.d.ts +106 -0
- package/dist/simulate.d.ts.map +1 -0
- package/dist/simulate.js +395 -0
- package/dist/simulate.js.map +1 -0
- package/dist/source.d.ts +8 -4
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +11 -4
- package/dist/source.js.map +1 -1
- package/dist/subpaths/approvals.d.ts +3 -3
- package/dist/subpaths/approvals.d.ts.map +1 -1
- package/dist/subpaths/approvals.js.map +1 -1
- package/dist/subpaths/claim.d.ts +31 -0
- package/dist/subpaths/claim.d.ts.map +1 -0
- package/dist/subpaths/claim.js +31 -0
- package/dist/subpaths/claim.js.map +1 -0
- package/dist/subpaths/history.d.ts +21 -0
- package/dist/subpaths/history.d.ts.map +1 -0
- package/dist/subpaths/history.js +22 -0
- package/dist/subpaths/history.js.map +1 -0
- package/dist/subpaths/lp.d.ts +2 -2
- package/dist/subpaths/lp.d.ts.map +1 -1
- package/dist/subpaths/lp.js +2 -2
- package/dist/subpaths/lp.js.map +1 -1
- package/dist/subpaths/reclaim.d.ts +34 -0
- package/dist/subpaths/reclaim.d.ts.map +1 -0
- package/dist/subpaths/reclaim.js +34 -0
- package/dist/subpaths/reclaim.js.map +1 -0
- package/dist/subpaths/simulate.d.ts +22 -0
- package/dist/subpaths/simulate.d.ts.map +1 -0
- package/dist/subpaths/simulate.js +23 -0
- package/dist/subpaths/simulate.js.map +1 -0
- package/dist/swap/index.js +3 -3
- package/dist/swap/index.js.map +1 -1
- package/dist/tokenDetails.d.ts +12 -0
- package/dist/tokenDetails.d.ts.map +1 -0
- package/dist/tokenDetails.js +196 -0
- package/dist/tokenDetails.js.map +1 -0
- package/dist/tokenMeta.d.ts +63 -0
- package/dist/tokenMeta.d.ts.map +1 -0
- package/dist/tokenMeta.js +226 -0
- package/dist/tokenMeta.js.map +1 -0
- package/dist/tradeCheck.js +3 -3
- package/dist/tradeCheck.js.map +1 -1
- package/dist/util.d.ts +22 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +107 -0
- package/dist/util.js.map +1 -0
- package/dist/write/chain.d.ts +51 -0
- package/dist/write/chain.d.ts.map +1 -0
- package/dist/write/chain.js +184 -0
- package/dist/write/chain.js.map +1 -0
- package/dist/write/collect.js +2 -2
- package/dist/write/collect.js.map +1 -1
- package/dist/write/errors.d.ts +10 -0
- package/dist/write/errors.d.ts.map +1 -0
- package/dist/write/errors.js +77 -0
- package/dist/write/errors.js.map +1 -0
- package/dist/write/instructions.d.ts +2 -0
- package/dist/write/instructions.d.ts.map +1 -1
- package/dist/write/instructions.js +16 -0
- package/dist/write/instructions.js.map +1 -1
- package/dist/write/pack.d.ts +28 -0
- package/dist/write/pack.d.ts.map +1 -0
- package/dist/write/pack.js +125 -0
- package/dist/write/pack.js.map +1 -0
- package/dist/write/send.d.ts +23 -9
- package/dist/write/send.d.ts.map +1 -1
- package/dist/write/send.js +53 -351
- package/dist/write/send.js.map +1 -1
- package/dist/write/tracker.d.ts +24 -0
- package/dist/write/tracker.d.ts.map +1 -0
- package/dist/write/tracker.js +129 -0
- package/dist/write/tracker.js.map +1 -0
- package/package.json +21 -1
- package/src/accountReader.ts +187 -0
- package/src/address.ts +41 -6
- package/src/approvals.ts +36 -44
- package/src/balances.ts +678 -0
- package/src/batchPlan.ts +117 -0
- package/src/bytes.ts +89 -0
- package/src/claim.ts +327 -0
- package/src/client.ts +59 -1239
- package/src/clientConfig.ts +12 -0
- package/src/decode.ts +176 -0
- package/src/describe.ts +77 -0
- package/src/fees.ts +2 -9
- package/src/history.ts +325 -0
- package/src/historyHelius.ts +136 -0
- package/src/index.ts +13 -1
- package/src/layout.ts +63 -82
- package/src/liquidity/common.ts +2 -2
- package/src/liquidity/orca.ts +15 -5
- package/src/liquidity/raydiumClmm.ts +13 -5
- package/src/lp.ts +226 -75
- package/src/lpMath.ts +38 -0
- package/src/portfolio.ts +8 -11
- package/src/programs.ts +216 -0
- package/src/reclaim.ts +550 -0
- package/src/risk.ts +2 -2
- package/src/rpc.ts +476 -118
- package/src/simulate.ts +517 -0
- package/src/source.ts +14 -5
- package/src/subpaths/approvals.ts +3 -2
- package/src/subpaths/claim.ts +54 -0
- package/src/subpaths/history.ts +38 -0
- package/src/subpaths/lp.ts +5 -1
- package/src/subpaths/reclaim.ts +58 -0
- package/src/subpaths/simulate.ts +37 -0
- package/src/swap/index.ts +3 -3
- package/src/tokenDetails.ts +240 -0
- package/src/tokenMeta.ts +270 -0
- package/src/tradeCheck.ts +3 -3
- package/src/util.ts +110 -0
- package/src/write/chain.ts +218 -0
- package/src/write/collect.ts +2 -2
- package/src/write/errors.ts +82 -0
- package/src/write/instructions.ts +17 -0
- package/src/write/pack.ts +142 -0
- package/src/write/send.ts +74 -407
- package/src/write/tracker.ts +152 -0
package/dist/risk.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* 影响持有人的设置(转账手续费、永久授权、转账 hook、不可转让、新账户默认冻结、可暂停、保密转账、mint 可关闭等),一次 getMultipleAccounts 读完。
|
|
4
4
|
* 可选:持币集中度(getTokenLargestAccounts,免费公共节点大多不支持);能不能买、能不能卖用 tradeChecks(在主网模拟“买入 → 卖出”)
|
|
5
5
|
*/
|
|
6
|
-
import { isAddress } from './address.js';
|
|
6
|
+
import { InvalidAddressError, isAddress } from './address.js';
|
|
7
7
|
import { NATIVE_MINT, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID } from './constants.js';
|
|
8
8
|
import { findExtension, parseMint, parseTransferFeeConfig } from './layout.js';
|
|
9
9
|
import { Bytes } from './lp.js';
|
|
@@ -39,7 +39,7 @@ export async function tokenRisks(client, mints, options = {}) {
|
|
|
39
39
|
const keys = mints.map((m) => (client.isNativeMint(m) ? NATIVE_MINT : m));
|
|
40
40
|
for (const m of keys) {
|
|
41
41
|
if (!isAddress(m))
|
|
42
|
-
throw new
|
|
42
|
+
throw new InvalidAddressError(`Invalid mint address: ${m}`, m);
|
|
43
43
|
}
|
|
44
44
|
const unique = [...new Set(keys)];
|
|
45
45
|
const accounts = await client.accounts([CLOCK_SYSVAR_ID, ...unique], { signal: options.signal });
|
package/dist/risk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** RpcTransport.request 的第三个参数(可选,自定义传输可以忽略) */
|
|
2
|
+
export interface RpcRequestOptions {
|
|
3
|
+
/**
|
|
4
|
+
* 取消:已取消时不发请求,中途取消时 reject(reason 为 signal.reason)。
|
|
5
|
+
* HttpRpc 会把它传到 fetch:还在排队的调用直接移出队列,已发出的批量请求在所有成员都取消后中止;FallbackRpc 取消后不再换节点
|
|
6
|
+
*/
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
/** 最小的 JSON-RPC 传输接口:可以传入自己的实现(如包一层 @solana/kit 的 rpc);options 是 0.6.1 新增的可选参数,不处理也能照常工作 */
|
|
2
10
|
export interface RpcTransport {
|
|
3
|
-
request<T = unknown>(method: string, params?: readonly unknown[]): Promise<T>;
|
|
11
|
+
request<T = unknown>(method: string, params?: readonly unknown[], options?: RpcRequestOptions): Promise<T>;
|
|
4
12
|
/** 节点名称,用于 AllNodesFailedError / onRequest 里标识节点;不传时自定义传输显示为 'custom' */
|
|
5
13
|
readonly label?: string;
|
|
6
14
|
}
|
|
@@ -12,7 +20,7 @@ export declare class RpcError extends Error {
|
|
|
12
20
|
readonly nodeFault: boolean;
|
|
13
21
|
constructor(message: string, code?: number, data?: unknown);
|
|
14
22
|
}
|
|
15
|
-
/**
|
|
23
|
+
/** 测试用:清空学到的节点限制(预置的已知限制在下次创建连接时重新带上) */
|
|
16
24
|
export declare function resetLearnedLimits(): void;
|
|
17
25
|
/** HTTP 层错误(非 2xx、网络错误、超时) */
|
|
18
26
|
export declare class HttpError extends Error {
|
|
@@ -46,7 +54,10 @@ export declare class AllNodesFailedError extends Error {
|
|
|
46
54
|
/** 是否是节点问题(应换节点重试):除了确定性的 JSON-RPC 错误(如参数错误),其余都算(包括 AllNodesFailedError) */
|
|
47
55
|
export declare function isNodeFault(err: unknown): boolean;
|
|
48
56
|
export interface HttpRpcOptions {
|
|
49
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* 单次 HTTP 请求超时(毫秒),<= 0 不限制。默认 10000。排队等并发名额(maxConcurrency)最多也等这么久,
|
|
59
|
+
* 等不到按超时处理(多节点时换节点);拿到名额、真正发出后重新计时
|
|
60
|
+
*/
|
|
50
61
|
timeout?: number;
|
|
51
62
|
headers?: Record<string, string>;
|
|
52
63
|
/** 一个 HTTP 批量请求最多包含的调用数。默认 20 */
|
|
@@ -55,20 +66,32 @@ export interface HttpRpcOptions {
|
|
|
55
66
|
batch?: boolean;
|
|
56
67
|
/** 收集窗口(毫秒),窗口内的调用合并成一个 HTTP 请求。默认 0(同一 tick) */
|
|
57
68
|
batchWait?: number;
|
|
58
|
-
/** 遇到 HTTP 429 时的重试次数(指数退避,从 500ms
|
|
69
|
+
/** 遇到 HTTP 429 时的重试次数(指数退避,从 500ms 开始,带随机抖动;有 Retry-After 头时按它等)。默认 2 */
|
|
59
70
|
retries?: number;
|
|
60
71
|
/** 自定义 fetch(如需要代理时) */
|
|
61
72
|
fetch?: typeof fetch;
|
|
73
|
+
/**
|
|
74
|
+
* 同一节点地址同时在途的 HTTP 请求数上限(按 URL 在所有 HttpRpc 实例间共享,超出的排队)。默认 4;<= 0 或 Infinity 不限制
|
|
75
|
+
*/
|
|
76
|
+
maxConcurrency?: number;
|
|
77
|
+
/** 同一个批量请求里 method 和 params 完全相同的只读调用只发一次、结果分给各调用方。默认 true */
|
|
78
|
+
dedupe?: boolean;
|
|
62
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* 429 后的等待时间:有 Retry-After(秒数或 HTTP 日期)时按它,超过 MAX_RETRY_AFTER 时返回 null(不等,直接报错);
|
|
82
|
+
* 否则指数退避(500ms 起)加 ±25% 随机抖动,避免同时被限频的请求又同时重试
|
|
83
|
+
*/
|
|
84
|
+
export declare function retryDelay(attempt: number, retryAfter: string | null | undefined): number | null;
|
|
63
85
|
/**
|
|
64
86
|
* 基于 fetch 的 JSON-RPC 传输:同一收集窗口内的调用合并成一个 JSON-RPC 批量请求。
|
|
65
87
|
* 节点不支持批量(返回非数组)或限制批量大小(如 drpc 免费档最多 3 条)时自动降级。
|
|
88
|
+
* 同一节点地址同时在途的 HTTP 请求数有上限(maxConcurrency,默认 4);request 的 signal 会传到 fetch
|
|
66
89
|
*/
|
|
67
90
|
export declare class HttpRpc implements RpcTransport {
|
|
68
91
|
#private;
|
|
69
92
|
readonly url: string;
|
|
70
93
|
constructor(url: string, options?: HttpRpcOptions);
|
|
71
|
-
request<T = unknown>(method: string, params?: readonly unknown[]): Promise<T>;
|
|
94
|
+
request<T = unknown>(method: string, params?: readonly unknown[], options?: RpcRequestOptions): Promise<T>;
|
|
72
95
|
}
|
|
73
96
|
/**
|
|
74
97
|
* 把 JSON 文本里数值位置上 16 位以上的整数改成字符串(不支持 source text access 的环境用)。
|
|
@@ -119,6 +142,6 @@ export declare class FallbackRpc implements RpcTransport {
|
|
|
119
142
|
#private;
|
|
120
143
|
readonly nodes: readonly RpcTransport[];
|
|
121
144
|
constructor(nodes: readonly RpcTransport[], options?: FallbackOptions);
|
|
122
|
-
request<T = unknown>(method: string, params?: readonly unknown[]): Promise<T>;
|
|
145
|
+
request<T = unknown>(method: string, params?: readonly unknown[], options?: RpcRequestOptions): Promise<T>;
|
|
123
146
|
}
|
|
124
147
|
//# sourceMappingURL=rpc.d.ts.map
|
package/dist/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|