@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.
Files changed (123) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +205 -2
  3. package/dist/address.d.ts +2 -0
  4. package/dist/address.d.ts.map +1 -1
  5. package/dist/address.js +8 -0
  6. package/dist/address.js.map +1 -1
  7. package/dist/client.d.ts +4 -0
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +8 -0
  10. package/dist/client.js.map +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/layout.d.ts +5 -0
  16. package/dist/layout.d.ts.map +1 -1
  17. package/dist/layout.js +16 -0
  18. package/dist/layout.js.map +1 -1
  19. package/dist/liquidity/amm.d.ts +7 -0
  20. package/dist/liquidity/amm.d.ts.map +1 -0
  21. package/dist/liquidity/amm.js +307 -0
  22. package/dist/liquidity/amm.js.map +1 -0
  23. package/dist/liquidity/clmm.d.ts +18 -0
  24. package/dist/liquidity/clmm.d.ts.map +1 -0
  25. package/dist/liquidity/clmm.js +85 -0
  26. package/dist/liquidity/clmm.js.map +1 -0
  27. package/dist/liquidity/common.d.ts +94 -0
  28. package/dist/liquidity/common.d.ts.map +1 -0
  29. package/dist/liquidity/common.js +228 -0
  30. package/dist/liquidity/common.js.map +1 -0
  31. package/dist/liquidity/index.d.ts +34 -0
  32. package/dist/liquidity/index.d.ts.map +1 -0
  33. package/dist/liquidity/index.js +157 -0
  34. package/dist/liquidity/index.js.map +1 -0
  35. package/dist/liquidity/orca.d.ts +6 -0
  36. package/dist/liquidity/orca.d.ts.map +1 -0
  37. package/dist/liquidity/orca.js +303 -0
  38. package/dist/liquidity/orca.js.map +1 -0
  39. package/dist/liquidity/raydiumClmm.d.ts +6 -0
  40. package/dist/liquidity/raydiumClmm.d.ts.map +1 -0
  41. package/dist/liquidity/raydiumClmm.js +307 -0
  42. package/dist/liquidity/raydiumClmm.js.map +1 -0
  43. package/dist/liquidity/types.d.ts +150 -0
  44. package/dist/liquidity/types.d.ts.map +1 -0
  45. package/dist/liquidity/types.js +2 -0
  46. package/dist/liquidity/types.js.map +1 -0
  47. package/dist/lp.d.ts +168 -0
  48. package/dist/lp.d.ts.map +1 -0
  49. package/dist/lp.js +632 -0
  50. package/dist/lp.js.map +1 -0
  51. package/dist/lpMath.d.ts +82 -0
  52. package/dist/lpMath.d.ts.map +1 -0
  53. package/dist/lpMath.js +365 -0
  54. package/dist/lpMath.js.map +1 -0
  55. package/dist/shortcuts.d.ts +8 -0
  56. package/dist/shortcuts.d.ts.map +1 -1
  57. package/dist/shortcuts.js +1 -1
  58. package/dist/shortcuts.js.map +1 -1
  59. package/dist/subpaths/liquidity.d.ts +23 -0
  60. package/dist/subpaths/liquidity.d.ts.map +1 -0
  61. package/dist/subpaths/liquidity.js +19 -0
  62. package/dist/subpaths/liquidity.js.map +1 -0
  63. package/dist/subpaths/lp.d.ts +31 -0
  64. package/dist/subpaths/lp.d.ts.map +1 -0
  65. package/dist/subpaths/lp.js +33 -0
  66. package/dist/subpaths/lp.js.map +1 -0
  67. package/dist/subpaths/write.d.ts +22 -0
  68. package/dist/subpaths/write.d.ts.map +1 -0
  69. package/dist/subpaths/write.js +19 -0
  70. package/dist/subpaths/write.js.map +1 -0
  71. package/dist/write/batch.d.ts +41 -0
  72. package/dist/write/batch.d.ts.map +1 -0
  73. package/dist/write/batch.js +46 -0
  74. package/dist/write/batch.js.map +1 -0
  75. package/dist/write/collect.d.ts +50 -0
  76. package/dist/write/collect.d.ts.map +1 -0
  77. package/dist/write/collect.js +220 -0
  78. package/dist/write/collect.js.map +1 -0
  79. package/dist/write/instructions.d.ts +16 -0
  80. package/dist/write/instructions.d.ts.map +1 -0
  81. package/dist/write/instructions.js +89 -0
  82. package/dist/write/instructions.js.map +1 -0
  83. package/dist/write/send.d.ts +115 -0
  84. package/dist/write/send.d.ts.map +1 -0
  85. package/dist/write/send.js +720 -0
  86. package/dist/write/send.js.map +1 -0
  87. package/dist/write/signer.d.ts +94 -0
  88. package/dist/write/signer.d.ts.map +1 -0
  89. package/dist/write/signer.js +197 -0
  90. package/dist/write/signer.js.map +1 -0
  91. package/dist/write/transaction.d.ts +75 -0
  92. package/dist/write/transaction.d.ts.map +1 -0
  93. package/dist/write/transaction.js +133 -0
  94. package/dist/write/transaction.js.map +1 -0
  95. package/dist/write/transfer.d.ts +72 -0
  96. package/dist/write/transfer.d.ts.map +1 -0
  97. package/dist/write/transfer.js +127 -0
  98. package/dist/write/transfer.js.map +1 -0
  99. package/package.json +23 -5
  100. package/src/address.ts +9 -0
  101. package/src/client.ts +10 -0
  102. package/src/index.ts +2 -1
  103. package/src/layout.ts +17 -0
  104. package/src/liquidity/amm.ts +353 -0
  105. package/src/liquidity/clmm.ts +108 -0
  106. package/src/liquidity/common.ts +285 -0
  107. package/src/liquidity/index.ts +177 -0
  108. package/src/liquidity/orca.ts +344 -0
  109. package/src/liquidity/raydiumClmm.ts +348 -0
  110. package/src/liquidity/types.ts +158 -0
  111. package/src/lp.ts +850 -0
  112. package/src/lpMath.ts +420 -0
  113. package/src/shortcuts.ts +1 -1
  114. package/src/subpaths/liquidity.ts +45 -0
  115. package/src/subpaths/lp.ts +71 -0
  116. package/src/subpaths/write.ts +29 -0
  117. package/src/write/batch.ts +78 -0
  118. package/src/write/collect.ts +286 -0
  119. package/src/write/instructions.ts +98 -0
  120. package/src/write/send.ts +876 -0
  121. package/src/write/signer.ts +314 -0
  122. package/src/write/transaction.ts +181 -0
  123. package/src/write/transfer.ts +189 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raydiumClmm.js","sourceRoot":"","sources":["../../src/liquidity/raydiumClmm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import type { SolanaLpPosition, SolanaLpProtocol, SolanaLpToken } from '../lp.js';
2
+ import type { SendOptions, WriteResult, WriteStatus } from '../write/send.js';
3
+ import type { Instruction } from '../write/transaction.js';
4
+ type Amount = bigint | number | string;
5
+ /**
6
+ * 已有的仓位:直接传 getLpPositions 查到的 SolanaLpPosition,或者只传能定位仓位的字段:
7
+ * - Raydium CLMM / Orca Whirlpool:positionMint(仓位 NFT 的 mint)
8
+ * - Raydium AMM v4 / CPMM:pool(池子地址)
9
+ */
10
+ export interface SolanaPositionRef {
11
+ protocol: SolanaLpProtocol;
12
+ positionMint?: string;
13
+ pool?: string;
14
+ }
15
+ /** 往已有仓位追加:两边数量给一边即可(另一边按当前价格算),也可以都给(按较少的一边) */
16
+ export interface SolanaIncreaseLiquidityParams {
17
+ position: SolanaPositionRef | SolanaLpPosition;
18
+ /** token0 的数量:amount0(最小单位)和 amount0Formatted(按精度换算,如 '1.5')二选一 */
19
+ amount0?: Amount;
20
+ amount0Formatted?: string;
21
+ amount1?: Amount;
22
+ amount1Formatted?: string;
23
+ }
24
+ /**
25
+ * 新建仓位(Raydium CLMM / Orca:一个新的仓位 NFT;AMM v4 / CPMM:往池子里加流动性,拿到 LP 代币)。
26
+ * 池子用地址指定(Solana 上同一对代币有很多池子,按地址最明确);价格是“1 个 token0 值多少个 token1”(池子的方向)
27
+ */
28
+ export interface SolanaNewPositionParams {
29
+ protocol: SolanaLpProtocol;
30
+ pool: string;
31
+ /** 集中流动性:价格区间(token1 / token0,取最近的可用 tick);或直接给 tick;或 fullRange */
32
+ priceLower?: string | number;
33
+ priceUpper?: string | number;
34
+ tickLower?: number;
35
+ tickUpper?: number;
36
+ fullRange?: boolean;
37
+ amount0?: Amount;
38
+ amount0Formatted?: string;
39
+ amount1?: Amount;
40
+ amount1Formatted?: string;
41
+ }
42
+ export type SolanaAddLiquidityParams = SolanaIncreaseLiquidityParams | SolanaNewPositionParams;
43
+ export interface SolanaRemoveLiquidityParams {
44
+ position: SolanaPositionRef | SolanaLpPosition;
45
+ /** 移除的比例(百分数,(0, 100]),默认 100 */
46
+ percent?: number;
47
+ /** 或者直接给移除的数量:集中流动性是 L,AMM 是 LP 代币数量(最小单位) */
48
+ liquidity?: Amount;
49
+ /** 集中流动性:全部移除后关闭仓位、销毁 NFT(退回租金),默认 false */
50
+ burn?: boolean;
51
+ }
52
+ export interface SolanaCollectFeesParams {
53
+ /** 集中流动性的仓位(AMM 的手续费已经计入 LP 份额) */
54
+ position: SolanaPositionRef | SolanaLpPosition;
55
+ }
56
+ export interface SolanaLiquidityOptions {
57
+ /** 价格滑点(比例,0.005 = 0.5%),默认 0.005 */
58
+ slippage?: number;
59
+ /**
60
+ * Wrapped SOL 那一边用 SOL 支付 / 收取(自动包装 / 解包),默认 true。
61
+ * 用的是 wSOL 的关联代币账户:原来没有时创建、用完关闭(剩余的 wSOL 换回 SOL);原来就有时只补差额、不关闭
62
+ */
63
+ native?: boolean;
64
+ /** 新建仓位的 NFT 归谁,默认 owner */
65
+ recipient?: string;
66
+ /** 取消读取 */
67
+ signal?: AbortSignal;
68
+ }
69
+ /** 一步:要原子执行的一组指令 */
70
+ export interface SolanaLiquidityStep {
71
+ /**
72
+ * - setup:创建代币账户、初始化 tick 数组等准备工作(与主指令能放进同一笔交易时会合并)
73
+ * - add / remove / collect:添加 / 移除流动性、领取手续费
74
+ */
75
+ kind: 'setup' | 'add' | 'remove' | 'collect';
76
+ instructions: Instruction[];
77
+ }
78
+ /** 添加 / 移除流动性的计划:预计的数量 + 按顺序执行的指令。只读取、不签名,可以当作报价 */
79
+ export interface SolanaLiquidityPlan {
80
+ action: 'add' | 'remove' | 'collect';
81
+ protocol: SolanaLpProtocol;
82
+ protocolName: string;
83
+ type: 'clmm' | 'amm';
84
+ pool: string;
85
+ owner: string;
86
+ token0: SolanaLpToken;
87
+ token1: SolanaLpToken;
88
+ /** 集中流动性:仓位 NFT 的 mint(新建时是新生成的,见 signers)和仓位账户 */
89
+ positionMint: string | null;
90
+ position: string | null;
91
+ /** AMM:LP 代币的 mint */
92
+ lpMint: string | null;
93
+ /** 集中流动性:区间、池子当前的 tick 和价格(token1 / token0,按精度换算,只用于展示) */
94
+ tickLower: number | null;
95
+ tickUpper: number | null;
96
+ tick: number | null;
97
+ price: number | null;
98
+ priceLower: number | null;
99
+ priceUpper: number | null;
100
+ /** 添加 / 移除的流动性:集中流动性是 L;AMM 是 LP 代币数量 */
101
+ liquidity: string;
102
+ /** 按当前价格预计存入 / 取出的数量(不含手续费) */
103
+ amount0: string;
104
+ amount1: string;
105
+ amount0Formatted: string | null;
106
+ amount1Formatted: string | null;
107
+ /** 添加:最多会用掉的数量(按滑点);移除:null */
108
+ amount0Max: string | null;
109
+ amount1Max: string | null;
110
+ /** 移除:至少会拿到的数量;添加:null */
111
+ amount0Min: string | null;
112
+ amount1Min: string | null;
113
+ /** 一并领取的未领取手续费(集中流动性移除 / 领取时);AMM 为 '0' */
114
+ fees0: string;
115
+ fees1: string;
116
+ fees0Formatted: string | null;
117
+ fees1Formatted: string | null;
118
+ /** 一并领取的挖矿奖励的代币(集中流动性移除 / 领取时;数量要等交易执行后才知道) */
119
+ rewardMints: string[];
120
+ /** 哪一边用 SOL 支付 / 收取(自动包装 / 解包 wSOL) */
121
+ native: 'token0' | 'token1' | null;
122
+ /** 按顺序执行;setup 和主指令能放进同一笔交易时会合并 */
123
+ steps: SolanaLiquidityStep[];
124
+ /**
125
+ * 除 owner 外还需要签名的临时密钥(新建集中流动性仓位时的 NFT mint,32 字节种子)。
126
+ * 自己发送时用它签名主指令所在的交易(如 web3.js 的 Keypair.fromSeed(secretKey))
127
+ */
128
+ signers: Array<{
129
+ address: string;
130
+ secretKey: Uint8Array;
131
+ }>;
132
+ }
133
+ export interface SolanaLiquiditySendOptions extends SolanaLiquidityOptions, Omit<SendOptions, 'onUpdate' | 'signal'> {
134
+ /** 发送前检查余额够不够(添加时),默认 true */
135
+ checkBalance?: boolean;
136
+ onUpdate?: (result: SolanaLiquidityStepResult) => void;
137
+ }
138
+ export interface SolanaLiquidityStepResult extends WriteResult {
139
+ kind: SolanaLiquidityStep['kind'];
140
+ }
141
+ export interface SolanaLiquidityResult {
142
+ plan: SolanaLiquidityPlan;
143
+ /** 与 plan.steps 一一对应 */
144
+ results: SolanaLiquidityStepResult[];
145
+ /** 主指令(最后一步)的状态和签名 */
146
+ status: WriteStatus;
147
+ signature: string | null;
148
+ }
149
+ export {};
150
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/liquidity/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/liquidity/types.ts"],"names":[],"mappings":""}
package/dist/lp.d.ts ADDED
@@ -0,0 +1,168 @@
1
+ import type { RequestOptions, SolanaClient } from './client.js';
2
+ import { type AccountInfo } from './layout.js';
3
+ export declare const RAYDIUM_CLMM_PROGRAM_ID = "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK";
4
+ export declare const ORCA_WHIRLPOOL_PROGRAM_ID = "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc";
5
+ export declare const RAYDIUM_AMM_PROGRAM_ID = "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8";
6
+ export declare const RAYDIUM_CPMM_PROGRAM_ID = "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C";
7
+ /** AMM v4 的 LP mint 权限(固定地址) */
8
+ export declare const RAYDIUM_AMM_AUTHORITY = "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1";
9
+ /** CPMM 的 LP mint 权限:PDA ["vault_and_lp_mint_auth_seed"] */
10
+ export declare const RAYDIUM_CPMM_AUTHORITY = "GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL";
11
+ export type SolanaLpProtocol = 'raydium-clmm' | 'orca-whirlpool' | 'raydium-amm' | 'raydium-cpmm';
12
+ export declare const SOLANA_LP_PROTOCOLS: Readonly<Record<SolanaLpProtocol, {
13
+ name: string;
14
+ type: 'clmm' | 'amm';
15
+ programId: string;
16
+ }>>;
17
+ export interface SolanaPriceSource {
18
+ readonly name: string;
19
+ /** 返回 mint → 美元价格;没有价格的不返回 */
20
+ prices(ctx: {
21
+ mints: readonly string[];
22
+ fetch: typeof fetch;
23
+ signal?: AbortSignal;
24
+ }): Promise<Map<string, number>>;
25
+ }
26
+ /** DefiLlama 价格(免费免 Key,按 100 个一批查询);confidence 低于 minConfidence(默认 0.9)的价格不用 */
27
+ export declare function defillamaPrices(options?: {
28
+ minConfidence?: number;
29
+ }): SolanaPriceSource;
30
+ export interface SolanaLpToken {
31
+ mint: string;
32
+ /** 读不到时为 null;Wrapped SOL 为 'SOL'(按客户端的 nativeMints 配置) */
33
+ symbol: string | null;
34
+ /** 读不到时为 null(这时 formatted 字段也为 null) */
35
+ decimals: number | null;
36
+ }
37
+ interface SolanaLpPositionBase {
38
+ protocol: SolanaLpProtocol;
39
+ protocolName: string;
40
+ /** 池子账户地址 */
41
+ pool: string;
42
+ token0: SolanaLpToken;
43
+ token1: SolanaLpToken;
44
+ /** 撤出全部流动性能拿到的数量(最小单位,十进制字符串;不含未领取的手续费) */
45
+ amount0: string;
46
+ amount1: string;
47
+ amount0Formatted: string | null;
48
+ amount1Formatted: string | null;
49
+ /** 开启 prices 时:两种代币的美元价值(数量不为 0 的代币没有价格时为 null);没开启时不返回 */
50
+ valueUsd?: number | null;
51
+ }
52
+ /** Raydium AMM v4 / CPMM:持有的 LP 代币 */
53
+ export interface SolanaLpAmmPosition extends SolanaLpPositionBase {
54
+ type: 'amm';
55
+ lpMint: string;
56
+ /** 持有的 LP 数量(最小单位) */
57
+ balance: string;
58
+ /** 池子记录的 LP 总量(程序按它计算撤出数量) */
59
+ totalSupply: string;
60
+ /** 份额(0~1,浮点数) */
61
+ share: number;
62
+ }
63
+ /** Raydium CLMM / Orca Whirlpool:仓位 NFT */
64
+ export interface SolanaLpClmmPosition extends SolanaLpPositionBase {
65
+ type: 'clmm';
66
+ /** 仓位 NFT 的 mint */
67
+ positionMint: string;
68
+ /** 仓位账户(PDA ["position", positionMint]) */
69
+ position: string;
70
+ /** 手续费率,百万分之一(如 2500 = 0.25%);读不到时为 null */
71
+ fee: number | null;
72
+ tickSpacing: number;
73
+ tickLower: number;
74
+ tickUpper: number;
75
+ /** 池子当前 tick */
76
+ tick: number;
77
+ /** 当前价格在区间内(tickLower ≤ tick < tickUpper,在区间内才赚手续费) */
78
+ inRange: boolean;
79
+ liquidity: string;
80
+ /** 价格都是 token1 / token0(按精度换算,只用于展示);读不到精度时为 null */
81
+ price: number | null;
82
+ priceLower: number | null;
83
+ priceUpper: number | null;
84
+ /** 未领取的手续费(最小单位);不含挖矿奖励。读不到两端的 tick 数据时(极少见,如数组刚好被关闭)为 null */
85
+ fees0: string | null;
86
+ fees1: string | null;
87
+ fees0Formatted: string | null;
88
+ fees1Formatted: string | null;
89
+ /** 开启 prices 时:未领取手续费的美元价值(手续费为 null 或缺价格时为 null) */
90
+ feesUsd?: number | null;
91
+ }
92
+ export type SolanaLpPosition = SolanaLpAmmPosition | SolanaLpClmmPosition;
93
+ export interface LpPositionsOptions extends RequestOptions {
94
+ /** 只查这些协议,默认全部 */
95
+ protocols?: readonly SolanaLpProtocol[];
96
+ /**
97
+ * 只看这些代币(仓位 NFT 的 mint、LP 代币的 mint),按关联代币账户(ATA)读余额,免费公共节点也能用。
98
+ * 不传时扫描地址的全部代币账户(getTokenAccountsByOwner,需要支持它的节点)
99
+ */
100
+ mints?: readonly string[];
101
+ /**
102
+ * Raydium AMM v4 / CPMM 的池子地址:这些池子的 LP 代币直接按池子识别。
103
+ * 不在这里的 LP 代币用 getProgramAccounts 按 LP mint 找池子(需要支持它的节点)
104
+ */
105
+ pools?: readonly string[];
106
+ /** 返回已清空的仓位(流动性为 0、手续费也领完,NFT 还在)。默认 false */
107
+ includeClosed?: boolean;
108
+ /** 查美元价值:true 用 DefiLlama,也可以传自己的 SolanaPriceSource。默认不查 */
109
+ prices?: boolean | SolanaPriceSource;
110
+ /**
111
+ * 价格源出错时调用(服务不可用、被拦截等):这时照样返回仓位,只是 valueUsd / feesUsd 为 null,
112
+ * 用它区分“价格服务出错”和“这个代币没有价格”。回调本身出错会被忽略
113
+ */
114
+ onPriceError?: (error: unknown) => void;
115
+ /** 查价格用的 fetch,默认全局 fetch */
116
+ fetch?: typeof fetch;
117
+ }
118
+ /** 小端读取账户数据(添加 / 移除流动性也用) */
119
+ export declare class Bytes {
120
+ #private;
121
+ readonly data: Uint8Array;
122
+ constructor(data: Uint8Array);
123
+ u8(o: number): number;
124
+ u16(o: number): number;
125
+ u32(o: number): number;
126
+ i32(o: number): number;
127
+ u64(o: number): bigint;
128
+ u128(o: number): bigint;
129
+ key(o: number): string;
130
+ }
131
+ export interface AmmPoolState {
132
+ protocol: 'raydium-amm' | 'raydium-cpmm';
133
+ address: string;
134
+ lpMint: string;
135
+ mint0: string;
136
+ mint1: string;
137
+ vault0: string;
138
+ vault1: string;
139
+ decimals0: number;
140
+ decimals1: number;
141
+ /** 从金库余额里扣掉的、不属于 LP 的部分(AMM v4 待提取的收益;CPMM 协议 / 基金 / 创建者手续费) */
142
+ reserved0: bigint;
143
+ reserved1: bigint;
144
+ lpSupply: bigint;
145
+ }
146
+ export declare function parseAmmPool(account: AccountInfo): AmmPoolState | null;
147
+ export declare const utf8: (s: string) => Uint8Array<ArrayBuffer>;
148
+ /** Raydium tick 数组:PDA ["tick_array", pool, start(i32 大端)],每个数组 60 个 tick */
149
+ export declare function raydiumTickArray(pool: string, tick: number, spacing: number): {
150
+ address: string;
151
+ start: number;
152
+ };
153
+ /** Orca tick 数组:PDA ["tick_array", whirlpool, start(十进制字符串)],每个数组 88 个 tick */
154
+ export declare function orcaTickArray(pool: string, tick: number, spacing: number): {
155
+ address: string;
156
+ start: number;
157
+ };
158
+ /**
159
+ * 查一个地址的 LP 仓位:Raydium CLMM / Orca Whirlpool 的仓位 NFT,Raydium AMM v4 / CPMM 的 LP 代币。
160
+ * 返回两种代币的数量、未领取的手续费(集中流动性),可选美元价值。
161
+ *
162
+ * - 默认扫描地址的全部代币账户找仓位 NFT 和 LP 代币(需要支持 getTokenAccountsByOwner 的节点);传 mints 时只看这些代币(ATA,免费节点也能用)
163
+ * - Raydium AMM v4 / CPMM 的 LP 代币按 LP mint 用 getProgramAccounts 找池子(需要支持它的节点),传 pools 时这些池子不用找
164
+ * - 质押在农场里的 LP、Orca 的仓位组合(Position Bundle)、锁仓的 Raydium 仓位不在用户名下,查不到
165
+ */
166
+ export declare function lpPositions(client: SolanaClient, owner: string, options?: LpPositionsOptions): Promise<SolanaLpPosition[]>;
167
+ export {};
168
+ //# sourceMappingURL=lp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lp.d.ts","sourceRoot":"","sources":["../src/lp.ts"],"names":[],"mappings":"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"}