@lifi/sdk 3.8.0-alpha.1 → 3.8.0-beta.1

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 (179) hide show
  1. package/README.md +5 -5
  2. package/package.json +6 -6
  3. package/src/_cjs/core/EVM/EVMStepExecutor.js +3 -1
  4. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  5. package/src/_cjs/core/EVM/getAllowance.js +2 -2
  6. package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
  7. package/src/_cjs/core/EVM/parseEVMErrors.js +1 -1
  8. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
  9. package/src/_cjs/core/EVM/permits/getNativePermit.js.map +1 -1
  10. package/src/_cjs/core/EVM/permits/signatureTransfer.js.map +1 -1
  11. package/src/_cjs/core/EVM/setAllowance.js +2 -2
  12. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  13. package/src/_cjs/core/EVM/types.js.map +1 -1
  14. package/src/_cjs/core/Solana/Solana.js +1 -1
  15. package/src/_cjs/core/Solana/Solana.js.map +1 -1
  16. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  17. package/src/_cjs/core/Solana/parseSolanaErrors.js +1 -1
  18. package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -1
  19. package/src/_cjs/core/Solana/sendAndConfirmTransaction.js +48 -33
  20. package/src/_cjs/core/Solana/sendAndConfirmTransaction.js.map +1 -1
  21. package/src/_cjs/core/Sui/Sui.js +1 -1
  22. package/src/_cjs/core/Sui/Sui.js.map +1 -1
  23. package/src/_cjs/core/Sui/SuiStepExecutor.js.map +1 -1
  24. package/src/_cjs/core/Sui/parseSuiErrors.js +1 -1
  25. package/src/_cjs/core/Sui/parseSuiErrors.js.map +1 -1
  26. package/src/_cjs/core/UTXO/UTXO.js +1 -1
  27. package/src/_cjs/core/UTXO/UTXO.js.map +1 -1
  28. package/src/_cjs/core/UTXO/UTXOStepExecutor.js +6 -3
  29. package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
  30. package/src/_cjs/core/UTXO/getUTXOPublicClient.js +3 -6
  31. package/src/_cjs/core/UTXO/getUTXOPublicClient.js.map +1 -1
  32. package/src/_cjs/core/UTXO/parseUTXOErrors.js +1 -1
  33. package/src/_cjs/core/UTXO/parseUTXOErrors.js.map +1 -1
  34. package/src/_cjs/core/UTXO/utils.js +13 -0
  35. package/src/_cjs/core/UTXO/utils.js.map +1 -0
  36. package/src/_cjs/core/processMessages.js.map +1 -1
  37. package/src/_cjs/core/waitForTransactionStatus.js.map +1 -1
  38. package/src/_cjs/errors/httpError.js +9 -10
  39. package/src/_cjs/errors/httpError.js.map +1 -1
  40. package/src/_cjs/index.js +44 -44
  41. package/src/_cjs/index.js.map +1 -1
  42. package/src/_cjs/request.js +1 -1
  43. package/src/_cjs/request.js.map +1 -1
  44. package/src/_cjs/services/api.js +2 -5
  45. package/src/_cjs/services/api.js.map +1 -1
  46. package/src/_cjs/utils/convertQuoteToRoute.js +1 -1
  47. package/src/_cjs/utils/convertQuoteToRoute.js.map +1 -1
  48. package/src/_cjs/utils/isZeroAddress.js +1 -10
  49. package/src/_cjs/utils/isZeroAddress.js.map +1 -1
  50. package/src/_cjs/version.js +1 -1
  51. package/src/_cjs/version.js.map +1 -1
  52. package/src/_esm/core/EVM/EVMStepExecutor.js +5 -1
  53. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  54. package/src/_esm/core/EVM/getAllowance.js +3 -3
  55. package/src/_esm/core/EVM/getAllowance.js.map +1 -1
  56. package/src/_esm/core/EVM/parseEVMErrors.js +1 -1
  57. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
  58. package/src/_esm/core/EVM/permits/allowanceTransfer.js.map +1 -1
  59. package/src/_esm/core/EVM/permits/encodePermit2Data.js.map +1 -1
  60. package/src/_esm/core/EVM/permits/getNativePermit.js.map +1 -1
  61. package/src/_esm/core/EVM/permits/signatureTransfer.js.map +1 -1
  62. package/src/_esm/core/EVM/publicClient.js +1 -1
  63. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  64. package/src/_esm/core/EVM/setAllowance.js +3 -3
  65. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  66. package/src/_esm/core/EVM/types.js.map +1 -1
  67. package/src/_esm/core/Solana/KeypairWalletAdapter.js +1 -1
  68. package/src/_esm/core/Solana/KeypairWalletAdapter.js.map +1 -1
  69. package/src/_esm/core/Solana/Solana.js +1 -1
  70. package/src/_esm/core/Solana/Solana.js.map +1 -1
  71. package/src/_esm/core/Solana/SolanaStepExecutor.js +1 -0
  72. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  73. package/src/_esm/core/Solana/parseSolanaErrors.js +1 -1
  74. package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -1
  75. package/src/_esm/core/Solana/sendAndConfirmTransaction.js +53 -33
  76. package/src/_esm/core/Solana/sendAndConfirmTransaction.js.map +1 -1
  77. package/src/_esm/core/Sui/Sui.js +1 -1
  78. package/src/_esm/core/Sui/Sui.js.map +1 -1
  79. package/src/_esm/core/Sui/SuiStepExecutor.js +1 -0
  80. package/src/_esm/core/Sui/SuiStepExecutor.js.map +1 -1
  81. package/src/_esm/core/Sui/parseSuiErrors.js +1 -1
  82. package/src/_esm/core/Sui/parseSuiErrors.js.map +1 -1
  83. package/src/_esm/core/UTXO/UTXO.js +1 -1
  84. package/src/_esm/core/UTXO/UTXO.js.map +1 -1
  85. package/src/_esm/core/UTXO/UTXOStepExecutor.js +8 -4
  86. package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
  87. package/src/_esm/core/UTXO/getUTXOPublicClient.js +1 -4
  88. package/src/_esm/core/UTXO/getUTXOPublicClient.js.map +1 -1
  89. package/src/_esm/core/UTXO/parseUTXOErrors.js +1 -1
  90. package/src/_esm/core/UTXO/parseUTXOErrors.js.map +1 -1
  91. package/src/_esm/core/UTXO/utils.js +10 -0
  92. package/src/_esm/core/UTXO/utils.js.map +1 -0
  93. package/src/_esm/core/processMessages.js.map +1 -1
  94. package/src/_esm/core/waitForTransactionStatus.js.map +1 -1
  95. package/src/_esm/errors/httpError.js +1 -2
  96. package/src/_esm/errors/httpError.js.map +1 -1
  97. package/src/_esm/index.js +15 -15
  98. package/src/_esm/index.js.map +1 -1
  99. package/src/_esm/request.js +1 -1
  100. package/src/_esm/request.js.map +1 -1
  101. package/src/_esm/services/api.js +2 -5
  102. package/src/_esm/services/api.js.map +1 -1
  103. package/src/_esm/utils/convertQuoteToRoute.js +1 -1
  104. package/src/_esm/utils/convertQuoteToRoute.js.map +1 -1
  105. package/src/_esm/utils/isZeroAddress.js +0 -9
  106. package/src/_esm/utils/isZeroAddress.js.map +1 -1
  107. package/src/_esm/version.js +1 -1
  108. package/src/_esm/version.js.map +1 -1
  109. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  110. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -1
  111. package/src/_types/core/EVM/permits/allowanceTransfer.d.ts.map +1 -1
  112. package/src/_types/core/EVM/permits/encodePermit2Data.d.ts.map +1 -1
  113. package/src/_types/core/EVM/permits/getNativePermit.d.ts.map +1 -1
  114. package/src/_types/core/EVM/permits/signatureTransfer.d.ts.map +1 -1
  115. package/src/_types/core/EVM/types.d.ts +1 -2
  116. package/src/_types/core/EVM/types.d.ts.map +1 -1
  117. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts +1 -1
  118. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts.map +1 -1
  119. package/src/_types/core/EVM/waitForRelayedTransactionReceipt.d.ts +1 -1
  120. package/src/_types/core/EVM/waitForRelayedTransactionReceipt.d.ts.map +1 -1
  121. package/src/_types/core/Solana/KeypairWalletAdapter.d.ts.map +1 -1
  122. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  123. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -1
  124. package/src/_types/core/Solana/sendAndConfirmTransaction.d.ts.map +1 -1
  125. package/src/_types/core/Sui/SuiStepExecutor.d.ts.map +1 -1
  126. package/src/_types/core/Sui/parseSuiErrors.d.ts.map +1 -1
  127. package/src/_types/core/UTXO/UTXO.d.ts.map +1 -1
  128. package/src/_types/core/UTXO/UTXOStepExecutor.d.ts +1 -1
  129. package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
  130. package/src/_types/core/UTXO/getUTXOPublicClient.d.ts +4 -59
  131. package/src/_types/core/UTXO/getUTXOPublicClient.d.ts.map +1 -1
  132. package/src/_types/core/UTXO/parseUTXOErrors.d.ts.map +1 -1
  133. package/src/_types/core/UTXO/utils.d.ts +3 -0
  134. package/src/_types/core/UTXO/utils.d.ts.map +1 -0
  135. package/src/_types/core/processMessages.d.ts +1 -2
  136. package/src/_types/core/processMessages.d.ts.map +1 -1
  137. package/src/_types/core/waitForTransactionStatus.d.ts.map +1 -1
  138. package/src/_types/errors/httpError.d.ts.map +1 -1
  139. package/src/_types/index.d.ts +21 -21
  140. package/src/_types/index.d.ts.map +1 -1
  141. package/src/_types/services/api.d.ts.map +1 -1
  142. package/src/_types/utils/isZeroAddress.d.ts +0 -1
  143. package/src/_types/utils/isZeroAddress.d.ts.map +1 -1
  144. package/src/_types/version.d.ts +1 -1
  145. package/src/_types/version.d.ts.map +1 -1
  146. package/src/core/EVM/EVMStepExecutor.ts +5 -1
  147. package/src/core/EVM/getAllowance.ts +3 -3
  148. package/src/core/EVM/parseEVMErrors.ts +1 -1
  149. package/src/core/EVM/permits/allowanceTransfer.ts +1 -1
  150. package/src/core/EVM/permits/encodePermit2Data.ts +1 -1
  151. package/src/core/EVM/permits/getNativePermit.ts +1 -2
  152. package/src/core/EVM/permits/signatureTransfer.ts +1 -1
  153. package/src/core/EVM/publicClient.ts +1 -1
  154. package/src/core/EVM/setAllowance.ts +3 -3
  155. package/src/core/EVM/types.ts +1 -2
  156. package/src/core/EVM/waitForBatchTransactionReceipt.ts +1 -1
  157. package/src/core/EVM/waitForRelayedTransactionReceipt.ts +1 -1
  158. package/src/core/Solana/KeypairWalletAdapter.ts +1 -1
  159. package/src/core/Solana/Solana.ts +1 -1
  160. package/src/core/Solana/SolanaStepExecutor.ts +1 -0
  161. package/src/core/Solana/parseSolanaErrors.ts +1 -1
  162. package/src/core/Solana/sendAndConfirmTransaction.ts +65 -44
  163. package/src/core/Sui/Sui.ts +1 -1
  164. package/src/core/Sui/SuiStepExecutor.ts +2 -1
  165. package/src/core/Sui/parseSuiErrors.ts +1 -1
  166. package/src/core/UTXO/UTXO.ts +1 -1
  167. package/src/core/UTXO/UTXOStepExecutor.ts +11 -5
  168. package/src/core/UTXO/getUTXOPublicClient.ts +23 -22
  169. package/src/core/UTXO/parseUTXOErrors.ts +1 -1
  170. package/src/core/UTXO/utils.ts +10 -0
  171. package/src/core/processMessages.ts +1 -2
  172. package/src/core/waitForTransactionStatus.ts +1 -1
  173. package/src/errors/httpError.ts +1 -2
  174. package/src/index.ts +46 -40
  175. package/src/request.ts +1 -1
  176. package/src/services/api.ts +5 -8
  177. package/src/utils/convertQuoteToRoute.ts +1 -1
  178. package/src/utils/isZeroAddress.ts +0 -12
  179. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parseSuiErrors.d.ts","sourceRoot":"","sources":["../../../core/Sui/parseSuiErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAInD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,cAAc,GACzB,GAAG,KAAK,EACR,OAAO,QAAQ,EACf,UAAU,OAAO,KAChB,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
1
+ {"version":3,"file":"parseSuiErrors.d.ts","sourceRoot":"","sources":["../../../core/Sui/parseSuiErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,cAAc,GACzB,GAAG,KAAK,EACR,OAAO,QAAQ,EACf,UAAU,OAAO,KAChB,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UTXO.d.ts","sourceRoot":"","sources":["../../../core/UTXO/UTXO.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEnE,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAmChE"}
1
+ {"version":3,"file":"UTXO.d.ts","sourceRoot":"","sources":["../../../core/UTXO/UTXO.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGnE,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAmChE"}
@@ -1,4 +1,4 @@
1
- import { type Client } from '@bigmi/core';
1
+ import type { Client } from '@bigmi/core';
2
2
  import { BaseStepExecutor } from '../BaseStepExecutor.js';
3
3
  import type { LiFiStepExtended, StepExecutorOptions } from '../types.js';
4
4
  export interface UTXOStepExecutorOptions extends StepExecutorOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"UTXOStepExecutor.d.ts","sourceRoot":"","sources":["../../../core/UTXO/UTXOStepExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,aAAa,CAAA;AAOtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAKpB,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAQ;gBAEV,OAAO,EAAE,uBAAuB;IAK5C,WAAW,GAAI,MAAM,gBAAgB,UASpC;IAED,WAAW,GAAU,MAAM,gBAAgB,KAAG,OAAO,CAAC,gBAAgB,CAAC,CAuOtE;CACF"}
1
+ {"version":3,"file":"UTXOStepExecutor.d.ts","sourceRoot":"","sources":["../../../core/UTXO/UTXOStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAA;AAQ5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAMpB,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAQ;gBAEV,OAAO,EAAE,uBAAuB;IAK5C,WAAW,GAAI,MAAM,gBAAgB,UASpC;IAED,WAAW,GAAU,MAAM,gBAAgB,KAAG,OAAO,CAAC,gBAAgB,CAAC,CA6OtE;CACF"}
@@ -1,65 +1,10 @@
1
- import type { Account, Chain, Client, FallbackTransport, HttpTransport, PublicActions, WalletActions } from '@bigmi/core';
1
+ import type { Account, Chain, Client, FallbackTransport, HttpTransport, PublicActions, UTXOSchema, WalletActions } from '@bigmi/core';
2
+ type PublicClient = Client<FallbackTransport<readonly HttpTransport[]>, Chain, Account | undefined, UTXOSchema, PublicActions & WalletActions>;
2
3
  /**
3
4
  * Get an instance of a provider for a specific chain
4
5
  * @param chainId - Id of the chain the provider is for
5
6
  * @returns The public client for the given chain
6
7
  */
7
- export declare const getUTXOPublicClient: (chainId: number) => Promise<Client<FallbackTransport<readonly HttpTransport[]>, Chain, Account | undefined, [{
8
- Method: "getblockcount";
9
- Parameters: [];
10
- ReturnType: number;
11
- }, {
12
- Method: "getblockhash";
13
- Parameters: [number];
14
- ReturnType: string;
15
- }, {
16
- Method: "getblock";
17
- Parameters: [string, number];
18
- ReturnType: string;
19
- }, {
20
- Method: "getblockstats";
21
- Parameters: [string | number, Array<import("@bigmi/core").BlockStatsKeys>?];
22
- ReturnType: import("@bigmi/core").BlockStats;
23
- }, {
24
- Method: "sendrawtransaction";
25
- Parameters: [string, number?];
26
- ReturnType: string;
27
- }, {
28
- Method: "getrawtransaction";
29
- Parameters: [string, boolean, string?];
30
- ReturnType: import("@bigmi/core").UTXOTransaction;
31
- }, {
32
- Method: "getBalance";
33
- Parameters: {
34
- address: string;
35
- };
36
- ReturnType: bigint;
37
- }, {
38
- Method: "getTransactions";
39
- Parameters: {
40
- address: string;
41
- offset?: number;
42
- limit?: number;
43
- lastBlock?: string;
44
- afterTxId?: string;
45
- };
46
- ReturnType: {
47
- transactions: Array<Partial<import("@bigmi/core").UTXOTransaction>>;
48
- total: number;
49
- hasMore?: boolean;
50
- };
51
- }, {
52
- Method: "getTransactionFee";
53
- Parameters: {
54
- txId: string;
55
- };
56
- ReturnType: bigint;
57
- }, {
58
- Method: "getUTXOs";
59
- Parameters: {
60
- address: string;
61
- minValue?: number;
62
- };
63
- ReturnType: Array<import("@bigmi/core/dist/esm/types/transaction.js").UTXO>;
64
- }], PublicActions & WalletActions>>;
8
+ export declare const getUTXOPublicClient: (chainId: number) => Promise<PublicClient>;
9
+ export {};
65
10
  //# sourceMappingURL=getUTXOPublicClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOPublicClient.d.ts","sourceRoot":"","sources":["../../../core/UTXO/getUTXOPublicClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,aAAa,EAEb,aAAa,EACd,MAAM,aAAa,CAAA;AAmBpB;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAbrD,CAAJ;aAA2B,CAAC;iBAExB,CAAJ;iBACM,CAAC;;;;;eAO6B,CAAA;;;;;;;;;;;;gBAO5B,CAAC;;;mCAqCR,CAAA"}
1
+ {"version":3,"file":"getUTXOPublicClient.d.ts","sourceRoot":"","sources":["../../../core/UTXO/getUTXOPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACd,MAAM,aAAa,CAAA;AAepB,KAAK,YAAY,GAAG,MAAM,CACxB,iBAAiB,CAAC,SAAS,aAAa,EAAE,CAAC,EAC3C,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,UAAU,EACV,aAAa,GAAG,aAAa,CAC9B,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,KACd,OAAO,CAAC,YAAY,CAyCtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseUTXOErrors.d.ts","sourceRoot":"","sources":["../../../core/UTXO/parseUTXOErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAInD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,eAAe,GAC1B,GAAG,KAAK,EACR,OAAO,QAAQ,EACf,UAAU,OAAO,KAChB,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
1
+ {"version":3,"file":"parseUTXOErrors.d.ts","sourceRoot":"","sources":["../../../core/UTXO/parseUTXOErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,eAAe,GAC1B,GAAG,KAAK,EACR,OAAO,QAAQ,EACf,UAAU,OAAO,KAChB,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Psbt } from 'bitcoinjs-lib';
2
+ export declare function isPsbtFinalized(psbt: Psbt): boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../core/UTXO/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAOnD"}
@@ -1,6 +1,5 @@
1
1
  import type { StatusMessage, Substatus } from '@lifi/types';
2
- import type { ProcessStatus } from './types.js';
3
- import type { ProcessType } from './types.js';
2
+ import type { ProcessStatus, ProcessType } from './types.js';
4
3
  export declare function getProcessMessage(type: ProcessType, status: ProcessStatus): string | undefined;
5
4
  export declare function getSubstatusMessage(status: StatusMessage, substatus?: Substatus): string | undefined;
6
5
  //# sourceMappingURL=processMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processMessages.d.ts","sourceRoot":"","sources":["../../core/processMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAiE7C,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,GACpB,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAMpB"}
1
+ {"version":3,"file":"processMessages.d.ts","sourceRoot":"","sources":["../../core/processMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAiE5D,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,GACpB,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAMpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"waitForTransactionStatus.d.ts","sourceRoot":"","sources":["../../core/waitForTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,QAAQ,EACd,QAAQ,SAAQ,GACf,OAAO,CAAC,cAAc,CAAC,CAsDzB"}
1
+ {"version":3,"file":"waitForTransactionStatus.d.ts","sourceRoot":"","sources":["../../core/waitForTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAK3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,QAAQ,EACd,QAAQ,SAAQ,GACf,OAAO,CAAC,cAAc,CAAC,CAsDzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpError.d.ts","sourceRoot":"","sources":["../../errors/httpError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAoCD,qBAAa,SAAU,SAAQ,SAAS;IAC/B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,WAAW,GAAG,GAAG,CAAA;IACtB,YAAY,EAAE,mBAAmB,CAAA;IACjC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,YAAY,CAAC,EAAE,uBAAuB,CAAA;gBAG3C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,WAAW,GAAG,GAAG,EACtB,OAAO,EAAE,mBAAmB;IAoBxB,sBAAsB;CAiB7B"}
1
+ {"version":3,"file":"httpError.d.ts","sourceRoot":"","sources":["../../errors/httpError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAgB,SAAS,EAAiB,MAAM,gBAAgB,CAAA;AAEvE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAoCD,qBAAa,SAAU,SAAQ,SAAS;IAC/B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,WAAW,GAAG,GAAG,CAAA;IACtB,YAAY,EAAE,mBAAmB,CAAA;IACjC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,YAAY,CAAC,EAAE,uBAAuB,CAAA;gBAG3C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,WAAW,GAAG,GAAG,EACtB,OAAO,EAAE,mBAAmB;IAoBxB,sBAAsB;CAiB7B"}
@@ -1,41 +1,41 @@
1
1
  export * from '@lifi/types';
2
2
  export { config } from './config.js';
3
+ export { checkPermitSupport } from './core/EVM/checkPermitSupport.js';
3
4
  export { EVM } from './core/EVM/EVM.js';
4
5
  export { getTokenAllowance, getTokenAllowanceMulticall, } from './core/EVM/getAllowance.js';
5
- export { revokeTokenApproval, setTokenAllowance, } from './core/EVM/setAllowance.js';
6
- export { isEVM } from './core/EVM/types.js';
7
6
  export { isBatchingSupported } from './core/EVM/isBatchingSupported.js';
8
- export { isExtendedChain, convertExtendedChain } from './core/EVM/utils.js';
9
- export { isRelayerStep, isGaslessStep } from './core/EVM/typeguards.js';
10
- export { checkPermitSupport } from './core/EVM/checkPermitSupport.js';
11
7
  export { getNativePermit } from './core/EVM/permits/getNativePermit.js';
8
+ export { revokeTokenApproval, setTokenAllowance, } from './core/EVM/setAllowance.js';
9
+ export { isGaslessStep, isRelayerStep, } from './core/EVM/typeguards.js';
12
10
  export type { EVMProvider, EVMProviderOptions } from './core/EVM/types.js';
13
- export { StatusManager } from './core/StatusManager.js';
11
+ export { isEVM } from './core/EVM/types.js';
12
+ export { convertExtendedChain, isExtendedChain, } from './core/EVM/utils.js';
14
13
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
15
- export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, SwitchChainHook, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './core/types.js';
16
14
  export { isSVMAddress } from './core/Solana/isSVMAddress.js';
17
15
  export { KeypairWalletAdapter, KeypairWalletName, } from './core/Solana/KeypairWalletAdapter.js';
18
16
  export { Solana } from './core/Solana/Solana.js';
19
- export { isSolana } from './core/Solana/types.js';
20
17
  export type { SolanaProvider, SolanaProviderOptions, } from './core/Solana/types.js';
21
- export { UTXO } from './core/UTXO/UTXO.js';
22
- export { isUTXO } from './core/UTXO/types.js';
18
+ export { isSolana } from './core/Solana/types.js';
19
+ export { StatusManager } from './core/StatusManager.js';
20
+ export { Sui } from './core/Sui/Sui.js';
21
+ export type { SuiProvider, SuiProviderOptions } from './core/Sui/types.js';
22
+ export { isSui } from './core/Sui/types.js';
23
+ export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, SwitchChainHook, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './core/types.js';
23
24
  export type { UTXOProvider, UTXOProviderOptions } from './core/UTXO/types.js';
25
+ export { isUTXO } from './core/UTXO/types.js';
26
+ export { UTXO } from './core/UTXO/UTXO.js';
24
27
  export { createConfig } from './createConfig.js';
25
- export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
26
- export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
27
- export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
28
- export { getChains, getConnections, getContractCallsQuote, getGasRecommendation, getQuote, getRelayerQuote, getRoutes, getStatus, getStepTransaction, getToken, getTokens, getTools, getTransactionHistory, } from './services/api.js';
29
- export { getTokenBalance, getTokenBalances, getTokenBalancesByChain, } from './services/balance.js';
30
- export { getNameServiceAddress } from './services/getNameServiceAddress.js';
31
- export type { RPCUrls, SDKBaseConfig, SDKConfig } from './types/internal.js';
32
28
  export { BaseError } from './errors/baseError.js';
33
- export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
34
29
  export type { ErrorCode } from './errors/constants.js';
30
+ export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
35
31
  export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
36
32
  export { HTTPError } from './errors/httpError.js';
37
33
  export { SDKError } from './errors/SDKError.js';
38
- export { Sui } from './core/Sui/Sui.js';
39
- export { isSui } from './core/Sui/types.js';
40
- export type { SuiProvider, SuiProviderOptions } from './core/Sui/types.js';
34
+ export { getChains, getConnections, getContractCallsQuote, getGasRecommendation, getQuote, getRelayerQuote, getRoutes, getStatus, getStepTransaction, getToken, getTokens, getTools, getTransactionHistory, } from './services/api.js';
35
+ export { getTokenBalance, getTokenBalances, getTokenBalancesByChain, } from './services/balance.js';
36
+ export { getNameServiceAddress } from './services/getNameServiceAddress.js';
37
+ export type { RPCUrls, SDKBaseConfig, SDKConfig } from './types/internal.js';
38
+ export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
39
+ export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
40
+ export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
41
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export declare const isZeroAddress: (address: string) => boolean;
2
- export declare const isNativeTokenAddress: (address: string) => boolean;
3
2
  //# sourceMappingURL=isZeroAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isZeroAddress.d.ts","sourceRoot":"","sources":["../../utils/isZeroAddress.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,OAK/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,OAUtD,CAAA"}
1
+ {"version":3,"file":"isZeroAddress.d.ts","sourceRoot":"","sources":["../../utils/isZeroAddress.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,OAK/C,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "3.8.0-alpha.1";
2
+ export declare const version = "3.8.0-beta.1";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,iBAAiB,CAAA"}
@@ -24,6 +24,7 @@ import {
24
24
  getStepTransaction,
25
25
  relayTransaction,
26
26
  } from '../../services/api.js'
27
+ import { isZeroAddress } from '../../utils/isZeroAddress.js'
27
28
  import { BaseStepExecutor } from '../BaseStepExecutor.js'
28
29
  import { checkBalance } from '../checkBalance.js'
29
30
  import { stepComparison } from '../stepComparison.js'
@@ -202,6 +203,7 @@ export class EVMStepExecutor extends BaseStepExecutor {
202
203
  step: LiFiStepExtended,
203
204
  signedNativePermitTypedData?: SignedTypedData
204
205
  ): Promise<LiFiStep> => {
206
+ // biome-ignore lint/correctness/noUnusedVariables: destructuring
205
207
  const { execution, ...stepBase } = step
206
208
  if (isRelayerStep(step) && isGaslessStep(step)) {
207
209
  const updatedRelayedStep = await getRelayerQuote({
@@ -278,7 +280,8 @@ export class EVMStepExecutor extends BaseStepExecutor {
278
280
  )
279
281
 
280
282
  const isFromNativeToken =
281
- fromChain.nativeToken.address === step.action.fromToken.address
283
+ fromChain.nativeToken.address === step.action.fromToken.address &&
284
+ isZeroAddress(step.action.fromToken.address)
282
285
 
283
286
  // Check if step requires permit signature and will be used with relayer service
284
287
  const isRelayerTransaction = isRelayerStep(step)
@@ -547,6 +550,7 @@ export class EVMStepExecutor extends BaseStepExecutor {
547
550
  if (signedNativePermitTypedData) {
548
551
  signedTypedData.unshift(signedNativePermitTypedData)
549
552
  }
553
+ // biome-ignore lint/correctness/noUnusedVariables: destructuring
550
554
  const { execution, ...stepBase } = step
551
555
  const relayedTransaction = await relayTransaction({
552
556
  ...stepBase,
@@ -1,7 +1,7 @@
1
1
  import type { BaseToken, ChainId } from '@lifi/types'
2
2
  import type { Address, Client } from 'viem'
3
3
  import { multicall, readContract } from 'viem/actions'
4
- import { isNativeTokenAddress } from '../../utils/isZeroAddress.js'
4
+ import { isZeroAddress } from '../../utils/isZeroAddress.js'
5
5
  import { allowanceAbi } from './abi.js'
6
6
  import { getActionWithFallback } from './getActionWithFallback.js'
7
7
  import { getPublicClient } from './publicClient.js'
@@ -88,7 +88,7 @@ export const getTokenAllowance = async (
88
88
  spenderAddress: Address
89
89
  ): Promise<bigint | undefined> => {
90
90
  // native token don't need approval
91
- if (isNativeTokenAddress(token.address)) {
91
+ if (isZeroAddress(token.address)) {
92
92
  return
93
93
  }
94
94
 
@@ -115,7 +115,7 @@ export const getTokenAllowanceMulticall = async (
115
115
  ): Promise<TokenAllowance[]> => {
116
116
  // filter out native tokens
117
117
  const filteredTokens = tokens.filter(
118
- ({ token }) => !isNativeTokenAddress(token.address)
118
+ ({ token }) => !isZeroAddress(token.address)
119
119
  )
120
120
 
121
121
  // group by chain
@@ -1,9 +1,9 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
2
  import { AtomicReadyWalletRejectedUpgradeError } from 'viem'
3
- import { SDKError } from '../../errors/SDKError.js'
4
3
  import { BaseError } from '../../errors/baseError.js'
5
4
  import { ErrorMessage, LiFiErrorCode } from '../../errors/constants.js'
6
5
  import { TransactionError, UnknownError } from '../../errors/errors.js'
6
+ import { SDKError } from '../../errors/SDKError.js'
7
7
  import { fetchTxErrorDetails } from '../../utils/fetchTxErrorDetails.js'
8
8
  import type { Process } from '../types.js'
9
9
 
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  type Address,
3
+ hashTypedData,
3
4
  type TypedData,
4
5
  type TypedDataDomain,
5
- hashTypedData,
6
6
  } from 'viem'
7
7
  import { MaxUint48, MaxUint160 } from '../../../constants.js'
8
8
  import { invariant } from '../../../utils/invariant.js'
@@ -1,5 +1,5 @@
1
1
  import type { Address, Hex } from 'viem'
2
- import { type Hash, encodeFunctionData } from 'viem'
2
+ import { encodeFunctionData, type Hash } from 'viem'
3
3
  import { permit2ProxyAbi } from '../abi.js'
4
4
 
5
5
  export const encodePermit2Data = (
@@ -1,3 +1,4 @@
1
+ import type { Address, Client, Hex, TypedDataDomain } from 'viem'
1
2
  import {
2
3
  encodeAbiParameters,
3
4
  keccak256,
@@ -6,8 +7,6 @@ import {
6
7
  toBytes,
7
8
  toHex,
8
9
  } from 'viem'
9
- import type { Address, Client, Hex } from 'viem'
10
- import type { TypedDataDomain } from 'viem'
11
10
  import { multicall, readContract } from 'viem/actions'
12
11
  import { eip2612Abi } from '../abi.js'
13
12
  import { getActionWithFallback } from '../getActionWithFallback.js'
@@ -1,5 +1,5 @@
1
- import { hashTypedData } from 'viem'
2
1
  import type { Address, TypedData, TypedDataDomain } from 'viem'
2
+ import { hashTypedData } from 'viem'
3
3
  import { invariant } from '../../../utils/invariant.js'
4
4
  import {
5
5
  MaxSigDeadline,
@@ -1,6 +1,6 @@
1
1
  import { ChainId, ChainType } from '@lifi/types'
2
2
  import type { Client } from 'viem'
3
- import { http, createClient, fallback, webSocket } from 'viem'
3
+ import { createClient, fallback, http, webSocket } from 'viem'
4
4
  import { type Chain, mainnet } from 'viem/chains'
5
5
  import { config } from '../../config.js'
6
6
  import { getRpcUrls } from '../rpc.js'
@@ -2,7 +2,7 @@ import type { Address, Client, Hash, SendTransactionParameters } from 'viem'
2
2
  import { encodeFunctionData } from 'viem'
3
3
  import { sendTransaction } from 'viem/actions'
4
4
  import { getAction } from 'viem/utils'
5
- import { isNativeTokenAddress } from '../../utils/isZeroAddress.js'
5
+ import { isZeroAddress } from '../../utils/isZeroAddress.js'
6
6
  import type { ExecutionOptions, TransactionParameters } from '../types.js'
7
7
  import { approveAbi } from './abi.js'
8
8
  import { getAllowance } from './getAllowance.js'
@@ -80,7 +80,7 @@ export const setTokenAllowance = async ({
80
80
  amount,
81
81
  }: ApproveTokenRequest): Promise<Hash | void> => {
82
82
  // native token don't need approval
83
- if (isNativeTokenAddress(token.address)) {
83
+ if (isZeroAddress(token.address)) {
84
84
  return
85
85
  }
86
86
  const approvedAmount = await getAllowance(
@@ -116,7 +116,7 @@ export const revokeTokenApproval = async ({
116
116
  spenderAddress,
117
117
  }: RevokeApprovalRequest): Promise<Hash | void> => {
118
118
  // native token don't need approval
119
- if (isNativeTokenAddress(token.address)) {
119
+ if (isZeroAddress(token.address)) {
120
120
  return
121
121
  }
122
122
  const approvedAmount = await getAllowance(
@@ -1,7 +1,6 @@
1
1
  import { type BaseToken, ChainType } from '@lifi/types'
2
2
  import type { Address, Client, FallbackTransportConfig, Hex } from 'viem'
3
- import type { SwitchChainHook } from '../types.js'
4
- import type { SDKProvider } from '../types.js'
3
+ import type { SDKProvider, SwitchChainHook } from '../types.js'
5
4
 
6
5
  export interface EVMProviderOptions {
7
6
  getWalletClient?: () => Promise<Client>
@@ -1,7 +1,7 @@
1
1
  import type {
2
+ WalletCallReceipt as _WalletCallReceipt,
2
3
  Client,
3
4
  Hash,
4
- WalletCallReceipt as _WalletCallReceipt,
5
5
  } from 'viem'
6
6
  import { waitForCallsStatus } from 'viem/actions'
7
7
  import { getAction } from 'viem/utils'
@@ -1,5 +1,5 @@
1
1
  import type { ExtendedTransactionInfo, LiFiStep } from '@lifi/types'
2
- import type { Hash, WalletCallReceipt as _WalletCallReceipt } from 'viem'
2
+ import type { WalletCallReceipt as _WalletCallReceipt, Hash } from 'viem'
3
3
  import { LiFiErrorCode } from '../../errors/constants.js'
4
4
  import { TransactionError } from '../../errors/errors.js'
5
5
  import { getRelayedTransactionStatus } from '../../services/api.js'
@@ -5,10 +5,10 @@ import type {
5
5
  } from '@solana/wallet-adapter-base'
6
6
  import {
7
7
  BaseSignerWalletAdapter,
8
+ isVersionedTransaction,
8
9
  WalletConfigError,
9
10
  WalletNotConnectedError,
10
11
  WalletReadyState,
11
- isVersionedTransaction,
12
12
  } from '@solana/wallet-adapter-base'
13
13
  import type {
14
14
  Transaction,
@@ -1,9 +1,9 @@
1
1
  import { ChainType } from '@lifi/types'
2
2
  import type { StepExecutorOptions } from '../types.js'
3
- import { SolanaStepExecutor } from './SolanaStepExecutor.js'
4
3
  import { getSNSAddress } from './getSNSAddress.js'
5
4
  import { getSolanaBalance } from './getSolanaBalance.js'
6
5
  import { isSVMAddress } from './isSVMAddress.js'
6
+ import { SolanaStepExecutor } from './SolanaStepExecutor.js'
7
7
  import type { SolanaProvider, SolanaProviderOptions } from './types.js'
8
8
 
9
9
  export function Solana(options?: SolanaProviderOptions): SolanaProvider {
@@ -62,6 +62,7 @@ export class SolanaStepExecutor extends BaseStepExecutor {
62
62
 
63
63
  // Create new transaction
64
64
  if (!step.transactionRequest) {
65
+ // biome-ignore lint/correctness/noUnusedVariables: destructuring
65
66
  const { execution, ...stepBase } = step
66
67
  const updatedStep = await getStepTransaction(stepBase)
67
68
  const comparedStep = await stepComparison(
@@ -1,8 +1,8 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
- import { SDKError } from '../../errors/SDKError.js'
3
2
  import { BaseError } from '../../errors/baseError.js'
4
3
  import { ErrorMessage, LiFiErrorCode } from '../../errors/constants.js'
5
4
  import { TransactionError, UnknownError } from '../../errors/errors.js'
5
+ import { SDKError } from '../../errors/SDKError.js'
6
6
  import type { Process } from '../types.js'
7
7
 
8
8
  export const parseSolanaErrors = async (
@@ -41,61 +41,82 @@ export async function sendAndConfirmTransaction(
41
41
  preflightCommitment: 'confirmed',
42
42
  }
43
43
 
44
- for (const connection of connections) {
45
- connection
46
- .sendRawTransaction(signedTxSerialized, rawTransactionOptions)
47
- .catch()
48
- }
49
-
50
- const abortControllers: AbortController[] = []
44
+ const abortController = new AbortController()
51
45
 
52
46
  const confirmPromises = connections.map(async (connection) => {
53
- const abortController = new AbortController()
54
- abortControllers.push(abortController)
55
47
  try {
56
- const blockhashResult = await connection.getLatestBlockhash('confirmed')
57
-
58
- const confirmTransactionPromise = connection
59
- .confirmTransaction(
60
- {
61
- signature: txSignature,
62
- blockhash: blockhashResult.blockhash,
63
- lastValidBlockHeight: blockhashResult.lastValidBlockHeight,
64
- abortSignal: abortController.signal,
65
- },
66
- 'confirmed'
67
- )
68
- .then((result) => result.value)
69
-
70
- let signatureResult: SignatureResult | null = null
71
- let blockHeight = await connection.getBlockHeight('confirmed')
72
-
73
- while (
74
- !signatureResult &&
75
- blockHeight < blockhashResult.lastValidBlockHeight
76
- ) {
48
+ // Send initial transaction for this connection
49
+ try {
77
50
  await connection.sendRawTransaction(
78
51
  signedTxSerialized,
79
52
  rawTransactionOptions
80
53
  )
81
- signatureResult = await Promise.race([
82
- confirmTransactionPromise,
83
- sleep(1000),
84
- ])
85
-
86
- if (signatureResult || abortController.signal.aborted) {
87
- break
88
- }
89
-
90
- blockHeight = await connection.getBlockHeight('confirmed')
54
+ } catch (_) {
55
+ // Continue with confirmation even if initial send fails
91
56
  }
92
57
 
93
- abortController.abort()
58
+ const [blockhashResult, initialBlockHeight] = await Promise.all([
59
+ connection.getLatestBlockhash('confirmed'),
60
+ connection.getBlockHeight('confirmed'),
61
+ ])
62
+ let currentBlockHeight = initialBlockHeight
63
+ let signatureResult: SignatureResult | null = null
64
+
65
+ const pollingPromise = (async () => {
66
+ while (
67
+ currentBlockHeight < blockhashResult.lastValidBlockHeight &&
68
+ !abortController.signal.aborted
69
+ ) {
70
+ const statusResponse = await connection.getSignatureStatuses([
71
+ txSignature,
72
+ ])
73
+
74
+ const status = statusResponse.value[0]
75
+ if (
76
+ status &&
77
+ (status.confirmationStatus === 'confirmed' ||
78
+ status.confirmationStatus === 'finalized')
79
+ ) {
80
+ signatureResult = status
81
+ // Immediately abort all other connections when we find a result
82
+ abortController.abort()
83
+ return status
84
+ }
85
+
86
+ await sleep(400)
87
+ }
88
+ return null
89
+ })()
90
+
91
+ const sendingPromise = (async (): Promise<SignatureResult | null> => {
92
+ while (
93
+ currentBlockHeight < blockhashResult.lastValidBlockHeight &&
94
+ !abortController.signal.aborted &&
95
+ !signatureResult
96
+ ) {
97
+ try {
98
+ await connection.sendRawTransaction(
99
+ signedTxSerialized,
100
+ rawTransactionOptions
101
+ )
102
+ } catch (_) {
103
+ // Continue trying even if individual sends fail
104
+ }
105
+
106
+ await sleep(1000)
107
+ if (!abortController.signal.aborted) {
108
+ currentBlockHeight = await connection.getBlockHeight('confirmed')
109
+ }
110
+ }
111
+ return null
112
+ })()
94
113
 
95
- return signatureResult
114
+ // Wait for polling to find the result
115
+ const result = await Promise.race([pollingPromise, sendingPromise])
116
+ return result
96
117
  } catch (error) {
97
118
  if (abortController.signal.aborted) {
98
- return Promise.reject(new Error('Confirmation aborted.'))
119
+ return null // Don't treat abortion as an error
99
120
  }
100
121
  throw error
101
122
  }
@@ -103,7 +124,7 @@ export async function sendAndConfirmTransaction(
103
124
 
104
125
  const signatureResult = await Promise.any(confirmPromises).catch(() => null)
105
126
 
106
- for (const abortController of abortControllers) {
127
+ if (!abortController.signal.aborted) {
107
128
  abortController.abort()
108
129
  }
109
130