@bitgo-beta/sdk-coin-sol 7.6.4-beta.39 → 7.6.4-beta.391

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/cjs/src/solToken.d.ts.map +1 -0
  79. package/dist/cjs/src/solToken.js +69 -0
  80. package/dist/cjs/src/tsol.d.ts.map +1 -0
  81. package/dist/cjs/src/tsol.js +24 -0
  82. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  83. package/dist/cjs/test/fixtures/sol.js +1433 -0
  84. package/dist/{test → cjs/test}/resources/sol.d.ts +27 -27
  85. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  86. package/dist/cjs/test/resources/sol.js +320 -0
  87. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  88. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  89. package/dist/cjs/test/unit/explainTransactionWasm.js +26 -0
  90. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  91. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  92. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  93. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  94. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  95. package/dist/cjs/test/unit/instructionParamsFactory.js +412 -0
  96. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  97. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  98. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  99. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  100. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  101. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  102. package/dist/cjs/test/unit/keyPair.js +177 -0
  103. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  104. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  105. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  106. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  107. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  108. package/dist/cjs/test/unit/sol.js +3504 -0
  109. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  110. package/dist/cjs/test/unit/solInstructionFactory.js +454 -0
  111. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  112. package/dist/cjs/test/unit/solToken.js +31 -0
  113. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  114. package/dist/cjs/test/unit/transaction.js +1108 -0
  115. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  116. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  117. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  118. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +471 -0
  119. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts +2 -0
  120. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts.map +1 -0
  121. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.js +333 -0
  122. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  123. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  124. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  125. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  126. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  127. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  128. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  130. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  131. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  132. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  133. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  134. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  135. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +787 -0
  136. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  137. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  138. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  139. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +286 -0
  140. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  141. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +862 -0
  142. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  143. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  144. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  145. package/dist/cjs/test/unit/utils.js +517 -0
  146. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  147. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  148. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  149. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  150. package/dist/esm/config/token2022StaticConfig.d.ts +3 -0
  151. package/dist/esm/config/token2022StaticConfig.js +47 -0
  152. package/dist/esm/index.d.ts +7 -0
  153. package/dist/esm/index.js +7 -0
  154. package/dist/esm/lib/ataInitializationBuilder.d.ts +47 -0
  155. package/dist/esm/lib/ataInitializationBuilder.js +156 -0
  156. package/dist/esm/lib/closeAtaBuilder.d.ts +51 -0
  157. package/dist/esm/lib/closeAtaBuilder.d.ts.map +1 -0
  158. package/dist/esm/lib/closeAtaBuilder.js +140 -0
  159. package/dist/esm/lib/constants.d.ts +164 -0
  160. package/dist/esm/lib/constants.d.ts.map +1 -0
  161. package/dist/esm/lib/constants.js +193 -0
  162. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  163. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  164. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  165. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  166. package/dist/esm/lib/explainTransactionWasm.js +261 -0
  167. package/dist/esm/lib/iface.d.ts +262 -0
  168. package/dist/esm/lib/iface.d.ts.map +1 -0
  169. package/dist/esm/lib/iface.js +3 -0
  170. package/dist/esm/lib/index.d.ts +23 -0
  171. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  172. package/dist/esm/lib/index.js +23 -0
  173. package/dist/esm/lib/instructionParamsFactory.d.ts +13 -0
  174. package/dist/{src → esm}/lib/instructionParamsFactory.d.ts.map +1 -1
  175. package/dist/esm/lib/instructionParamsFactory.js +1052 -0
  176. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  177. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  178. package/dist/esm/lib/keyPair.d.ts +26 -0
  179. package/dist/esm/lib/keyPair.js +59 -0
  180. package/dist/esm/lib/messages/index.d.ts +2 -0
  181. package/dist/esm/lib/messages/index.js +2 -0
  182. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  183. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  184. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  185. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  186. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  187. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  188. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  189. package/dist/esm/lib/solInstructionFactory.js +589 -0
  190. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  191. package/dist/esm/lib/stakingActivateBuilder.js +113 -0
  192. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  193. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  194. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  195. package/dist/{src → esm}/lib/stakingDeactivateBuilder.js +31 -38
  196. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  197. package/dist/esm/lib/stakingDelegateBuilder.js +113 -0
  198. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  199. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  200. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  201. package/dist/esm/lib/stakingWithdrawBuilder.js +71 -0
  202. package/dist/esm/lib/token2022Config.d.ts +44 -0
  203. package/dist/esm/lib/token2022Config.js +23 -0
  204. package/dist/esm/lib/tokenTransferBuilder.d.ts +41 -0
  205. package/dist/esm/lib/tokenTransferBuilder.js +181 -0
  206. package/dist/esm/lib/transaction.d.ts +103 -0
  207. package/dist/esm/lib/transaction.d.ts.map +1 -0
  208. package/dist/esm/lib/transaction.js +605 -0
  209. package/dist/esm/lib/transactionBuilder.d.ts +128 -0
  210. package/dist/esm/lib/transactionBuilder.js +373 -0
  211. package/dist/esm/lib/transactionBuilderFactory.d.ts +120 -0
  212. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  213. package/dist/esm/lib/transactionBuilderFactory.js +205 -0
  214. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  215. package/dist/esm/lib/transferBuilder.js +63 -0
  216. package/dist/esm/lib/transferBuilderV2.d.ts +43 -0
  217. package/dist/esm/lib/transferBuilderV2.js +203 -0
  218. package/dist/esm/lib/utils.d.ts +200 -0
  219. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  220. package/dist/esm/lib/utils.js +567 -0
  221. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  222. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  223. package/dist/esm/register.d.ts +3 -0
  224. package/dist/esm/register.js +11 -0
  225. package/dist/esm/sol.d.ts +280 -0
  226. package/dist/esm/sol.d.ts.map +1 -0
  227. package/dist/esm/sol.js +1423 -0
  228. package/dist/esm/solToken.d.ts +37 -0
  229. package/dist/esm/solToken.js +65 -0
  230. package/dist/esm/tsol.d.ts +11 -0
  231. package/dist/esm/tsol.js +20 -0
  232. package/package.json +35 -16
  233. package/dist/src/config/token2022StaticConfig.js +0 -50
  234. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  235. package/dist/src/lib/closeAtaBuilder.d.ts +0 -19
  236. package/dist/src/lib/closeAtaBuilder.d.ts.map +0 -1
  237. package/dist/src/lib/closeAtaBuilder.js +0 -69
  238. package/dist/src/lib/constants.d.ts.map +0 -1
  239. package/dist/src/lib/constants.js +0 -171
  240. package/dist/src/lib/customInstructionBuilder.js +0 -289
  241. package/dist/src/lib/iface.d.ts.map +0 -1
  242. package/dist/src/lib/iface.js +0 -7
  243. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  244. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  245. package/dist/src/lib/keyPair.js +0 -63
  246. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  247. package/dist/src/lib/solInstructionFactory.js +0 -572
  248. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  249. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  250. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  251. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  252. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  253. package/dist/src/lib/token2022Config.js +0 -27
  254. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  255. package/dist/src/lib/transaction.d.ts.map +0 -1
  256. package/dist/src/lib/transaction.js +0 -595
  257. package/dist/src/lib/transactionBuilder.js +0 -380
  258. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  259. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  260. package/dist/src/lib/transferBuilder.js +0 -70
  261. package/dist/src/lib/transferBuilderV2.js +0 -210
  262. package/dist/src/lib/utils.js +0 -589
  263. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  264. package/dist/src/register.js +0 -15
  265. package/dist/src/sol.d.ts.map +0 -1
  266. package/dist/src/sol.js +0 -1285
  267. package/dist/src/solToken.js +0 -69
  268. package/dist/src/tsol.js +0 -24
  269. package/dist/test/fixtures/sol.js +0 -1433
  270. package/dist/test/resources/sol.d.ts.map +0 -1
  271. package/dist/test/resources/sol.js +0 -320
  272. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  273. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  274. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  275. package/dist/test/unit/getBuilderFactory.js +0 -10
  276. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  277. package/dist/test/unit/instructionParamsFactory.js +0 -412
  278. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  279. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  280. package/dist/test/unit/keyPair.js +0 -177
  281. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  282. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  283. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  284. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  285. package/dist/test/unit/sol.js +0 -3108
  286. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  287. package/dist/test/unit/solInstructionFactory.js +0 -454
  288. package/dist/test/unit/solToken.d.ts.map +0 -1
  289. package/dist/test/unit/solToken.js +0 -31
  290. package/dist/test/unit/transaction.d.ts.map +0 -1
  291. package/dist/test/unit/transaction.js +0 -983
  292. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  293. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  294. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  295. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  296. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  297. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  298. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  299. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  300. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  301. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  302. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  303. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  304. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  305. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  306. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  307. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  308. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  309. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  310. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  311. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  312. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  313. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  314. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  315. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  316. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  317. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  318. package/dist/test/unit/utils.js +0 -517
  319. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  320. package/dist/test/unit/versionedTransaction.js +0 -207
  321. package/dist/tsconfig.tsbuildinfo +0 -1
  322. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  323. /package/dist/{src → cjs/src}/config/token2022StaticConfig.d.ts +0 -0
  324. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  325. /package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +0 -0
  326. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  327. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  328. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  329. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  330. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  331. /package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +0 -0
  332. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  333. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  334. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  335. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  336. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  337. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  338. /package/dist/{src → cjs/src}/lib/token2022Config.d.ts +0 -0
  339. /package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +0 -0
  340. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  341. /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
  342. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  343. /package/dist/{src → cjs/src}/lib/transferBuilderV2.d.ts +0 -0
  344. /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
  345. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  346. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  347. /package/dist/{src → cjs/src}/solToken.d.ts +0 -0
  348. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  349. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  350. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  351. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  352. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  353. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  354. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  355. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  356. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  357. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  358. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  359. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  360. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  361. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  362. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  363. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  364. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  365. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  366. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  367. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  368. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  369. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  370. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  371. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  372. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  373. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  374. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  375. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  376. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  377. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  378. /package/dist/{src → esm}/config/token2022StaticConfig.d.ts.map +0 -0
  379. /package/dist/{src → esm}/index.d.ts.map +0 -0
  380. /package/dist/{src → esm}/lib/ataInitializationBuilder.d.ts.map +0 -0
  381. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  382. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  383. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  384. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  385. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  386. /package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +0 -0
  387. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  388. /package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +0 -0
  389. /package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +0 -0
  390. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  391. /package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +0 -0
  392. /package/dist/{src → esm}/lib/token2022Config.d.ts.map +0 -0
  393. /package/dist/{src → esm}/lib/tokenTransferBuilder.d.ts.map +0 -0
  394. /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
  395. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  396. /package/dist/{src → esm}/lib/transferBuilderV2.d.ts.map +0 -0
  397. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  398. /package/dist/{src → esm}/register.d.ts.map +0 -0
  399. /package/dist/{src → esm}/solToken.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