@bitgo-beta/sdk-coin-sol 7.6.4-beta.27 → 7.6.4-beta.270

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 (386) hide show
  1. package/dist/cjs/src/bigint-buffer-guard.d.ts.map +1 -0
  2. package/dist/cjs/src/bigint-buffer-guard.js +29 -0
  3. package/dist/cjs/src/config/token2022StaticConfig.d.ts.map +1 -0
  4. package/dist/cjs/src/config/token2022StaticConfig.js +50 -0
  5. package/dist/cjs/src/index.d.ts.map +1 -0
  6. package/dist/{src → cjs/src}/index.js +1 -1
  7. package/dist/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -0
  8. package/dist/cjs/src/lib/ataInitializationBuilder.js +196 -0
  9. package/dist/cjs/src/lib/closeAtaBuilder.d.ts.map +1 -0
  10. package/dist/cjs/src/lib/closeAtaBuilder.js +69 -0
  11. package/dist/{src → cjs/src}/lib/constants.d.ts +18 -0
  12. package/dist/cjs/src/lib/constants.d.ts.map +1 -0
  13. package/dist/cjs/src/lib/constants.js +189 -0
  14. package/dist/cjs/src/lib/customInstructionBuilder.d.ts.map +1 -0
  15. package/dist/cjs/src/lib/customInstructionBuilder.js +289 -0
  16. package/dist/cjs/src/lib/explainTransactionWasm.d.ts +21 -0
  17. package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -0
  18. package/dist/cjs/src/lib/explainTransactionWasm.js +264 -0
  19. package/dist/{src → cjs/src}/lib/iface.d.ts +7 -0
  20. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  21. package/dist/cjs/src/lib/iface.js +7 -0
  22. package/dist/{src → cjs/src}/lib/index.d.ts +1 -0
  23. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  24. package/dist/{src → cjs/src}/lib/index.js +4 -2
  25. package/dist/{src → cjs/src}/lib/instructionParamsFactory.d.ts +1 -0
  26. package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -0
  27. package/dist/cjs/src/lib/instructionParamsFactory.js +1037 -0
  28. package/dist/cjs/src/lib/jitoStakePoolOperations.d.ts.map +1 -0
  29. package/dist/cjs/src/lib/jitoStakePoolOperations.js +200 -0
  30. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  31. package/dist/cjs/src/lib/keyPair.js +63 -0
  32. package/dist/cjs/src/lib/messages/index.d.ts.map +1 -0
  33. package/dist/{src → cjs/src}/lib/messages/index.js +1 -1
  34. package/dist/cjs/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  35. package/dist/cjs/src/lib/messages/messageBuilderFactory.js +19 -0
  36. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  37. package/dist/cjs/src/lib/solInstructionFactory.js +572 -0
  38. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  39. package/dist/cjs/src/lib/stakingActivateBuilder.js +120 -0
  40. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  41. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  42. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  43. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +208 -0
  44. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  45. package/dist/cjs/src/lib/stakingDelegateBuilder.js +120 -0
  46. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  47. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  48. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +78 -0
  50. package/dist/cjs/src/lib/token2022Config.d.ts.map +1 -0
  51. package/dist/cjs/src/lib/token2022Config.js +27 -0
  52. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  53. package/dist/cjs/src/lib/tokenTransferBuilder.js +188 -0
  54. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  55. package/dist/cjs/src/lib/transaction.js +612 -0
  56. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  57. package/dist/cjs/src/lib/transactionBuilder.js +380 -0
  58. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  59. package/dist/cjs/src/lib/transactionBuilderFactory.js +202 -0
  60. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  61. package/dist/cjs/src/lib/transferBuilder.js +70 -0
  62. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  63. package/dist/cjs/src/lib/transferBuilderV2.js +210 -0
  64. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  65. package/dist/cjs/src/lib/utils.js +589 -0
  66. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  67. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  68. package/dist/cjs/src/register.d.ts.map +1 -0
  69. package/dist/cjs/src/register.js +15 -0
  70. package/dist/{src → cjs/src}/sol.d.ts +21 -0
  71. package/dist/cjs/src/sol.d.ts.map +1 -0
  72. package/dist/cjs/src/sol.js +1343 -0
  73. package/dist/cjs/src/solToken.d.ts.map +1 -0
  74. package/dist/cjs/src/solToken.js +69 -0
  75. package/dist/cjs/src/tsol.d.ts.map +1 -0
  76. package/dist/cjs/src/tsol.js +24 -0
  77. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  78. package/dist/cjs/test/fixtures/sol.js +1433 -0
  79. package/dist/{test → cjs/test}/resources/sol.d.ts +27 -27
  80. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  81. package/dist/cjs/test/resources/sol.js +320 -0
  82. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  83. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  84. package/dist/cjs/test/unit/explainTransactionWasm.js +26 -0
  85. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  86. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  87. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  88. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  89. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  90. package/dist/cjs/test/unit/instructionParamsFactory.js +412 -0
  91. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  92. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  93. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  94. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  95. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  96. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  97. package/dist/cjs/test/unit/keyPair.js +177 -0
  98. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  99. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  100. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  101. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  102. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  103. package/dist/cjs/test/unit/sol.js +3273 -0
  104. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  105. package/dist/cjs/test/unit/solInstructionFactory.js +454 -0
  106. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  107. package/dist/cjs/test/unit/solToken.js +31 -0
  108. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  109. package/dist/cjs/test/unit/transaction.js +1108 -0
  110. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  112. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  113. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +471 -0
  114. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  115. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  116. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  117. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  118. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  119. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  120. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  121. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  122. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  123. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  124. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  125. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  126. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  127. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +787 -0
  128. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  130. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  131. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +286 -0
  132. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  133. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +862 -0
  134. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  135. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  136. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  137. package/dist/cjs/test/unit/utils.js +517 -0
  138. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  139. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  140. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  141. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  142. package/dist/esm/config/token2022StaticConfig.d.ts +3 -0
  143. package/dist/esm/config/token2022StaticConfig.js +47 -0
  144. package/dist/esm/index.d.ts +7 -0
  145. package/dist/esm/index.js +7 -0
  146. package/dist/esm/lib/ataInitializationBuilder.d.ts +47 -0
  147. package/dist/esm/lib/ataInitializationBuilder.js +156 -0
  148. package/dist/esm/lib/closeAtaBuilder.d.ts +19 -0
  149. package/dist/esm/lib/closeAtaBuilder.js +62 -0
  150. package/dist/esm/lib/constants.d.ts +158 -0
  151. package/dist/esm/lib/constants.d.ts.map +1 -0
  152. package/dist/esm/lib/constants.js +186 -0
  153. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  154. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  155. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  156. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  157. package/dist/esm/lib/explainTransactionWasm.js +261 -0
  158. package/dist/esm/lib/iface.d.ts +251 -0
  159. package/dist/{src → esm}/lib/iface.d.ts.map +1 -1
  160. package/dist/esm/lib/iface.js +3 -0
  161. package/dist/esm/lib/index.d.ts +23 -0
  162. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  163. package/dist/esm/lib/index.js +23 -0
  164. package/dist/esm/lib/instructionParamsFactory.d.ts +13 -0
  165. package/dist/{src → esm}/lib/instructionParamsFactory.d.ts.map +1 -1
  166. package/dist/esm/lib/instructionParamsFactory.js +1030 -0
  167. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  168. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  169. package/dist/esm/lib/keyPair.d.ts +26 -0
  170. package/dist/esm/lib/keyPair.js +59 -0
  171. package/dist/esm/lib/messages/index.d.ts +2 -0
  172. package/dist/esm/lib/messages/index.js +2 -0
  173. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  174. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  175. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  176. package/dist/esm/lib/solInstructionFactory.js +566 -0
  177. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  178. package/dist/esm/lib/stakingActivateBuilder.js +113 -0
  179. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  180. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  181. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  182. package/dist/{src → esm}/lib/stakingDeactivateBuilder.js +31 -38
  183. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  184. package/dist/esm/lib/stakingDelegateBuilder.js +113 -0
  185. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  186. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  187. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  188. package/dist/esm/lib/stakingWithdrawBuilder.js +71 -0
  189. package/dist/esm/lib/token2022Config.d.ts +44 -0
  190. package/dist/esm/lib/token2022Config.js +23 -0
  191. package/dist/esm/lib/tokenTransferBuilder.d.ts +41 -0
  192. package/dist/esm/lib/tokenTransferBuilder.js +181 -0
  193. package/dist/esm/lib/transaction.d.ts +103 -0
  194. package/dist/esm/lib/transaction.d.ts.map +1 -0
  195. package/dist/esm/lib/transaction.js +605 -0
  196. package/dist/esm/lib/transactionBuilder.d.ts +128 -0
  197. package/dist/esm/lib/transactionBuilder.js +373 -0
  198. package/dist/esm/lib/transactionBuilderFactory.d.ts +115 -0
  199. package/dist/esm/lib/transactionBuilderFactory.js +198 -0
  200. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  201. package/dist/esm/lib/transferBuilder.js +63 -0
  202. package/dist/esm/lib/transferBuilderV2.d.ts +43 -0
  203. package/dist/esm/lib/transferBuilderV2.js +203 -0
  204. package/dist/esm/lib/utils.d.ts +200 -0
  205. package/dist/esm/lib/utils.js +552 -0
  206. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  207. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  208. package/dist/esm/register.d.ts +3 -0
  209. package/dist/esm/register.js +11 -0
  210. package/dist/esm/sol.d.ts +248 -0
  211. package/dist/esm/sol.d.ts.map +1 -0
  212. package/dist/esm/sol.js +1302 -0
  213. package/dist/esm/solToken.d.ts +37 -0
  214. package/dist/esm/solToken.js +65 -0
  215. package/dist/esm/tsol.d.ts +11 -0
  216. package/dist/esm/tsol.js +20 -0
  217. package/package.json +34 -15
  218. package/dist/src/config/token2022StaticConfig.js +0 -50
  219. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  220. package/dist/src/lib/closeAtaBuilder.js +0 -69
  221. package/dist/src/lib/constants.d.ts.map +0 -1
  222. package/dist/src/lib/constants.js +0 -171
  223. package/dist/src/lib/customInstructionBuilder.js +0 -289
  224. package/dist/src/lib/iface.js +0 -7
  225. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  226. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  227. package/dist/src/lib/keyPair.js +0 -63
  228. package/dist/src/lib/solInstructionFactory.js +0 -572
  229. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  230. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  231. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  232. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  233. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  234. package/dist/src/lib/token2022Config.js +0 -27
  235. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  236. package/dist/src/lib/transaction.d.ts.map +0 -1
  237. package/dist/src/lib/transaction.js +0 -595
  238. package/dist/src/lib/transactionBuilder.js +0 -380
  239. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  240. package/dist/src/lib/transferBuilder.js +0 -70
  241. package/dist/src/lib/transferBuilderV2.js +0 -210
  242. package/dist/src/lib/utils.js +0 -589
  243. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  244. package/dist/src/register.js +0 -15
  245. package/dist/src/sol.d.ts.map +0 -1
  246. package/dist/src/sol.js +0 -1285
  247. package/dist/src/solToken.js +0 -69
  248. package/dist/src/tsol.js +0 -24
  249. package/dist/test/fixtures/sol.js +0 -1433
  250. package/dist/test/resources/sol.d.ts.map +0 -1
  251. package/dist/test/resources/sol.js +0 -320
  252. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  253. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  254. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  255. package/dist/test/unit/getBuilderFactory.js +0 -10
  256. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  257. package/dist/test/unit/instructionParamsFactory.js +0 -412
  258. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  259. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  260. package/dist/test/unit/keyPair.js +0 -177
  261. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  262. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  263. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  264. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  265. package/dist/test/unit/sol.js +0 -3108
  266. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  267. package/dist/test/unit/solInstructionFactory.js +0 -454
  268. package/dist/test/unit/solToken.d.ts.map +0 -1
  269. package/dist/test/unit/solToken.js +0 -31
  270. package/dist/test/unit/transaction.d.ts.map +0 -1
  271. package/dist/test/unit/transaction.js +0 -983
  272. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  273. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  274. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  275. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  276. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  277. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  278. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  279. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  280. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  281. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  282. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  283. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  284. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  285. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  286. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  287. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  288. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  289. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  290. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  291. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  292. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  293. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  294. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  295. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  296. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  297. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  298. package/dist/test/unit/utils.js +0 -517
  299. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  300. package/dist/test/unit/versionedTransaction.js +0 -207
  301. package/dist/tsconfig.tsbuildinfo +0 -1
  302. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  303. /package/dist/{src → cjs/src}/config/token2022StaticConfig.d.ts +0 -0
  304. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  305. /package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +0 -0
  306. /package/dist/{src → cjs/src}/lib/closeAtaBuilder.d.ts +0 -0
  307. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  308. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  309. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  310. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  311. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  312. /package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +0 -0
  313. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  314. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  315. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  316. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  317. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  318. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  319. /package/dist/{src → cjs/src}/lib/token2022Config.d.ts +0 -0
  320. /package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +0 -0
  321. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  322. /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
  323. /package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +0 -0
  324. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  325. /package/dist/{src → cjs/src}/lib/transferBuilderV2.d.ts +0 -0
  326. /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
  327. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  328. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  329. /package/dist/{src → cjs/src}/solToken.d.ts +0 -0
  330. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  331. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  332. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  333. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  334. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  335. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  336. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  337. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  338. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  339. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  340. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  341. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  342. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  343. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  344. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  345. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  346. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  347. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  348. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  349. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  350. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  351. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  352. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  353. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  354. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  355. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  356. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  357. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  358. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  359. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  360. /package/dist/{src → esm}/config/token2022StaticConfig.d.ts.map +0 -0
  361. /package/dist/{src → esm}/index.d.ts.map +0 -0
  362. /package/dist/{src → esm}/lib/ataInitializationBuilder.d.ts.map +0 -0
  363. /package/dist/{src → esm}/lib/closeAtaBuilder.d.ts.map +0 -0
  364. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  365. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  366. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  367. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  368. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  369. /package/dist/{src → esm}/lib/solInstructionFactory.d.ts.map +0 -0
  370. /package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +0 -0
  371. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  372. /package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +0 -0
  373. /package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +0 -0
  374. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  375. /package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +0 -0
  376. /package/dist/{src → esm}/lib/token2022Config.d.ts.map +0 -0
  377. /package/dist/{src → esm}/lib/tokenTransferBuilder.d.ts.map +0 -0
  378. /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
  379. /package/dist/{src → esm}/lib/transactionBuilderFactory.d.ts.map +0 -0
  380. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  381. /package/dist/{src → esm}/lib/transferBuilderV2.d.ts.map +0 -0
  382. /package/dist/{src → esm}/lib/utils.d.ts.map +0 -0
  383. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  384. /package/dist/{src → esm}/register.d.ts.map +0 -0
  385. /package/dist/{src → esm}/solToken.d.ts.map +0 -0
  386. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -0,0 +1,115 @@
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 { 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 { TransactionBuilder } from './transactionBuilder';
15
+ import { TransferBuilder } from './transferBuilder';
16
+ import { TransferBuilderV2 } from './transferBuilderV2';
17
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
18
+ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
19
+ constructor(_coinConfig: Readonly<CoinConfig>);
20
+ /**
21
+ * Returns a proper builder for the given encoded transaction
22
+ *
23
+ * @param { string} raw - Encoded transaction in base64 string format
24
+ */
25
+ from(raw: string): TransactionBuilder | StakingRawMsgAuthorizeBuilder;
26
+ /** @inheritdoc */
27
+ getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
28
+ /** @inheritdoc */
29
+ getTransferBuilder(tx?: Transaction): TransferBuilder;
30
+ /** @inheritdoc */
31
+ getTokenTransferBuilder(tx?: Transaction): TokenTransferBuilder;
32
+ /**
33
+ * Returns the transfer builder V2 to create a funds transfer transaction
34
+ */
35
+ getTransferBuilderV2(tx?: Transaction): TransferBuilderV2;
36
+ /**
37
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
38
+ * once the tx reach the network it will automatically by activated on next epoch
39
+ *
40
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
41
+ *
42
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
43
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
44
+ */
45
+ getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder;
46
+ /**
47
+ * Returns the builder to create a staking deactivate transaction.
48
+ * Deactivated is set in the current epoch + cooldown
49
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
50
+ *
51
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
52
+ *
53
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
54
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
55
+ */
56
+ getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder;
57
+ /**
58
+ * Returns the builder to create a staking withdraw transaction.
59
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
60
+ *
61
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
62
+ *
63
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
64
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
65
+ */
66
+ getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder;
67
+ /**
68
+ * Returns the builder to authorized staking account.
69
+ *
70
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
71
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
72
+ */
73
+ getStakingAuthorizeBuilder(tx?: Transaction): StakingAuthorizeBuilder;
74
+ /**
75
+ * Returns the builder to delegate staking account.
76
+ *
77
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
78
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
79
+ */
80
+ getStakingDelegateBuilder(tx?: Transaction): StakingDelegateBuilder;
81
+ /**
82
+ * Returns the raw message builder to authorized staking account.
83
+ *
84
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
85
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
86
+ */
87
+ getStakingRawMsgAuthorizeBuilder(tx?: Transaction): StakingRawMsgAuthorizeBuilder;
88
+ /**
89
+ * Returns the builder to create a create associated token account transaction.
90
+ */
91
+ getAtaInitializationBuilder(tx?: Transaction): AtaInitializationBuilder;
92
+ /**
93
+ * Returns the builder to create a close associated token account transaction.
94
+ */
95
+ getCloseAtaInitializationBuilder(tx?: Transaction): CloseAtaBuilder;
96
+ /**
97
+ * Returns the builder to create transactions with custom Solana instructions.
98
+ */
99
+ getCustomInstructionBuilder(tx?: Transaction): CustomInstructionBuilder;
100
+ /**
101
+ * Initialize the builder with the given transaction
102
+ *
103
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
104
+ * @param {TransactionBuilder} builder - the builder to be initialized
105
+ * @returns {TransactionBuilder} the builder initialized
106
+ */
107
+ private initializeBuilder;
108
+ /** Parse the transaction from a raw transaction
109
+ *
110
+ * @param {string} rawTransaction - the raw tx
111
+ * @returns {Transaction} parsed transaction
112
+ */
113
+ private parseTransaction;
114
+ }
115
+ //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -0,0 +1,198 @@
1
+ import { BaseTransactionBuilderFactory, InvalidTransactionError, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { AtaInitializationBuilder } from './ataInitializationBuilder';
3
+ import { CloseAtaBuilder } from './closeAtaBuilder';
4
+ import { CustomInstructionBuilder } from './customInstructionBuilder';
5
+ import { StakingActivateBuilder } from './stakingActivateBuilder';
6
+ import { StakingAuthorizeBuilder } from './stakingAuthorizeBuilder';
7
+ import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
8
+ import { StakingDelegateBuilder } from './stakingDelegateBuilder';
9
+ import { StakingRawMsgAuthorizeBuilder } from './stakingRawMsgAuthorizeBuilder';
10
+ import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
11
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
12
+ import { Transaction } from './transaction';
13
+ import { TransferBuilder } from './transferBuilder';
14
+ import { TransferBuilderV2 } from './transferBuilderV2';
15
+ import { validateRawTransaction } from './utils';
16
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
17
+ export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
18
+ constructor(_coinConfig) {
19
+ super(_coinConfig);
20
+ }
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) {
27
+ validateRawTransaction(raw);
28
+ const tx = this.parseTransaction(raw);
29
+ try {
30
+ switch (tx.type) {
31
+ case TransactionType.Send:
32
+ const uniqueInputCoins = tx.inputs
33
+ .map((input) => input.coin)
34
+ .filter((coin, index, arr) => arr.indexOf(coin) === index);
35
+ if (uniqueInputCoins.includes('sol') || uniqueInputCoins.includes('tsol')) {
36
+ return this.getTransferBuilderV2(tx);
37
+ }
38
+ else {
39
+ return this.getTokenTransferBuilder(tx);
40
+ }
41
+ case TransactionType.WalletInitialization:
42
+ return this.getWalletInitializationBuilder(tx);
43
+ case TransactionType.StakingActivate:
44
+ return this.getStakingActivateBuilder(tx);
45
+ case TransactionType.StakingDeactivate:
46
+ return this.getStakingDeactivateBuilder(tx);
47
+ case TransactionType.StakingWithdraw:
48
+ return this.getStakingWithdrawBuilder(tx);
49
+ case TransactionType.AssociatedTokenAccountInitialization:
50
+ return this.getAtaInitializationBuilder(tx);
51
+ case TransactionType.StakingAuthorize:
52
+ return this.getStakingAuthorizeBuilder(tx);
53
+ case TransactionType.StakingAuthorizeRaw:
54
+ return this.getStakingRawMsgAuthorizeBuilder(tx);
55
+ case TransactionType.StakingDelegate:
56
+ return this.getStakingDelegateBuilder(tx);
57
+ case TransactionType.CloseAssociatedTokenAccount:
58
+ return this.getCloseAtaInitializationBuilder(tx);
59
+ case TransactionType.CustomTx:
60
+ return this.getCustomInstructionBuilder(tx);
61
+ default:
62
+ throw new InvalidTransactionError('Invalid transaction');
63
+ }
64
+ }
65
+ catch (e) {
66
+ throw e;
67
+ }
68
+ }
69
+ /** @inheritdoc */
70
+ getWalletInitializationBuilder(tx) {
71
+ return this.initializeBuilder(tx, new WalletInitializationBuilder(this._coinConfig));
72
+ }
73
+ /** @inheritdoc */
74
+ getTransferBuilder(tx) {
75
+ return this.initializeBuilder(tx, new TransferBuilder(this._coinConfig));
76
+ }
77
+ /** @inheritdoc */
78
+ getTokenTransferBuilder(tx) {
79
+ return this.initializeBuilder(tx, new TokenTransferBuilder(this._coinConfig));
80
+ }
81
+ /**
82
+ * Returns the transfer builder V2 to create a funds transfer transaction
83
+ */
84
+ getTransferBuilderV2(tx) {
85
+ return this.initializeBuilder(tx, new TransferBuilderV2(this._coinConfig));
86
+ }
87
+ /**
88
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
89
+ * once the tx reach the network it will automatically by activated on next epoch
90
+ *
91
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
92
+ *
93
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
94
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
95
+ */
96
+ getStakingActivateBuilder(tx) {
97
+ return this.initializeBuilder(tx, new StakingActivateBuilder(this._coinConfig));
98
+ }
99
+ /**
100
+ * Returns the builder to create a staking deactivate transaction.
101
+ * Deactivated is set in the current epoch + cooldown
102
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
103
+ *
104
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
105
+ *
106
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
107
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
108
+ */
109
+ getStakingDeactivateBuilder(tx) {
110
+ return this.initializeBuilder(tx, new StakingDeactivateBuilder(this._coinConfig));
111
+ }
112
+ /**
113
+ * Returns the builder to create a staking withdraw transaction.
114
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
115
+ *
116
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
117
+ *
118
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
119
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
120
+ */
121
+ getStakingWithdrawBuilder(tx) {
122
+ return this.initializeBuilder(tx, new StakingWithdrawBuilder(this._coinConfig));
123
+ }
124
+ /**
125
+ * Returns the builder to authorized staking account.
126
+ *
127
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
128
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
129
+ */
130
+ getStakingAuthorizeBuilder(tx) {
131
+ return this.initializeBuilder(tx, new StakingAuthorizeBuilder(this._coinConfig));
132
+ }
133
+ /**
134
+ * Returns the builder to delegate staking account.
135
+ *
136
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
137
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
138
+ */
139
+ getStakingDelegateBuilder(tx) {
140
+ return this.initializeBuilder(tx, new StakingDelegateBuilder(this._coinConfig));
141
+ }
142
+ /**
143
+ * Returns the raw message builder to authorized staking account.
144
+ *
145
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
146
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
147
+ */
148
+ getStakingRawMsgAuthorizeBuilder(tx) {
149
+ const builder = new StakingRawMsgAuthorizeBuilder(this._coinConfig);
150
+ if (tx) {
151
+ builder.initBuilder(tx);
152
+ }
153
+ return builder;
154
+ }
155
+ /**
156
+ * Returns the builder to create a create associated token account transaction.
157
+ */
158
+ getAtaInitializationBuilder(tx) {
159
+ return this.initializeBuilder(tx, new AtaInitializationBuilder(this._coinConfig));
160
+ }
161
+ /**
162
+ * Returns the builder to create a close associated token account transaction.
163
+ */
164
+ getCloseAtaInitializationBuilder(tx) {
165
+ return this.initializeBuilder(tx, new CloseAtaBuilder(this._coinConfig));
166
+ }
167
+ /**
168
+ * Returns the builder to create transactions with custom Solana instructions.
169
+ */
170
+ getCustomInstructionBuilder(tx) {
171
+ return this.initializeBuilder(tx, new CustomInstructionBuilder(this._coinConfig));
172
+ }
173
+ /**
174
+ * Initialize the builder with the given transaction
175
+ *
176
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
177
+ * @param {TransactionBuilder} builder - the builder to be initialized
178
+ * @returns {TransactionBuilder} the builder initialized
179
+ */
180
+ initializeBuilder(tx, builder) {
181
+ if (tx) {
182
+ builder.initBuilder(tx);
183
+ }
184
+ return builder;
185
+ }
186
+ /** Parse the transaction from a raw transaction
187
+ *
188
+ * @param {string} rawTransaction - the raw tx
189
+ * @returns {Transaction} parsed transaction
190
+ */
191
+ parseTransaction(rawTransaction) {
192
+ const tx = new Transaction(this._coinConfig);
193
+ tx.setUseTokenAddressTokenName(true);
194
+ tx.fromRawTransaction(rawTransaction);
195
+ return tx;
196
+ }
197
+ }
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxNQUFNLE9BQU8seUJB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QztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsY0FBc0I7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEF0YUluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IENsb3NlQXRhQnVpbGRlciB9IGZyb20gJy4vY2xvc2VBdGFCdWlsZGVyJztcbmltcG9ydCB7IEN1c3RvbUluc3RydWN0aW9uQnVpbGRlciB9IGZyb20gJy4vY3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBdXRob3JpemVCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdXaXRoZHJhd0J1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXJWMiB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyVjInO1xuaW1wb3J0IHsgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBwcm9wZXIgYnVpbGRlciBmb3IgdGhlIGdpdmVuIGVuY29kZWQgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHsgc3RyaW5nfSByYXcgLSBFbmNvZGVkIHRyYW5zYWN0aW9uIGluIGJhc2U2NCBzdHJpbmcgZm9ybWF0XG4gICAqL1xuICBmcm9tKHJhdzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHwgU3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIge1xuICAgIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICBjb25zdCB0eCA9IHRoaXMucGFyc2VUcmFuc2FjdGlvbihyYXcpO1xuICAgIHRyeSB7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICBjb25zdCB1bmlxdWVJbnB1dENvaW5zID0gdHguaW5wdXRzXG4gICAgICAgICAgICAubWFwKChpbnB1dCkgPT4gaW5wdXQuY29pbilcbiAgICAgICAgICAgIC5maWx0ZXIoKGNvaW4sIGluZGV4LCBhcnIpID0+IGFyci5pbmRleE9mKGNvaW4pID09PSBpbmRleCk7XG4gICAgICAgICAgaWYgKHVuaXF1ZUlucHV0Q29pbnMuaW5jbHVkZXMoJ3NvbCcpIHx8IHVuaXF1ZUlucHV0Q29pbnMuaW5jbHVkZXMoJ3Rzb2wnKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyVjIodHgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nV2l0aGRyYXdCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldEF0YUluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBdXRob3JpemU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQXV0aG9yaXplUmF3OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlbGVnYXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5DbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2xvc2VBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVG9rZW5UcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRyYW5zZmVyIGJ1aWxkZXIgVjIgdG8gY3JlYXRlIGEgZnVuZHMgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRyYW5zZmVyQnVpbGRlclYyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXJWMiB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXJWMih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3Rha2luZyBidWlsZGVyIHRvIGNyZWF0ZSBhIHN0YWtpbmcgYWNjb3VudCBhbmQgYWxzbyBhIGRlbGVnYXRlIGluIG9uZSB0cmFuc2FjdGlvbi5cbiAgICogb25jZSB0aGUgdHggcmVhY2ggdGhlIG5ldHdvcmsgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGJ5IGFjdGl2YXRlZCBvbiBuZXh0IGVwb2NoXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vY2x1c3Rlci9zdGFrZS1kZWxlZ2F0aW9uLWFuZC1yZXdhcmRzI3N0YWtlLXdhcm11cC1jb29sZG93bi13aXRoZHJhd2FsXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyfSAtIHRoZSBpbml0aWFsaXplZCBzdGFraW5nIGFjdGl2YXRlIGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgYSBzdGFraW5nIGRlYWN0aXZhdGUgdHJhbnNhY3Rpb24uXG4gICAqIERlYWN0aXZhdGVkIGlzIHNldCBpbiB0aGUgY3VycmVudCBlcG9jaCArIGNvb2xkb3duXG4gICAqIFRoZSBhY2NvdW50J3Mgc3Rha2Ugd2lsbCByYW1wIGRvd24gdG8gemVybyBieSB0aGF0IGVwb2NoLCBhbmQgdGhlIGxhbXBvcnRzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciB3aXRoZHJhd2FsLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL2NsdXN0ZXIvc3Rha2UtZGVsZWdhdGlvbi1hbmQtcmV3YXJkcyNzdGFrZS13YXJtdXAtY29vbGRvd24td2l0aGRyYXdhbFxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcn0gLSB0aGUgaW5pdGlhbGl6ZWQgc3Rha2luZyBkZWFjdGl2YXRlIGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgYSBzdGFraW5nIHdpdGhkcmF3IHRyYW5zYWN0aW9uLlxuICAgKiBvbmNlIHRoZSBzdGFraW5nIGFjY291bnQgcmVhY2ggMCBTT0wgaXQgd2lsbCBub3QgYmUgdHJhY2VhYmxlIGFueW1vcmUgYnkgdGhlIG5ldHdvcmtcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3Muc29sYW5hLmNvbS9zdGFraW5nL3N0YWtlLWFjY291bnRzI2Rlc3Ryb3lpbmctYS1zdGFrZS1hY2NvdW50XG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gaW50aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nV2l0aGRyYXdCdWlsZGVyfSAtIHRoZSBpbml0aWFsaXplZCBzdGFraW5nIHdpdGhkcmF3IGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ1dpdGhkcmF3QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBhdXRob3JpemVkIHN0YWtpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBpbnRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdBdXRob3JpemVCdWlsZGVyfSAtIHRoZSBpbml0aWFsaXplZCBzdGFraW5nIGF1dGhvcml6ZSBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nQXV0aG9yaXplQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGRlbGVnYXRlIHN0YWtpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBkZWxlZ2F0ZSBzdGFraW5nIGFjY291bnRcbiAgICogQHJldHVybnMge1N0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXJ9IC0gdGhlIHN0YWtpbmcgZGVsZWdhdGUgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ0RlbGVnYXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0RlbGVnYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nRGVsZWdhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByYXcgbWVzc2FnZSBidWlsZGVyIHRvIGF1dGhvcml6ZWQgc3Rha2luZyBhY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGludGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ1dpdGhkcmF3QnVpbGRlcn0gLSB0aGUgaW5pdGlhbGl6ZWQgc3Rha2luZyBhdXRob3JpemUgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gbmV3IFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gY3JlYXRlIGEgY3JlYXRlIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudCB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGdldEF0YUluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEF0YUluaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgYSBjbG9zZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBnZXRDbG9zZUF0YUluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQ2xvc2VBdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENsb3NlQXRhQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgdHJhbnNhY3Rpb25zIHdpdGggY3VzdG9tIFNvbGFuYSBpbnN0cnVjdGlvbnMuXG4gICAqL1xuICBnZXRDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEN1c3RvbUluc3RydWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogUGFyc2UgdGhlIHRyYW5zYWN0aW9uIGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gdGhlIHJhdyB0eFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IHBhcnNlZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdHguc2V0VXNlVG9rZW5BZGRyZXNzVG9rZW5OYW1lKHRydWUpO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIHR4O1xuICB9XG59XG4iXX0=
@@ -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