four-flap-meme-sdk 1.4.89 → 1.4.91

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 (144) hide show
  1. package/README.zh-CN.pdf +0 -0
  2. package/dist/flap/portal-bundle-merkle/create-to-dex.d.ts +1 -1
  3. package/dist/flap/portal-bundle-merkle/create-to-dex.js +51 -13
  4. package/dist/flap/portal-bundle-merkle/encryption.d.ts +16 -0
  5. package/dist/flap/portal-bundle-merkle/encryption.js +146 -0
  6. package/dist/utils/holders-maker.d.ts +19 -0
  7. package/dist/utils/holders-maker.js +4 -1
  8. package/package.json +3 -38
  9. package/dist/sol/constants.d.ts +0 -126
  10. package/dist/sol/constants.js +0 -145
  11. package/dist/sol/dex/blockrazor/client.d.ts +0 -51
  12. package/dist/sol/dex/blockrazor/client.js +0 -96
  13. package/dist/sol/dex/blockrazor/constants.d.ts +0 -34
  14. package/dist/sol/dex/blockrazor/constants.js +0 -55
  15. package/dist/sol/dex/blockrazor/geyser.d.ts +0 -128
  16. package/dist/sol/dex/blockrazor/geyser.js +0 -530
  17. package/dist/sol/dex/blockrazor/index.d.ts +0 -18
  18. package/dist/sol/dex/blockrazor/index.js +0 -23
  19. package/dist/sol/dex/blockrazor/send.d.ts +0 -135
  20. package/dist/sol/dex/blockrazor/send.js +0 -254
  21. package/dist/sol/dex/blockrazor/types.d.ts +0 -191
  22. package/dist/sol/dex/blockrazor/types.js +0 -5
  23. package/dist/sol/dex/index.d.ts +0 -10
  24. package/dist/sol/dex/index.js +0 -16
  25. package/dist/sol/dex/jup/client.d.ts +0 -33
  26. package/dist/sol/dex/jup/client.js +0 -110
  27. package/dist/sol/dex/jup/index.d.ts +0 -16
  28. package/dist/sol/dex/jup/index.js +0 -148
  29. package/dist/sol/dex/jup/legacy.d.ts +0 -623
  30. package/dist/sol/dex/jup/legacy.js +0 -416
  31. package/dist/sol/dex/jup/lend.d.ts +0 -640
  32. package/dist/sol/dex/jup/lend.js +0 -603
  33. package/dist/sol/dex/jup/portfolio.d.ts +0 -362
  34. package/dist/sol/dex/jup/portfolio.js +0 -367
  35. package/dist/sol/dex/jup/price.d.ts +0 -173
  36. package/dist/sol/dex/jup/price.js +0 -220
  37. package/dist/sol/dex/jup/recurring.d.ts +0 -437
  38. package/dist/sol/dex/jup/recurring.js +0 -320
  39. package/dist/sol/dex/jup/send.d.ts +0 -282
  40. package/dist/sol/dex/jup/send.js +0 -295
  41. package/dist/sol/dex/jup/studio.d.ts +0 -457
  42. package/dist/sol/dex/jup/studio.js +0 -488
  43. package/dist/sol/dex/jup/tokens.d.ts +0 -767
  44. package/dist/sol/dex/jup/tokens.js +0 -697
  45. package/dist/sol/dex/jup/trigger.d.ts +0 -511
  46. package/dist/sol/dex/jup/trigger.js +0 -397
  47. package/dist/sol/dex/jup/types.d.ts +0 -433
  48. package/dist/sol/dex/jup/types.js +0 -5
  49. package/dist/sol/dex/jup/ultra.d.ts +0 -646
  50. package/dist/sol/dex/jup/ultra.js +0 -853
  51. package/dist/sol/dex/meteora/client.d.ts +0 -76
  52. package/dist/sol/dex/meteora/client.js +0 -219
  53. package/dist/sol/dex/meteora/damm-v1-bundle.d.ts +0 -61
  54. package/dist/sol/dex/meteora/damm-v1-bundle.js +0 -112
  55. package/dist/sol/dex/meteora/damm-v1.d.ts +0 -118
  56. package/dist/sol/dex/meteora/damm-v1.js +0 -315
  57. package/dist/sol/dex/meteora/damm-v2-bundle.d.ts +0 -82
  58. package/dist/sol/dex/meteora/damm-v2-bundle.js +0 -242
  59. package/dist/sol/dex/meteora/damm-v2.d.ts +0 -172
  60. package/dist/sol/dex/meteora/damm-v2.js +0 -632
  61. package/dist/sol/dex/meteora/dbc-bundle.d.ts +0 -123
  62. package/dist/sol/dex/meteora/dbc-bundle.js +0 -304
  63. package/dist/sol/dex/meteora/dbc.d.ts +0 -192
  64. package/dist/sol/dex/meteora/dbc.js +0 -619
  65. package/dist/sol/dex/meteora/dlmm-bundle.d.ts +0 -39
  66. package/dist/sol/dex/meteora/dlmm-bundle.js +0 -189
  67. package/dist/sol/dex/meteora/dlmm.d.ts +0 -157
  68. package/dist/sol/dex/meteora/dlmm.js +0 -671
  69. package/dist/sol/dex/meteora/index.d.ts +0 -25
  70. package/dist/sol/dex/meteora/index.js +0 -65
  71. package/dist/sol/dex/meteora/types.d.ts +0 -787
  72. package/dist/sol/dex/meteora/types.js +0 -110
  73. package/dist/sol/dex/orca/index.d.ts +0 -10
  74. package/dist/sol/dex/orca/index.js +0 -16
  75. package/dist/sol/dex/orca/orca-bundle.d.ts +0 -41
  76. package/dist/sol/dex/orca/orca-bundle.js +0 -173
  77. package/dist/sol/dex/orca/orca.d.ts +0 -65
  78. package/dist/sol/dex/orca/orca.js +0 -474
  79. package/dist/sol/dex/orca/types.d.ts +0 -263
  80. package/dist/sol/dex/orca/types.js +0 -38
  81. package/dist/sol/dex/orca/wavebreak-bundle.d.ts +0 -34
  82. package/dist/sol/dex/orca/wavebreak-bundle.js +0 -198
  83. package/dist/sol/dex/orca/wavebreak-types.d.ts +0 -227
  84. package/dist/sol/dex/orca/wavebreak-types.js +0 -23
  85. package/dist/sol/dex/orca/wavebreak.d.ts +0 -78
  86. package/dist/sol/dex/orca/wavebreak.js +0 -497
  87. package/dist/sol/dex/pump/index.d.ts +0 -9
  88. package/dist/sol/dex/pump/index.js +0 -14
  89. package/dist/sol/dex/pump/pump-bundle.d.ts +0 -92
  90. package/dist/sol/dex/pump/pump-bundle.js +0 -383
  91. package/dist/sol/dex/pump/pump-swap-bundle.d.ts +0 -103
  92. package/dist/sol/dex/pump/pump-swap-bundle.js +0 -380
  93. package/dist/sol/dex/pump/pump-swap.d.ts +0 -46
  94. package/dist/sol/dex/pump/pump-swap.js +0 -199
  95. package/dist/sol/dex/pump/pump.d.ts +0 -35
  96. package/dist/sol/dex/pump/pump.js +0 -352
  97. package/dist/sol/dex/pump/types.d.ts +0 -215
  98. package/dist/sol/dex/pump/types.js +0 -5
  99. package/dist/sol/dex/raydium/index.d.ts +0 -8
  100. package/dist/sol/dex/raydium/index.js +0 -12
  101. package/dist/sol/dex/raydium/launchlab.d.ts +0 -68
  102. package/dist/sol/dex/raydium/launchlab.js +0 -210
  103. package/dist/sol/dex/raydium/raydium-bundle.d.ts +0 -64
  104. package/dist/sol/dex/raydium/raydium-bundle.js +0 -324
  105. package/dist/sol/dex/raydium/raydium.d.ts +0 -40
  106. package/dist/sol/dex/raydium/raydium.js +0 -366
  107. package/dist/sol/dex/raydium/types.d.ts +0 -240
  108. package/dist/sol/dex/raydium/types.js +0 -5
  109. package/dist/sol/index.d.ts +0 -10
  110. package/dist/sol/index.js +0 -16
  111. package/dist/sol/jito/bundle.d.ts +0 -90
  112. package/dist/sol/jito/bundle.js +0 -263
  113. package/dist/sol/jito/index.d.ts +0 -7
  114. package/dist/sol/jito/index.js +0 -7
  115. package/dist/sol/jito/tip.d.ts +0 -51
  116. package/dist/sol/jito/tip.js +0 -83
  117. package/dist/sol/jito/types.d.ts +0 -100
  118. package/dist/sol/jito/types.js +0 -5
  119. package/dist/sol/token/create-complete.d.ts +0 -115
  120. package/dist/sol/token/create-complete.js +0 -235
  121. package/dist/sol/token/create-token.d.ts +0 -57
  122. package/dist/sol/token/create-token.js +0 -230
  123. package/dist/sol/token/index.d.ts +0 -9
  124. package/dist/sol/token/index.js +0 -14
  125. package/dist/sol/token/metadata-upload.d.ts +0 -86
  126. package/dist/sol/token/metadata-upload.js +0 -173
  127. package/dist/sol/token/metadata.d.ts +0 -92
  128. package/dist/sol/token/metadata.js +0 -274
  129. package/dist/sol/token/types.d.ts +0 -153
  130. package/dist/sol/token/types.js +0 -5
  131. package/dist/sol/types.d.ts +0 -176
  132. package/dist/sol/types.js +0 -7
  133. package/dist/sol/utils/balance.d.ts +0 -160
  134. package/dist/sol/utils/balance.js +0 -638
  135. package/dist/sol/utils/connection.d.ts +0 -78
  136. package/dist/sol/utils/connection.js +0 -168
  137. package/dist/sol/utils/index.d.ts +0 -9
  138. package/dist/sol/utils/index.js +0 -9
  139. package/dist/sol/utils/lp-inspect.d.ts +0 -129
  140. package/dist/sol/utils/lp-inspect.js +0 -900
  141. package/dist/sol/utils/transfer.d.ts +0 -125
  142. package/dist/sol/utils/transfer.js +0 -220
  143. package/dist/sol/utils/wallet.d.ts +0 -107
  144. package/dist/sol/utils/wallet.js +0 -210
@@ -1,320 +0,0 @@
1
- /**
2
- * Jupiter Recurring API (定投/定期订单)
3
- * @module sol/dex/jup/recurring
4
- *
5
- * Recurring API 提供定投/DCA (Dollar Cost Averaging) 功能
6
- * 用户可以创建定期自动执行的订单
7
- */
8
- import { jupGet, jupPost } from './client.js';
9
- // ============================================================================
10
- // Create Order - 创建定投订单
11
- // ============================================================================
12
- /**
13
- * 创建定投订单(时间模式)
14
- *
15
- * 按固定时间间隔自动执行的定投订单。
16
- *
17
- * @param params 创建订单参数
18
- * @param config Jupiter 配置
19
- * @returns 创建订单响应
20
- *
21
- * @example
22
- * ```typescript
23
- * import { Sol } from 'four-flap-meme-sdk'
24
- *
25
- * Sol.setJupiterConfig({ apiKey: 'your-api-key' })
26
- *
27
- * // 创建定投:每天用 1 SOL 买入 USDC,共10天
28
- * const result = await Sol.createRecurringOrder({
29
- * user: wallet.publicKey.toBase58(),
30
- * inputMint: 'So11111111111111111111111111111111111111112', // SOL
31
- * outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
32
- * params: {
33
- * time: {
34
- * inAmount: 1_000_000_000, // 1 SOL
35
- * numberOfOrders: 10, // 10次
36
- * interval: 86400, // 每天 (86400秒)
37
- * }
38
- * }
39
- * })
40
- *
41
- * // 签名并执行
42
- * const tx = VersionedTransaction.deserialize(
43
- * Buffer.from(result.transaction, 'base64')
44
- * )
45
- * tx.sign([wallet])
46
- *
47
- * await Sol.executeRecurringOrder({
48
- * requestId: result.requestId,
49
- * signedTransaction: Buffer.from(tx.serialize()).toString('base64'),
50
- * })
51
- * ```
52
- */
53
- export async function createRecurringOrder(params, config) {
54
- return jupPost('/recurring/v1/createOrder', params, config);
55
- }
56
- /**
57
- * 创建简单定投订单(时间模式)
58
- *
59
- * @param user 用户地址
60
- * @param inputMint 输入代币 Mint
61
- * @param outputMint 输出代币 Mint
62
- * @param inAmount 每次投入数量 (最小单位)
63
- * @param numberOfOrders 订单次数
64
- * @param intervalSeconds 间隔时间 (秒)
65
- * @param options 可选参数
66
- * @param config Jupiter 配置
67
- * @returns 创建订单响应
68
- *
69
- * @example
70
- * ```typescript
71
- * // 每天定投 1 SOL 买 USDC,共30天
72
- * const result = await Sol.createSimpleRecurringOrder(
73
- * wallet.publicKey.toBase58(),
74
- * 'So11111111111111111111111111111111111111112', // SOL
75
- * 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
76
- * 1_000_000_000, // 1 SOL
77
- * 30, // 30次
78
- * 86400, // 每天
79
- * )
80
- * ```
81
- */
82
- export async function createSimpleRecurringOrder(user, inputMint, outputMint, inAmount, numberOfOrders, intervalSeconds, options, config) {
83
- return createRecurringOrder({
84
- user,
85
- inputMint,
86
- outputMint,
87
- params: {
88
- time: {
89
- inAmount,
90
- numberOfOrders,
91
- interval: intervalSeconds,
92
- maxPrice: options?.maxPrice,
93
- minPrice: options?.minPrice,
94
- startAt: options?.startAt,
95
- }
96
- }
97
- }, config);
98
- }
99
- // ============================================================================
100
- // 便捷的时间间隔常量
101
- // ============================================================================
102
- /** 预设时间间隔 (秒) */
103
- export const RECURRING_INTERVALS = {
104
- /** 每分钟 */
105
- MINUTE: 60,
106
- /** 每小时 */
107
- HOUR: 3600,
108
- /** 每天 */
109
- DAY: 86400,
110
- /** 每周 */
111
- WEEK: 604800,
112
- /** 每月 (30天) */
113
- MONTH: 2592000,
114
- };
115
- /**
116
- * 创建每日定投
117
- */
118
- export async function createDailyRecurring(user, inputMint, outputMint, inAmount, days, config) {
119
- return createSimpleRecurringOrder(user, inputMint, outputMint, inAmount, days, RECURRING_INTERVALS.DAY, undefined, config);
120
- }
121
- /**
122
- * 创建每周定投
123
- */
124
- export async function createWeeklyRecurring(user, inputMint, outputMint, inAmount, weeks, config) {
125
- return createSimpleRecurringOrder(user, inputMint, outputMint, inAmount, weeks, RECURRING_INTERVALS.WEEK, undefined, config);
126
- }
127
- // ============================================================================
128
- // Cancel Order - 取消订单
129
- // ============================================================================
130
- /**
131
- * 取消定投订单
132
- *
133
- * @param params 取消参数
134
- * @param config Jupiter 配置
135
- * @returns 取消订单响应
136
- *
137
- * @example
138
- * ```typescript
139
- * const result = await Sol.cancelRecurringOrder({
140
- * user: wallet.publicKey.toBase58(),
141
- * order: 'orderAccountAddress',
142
- * recurringType: 'time',
143
- * })
144
- *
145
- * // 签名并执行
146
- * const tx = VersionedTransaction.deserialize(
147
- * Buffer.from(result.transaction, 'base64')
148
- * )
149
- * tx.sign([wallet])
150
- *
151
- * await Sol.executeRecurringOrder({
152
- * requestId: result.requestId,
153
- * signedTransaction: Buffer.from(tx.serialize()).toString('base64'),
154
- * })
155
- * ```
156
- */
157
- export async function cancelRecurringOrder(params, config) {
158
- return jupPost('/recurring/v1/cancelOrder', params, config);
159
- }
160
- /**
161
- * 快捷取消时间模式定投订单
162
- *
163
- * @param user 用户地址
164
- * @param order 订单账户地址
165
- * @param config Jupiter 配置
166
- * @returns 取消订单响应
167
- */
168
- export async function cancelTimeRecurringOrder(user, order, config) {
169
- return cancelRecurringOrder({
170
- user,
171
- order,
172
- recurringType: 'time',
173
- }, config);
174
- }
175
- // ============================================================================
176
- // Execute - 执行交易
177
- // ============================================================================
178
- /**
179
- * 执行已签名的定投订单交易
180
- *
181
- * @param params 执行参数
182
- * @param config Jupiter 配置
183
- * @returns 执行结果
184
- */
185
- export async function executeRecurringOrder(params, config) {
186
- return jupPost('/recurring/v1/execute', params, config);
187
- }
188
- // ============================================================================
189
- // Get Orders - 获取订单
190
- // ============================================================================
191
- /**
192
- * 获取用户的定投订单
193
- *
194
- * @param params 查询参数
195
- * @param config Jupiter 配置
196
- * @returns 订单列表响应(含分页)
197
- *
198
- * @example
199
- * ```typescript
200
- * const response = await Sol.getRecurringOrders({
201
- * user: wallet.publicKey.toBase58(),
202
- * recurringType: 'time',
203
- * orderStatus: 'active',
204
- * page: 1,
205
- * })
206
- *
207
- * console.log(`共 ${response.totalPages} 页`)
208
- * response.time?.forEach(order => {
209
- * console.log(`订单: ${order.orderKey}`)
210
- * console.log(` 每周期: ${order.inAmountPerCycle}`)
211
- * console.log(` 已用: ${order.inUsed}`)
212
- * console.log(` 已收: ${order.outReceived}`)
213
- * console.log(` 交易数: ${order.trades.length}`)
214
- * })
215
- * ```
216
- */
217
- export async function getRecurringOrders(params, config) {
218
- const queryParams = {
219
- user: params.user,
220
- recurringType: params.recurringType,
221
- orderStatus: params.orderStatus,
222
- };
223
- if (params.page)
224
- queryParams.page = params.page;
225
- if (params.mint)
226
- queryParams.mint = params.mint;
227
- if (params.includeFailedTx !== undefined) {
228
- queryParams.includeFailedTx = params.includeFailedTx;
229
- }
230
- return jupGet('/recurring/v1/getRecurringOrders', queryParams, config);
231
- }
232
- /**
233
- * 获取用户的活跃时间模式定投订单
234
- *
235
- * @param user 用户地址
236
- * @param page 页码
237
- * @param config Jupiter 配置
238
- * @returns 订单列表响应
239
- */
240
- export async function getActiveTimeRecurringOrders(user, page = 1, config) {
241
- return getRecurringOrders({
242
- user,
243
- recurringType: 'time',
244
- orderStatus: 'active',
245
- page,
246
- }, config);
247
- }
248
- /**
249
- * 获取用户的历史时间模式定投订单
250
- *
251
- * @param user 用户地址
252
- * @param page 页码
253
- * @param config Jupiter 配置
254
- * @returns 订单列表响应
255
- */
256
- export async function getHistoryTimeRecurringOrders(user, page = 1, config) {
257
- return getRecurringOrders({
258
- user,
259
- recurringType: 'time',
260
- orderStatus: 'history',
261
- page,
262
- }, config);
263
- }
264
- /**
265
- * 获取所有活跃时间模式定投订单(自动分页)
266
- *
267
- * @param user 用户地址
268
- * @param config Jupiter 配置
269
- * @returns 所有活跃订单
270
- */
271
- export async function getAllActiveTimeRecurringOrders(user, config) {
272
- const allOrders = [];
273
- let page = 1;
274
- while (true) {
275
- const response = await getActiveTimeRecurringOrders(user, page, config);
276
- if (response.time) {
277
- allOrders.push(...response.time);
278
- }
279
- if (page >= response.totalPages)
280
- break;
281
- page++;
282
- }
283
- return allOrders;
284
- }
285
- // ============================================================================
286
- // 便捷方法
287
- // ============================================================================
288
- /**
289
- * 计算定投总投入
290
- *
291
- * @param inAmount 每次投入数量
292
- * @param numberOfOrders 订单次数
293
- * @returns 总投入数量
294
- */
295
- export function calculateTotalInvestment(inAmount, numberOfOrders) {
296
- return inAmount * numberOfOrders;
297
- }
298
- /**
299
- * 计算定投周期
300
- *
301
- * @param intervalSeconds 间隔时间 (秒)
302
- * @param numberOfOrders 订单次数
303
- * @returns 总持续时间 (秒)
304
- */
305
- export function calculateTotalDuration(intervalSeconds, numberOfOrders) {
306
- return intervalSeconds * (numberOfOrders - 1);
307
- }
308
- /**
309
- * 估算定投结束时间
310
- *
311
- * @param intervalSeconds 间隔时间 (秒)
312
- * @param numberOfOrders 订单次数
313
- * @param startAt 开始时间 (Unix 时间戳,默认为当前时间)
314
- * @returns 结束时间 (Date)
315
- */
316
- export function estimateEndDate(intervalSeconds, numberOfOrders, startAt) {
317
- const start = startAt || Math.floor(Date.now() / 1000);
318
- const duration = calculateTotalDuration(intervalSeconds, numberOfOrders);
319
- return new Date((start + duration) * 1000);
320
- }
@@ -1,282 +0,0 @@
1
- /**
2
- * Jupiter Send API V1
3
- * @module sol/dex/jup/send
4
- *
5
- * Send API 提供代币发送邀请链接功能
6
- * 允许创建邀请链接让他人领取代币
7
- */
8
- import type { JupiterConfig } from './types.js';
9
- /** 创建发送请求参数 */
10
- export interface CraftSendParams {
11
- /**
12
- * 邀请签名者公钥(从邀请码哈希生成)
13
- * 注意:邀请码需要在客户端生成,请安全保管
14
- */
15
- inviteSigner: string;
16
- /** 发送者公钥地址 */
17
- sender: string;
18
- /** 发送金额(原子单位,如 1 USDC = 1000000) */
19
- amount: string;
20
- /** 代币 Mint 地址(默认 WSOL) */
21
- mint?: string;
22
- }
23
- /** 创建发送响应 */
24
- export interface CraftSendResponse {
25
- /** Base64 编码的未签名交易 */
26
- tx: string;
27
- /** 邀请过期时间 (Unix 时间戳) */
28
- expiry: string;
29
- /** 总费用 (lamports) */
30
- totalFeeLamports: string;
31
- }
32
- /** 撤回请求参数 */
33
- export interface CraftClawbackParams {
34
- /**
35
- * 邀请 PDA 地址
36
- * 通过 "invite" 和邀请签名者公钥派生
37
- */
38
- invitePDA: string;
39
- /** 发送者公钥地址(将接收撤回的资金) */
40
- sender: string;
41
- }
42
- /** 撤回响应 */
43
- export interface CraftClawbackResponse {
44
- /** Base64 编码的未签名交易 */
45
- tx: string;
46
- }
47
- /** 邀请信息 */
48
- export interface SendInvite {
49
- /** 邀请签名者公钥 */
50
- invite_signer: string;
51
- /** 邀请 PDA 地址 */
52
- invite_pda: string;
53
- /** 发送者地址 */
54
- sender: string;
55
- /** 过期时间 */
56
- expiry: string;
57
- /** 金额 */
58
- amount: string;
59
- /** 创建交易签名 */
60
- creation_tx: string;
61
- /** 删除交易签名 */
62
- deletion_tx: string;
63
- /** 接收者地址 */
64
- receiver: string;
65
- /** 操作类型 */
66
- action: string;
67
- /** 创建时间 */
68
- creation_time: string;
69
- /** 删除时间 */
70
- deletion_time: string;
71
- /** 代币 Mint */
72
- mint: string;
73
- /** 确认数 */
74
- confirmed: number;
75
- }
76
- /** 邀请列表响应 */
77
- export interface InviteListResponse {
78
- /** 邀请列表 */
79
- invites: SendInvite[];
80
- /** 是否有更多数据 */
81
- hasMoreData: boolean;
82
- }
83
- /**
84
- * 创建发送邀请交易
85
- *
86
- * 创建一个邀请链接,让他人可以领取指定数量的代币。
87
- *
88
- * @param params 创建参数
89
- * @param config Jupiter 配置
90
- * @returns 创建响应
91
- *
92
- * @example
93
- * ```typescript
94
- * import { Sol } from 'four-flap-meme-sdk'
95
- * import { Keypair } from '@solana/web3.js'
96
- * import crypto from 'crypto'
97
- *
98
- * Sol.setJupiterConfig({ apiKey: 'your-api-key' })
99
- *
100
- * // 生成邀请码(客户端生成,安全保管)
101
- * const inviteCode = crypto.randomBytes(32).toString('hex')
102
- * const inviteHash = crypto.createHash('sha256').update(inviteCode).digest()
103
- * const inviteKeypair = Keypair.fromSeed(inviteHash)
104
- *
105
- * // 创建发送邀请
106
- * const result = await Sol.craftSend({
107
- * inviteSigner: inviteKeypair.publicKey.toBase58(),
108
- * sender: wallet.publicKey.toBase58(),
109
- * amount: '1000000', // 1 USDC
110
- * mint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
111
- * })
112
- *
113
- * console.log(`过期时间: ${new Date(parseInt(result.expiry) * 1000)}`)
114
- * console.log(`费用: ${result.totalFeeLamports} lamports`)
115
- *
116
- * // 签名交易
117
- * const tx = VersionedTransaction.deserialize(Buffer.from(result.tx, 'base64'))
118
- * tx.sign([wallet, inviteKeypair])
119
- *
120
- * // 发送交易...
121
- * // 保存 inviteCode 分享给接收者
122
- * ```
123
- */
124
- export declare function craftSend(params: CraftSendParams, config?: JupiterConfig): Promise<CraftSendResponse>;
125
- /**
126
- * 创建 SOL 发送邀请
127
- *
128
- * @param inviteSigner 邀请签名者公钥
129
- * @param sender 发送者地址
130
- * @param amountLamports SOL 数量 (lamports)
131
- * @param config Jupiter 配置
132
- * @returns 创建响应
133
- */
134
- export declare function craftSendSol(inviteSigner: string, sender: string, amountLamports: string | number, config?: JupiterConfig): Promise<CraftSendResponse>;
135
- /**
136
- * 创建 USDC 发送邀请
137
- *
138
- * @param inviteSigner 邀请签名者公钥
139
- * @param sender 发送者地址
140
- * @param amountUsdc USDC 数量(原子单位,6位小数)
141
- * @param config Jupiter 配置
142
- * @returns 创建响应
143
- */
144
- export declare function craftSendUsdc(inviteSigner: string, sender: string, amountUsdc: string | number, config?: JupiterConfig): Promise<CraftSendResponse>;
145
- /**
146
- * 撤回/取消邀请
147
- *
148
- * 撤回未领取的邀请,资金返还给发送者。
149
- *
150
- * @param params 撤回参数
151
- * @param config Jupiter 配置
152
- * @returns 撤回响应
153
- *
154
- * @example
155
- * ```typescript
156
- * // 撤回邀请
157
- * const result = await Sol.craftClawback({
158
- * invitePDA: 'invitePDAAddress...',
159
- * sender: wallet.publicKey.toBase58(),
160
- * })
161
- *
162
- * // 签名并发送交易
163
- * const tx = VersionedTransaction.deserialize(Buffer.from(result.tx, 'base64'))
164
- * tx.sign([wallet])
165
- * // 发送交易...
166
- * ```
167
- */
168
- export declare function craftClawback(params: CraftClawbackParams, config?: JupiterConfig): Promise<CraftClawbackResponse>;
169
- /**
170
- * 获取待处理的邀请
171
- *
172
- * 获取发送者创建的尚未被领取或撤回的邀请。
173
- *
174
- * @param address 发送者地址
175
- * @param page 页码(默认 1)
176
- * @param config Jupiter 配置
177
- * @returns 邀请列表响应
178
- *
179
- * @example
180
- * ```typescript
181
- * const pending = await Sol.getPendingInvites(
182
- * wallet.publicKey.toBase58(),
183
- * 1,
184
- * )
185
- *
186
- * console.log(`待处理邀请: ${pending.invites.length}`)
187
- * pending.invites.forEach(invite => {
188
- * console.log(`金额: ${invite.amount}`)
189
- * console.log(`过期: ${new Date(parseInt(invite.expiry) * 1000)}`)
190
- * })
191
- * ```
192
- */
193
- export declare function getPendingInvites(address: string, page?: number, config?: JupiterConfig): Promise<InviteListResponse>;
194
- /**
195
- * 获取所有待处理邀请(自动分页)
196
- *
197
- * @param address 发送者地址
198
- * @param config Jupiter 配置
199
- * @returns 所有待处理邀请
200
- */
201
- export declare function getAllPendingInvites(address: string, config?: JupiterConfig): Promise<SendInvite[]>;
202
- /**
203
- * 获取邀请历史
204
- *
205
- * 获取地址相关的所有邀请历史(作为发送者或接收者)。
206
- *
207
- * @param address 地址(发送者或接收者)
208
- * @param page 页码(默认 1)
209
- * @param config Jupiter 配置
210
- * @returns 邀请列表响应
211
- *
212
- * @example
213
- * ```typescript
214
- * const history = await Sol.getInviteHistory(
215
- * wallet.publicKey.toBase58(),
216
- * 1,
217
- * )
218
- *
219
- * console.log(`邀请历史: ${history.invites.length}`)
220
- * history.invites.forEach(invite => {
221
- * console.log(`${invite.action}: ${invite.amount}`)
222
- * console.log(` 发送者: ${invite.sender}`)
223
- * console.log(` 接收者: ${invite.receiver}`)
224
- * })
225
- * ```
226
- */
227
- export declare function getInviteHistory(address: string, page?: number, config?: JupiterConfig): Promise<InviteListResponse>;
228
- /**
229
- * 获取所有邀请历史(自动分页)
230
- *
231
- * @param address 地址
232
- * @param config Jupiter 配置
233
- * @returns 所有邀请历史
234
- */
235
- export declare function getAllInviteHistory(address: string, config?: JupiterConfig): Promise<SendInvite[]>;
236
- /**
237
- * 获取待处理邀请总金额
238
- *
239
- * @param address 发送者地址
240
- * @param config Jupiter 配置
241
- * @returns 总金额(按 mint 分组)
242
- */
243
- export declare function getPendingInvitesTotal(address: string, config?: JupiterConfig): Promise<Map<string, bigint>>;
244
- /**
245
- * 获取即将过期的邀请
246
- *
247
- * @param address 发送者地址
248
- * @param withinHours 在多少小时内过期(默认 24)
249
- * @param config Jupiter 配置
250
- * @returns 即将过期的邀请
251
- */
252
- export declare function getExpiringInvites(address: string, withinHours?: number, config?: JupiterConfig): Promise<SendInvite[]>;
253
- /**
254
- * 检查邀请是否已过期
255
- *
256
- * @param invite 邀请信息
257
- * @returns 是否已过期
258
- */
259
- export declare function isInviteExpired(invite: SendInvite): boolean;
260
- /**
261
- * 获取邀请剩余时间(秒)
262
- *
263
- * @param invite 邀请信息
264
- * @returns 剩余秒数(已过期返回 0)
265
- */
266
- export declare function getInviteTimeRemaining(invite: SendInvite): number;
267
- /**
268
- * 筛选发送的邀请
269
- *
270
- * @param invites 邀请列表
271
- * @param sender 发送者地址
272
- * @returns 发送的邀请
273
- */
274
- export declare function filterSentInvites(invites: SendInvite[], sender: string): SendInvite[];
275
- /**
276
- * 筛选接收的邀请
277
- *
278
- * @param invites 邀请列表
279
- * @param receiver 接收者地址
280
- * @returns 接收的邀请
281
- */
282
- export declare function filterReceivedInvites(invites: SendInvite[], receiver: string): SendInvite[];