@w3lib/solana-batch-call 0.2.2 → 0.4.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 +26 -0
- package/README.md +205 -2
- package/dist/address.d.ts +2 -0
- package/dist/address.d.ts.map +1 -1
- package/dist/address.js +8 -0
- package/dist/address.js.map +1 -1
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +5 -0
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +16 -0
- package/dist/layout.js.map +1 -1
- package/dist/liquidity/amm.d.ts +7 -0
- package/dist/liquidity/amm.d.ts.map +1 -0
- package/dist/liquidity/amm.js +307 -0
- package/dist/liquidity/amm.js.map +1 -0
- package/dist/liquidity/clmm.d.ts +18 -0
- package/dist/liquidity/clmm.d.ts.map +1 -0
- package/dist/liquidity/clmm.js +85 -0
- package/dist/liquidity/clmm.js.map +1 -0
- package/dist/liquidity/common.d.ts +94 -0
- package/dist/liquidity/common.d.ts.map +1 -0
- package/dist/liquidity/common.js +228 -0
- package/dist/liquidity/common.js.map +1 -0
- package/dist/liquidity/index.d.ts +34 -0
- package/dist/liquidity/index.d.ts.map +1 -0
- package/dist/liquidity/index.js +157 -0
- package/dist/liquidity/index.js.map +1 -0
- package/dist/liquidity/orca.d.ts +6 -0
- package/dist/liquidity/orca.d.ts.map +1 -0
- package/dist/liquidity/orca.js +303 -0
- package/dist/liquidity/orca.js.map +1 -0
- package/dist/liquidity/raydiumClmm.d.ts +6 -0
- package/dist/liquidity/raydiumClmm.d.ts.map +1 -0
- package/dist/liquidity/raydiumClmm.js +307 -0
- package/dist/liquidity/raydiumClmm.js.map +1 -0
- package/dist/liquidity/types.d.ts +150 -0
- package/dist/liquidity/types.d.ts.map +1 -0
- package/dist/liquidity/types.js +2 -0
- package/dist/liquidity/types.js.map +1 -0
- package/dist/lp.d.ts +168 -0
- package/dist/lp.d.ts.map +1 -0
- package/dist/lp.js +632 -0
- package/dist/lp.js.map +1 -0
- package/dist/lpMath.d.ts +82 -0
- package/dist/lpMath.d.ts.map +1 -0
- package/dist/lpMath.js +365 -0
- package/dist/lpMath.js.map +1 -0
- package/dist/shortcuts.d.ts +8 -0
- package/dist/shortcuts.d.ts.map +1 -1
- package/dist/shortcuts.js +1 -1
- package/dist/shortcuts.js.map +1 -1
- package/dist/subpaths/liquidity.d.ts +23 -0
- package/dist/subpaths/liquidity.d.ts.map +1 -0
- package/dist/subpaths/liquidity.js +19 -0
- package/dist/subpaths/liquidity.js.map +1 -0
- package/dist/subpaths/lp.d.ts +31 -0
- package/dist/subpaths/lp.d.ts.map +1 -0
- package/dist/subpaths/lp.js +33 -0
- package/dist/subpaths/lp.js.map +1 -0
- package/dist/subpaths/write.d.ts +22 -0
- package/dist/subpaths/write.d.ts.map +1 -0
- package/dist/subpaths/write.js +19 -0
- package/dist/subpaths/write.js.map +1 -0
- package/dist/write/batch.d.ts +41 -0
- package/dist/write/batch.d.ts.map +1 -0
- package/dist/write/batch.js +46 -0
- package/dist/write/batch.js.map +1 -0
- package/dist/write/collect.d.ts +50 -0
- package/dist/write/collect.d.ts.map +1 -0
- package/dist/write/collect.js +220 -0
- package/dist/write/collect.js.map +1 -0
- package/dist/write/instructions.d.ts +16 -0
- package/dist/write/instructions.d.ts.map +1 -0
- package/dist/write/instructions.js +89 -0
- package/dist/write/instructions.js.map +1 -0
- package/dist/write/send.d.ts +115 -0
- package/dist/write/send.d.ts.map +1 -0
- package/dist/write/send.js +720 -0
- package/dist/write/send.js.map +1 -0
- package/dist/write/signer.d.ts +94 -0
- package/dist/write/signer.d.ts.map +1 -0
- package/dist/write/signer.js +197 -0
- package/dist/write/signer.js.map +1 -0
- package/dist/write/transaction.d.ts +75 -0
- package/dist/write/transaction.d.ts.map +1 -0
- package/dist/write/transaction.js +133 -0
- package/dist/write/transaction.js.map +1 -0
- package/dist/write/transfer.d.ts +72 -0
- package/dist/write/transfer.d.ts.map +1 -0
- package/dist/write/transfer.js +127 -0
- package/dist/write/transfer.js.map +1 -0
- package/package.json +23 -5
- package/src/address.ts +9 -0
- package/src/client.ts +10 -0
- package/src/index.ts +2 -1
- package/src/layout.ts +17 -0
- package/src/liquidity/amm.ts +353 -0
- package/src/liquidity/clmm.ts +108 -0
- package/src/liquidity/common.ts +285 -0
- package/src/liquidity/index.ts +177 -0
- package/src/liquidity/orca.ts +344 -0
- package/src/liquidity/raydiumClmm.ts +348 -0
- package/src/liquidity/types.ts +158 -0
- package/src/lp.ts +850 -0
- package/src/lpMath.ts +420 -0
- package/src/shortcuts.ts +1 -1
- package/src/subpaths/liquidity.ts +45 -0
- package/src/subpaths/lp.ts +71 -0
- package/src/subpaths/write.ts +29 -0
- package/src/write/batch.ts +78 -0
- package/src/write/collect.ts +286 -0
- package/src/write/instructions.ts +98 -0
- package/src/write/send.ts +876 -0
- package/src/write/signer.ts +314 -0
- package/src/write/transaction.ts +181 -0
- package/src/write/transfer.ts +189 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/write/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Instruction } from './transaction.js';
|
|
2
|
+
export declare const COMPUTE_BUDGET_PROGRAM_ID = "ComputeBudget111111111111111111111111111111";
|
|
3
|
+
/** 单笔交易的计算单元上限 */
|
|
4
|
+
export declare const MAX_COMPUTE_UNITS = 1400000;
|
|
5
|
+
/** System Program Transfer:转 SOL */
|
|
6
|
+
export declare function systemTransfer(from: string, to: string, lamports: bigint): Instruction;
|
|
7
|
+
/** SPL Token / Token-2022 TransferChecked(校验 mint 和精度) */
|
|
8
|
+
export declare function transferChecked(source: string, mint: string, destination: string, owner: string, amount: bigint, decimals: number, tokenProgram: string): Instruction;
|
|
9
|
+
/** 创建关联代币账户(已存在时什么都不做),租金由 payer 付 */
|
|
10
|
+
export declare function createAssociatedTokenAccountIdempotent(payer: string, ata: string, owner: string, mint: string, tokenProgram: string): Instruction;
|
|
11
|
+
/** 关闭代币账户(余额必须为 0),租金退给 destination */
|
|
12
|
+
export declare function closeAccount(account: string, destination: string, owner: string, tokenProgram: string): Instruction;
|
|
13
|
+
export declare function setComputeUnitLimit(units: number): Instruction;
|
|
14
|
+
/** 优先费用:每个计算单元多付多少 micro-lamports */
|
|
15
|
+
export declare function setComputeUnitPrice(microLamports: bigint): Instruction;
|
|
16
|
+
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/write/instructions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,eAAO,MAAM,yBAAyB,gDAAgD,CAAA;AAEtF,kBAAkB;AAClB,eAAO,MAAM,iBAAiB,UAAY,CAAA;AAQ1C,oCAAoC;AACpC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAYtF;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAerK;AAED,sCAAsC;AACtC,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAajJ;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAUnH;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAS9D;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAStE"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ASSOCIATED_TOKEN_PROGRAM_ID, SYSTEM_PROGRAM_ID } from '../constants.js';
|
|
2
|
+
export const COMPUTE_BUDGET_PROGRAM_ID = 'ComputeBudget111111111111111111111111111111';
|
|
3
|
+
/** 单笔交易的计算单元上限 */
|
|
4
|
+
export const MAX_COMPUTE_UNITS = 1_400_000;
|
|
5
|
+
function bytes(size, write) {
|
|
6
|
+
const out = new Uint8Array(size);
|
|
7
|
+
write(new DataView(out.buffer));
|
|
8
|
+
return out;
|
|
9
|
+
}
|
|
10
|
+
/** System Program Transfer:转 SOL */
|
|
11
|
+
export function systemTransfer(from, to, lamports) {
|
|
12
|
+
return {
|
|
13
|
+
programId: SYSTEM_PROGRAM_ID,
|
|
14
|
+
keys: [
|
|
15
|
+
{ pubkey: from, isSigner: true, isWritable: true },
|
|
16
|
+
{ pubkey: to, isSigner: false, isWritable: true },
|
|
17
|
+
],
|
|
18
|
+
data: bytes(12, (v) => {
|
|
19
|
+
v.setUint32(0, 2, true);
|
|
20
|
+
v.setBigUint64(4, lamports, true);
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** SPL Token / Token-2022 TransferChecked(校验 mint 和精度) */
|
|
25
|
+
export function transferChecked(source, mint, destination, owner, amount, decimals, tokenProgram) {
|
|
26
|
+
return {
|
|
27
|
+
programId: tokenProgram,
|
|
28
|
+
keys: [
|
|
29
|
+
{ pubkey: source, isSigner: false, isWritable: true },
|
|
30
|
+
{ pubkey: mint, isSigner: false, isWritable: false },
|
|
31
|
+
{ pubkey: destination, isSigner: false, isWritable: true },
|
|
32
|
+
{ pubkey: owner, isSigner: true, isWritable: false },
|
|
33
|
+
],
|
|
34
|
+
data: bytes(10, (v) => {
|
|
35
|
+
v.setUint8(0, 12);
|
|
36
|
+
v.setBigUint64(1, amount, true);
|
|
37
|
+
v.setUint8(9, decimals);
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** 创建关联代币账户(已存在时什么都不做),租金由 payer 付 */
|
|
42
|
+
export function createAssociatedTokenAccountIdempotent(payer, ata, owner, mint, tokenProgram) {
|
|
43
|
+
return {
|
|
44
|
+
programId: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
45
|
+
keys: [
|
|
46
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
47
|
+
{ pubkey: ata, isSigner: false, isWritable: true },
|
|
48
|
+
{ pubkey: owner, isSigner: false, isWritable: false },
|
|
49
|
+
{ pubkey: mint, isSigner: false, isWritable: false },
|
|
50
|
+
{ pubkey: SYSTEM_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
51
|
+
{ pubkey: tokenProgram, isSigner: false, isWritable: false },
|
|
52
|
+
],
|
|
53
|
+
data: new Uint8Array([1]),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** 关闭代币账户(余额必须为 0),租金退给 destination */
|
|
57
|
+
export function closeAccount(account, destination, owner, tokenProgram) {
|
|
58
|
+
return {
|
|
59
|
+
programId: tokenProgram,
|
|
60
|
+
keys: [
|
|
61
|
+
{ pubkey: account, isSigner: false, isWritable: true },
|
|
62
|
+
{ pubkey: destination, isSigner: false, isWritable: true },
|
|
63
|
+
{ pubkey: owner, isSigner: true, isWritable: false },
|
|
64
|
+
],
|
|
65
|
+
data: new Uint8Array([9]),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export function setComputeUnitLimit(units) {
|
|
69
|
+
return {
|
|
70
|
+
programId: COMPUTE_BUDGET_PROGRAM_ID,
|
|
71
|
+
keys: [],
|
|
72
|
+
data: bytes(5, (v) => {
|
|
73
|
+
v.setUint8(0, 2);
|
|
74
|
+
v.setUint32(1, units, true);
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** 优先费用:每个计算单元多付多少 micro-lamports */
|
|
79
|
+
export function setComputeUnitPrice(microLamports) {
|
|
80
|
+
return {
|
|
81
|
+
programId: COMPUTE_BUDGET_PROGRAM_ID,
|
|
82
|
+
keys: [],
|
|
83
|
+
data: bytes(9, (v) => {
|
|
84
|
+
v.setUint8(0, 3);
|
|
85
|
+
v.setBigUint64(1, microLamports, true);
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/write/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { SolanaClient } from '../client.js';
|
|
2
|
+
import type { ResolvedSigner, SignerInput } from './signer.js';
|
|
3
|
+
import { type Instruction } from './transaction.js';
|
|
4
|
+
/**
|
|
5
|
+
* 每个调用的状态:
|
|
6
|
+
* - confirmed:已上链且执行成功
|
|
7
|
+
* - reverted:已上链但执行失败(手续费已扣);同一笔交易里的其他调用也一起回滚,同样是 reverted
|
|
8
|
+
* - failed:没有发出去(模拟失败、SOL 不够付手续费、交易过期且重试次数用完等),不花手续费
|
|
9
|
+
* - sent:已广播,没等确认(wait: false,或等待中途取消)。广播时节点都连不上(交易可能已经发出)也算 sent,error 里有说明
|
|
10
|
+
* - pending:等到 timeout 还没确认,交易的 blockhash 过期前仍可能上链
|
|
11
|
+
* - skipped:没有执行:前面的调用失败(continueOnError 为 false 时)、已取消、余额为 0 等
|
|
12
|
+
* - simulated:dryRun 模拟通过
|
|
13
|
+
*/
|
|
14
|
+
export type WriteStatus = 'confirmed' | 'reverted' | 'failed' | 'sent' | 'pending' | 'skipped' | 'simulated';
|
|
15
|
+
/** 发送参数(batchCall / batchTransfer / batchCollect 共用) */
|
|
16
|
+
export interface SendOptions {
|
|
17
|
+
/** 等待确认。默认 true;false 时广播后即返回,status 为 'sent'(不会在过期后重发) */
|
|
18
|
+
wait?: boolean;
|
|
19
|
+
/** 每笔交易等待确认的最长时间(毫秒),超时 status 为 'pending'。默认 120000 */
|
|
20
|
+
timeout?: number;
|
|
21
|
+
/** 查询确认状态的间隔(毫秒),默认 2000。等待期间每次都重发一次原交易(同一笔签名交易重复发送是安全的) */
|
|
22
|
+
pollInterval?: number;
|
|
23
|
+
/** 同时处理的手续费支付者数(同一支付者的交易按顺序发出,不等上一笔确认),默认 8 */
|
|
24
|
+
concurrency?: number;
|
|
25
|
+
/**
|
|
26
|
+
* 手续费支付者:所有交易的手续费(以及新建代币账户的租金)由它付,发送方的钱包不需要有 SOL。
|
|
27
|
+
* 不传时每个钱包自己付
|
|
28
|
+
*/
|
|
29
|
+
feePayer?: SignerInput;
|
|
30
|
+
/**
|
|
31
|
+
* 优先费用(每个计算单元多少 micro-lamports),或 'auto'(默认):按 getRecentPrioritizationFees 里这笔交易可写账户的最近费用取 75 分位,
|
|
32
|
+
* 不超过 maxPriorityFee。计算单元上限按模拟结果设置(× 1.1 + 1000),优先费用 = 单价 × 上限
|
|
33
|
+
*/
|
|
34
|
+
priorityFee?: number | bigint | 'auto';
|
|
35
|
+
/** 'auto' 时优先费用单价的上限(micro-lamports),默认 1000000 */
|
|
36
|
+
maxPriorityFee?: number | bigint;
|
|
37
|
+
/** 交易过期(blockhash 失效)仍未上链时,重新模拟、换新 blockhash 重发的次数。默认 2 */
|
|
38
|
+
retries?: number;
|
|
39
|
+
/** 等到什么确认级别,默认 'confirmed' */
|
|
40
|
+
commitment?: 'confirmed' | 'finalized';
|
|
41
|
+
/** 只模拟、不发送,status 为 'simulated' 或 'failed'。注意:依赖前一笔交易结果的调用模拟会失败 */
|
|
42
|
+
dryRun?: boolean;
|
|
43
|
+
/** 取消:不再发新交易,已发出的不再等待确认(status 为 'sent') */
|
|
44
|
+
signal?: AbortSignal;
|
|
45
|
+
/** 每个结果状态变化时回调,用于展示进度 */
|
|
46
|
+
onUpdate?: (result: WriteResult) => void;
|
|
47
|
+
}
|
|
48
|
+
/** 每个调用的结果,都是字符串 / 数字 / null,可以直接 JSON.stringify */
|
|
49
|
+
export interface WriteResult {
|
|
50
|
+
/** 在输入里的下标 */
|
|
51
|
+
index: number;
|
|
52
|
+
/** 发送的钱包地址 */
|
|
53
|
+
from: string;
|
|
54
|
+
status: WriteStatus;
|
|
55
|
+
/** 交易签名(同一笔交易里的多个调用相同) */
|
|
56
|
+
signature: string | null;
|
|
57
|
+
/** 上链的 slot */
|
|
58
|
+
slot: number | null;
|
|
59
|
+
/** 整笔交易的手续费(lamports):每个签名 5000 + 优先费用;同一笔交易里的多个调用相同,不含新建账户的租金 */
|
|
60
|
+
fee: string | null;
|
|
61
|
+
/** 模拟时整笔交易消耗的计算单元 */
|
|
62
|
+
computeUnits: number | null;
|
|
63
|
+
error: string | null;
|
|
64
|
+
}
|
|
65
|
+
/** 交易层面的结果 */
|
|
66
|
+
export interface TxOutcome {
|
|
67
|
+
status: WriteStatus;
|
|
68
|
+
signature: string | null;
|
|
69
|
+
slot: number | null;
|
|
70
|
+
fee: bigint | null;
|
|
71
|
+
computeUnits: number | null;
|
|
72
|
+
error: string | null;
|
|
73
|
+
}
|
|
74
|
+
/** 一个调用:要原子执行的一组指令(同一笔交易里的多个调用,任一失败整笔回滚) */
|
|
75
|
+
export interface Unit {
|
|
76
|
+
instructions: Instruction[];
|
|
77
|
+
/** 手续费支付者 */
|
|
78
|
+
payer: ResolvedSigner;
|
|
79
|
+
/** 指令需要的其他签名者 */
|
|
80
|
+
signers: ResolvedSigner[];
|
|
81
|
+
/** 单独成一笔交易,计算单元上限和优先费用固定(扫空 SOL 时手续费要事先算好) */
|
|
82
|
+
fixed?: {
|
|
83
|
+
computeUnits: number;
|
|
84
|
+
price: bigint;
|
|
85
|
+
};
|
|
86
|
+
/** 发送前失败时后面的调用是否继续,默认 false */
|
|
87
|
+
continueOnError?: boolean;
|
|
88
|
+
onUpdate(outcome: TxOutcome): void;
|
|
89
|
+
}
|
|
90
|
+
export declare function emptyOutcome(status: WriteStatus, error?: string | null): TxOutcome;
|
|
91
|
+
export declare function toWriteResult(index: number, from: string, outcome: TxOutcome): WriteResult;
|
|
92
|
+
/** 并发数为 limit 的 map,结果按输入顺序 */
|
|
93
|
+
export declare function mapPool<T, R>(items: readonly T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
94
|
+
/** 每个签名的基础手续费(lamports) */
|
|
95
|
+
export declare const LAMPORTS_PER_SIGNATURE = 5000n;
|
|
96
|
+
/** 交易手续费:签名数 × 5000 + 优先费用(单价 × 计算单元上限,向上取整) */
|
|
97
|
+
export declare function transactionFee(signatures: number, computeUnits: number, price: bigint): bigint;
|
|
98
|
+
/**
|
|
99
|
+
* 交易错误的可读说明:优先取日志(见 logDetail),否则按错误类型;
|
|
100
|
+
* programs 是每条指令的程序(按下标),用来翻译常见程序的自定义错误码
|
|
101
|
+
*/
|
|
102
|
+
export declare function transactionErrorText(err: unknown, logs?: readonly string[] | null, programs?: readonly string[]): string;
|
|
103
|
+
/** 按 SendOptions 取优先费用单价(micro-lamports / 计算单元);writable 是交易里的可写账户 */
|
|
104
|
+
export declare function priorityFeeFor(client: SolanaClient, options: SendOptions, writable: readonly string[]): Promise<bigint>;
|
|
105
|
+
export interface SendUnitsOptions {
|
|
106
|
+
/** 每笔交易最多打包几个调用,默认不限(按交易大小 1232 字节和 64 个账户的上限) */
|
|
107
|
+
batchSize?: number;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 发送一批调用:按手续费支付者分组,组内按顺序把相邻的调用打包成交易(不超过交易大小上限),
|
|
111
|
+
* 逐笔模拟(失败的调用剔除后重新模拟其余的)、签名、发送,不等上一笔确认;不同支付者并发。
|
|
112
|
+
* 模拟失败且同一支付者还有未确认的交易时,先等它们确认再模拟一次(后一笔依赖前一笔时自动正确处理)
|
|
113
|
+
*/
|
|
114
|
+
export declare function sendUnits(client: SolanaClient, units: readonly Unit[], options: SendOptions, pack?: SendUnitsOptions): Promise<void>;
|
|
115
|
+
//# sourceMappingURL=send.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/write/send.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAA;AACzF,OAAO,EAAiJ,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAElM;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;AAE5G,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACtC,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,CAAA;IACtC,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;CACzC;AAED,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,cAAc;IACd,KAAK,EAAE,MAAM,CAAA;IACb,cAAc;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,eAAe;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,kEAAkE;IAClE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,qBAAqB;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,cAAc;AACd,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,4CAA4C;AAC5C,MAAM,WAAW,IAAI;IACnB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,aAAa;IACb,KAAK,EAAE,cAAc,CAAA;IACrB,iBAAiB;IACjB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,8CAA8C;IAC9C,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;CACnC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,GAAG,SAAS,CAExF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,WAAW,CAW1F;AAED,+BAA+B;AAC/B,wBAAsB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAWhI;AAkBD,2BAA2B;AAC3B,eAAO,MAAM,sBAAsB,QAAQ,CAAA;AAE3C,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9F;AAsDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgBxH;AAgID,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvH;AA+KD,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9I"}
|