@bitgo-beta/sdk-coin-sol 7.6.4-beta.52 → 7.6.4-beta.521

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