@lifi/sdk-provider-solana 4.0.0-beta.1 → 4.0.0-beta.10

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 (279) hide show
  1. package/dist/cjs/SolanaProvider.d.ts +7 -2
  2. package/dist/cjs/SolanaProvider.js +31 -35
  3. package/dist/cjs/SolanaProvider.js.map +1 -1
  4. package/dist/cjs/actions/getSNSAddress.d.ts +5 -1
  5. package/dist/cjs/actions/getSNSAddress.js +16 -22
  6. package/dist/cjs/actions/getSNSAddress.js.map +1 -1
  7. package/dist/cjs/actions/getSolanaBalance.d.ts +7 -3
  8. package/dist/cjs/actions/getSolanaBalance.js +70 -79
  9. package/dist/cjs/actions/getSolanaBalance.js.map +1 -1
  10. package/dist/cjs/actions/resolveSolanaAddress.d.ts +5 -1
  11. package/dist/cjs/actions/resolveSolanaAddress.js +7 -5
  12. package/dist/cjs/actions/resolveSolanaAddress.js.map +1 -1
  13. package/dist/cjs/actions/sendAndConfirmBundle.d.ts +29 -17
  14. package/dist/cjs/actions/sendAndConfirmBundle.js +59 -84
  15. package/dist/cjs/actions/sendAndConfirmBundle.js.map +1 -1
  16. package/dist/cjs/actions/sendAndConfirmTransaction.d.ts +26 -15
  17. package/dist/cjs/actions/sendAndConfirmTransaction.js +68 -97
  18. package/dist/cjs/actions/sendAndConfirmTransaction.js.map +1 -1
  19. package/dist/cjs/core/SolanaStepExecutor.d.ts +16 -10
  20. package/dist/cjs/core/SolanaStepExecutor.js +47 -51
  21. package/dist/cjs/core/SolanaStepExecutor.js.map +1 -1
  22. package/dist/cjs/core/tasks/SolanaJitoWaitForTransactionTask.d.ts +9 -4
  23. package/dist/cjs/core/tasks/SolanaJitoWaitForTransactionTask.js +31 -39
  24. package/dist/cjs/core/tasks/SolanaJitoWaitForTransactionTask.js.map +1 -1
  25. package/dist/cjs/core/tasks/SolanaSignAndExecuteTask.d.ts +9 -4
  26. package/dist/cjs/core/tasks/SolanaSignAndExecuteTask.js +35 -45
  27. package/dist/cjs/core/tasks/SolanaSignAndExecuteTask.js.map +1 -1
  28. package/dist/cjs/core/tasks/SolanaStandardWaitForTransactionTask.d.ts +9 -4
  29. package/dist/cjs/core/tasks/SolanaStandardWaitForTransactionTask.js +43 -58
  30. package/dist/cjs/core/tasks/SolanaStandardWaitForTransactionTask.js.map +1 -1
  31. package/dist/cjs/core/tasks/SolanaWaitForTransactionTask.d.ts +9 -4
  32. package/dist/cjs/core/tasks/SolanaWaitForTransactionTask.js +16 -18
  33. package/dist/cjs/core/tasks/SolanaWaitForTransactionTask.js.map +1 -1
  34. package/dist/cjs/errors/parseSolanaErrors.d.ts +7 -2
  35. package/dist/cjs/errors/parseSolanaErrors.js +18 -28
  36. package/dist/cjs/errors/parseSolanaErrors.js.map +1 -1
  37. package/dist/cjs/index.d.ts +5 -5
  38. package/dist/cjs/index.js +14 -12
  39. package/dist/cjs/rpc/jito/api/getBundleStatuses.d.ts +22 -14
  40. package/dist/cjs/rpc/jito/api/getBundleStatuses.js +0 -3
  41. package/dist/cjs/rpc/jito/api/getTipAccounts.d.ts +14 -4
  42. package/dist/cjs/rpc/jito/api/getTipAccounts.js +0 -3
  43. package/dist/cjs/rpc/jito/api/sendBundle.d.ts +21 -5
  44. package/dist/cjs/rpc/jito/api/sendBundle.js +0 -3
  45. package/dist/cjs/rpc/jito/api/simulateBundle.d.ts +49 -41
  46. package/dist/cjs/rpc/jito/api/simulateBundle.js +0 -3
  47. package/dist/cjs/rpc/jito/createJitoRpc.d.ts +14 -10
  48. package/dist/cjs/rpc/jito/createJitoRpc.js +16 -11
  49. package/dist/cjs/rpc/jito/createJitoRpc.js.map +1 -1
  50. package/dist/cjs/rpc/jito/types.d.ts +8 -1
  51. package/dist/cjs/rpc/jito/types.js +0 -3
  52. package/dist/cjs/rpc/registry.d.ts +21 -5
  53. package/dist/cjs/rpc/registry.js +44 -34
  54. package/dist/cjs/rpc/registry.js.map +1 -1
  55. package/dist/cjs/rpc/types.d.ts +9 -4
  56. package/dist/cjs/rpc/types.js +0 -3
  57. package/dist/cjs/rpc/utils.d.ts +67 -4
  58. package/dist/cjs/rpc/utils.js +79 -22
  59. package/dist/cjs/rpc/utils.js.map +1 -1
  60. package/dist/cjs/types.d.ts +23 -18
  61. package/dist/cjs/types.js +7 -5
  62. package/dist/cjs/types.js.map +1 -1
  63. package/dist/cjs/utils/KeypairWallet.unit.helpers.d.ts +7 -3
  64. package/dist/cjs/utils/KeypairWallet.unit.helpers.js +15 -17
  65. package/dist/cjs/utils/KeypairWallet.unit.helpers.js.map +1 -1
  66. package/dist/cjs/utils/KeypairWalletAdapter.d.ts +29 -16
  67. package/dist/cjs/utils/KeypairWalletAdapter.js +80 -83
  68. package/dist/cjs/utils/KeypairWalletAdapter.js.map +1 -1
  69. package/dist/cjs/utils/base64ToUint8Array.d.ts +5 -1
  70. package/dist/cjs/utils/base64ToUint8Array.js +10 -10
  71. package/dist/cjs/utils/base64ToUint8Array.js.map +1 -1
  72. package/dist/cjs/utils/getWalletFeature.d.ts +28 -8
  73. package/dist/cjs/utils/getWalletFeature.js +23 -8
  74. package/dist/cjs/utils/getWalletFeature.js.map +1 -1
  75. package/dist/cjs/utils/shouldUseJitoBundle.d.ts +8 -3
  76. package/dist/cjs/utils/shouldUseJitoBundle.js +8 -9
  77. package/dist/cjs/utils/shouldUseJitoBundle.js.map +1 -1
  78. package/dist/cjs/version.d.ts +6 -2
  79. package/dist/cjs/version.js +8 -5
  80. package/dist/cjs/version.js.map +1 -1
  81. package/dist/esm/SolanaProvider.d.ts +7 -2
  82. package/dist/esm/SolanaProvider.d.ts.map +1 -0
  83. package/dist/esm/SolanaProvider.js +31 -33
  84. package/dist/esm/SolanaProvider.js.map +1 -1
  85. package/dist/esm/actions/getSNSAddress.d.ts +5 -1
  86. package/dist/esm/actions/getSNSAddress.d.ts.map +1 -0
  87. package/dist/esm/actions/getSNSAddress.js +17 -23
  88. package/dist/esm/actions/getSNSAddress.js.map +1 -1
  89. package/dist/esm/actions/getSolanaBalance.d.ts +7 -3
  90. package/dist/esm/actions/getSolanaBalance.d.ts.map +1 -0
  91. package/dist/esm/actions/getSolanaBalance.js +70 -78
  92. package/dist/esm/actions/getSolanaBalance.js.map +1 -1
  93. package/dist/esm/actions/resolveSolanaAddress.d.ts +5 -1
  94. package/dist/esm/actions/resolveSolanaAddress.d.ts.map +1 -0
  95. package/dist/esm/actions/resolveSolanaAddress.js +7 -3
  96. package/dist/esm/actions/resolveSolanaAddress.js.map +1 -1
  97. package/dist/esm/actions/sendAndConfirmBundle.d.ts +28 -24
  98. package/dist/esm/actions/sendAndConfirmBundle.d.ts.map +1 -0
  99. package/dist/esm/actions/sendAndConfirmBundle.js +58 -97
  100. package/dist/esm/actions/sendAndConfirmBundle.js.map +1 -1
  101. package/dist/esm/actions/sendAndConfirmTransaction.d.ts +25 -21
  102. package/dist/esm/actions/sendAndConfirmTransaction.d.ts.map +1 -0
  103. package/dist/esm/actions/sendAndConfirmTransaction.js +67 -111
  104. package/dist/esm/actions/sendAndConfirmTransaction.js.map +1 -1
  105. package/dist/esm/core/SolanaStepExecutor.d.ts +16 -10
  106. package/dist/esm/core/SolanaStepExecutor.d.ts.map +1 -0
  107. package/dist/esm/core/SolanaStepExecutor.js +47 -48
  108. package/dist/esm/core/SolanaStepExecutor.js.map +1 -1
  109. package/dist/esm/core/tasks/SolanaJitoWaitForTransactionTask.d.ts +9 -4
  110. package/dist/esm/core/tasks/SolanaJitoWaitForTransactionTask.d.ts.map +1 -0
  111. package/dist/esm/core/tasks/SolanaJitoWaitForTransactionTask.js +31 -39
  112. package/dist/esm/core/tasks/SolanaJitoWaitForTransactionTask.js.map +1 -1
  113. package/dist/esm/core/tasks/SolanaSignAndExecuteTask.d.ts +9 -4
  114. package/dist/esm/core/tasks/SolanaSignAndExecuteTask.d.ts.map +1 -0
  115. package/dist/esm/core/tasks/SolanaSignAndExecuteTask.js +35 -47
  116. package/dist/esm/core/tasks/SolanaSignAndExecuteTask.js.map +1 -1
  117. package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.d.ts +9 -4
  118. package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.d.ts.map +1 -0
  119. package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.js +43 -57
  120. package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.js.map +1 -1
  121. package/dist/esm/core/tasks/SolanaWaitForTransactionTask.d.ts +9 -4
  122. package/dist/esm/core/tasks/SolanaWaitForTransactionTask.d.ts.map +1 -0
  123. package/dist/esm/core/tasks/SolanaWaitForTransactionTask.js +16 -15
  124. package/dist/esm/core/tasks/SolanaWaitForTransactionTask.js.map +1 -1
  125. package/dist/esm/errors/parseSolanaErrors.d.ts +7 -2
  126. package/dist/esm/errors/parseSolanaErrors.d.ts.map +1 -0
  127. package/dist/esm/errors/parseSolanaErrors.js +18 -25
  128. package/dist/esm/errors/parseSolanaErrors.js.map +1 -1
  129. package/dist/esm/index.d.ts +5 -5
  130. package/dist/esm/index.js +5 -6
  131. package/dist/esm/package.json +1 -1
  132. package/dist/esm/rpc/jito/api/getBundleStatuses.d.ts +22 -22
  133. package/dist/esm/rpc/jito/api/getBundleStatuses.d.ts.map +1 -0
  134. package/dist/esm/rpc/jito/api/getBundleStatuses.js +0 -1
  135. package/dist/esm/rpc/jito/api/getTipAccounts.d.ts +13 -11
  136. package/dist/esm/rpc/jito/api/getTipAccounts.d.ts.map +1 -0
  137. package/dist/esm/rpc/jito/api/getTipAccounts.js +0 -1
  138. package/dist/esm/rpc/jito/api/sendBundle.d.ts +20 -20
  139. package/dist/esm/rpc/jito/api/sendBundle.d.ts.map +1 -0
  140. package/dist/esm/rpc/jito/api/sendBundle.js +0 -1
  141. package/dist/esm/rpc/jito/api/simulateBundle.d.ts +49 -50
  142. package/dist/esm/rpc/jito/api/simulateBundle.d.ts.map +1 -0
  143. package/dist/esm/rpc/jito/api/simulateBundle.js +0 -1
  144. package/dist/esm/rpc/jito/createJitoRpc.d.ts +14 -10
  145. package/dist/esm/rpc/jito/createJitoRpc.d.ts.map +1 -0
  146. package/dist/esm/rpc/jito/createJitoRpc.js +16 -12
  147. package/dist/esm/rpc/jito/createJitoRpc.js.map +1 -1
  148. package/dist/esm/rpc/jito/types.d.ts +7 -3
  149. package/dist/esm/rpc/jito/types.d.ts.map +1 -0
  150. package/dist/esm/rpc/jito/types.js +0 -1
  151. package/dist/esm/rpc/registry.d.ts +18 -13
  152. package/dist/esm/rpc/registry.d.ts.map +1 -0
  153. package/dist/esm/rpc/registry.js +38 -44
  154. package/dist/esm/rpc/registry.js.map +1 -1
  155. package/dist/esm/rpc/types.d.ts +9 -4
  156. package/dist/esm/rpc/types.d.ts.map +1 -0
  157. package/dist/esm/rpc/types.js +0 -1
  158. package/dist/esm/rpc/utils.d.ts +64 -57
  159. package/dist/esm/rpc/utils.d.ts.map +1 -0
  160. package/dist/esm/rpc/utils.js +73 -75
  161. package/dist/esm/rpc/utils.js.map +1 -1
  162. package/dist/esm/types.d.ts +23 -18
  163. package/dist/esm/types.d.ts.map +1 -0
  164. package/dist/esm/types.js +7 -3
  165. package/dist/esm/types.js.map +1 -1
  166. package/dist/esm/utils/KeypairWallet.unit.helpers.d.ts +7 -3
  167. package/dist/esm/utils/KeypairWallet.unit.helpers.d.ts.map +1 -0
  168. package/dist/esm/utils/KeypairWallet.unit.helpers.js +16 -16
  169. package/dist/esm/utils/KeypairWallet.unit.helpers.js.map +1 -1
  170. package/dist/esm/utils/KeypairWalletAdapter.d.ts +28 -23
  171. package/dist/esm/utils/KeypairWalletAdapter.d.ts.map +1 -0
  172. package/dist/esm/utils/KeypairWalletAdapter.js +79 -89
  173. package/dist/esm/utils/KeypairWalletAdapter.js.map +1 -1
  174. package/dist/esm/utils/base64ToUint8Array.d.ts +5 -1
  175. package/dist/esm/utils/base64ToUint8Array.d.ts.map +1 -0
  176. package/dist/esm/utils/base64ToUint8Array.js +10 -8
  177. package/dist/esm/utils/base64ToUint8Array.js.map +1 -1
  178. package/dist/esm/utils/getWalletFeature.d.ts +27 -23
  179. package/dist/esm/utils/getWalletFeature.d.ts.map +1 -0
  180. package/dist/esm/utils/getWalletFeature.js +22 -23
  181. package/dist/esm/utils/getWalletFeature.js.map +1 -1
  182. package/dist/esm/utils/shouldUseJitoBundle.d.ts +8 -3
  183. package/dist/esm/utils/shouldUseJitoBundle.d.ts.map +1 -0
  184. package/dist/esm/utils/shouldUseJitoBundle.js +9 -7
  185. package/dist/esm/utils/shouldUseJitoBundle.js.map +1 -1
  186. package/dist/esm/version.d.ts +6 -2
  187. package/dist/esm/version.d.ts.map +1 -0
  188. package/dist/esm/version.js +6 -2
  189. package/dist/esm/version.js.map +1 -1
  190. package/package.json +6 -6
  191. package/src/actions/getSNSAddress.ts +3 -1
  192. package/src/actions/getSolanaBalance.ts +23 -17
  193. package/src/core/SolanaStepExecutor.ts +5 -3
  194. package/src/core/tasks/SolanaSignAndExecuteTask.ts +1 -1
  195. package/src/rpc/utils.ts +10 -2
  196. package/src/utils/KeypairWallet.unit.helpers.ts +4 -1
  197. package/src/utils/base64ToUint8Array.ts +1 -1
  198. package/src/version.ts +1 -1
  199. package/dist/cjs/index.js.map +0 -1
  200. package/dist/cjs/rpc/jito/api/getBundleStatuses.js.map +0 -1
  201. package/dist/cjs/rpc/jito/api/getTipAccounts.js.map +0 -1
  202. package/dist/cjs/rpc/jito/api/sendBundle.js.map +0 -1
  203. package/dist/cjs/rpc/jito/api/simulateBundle.js.map +0 -1
  204. package/dist/cjs/rpc/jito/types.js.map +0 -1
  205. package/dist/cjs/rpc/types.js.map +0 -1
  206. package/dist/cjs/utils/withTimeout.d.ts +0 -7
  207. package/dist/cjs/utils/withTimeout.js +0 -35
  208. package/dist/cjs/utils/withTimeout.js.map +0 -1
  209. package/dist/esm/index.js.map +0 -1
  210. package/dist/esm/rpc/jito/api/getBundleStatuses.js.map +0 -1
  211. package/dist/esm/rpc/jito/api/getTipAccounts.js.map +0 -1
  212. package/dist/esm/rpc/jito/api/sendBundle.js.map +0 -1
  213. package/dist/esm/rpc/jito/api/simulateBundle.js.map +0 -1
  214. package/dist/esm/rpc/jito/types.js.map +0 -1
  215. package/dist/esm/rpc/types.js.map +0 -1
  216. package/dist/esm/utils/withTimeout.d.ts +0 -16
  217. package/dist/esm/utils/withTimeout.js +0 -41
  218. package/dist/esm/utils/withTimeout.js.map +0 -1
  219. package/dist/types/SolanaProvider.d.ts +0 -3
  220. package/dist/types/SolanaProvider.d.ts.map +0 -1
  221. package/dist/types/actions/getSNSAddress.d.ts +0 -2
  222. package/dist/types/actions/getSNSAddress.d.ts.map +0 -1
  223. package/dist/types/actions/getSolanaBalance.d.ts +0 -4
  224. package/dist/types/actions/getSolanaBalance.d.ts.map +0 -1
  225. package/dist/types/actions/resolveSolanaAddress.d.ts +0 -2
  226. package/dist/types/actions/resolveSolanaAddress.d.ts.map +0 -1
  227. package/dist/types/actions/sendAndConfirmBundle.d.ts +0 -29
  228. package/dist/types/actions/sendAndConfirmBundle.d.ts.map +0 -1
  229. package/dist/types/actions/sendAndConfirmTransaction.d.ts +0 -27
  230. package/dist/types/actions/sendAndConfirmTransaction.d.ts.map +0 -1
  231. package/dist/types/core/SolanaStepExecutor.d.ts +0 -12
  232. package/dist/types/core/SolanaStepExecutor.d.ts.map +0 -1
  233. package/dist/types/core/tasks/SolanaJitoWaitForTransactionTask.d.ts +0 -6
  234. package/dist/types/core/tasks/SolanaJitoWaitForTransactionTask.d.ts.map +0 -1
  235. package/dist/types/core/tasks/SolanaSignAndExecuteTask.d.ts +0 -6
  236. package/dist/types/core/tasks/SolanaSignAndExecuteTask.d.ts.map +0 -1
  237. package/dist/types/core/tasks/SolanaStandardWaitForTransactionTask.d.ts +0 -6
  238. package/dist/types/core/tasks/SolanaStandardWaitForTransactionTask.d.ts.map +0 -1
  239. package/dist/types/core/tasks/SolanaWaitForTransactionTask.d.ts +0 -6
  240. package/dist/types/core/tasks/SolanaWaitForTransactionTask.d.ts.map +0 -1
  241. package/dist/types/errors/parseSolanaErrors.d.ts +0 -3
  242. package/dist/types/errors/parseSolanaErrors.d.ts.map +0 -1
  243. package/dist/types/index.d.ts +0 -6
  244. package/dist/types/index.d.ts.map +0 -1
  245. package/dist/types/rpc/jito/api/getBundleStatuses.d.ts +0 -28
  246. package/dist/types/rpc/jito/api/getBundleStatuses.d.ts.map +0 -1
  247. package/dist/types/rpc/jito/api/getTipAccounts.d.ts +0 -15
  248. package/dist/types/rpc/jito/api/getTipAccounts.d.ts.map +0 -1
  249. package/dist/types/rpc/jito/api/sendBundle.d.ts +0 -24
  250. package/dist/types/rpc/jito/api/sendBundle.d.ts.map +0 -1
  251. package/dist/types/rpc/jito/api/simulateBundle.d.ts +0 -59
  252. package/dist/types/rpc/jito/api/simulateBundle.d.ts.map +0 -1
  253. package/dist/types/rpc/jito/createJitoRpc.d.ts +0 -11
  254. package/dist/types/rpc/jito/createJitoRpc.d.ts.map +0 -1
  255. package/dist/types/rpc/jito/types.d.ts +0 -5
  256. package/dist/types/rpc/jito/types.d.ts.map +0 -1
  257. package/dist/types/rpc/registry.d.ts +0 -17
  258. package/dist/types/rpc/registry.d.ts.map +0 -1
  259. package/dist/types/rpc/types.d.ts +0 -5
  260. package/dist/types/rpc/types.d.ts.map +0 -1
  261. package/dist/types/rpc/utils.d.ts +0 -61
  262. package/dist/types/rpc/utils.d.ts.map +0 -1
  263. package/dist/types/types.d.ts +0 -24
  264. package/dist/types/types.d.ts.map +0 -1
  265. package/dist/types/utils/KeypairWallet.unit.helpers.d.ts +0 -5
  266. package/dist/types/utils/KeypairWallet.unit.helpers.d.ts.map +0 -1
  267. package/dist/types/utils/KeypairWalletAdapter.d.ts +0 -26
  268. package/dist/types/utils/KeypairWalletAdapter.d.ts.map +0 -1
  269. package/dist/types/utils/base64ToUint8Array.d.ts +0 -2
  270. package/dist/types/utils/base64ToUint8Array.d.ts.map +0 -1
  271. package/dist/types/utils/getWalletFeature.d.ts +0 -27
  272. package/dist/types/utils/getWalletFeature.d.ts.map +0 -1
  273. package/dist/types/utils/shouldUseJitoBundle.d.ts +0 -4
  274. package/dist/types/utils/shouldUseJitoBundle.d.ts.map +0 -1
  275. package/dist/types/utils/withTimeout.d.ts +0 -17
  276. package/dist/types/utils/withTimeout.d.ts.map +0 -1
  277. package/dist/types/version.d.ts +0 -3
  278. package/dist/types/version.d.ts.map +0 -1
  279. package/src/utils/withTimeout.ts +0 -50
@@ -1,2 +1,7 @@
1
- import type { SolanaProviderOptions, SolanaSDKProvider } from './types.js';
2
- export declare function SolanaProvider(options?: SolanaProviderOptions): SolanaSDKProvider;
1
+ import { SolanaProviderOptions, SolanaSDKProvider } from "./types.js";
2
+
3
+ //#region src/SolanaProvider.d.ts
4
+ declare function SolanaProvider(options?: SolanaProviderOptions): SolanaSDKProvider;
5
+ //#endregion
6
+ export { SolanaProvider };
7
+ //# sourceMappingURL=SolanaProvider.d.ts.map
@@ -1,38 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolanaProvider = SolanaProvider;
4
- const sdk_1 = require("@lifi/sdk");
5
- const kit_1 = require("@solana/kit");
6
- const getSolanaBalance_js_1 = require("./actions/getSolanaBalance.js");
7
- const resolveSolanaAddress_js_1 = require("./actions/resolveSolanaAddress.js");
8
- const SolanaStepExecutor_js_1 = require("./core/SolanaStepExecutor.js");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_actions_getSolanaBalance = require("./actions/getSolanaBalance.js");
3
+ const require_actions_resolveSolanaAddress = require("./actions/resolveSolanaAddress.js");
4
+ const require_core_SolanaStepExecutor = require("./core/SolanaStepExecutor.js");
5
+ let _lifi_sdk = require("@lifi/sdk");
6
+ let _solana_kit = require("@solana/kit");
7
+ //#region src/SolanaProvider.ts
9
8
  function SolanaProvider(options) {
10
- const _options = options ?? {};
11
- return {
12
- get type() {
13
- return sdk_1.ChainType.SVM;
14
- },
15
- isAddress: kit_1.isAddress,
16
- resolveAddress: resolveSolanaAddress_js_1.resolveSolanaAddress,
17
- getBalance: getSolanaBalance_js_1.getSolanaBalance,
18
- async getStepExecutor(options) {
19
- if (!_options.getWallet) {
20
- throw new sdk_1.ProviderError(sdk_1.LiFiErrorCode.ConfigError, 'SolanaProvider requires a getWallet function');
21
- }
22
- const wallet = await _options.getWallet();
23
- const executor = new SolanaStepExecutor_js_1.SolanaStepExecutor({
24
- wallet,
25
- routeId: options.routeId,
26
- skipSimulation: _options.skipSimulation,
27
- executionOptions: {
28
- ...options.executionOptions,
29
- },
30
- });
31
- return executor;
32
- },
33
- setOptions(options) {
34
- Object.assign(_options, options);
35
- },
36
- };
9
+ const _options = options ?? {};
10
+ return {
11
+ get type() {
12
+ return _lifi_sdk.ChainType.SVM;
13
+ },
14
+ isAddress: _solana_kit.isAddress,
15
+ resolveAddress: require_actions_resolveSolanaAddress.resolveSolanaAddress,
16
+ getBalance: require_actions_getSolanaBalance.getSolanaBalance,
17
+ async getStepExecutor(options) {
18
+ if (!_options.getWallet) throw new _lifi_sdk.ProviderError(_lifi_sdk.LiFiErrorCode.ConfigError, "SolanaProvider requires a getWallet function");
19
+ return new require_core_SolanaStepExecutor.SolanaStepExecutor({
20
+ wallet: await _options.getWallet(),
21
+ routeId: options.routeId,
22
+ skipSimulation: _options.skipSimulation,
23
+ executionOptions: { ...options.executionOptions }
24
+ });
25
+ },
26
+ setOptions(options) {
27
+ Object.assign(_options, options);
28
+ }
29
+ };
37
30
  }
31
+ //#endregion
32
+ exports.SolanaProvider = SolanaProvider;
33
+
38
34
  //# sourceMappingURL=SolanaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":";;AAYA,wCAsCC;AAlDD,mCAKkB;AAClB,qCAAuC;AACvC,uEAAgE;AAChE,+EAAwE;AACxE,wEAAiE;AAGjE,SAAgB,cAAc,CAC5B,OAA+B;IAE/B,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,eAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,EAAT,eAAS;QACT,cAAc,EAAE,8CAAoB;QACpC,UAAU,EAAE,sCAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAa,CACrB,mBAAa,CAAC,WAAW,EACzB,8CAA8C,CAC/C,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAEzC,MAAM,QAAQ,GAAG,IAAI,0CAAkB,CAAC;gBACtC,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"SolanaProvider.js","names":["ChainType","resolveSolanaAddress","getSolanaBalance","ProviderError","LiFiErrorCode","SolanaStepExecutor"],"sources":["../../src/SolanaProvider.ts"],"sourcesContent":["import {\n ChainType,\n LiFiErrorCode,\n ProviderError,\n type StepExecutorOptions,\n} from '@lifi/sdk'\nimport { isAddress } from '@solana/kit'\nimport { getSolanaBalance } from './actions/getSolanaBalance.js'\nimport { resolveSolanaAddress } from './actions/resolveSolanaAddress.js'\nimport { SolanaStepExecutor } from './core/SolanaStepExecutor.js'\nimport type { SolanaProviderOptions, SolanaSDKProvider } from './types.js'\n\nexport function SolanaProvider(\n options?: SolanaProviderOptions\n): SolanaSDKProvider {\n const _options: SolanaProviderOptions = options ?? {}\n return {\n get type() {\n return ChainType.SVM\n },\n isAddress,\n resolveAddress: resolveSolanaAddress,\n getBalance: getSolanaBalance,\n async getStepExecutor(\n options: StepExecutorOptions\n ): Promise<SolanaStepExecutor> {\n if (!_options.getWallet) {\n throw new ProviderError(\n LiFiErrorCode.ConfigError,\n 'SolanaProvider requires a getWallet function'\n )\n }\n\n const wallet = await _options.getWallet()\n\n const executor = new SolanaStepExecutor({\n wallet,\n routeId: options.routeId,\n skipSimulation: _options.skipSimulation,\n executionOptions: {\n ...options.executionOptions,\n },\n })\n\n return executor\n },\n setOptions(options: SolanaProviderOptions) {\n Object.assign(_options, options)\n },\n }\n}\n"],"mappings":";;;;;;;AAYA,SAAgB,eACd,SACmB;CACnB,MAAM,WAAkC,WAAW,EAAE;CACrD,OAAO;EACL,IAAI,OAAO;GACT,OAAOA,UAAAA,UAAU;;EAEnB,WAAA,YAAA;EACA,gBAAgBC,qCAAAA;EAChB,YAAYC,iCAAAA;EACZ,MAAM,gBACJ,SAC6B;GAC7B,IAAI,CAAC,SAAS,WACZ,MAAM,IAAIC,UAAAA,cACRC,UAAAA,cAAc,aACd,+CACD;GAcH,OAAO,IATcC,gCAAAA,mBAAmB;IACtC,QAAA,MAHmB,SAAS,WAAW;IAIvC,SAAS,QAAQ;IACjB,gBAAgB,SAAS;IACzB,kBAAkB,EAChB,GAAG,QAAQ,kBACZ;IACF,CAEc;;EAEjB,WAAW,SAAgC;GACzC,OAAO,OAAO,UAAU,QAAQ;;EAEnC"}
@@ -1 +1,5 @@
1
- export declare const getSNSAddress: (name: string) => Promise<import("@solana/kit").Address<string> | undefined>;
1
+ //#region src/actions/getSNSAddress.d.ts
2
+ declare const getSNSAddress: (name: string) => Promise<string | undefined>;
3
+ //#endregion
4
+ export { getSNSAddress };
5
+ //# sourceMappingURL=getSNSAddress.d.ts.map
@@ -1,26 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSNSAddress = void 0;
4
- const kit_1 = require("@solana/kit");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _solana_kit = require("@solana/kit");
3
+ //#region src/actions/getSNSAddress.ts
5
4
  const getSNSAddress = async (name) => {
6
- try {
7
- if (!name.endsWith('.sol')) {
8
- return;
9
- }
10
- const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`;
11
- const response = await fetch(snsWorkerUrl);
12
- if (!response.ok) {
13
- return;
14
- }
15
- const data = await response.json();
16
- if (!(0, kit_1.isAddress)(data.result)) {
17
- return;
18
- }
19
- return data.result;
20
- }
21
- catch (_) {
22
- return;
23
- }
5
+ try {
6
+ if (!name.endsWith(".sol")) return;
7
+ const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`;
8
+ const response = await fetch(snsWorkerUrl);
9
+ if (!response.ok) return;
10
+ const data = await response.json();
11
+ if (!(0, _solana_kit.isAddress)(data.result)) return;
12
+ return data.result;
13
+ } catch (_) {
14
+ return;
15
+ }
24
16
  };
17
+ //#endregion
25
18
  exports.getSNSAddress = getSNSAddress;
19
+
26
20
  //# sourceMappingURL=getSNSAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSNSAddress.js","sourceRoot":"","sources":["../../../src/actions/getSNSAddress.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAShC,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QACD,MAAM,YAAY,GAAG,qDAAqD,IAAI,EAAE,CAAA;QAChF,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAc,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE7C,IAAI,CAAC,IAAA,eAAS,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AAtBY,QAAA,aAAa,iBAsBzB"}
1
+ {"version":3,"file":"getSNSAddress.js","names":[],"sources":["../../../src/actions/getSNSAddress.ts"],"sourcesContent":["import { isAddress } from '@solana/kit'\n\ninterface SNSResult {\n s: 'ok' | 'error'\n result: string\n}\n\n// Subject to change\n// https://github.com/Bonfida/sns-sdk?tab=readme-ov-file#sdk-proxy\nexport const getSNSAddress = async (\n name: string\n): Promise<string | undefined> => {\n try {\n if (!name.endsWith('.sol')) {\n return\n }\n const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`\n const response: Response = await fetch(snsWorkerUrl)\n if (!response.ok) {\n return\n }\n\n const data: SNSResult = await response.json()\n\n if (!isAddress(data.result)) {\n return\n }\n\n return data.result\n } catch (_) {\n // ignore\n return\n }\n}\n"],"mappings":";;;AASA,MAAa,gBAAgB,OAC3B,SACgC;CAChC,IAAI;EACF,IAAI,CAAC,KAAK,SAAS,OAAO,EACxB;EAEF,MAAM,eAAe,qDAAqD;EAC1E,MAAM,WAAqB,MAAM,MAAM,aAAa;EACpD,IAAI,CAAC,SAAS,IACZ;EAGF,MAAM,OAAkB,MAAM,SAAS,MAAM;EAE7C,IAAI,EAAA,GAAA,YAAA,WAAW,KAAK,OAAO,EACzB;EAGF,OAAO,KAAK;UACL,GAAG;EAEV"}
@@ -1,3 +1,7 @@
1
- import type { SDKClient } from '@lifi/sdk';
2
- import { type Token, type TokenAmount } from '@lifi/sdk';
3
- export declare const getSolanaBalance: (client: SDKClient, walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
1
+ import { SDKClient, Token, TokenAmount } from "@lifi/sdk";
2
+
3
+ //#region src/actions/getSolanaBalance.d.ts
4
+ declare const getSolanaBalance: (client: SDKClient, walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
5
+ //#endregion
6
+ export { getSolanaBalance };
7
+ //# sourceMappingURL=getSolanaBalance.d.ts.map
@@ -1,84 +1,75 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSolanaBalance = void 0;
4
- const sdk_1 = require("@lifi/sdk");
5
- const kit_1 = require("@solana/kit");
6
- const utils_js_1 = require("../rpc/utils.js");
7
- const SolSystemProgram = '11111111111111111111111111111111';
8
- const TokenProgramId = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
9
- const Token2022ProgramId = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rpc_utils = require("../rpc/utils.js");
3
+ let _lifi_sdk = require("@lifi/sdk");
4
+ let _solana_kit = require("@solana/kit");
5
+ //#region src/actions/getSolanaBalance.ts
6
+ const SolSystemProgram = "11111111111111111111111111111111";
7
+ const TokenProgramId = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
8
+ const Token2022ProgramId = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
10
9
  const getSolanaBalance = async (client, walletAddress, tokens) => {
11
- if (tokens.length === 0) {
12
- return [];
13
- }
14
- const { chainId } = tokens[0];
15
- for (const token of tokens) {
16
- if (token.chainId !== chainId) {
17
- console.warn('Requested tokens have to be on the same chain.');
18
- }
19
- }
20
- return getSolanaBalanceDefault(client, chainId, tokens, walletAddress);
10
+ if (tokens.length === 0) return [];
11
+ const { chainId } = tokens[0];
12
+ for (const token of tokens) if (token.chainId !== chainId) console.warn("Requested tokens have to be on the same chain.");
13
+ return getSolanaBalanceDefault(client, chainId, tokens, walletAddress);
21
14
  };
22
- exports.getSolanaBalance = getSolanaBalance;
23
15
  const getSolanaBalanceDefault = async (client, _chainId, tokens, walletAddress) => {
24
- const accountAddress = (0, kit_1.address)(walletAddress);
25
- const tokenProgramAddress = (0, kit_1.address)(TokenProgramId);
26
- const token2022ProgramAddress = (0, kit_1.address)(Token2022ProgramId);
27
- const [slot, balance, tokenAccountsByOwner, token2022AccountsByOwner] = await Promise.allSettled([
28
- (0, sdk_1.withDedupe)(() => (0, utils_js_1.callSolanaRpcsWithRetry)(client, (rpc) => rpc.getSlot({ commitment: 'confirmed' }).send()), { id: `${getSolanaBalanceDefault.name}.getSlot` }),
29
- (0, sdk_1.withDedupe)(() => (0, utils_js_1.callSolanaRpcsWithRetry)(client, (rpc) => rpc.getBalance(accountAddress, { commitment: 'confirmed' }).send()), { id: `${getSolanaBalanceDefault.name}.getBalance` }),
30
- (0, sdk_1.withDedupe)(() => (0, utils_js_1.callSolanaRpcsWithRetry)(client, (rpc) => rpc
31
- .getTokenAccountsByOwner(accountAddress, {
32
- programId: tokenProgramAddress,
33
- }, {
34
- commitment: 'confirmed',
35
- encoding: 'jsonParsed',
36
- })
37
- .send()), {
38
- id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${TokenProgramId}`,
39
- }),
40
- (0, sdk_1.withDedupe)(() => (0, utils_js_1.callSolanaRpcsWithRetry)(client, (rpc) => rpc
41
- .getTokenAccountsByOwner(accountAddress, {
42
- programId: token2022ProgramAddress,
43
- }, {
44
- commitment: 'confirmed',
45
- encoding: 'jsonParsed',
46
- })
47
- .send()), {
48
- id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${Token2022ProgramId}`,
49
- }),
50
- ]);
51
- const blockNumber = slot.status === 'fulfilled' ? BigInt(slot.value) : 0n;
52
- const solBalance = balance.status === 'fulfilled' ? BigInt(balance.value.value) : 0n;
53
- const walletTokenAmounts = [
54
- ...(tokenAccountsByOwner.status === 'fulfilled'
55
- ? tokenAccountsByOwner.value.value
56
- : []),
57
- ...(token2022AccountsByOwner.status === 'fulfilled'
58
- ? token2022AccountsByOwner.value.value
59
- : []),
60
- ].reduce((tokenAmounts, value) => {
61
- const tokenAccount = value.account.data.parsed.info;
62
- const amount = BigInt(tokenAccount.tokenAmount.amount);
63
- if (amount > 0n) {
64
- tokenAmounts[tokenAccount.mint] = amount;
65
- }
66
- return tokenAmounts;
67
- }, {});
68
- walletTokenAmounts[SolSystemProgram] = solBalance;
69
- const tokenAmounts = tokens.map((token) => {
70
- if (walletTokenAmounts[token.address]) {
71
- return {
72
- ...token,
73
- amount: walletTokenAmounts[token.address],
74
- blockNumber,
75
- };
76
- }
77
- return {
78
- ...token,
79
- blockNumber,
80
- };
81
- });
82
- return tokenAmounts;
16
+ const accountAddress = (0, _solana_kit.address)(walletAddress);
17
+ const tokenProgramAddress = (0, _solana_kit.address)(TokenProgramId);
18
+ const token2022ProgramAddress = (0, _solana_kit.address)(Token2022ProgramId);
19
+ const [slot, balance, tokenAccountsByOwner, token2022AccountsByOwner] = await Promise.allSettled([
20
+ (0, _lifi_sdk.withDedupe)(() => require_rpc_utils.callSolanaRpcsWithRetry(client, (rpc) => rpc.getSlot({ commitment: "confirmed" }).send()), { id: `${getSolanaBalanceDefault.name}.getSlot` }),
21
+ (0, _lifi_sdk.withDedupe)(() => require_rpc_utils.callSolanaRpcsWithRetry(client, (rpc) => rpc.getBalance(accountAddress, { commitment: "confirmed" }).send()), { id: `${getSolanaBalanceDefault.name}.getBalance` }),
22
+ (0, _lifi_sdk.withDedupe)(() => require_rpc_utils.callSolanaRpcsWithRetry(client, (rpc) => rpc.getTokenAccountsByOwner(accountAddress, { programId: tokenProgramAddress }, {
23
+ commitment: "confirmed",
24
+ encoding: "jsonParsed"
25
+ }).send()), { id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${TokenProgramId}` }),
26
+ (0, _lifi_sdk.withDedupe)(() => require_rpc_utils.callSolanaRpcsWithRetry(client, (rpc) => rpc.getTokenAccountsByOwner(accountAddress, { programId: token2022ProgramAddress }, {
27
+ commitment: "confirmed",
28
+ encoding: "jsonParsed"
29
+ }).send()), { id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${Token2022ProgramId}` })
30
+ ]);
31
+ const blockNumber = slot.status === "fulfilled" ? BigInt(slot.value) : 0n;
32
+ const nativeBalanceOk = balance.status === "fulfilled";
33
+ const solBalance = nativeBalanceOk ? BigInt(balance.value.value) : 0n;
34
+ const tokenProgramOk = tokenAccountsByOwner.status === "fulfilled";
35
+ const token2022ProgramOk = token2022AccountsByOwner.status === "fulfilled";
36
+ const walletTokenAmounts = [...tokenProgramOk ? tokenAccountsByOwner.value.value : [], ...token2022ProgramOk ? token2022AccountsByOwner.value.value : []].reduce((tokenAmounts, value) => {
37
+ const tokenAccount = value.account.data.parsed.info;
38
+ const amount = BigInt(tokenAccount.tokenAmount.amount);
39
+ if (amount > 0n) tokenAmounts[tokenAccount.mint] = amount;
40
+ return tokenAmounts;
41
+ }, {});
42
+ const splZeroIsKnown = tokenProgramOk && token2022ProgramOk;
43
+ return tokens.map((token) => {
44
+ if (token.address === SolSystemProgram) {
45
+ if (!nativeBalanceOk) return {
46
+ ...token,
47
+ blockNumber
48
+ };
49
+ return {
50
+ ...token,
51
+ amount: solBalance,
52
+ blockNumber
53
+ };
54
+ }
55
+ const found = walletTokenAmounts[token.address];
56
+ if (found !== void 0) return {
57
+ ...token,
58
+ amount: found,
59
+ blockNumber
60
+ };
61
+ if (splZeroIsKnown) return {
62
+ ...token,
63
+ amount: 0n,
64
+ blockNumber
65
+ };
66
+ return {
67
+ ...token,
68
+ blockNumber
69
+ };
70
+ });
83
71
  };
72
+ //#endregion
73
+ exports.getSolanaBalance = getSolanaBalance;
74
+
84
75
  //# sourceMappingURL=getSolanaBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSolanaBalance.js","sourceRoot":"","sources":["../../../src/actions/getSolanaBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSolanaBalance.js","names":["callSolanaRpcsWithRetry"],"sources":["../../../src/actions/getSolanaBalance.ts"],"sourcesContent":["import type { SDKClient } from '@lifi/sdk'\nimport {\n type ChainId,\n type Token,\n type TokenAmount,\n withDedupe,\n} from '@lifi/sdk'\nimport { address, type JsonParsedTokenAccount } from '@solana/kit'\n\nimport { callSolanaRpcsWithRetry } from '../rpc/utils.js'\n\nconst SolSystemProgram = '11111111111111111111111111111111'\nconst TokenProgramId = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'\nconst Token2022ProgramId = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'\n\nexport const getSolanaBalance = async (\n client: SDKClient,\n walletAddress: string,\n tokens: Token[]\n): Promise<TokenAmount[]> => {\n if (tokens.length === 0) {\n return []\n }\n const { chainId } = tokens[0]\n for (const token of tokens) {\n if (token.chainId !== chainId) {\n console.warn('Requested tokens have to be on the same chain.')\n }\n }\n\n return getSolanaBalanceDefault(client, chainId, tokens, walletAddress)\n}\n\nconst getSolanaBalanceDefault = async (\n client: SDKClient,\n _chainId: ChainId,\n tokens: Token[],\n walletAddress: string\n): Promise<TokenAmount[]> => {\n // Convert addresses to Solana Kit's address type\n const accountAddress = address(walletAddress)\n const tokenProgramAddress = address(TokenProgramId)\n const token2022ProgramAddress = address(Token2022ProgramId)\n\n // Use Solana Kit's RPC API with the retry wrapper\n const [slot, balance, tokenAccountsByOwner, token2022AccountsByOwner] =\n await Promise.allSettled([\n withDedupe(\n () =>\n callSolanaRpcsWithRetry(client, (rpc) =>\n rpc.getSlot({ commitment: 'confirmed' }).send()\n ),\n { id: `${getSolanaBalanceDefault.name}.getSlot` }\n ),\n withDedupe(\n () =>\n callSolanaRpcsWithRetry(client, (rpc) =>\n rpc.getBalance(accountAddress, { commitment: 'confirmed' }).send()\n ),\n { id: `${getSolanaBalanceDefault.name}.getBalance` }\n ),\n withDedupe(\n () =>\n callSolanaRpcsWithRetry(client, (rpc) =>\n rpc\n .getTokenAccountsByOwner(\n accountAddress,\n {\n programId: tokenProgramAddress,\n },\n {\n commitment: 'confirmed',\n encoding: 'jsonParsed',\n }\n )\n .send()\n ),\n {\n id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${TokenProgramId}`,\n }\n ),\n withDedupe(\n () =>\n callSolanaRpcsWithRetry(client, (rpc) =>\n rpc\n .getTokenAccountsByOwner(\n accountAddress,\n {\n programId: token2022ProgramAddress,\n },\n {\n commitment: 'confirmed',\n encoding: 'jsonParsed',\n }\n )\n .send()\n ),\n {\n id: `${getSolanaBalanceDefault.name}.getTokenAccountsByOwner.${Token2022ProgramId}`,\n }\n ),\n ])\n const blockNumber = slot.status === 'fulfilled' ? BigInt(slot.value) : 0n\n const nativeBalanceOk = balance.status === 'fulfilled'\n const solBalance = nativeBalanceOk ? BigInt(balance.value.value) : 0n\n const tokenProgramOk = tokenAccountsByOwner.status === 'fulfilled'\n const token2022ProgramOk = token2022AccountsByOwner.status === 'fulfilled'\n\n const walletTokenAmounts = [\n ...(tokenProgramOk ? tokenAccountsByOwner.value.value : []),\n ...(token2022ProgramOk ? token2022AccountsByOwner.value.value : []),\n ].reduce(\n (tokenAmounts: Record<string, bigint>, value) => {\n const tokenAccount: JsonParsedTokenAccount =\n value.account.data.parsed.info\n const amount = BigInt(tokenAccount.tokenAmount.amount)\n if (amount > 0n) {\n tokenAmounts[tokenAccount.mint] = amount\n }\n return tokenAmounts\n },\n {} as Record<string, bigint>\n )\n\n // We can only confidently report 0n for an SPL mint when both Token and\n // Token2022 program queries succeeded — otherwise the mint may live in the\n // program whose query failed (e.g. PYUSD on Token2022).\n const splZeroIsKnown = tokenProgramOk && token2022ProgramOk\n\n const tokenAmounts: TokenAmount[] = tokens.map((token) => {\n const isNative = token.address === SolSystemProgram\n if (isNative) {\n if (!nativeBalanceOk) {\n return { ...token, blockNumber }\n }\n return { ...token, amount: solBalance, blockNumber }\n }\n const found = walletTokenAmounts[token.address]\n if (found !== undefined) {\n return { ...token, amount: found, blockNumber }\n }\n if (splZeroIsKnown) {\n return { ...token, amount: 0n, blockNumber }\n }\n return { ...token, blockNumber }\n })\n return tokenAmounts\n}\n"],"mappings":";;;;;AAWA,MAAM,mBAAmB;AACzB,MAAM,iBAAiB;AACvB,MAAM,qBAAqB;AAE3B,MAAa,mBAAmB,OAC9B,QACA,eACA,WAC2B;CAC3B,IAAI,OAAO,WAAW,GACpB,OAAO,EAAE;CAEX,MAAM,EAAE,YAAY,OAAO;CAC3B,KAAK,MAAM,SAAS,QAClB,IAAI,MAAM,YAAY,SACpB,QAAQ,KAAK,iDAAiD;CAIlE,OAAO,wBAAwB,QAAQ,SAAS,QAAQ,cAAc;;AAGxE,MAAM,0BAA0B,OAC9B,QACA,UACA,QACA,kBAC2B;CAE3B,MAAM,kBAAA,GAAA,YAAA,SAAyB,cAAc;CAC7C,MAAM,uBAAA,GAAA,YAAA,SAA8B,eAAe;CACnD,MAAM,2BAAA,GAAA,YAAA,SAAkC,mBAAmB;CAG3D,MAAM,CAAC,MAAM,SAAS,sBAAsB,4BAC1C,MAAM,QAAQ,WAAW;kCAGnBA,kBAAAA,wBAAwB,SAAS,QAC/B,IAAI,QAAQ,EAAE,YAAY,aAAa,CAAC,CAAC,MAAM,CAChD,EACH,EAAE,IAAI,GAAG,wBAAwB,KAAK,WAAW,CAClD;kCAGGA,kBAAAA,wBAAwB,SAAS,QAC/B,IAAI,WAAW,gBAAgB,EAAE,YAAY,aAAa,CAAC,CAAC,MAAM,CACnE,EACH,EAAE,IAAI,GAAG,wBAAwB,KAAK,cAAc,CACrD;kCAGGA,kBAAAA,wBAAwB,SAAS,QAC/B,IACG,wBACC,gBACA,EACE,WAAW,qBACZ,EACD;GACE,YAAY;GACZ,UAAU;GACX,CACF,CACA,MAAM,CACV,EACH,EACE,IAAI,GAAG,wBAAwB,KAAK,2BAA2B,kBAChE,CACF;kCAGGA,kBAAAA,wBAAwB,SAAS,QAC/B,IACG,wBACC,gBACA,EACE,WAAW,yBACZ,EACD;GACE,YAAY;GACZ,UAAU;GACX,CACF,CACA,MAAM,CACV,EACH,EACE,IAAI,GAAG,wBAAwB,KAAK,2BAA2B,sBAChE,CACF;EACF,CAAC;CACJ,MAAM,cAAc,KAAK,WAAW,cAAc,OAAO,KAAK,MAAM,GAAG;CACvE,MAAM,kBAAkB,QAAQ,WAAW;CAC3C,MAAM,aAAa,kBAAkB,OAAO,QAAQ,MAAM,MAAM,GAAG;CACnE,MAAM,iBAAiB,qBAAqB,WAAW;CACvD,MAAM,qBAAqB,yBAAyB,WAAW;CAE/D,MAAM,qBAAqB,CACzB,GAAI,iBAAiB,qBAAqB,MAAM,QAAQ,EAAE,EAC1D,GAAI,qBAAqB,yBAAyB,MAAM,QAAQ,EAAE,CACnE,CAAC,QACC,cAAsC,UAAU;EAC/C,MAAM,eACJ,MAAM,QAAQ,KAAK,OAAO;EAC5B,MAAM,SAAS,OAAO,aAAa,YAAY,OAAO;EACtD,IAAI,SAAS,IACX,aAAa,aAAa,QAAQ;EAEpC,OAAO;IAET,EAAE,CACH;CAKD,MAAM,iBAAiB,kBAAkB;CAmBzC,OAjBoC,OAAO,KAAK,UAAU;EAExD,IADiB,MAAM,YAAY,kBACrB;GACZ,IAAI,CAAC,iBACH,OAAO;IAAE,GAAG;IAAO;IAAa;GAElC,OAAO;IAAE,GAAG;IAAO,QAAQ;IAAY;IAAa;;EAEtD,MAAM,QAAQ,mBAAmB,MAAM;EACvC,IAAI,UAAU,KAAA,GACZ,OAAO;GAAE,GAAG;GAAO,QAAQ;GAAO;GAAa;EAEjD,IAAI,gBACF,OAAO;GAAE,GAAG;GAAO,QAAQ;GAAI;GAAa;EAE9C,OAAO;GAAE,GAAG;GAAO;GAAa;GAEf"}
@@ -1 +1,5 @@
1
- export declare function resolveSolanaAddress(name: string): Promise<string | undefined>;
1
+ //#region src/actions/resolveSolanaAddress.d.ts
2
+ declare function resolveSolanaAddress(name: string): Promise<string | undefined>;
3
+ //#endregion
4
+ export { resolveSolanaAddress };
5
+ //# sourceMappingURL=resolveSolanaAddress.d.ts.map
@@ -1,8 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveSolanaAddress = resolveSolanaAddress;
4
- const getSNSAddress_js_1 = require("./getSNSAddress.js");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_actions_getSNSAddress = require("./getSNSAddress.js");
3
+ //#region src/actions/resolveSolanaAddress.ts
5
4
  async function resolveSolanaAddress(name) {
6
- return await (0, getSNSAddress_js_1.getSNSAddress)(name);
5
+ return await require_actions_getSNSAddress.getSNSAddress(name);
7
6
  }
7
+ //#endregion
8
+ exports.resolveSolanaAddress = resolveSolanaAddress;
9
+
8
10
  //# sourceMappingURL=resolveSolanaAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSolanaAddress.js","sourceRoot":"","sources":["../../../src/actions/resolveSolanaAddress.ts"],"names":[],"mappings":";;AAEA,oDAIC;AAND,yDAAkD;AAE3C,KAAK,UAAU,oBAAoB,CACxC,IAAY;IAEZ,OAAO,MAAM,IAAA,gCAAa,EAAC,IAAI,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"resolveSolanaAddress.js","names":["getSNSAddress"],"sources":["../../../src/actions/resolveSolanaAddress.ts"],"sourcesContent":["import { getSNSAddress } from './getSNSAddress.js'\n\nexport async function resolveSolanaAddress(\n name: string\n): Promise<string | undefined> {\n return await getSNSAddress(name)\n}\n"],"mappings":";;;AAEA,eAAsB,qBACpB,MAC6B;CAC7B,OAAO,MAAMA,8BAAAA,cAAc,KAAK"}
@@ -1,20 +1,32 @@
1
- import { type SDKClient } from '@lifi/sdk';
2
- import { type Commitment, type Signature, type Transaction, type TransactionError } from '@solana/kit';
1
+ import { SDKClient } from "@lifi/sdk";
2
+ import { Commitment, Signature, Transaction, TransactionError } from "@solana/kit";
3
+
4
+ //#region src/actions/sendAndConfirmBundle.d.ts
3
5
  type SignatureStatus = {
4
- slot: bigint;
5
- confirmations: bigint | null;
6
- err: TransactionError | null;
7
- confirmationStatus: Commitment | null;
8
- status: Readonly<{
9
- Err: TransactionError;
10
- }> | Readonly<{
11
- Ok: null;
12
- }>;
6
+ slot: bigint;
7
+ confirmations: bigint | null;
8
+ err: TransactionError | null;
9
+ confirmationStatus: Commitment | null;
10
+ status: Readonly<{
11
+ Err: TransactionError;
12
+ }> | Readonly<{
13
+ Ok: null;
14
+ }>;
13
15
  };
14
- export type BundleResult = {
15
- bundleId: string;
16
- txSignatures: Signature[];
17
- signatureResults: (SignatureStatus | null)[];
16
+ type BundleResult = {
17
+ bundleId: string;
18
+ txSignatures: Signature[];
19
+ signatureResults: (SignatureStatus | null)[];
18
20
  };
19
- export declare function sendAndConfirmBundle(client: SDKClient, signedTransactions: Transaction[]): Promise<BundleResult>;
20
- export {};
21
+ /**
22
+ * Send and confirm a bundle of transactions using Jito.
23
+ * Automatically selects a Jito-enabled RPC connection and polls for confirmation
24
+ * across multiple Jito RPCs in parallel.
25
+ * @param client - The SDK client.
26
+ * @param signedTransactions - Array of signed transactions to bundle.
27
+ * @returns BundleResult containing Bundle ID, transaction signatures, and confirmation results.
28
+ */
29
+ declare function sendAndConfirmBundle(client: SDKClient, signedTransactions: Transaction[]): Promise<BundleResult>;
30
+ //#endregion
31
+ export { BundleResult, sendAndConfirmBundle };
32
+ //# sourceMappingURL=sendAndConfirmBundle.d.ts.map
@@ -1,87 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendAndConfirmBundle = sendAndConfirmBundle;
4
- const sdk_1 = require("@lifi/sdk");
5
- const kit_1 = require("@solana/kit");
6
- const registry_js_1 = require("../rpc/registry.js");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rpc_registry = require("../rpc/registry.js");
3
+ let _lifi_sdk = require("@lifi/sdk");
4
+ let _solana_kit = require("@solana/kit");
5
+ //#region src/actions/sendAndConfirmBundle.ts
6
+ /**
7
+ * Send and confirm a bundle of transactions using Jito.
8
+ * Automatically selects a Jito-enabled RPC connection and polls for confirmation
9
+ * across multiple Jito RPCs in parallel.
10
+ * @param client - The SDK client.
11
+ * @param signedTransactions - Array of signed transactions to bundle.
12
+ * @returns BundleResult containing Bundle ID, transaction signatures, and confirmation results.
13
+ */
7
14
  async function sendAndConfirmBundle(client, signedTransactions) {
8
- const jitoRpcs = await (0, registry_js_1.getJitoRpcs)(client);
9
- if (jitoRpcs.length === 0) {
10
- throw new Error('No Jito-enabled RPC connection available for bundle submission');
11
- }
12
- const serializedTransactions = signedTransactions.map((tx) => (0, kit_1.getBase64EncodedWireTransaction)(tx));
13
- const abortController = new AbortController();
14
- const confirmPromises = jitoRpcs.map(async (jitoRpc) => {
15
- try {
16
- let bundleId;
17
- try {
18
- bundleId = await jitoRpc.sendBundle(serializedTransactions).send();
19
- }
20
- catch (_) {
21
- return null;
22
- }
23
- const [{ value: blockhashResult }, initialBlockHeight] = await Promise.all([
24
- jitoRpc
25
- .getLatestBlockhash({
26
- commitment: 'confirmed',
27
- })
28
- .send(),
29
- jitoRpc
30
- .getBlockHeight({
31
- commitment: 'confirmed',
32
- })
33
- .send(),
34
- ]);
35
- let currentBlockHeight = initialBlockHeight;
36
- while (currentBlockHeight < blockhashResult.lastValidBlockHeight &&
37
- !abortController.signal.aborted) {
38
- const statusResponse = await jitoRpc
39
- .getBundleStatuses([bundleId])
40
- .send();
41
- const bundleStatus = statusResponse.value[0];
42
- if (bundleStatus &&
43
- (bundleStatus.confirmation_status === 'confirmed' ||
44
- bundleStatus.confirmation_status === 'finalized')) {
45
- const txSignatures = bundleStatus.transactions;
46
- const sigResponse = await jitoRpc
47
- .getSignatureStatuses(txSignatures)
48
- .send();
49
- if (!sigResponse?.value || !Array.isArray(sigResponse.value)) {
50
- await (0, sdk_1.sleep)(400);
51
- continue;
52
- }
53
- abortController.abort();
54
- return {
55
- bundleId,
56
- txSignatures,
57
- signatureResults: sigResponse.value,
58
- };
59
- }
60
- await (0, sdk_1.sleep)(400);
61
- if (!abortController.signal.aborted) {
62
- currentBlockHeight = await jitoRpc
63
- .getBlockHeight({
64
- commitment: 'confirmed',
65
- })
66
- .send();
67
- }
68
- }
69
- return null;
70
- }
71
- catch (error) {
72
- if (abortController.signal.aborted) {
73
- return null;
74
- }
75
- throw error;
76
- }
77
- });
78
- const result = await Promise.any(confirmPromises).catch(() => null);
79
- if (!abortController.signal.aborted) {
80
- abortController.abort();
81
- }
82
- if (!result) {
83
- throw new Error('Failed to send and confirm bundle');
84
- }
85
- return result;
15
+ const jitoRpcs = await require_rpc_registry.getJitoRpcs(client);
16
+ if (jitoRpcs.length === 0) throw new Error("No Jito-enabled RPC connection available for bundle submission");
17
+ const serializedTransactions = signedTransactions.map((tx) => (0, _solana_kit.getBase64EncodedWireTransaction)(tx));
18
+ const abortController = new AbortController();
19
+ const confirmPromises = jitoRpcs.map(async (jitoRpc) => {
20
+ try {
21
+ let bundleId;
22
+ try {
23
+ bundleId = await jitoRpc.sendBundle(serializedTransactions).send();
24
+ } catch (_) {
25
+ return null;
26
+ }
27
+ const [{ value: blockhashResult }, initialBlockHeight] = await Promise.all([jitoRpc.getLatestBlockhash({ commitment: "confirmed" }).send(), jitoRpc.getBlockHeight({ commitment: "confirmed" }).send()]);
28
+ let currentBlockHeight = initialBlockHeight;
29
+ while (currentBlockHeight < blockhashResult.lastValidBlockHeight && !abortController.signal.aborted) {
30
+ const bundleStatus = (await jitoRpc.getBundleStatuses([bundleId]).send()).value[0];
31
+ if (bundleStatus && (bundleStatus.confirmation_status === "confirmed" || bundleStatus.confirmation_status === "finalized")) {
32
+ const txSignatures = bundleStatus.transactions;
33
+ const sigResponse = await jitoRpc.getSignatureStatuses(txSignatures).send();
34
+ if (!sigResponse?.value || !Array.isArray(sigResponse.value)) {
35
+ await (0, _lifi_sdk.sleep)(400);
36
+ continue;
37
+ }
38
+ abortController.abort();
39
+ return {
40
+ bundleId,
41
+ txSignatures,
42
+ signatureResults: sigResponse.value
43
+ };
44
+ }
45
+ await (0, _lifi_sdk.sleep)(400);
46
+ if (!abortController.signal.aborted) currentBlockHeight = await jitoRpc.getBlockHeight({ commitment: "confirmed" }).send();
47
+ }
48
+ return null;
49
+ } catch (error) {
50
+ if (abortController.signal.aborted) return null;
51
+ throw error;
52
+ }
53
+ });
54
+ const result = await Promise.any(confirmPromises).catch(() => null);
55
+ if (!abortController.signal.aborted) abortController.abort();
56
+ if (!result) throw new Error("Failed to send and confirm bundle");
57
+ return result;
86
58
  }
59
+ //#endregion
60
+ exports.sendAndConfirmBundle = sendAndConfirmBundle;
61
+
87
62
  //# sourceMappingURL=sendAndConfirmBundle.js.map