@lifi/sdk 3.13.4 → 3.14.0-alpha.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 (71) hide show
  1. package/package.json +1 -1
  2. package/src/_cjs/core/Solana/SolanaStepExecutor.js +57 -12
  3. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  4. package/src/_cjs/core/Solana/connection.js +21 -2
  5. package/src/_cjs/core/Solana/connection.js.map +1 -1
  6. package/src/_cjs/core/Solana/jito/JitoConnection.js +67 -0
  7. package/src/_cjs/core/Solana/jito/JitoConnection.js.map +1 -0
  8. package/src/_cjs/core/Solana/jito/constants.js +27 -0
  9. package/src/_cjs/core/Solana/jito/constants.js.map +1 -0
  10. package/src/_cjs/core/Solana/jito/isJitoRpc.js +23 -0
  11. package/src/_cjs/core/Solana/jito/isJitoRpc.js.map +1 -0
  12. package/src/_cjs/core/Solana/jito/sendAndConfirmBundle.js +118 -0
  13. package/src/_cjs/core/Solana/jito/sendAndConfirmBundle.js.map +1 -0
  14. package/src/_cjs/index.js.map +1 -1
  15. package/src/_cjs/services/api.js +9 -1
  16. package/src/_cjs/services/api.js.map +1 -1
  17. package/src/_cjs/utils/uint8ArrayToBase64.js +11 -0
  18. package/src/_cjs/utils/uint8ArrayToBase64.js.map +1 -0
  19. package/src/_cjs/version.js +1 -1
  20. package/src/_cjs/version.js.map +1 -1
  21. package/src/_esm/core/Solana/SolanaStepExecutor.js +83 -12
  22. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  23. package/src/_esm/core/Solana/connection.js +26 -1
  24. package/src/_esm/core/Solana/connection.js.map +1 -1
  25. package/src/_esm/core/Solana/jito/JitoConnection.js +90 -0
  26. package/src/_esm/core/Solana/jito/JitoConnection.js.map +1 -0
  27. package/src/_esm/core/Solana/jito/constants.js +25 -0
  28. package/src/_esm/core/Solana/jito/constants.js.map +1 -0
  29. package/src/_esm/core/Solana/jito/isJitoRpc.js +21 -0
  30. package/src/_esm/core/Solana/jito/isJitoRpc.js.map +1 -0
  31. package/src/_esm/core/Solana/jito/sendAndConfirmBundle.js +140 -0
  32. package/src/_esm/core/Solana/jito/sendAndConfirmBundle.js.map +1 -0
  33. package/src/_esm/index.js.map +1 -1
  34. package/src/_esm/services/api.js +11 -2
  35. package/src/_esm/services/api.js.map +1 -1
  36. package/src/_esm/utils/uint8ArrayToBase64.js +10 -0
  37. package/src/_esm/utils/uint8ArrayToBase64.js.map +1 -0
  38. package/src/_esm/version.js +1 -1
  39. package/src/_esm/version.js.map +1 -1
  40. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +18 -0
  41. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  42. package/src/_types/core/Solana/connection.d.ts +7 -1
  43. package/src/_types/core/Solana/connection.d.ts.map +1 -1
  44. package/src/_types/core/Solana/jito/JitoConnection.d.ts +55 -0
  45. package/src/_types/core/Solana/jito/JitoConnection.d.ts.map +1 -0
  46. package/src/_types/core/Solana/jito/constants.d.ts +3 -0
  47. package/src/_types/core/Solana/jito/constants.d.ts.map +1 -0
  48. package/src/_types/core/Solana/jito/isJitoRpc.d.ts +2 -0
  49. package/src/_types/core/Solana/jito/isJitoRpc.d.ts.map +1 -0
  50. package/src/_types/core/Solana/jito/sendAndConfirmBundle.d.ts +15 -0
  51. package/src/_types/core/Solana/jito/sendAndConfirmBundle.d.ts.map +1 -0
  52. package/src/_types/index.d.ts +1 -0
  53. package/src/_types/index.d.ts.map +1 -1
  54. package/src/_types/services/api.d.ts.map +1 -1
  55. package/src/_types/services/types.d.ts +3 -0
  56. package/src/_types/services/types.d.ts.map +1 -1
  57. package/src/_types/utils/uint8ArrayToBase64.d.ts +2 -0
  58. package/src/_types/utils/uint8ArrayToBase64.d.ts.map +1 -0
  59. package/src/_types/version.d.ts +1 -1
  60. package/src/_types/version.d.ts.map +1 -1
  61. package/src/core/Solana/SolanaStepExecutor.ts +122 -22
  62. package/src/core/Solana/connection.ts +35 -4
  63. package/src/core/Solana/jito/JitoConnection.ts +122 -0
  64. package/src/core/Solana/jito/constants.ts +26 -0
  65. package/src/core/Solana/jito/isJitoRpc.ts +21 -0
  66. package/src/core/Solana/jito/sendAndConfirmBundle.ts +195 -0
  67. package/src/index.ts +7 -0
  68. package/src/services/api.ts +20 -11
  69. package/src/services/types.ts +4 -0
  70. package/src/utils/uint8ArrayToBase64.ts +12 -0
  71. package/src/version.ts +1 -1
@@ -10,6 +10,7 @@ import { checkBalance } from '../checkBalance.js';
10
10
  import { stepComparison } from '../stepComparison.js';
11
11
  import { waitForDestinationChainTransaction } from '../waitForDestinationChainTransaction.js';
12
12
  import { callSolanaWithRetry } from './connection.js';
13
+ import { sendAndConfirmBundle } from './jito/sendAndConfirmBundle.js';
13
14
  import { parseSolanaErrors } from './parseSolanaErrors.js';
14
15
  import { sendAndConfirmTransaction } from './sendAndConfirmTransaction.js';
15
16
  export class SolanaStepExecutor extends BaseStepExecutor {
@@ -24,6 +25,44 @@ export class SolanaStepExecutor extends BaseStepExecutor {
24
25
  throw new TransactionError(LiFiErrorCode.WalletChangedDuringExecution, 'The wallet address that requested the quote does not match the wallet address attempting to sign the transaction.');
25
26
  }
26
27
  };
28
+ /**
29
+ * Deserializes base64-encoded transaction data into VersionedTransaction objects.
30
+ * Handles both single transactions and arrays of transactions.
31
+ *
32
+ * @param transactionRequest - Transaction parameters containing base64-encoded transaction data
33
+ * @returns {VersionedTransaction[]} Array of deserialized VersionedTransaction objects
34
+ * @throws {TransactionError} If transaction data is missing or empty
35
+ */
36
+ deserializeTransactions(transactionRequest) {
37
+ if (!transactionRequest.data?.length) {
38
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
39
+ }
40
+ if (Array.isArray(transactionRequest.data)) {
41
+ return transactionRequest.data.map((tx) => VersionedTransaction.deserialize(base64ToUint8Array(tx)));
42
+ }
43
+ else {
44
+ return [
45
+ VersionedTransaction.deserialize(base64ToUint8Array(transactionRequest.data)),
46
+ ];
47
+ }
48
+ }
49
+ /**
50
+ * Determines whether to use Jito bundle submission for the given transactions.
51
+ * Multiple transactions require Jito bundle support to be enabled in config.
52
+ *
53
+ * @param transactions - Array of transactions to evaluate
54
+ * @returns {Boolean} True if Jito bundle should be used (multiple transactions + Jito enabled), false otherwise
55
+ * @throws {TransactionError} If multiple transactions are provided but Jito bundle is not enabled
56
+ */
57
+ shouldUseJitoBundle(transactions) {
58
+ const isJitoBundleEnabled = Boolean(config.get().routeOptions?.jitoBundle);
59
+ // If we received multiple transactions but Jito is not enabled,
60
+ // this indicates an unexpected state (possibly an API error or misconfiguration)
61
+ if (transactions.length > 1 && !isJitoBundleEnabled) {
62
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, `Received ${transactions.length} transactions but Jito bundle is not enabled. Multiple transactions require Jito bundle support. Please enable jitoBundle in routeOptions.`);
63
+ }
64
+ return transactions.length > 1 && isJitoBundleEnabled;
65
+ }
27
66
  executeStep = async (step) => {
28
67
  step.execution = this.statusManager.initExecutionObject(step);
29
68
  const fromChain = await config.getChainById(step.action.fromChainId);
@@ -71,27 +110,59 @@ export class SolanaStepExecutor extends BaseStepExecutor {
71
110
  ...customizedTransactionRequest,
72
111
  };
73
112
  }
74
- if (!transactionRequest.data) {
75
- throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
76
- }
77
- const versionedTransaction = VersionedTransaction.deserialize(base64ToUint8Array(transactionRequest.data));
113
+ const transactions = this.deserializeTransactions(transactionRequest);
114
+ const shouldUseJitoBundle = this.shouldUseJitoBundle(transactions);
78
115
  this.checkWalletAdapter(step);
79
116
  // We give users 2 minutes to sign the transaction or it should be considered expired
80
- const signedTx = await withTimeout(() => this.walletAdapter.signTransaction(versionedTransaction), {
117
+ const signedTransactions = await withTimeout(() => this.walletAdapter.signAllTransactions(transactions), {
81
118
  // https://solana.com/docs/advanced/confirmation#transaction-expiration
82
119
  // Use 2 minutes to account for fluctuations
83
120
  timeout: 120_000,
84
121
  errorInstance: new TransactionError(LiFiErrorCode.TransactionExpired, 'Transaction has expired: blockhash is no longer recent enough.'),
85
122
  });
86
123
  process = this.statusManager.updateProcess(step, process.type, 'PENDING');
87
- const simulationResult = await callSolanaWithRetry((connection) => connection.simulateTransaction(signedTx, {
88
- commitment: 'confirmed',
89
- replaceRecentBlockhash: true,
90
- }));
91
- if (simulationResult.value.err) {
92
- throw new TransactionError(LiFiErrorCode.TransactionSimulationFailed, 'Transaction simulation failed');
124
+ // Verify wallet adapter returned signed transactions
125
+ if (!signedTransactions.length) {
126
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'There was a problem signing the transactions. Wallet adapter did not return any signed transactions.');
127
+ }
128
+ let confirmedTx;
129
+ if (shouldUseJitoBundle) {
130
+ // Use Jito bundle for multiple transactions
131
+ const bundleResult = await sendAndConfirmBundle(signedTransactions);
132
+ // Check if all transactions in the bundle were confirmed
133
+ // All transactions must succeed for the bundle to be considered successful
134
+ const allConfirmed = bundleResult.signatureResults.every((result) => result !== null);
135
+ if (!allConfirmed) {
136
+ throw new TransactionError(LiFiErrorCode.TransactionExpired, 'One or more bundle transactions were not confirmed within the expected time frame.');
137
+ }
138
+ // Check if any transaction in the bundle has an error
139
+ const failedResult = bundleResult.signatureResults.find((result) => result?.err !== null);
140
+ if (failedResult) {
141
+ const reason = typeof failedResult.err === 'object'
142
+ ? JSON.stringify(failedResult.err)
143
+ : failedResult.err;
144
+ throw new TransactionError(LiFiErrorCode.TransactionFailed, `Bundle transaction failed: ${reason}`);
145
+ }
146
+ // Use the first transaction's signature result for reporting
147
+ // (all transactions succeeded if we reach here)
148
+ confirmedTx = {
149
+ signatureResult: bundleResult.signatureResults[0],
150
+ txSignature: bundleResult.txSignatures[0],
151
+ bundleId: bundleResult.bundleId,
152
+ };
153
+ }
154
+ else {
155
+ // Use regular transaction for single transaction
156
+ const signedTx = signedTransactions[0];
157
+ const simulationResult = await callSolanaWithRetry((connection) => connection.simulateTransaction(signedTx, {
158
+ commitment: 'confirmed',
159
+ replaceRecentBlockhash: true,
160
+ }));
161
+ if (simulationResult.value.err) {
162
+ throw new TransactionError(LiFiErrorCode.TransactionSimulationFailed, 'Transaction simulation failed');
163
+ }
164
+ confirmedTx = await sendAndConfirmTransaction(signedTx);
93
165
  }
94
- const confirmedTx = await sendAndConfirmTransaction(signedTx);
95
166
  if (!confirmedTx.signatureResult) {
96
167
  throw new TransactionError(LiFiErrorCode.TransactionExpired, 'Transaction has expired: The block height has exceeded the maximum allowed limit.');
97
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAG1E,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC9C,aAAa,CAAqB;IAE1C,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC5C,CAAC;IAED,kBAAkB,GAAG,CAAC,IAAsB,EAAE,EAAE;QAC9C,4FAA4F;QAC5F,IAAI,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACzE,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,4BAA4B,EAC1C,mHAAmH,CACpH,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IAED;;;;;;;OAOG;IACK,uBAAuB,CAAC,kBAAyC;QACvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,gCAAgC,CACjC,CAAA;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACxC,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACzD,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,oBAAoB,CAAC,WAAW,CAC9B,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC5C;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,YAAoC;QAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC1E,gEAAgE;QAChE,iFAAiF;QACjF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,YAAY,YAAY,CAAC,MAAM,4IAA4I,CAC5K,CAAA;QACH,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAA;IACvD,CAAC;IAED,WAAW,GAAG,KAAK,EAAE,IAAsB,EAA6B,EAAE;QACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;QACrD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;QAErE,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACnD,IAAI;YACJ,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,SAAS,CAAC,EAAE;SACtB,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,CACV,CAAA;gBAED,gBAAgB;gBAChB,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAA;gBAElE,yBAAyB;gBACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC7B,iEAAiE;oBACjE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;oBACvC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACtD,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,gBAAgB,CACtB,CAAA;oBACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;wBAClB,GAAG,YAAY;wBACf,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;oBACnC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,gCAAgC,CACjC,CAAA;gBACH,CAAC;gBAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,iBAAiB,CAClB,CAAA;gBAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAA;gBACb,CAAC;gBAED,IAAI,kBAAkB,GAA0B;oBAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;iBACnC,CAAA;gBAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;oBACxD,MAAM,4BAA4B,GAChC,MAAM,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;wBACvD,WAAW,EAAE,aAAa;wBAC1B,GAAG,kBAAkB;qBACtB,CAAC,CAAA;oBAEJ,kBAAkB,GAAG;wBACnB,GAAG,kBAAkB;wBACrB,GAAG,4BAA4B;qBAChC,CAAA;gBACH,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAA;gBAErE,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;gBAElE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAE7B,qFAAqF;gBACrF,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAC1D;oBACE,uEAAuE;oBACvE,4CAA4C;oBAC5C,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,IAAI,gBAAgB,CACjC,aAAa,CAAC,kBAAkB,EAChC,gEAAgE,CACjE;iBACF,CACF,CAAA;gBAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,CACV,CAAA;gBAED,qDAAqD;gBACrD,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,sGAAsG,CACvG,CAAA;gBACH,CAAC;gBAED,IAAI,WAAgB,CAAA;gBAEpB,IAAI,mBAAmB,EAAE,CAAC;oBACxB,4CAA4C;oBAC5C,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;oBAEnE,yDAAyD;oBACzD,2EAA2E;oBAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CACtD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAC5B,CAAA;oBAED,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,kBAAkB,EAChC,oFAAoF,CACrF,CAAA;oBACH,CAAC;oBAED,sDAAsD;oBACtD,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CACrD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CACjC,CAAA;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,MAAM,GACV,OAAO,YAAY,CAAC,GAAG,KAAK,QAAQ;4BAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;4BAClC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAA;wBACtB,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,8BAA8B,MAAM,EAAE,CACvC,CAAA;oBACH,CAAC;oBAED,6DAA6D;oBAC7D,gDAAgD;oBAChD,WAAW,GAAG;wBACZ,eAAe,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACjD,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;wBACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;qBAChC,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;oBAEtC,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,CAAC,UAAU,EAAE,EAAE,CAChE,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE;wBACvC,UAAU,EAAE,WAAW;wBACvB,sBAAsB,EAAE,IAAI;qBAC7B,CAAC,CACH,CAAA;oBAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBAC/B,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,2BAA2B,EACzC,+BAA+B,CAChC,CAAA;oBACH,CAAC;oBAED,WAAW,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAA;gBACzD,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;oBACjC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,kBAAkB,EAChC,mFAAmF,CACpF,CAAA;gBACH,CAAC;gBAED,IAAI,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;oBACpC,MAAM,MAAM,GACV,OAAO,WAAW,CAAC,eAAe,CAAC,GAAG,KAAK,QAAQ;wBACjD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC;wBACjD,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAA;oBACrC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,uBAAuB,MAAM,EAAE,CAChC,CAAA;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,EACT;oBACE,MAAM,EAAE,WAAW,CAAC,WAAW;oBAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,WAAW,EAAE;iBAClF,CACF,CAAA;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACxE,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBACvD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR;oBACE,KAAK,EAAE;wBACL,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;wBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB;iBACF,CACF,CAAA;gBACD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAClD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,MAAM,kCAAkC,CACtC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,CAAC,aAAa,CACnB,CAAA;QAED,OAAO;QACP,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;CACF"}
@@ -1,6 +1,21 @@
1
1
  import { ChainId } from '@lifi/types';
2
2
  import { Connection } from '@solana/web3.js';
3
3
  import { getRpcUrls } from '../rpc.js';
4
+ import { isJitoRpc } from './jito/isJitoRpc.js';
5
+ import { JitoConnection } from './jito/JitoConnection.js';
6
+ /**
7
+ * Detect the cluster (network) from an RPC URL
8
+ */
9
+ const detectCluster = (rpcUrl) => {
10
+ const url = rpcUrl.toLowerCase();
11
+ if (url.includes('devnet')) {
12
+ return 'devnet';
13
+ }
14
+ if (url.includes('testnet')) {
15
+ return 'testnet';
16
+ }
17
+ return 'mainnet-beta';
18
+ };
4
19
  const connections = new Map();
5
20
  /**
6
21
  * Initializes the Solana connections if they haven't been initialized yet.
@@ -10,7 +25,9 @@ const ensureConnections = async () => {
10
25
  const rpcUrls = await getRpcUrls(ChainId.SOL);
11
26
  for (const rpcUrl of rpcUrls) {
12
27
  if (!connections.get(rpcUrl)) {
13
- const connection = new Connection(rpcUrl);
28
+ const connection = (await isJitoRpc(rpcUrl))
29
+ ? new JitoConnection(rpcUrl, detectCluster(rpcUrl))
30
+ : new Connection(rpcUrl);
14
31
  connections.set(rpcUrl, connection);
15
32
  }
16
33
  }
@@ -23,6 +40,14 @@ export const getSolanaConnections = async () => {
23
40
  await ensureConnections();
24
41
  return Array.from(connections.values());
25
42
  };
43
+ /**
44
+ * Get Jito-enabled connections only
45
+ * @returns - Array of JitoConnection instances
46
+ */
47
+ export const getJitoConnections = async () => {
48
+ await ensureConnections();
49
+ return Array.from(connections.values()).filter((conn) => conn instanceof JitoConnection);
50
+ };
26
51
  /**
27
52
  * Calls a function on the Connection instances with retry logic.
28
53
  * @param fn - The function to call, which receives a Connection instance.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAA;AAEjD;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;YACzC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAA2B,EAAE;IACpE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAA0C;IAE1C,qCAAqC;IACrC,MAAM,iBAAiB,EAAE,CAAA;IACzB,IAAI,SAAS,GAAQ,IAAI,CAAA;IACzB,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAA;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,MAAM,SAAS,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAgB,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,MAAc,EAAW,EAAE;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAA;AAElE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;YAC1B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAEvC,EAAE;IACF,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAA+B,EAAE;IACtE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,YAAY,cAAc,CACjE,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAA0C;IAE1C,qCAAqC;IACrC,MAAM,iBAAiB,EAAE,CAAA;IACzB,IAAI,SAAS,GAAQ,IAAI,CAAA;IACzB,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAA;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,MAAM,SAAS,CAAA;AACjB,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { Connection, } from '@solana/web3.js';
2
+ import { uint8ArrayToBase64 } from '../../../utils/uint8ArrayToBase64.js';
3
+ import { JITO_TIP_ACCOUNTS } from './constants.js';
4
+ /**
5
+ * Extended Connection class with Jito bundle support
6
+ * Adds simulateBundle, sendBundle, and getTipAccounts methods
7
+ */
8
+ export class JitoConnection extends Connection {
9
+ tipAccountsCache = null;
10
+ cluster;
11
+ constructor(endpoint, cluster = 'mainnet-beta') {
12
+ super(endpoint);
13
+ this.cluster = cluster;
14
+ }
15
+ /**
16
+ * Makes a direct RPC request to the Jito-enabled endpoint
17
+ */
18
+ async rpcRequest(method, params) {
19
+ const response = await fetch(this.rpcEndpoint, {
20
+ method: 'POST',
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ },
24
+ body: JSON.stringify({
25
+ jsonrpc: '2.0',
26
+ id: 1,
27
+ method,
28
+ params,
29
+ }),
30
+ });
31
+ const data = await response.json();
32
+ if (data.error) {
33
+ throw new Error(`Jito RPC Error: ${data.error.message}`);
34
+ }
35
+ return data.result;
36
+ }
37
+ /**
38
+ * Serialize a transaction to base64 for RPC submission
39
+ */
40
+ serializeTransaction(transaction) {
41
+ return uint8ArrayToBase64(transaction.serialize());
42
+ }
43
+ /**
44
+ * Get the tip accounts from the Jito endpoint
45
+ * Results are cached to avoid repeated RPC calls
46
+ */
47
+ async getTipAccounts() {
48
+ if (this.tipAccountsCache) {
49
+ return this.tipAccountsCache;
50
+ }
51
+ try {
52
+ const accounts = await this.rpcRequest('getTipAccounts', []);
53
+ this.tipAccountsCache = accounts;
54
+ return accounts;
55
+ }
56
+ catch (error) {
57
+ const fallbackAccounts = JITO_TIP_ACCOUNTS[this.cluster];
58
+ console.warn(`Failed to fetch tip accounts from RPC, using ${this.cluster} fallback:`, error);
59
+ return fallbackAccounts;
60
+ }
61
+ }
62
+ /**
63
+ * Get a random Jito tip account to reduce contention
64
+ */
65
+ async getRandomTipAccount() {
66
+ const accounts = await this.getTipAccounts();
67
+ return accounts[Math.floor(Math.random() * accounts.length)];
68
+ }
69
+ /**
70
+ * Simulate a bundle before sending it
71
+ * @param bundle - Array of signed transactions
72
+ * @returns Simulation result
73
+ */
74
+ async simulateBundle(bundle) {
75
+ const encodedTransactions = bundle.map((tx) => this.serializeTransaction(tx));
76
+ return this.rpcRequest('simulateBundle', [
77
+ { encodedTransactions },
78
+ ]);
79
+ }
80
+ /**
81
+ * Send a bundle to the Jito block engine
82
+ * @param bundle - Array of signed transactions
83
+ * @returns Bundle UUID
84
+ */
85
+ async sendBundle(bundle) {
86
+ const encodedTransactions = bundle.map((tx) => this.serializeTransaction(tx));
87
+ return this.rpcRequest('sendBundle', [encodedTransactions]);
88
+ }
89
+ }
90
+ //# sourceMappingURL=JitoConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JitoConnection.js","sourceRoot":"","sources":["../../../../core/Solana/jito/JitoConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ // Jito Tip accounts gotten from https://jito-foundation.gitbook.io/mev/mev-payment-and-distribution/on-chain-addresses
2
+ export const JITO_TIP_ACCOUNTS = {
3
+ 'mainnet-beta': [
4
+ 'Cw8CFyM9FkoMi7K7Crf6HNQqf4uEMzpKw6QNghXLvLkY',
5
+ 'DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL',
6
+ '96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5',
7
+ '3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT',
8
+ 'HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe',
9
+ 'ADaUMid9yfUytqMBgopwjb2DTLSokTSzL1zt6iGPaS49',
10
+ 'ADuUkR4vqLUMWXxW9gh6D6L8pMSawimctcNZ5pGwDcEt',
11
+ 'DfXygSm4jCyNCybVYYK6DwvWqjKee8pbDmJGcLWNDXjh',
12
+ ],
13
+ devnet: [],
14
+ testnet: [
15
+ 'BkMx5bRzQeP6tUZgzEs3xeDWJfQiLYvNDqSgmGZKYJDq',
16
+ 'CwWZzvRgmxj9WLLhdoWUVrHZ1J8db3w2iptKuAitHqoC',
17
+ '4uRnem4BfVpZBv7kShVxUYtcipscgZMSHi3B9CSL6gAA',
18
+ 'AzfhMPcx3qjbvCK3UUy868qmc5L451W341cpFqdL3EBe',
19
+ '84DrGKhycCUGfLzw8hXsUYX9SnWdh2wW3ozsTPrC5xyg',
20
+ '7aewvu8fMf1DK4fKoMXKfs3h3wpAQ7r7D8T1C71LmMF',
21
+ 'G2d63CEgKBdgtpYT2BuheYQ9HFuFCenuHLNyKVpqAuSD',
22
+ 'F7ThiQUBYiEcyaxpmMuUeACdoiSLKg4SZZ8JSfpFNwAf',
23
+ ],
24
+ };
25
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../core/Solana/jito/constants.ts"],"names":[],"mappings":"AAEA,uHAAuH;AACvH,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,cAAc,EAAE;QACd,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;KAC/C;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE;QACP,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,8CAA8C;QAC9C,6CAA6C;QAC7C,8CAA8C;QAC9C,8CAA8C;KAC/C;CACF,CAAA"}
@@ -0,0 +1,21 @@
1
+ export async function isJitoRpc(rpcUrl) {
2
+ try {
3
+ const response = await fetch(rpcUrl, {
4
+ method: 'POST',
5
+ headers: { 'Content-Type': 'application/json' },
6
+ body: JSON.stringify({
7
+ jsonrpc: '2.0',
8
+ id: 1,
9
+ method: 'getTipAccounts',
10
+ params: [],
11
+ }),
12
+ });
13
+ const data = await response.json();
14
+ // If we get a result (not a "method not found" error), it supports Jito
15
+ return !!data.result && !data.error;
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ }
21
+ //# sourceMappingURL=isJitoRpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isJitoRpc.js","sourceRoot":"","sources":["../../../../core/Solana/jito/isJitoRpc.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,EAAE;aACX,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,wEAAwE;QACxE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,140 @@
1
+ import bs58 from 'bs58';
2
+ import { sleep } from '../../../utils/sleep.js';
3
+ import { getJitoConnections } from '../connection.js';
4
+ /**
5
+ * Send and confirm a bundle of transactions using Jito
6
+ * Automatically selects a Jito-enabled RPC connection and polls for confirmation
7
+ * across multiple Jito RPCs in parallel
8
+ * @param signedTransactions - Array of signed transactions
9
+ * @returns Bundle ID, transaction signatures, and confirmation results
10
+ */
11
+ export async function sendAndConfirmBundle(signedTransactions) {
12
+ const jitoConnections = await getJitoConnections();
13
+ if (jitoConnections.length === 0) {
14
+ throw new Error('No Jito-enabled RPC connection available for bundle submission');
15
+ }
16
+ // Validate bundle requirements
17
+ if (signedTransactions.length === 0) {
18
+ throw new Error('Bundle must contain at least one transaction');
19
+ }
20
+ // Check that all transactions have the same blockhash (required for bundles)
21
+ const firstBlockhash = signedTransactions[0].message.recentBlockhash;
22
+ const allSameBlockhash = signedTransactions.every((tx) => tx.message.recentBlockhash === firstBlockhash);
23
+ if (!allSameBlockhash) {
24
+ console.warn('Bundle transactions have different blockhashes:', signedTransactions.map((tx) => tx.message.recentBlockhash));
25
+ }
26
+ // Extract transaction signatures
27
+ const txSignatures = signedTransactions.map((tx, index) => {
28
+ if (!tx.signatures[0]) {
29
+ throw new Error(`Transaction signature is missing for transaction at index ${index}.`);
30
+ }
31
+ const signature = bs58.encode(tx.signatures[0]);
32
+ return signature;
33
+ });
34
+ const abortController = new AbortController();
35
+ let bundleId = null;
36
+ // Try to simulate and send bundle with the first connection
37
+ for (const jitoConnection of jitoConnections) {
38
+ try {
39
+ // Simulate bundle first
40
+ const simulationResult = await jitoConnection.simulateBundle(signedTransactions);
41
+ if (simulationResult.value.summary !== 'succeeded') {
42
+ const summary = simulationResult.value.summary;
43
+ // Extract readable error message from TransactionFailure
44
+ const errorMsg = summary.failed?.error?.TransactionFailure?.[1] ||
45
+ JSON.stringify(summary.failed?.error) ||
46
+ 'Unknown simulation error';
47
+ throw new Error(`Bundle simulation failed: ${errorMsg}`);
48
+ }
49
+ // Send bundle using JitoConnection method
50
+ bundleId = await jitoConnection.sendBundle(signedTransactions);
51
+ break;
52
+ }
53
+ catch (error) {
54
+ // Try next connection if this one fails
55
+ if (jitoConnection === jitoConnections[jitoConnections.length - 1]) {
56
+ throw error;
57
+ }
58
+ }
59
+ }
60
+ if (!bundleId) {
61
+ throw new Error('Failed to send bundle to any Jito connection');
62
+ }
63
+ // Now confirm the bundle across all Jito connections in parallel
64
+ const confirmPromises = jitoConnections.map(async (jitoConnection) => {
65
+ try {
66
+ // Get initial blockhash and block height
67
+ const [blockhashResult, initialBlockHeight] = await Promise.all([
68
+ jitoConnection.getLatestBlockhash('confirmed'),
69
+ jitoConnection.getBlockHeight('confirmed'),
70
+ ]);
71
+ let signatureResults = txSignatures.map(() => null);
72
+ const pollingPromise = (async () => {
73
+ let pollingBlockHeight = initialBlockHeight;
74
+ while (pollingBlockHeight < blockhashResult.lastValidBlockHeight &&
75
+ !abortController.signal.aborted) {
76
+ const statusResponse = await jitoConnection.getSignatureStatuses(txSignatures);
77
+ const allConfirmed = statusResponse.value.every((status) => status &&
78
+ (status.confirmationStatus === 'confirmed' ||
79
+ status.confirmationStatus === 'finalized'));
80
+ if (allConfirmed) {
81
+ signatureResults = statusResponse.value;
82
+ // Immediately abort all other connections when we find results
83
+ abortController.abort();
84
+ return signatureResults;
85
+ }
86
+ await sleep(400);
87
+ // Update block height independently to avoid stale reads
88
+ if (!abortController.signal.aborted) {
89
+ pollingBlockHeight =
90
+ await jitoConnection.getBlockHeight('confirmed');
91
+ }
92
+ }
93
+ return null;
94
+ })();
95
+ const sendingPromise = (async () => {
96
+ let sendingBlockHeight = initialBlockHeight;
97
+ while (sendingBlockHeight < blockhashResult.lastValidBlockHeight &&
98
+ !abortController.signal.aborted &&
99
+ signatureResults.every((r) => r === null)) {
100
+ try {
101
+ // Re-send bundle periodically
102
+ await jitoConnection.sendBundle(signedTransactions);
103
+ }
104
+ catch (_) {
105
+ // Silently retry on send failures - polling will detect success
106
+ }
107
+ await sleep(1000);
108
+ if (!abortController.signal.aborted) {
109
+ sendingBlockHeight =
110
+ await jitoConnection.getBlockHeight('confirmed');
111
+ }
112
+ }
113
+ return null;
114
+ })();
115
+ // Wait for polling to find the results
116
+ const result = await Promise.race([pollingPromise, sendingPromise]);
117
+ return result;
118
+ }
119
+ catch (error) {
120
+ if (abortController.signal.aborted) {
121
+ return null; // Don't treat abortion as an error
122
+ }
123
+ throw error;
124
+ }
125
+ });
126
+ // Wait for the first connection to return (either success or timeout)
127
+ // If a connection finds confirmation, it aborts all others via abortController
128
+ // If all connections reject (throw errors), catch and return null array
129
+ const signatureResults = (await Promise.any(confirmPromises).catch(() => null)) ??
130
+ txSignatures.map(() => null);
131
+ if (!abortController.signal.aborted) {
132
+ abortController.abort();
133
+ }
134
+ return {
135
+ bundleId,
136
+ txSignatures,
137
+ signatureResults,
138
+ };
139
+ }
140
+ //# sourceMappingURL=sendAndConfirmBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendAndConfirmBundle.js","sourceRoot":"","sources":["../../../../core/Solana/jito/sendAndConfirmBundle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AA6B3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EACL,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACR,2BAA2B,EAC3B,eAAe,EACf,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,aAAa,EACb,aAAa,GACd,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AA6B3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EACL,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACR,2BAA2B,EAC3B,eAAe,EACf,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAS3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { isContractCallsRequestWithFromAmount, isContractCallsRequestWithToAmount, } from '@lifi/types';
1
+ import { ChainType, isContractCallsRequestWithFromAmount, isContractCallsRequestWithToAmount, } from '@lifi/types';
2
2
  import { config } from '../config.js';
3
3
  import { BaseError } from '../errors/baseError.js';
4
4
  import { ErrorName } from '../errors/constants.js';
@@ -139,7 +139,16 @@ export const getStepTransaction = async (step, options) => {
139
139
  // While the validation fails for some users we should not enforce it
140
140
  console.warn('SDK Validation: Invalid Step', step);
141
141
  }
142
- return await request(`${config.get().apiUrl}/advanced/stepTransaction`, {
142
+ const _config = config.get();
143
+ let requestUrl = `${_config.apiUrl}/advanced/stepTransaction`;
144
+ const fromChain = await config.getChainById(step.action.fromChainId);
145
+ const isJitoBundleEnabled = Boolean(_config.routeOptions?.jitoBundle);
146
+ // add jitoBundle param to url if from chain is SVM and jitoBundle is enabled in config
147
+ if (fromChain.chainType === ChainType.SVM && isJitoBundleEnabled) {
148
+ const queryParams = new URLSearchParams({ jitoBundle: 'true' });
149
+ requestUrl = `${requestUrl}?${queryParams}`;
150
+ }
151
+ return await request(requestUrl, {
143
152
  method: 'POST',
144
153
  headers: {
145
154
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}