@bitgo-beta/sdk-coin-sol 7.6.4-beta.44 → 7.6.4-beta.441

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 (400) hide show
  1. package/dist/cjs/src/bigint-buffer-guard.d.ts.map +1 -0
  2. package/dist/cjs/src/bigint-buffer-guard.js +29 -0
  3. package/dist/cjs/src/config/token2022StaticConfig.d.ts.map +1 -0
  4. package/dist/cjs/src/config/token2022StaticConfig.js +50 -0
  5. package/dist/cjs/src/index.d.ts.map +1 -0
  6. package/dist/{src → cjs/src}/index.js +1 -1
  7. package/dist/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -0
  8. package/dist/cjs/src/lib/ataInitializationBuilder.js +196 -0
  9. package/dist/cjs/src/lib/closeAtaBuilder.d.ts +51 -0
  10. package/dist/cjs/src/lib/closeAtaBuilder.d.ts.map +1 -0
  11. package/dist/cjs/src/lib/closeAtaBuilder.js +147 -0
  12. package/dist/{src → cjs/src}/lib/constants.d.ts +24 -0
  13. package/dist/cjs/src/lib/constants.d.ts.map +1 -0
  14. package/dist/cjs/src/lib/constants.js +196 -0
  15. package/dist/cjs/src/lib/customInstructionBuilder.d.ts.map +1 -0
  16. package/dist/cjs/src/lib/customInstructionBuilder.js +289 -0
  17. package/dist/cjs/src/lib/explainTransactionWasm.d.ts +21 -0
  18. package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -0
  19. package/dist/cjs/src/lib/explainTransactionWasm.js +264 -0
  20. package/dist/{src → cjs/src}/lib/iface.d.ts +20 -2
  21. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  22. package/dist/cjs/src/lib/iface.js +7 -0
  23. package/dist/{src → cjs/src}/lib/index.d.ts +1 -0
  24. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  25. package/dist/{src → cjs/src}/lib/index.js +4 -2
  26. package/dist/{src → cjs/src}/lib/instructionParamsFactory.d.ts +1 -0
  27. package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -0
  28. package/dist/cjs/src/lib/instructionParamsFactory.js +1059 -0
  29. package/dist/cjs/src/lib/jitoStakePoolOperations.d.ts.map +1 -0
  30. package/dist/cjs/src/lib/jitoStakePoolOperations.js +200 -0
  31. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  32. package/dist/cjs/src/lib/keyPair.js +63 -0
  33. package/dist/cjs/src/lib/messages/index.d.ts.map +1 -0
  34. package/dist/{src → cjs/src}/lib/messages/index.js +1 -1
  35. package/dist/cjs/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  36. package/dist/cjs/src/lib/messages/messageBuilderFactory.js +19 -0
  37. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts +25 -0
  38. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  39. package/dist/cjs/src/lib/recoverNestedAtaBuilder.js +90 -0
  40. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  41. package/dist/cjs/src/lib/solInstructionFactory.js +595 -0
  42. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  43. package/dist/cjs/src/lib/stakingActivateBuilder.js +120 -0
  44. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  45. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  46. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  47. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +208 -0
  48. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/stakingDelegateBuilder.js +120 -0
  50. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  51. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  52. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  53. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +78 -0
  54. package/dist/cjs/src/lib/token2022Config.d.ts.map +1 -0
  55. package/dist/cjs/src/lib/token2022Config.js +27 -0
  56. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  57. package/dist/cjs/src/lib/tokenTransferBuilder.js +188 -0
  58. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  59. package/dist/cjs/src/lib/transaction.js +612 -0
  60. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  61. package/dist/cjs/src/lib/transactionBuilder.js +380 -0
  62. package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +5 -0
  63. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  64. package/dist/cjs/src/lib/transactionBuilderFactory.js +209 -0
  65. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  66. package/dist/cjs/src/lib/transferBuilder.js +70 -0
  67. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  68. package/dist/cjs/src/lib/transferBuilderV2.js +210 -0
  69. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  70. package/dist/cjs/src/lib/utils.js +604 -0
  71. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  72. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  73. package/dist/cjs/src/register.d.ts.map +1 -0
  74. package/dist/cjs/src/register.js +15 -0
  75. package/dist/{src → cjs/src}/sol.d.ts +53 -0
  76. package/dist/cjs/src/sol.d.ts.map +1 -0
  77. package/dist/cjs/src/sol.js +1464 -0
  78. package/dist/{src → cjs/src}/solToken.d.ts +5 -0
  79. package/dist/cjs/src/solToken.d.ts.map +1 -0
  80. package/dist/cjs/src/solToken.js +76 -0
  81. package/dist/cjs/src/tsol.d.ts.map +1 -0
  82. package/dist/cjs/src/tsol.js +24 -0
  83. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  84. package/dist/cjs/test/fixtures/sol.js +1433 -0
  85. package/dist/{test → cjs/test}/resources/sol.d.ts +27 -27
  86. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  87. package/dist/cjs/test/resources/sol.js +320 -0
  88. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  89. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  90. package/dist/cjs/test/unit/explainTransactionWasm.js +26 -0
  91. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  92. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  93. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  94. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  95. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  96. package/dist/cjs/test/unit/instructionParamsFactory.js +412 -0
  97. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  98. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  99. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  100. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  101. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  102. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  103. package/dist/cjs/test/unit/keyPair.js +177 -0
  104. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  105. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  106. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  107. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  108. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  109. package/dist/cjs/test/unit/sol.js +3504 -0
  110. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/solInstructionFactory.js +454 -0
  112. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  113. package/dist/cjs/test/unit/solToken.js +37 -0
  114. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  115. package/dist/cjs/test/unit/transaction.js +1108 -0
  116. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  117. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  118. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  119. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +471 -0
  120. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts +2 -0
  121. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts.map +1 -0
  122. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.js +333 -0
  123. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  124. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  125. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  126. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  127. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  128. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  129. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  130. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  131. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  132. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  133. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  134. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  135. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  136. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +787 -0
  137. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  138. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  139. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  140. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +286 -0
  141. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  142. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +862 -0
  143. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  144. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  145. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  146. package/dist/cjs/test/unit/utils.js +517 -0
  147. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  148. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  149. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  150. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  151. package/dist/esm/config/token2022StaticConfig.d.ts +3 -0
  152. package/dist/esm/config/token2022StaticConfig.js +47 -0
  153. package/dist/esm/index.d.ts +7 -0
  154. package/dist/esm/index.js +7 -0
  155. package/dist/esm/lib/ataInitializationBuilder.d.ts +47 -0
  156. package/dist/esm/lib/ataInitializationBuilder.js +156 -0
  157. package/dist/esm/lib/closeAtaBuilder.d.ts +51 -0
  158. package/dist/esm/lib/closeAtaBuilder.d.ts.map +1 -0
  159. package/dist/esm/lib/closeAtaBuilder.js +140 -0
  160. package/dist/esm/lib/constants.d.ts +164 -0
  161. package/dist/esm/lib/constants.d.ts.map +1 -0
  162. package/dist/esm/lib/constants.js +193 -0
  163. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  164. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  165. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  166. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  167. package/dist/esm/lib/explainTransactionWasm.js +261 -0
  168. package/dist/esm/lib/iface.d.ts +262 -0
  169. package/dist/esm/lib/iface.d.ts.map +1 -0
  170. package/dist/esm/lib/iface.js +3 -0
  171. package/dist/esm/lib/index.d.ts +23 -0
  172. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  173. package/dist/esm/lib/index.js +23 -0
  174. package/dist/esm/lib/instructionParamsFactory.d.ts +13 -0
  175. package/dist/{src → esm}/lib/instructionParamsFactory.d.ts.map +1 -1
  176. package/dist/esm/lib/instructionParamsFactory.js +1052 -0
  177. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  178. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  179. package/dist/esm/lib/keyPair.d.ts +26 -0
  180. package/dist/esm/lib/keyPair.js +59 -0
  181. package/dist/esm/lib/messages/index.d.ts +2 -0
  182. package/dist/esm/lib/messages/index.js +2 -0
  183. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  184. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  185. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  186. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  187. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  188. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  189. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  190. package/dist/esm/lib/solInstructionFactory.js +589 -0
  191. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  192. package/dist/esm/lib/stakingActivateBuilder.js +113 -0
  193. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  194. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  195. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  196. package/dist/{src → esm}/lib/stakingDeactivateBuilder.js +31 -38
  197. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  198. package/dist/esm/lib/stakingDelegateBuilder.js +113 -0
  199. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  200. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  201. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  202. package/dist/esm/lib/stakingWithdrawBuilder.js +71 -0
  203. package/dist/esm/lib/token2022Config.d.ts +44 -0
  204. package/dist/esm/lib/token2022Config.js +23 -0
  205. package/dist/esm/lib/tokenTransferBuilder.d.ts +41 -0
  206. package/dist/esm/lib/tokenTransferBuilder.js +181 -0
  207. package/dist/esm/lib/transaction.d.ts +103 -0
  208. package/dist/esm/lib/transaction.d.ts.map +1 -0
  209. package/dist/esm/lib/transaction.js +605 -0
  210. package/dist/esm/lib/transactionBuilder.d.ts +128 -0
  211. package/dist/esm/lib/transactionBuilder.js +373 -0
  212. package/dist/esm/lib/transactionBuilderFactory.d.ts +120 -0
  213. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  214. package/dist/esm/lib/transactionBuilderFactory.js +205 -0
  215. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  216. package/dist/esm/lib/transferBuilder.js +63 -0
  217. package/dist/esm/lib/transferBuilderV2.d.ts +43 -0
  218. package/dist/esm/lib/transferBuilderV2.js +203 -0
  219. package/dist/esm/lib/utils.d.ts +200 -0
  220. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  221. package/dist/esm/lib/utils.js +567 -0
  222. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  223. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  224. package/dist/esm/register.d.ts +3 -0
  225. package/dist/esm/register.js +11 -0
  226. package/dist/esm/sol.d.ts +280 -0
  227. package/dist/esm/sol.d.ts.map +1 -0
  228. package/dist/esm/sol.js +1423 -0
  229. package/dist/esm/solToken.d.ts +42 -0
  230. package/dist/{src → esm}/solToken.d.ts.map +1 -1
  231. package/dist/esm/solToken.js +72 -0
  232. package/dist/esm/tsol.d.ts +11 -0
  233. package/dist/esm/tsol.js +20 -0
  234. package/package.json +35 -16
  235. package/dist/src/config/token2022StaticConfig.js +0 -50
  236. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  237. package/dist/src/lib/closeAtaBuilder.d.ts +0 -19
  238. package/dist/src/lib/closeAtaBuilder.d.ts.map +0 -1
  239. package/dist/src/lib/closeAtaBuilder.js +0 -69
  240. package/dist/src/lib/constants.d.ts.map +0 -1
  241. package/dist/src/lib/constants.js +0 -171
  242. package/dist/src/lib/customInstructionBuilder.js +0 -289
  243. package/dist/src/lib/iface.d.ts.map +0 -1
  244. package/dist/src/lib/iface.js +0 -7
  245. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  246. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  247. package/dist/src/lib/keyPair.js +0 -63
  248. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  249. package/dist/src/lib/solInstructionFactory.js +0 -572
  250. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  251. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  252. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  253. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  254. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  255. package/dist/src/lib/token2022Config.js +0 -27
  256. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  257. package/dist/src/lib/transaction.d.ts.map +0 -1
  258. package/dist/src/lib/transaction.js +0 -595
  259. package/dist/src/lib/transactionBuilder.js +0 -380
  260. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  261. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  262. package/dist/src/lib/transferBuilder.js +0 -70
  263. package/dist/src/lib/transferBuilderV2.js +0 -210
  264. package/dist/src/lib/utils.js +0 -589
  265. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  266. package/dist/src/register.js +0 -15
  267. package/dist/src/sol.d.ts.map +0 -1
  268. package/dist/src/sol.js +0 -1285
  269. package/dist/src/solToken.js +0 -69
  270. package/dist/src/tsol.js +0 -24
  271. package/dist/test/fixtures/sol.js +0 -1433
  272. package/dist/test/resources/sol.d.ts.map +0 -1
  273. package/dist/test/resources/sol.js +0 -320
  274. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  275. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  276. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  277. package/dist/test/unit/getBuilderFactory.js +0 -10
  278. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  279. package/dist/test/unit/instructionParamsFactory.js +0 -412
  280. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  281. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  282. package/dist/test/unit/keyPair.js +0 -177
  283. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  284. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  285. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  286. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  287. package/dist/test/unit/sol.js +0 -3108
  288. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  289. package/dist/test/unit/solInstructionFactory.js +0 -454
  290. package/dist/test/unit/solToken.d.ts.map +0 -1
  291. package/dist/test/unit/solToken.js +0 -31
  292. package/dist/test/unit/transaction.d.ts.map +0 -1
  293. package/dist/test/unit/transaction.js +0 -983
  294. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  295. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  296. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  297. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  298. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  299. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  300. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  301. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  302. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  303. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  304. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  305. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  306. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  307. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  308. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  309. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  310. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  311. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  312. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  313. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  314. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  315. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  316. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  317. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  318. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  319. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  320. package/dist/test/unit/utils.js +0 -517
  321. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  322. package/dist/test/unit/versionedTransaction.js +0 -207
  323. package/dist/tsconfig.tsbuildinfo +0 -1
  324. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  325. /package/dist/{src → cjs/src}/config/token2022StaticConfig.d.ts +0 -0
  326. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  327. /package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +0 -0
  328. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  329. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  330. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  331. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  332. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  333. /package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +0 -0
  334. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  335. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  336. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  337. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  338. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  339. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  340. /package/dist/{src → cjs/src}/lib/token2022Config.d.ts +0 -0
  341. /package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +0 -0
  342. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  343. /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
  344. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  345. /package/dist/{src → cjs/src}/lib/transferBuilderV2.d.ts +0 -0
  346. /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
  347. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  348. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  349. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  350. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  351. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  352. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  353. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  354. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  355. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  356. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  357. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  358. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  359. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  360. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  361. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  362. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  363. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  364. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  365. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  366. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  367. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  368. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  369. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  370. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  371. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  372. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  373. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  374. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  375. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  376. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  377. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  378. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  379. /package/dist/{src → esm}/config/token2022StaticConfig.d.ts.map +0 -0
  380. /package/dist/{src → esm}/index.d.ts.map +0 -0
  381. /package/dist/{src → esm}/lib/ataInitializationBuilder.d.ts.map +0 -0
  382. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  383. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  384. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  385. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  386. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  387. /package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +0 -0
  388. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  389. /package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +0 -0
  390. /package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +0 -0
  391. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  392. /package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +0 -0
  393. /package/dist/{src → esm}/lib/token2022Config.d.ts.map +0 -0
  394. /package/dist/{src → esm}/lib/tokenTransferBuilder.d.ts.map +0 -0
  395. /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
  396. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  397. /package/dist/{src → esm}/lib/transferBuilderV2.d.ts.map +0 -0
  398. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  399. /package/dist/{src → esm}/register.d.ts.map +0 -0
  400. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -0,0 +1,120 @@
1
+ import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AtaInitializationBuilder } from './ataInitializationBuilder';
4
+ import { CloseAtaBuilder } from './closeAtaBuilder';
5
+ import { RecoverNestedAtaBuilder } from './recoverNestedAtaBuilder';
6
+ import { CustomInstructionBuilder } from './customInstructionBuilder';
7
+ import { StakingActivateBuilder } from './stakingActivateBuilder';
8
+ import { StakingAuthorizeBuilder } from './stakingAuthorizeBuilder';
9
+ import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
10
+ import { StakingDelegateBuilder } from './stakingDelegateBuilder';
11
+ import { StakingRawMsgAuthorizeBuilder } from './stakingRawMsgAuthorizeBuilder';
12
+ import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
13
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
14
+ import { Transaction } from './transaction';
15
+ import { TransactionBuilder } from './transactionBuilder';
16
+ import { TransferBuilder } from './transferBuilder';
17
+ import { TransferBuilderV2 } from './transferBuilderV2';
18
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
19
+ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
20
+ constructor(_coinConfig: Readonly<CoinConfig>);
21
+ /**
22
+ * Returns a proper builder for the given encoded transaction
23
+ *
24
+ * @param { string} raw - Encoded transaction in base64 string format
25
+ */
26
+ from(raw: string): TransactionBuilder | StakingRawMsgAuthorizeBuilder;
27
+ /** @inheritdoc */
28
+ getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
29
+ /** @inheritdoc */
30
+ getTransferBuilder(tx?: Transaction): TransferBuilder;
31
+ /** @inheritdoc */
32
+ getTokenTransferBuilder(tx?: Transaction): TokenTransferBuilder;
33
+ /**
34
+ * Returns the transfer builder V2 to create a funds transfer transaction
35
+ */
36
+ getTransferBuilderV2(tx?: Transaction): TransferBuilderV2;
37
+ /**
38
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
39
+ * once the tx reach the network it will automatically by activated on next epoch
40
+ *
41
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
42
+ *
43
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
44
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
45
+ */
46
+ getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder;
47
+ /**
48
+ * Returns the builder to create a staking deactivate transaction.
49
+ * Deactivated is set in the current epoch + cooldown
50
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
51
+ *
52
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
53
+ *
54
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
55
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
56
+ */
57
+ getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder;
58
+ /**
59
+ * Returns the builder to create a staking withdraw transaction.
60
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
61
+ *
62
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
63
+ *
64
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
65
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
66
+ */
67
+ getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder;
68
+ /**
69
+ * Returns the builder to authorized staking account.
70
+ *
71
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
72
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
73
+ */
74
+ getStakingAuthorizeBuilder(tx?: Transaction): StakingAuthorizeBuilder;
75
+ /**
76
+ * Returns the builder to delegate staking account.
77
+ *
78
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
79
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
80
+ */
81
+ getStakingDelegateBuilder(tx?: Transaction): StakingDelegateBuilder;
82
+ /**
83
+ * Returns the raw message builder to authorized staking account.
84
+ *
85
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
86
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
87
+ */
88
+ getStakingRawMsgAuthorizeBuilder(tx?: Transaction): StakingRawMsgAuthorizeBuilder;
89
+ /**
90
+ * Returns the builder to create a create associated token account transaction.
91
+ */
92
+ getAtaInitializationBuilder(tx?: Transaction): AtaInitializationBuilder;
93
+ /**
94
+ * Returns the builder to create a close associated token account transaction.
95
+ */
96
+ getCloseAtaInitializationBuilder(tx?: Transaction): CloseAtaBuilder;
97
+ /**
98
+ * Returns the builder to recover tokens from a nested ATA (an ATA owned by another ATA).
99
+ */
100
+ getRecoverNestedAtaBuilder(tx?: Transaction): RecoverNestedAtaBuilder;
101
+ /**
102
+ * Returns the builder to create transactions with custom Solana instructions.
103
+ */
104
+ getCustomInstructionBuilder(tx?: Transaction): CustomInstructionBuilder;
105
+ /**
106
+ * Initialize the builder with the given transaction
107
+ *
108
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
109
+ * @param {TransactionBuilder} builder - the builder to be initialized
110
+ * @returns {TransactionBuilder} the builder initialized
111
+ */
112
+ private initializeBuilder;
113
+ /** Parse the transaction from a raw transaction
114
+ *
115
+ * @param {string} rawTransaction - the raw tx
116
+ * @returns {Transaction} parsed transaction
117
+ */
118
+ private parseTransaction;
119
+ }
120
+ //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA4C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,6BAA6B;IA0CrE,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,iBAAiB;IAIzD;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE;;;;;;;;;OASG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,uBAAuB;IAGrE;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE;;;;;OAKG;IACH,gCAAgC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,6BAA6B;IAQjF;;OAEG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE;;OAEG;IACH,gCAAgC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAInE;;OAEG;IACH,0BAA0B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,uBAAuB;IAIrE;;OAEG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1,205 @@
1
+ import { BaseTransactionBuilderFactory, InvalidTransactionError, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { AtaInitializationBuilder } from './ataInitializationBuilder';
3
+ import { CloseAtaBuilder } from './closeAtaBuilder';
4
+ import { RecoverNestedAtaBuilder } from './recoverNestedAtaBuilder';
5
+ import { CustomInstructionBuilder } from './customInstructionBuilder';
6
+ import { StakingActivateBuilder } from './stakingActivateBuilder';
7
+ import { StakingAuthorizeBuilder } from './stakingAuthorizeBuilder';
8
+ import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
9
+ import { StakingDelegateBuilder } from './stakingDelegateBuilder';
10
+ import { StakingRawMsgAuthorizeBuilder } from './stakingRawMsgAuthorizeBuilder';
11
+ import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
12
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
13
+ import { Transaction } from './transaction';
14
+ import { TransferBuilder } from './transferBuilder';
15
+ import { TransferBuilderV2 } from './transferBuilderV2';
16
+ import { validateRawTransaction } from './utils';
17
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
18
+ export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
19
+ constructor(_coinConfig) {
20
+ super(_coinConfig);
21
+ }
22
+ /**
23
+ * Returns a proper builder for the given encoded transaction
24
+ *
25
+ * @param { string} raw - Encoded transaction in base64 string format
26
+ */
27
+ from(raw) {
28
+ validateRawTransaction(raw);
29
+ const tx = this.parseTransaction(raw);
30
+ try {
31
+ switch (tx.type) {
32
+ case TransactionType.Send:
33
+ const uniqueInputCoins = tx.inputs
34
+ .map((input) => input.coin)
35
+ .filter((coin, index, arr) => arr.indexOf(coin) === index);
36
+ if (uniqueInputCoins.includes('sol') || uniqueInputCoins.includes('tsol')) {
37
+ return this.getTransferBuilderV2(tx);
38
+ }
39
+ else {
40
+ return this.getTokenTransferBuilder(tx);
41
+ }
42
+ case TransactionType.WalletInitialization:
43
+ return this.getWalletInitializationBuilder(tx);
44
+ case TransactionType.StakingActivate:
45
+ return this.getStakingActivateBuilder(tx);
46
+ case TransactionType.StakingDeactivate:
47
+ return this.getStakingDeactivateBuilder(tx);
48
+ case TransactionType.StakingWithdraw:
49
+ return this.getStakingWithdrawBuilder(tx);
50
+ case TransactionType.AssociatedTokenAccountInitialization:
51
+ return this.getAtaInitializationBuilder(tx);
52
+ case TransactionType.StakingAuthorize:
53
+ return this.getStakingAuthorizeBuilder(tx);
54
+ case TransactionType.StakingAuthorizeRaw:
55
+ return this.getStakingRawMsgAuthorizeBuilder(tx);
56
+ case TransactionType.StakingDelegate:
57
+ return this.getStakingDelegateBuilder(tx);
58
+ case TransactionType.CloseAssociatedTokenAccount:
59
+ return this.getCloseAtaInitializationBuilder(tx);
60
+ case TransactionType.CustomTx:
61
+ return this.getCustomInstructionBuilder(tx);
62
+ default:
63
+ throw new InvalidTransactionError('Invalid transaction');
64
+ }
65
+ }
66
+ catch (e) {
67
+ throw e;
68
+ }
69
+ }
70
+ /** @inheritdoc */
71
+ getWalletInitializationBuilder(tx) {
72
+ return this.initializeBuilder(tx, new WalletInitializationBuilder(this._coinConfig));
73
+ }
74
+ /** @inheritdoc */
75
+ getTransferBuilder(tx) {
76
+ return this.initializeBuilder(tx, new TransferBuilder(this._coinConfig));
77
+ }
78
+ /** @inheritdoc */
79
+ getTokenTransferBuilder(tx) {
80
+ return this.initializeBuilder(tx, new TokenTransferBuilder(this._coinConfig));
81
+ }
82
+ /**
83
+ * Returns the transfer builder V2 to create a funds transfer transaction
84
+ */
85
+ getTransferBuilderV2(tx) {
86
+ return this.initializeBuilder(tx, new TransferBuilderV2(this._coinConfig));
87
+ }
88
+ /**
89
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
90
+ * once the tx reach the network it will automatically by activated on next epoch
91
+ *
92
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
93
+ *
94
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
95
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
96
+ */
97
+ getStakingActivateBuilder(tx) {
98
+ return this.initializeBuilder(tx, new StakingActivateBuilder(this._coinConfig));
99
+ }
100
+ /**
101
+ * Returns the builder to create a staking deactivate transaction.
102
+ * Deactivated is set in the current epoch + cooldown
103
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
104
+ *
105
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
106
+ *
107
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
108
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
109
+ */
110
+ getStakingDeactivateBuilder(tx) {
111
+ return this.initializeBuilder(tx, new StakingDeactivateBuilder(this._coinConfig));
112
+ }
113
+ /**
114
+ * Returns the builder to create a staking withdraw transaction.
115
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
116
+ *
117
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
118
+ *
119
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
120
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
121
+ */
122
+ getStakingWithdrawBuilder(tx) {
123
+ return this.initializeBuilder(tx, new StakingWithdrawBuilder(this._coinConfig));
124
+ }
125
+ /**
126
+ * Returns the builder to authorized staking account.
127
+ *
128
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
129
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
130
+ */
131
+ getStakingAuthorizeBuilder(tx) {
132
+ return this.initializeBuilder(tx, new StakingAuthorizeBuilder(this._coinConfig));
133
+ }
134
+ /**
135
+ * Returns the builder to delegate staking account.
136
+ *
137
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
138
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
139
+ */
140
+ getStakingDelegateBuilder(tx) {
141
+ return this.initializeBuilder(tx, new StakingDelegateBuilder(this._coinConfig));
142
+ }
143
+ /**
144
+ * Returns the raw message builder to authorized staking account.
145
+ *
146
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
147
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
148
+ */
149
+ getStakingRawMsgAuthorizeBuilder(tx) {
150
+ const builder = new StakingRawMsgAuthorizeBuilder(this._coinConfig);
151
+ if (tx) {
152
+ builder.initBuilder(tx);
153
+ }
154
+ return builder;
155
+ }
156
+ /**
157
+ * Returns the builder to create a create associated token account transaction.
158
+ */
159
+ getAtaInitializationBuilder(tx) {
160
+ return this.initializeBuilder(tx, new AtaInitializationBuilder(this._coinConfig));
161
+ }
162
+ /**
163
+ * Returns the builder to create a close associated token account transaction.
164
+ */
165
+ getCloseAtaInitializationBuilder(tx) {
166
+ return this.initializeBuilder(tx, new CloseAtaBuilder(this._coinConfig));
167
+ }
168
+ /**
169
+ * Returns the builder to recover tokens from a nested ATA (an ATA owned by another ATA).
170
+ */
171
+ getRecoverNestedAtaBuilder(tx) {
172
+ return this.initializeBuilder(tx, new RecoverNestedAtaBuilder(this._coinConfig));
173
+ }
174
+ /**
175
+ * Returns the builder to create transactions with custom Solana instructions.
176
+ */
177
+ getCustomInstructionBuilder(tx) {
178
+ return this.initializeBuilder(tx, new CustomInstructionBuilder(this._coinConfig));
179
+ }
180
+ /**
181
+ * Initialize the builder with the given transaction
182
+ *
183
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
184
+ * @param {TransactionBuilder} builder - the builder to be initialized
185
+ * @returns {TransactionBuilder} the builder initialized
186
+ */
187
+ initializeBuilder(tx, builder) {
188
+ if (tx) {
189
+ builder.initBuilder(tx);
190
+ }
191
+ return builder;
192
+ }
193
+ /** Parse the transaction from a raw transaction
194
+ *
195
+ * @param {string} rawTransaction - the raw tx
196
+ * @returns {Transaction} parsed transaction
197
+ */
198
+ parseTransaction(rawTransaction) {
199
+ const tx = new Transaction(this._coinConfig);
200
+ tx.setUseTokenAddressTokenName(true);
201
+ tx.fromRawTransaction(rawTransaction);
202
+ return tx;
203
+ }
204
+ }
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsMkJB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QUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsY0FBc0I7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEF0YUluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IENsb3NlQXRhQnVpbGRlciB9IGZyb20gJy4vY2xvc2VBdGFCdWlsZGVyJztcbmltcG9ydCB7IFJlY292ZXJOZXN0ZWRBdGFCdWlsZGVyIH0gZnJvbSAnLi9yZWNvdmVyTmVzdGVkQXRhQnVpbGRlcic7XG5pbXBvcnQgeyBDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2N1c3RvbUluc3RydWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQWN0aXZhdGVCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdBdXRob3JpemVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQXV0aG9yaXplQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nRGVsZWdhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVsZWdhdGVCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nV2l0aGRyYXdCdWlsZGVyJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyVjIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlclYyJztcbmltcG9ydCB7IHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvcGVyIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBlbmNvZGVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7IHN0cmluZ30gcmF3IC0gRW5jb2RlZCB0cmFuc2FjdGlvbiBpbiBiYXNlNjQgc3RyaW5nIGZvcm1hdFxuICAgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB8IFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyIHtcbiAgICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgY29uc3QgdHggPSB0aGlzLnBhcnNlVHJhbnNhY3Rpb24ocmF3KTtcbiAgICB0cnkge1xuICAgICAgc3dpdGNoICh0eC50eXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgICAgY29uc3QgdW5pcXVlSW5wdXRDb2lucyA9IHR4LmlucHV0c1xuICAgICAgICAgICAgLm1hcCgoaW5wdXQpID0+IGlucHV0LmNvaW4pXG4gICAgICAgICAgICAuZmlsdGVyKChjb2luLCBpbmRleCwgYXJyKSA9PiBhcnIuaW5kZXhPZihjb2luKSA9PT0gaW5kZXgpO1xuICAgICAgICAgIGlmICh1bmlxdWVJbnB1dENvaW5zLmluY2x1ZGVzKCdzb2wnKSB8fCB1bmlxdWVJbnB1dENvaW5zLmluY2x1ZGVzKCd0c29sJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlclYyKHR4KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb246XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ1dpdGhkcmF3QnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQXV0aG9yaXplOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdBdXRob3JpemVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0F1dGhvcml6ZVJhdzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWxlZ2F0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldENsb3NlQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyKHR4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0cmFuc2ZlciBidWlsZGVyIFYyIHRvIGNyZWF0ZSBhIGZ1bmRzIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXJWMih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyVjIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyVjIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0YWtpbmcgYnVpbGRlciB0byBjcmVhdGUgYSBzdGFraW5nIGFjY291bnQgYW5kIGFsc28gYSBkZWxlZ2F0ZSBpbiBvbmUgdHJhbnNhY3Rpb24uXG4gICAqIG9uY2UgdGhlIHR4IHJlYWNoIHRoZSBuZXR3b3JrIGl0IHdpbGwgYXV0b21hdGljYWxseSBieSBhY3RpdmF0ZWQgb24gbmV4dCBlcG9jaFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL2NsdXN0ZXIvc3Rha2UtZGVsZWdhdGlvbi1hbmQtcmV3YXJkcyNzdGFrZS13YXJtdXAtY29vbGRvd24td2l0aGRyYXdhbFxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcn0gLSB0aGUgaW5pdGlhbGl6ZWQgc3Rha2luZyBhY3RpdmF0ZSBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gY3JlYXRlIGEgc3Rha2luZyBkZWFjdGl2YXRlIHRyYW5zYWN0aW9uLlxuICAgKiBEZWFjdGl2YXRlZCBpcyBzZXQgaW4gdGhlIGN1cnJlbnQgZXBvY2ggKyBjb29sZG93blxuICAgKiBUaGUgYWNjb3VudCdzIHN0YWtlIHdpbGwgcmFtcCBkb3duIHRvIHplcm8gYnkgdGhhdCBlcG9jaCwgYW5kIHRoZSBsYW1wb3J0cyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igd2l0aGRyYXdhbC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3Muc29sYW5hLmNvbS9jbHVzdGVyL3N0YWtlLWRlbGVnYXRpb24tYW5kLXJld2FyZHMjc3Rha2Utd2FybXVwLWNvb2xkb3duLXdpdGhkcmF3YWxcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXJ9IC0gdGhlIGluaXRpYWxpemVkIHN0YWtpbmcgZGVhY3RpdmF0ZSBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gY3JlYXRlIGEgc3Rha2luZyB3aXRoZHJhdyB0cmFuc2FjdGlvbi5cbiAgICogb25jZSB0aGUgc3Rha2luZyBhY2NvdW50IHJlYWNoIDAgU09MIGl0IHdpbGwgbm90IGJlIHRyYWNlYWJsZSBhbnltb3JlIGJ5IHRoZSBuZXR3b3JrXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vc3Rha2luZy9zdGFrZS1hY2NvdW50cyNkZXN0cm95aW5nLWEtc3Rha2UtYWNjb3VudFxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGludGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ1dpdGhkcmF3QnVpbGRlcn0gLSB0aGUgaW5pdGlhbGl6ZWQgc3Rha2luZyB3aXRoZHJhdyBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nV2l0aGRyYXdCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gYXV0aG9yaXplZCBzdGFraW5nIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gaW50aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQXV0aG9yaXplQnVpbGRlcn0gLSB0aGUgaW5pdGlhbGl6ZWQgc3Rha2luZyBhdXRob3JpemUgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdBdXRob3JpemVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdBdXRob3JpemVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBkZWxlZ2F0ZSBzdGFraW5nIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gZGVsZWdhdGUgc3Rha2luZyBhY2NvdW50XG4gICAqIEByZXR1cm5zIHtTdGFraW5nRGVsZWdhdGVCdWlsZGVyfSAtIHRoZSBzdGFraW5nIGRlbGVnYXRlIGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0RlbGVnYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmF3IG1lc3NhZ2UgYnVpbGRlciB0byBhdXRob3JpemVkIHN0YWtpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBpbnRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdXaXRoZHJhd0J1aWxkZXJ9IC0gdGhlIGluaXRpYWxpemVkIHN0YWtpbmcgYXV0aG9yaXplIGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlciB7XG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGNyZWF0ZSBhIGNyZWF0ZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBnZXRBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEF0YUluaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gY3JlYXRlIGEgY2xvc2UgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50IHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgZ2V0Q2xvc2VBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENsb3NlQXRhQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBDbG9zZUF0YUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gcmVjb3ZlciB0b2tlbnMgZnJvbSBhIG5lc3RlZCBBVEEgKGFuIEFUQSBvd25lZCBieSBhbm90aGVyIEFUQSkuXG4gICAqL1xuICBnZXRSZWNvdmVyTmVzdGVkQXRhQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogUmVjb3Zlck5lc3RlZEF0YUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgUmVjb3Zlck5lc3RlZEF0YUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gY3JlYXRlIHRyYW5zYWN0aW9ucyB3aXRoIGN1c3RvbSBTb2xhbmEgaW5zdHJ1Y3Rpb25zLlxuICAgKi9cbiAgZ2V0Q3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBidWlsZGVyIHdpdGggdGhlIGdpdmVuIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb24gfCB1bmRlZmluZWR9IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uQnVpbGRlcn0gYnVpbGRlciAtIHRoZSBidWlsZGVyIHRvIGJlIGluaXRpYWxpemVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVCdWlsZGVyPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI+KHR4OiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqIFBhcnNlIHRoZSB0cmFuc2FjdGlvbiBmcm9tIGEgcmF3IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYXdUcmFuc2FjdGlvbiAtIHRoZSByYXcgdHhcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9ufSBwYXJzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIHR4LnNldFVzZVRva2VuQWRkcmVzc1Rva2VuTmFtZSh0cnVlKTtcbiAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0eDtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { TransactionBuilder } from './transactionBuilder';
4
+ import { Transaction } from './transaction';
5
+ export interface SendParams {
6
+ address: string;
7
+ amount: string;
8
+ }
9
+ export declare class TransferBuilder extends TransactionBuilder {
10
+ private _sendParams;
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ protected get transactionType(): TransactionType;
13
+ initBuilder(tx: Transaction): void;
14
+ /**
15
+ * Set a transfer
16
+ *
17
+ * @param {string} fromAddress - the sender address
18
+ * @param {string} toAddress - the receiver address
19
+ * @param {string} amount - the amount sent
20
+ * @returns {TransactionBuilder} This transaction builder
21
+ */
22
+ send({ address, amount }: SendParams): this;
23
+ /** @inheritdoc */
24
+ protected buildImplementation(): Promise<Transaction>;
25
+ }
26
+ //# sourceMappingURL=transferBuilder.d.ts.map
@@ -0,0 +1,63 @@
1
+ import { BuildTransactionError, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { TransactionBuilder } from './transactionBuilder';
3
+ import { isValidAmount, validateAddress } from './utils';
4
+ import { InstructionBuilderTypes } from './constants';
5
+ import assert from 'assert';
6
+ export class TransferBuilder extends TransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ this._sendParams = [];
10
+ }
11
+ get transactionType() {
12
+ return TransactionType.Send;
13
+ }
14
+ initBuilder(tx) {
15
+ super.initBuilder(tx);
16
+ for (const instruction of this._instructionsData) {
17
+ if (instruction.type === InstructionBuilderTypes.Transfer) {
18
+ const transferInstruction = instruction;
19
+ this.sender(transferInstruction.params.fromAddress);
20
+ this.send({
21
+ address: transferInstruction.params.toAddress,
22
+ amount: transferInstruction.params.amount,
23
+ });
24
+ }
25
+ }
26
+ }
27
+ /**
28
+ * Set a transfer
29
+ *
30
+ * @param {string} fromAddress - the sender address
31
+ * @param {string} toAddress - the receiver address
32
+ * @param {string} amount - the amount sent
33
+ * @returns {TransactionBuilder} This transaction builder
34
+ */
35
+ send({ address, amount }) {
36
+ validateAddress(address, 'address');
37
+ if (!amount || !isValidAmount(amount)) {
38
+ throw new BuildTransactionError('Invalid or missing amount, got: ' + amount);
39
+ }
40
+ if (BigInt(amount) > BigInt(Number.MAX_SAFE_INTEGER)) {
41
+ throw new BuildTransactionError(`input amount ${amount} exceeds max safe int ${Number.MAX_SAFE_INTEGER}`);
42
+ }
43
+ this._sendParams.push({ address, amount });
44
+ return this;
45
+ }
46
+ /** @inheritdoc */
47
+ async buildImplementation() {
48
+ assert(this._sender, 'Sender must be set before building the transaction');
49
+ const transferData = this._sendParams.map((sendParams) => {
50
+ return {
51
+ type: InstructionBuilderTypes.Transfer,
52
+ params: {
53
+ fromAddress: this._sender,
54
+ toAddress: sendParams.address,
55
+ amount: sendParams.amount,
56
+ },
57
+ };
58
+ });
59
+ this._instructionsData = transferData;
60
+ return await super.buildImplementation();
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd0RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFPNUIsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBR3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSGIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO0lBSXZDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxRCxNQUFNLG1CQUFtQixHQUFhLFdBQVcsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ1IsT0FBTyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTO29CQUM3QyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU07aUJBQzFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFjO1FBQ2xDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixNQUFNLHlCQUF5QixNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQztRQUUzRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQVksRUFBRTtZQUM3RSxPQUFPO2dCQUNMLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxRQUFRO2dCQUN0QyxNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtpQkFDMUI7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO1FBRXRDLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBpc1ZhbGlkQW1vdW50LCB2YWxpZGF0ZUFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVHJhbnNmZXIgfSBmcm9tICcuL2lmYWNlJztcblxuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRQYXJhbXMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfc2VuZFBhcmFtczogU2VuZFBhcmFtc1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG5cbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5UcmFuc2Zlcikge1xuICAgICAgICBjb25zdCB0cmFuc2Zlckluc3RydWN0aW9uOiBUcmFuc2ZlciA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLnNlbmRlcih0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy5mcm9tQWRkcmVzcyk7XG4gICAgICAgIHRoaXMuc2VuZCh7XG4gICAgICAgICAgYWRkcmVzczogdHJhbnNmZXJJbnN0cnVjdGlvbi5wYXJhbXMudG9BZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogdHJhbnNmZXJJbnN0cnVjdGlvbi5wYXJhbXMuYW1vdW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIFNldCBhIHRyYW5zZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmcm9tQWRkcmVzcyAtIHRoZSBzZW5kZXIgYWRkcmVzc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9BZGRyZXNzIC0gdGhlIHJlY2VpdmVyIGFkZHJlc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIHRoZSBhbW91bnQgc2VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNlbmQoeyBhZGRyZXNzLCBhbW91bnQgfTogU2VuZFBhcmFtcyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzLCAnYWRkcmVzcycpO1xuICAgIGlmICghYW1vdW50IHx8ICFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhbW91bnQsIGdvdDogJyArIGFtb3VudCk7XG4gICAgfVxuICAgIGlmIChCaWdJbnQoYW1vdW50KSA+IEJpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYGlucHV0IGFtb3VudCAke2Ftb3VudH0gZXhjZWVkcyBtYXggc2FmZSBpbnQgJHtOdW1iZXIuTUFYX1NBRkVfSU5URUdFUn1gKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZW5kUGFyYW1zLnB1c2goeyBhZGRyZXNzLCBhbW91bnQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgJ1NlbmRlciBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG5cbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSB0aGlzLl9zZW5kUGFyYW1zLm1hcCgoc2VuZFBhcmFtczogU2VuZFBhcmFtcyk6IFRyYW5zZmVyID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlRyYW5zZmVyLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICAgIHRvQWRkcmVzczogc2VuZFBhcmFtcy5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogc2VuZFBhcmFtcy5hbW91bnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSB0cmFuc2ZlckRhdGE7XG5cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { TransactionBuilder } from './transactionBuilder';
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
5
+ import { TokenAssociateRecipient } from './iface';
6
+ export interface SendParams {
7
+ address: string;
8
+ amount: string;
9
+ tokenName?: string;
10
+ tokenAddress?: string;
11
+ programId?: string;
12
+ decimalPlaces?: number;
13
+ }
14
+ export declare class TransferBuilderV2 extends TransactionBuilder {
15
+ private _sendParams;
16
+ private _createAtaParams;
17
+ constructor(_coinConfig: Readonly<CoinConfig>);
18
+ protected get transactionType(): TransactionType;
19
+ initBuilder(tx: Transaction): void;
20
+ /**
21
+ * Set a feePayer
22
+ * @param payerAddress
23
+ */
24
+ feePayer(payerAddress: string): this;
25
+ /**
26
+ * Set a transfer
27
+ *
28
+ * @param {SendParams} sendParams - sendParams
29
+ * @returns {TransactionBuilder} This transaction builder
30
+ */
31
+ send(sendParams: SendParams): this;
32
+ /**
33
+ *
34
+ * @param {TokenAssociateRecipient} recipient - recipient of the associated token account creation
35
+ * @param {string} recipient.ownerAddress - owner of the associated token account
36
+ * @param {string} recipient.tokenName - name of the token that is intended to associate
37
+ * @returns {TransactionBuilder} This transaction builder
38
+ */
39
+ createAssociatedTokenAccount(recipient: TokenAssociateRecipient): this;
40
+ /** @inheritdoc */
41
+ protected buildImplementation(): Promise<Transaction>;
42
+ }
43
+ //# sourceMappingURL=transferBuilderV2.d.ts.map