forgex-cli 1.0.20 → 1.0.22

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 (57) hide show
  1. package/dist/src/adapters/jito-adapter.d.ts +25 -1
  2. package/dist/src/adapters/jito-adapter.d.ts.map +1 -1
  3. package/dist/src/adapters/jito-adapter.js +56 -2
  4. package/dist/src/adapters/jito-adapter.js.map +1 -1
  5. package/dist/src/adapters/rpc-adapter.d.ts.map +1 -1
  6. package/dist/src/adapters/rpc-adapter.js +23 -4
  7. package/dist/src/adapters/rpc-adapter.js.map +1 -1
  8. package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
  9. package/dist/src/adapters/sdk-adapter.js +74 -36
  10. package/dist/src/adapters/sdk-adapter.js.map +1 -1
  11. package/dist/src/commands/tools/index.d.ts.map +1 -1
  12. package/dist/src/commands/tools/index.js +17 -5
  13. package/dist/src/commands/tools/index.js.map +1 -1
  14. package/dist/src/const/IDL/pump-swap-IDL.d.ts +5696 -1503
  15. package/dist/src/const/IDL/pump-swap-IDL.d.ts.map +1 -1
  16. package/dist/src/const/IDL/pump-swap-IDL.js +5419 -1245
  17. package/dist/src/const/IDL/pump-swap-IDL.js.map +1 -1
  18. package/dist/src/data-source.d.ts +14 -0
  19. package/dist/src/data-source.d.ts.map +1 -1
  20. package/dist/src/data-source.js +25 -0
  21. package/dist/src/data-source.js.map +1 -1
  22. package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
  23. package/dist/src/sol-sdk/batch/create.js +67 -133
  24. package/dist/src/sol-sdk/batch/create.js.map +1 -1
  25. package/dist/src/sol-sdk/batch/index.d.ts.map +1 -1
  26. package/dist/src/sol-sdk/batch/index.js +54 -32
  27. package/dist/src/sol-sdk/batch/index.js.map +1 -1
  28. package/dist/src/sol-sdk/jito/index.d.ts +2 -0
  29. package/dist/src/sol-sdk/jito/index.d.ts.map +1 -1
  30. package/dist/src/sol-sdk/jito/index.js +36 -13
  31. package/dist/src/sol-sdk/jito/index.js.map +1 -1
  32. package/dist/src/sol-sdk/pump/index.d.ts +1 -0
  33. package/dist/src/sol-sdk/pump/index.d.ts.map +1 -1
  34. package/dist/src/sol-sdk/pump/index.js +3 -0
  35. package/dist/src/sol-sdk/pump/index.js.map +1 -1
  36. package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
  37. package/dist/src/sol-sdk/pump/instructions/buy.js +57 -47
  38. package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
  39. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
  40. package/dist/src/sol-sdk/pump/instructions/sell.js +52 -37
  41. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
  42. package/dist/src/sol-sdk/pumpswap/index.d.ts +15 -1
  43. package/dist/src/sol-sdk/pumpswap/index.d.ts.map +1 -1
  44. package/dist/src/sol-sdk/pumpswap/index.js +39 -2
  45. package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
  46. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +7 -2
  47. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts.map +1 -1
  48. package/dist/src/sol-sdk/pumpswap/instructions/buy.js +60 -41
  49. package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
  50. package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts +2 -0
  51. package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts.map +1 -1
  52. package/dist/src/sol-sdk/pumpswap/instructions/sell.js +41 -36
  53. package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
  54. package/dist/src/sol-sdk/turnover/index.d.ts.map +1 -1
  55. package/dist/src/sol-sdk/turnover/index.js +44 -20
  56. package/dist/src/sol-sdk/turnover/index.js.map +1 -1
  57. package/package.json +1 -1
@@ -3,14 +3,14 @@ import { PublicKey, Keypair, Transaction, TransactionMessage, VersionedTransacti
3
3
  import { pumpBuySPLInstructions, pumpSellSPLInstructions, getPumpCurveState } from '../pump/index.js';
4
4
  import { raydiumBuyInstruction, raydiumSellInstruction, raydiumGetPoolInfo, raydiumGetCpmmPoolInfo, raydiumCpmmSwapBaseOutBuyInstruction, raydiumCpmmSwapBaseInBuyInstruction, raydiumCpmmSellInstruction, } from '../raydium/index.js';
5
5
  import { meteoraDlmmBuyInstructions, meteoraDlmmBuyExactOutInstructions, meteoraDlmmSellInstructions, getBinArray, } from '../meteora/index.js';
6
- import { pumpSwapBuyInstruction, pumpSwapSellInstruction, pumpSwapGetPoolInfo } from '../pumpswap/index.js';
6
+ import { pumpSwapBuyInstruction, pumpSwapSellInstruction, pumpSwapGetPoolInfo, getInitUserVolumeAccumulatorIxIfNeeded } from '../pumpswap/index.js';
7
7
  import { getLaunchlabReverseInfo, launchlabBuyExactInInstruction, launchlabBuyExactOutInstruction, launchlabSellExactInInstruction, } from '../launchlab/index.js';
8
8
  import { getNewWsolAccount } from '../account/index.js';
9
9
  import AmmCalc, { PumpAmmCalc, LaunchlabAmmCalc } from '../calc.js';
10
10
  import BigNumber from 'bignumber.js';
11
11
  import BN from 'bn.js';
12
12
  import { getCU } from '../rpc/index.js';
13
- import JitoJsonRpcClient from '../jito/index.js';
13
+ import { getJitoAdapter } from '../../adapters/jito-adapter.js';
14
14
  import { NATIVE_MINT } from '@solana/spl-token';
15
15
  import { getWalletAddress, getWalletKeypair } from '../../utils/index.js';
16
16
  import { addCommission } from '../transfer/index.js';
@@ -220,7 +220,7 @@ export const launchlabBatchTrade = async ({ connection, snipers, tokenAddress, p
220
220
  realQuote: new BN(parsedPoolData.realQuote),
221
221
  });
222
222
  const payers = walletAmounts.map(item => getWalletKeypair(item.privateKey));
223
- const jito = new JitoJsonRpcClient();
223
+ const jito = getJitoAdapter();
224
224
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
225
225
  const base64Txs = [];
226
226
  // 处理交易逻辑
@@ -264,7 +264,8 @@ export const launchlabBatchTrade = async ({ connection, snipers, tokenAddress, p
264
264
  return base64Txs;
265
265
  }
266
266
  catch (error) {
267
- throw new Error(`构造交易指令失败: ${error.message}`);
267
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
268
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
268
269
  }
269
270
  }
270
271
  else if (tradeType === 'sell') {
@@ -300,7 +301,8 @@ export const launchlabBatchTrade = async ({ connection, snipers, tokenAddress, p
300
301
  return base64Txs;
301
302
  }
302
303
  catch (error) {
303
- throw new Error(`构造交易指令失败: ${error.message}`);
304
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
305
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
304
306
  }
305
307
  }
306
308
  else if (tradeType === 'buyWithSell') {
@@ -398,7 +400,8 @@ export const launchlabBatchTrade = async ({ connection, snipers, tokenAddress, p
398
400
  return base64Txs;
399
401
  }
400
402
  catch (error) {
401
- throw new Error(`构造交易指令失败: ${error.message}`);
403
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
404
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
402
405
  }
403
406
  }
404
407
  else if (tradeType === 'sniperBuy') {
@@ -476,7 +479,7 @@ export const pumpswapBatchTrade = async ({ connection, poolInfo, tradeType, slip
476
479
  quoteDecimals: mintB.toBase58() === NATIVE_MINT.toBase58() ? 9 : decimals,
477
480
  });
478
481
  const base64Txs = [];
479
- const jito = new JitoJsonRpcClient();
482
+ const jito = getJitoAdapter();
480
483
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
481
484
  if (tradeType === 'buy' || tradeType === 'sniperBuy') {
482
485
  for (const [index, payer] of walletAmounts.entries()) {
@@ -499,12 +502,20 @@ export const pumpswapBatchTrade = async ({ connection, poolInfo, tradeType, slip
499
502
  poolId: poolInfo.pairAddress,
500
503
  mintA: mintA.toBase58(),
501
504
  mintB: mintB.toBase58(),
505
+ baseTokenProgram: info.baseTokenProgram,
506
+ quoteTokenProgram: info.quoteTokenProgram,
502
507
  },
503
508
  wsolAmount: new BN(currentAmount),
504
509
  tokenAmount: new BN(receiveAmount),
505
510
  slippage,
506
511
  creator,
507
512
  });
513
+ // 检查 user_volume_accumulator 是否需要初始化
514
+ const initVolumeIx = await getInitUserVolumeAccumulatorIxIfNeeded(connection, currentPayer.publicKey, currentPayer.publicKey);
515
+ if (initVolumeIx) {
516
+ // 将初始化指令插入到买入交易的最前面
517
+ buyTx.instructions.unshift(initVolumeIx);
518
+ }
508
519
  let tx = getTx(buyTx, currentPayer, priorityFee, jito);
509
520
  if (tradeType === 'sniperBuy' && index === 0) {
510
521
  addCommission(tx, currentPayer, commissionWallet, new BigNumber(commissionAmount).times(LAMPORTS_PER_SOL).toFixed(0));
@@ -545,6 +556,8 @@ export const pumpswapBatchTrade = async ({ connection, poolInfo, tradeType, slip
545
556
  poolId: poolInfo.pairAddress,
546
557
  mintA: mintA.toBase58(),
547
558
  mintB: mintB.toBase58(),
559
+ baseTokenProgram: info.baseTokenProgram,
560
+ quoteTokenProgram: info.quoteTokenProgram,
548
561
  },
549
562
  tokenAmount: new BN(currentAmount),
550
563
  wsolAmount: new BN(receiveAmount),
@@ -601,6 +614,8 @@ export const pumpswapBatchTrade = async ({ connection, poolInfo, tradeType, slip
601
614
  poolId: poolInfo.pairAddress,
602
615
  mintA: mintA.toBase58(),
603
616
  mintB: mintB.toBase58(),
617
+ baseTokenProgram: info.baseTokenProgram,
618
+ quoteTokenProgram: info.quoteTokenProgram,
604
619
  },
605
620
  wsolAmount: new BN(buyAmount),
606
621
  tokenAmount: new BN(buyReceiveAmount),
@@ -634,6 +649,8 @@ export const pumpswapBatchTrade = async ({ connection, poolInfo, tradeType, slip
634
649
  poolId: poolInfo.pairAddress,
635
650
  mintA: mintA.toBase58(),
636
651
  mintB: mintB.toBase58(),
652
+ baseTokenProgram: info.baseTokenProgram,
653
+ quoteTokenProgram: info.quoteTokenProgram,
637
654
  },
638
655
  tokenAmount: sellTokenAmount,
639
656
  wsolAmount: new BN(sellReceiveAmount),
@@ -696,7 +713,7 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
696
713
  initialRealTokenReserves: new BN(parsedPoolData.real_token_reserves),
697
714
  });
698
715
  const payers = walletAmounts.map(item => getWalletKeypair(item.privateKey));
699
- const jito = new JitoJsonRpcClient();
716
+ const jito = getJitoAdapter();
700
717
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
701
718
  const base64Txs = [];
702
719
  // 处理交易逻辑
@@ -714,12 +731,12 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
714
731
  continue;
715
732
  }
716
733
  const [_, buyTx] = await pumpBuySPLInstructions(provider, currentPayer.publicKey, tokenAddress, currentAmount, slippage, new BigNumber(priceInSol).toString(10), creator, receiveAmount.toString());
717
- // pumpBuySPLInstructions already added compute budget and jito tip internally
718
- const tx = getTx(buyTx, currentPayer, priorityFee);
719
- // addPriorityFee(tx, cu);
720
- addCommission(tx, currentPayer, commissionWallet, new BigNumber(currentAmount).times(commissionAmount).toFixed(0));
734
+ // pumpBuySPLInstructions already added everything including compute budget, just add commission
735
+ addCommission(buyTx, currentPayer, commissionWallet, new BigNumber(currentAmount).times(commissionAmount).toFixed(0));
736
+ // 添加 Jito tip(Jito Bundle 必需)
737
+ buyTx.add(jito.getTipInstruction(currentPayer.publicKey, priorityFee));
721
738
  const base64Tx = await getBase64Tx({
722
- tx,
739
+ tx: buyTx,
723
740
  payer: currentPayer,
724
741
  signers: [currentPayer],
725
742
  blockhash,
@@ -732,7 +749,8 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
732
749
  return base64Txs;
733
750
  }
734
751
  catch (error) {
735
- throw new Error(`构造交易指令失败: ${error.message}`);
752
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
753
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
736
754
  }
737
755
  }
738
756
  else if (tradeType === 'sell') {
@@ -749,12 +767,12 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
749
767
  continue;
750
768
  }
751
769
  const sellTx = await pumpSellSPLInstructions(provider, currentPayer, tokenAddress, new BigNumber(currentAmount).toString(10), slippage, receiveAmount, creator);
752
- // pumpSellSPLInstructions already added compute budget and jito tip internally
753
- const tx = getTx(sellTx, currentPayer, priorityFee);
754
- // addPriorityFee(tx, cu);
755
- addCommission(tx, currentPayer, commissionWallet, new BigNumber(receiveAmount).times(commissionAmount).toFixed(0));
770
+ // pumpSellSPLInstructions already added everything including compute budget, just add commission
771
+ addCommission(sellTx, currentPayer, commissionWallet, new BigNumber(receiveAmount).times(commissionAmount).toFixed(0));
772
+ // 添加 Jito tip(Jito Bundle 必需)
773
+ sellTx.add(jito.getTipInstruction(currentPayer.publicKey, priorityFee));
756
774
  const base64Tx = await getBase64Tx({
757
- tx,
775
+ tx: sellTx,
758
776
  payer: currentPayer,
759
777
  signers: [currentPayer],
760
778
  blockhash,
@@ -766,7 +784,8 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
766
784
  return base64Txs;
767
785
  }
768
786
  catch (error) {
769
- throw new Error(`构造交易指令失败: ${error.message}`);
787
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
788
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
770
789
  }
771
790
  }
772
791
  else if (tradeType === 'buyWithSell') {
@@ -848,7 +867,8 @@ export const pumpBatchTrade = async ({ connection, walletAmounts, snipers, token
848
867
  return base64Txs;
849
868
  }
850
869
  catch (error) {
851
- throw new Error(`构造交易指令失败: ${error.message}`);
870
+ const _errMsg = error instanceof Error ? error.stack || error.message : JSON.stringify(error, null, 2);
871
+ throw new Error(`构造交易指令失败: ${_errMsg}`);
852
872
  }
853
873
  }
854
874
  else if (tradeType === 'sniperBuy') {
@@ -927,7 +947,7 @@ export const raydiumBatchTrade = async ({ connection, tokenAddress, poolId, trad
927
947
  quoteDecimals: mintB.toBase58() === NATIVE_MINT.toBase58() ? 9 : decimals,
928
948
  });
929
949
  const base64Txs = [];
930
- const jito = new JitoJsonRpcClient();
950
+ const jito = getJitoAdapter();
931
951
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
932
952
  if (tradeType === 'buy') {
933
953
  for (const payer of walletAmounts) {
@@ -1124,7 +1144,7 @@ export const raydiumCpmmBatchTrade = async ({ connection, tokenAddress, poolId,
1124
1144
  quoteDecimals: mintB.toBase58() === NATIVE_MINT.toBase58() ? 9 : decimals,
1125
1145
  });
1126
1146
  const base64Txs = [];
1127
- const jito = new JitoJsonRpcClient();
1147
+ const jito = getJitoAdapter();
1128
1148
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
1129
1149
  if (tradeType === 'buy' || tradeType === 'sniperBuy') {
1130
1150
  for (const payer of walletAmounts) {
@@ -1347,7 +1367,7 @@ export const meteoraDlmmBatchTrade = async ({ connection, tokenAddress, poolId,
1347
1367
  console.log(' binStep:', typeof reverseInfo.binStep, reverseInfo.binStep);
1348
1368
  console.log(' activeId:', typeof reverseInfo.activeId, reverseInfo.activeId);
1349
1369
  const payers = walletAmounts.map(item => getWalletKeypair(item.privateKey));
1350
- const jito = new JitoJsonRpcClient();
1370
+ const jito = getJitoAdapter();
1351
1371
  const blockhash = (await connection.getLatestBlockhash()).blockhash;
1352
1372
  const base64Txs = [];
1353
1373
  // 处理交易逻辑
@@ -1562,7 +1582,7 @@ const getBase64Tx = async ({ tx, payer, signers, blockhash, connection, lutAccou
1562
1582
  const log = await connection.simulateTransaction(versionedTx);
1563
1583
  console.log('simulate log: ', log);
1564
1584
  if (log.value.err)
1565
- throw new Error(log.value.err.toString());
1585
+ throw new Error(JSON.stringify(log.value.err));
1566
1586
  }
1567
1587
  const serializedTx = versionedTx.serialize();
1568
1588
  return Buffer.from(serializedTx).toString('base64');
@@ -1573,18 +1593,20 @@ const getBase64Tx = async ({ tx, payer, signers, blockhash, connection, lutAccou
1573
1593
  tx.sign(...signers);
1574
1594
  if (simulate) {
1575
1595
  const log = await connection.simulateTransaction(tx);
1576
- console.log('simulate log: ', log);
1577
1596
  if (log.value.err)
1578
- throw new Error(log.value.err.toString());
1597
+ throw new Error(JSON.stringify({ err: log.value.err, logs: log.value.logs }));
1579
1598
  }
1580
- return Buffer.from(tx.serialize()).toString('base64');
1599
+ const serialized = tx.serialize();
1600
+ return Buffer.from(serialized).toString('base64');
1581
1601
  };
1582
- const getTx = (tx, payer, priorityFee, jito, cuLimit) => {
1602
+ const getTx = (tx, payer, priorityFee, jito, cuLimit, addComputeBudget = true) => {
1583
1603
  const transaction = new Transaction();
1584
1604
  transaction.add(tx);
1585
- const cu = getCU(priorityFee, cuLimit);
1586
- transaction.add(cu.limitIx);
1587
- transaction.add(cu.priceIx);
1605
+ if (addComputeBudget) {
1606
+ const cu = getCU(priorityFee, cuLimit);
1607
+ transaction.add(cu.limitIx);
1608
+ transaction.add(cu.priceIx);
1609
+ }
1588
1610
  if (jito) {
1589
1611
  transaction.add(jito.getTipInstruction(payer.publicKey, priorityFee));
1590
1612
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/batch/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/batch/index.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,9 @@ export declare const JITO_TIP_ACCOUNT: string[];
28
28
  declare class JitoJsonRpcClient {
29
29
  private uuid;
30
30
  private client;
31
+ private currentEndpointIndex;
31
32
  constructor();
33
+ private getNextEndpoint;
32
34
  sendRequest(endpoint: string, method: string, params?: any[]): Promise<JsonRpcResponse>;
33
35
  getTipAccounts(): Promise<JsonRpcResponse>;
34
36
  sendTransaction(tx: string): Promise<JsonRpcResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sol-sdk/jito/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EAEV,SAAS,EAGV,MAAM,iBAAiB,CAAC;AACzB;;;;;;GAMG;AAEH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,eAAO,MAAM,SAAS,UAMrB,CAAC;AAEF,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAIF,cAAM,iBAAiB;IACrB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,MAAM,CAAgB;;IAUxB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAuBvF,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAU1C,eAAe,CAAC,EAAE,EAAE,MAAM;IAe1B,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAanD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBpE,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAUvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUlE,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;;;;IAwC9D,KAAK,CAAC,EAAE,EAAE,MAAM;IAIhB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAyB9E,eAAe,CAAC,YAAY,EAAE,GAAG;IAQjC,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;CAWxD;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sol-sdk/jito/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EAEV,SAAS,EAGV,MAAM,iBAAiB,CAAC;AACzB;;;;;;GAMG;AAEH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,eAAO,MAAM,SAAS,UAMrB,CAAC;AAEF,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAEF,cAAM,iBAAiB;IACrB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,oBAAoB,CAAa;;IAUzC,OAAO,CAAC,eAAe;IAKjB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2CvF,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAU1C,eAAe,CAAC,EAAE,EAAE,MAAM;IAe1B,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAanD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBpE,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAUvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUlE,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;;;;IAwC9D,KAAK,CAAC,EAAE,EAAE,MAAM;IAIhB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAyB9E,eAAe,CAAC,YAAY,EAAE,GAAG;IAQjC,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;CAWxD;AAED,eAAe,iBAAiB,CAAC"}
@@ -26,10 +26,10 @@ export const JITO_TIP_ACCOUNT = [
26
26
  'DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL',
27
27
  '3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT',
28
28
  ];
29
- const currentEndpointIndex = 0;
30
29
  class JitoJsonRpcClient {
31
30
  uuid;
32
31
  client;
32
+ currentEndpointIndex = 0;
33
33
  constructor() {
34
34
  this.client = axios.create({
35
35
  headers: {
@@ -37,26 +37,49 @@ class JitoJsonRpcClient {
37
37
  },
38
38
  });
39
39
  }
40
+ getNextEndpoint() {
41
+ this.currentEndpointIndex = (this.currentEndpointIndex + 1) % endpoints.length;
42
+ return endpoints[this.currentEndpointIndex];
43
+ }
40
44
  async sendRequest(endpoint, method, params) {
41
- const url = `${endpoints[0]}${endpoint}`;
42
45
  const data = {
43
46
  jsonrpc: '2.0',
44
47
  id: 1,
45
48
  method,
46
49
  params: params || [],
47
50
  };
48
- try {
49
- let response = await this.client.post(url, data);
50
- return response.data;
51
- }
52
- catch (error) {
53
- console.error('jito request error', error);
54
- // 包装错误并继续处理流程,避免服务器崩溃
55
- return Promise.reject({
56
- success: false,
57
- error: 'Jito request error: An unexpected error occurred',
58
- });
51
+ // 尝试所有端点,遇到 429 则轮换
52
+ let lastError;
53
+ for (let attempt = 0; attempt < endpoints.length; attempt++) {
54
+ const baseUrl = endpoints[(this.currentEndpointIndex + attempt) % endpoints.length];
55
+ const url = `${baseUrl}${endpoint}`;
56
+ try {
57
+ const response = await this.client.post(url, data);
58
+ // 成功后更新当前端点索引
59
+ this.currentEndpointIndex = (this.currentEndpointIndex + attempt) % endpoints.length;
60
+ return response.data;
61
+ }
62
+ catch (error) {
63
+ lastError = error;
64
+ if (error?.response?.status === 429) {
65
+ console.log(`Jito 端点 ${baseUrl} 429 限流,尝试下一个端点...`);
66
+ continue;
67
+ }
68
+ // 非 429 错误直接抛出
69
+ console.error('jito request error', error);
70
+ return Promise.reject({
71
+ success: false,
72
+ error: 'Jito request error: An unexpected error occurred',
73
+ });
74
+ }
59
75
  }
76
+ // 所有端点都 429,轮换到下一个端点并等待后重试
77
+ this.getNextEndpoint();
78
+ console.error('所有 Jito 端点均被 429 限流');
79
+ return Promise.reject({
80
+ success: false,
81
+ error: 'Jito request error: All endpoints rate limited (429)',
82
+ });
60
83
  }
61
84
  async getTipAccounts() {
62
85
  try {