@bitgo-beta/sdk-coin-sol 7.6.4-beta.45 → 7.6.4-beta.451

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