@bitgo-beta/sdk-coin-sol 7.6.4-beta.72 → 7.6.4-beta.721

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 (508) 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/index.d.ts.map +1 -0
  4. package/dist/{src → cjs/src}/index.js +1 -1
  5. package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +12 -1
  6. package/dist/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -0
  7. package/dist/cjs/src/lib/ataInitializationBuilder.js +231 -0
  8. package/dist/cjs/src/lib/closeAtaBuilder.d.ts +55 -0
  9. package/dist/cjs/src/lib/closeAtaBuilder.d.ts.map +1 -0
  10. package/dist/cjs/src/lib/closeAtaBuilder.js +162 -0
  11. package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts +128 -0
  12. package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts.map +1 -0
  13. package/dist/cjs/src/lib/confidentialTransferBuilder.js +311 -0
  14. package/dist/{src → cjs/src}/lib/constants.d.ts +96 -2
  15. package/dist/cjs/src/lib/constants.d.ts.map +1 -0
  16. package/dist/cjs/src/lib/constants.js +276 -0
  17. package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +13 -2
  18. package/dist/cjs/src/lib/customInstructionBuilder.d.ts.map +1 -0
  19. package/dist/cjs/src/lib/customInstructionBuilder.js +392 -0
  20. package/dist/cjs/src/lib/explainTransactionWasm.d.ts +21 -0
  21. package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -0
  22. package/dist/cjs/src/lib/explainTransactionWasm.js +304 -0
  23. package/dist/cjs/src/lib/iface.d.ts +526 -0
  24. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  25. package/dist/cjs/src/lib/iface.js +7 -0
  26. package/dist/{src → cjs/src}/lib/index.d.ts +6 -0
  27. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  28. package/dist/cjs/src/lib/index.js +97 -0
  29. package/dist/{src → cjs/src}/lib/instructionParamsFactory.d.ts +3 -1
  30. package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -0
  31. package/dist/cjs/src/lib/instructionParamsFactory.js +1280 -0
  32. package/dist/cjs/src/lib/jitoStakePoolOperations.d.ts.map +1 -0
  33. package/dist/cjs/src/lib/jitoStakePoolOperations.js +200 -0
  34. package/dist/{src → cjs/src}/lib/keyPair.d.ts +6 -0
  35. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  36. package/dist/cjs/src/lib/keyPair.js +112 -0
  37. package/dist/cjs/src/lib/messages/index.d.ts.map +1 -0
  38. package/dist/{src → cjs/src}/lib/messages/index.js +1 -1
  39. package/dist/cjs/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  40. package/dist/cjs/src/lib/messages/messageBuilderFactory.js +19 -0
  41. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts +25 -0
  42. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  43. package/dist/cjs/src/lib/recoverNestedAtaBuilder.js +90 -0
  44. package/dist/cjs/src/lib/scaledUiAmount.d.ts +30 -0
  45. package/dist/cjs/src/lib/scaledUiAmount.d.ts.map +1 -0
  46. package/dist/cjs/src/lib/scaledUiAmount.js +112 -0
  47. package/dist/cjs/src/lib/serialization/codecs/v1/config.d.ts +21 -0
  48. package/dist/cjs/src/lib/serialization/codecs/v1/config.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/serialization/codecs/v1/config.js +34 -0
  50. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.d.ts +14 -0
  51. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.d.ts.map +1 -0
  52. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.js +32 -0
  53. package/dist/cjs/src/lib/serialization/codecs/v1/message.d.ts +27 -0
  54. package/dist/cjs/src/lib/serialization/codecs/v1/message.d.ts.map +1 -0
  55. package/dist/cjs/src/lib/serialization/codecs/v1/message.js +196 -0
  56. package/dist/cjs/src/lib/serialization/compileTransactionMessage.d.ts +30 -0
  57. package/dist/cjs/src/lib/serialization/compileTransactionMessage.d.ts.map +1 -0
  58. package/dist/cjs/src/lib/serialization/compileTransactionMessage.js +205 -0
  59. package/dist/cjs/src/lib/serialization/index.d.ts +5 -0
  60. package/dist/cjs/src/lib/serialization/index.d.ts.map +1 -0
  61. package/dist/cjs/src/lib/serialization/index.js +27 -0
  62. package/dist/cjs/src/lib/serialization/parseWireTransaction.d.ts +9 -0
  63. package/dist/cjs/src/lib/serialization/parseWireTransaction.d.ts.map +1 -0
  64. package/dist/cjs/src/lib/serialization/parseWireTransaction.js +58 -0
  65. package/dist/cjs/src/lib/serialization/wire-transaction.d.ts +14 -0
  66. package/dist/cjs/src/lib/serialization/wire-transaction.d.ts.map +1 -0
  67. package/dist/cjs/src/lib/serialization/wire-transaction.js +51 -0
  68. package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +1 -1
  69. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  70. package/dist/cjs/src/lib/solInstructionFactory.js +1094 -0
  71. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  72. package/dist/cjs/src/lib/stakingActivateBuilder.js +129 -0
  73. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  74. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  75. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  76. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +214 -0
  77. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  78. package/dist/cjs/src/lib/stakingDelegateBuilder.js +126 -0
  79. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  80. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  81. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  82. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +87 -0
  83. package/dist/cjs/src/lib/token2022Resolve.d.ts +106 -0
  84. package/dist/cjs/src/lib/token2022Resolve.d.ts.map +1 -0
  85. package/dist/cjs/src/lib/token2022Resolve.js +199 -0
  86. package/dist/cjs/src/lib/tokenExtensions.d.ts +26 -0
  87. package/dist/cjs/src/lib/tokenExtensions.d.ts.map +1 -0
  88. package/dist/cjs/src/lib/tokenExtensions.js +109 -0
  89. package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +27 -1
  90. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  91. package/dist/cjs/src/lib/tokenTransferBuilder.js +237 -0
  92. package/dist/{src → cjs/src}/lib/transaction.d.ts +34 -1
  93. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  94. package/dist/cjs/src/lib/transaction.js +691 -0
  95. package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +42 -1
  96. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  97. package/dist/cjs/src/lib/transactionBuilder.js +462 -0
  98. package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +14 -0
  99. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  100. package/dist/cjs/src/lib/transactionBuilderFactory.js +222 -0
  101. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  102. package/dist/cjs/src/lib/transferBuilder.js +81 -0
  103. package/dist/cjs/src/lib/transferBuilderV2.d.ts +69 -0
  104. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  105. package/dist/cjs/src/lib/transferBuilderV2.js +252 -0
  106. package/dist/{src → cjs/src}/lib/utils.d.ts +5 -0
  107. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  108. package/dist/cjs/src/lib/utils.js +665 -0
  109. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  110. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  111. package/dist/cjs/src/register.d.ts +5 -0
  112. package/dist/cjs/src/register.d.ts.map +1 -0
  113. package/dist/cjs/src/register.js +29 -0
  114. package/dist/{src → cjs/src}/sol.d.ts +114 -3
  115. package/dist/cjs/src/sol.d.ts.map +1 -0
  116. package/dist/cjs/src/sol.js +1673 -0
  117. package/dist/{src → cjs/src}/solToken.d.ts +7 -0
  118. package/dist/cjs/src/solToken.d.ts.map +1 -0
  119. package/dist/cjs/src/solToken.js +79 -0
  120. package/dist/cjs/src/tsol.d.ts.map +1 -0
  121. package/dist/cjs/src/tsol.js +24 -0
  122. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  123. package/dist/cjs/test/fixtures/sol.js +1433 -0
  124. package/dist/{test → cjs/test}/resources/sol.d.ts +29 -29
  125. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  126. package/dist/cjs/test/resources/sol.js +320 -0
  127. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  128. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/explainTransactionWasm.js +66 -0
  130. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  131. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  132. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  133. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  134. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  135. package/dist/cjs/test/unit/instructionParamsFactory.js +425 -0
  136. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  137. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  138. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  139. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  140. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  141. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  142. package/dist/cjs/test/unit/keyPair.js +177 -0
  143. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  144. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  145. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  146. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  147. package/dist/cjs/test/unit/register.d.ts +2 -0
  148. package/dist/cjs/test/unit/register.d.ts.map +1 -0
  149. package/dist/cjs/test/unit/register.js +65 -0
  150. package/dist/cjs/test/unit/scaledUiAmount.d.ts +2 -0
  151. package/dist/cjs/test/unit/scaledUiAmount.d.ts.map +1 -0
  152. package/dist/cjs/test/unit/scaledUiAmount.js +101 -0
  153. package/dist/cjs/test/unit/serialization/decodeV1Message.d.ts +2 -0
  154. package/dist/cjs/test/unit/serialization/decodeV1Message.d.ts.map +1 -0
  155. package/dist/cjs/test/unit/serialization/decodeV1Message.js +63 -0
  156. package/dist/cjs/test/unit/serialization/exportV1.d.ts +2 -0
  157. package/dist/cjs/test/unit/serialization/exportV1.d.ts.map +1 -0
  158. package/dist/cjs/test/unit/serialization/exportV1.js +21 -0
  159. package/dist/cjs/test/unit/serialization/parseWireTransaction.d.ts +2 -0
  160. package/dist/cjs/test/unit/serialization/parseWireTransaction.d.ts.map +1 -0
  161. package/dist/cjs/test/unit/serialization/parseWireTransaction.js +90 -0
  162. package/dist/cjs/test/unit/serialization/transactionV1.d.ts +2 -0
  163. package/dist/cjs/test/unit/serialization/transactionV1.d.ts.map +1 -0
  164. package/dist/cjs/test/unit/serialization/transactionV1.js +136 -0
  165. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  166. package/dist/cjs/test/unit/sol.js +5092 -0
  167. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  168. package/dist/cjs/test/unit/solInstructionFactory.js +623 -0
  169. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  170. package/dist/cjs/test/unit/solToken.js +37 -0
  171. package/dist/cjs/test/unit/token2022Resolve.d.ts +2 -0
  172. package/dist/cjs/test/unit/token2022Resolve.d.ts.map +1 -0
  173. package/dist/cjs/test/unit/token2022Resolve.js +252 -0
  174. package/dist/cjs/test/unit/tokenExtensions.d.ts +2 -0
  175. package/dist/cjs/test/unit/tokenExtensions.d.ts.map +1 -0
  176. package/dist/cjs/test/unit/tokenExtensions.js +73 -0
  177. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  178. package/dist/cjs/test/unit/transaction.js +1129 -0
  179. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  180. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  181. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  182. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +508 -0
  183. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts +2 -0
  184. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts.map +1 -0
  185. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.js +343 -0
  186. package/dist/cjs/test/unit/transactionBuilder/computeUnitLimit.d.ts +2 -0
  187. package/dist/cjs/test/unit/transactionBuilder/computeUnitLimit.d.ts.map +1 -0
  188. package/dist/cjs/test/unit/transactionBuilder/computeUnitLimit.js +346 -0
  189. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts +2 -0
  190. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts.map +1 -0
  191. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.js +909 -0
  192. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.d.ts +2 -0
  193. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.d.ts.map +1 -0
  194. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.js +144 -0
  195. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.d.ts +2 -0
  196. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.d.ts.map +1 -0
  197. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.js +167 -0
  198. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  199. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +724 -0
  200. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  201. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  202. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  203. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  204. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  205. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  206. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  207. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  208. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  209. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  210. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  211. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +926 -0
  212. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  213. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  214. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  215. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +302 -0
  216. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  217. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +910 -0
  218. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  219. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  220. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  221. package/dist/cjs/test/unit/utils.js +628 -0
  222. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  223. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  224. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  225. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  226. package/dist/esm/index.d.ts +7 -0
  227. package/dist/esm/index.js +7 -0
  228. package/dist/esm/lib/ataInitializationBuilder.d.ts +58 -0
  229. package/dist/esm/lib/ataInitializationBuilder.d.ts.map +1 -0
  230. package/dist/esm/lib/ataInitializationBuilder.js +191 -0
  231. package/dist/esm/lib/closeAtaBuilder.d.ts +55 -0
  232. package/dist/esm/lib/closeAtaBuilder.d.ts.map +1 -0
  233. package/dist/esm/lib/closeAtaBuilder.js +155 -0
  234. package/dist/esm/lib/confidentialTransferBuilder.d.ts +128 -0
  235. package/dist/esm/lib/confidentialTransferBuilder.d.ts.map +1 -0
  236. package/dist/esm/lib/confidentialTransferBuilder.js +304 -0
  237. package/dist/esm/lib/constants.d.ts +234 -0
  238. package/dist/esm/lib/constants.d.ts.map +1 -0
  239. package/dist/esm/lib/constants.js +273 -0
  240. package/dist/esm/lib/customInstructionBuilder.d.ts +83 -0
  241. package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +1 -1
  242. package/dist/esm/lib/customInstructionBuilder.js +385 -0
  243. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  244. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  245. package/dist/esm/lib/explainTransactionWasm.js +301 -0
  246. package/dist/esm/lib/iface.d.ts +526 -0
  247. package/dist/esm/lib/iface.d.ts.map +1 -0
  248. package/dist/esm/lib/iface.js +3 -0
  249. package/dist/esm/lib/index.d.ts +28 -0
  250. package/dist/esm/lib/index.d.ts.map +1 -0
  251. package/dist/esm/lib/index.js +28 -0
  252. package/dist/esm/lib/instructionParamsFactory.d.ts +14 -0
  253. package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -0
  254. package/dist/esm/lib/instructionParamsFactory.js +1272 -0
  255. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  256. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  257. package/dist/esm/lib/keyPair.d.ts +32 -0
  258. package/dist/esm/lib/keyPair.d.ts.map +1 -0
  259. package/dist/esm/lib/keyPair.js +75 -0
  260. package/dist/esm/lib/messages/index.d.ts +2 -0
  261. package/dist/esm/lib/messages/index.js +2 -0
  262. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  263. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  264. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  265. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  266. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  267. package/dist/esm/lib/scaledUiAmount.d.ts +30 -0
  268. package/dist/esm/lib/scaledUiAmount.d.ts.map +1 -0
  269. package/dist/esm/lib/scaledUiAmount.js +108 -0
  270. package/dist/esm/lib/serialization/codecs/v1/config.d.ts +21 -0
  271. package/dist/esm/lib/serialization/codecs/v1/config.d.ts.map +1 -0
  272. package/dist/esm/lib/serialization/codecs/v1/config.js +30 -0
  273. package/dist/esm/lib/serialization/codecs/v1/instruction.d.ts +14 -0
  274. package/dist/esm/lib/serialization/codecs/v1/instruction.d.ts.map +1 -0
  275. package/dist/esm/lib/serialization/codecs/v1/instruction.js +29 -0
  276. package/dist/esm/lib/serialization/codecs/v1/message.d.ts +27 -0
  277. package/dist/esm/lib/serialization/codecs/v1/message.d.ts.map +1 -0
  278. package/dist/esm/lib/serialization/codecs/v1/message.js +188 -0
  279. package/dist/esm/lib/serialization/compileTransactionMessage.d.ts +30 -0
  280. package/dist/esm/lib/serialization/compileTransactionMessage.d.ts.map +1 -0
  281. package/dist/esm/lib/serialization/compileTransactionMessage.js +202 -0
  282. package/dist/esm/lib/serialization/index.d.ts +5 -0
  283. package/dist/esm/lib/serialization/index.d.ts.map +1 -0
  284. package/dist/esm/lib/serialization/index.js +5 -0
  285. package/dist/esm/lib/serialization/parseWireTransaction.d.ts +9 -0
  286. package/dist/esm/lib/serialization/parseWireTransaction.d.ts.map +1 -0
  287. package/dist/esm/lib/serialization/parseWireTransaction.js +50 -0
  288. package/dist/esm/lib/serialization/wire-transaction.d.ts +14 -0
  289. package/dist/esm/lib/serialization/wire-transaction.d.ts.map +1 -0
  290. package/dist/esm/lib/serialization/wire-transaction.js +48 -0
  291. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  292. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  293. package/dist/esm/lib/solInstructionFactory.js +1088 -0
  294. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  295. package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +1 -1
  296. package/dist/esm/lib/stakingActivateBuilder.js +122 -0
  297. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  298. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  299. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  300. package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +1 -1
  301. package/dist/esm/lib/stakingDeactivateBuilder.js +207 -0
  302. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  303. package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +1 -1
  304. package/dist/esm/lib/stakingDelegateBuilder.js +119 -0
  305. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  306. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  307. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  308. package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +1 -1
  309. package/dist/esm/lib/stakingWithdrawBuilder.js +80 -0
  310. package/dist/esm/lib/token2022Resolve.d.ts +106 -0
  311. package/dist/esm/lib/token2022Resolve.d.ts.map +1 -0
  312. package/dist/esm/lib/token2022Resolve.js +194 -0
  313. package/dist/esm/lib/tokenExtensions.d.ts +26 -0
  314. package/dist/esm/lib/tokenExtensions.d.ts.map +1 -0
  315. package/dist/esm/lib/tokenExtensions.js +103 -0
  316. package/dist/esm/lib/tokenTransferBuilder.d.ts +67 -0
  317. package/dist/esm/lib/tokenTransferBuilder.d.ts.map +1 -0
  318. package/dist/esm/lib/tokenTransferBuilder.js +230 -0
  319. package/dist/esm/lib/transaction.d.ts +136 -0
  320. package/dist/esm/lib/transaction.d.ts.map +1 -0
  321. package/dist/esm/lib/transaction.js +684 -0
  322. package/dist/esm/lib/transactionBuilder.d.ts +169 -0
  323. package/dist/esm/lib/transactionBuilder.d.ts.map +1 -0
  324. package/dist/esm/lib/transactionBuilder.js +455 -0
  325. package/dist/esm/lib/transactionBuilderFactory.d.ts +129 -0
  326. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  327. package/dist/esm/lib/transactionBuilderFactory.js +218 -0
  328. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  329. package/dist/{src → esm}/lib/transferBuilder.d.ts.map +1 -1
  330. package/dist/esm/lib/transferBuilder.js +74 -0
  331. package/dist/esm/lib/transferBuilderV2.d.ts +69 -0
  332. package/dist/esm/lib/transferBuilderV2.d.ts.map +1 -0
  333. package/dist/esm/lib/transferBuilderV2.js +245 -0
  334. package/dist/esm/lib/utils.d.ts +205 -0
  335. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  336. package/dist/esm/lib/utils.js +627 -0
  337. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  338. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  339. package/dist/esm/register.d.ts +5 -0
  340. package/dist/esm/register.d.ts.map +1 -0
  341. package/dist/esm/register.js +24 -0
  342. package/dist/esm/sol.d.ts +351 -0
  343. package/dist/esm/sol.d.ts.map +1 -0
  344. package/dist/esm/sol.js +1632 -0
  345. package/dist/esm/solToken.d.ts +44 -0
  346. package/dist/esm/solToken.d.ts.map +1 -0
  347. package/dist/esm/solToken.js +75 -0
  348. package/dist/esm/tsol.d.ts +11 -0
  349. package/dist/esm/tsol.js +20 -0
  350. package/package.json +37 -17
  351. package/dist/src/config/token2022StaticConfig.d.ts +0 -3
  352. package/dist/src/config/token2022StaticConfig.d.ts.map +0 -1
  353. package/dist/src/config/token2022StaticConfig.js +0 -50
  354. package/dist/src/lib/ataInitializationBuilder.d.ts.map +0 -1
  355. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  356. package/dist/src/lib/closeAtaBuilder.d.ts +0 -19
  357. package/dist/src/lib/closeAtaBuilder.d.ts.map +0 -1
  358. package/dist/src/lib/closeAtaBuilder.js +0 -69
  359. package/dist/src/lib/constants.d.ts.map +0 -1
  360. package/dist/src/lib/constants.js +0 -171
  361. package/dist/src/lib/customInstructionBuilder.js +0 -289
  362. package/dist/src/lib/iface.d.ts +0 -244
  363. package/dist/src/lib/iface.d.ts.map +0 -1
  364. package/dist/src/lib/iface.js +0 -7
  365. package/dist/src/lib/index.d.ts.map +0 -1
  366. package/dist/src/lib/index.js +0 -77
  367. package/dist/src/lib/instructionParamsFactory.d.ts.map +0 -1
  368. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  369. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  370. package/dist/src/lib/keyPair.d.ts.map +0 -1
  371. package/dist/src/lib/keyPair.js +0 -63
  372. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  373. package/dist/src/lib/solInstructionFactory.js +0 -572
  374. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  375. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  376. package/dist/src/lib/stakingDeactivateBuilder.js +0 -208
  377. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  378. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  379. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  380. package/dist/src/lib/token2022Config.d.ts +0 -44
  381. package/dist/src/lib/token2022Config.d.ts.map +0 -1
  382. package/dist/src/lib/token2022Config.js +0 -27
  383. package/dist/src/lib/tokenTransferBuilder.d.ts.map +0 -1
  384. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  385. package/dist/src/lib/transaction.d.ts.map +0 -1
  386. package/dist/src/lib/transaction.js +0 -595
  387. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  388. package/dist/src/lib/transactionBuilder.js +0 -380
  389. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  390. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  391. package/dist/src/lib/transferBuilder.js +0 -70
  392. package/dist/src/lib/transferBuilderV2.d.ts +0 -43
  393. package/dist/src/lib/transferBuilderV2.d.ts.map +0 -1
  394. package/dist/src/lib/transferBuilderV2.js +0 -210
  395. package/dist/src/lib/utils.js +0 -589
  396. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  397. package/dist/src/register.d.ts +0 -3
  398. package/dist/src/register.d.ts.map +0 -1
  399. package/dist/src/register.js +0 -15
  400. package/dist/src/sol.d.ts.map +0 -1
  401. package/dist/src/sol.js +0 -1324
  402. package/dist/src/solToken.d.ts.map +0 -1
  403. package/dist/src/solToken.js +0 -69
  404. package/dist/src/tsol.js +0 -24
  405. package/dist/test/fixtures/sol.js +0 -1433
  406. package/dist/test/resources/sol.d.ts.map +0 -1
  407. package/dist/test/resources/sol.js +0 -320
  408. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  409. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  410. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  411. package/dist/test/unit/getBuilderFactory.js +0 -10
  412. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  413. package/dist/test/unit/instructionParamsFactory.js +0 -412
  414. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  415. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  416. package/dist/test/unit/keyPair.js +0 -177
  417. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  418. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  419. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  420. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  421. package/dist/test/unit/sol.js +0 -3180
  422. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  423. package/dist/test/unit/solInstructionFactory.js +0 -454
  424. package/dist/test/unit/solToken.d.ts.map +0 -1
  425. package/dist/test/unit/solToken.js +0 -31
  426. package/dist/test/unit/transaction.d.ts.map +0 -1
  427. package/dist/test/unit/transaction.js +0 -983
  428. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  429. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  430. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  431. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  432. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  433. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  434. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  435. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  436. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  437. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  438. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  439. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  440. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  441. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  442. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  443. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  444. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  445. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  446. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  447. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  448. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  449. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  450. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  451. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  452. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  453. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  454. package/dist/test/unit/utils.js +0 -517
  455. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  456. package/dist/test/unit/versionedTransaction.js +0 -207
  457. package/dist/tsconfig.tsbuildinfo +0 -1
  458. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  459. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  460. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  461. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  462. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  463. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  464. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  465. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  466. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  467. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  468. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  469. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  470. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  471. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  472. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  473. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  474. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  475. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  476. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  477. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  478. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  479. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  480. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  481. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  482. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  483. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  484. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  485. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  486. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  487. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  488. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  489. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  490. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  491. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  492. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  493. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  494. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  495. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  496. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  497. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  498. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  499. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  500. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  501. /package/dist/{src → esm}/index.d.ts.map +0 -0
  502. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  503. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  504. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  505. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  506. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  507. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  508. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -0,0 +1,129 @@
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 { ConfidentialTransferBuilder } from './confidentialTransferBuilder';
6
+ import { RecoverNestedAtaBuilder } from './recoverNestedAtaBuilder';
7
+ import { CustomInstructionBuilder } from './customInstructionBuilder';
8
+ import { StakingActivateBuilder } from './stakingActivateBuilder';
9
+ import { StakingAuthorizeBuilder } from './stakingAuthorizeBuilder';
10
+ import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
11
+ import { StakingDelegateBuilder } from './stakingDelegateBuilder';
12
+ import { StakingRawMsgAuthorizeBuilder } from './stakingRawMsgAuthorizeBuilder';
13
+ import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
14
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
15
+ import { Transaction } from './transaction';
16
+ import { TransactionBuilder } from './transactionBuilder';
17
+ import { TransferBuilder } from './transferBuilder';
18
+ import { TransferBuilderV2 } from './transferBuilderV2';
19
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
20
+ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
21
+ constructor(_coinConfig: Readonly<CoinConfig>);
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: string): TransactionBuilder | StakingRawMsgAuthorizeBuilder;
28
+ /** @inheritdoc */
29
+ getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
30
+ /** @inheritdoc */
31
+ getTransferBuilder(tx?: Transaction): TransferBuilder;
32
+ /** @inheritdoc */
33
+ getTokenTransferBuilder(tx?: Transaction): TokenTransferBuilder;
34
+ /**
35
+ * Returns the transfer builder V2 to create a funds transfer transaction
36
+ */
37
+ getTransferBuilderV2(tx?: Transaction): TransferBuilderV2;
38
+ /**
39
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
40
+ * once the tx reach the network it will automatically by activated on next epoch
41
+ *
42
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
43
+ *
44
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
45
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
46
+ */
47
+ getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder;
48
+ /**
49
+ * Returns the builder to create a staking deactivate transaction.
50
+ * Deactivated is set in the current epoch + cooldown
51
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
52
+ *
53
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
54
+ *
55
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
56
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
57
+ */
58
+ getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder;
59
+ /**
60
+ * Returns the builder to create a staking withdraw transaction.
61
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
62
+ *
63
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
64
+ *
65
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
66
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
67
+ */
68
+ getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder;
69
+ /**
70
+ * Returns the builder to authorized staking account.
71
+ *
72
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
73
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
74
+ */
75
+ getStakingAuthorizeBuilder(tx?: Transaction): StakingAuthorizeBuilder;
76
+ /**
77
+ * Returns the builder to delegate staking account.
78
+ *
79
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
80
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
81
+ */
82
+ getStakingDelegateBuilder(tx?: Transaction): StakingDelegateBuilder;
83
+ /**
84
+ * Returns the raw message builder to authorized staking account.
85
+ *
86
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
87
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
88
+ */
89
+ getStakingRawMsgAuthorizeBuilder(tx?: Transaction): StakingRawMsgAuthorizeBuilder;
90
+ /**
91
+ * Returns the builder to create a create associated token account transaction.
92
+ */
93
+ getAtaInitializationBuilder(tx?: Transaction): AtaInitializationBuilder;
94
+ /**
95
+ * Returns the builder to create a close associated token account transaction.
96
+ */
97
+ getCloseAtaInitializationBuilder(tx?: Transaction): CloseAtaBuilder;
98
+ /**
99
+ * Returns the builder to recover tokens from a nested ATA (an ATA owned by another ATA).
100
+ */
101
+ getRecoverNestedAtaBuilder(tx?: Transaction): RecoverNestedAtaBuilder;
102
+ /**
103
+ * Returns the builder to create transactions with custom Solana instructions.
104
+ */
105
+ getCustomInstructionBuilder(tx?: Transaction): CustomInstructionBuilder;
106
+ /**
107
+ * Returns the builder to create Token-2022 confidential transfer transactions.
108
+ *
109
+ * Supports Phase 1a CT instructions: ConfigureAccount, ApplyPendingBalance,
110
+ * Deposit, Withdraw, Transfer, and all verify-proof instructions.
111
+ * Instruction builders are v0/v1-agnostic.
112
+ */
113
+ getConfidentialTransferBuilder(tx?: Transaction): ConfidentialTransferBuilder;
114
+ /**
115
+ * Initialize the builder with the given transaction
116
+ *
117
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
118
+ * @param {TransactionBuilder} builder - the builder to be initialized
119
+ * @returns {TransactionBuilder} the builder initialized
120
+ */
121
+ private initializeBuilder;
122
+ /** Parse the transaction from a raw transaction
123
+ *
124
+ * @param {string} rawTransaction - the raw tx
125
+ * @returns {Transaction} parsed transaction
126
+ */
127
+ private parseTransaction;
128
+ }
129
+ //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ import { BaseTransactionBuilderFactory, InvalidTransactionError, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { AtaInitializationBuilder } from './ataInitializationBuilder';
3
+ import { CloseAtaBuilder } from './closeAtaBuilder';
4
+ import { ConfidentialTransferBuilder } from './confidentialTransferBuilder';
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 { TransferBuilder } from './transferBuilder';
16
+ import { TransferBuilderV2 } from './transferBuilderV2';
17
+ import { validateRawTransaction } from './utils';
18
+ import { WalletInitializationBuilder } from './walletInitializationBuilder';
19
+ export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
20
+ constructor(_coinConfig) {
21
+ super(_coinConfig);
22
+ }
23
+ /**
24
+ * Returns a proper builder for the given encoded transaction
25
+ *
26
+ * @param { string} raw - Encoded transaction in base64 string format
27
+ */
28
+ from(raw) {
29
+ validateRawTransaction(raw);
30
+ const tx = this.parseTransaction(raw);
31
+ try {
32
+ switch (tx.type) {
33
+ case TransactionType.Send:
34
+ const uniqueInputCoins = tx.inputs
35
+ .map((input) => input.coin)
36
+ .filter((coin, index, arr) => arr.indexOf(coin) === index);
37
+ if (uniqueInputCoins.includes('sol') || uniqueInputCoins.includes('tsol')) {
38
+ return this.getTransferBuilderV2(tx);
39
+ }
40
+ else {
41
+ return this.getTokenTransferBuilder(tx);
42
+ }
43
+ case TransactionType.WalletInitialization:
44
+ return this.getWalletInitializationBuilder(tx);
45
+ case TransactionType.StakingActivate:
46
+ return this.getStakingActivateBuilder(tx);
47
+ case TransactionType.StakingDeactivate:
48
+ return this.getStakingDeactivateBuilder(tx);
49
+ case TransactionType.StakingWithdraw:
50
+ return this.getStakingWithdrawBuilder(tx);
51
+ case TransactionType.AssociatedTokenAccountInitialization:
52
+ return this.getAtaInitializationBuilder(tx);
53
+ case TransactionType.StakingAuthorize:
54
+ return this.getStakingAuthorizeBuilder(tx);
55
+ case TransactionType.StakingAuthorizeRaw:
56
+ return this.getStakingRawMsgAuthorizeBuilder(tx);
57
+ case TransactionType.StakingDelegate:
58
+ return this.getStakingDelegateBuilder(tx);
59
+ case TransactionType.CloseAssociatedTokenAccount:
60
+ return this.getCloseAtaInitializationBuilder(tx);
61
+ case TransactionType.CustomTx:
62
+ return this.getCustomInstructionBuilder(tx);
63
+ case TransactionType.ConfidentialTransfer:
64
+ return this.getConfidentialTransferBuilder(tx);
65
+ default:
66
+ throw new InvalidTransactionError('Invalid transaction');
67
+ }
68
+ }
69
+ catch (e) {
70
+ throw e;
71
+ }
72
+ }
73
+ /** @inheritdoc */
74
+ getWalletInitializationBuilder(tx) {
75
+ return this.initializeBuilder(tx, new WalletInitializationBuilder(this._coinConfig));
76
+ }
77
+ /** @inheritdoc */
78
+ getTransferBuilder(tx) {
79
+ return this.initializeBuilder(tx, new TransferBuilder(this._coinConfig));
80
+ }
81
+ /** @inheritdoc */
82
+ getTokenTransferBuilder(tx) {
83
+ return this.initializeBuilder(tx, new TokenTransferBuilder(this._coinConfig));
84
+ }
85
+ /**
86
+ * Returns the transfer builder V2 to create a funds transfer transaction
87
+ */
88
+ getTransferBuilderV2(tx) {
89
+ return this.initializeBuilder(tx, new TransferBuilderV2(this._coinConfig));
90
+ }
91
+ /**
92
+ * Returns the staking builder to create a staking account and also a delegate in one transaction.
93
+ * once the tx reach the network it will automatically by activated on next epoch
94
+ *
95
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
96
+ *
97
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
98
+ * @returns {StakingDeactivateBuilder} - the initialized staking activate builder
99
+ */
100
+ getStakingActivateBuilder(tx) {
101
+ return this.initializeBuilder(tx, new StakingActivateBuilder(this._coinConfig));
102
+ }
103
+ /**
104
+ * Returns the builder to create a staking deactivate transaction.
105
+ * Deactivated is set in the current epoch + cooldown
106
+ * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal.
107
+ *
108
+ * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal
109
+ *
110
+ * @param {Transaction} tx - the transaction to be used to initialize the builder
111
+ * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder
112
+ */
113
+ getStakingDeactivateBuilder(tx) {
114
+ return this.initializeBuilder(tx, new StakingDeactivateBuilder(this._coinConfig));
115
+ }
116
+ /**
117
+ * Returns the builder to create a staking withdraw transaction.
118
+ * once the staking account reach 0 SOL it will not be traceable anymore by the network
119
+ *
120
+ * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account
121
+ *
122
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
123
+ * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder
124
+ */
125
+ getStakingWithdrawBuilder(tx) {
126
+ return this.initializeBuilder(tx, new StakingWithdrawBuilder(this._coinConfig));
127
+ }
128
+ /**
129
+ * Returns the builder to authorized staking account.
130
+ *
131
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
132
+ * @returns {StakingAuthorizeBuilder} - the initialized staking authorize builder
133
+ */
134
+ getStakingAuthorizeBuilder(tx) {
135
+ return this.initializeBuilder(tx, new StakingAuthorizeBuilder(this._coinConfig));
136
+ }
137
+ /**
138
+ * Returns the builder to delegate staking account.
139
+ *
140
+ * @param {Transaction} tx - the transaction to be used to delegate staking account
141
+ * @returns {StakingDelegateBuilder} - the staking delegate builder
142
+ */
143
+ getStakingDelegateBuilder(tx) {
144
+ return this.initializeBuilder(tx, new StakingDelegateBuilder(this._coinConfig));
145
+ }
146
+ /**
147
+ * Returns the raw message builder to authorized staking account.
148
+ *
149
+ * @param {Transaction} tx - the transaction to be used to intialize the builder
150
+ * @returns {StakingWithdrawBuilder} - the initialized staking authorize builder
151
+ */
152
+ getStakingRawMsgAuthorizeBuilder(tx) {
153
+ const builder = new StakingRawMsgAuthorizeBuilder(this._coinConfig);
154
+ if (tx) {
155
+ builder.initBuilder(tx);
156
+ }
157
+ return builder;
158
+ }
159
+ /**
160
+ * Returns the builder to create a create associated token account transaction.
161
+ */
162
+ getAtaInitializationBuilder(tx) {
163
+ return this.initializeBuilder(tx, new AtaInitializationBuilder(this._coinConfig));
164
+ }
165
+ /**
166
+ * Returns the builder to create a close associated token account transaction.
167
+ */
168
+ getCloseAtaInitializationBuilder(tx) {
169
+ return this.initializeBuilder(tx, new CloseAtaBuilder(this._coinConfig));
170
+ }
171
+ /**
172
+ * Returns the builder to recover tokens from a nested ATA (an ATA owned by another ATA).
173
+ */
174
+ getRecoverNestedAtaBuilder(tx) {
175
+ return this.initializeBuilder(tx, new RecoverNestedAtaBuilder(this._coinConfig));
176
+ }
177
+ /**
178
+ * Returns the builder to create transactions with custom Solana instructions.
179
+ */
180
+ getCustomInstructionBuilder(tx) {
181
+ return this.initializeBuilder(tx, new CustomInstructionBuilder(this._coinConfig));
182
+ }
183
+ /**
184
+ * Returns the builder to create Token-2022 confidential transfer transactions.
185
+ *
186
+ * Supports Phase 1a CT instructions: ConfigureAccount, ApplyPendingBalance,
187
+ * Deposit, Withdraw, Transfer, and all verify-proof instructions.
188
+ * Instruction builders are v0/v1-agnostic.
189
+ */
190
+ getConfidentialTransferBuilder(tx) {
191
+ return this.initializeBuilder(tx, new ConfidentialTransferBuilder(this._coinConfig));
192
+ }
193
+ /**
194
+ * Initialize the builder with the given transaction
195
+ *
196
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
197
+ * @param {TransactionBuilder} builder - the builder to be initialized
198
+ * @returns {TransactionBuilder} the builder initialized
199
+ */
200
+ initializeBuilder(tx, builder) {
201
+ if (tx) {
202
+ builder.initBuilder(tx);
203
+ }
204
+ return builder;
205
+ }
206
+ /** Parse the transaction from a raw transaction
207
+ *
208
+ * @param {string} rawTransaction - the raw tx
209
+ * @returns {Transaction} parsed transaction
210
+ */
211
+ parseTransaction(rawTransaction) {
212
+ const tx = new Transaction(this._coinConfig);
213
+ tx.setUseTokenAddressTokenName(true);
214
+ tx.fromRawTransaction(rawTransaction);
215
+ return tx;
216
+ }
217
+ }
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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QUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkJBQTJCLENBQUMsRUFBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDhCQUE4QixDQUFDLEVBQWdCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBK0IsRUFBMkIsRUFBRSxPQUFVO1FBQzdGLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLGNBQXNCO1FBQzdDLE1BQU0sRUFBRSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxFQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2F0YUluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBDbG9zZUF0YUJ1aWxkZXIgfSBmcm9tICcuL2Nsb3NlQXRhQnVpbGRlcic7XG5pbXBvcnQgeyBDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL2NvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBSZWNvdmVyTmVzdGVkQXRhQnVpbGRlciB9IGZyb20gJy4vcmVjb3Zlck5lc3RlZEF0YUJ1aWxkZXInO1xuaW1wb3J0IHsgQ3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9jdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0FjdGl2YXRlQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQXV0aG9yaXplQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0RlbGVnYXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0RlbGVnYXRlQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlclYyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXJWMic7XG5pbXBvcnQgeyB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb3BlciBidWlsZGVyIGZvciB0aGUgZ2l2ZW4gZW5jb2RlZCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0geyBzdHJpbmd9IHJhdyAtIEVuY29kZWQgdHJhbnNhY3Rpb24gaW4gYmFzZTY0IHN0cmluZyBmb3JtYXRcbiAgICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIgfCBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlciB7XG4gICAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHR4ID0gdGhpcy5wYXJzZVRyYW5zYWN0aW9uKHJhdyk7XG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICAgIGNvbnN0IHVuaXF1ZUlucHV0Q29pbnMgPSB0eC5pbnB1dHNcbiAgICAgICAgICAgIC5tYXAoKGlucHV0KSA9PiBpbnB1dC5jb2luKVxuICAgICAgICAgICAgLmZpbHRlcigoY29pbiwgaW5kZXgsIGFycikgPT4gYXJyLmluZGV4T2YoY29pbikgPT09IGluZGV4KTtcbiAgICAgICAgICBpZiAodW5pcXVlSW5wdXRDb2lucy5pbmNsdWRlcygnc29sJykgfHwgdW5pcXVlSW5wdXRDb2lucy5pbmNsdWRlcygndHNvbCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXJWMih0eCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Bc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb246XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0F1dGhvcml6ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQXV0aG9yaXplQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBdXRob3JpemVSYXc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVsZWdhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0RlbGVnYXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDbG9zZUF0YUluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldEN1c3RvbUluc3RydWN0aW9uQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHJhbnNmZXIgYnVpbGRlciBWMiB0byBjcmVhdGUgYSBmdW5kcyB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyVjIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlclYyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlclYyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdGFraW5nIGJ1aWxkZXIgdG8gY3JlYXRlIGEgc3Rha2luZyBhY2NvdW50IGFuZCBhbHNvIGEgZGVsZWdhdGUgaW4gb25lIHRyYW5zYWN0aW9uLlxuICAgKiBvbmNlIHRoZSB0eCByZWFjaCB0aGUgbmV0d29yayBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgYnkgYWN0aXZhdGVkIG9uIG5leHQgZXBvY2hcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3Muc29sYW5hLmNvbS9jbHVzdGVyL3N0YWtlLWRlbGVnYXRpb24tYW5kLXJld2FyZHMjc3Rha2Utd2FybXVwLWNvb2xkb3duLXdpdGhkcmF3YWxcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXJ9IC0gdGhlIGluaXRpYWxpemVkIHN0YWtpbmcgYWN0aXZhdGUgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGNyZWF0ZSBhIHN0YWtpbmcgZGVhY3RpdmF0ZSB0cmFuc2FjdGlvbi5cbiAgICogRGVhY3RpdmF0ZWQgaXMgc2V0IGluIHRoZSBjdXJyZW50IGVwb2NoICsgY29vbGRvd25cbiAgICogVGhlIGFjY291bnQncyBzdGFrZSB3aWxsIHJhbXAgZG93biB0byB6ZXJvIGJ5IHRoYXQgZXBvY2gsIGFuZCB0aGUgbGFtcG9ydHMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHdpdGhkcmF3YWwuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vY2x1c3Rlci9zdGFrZS1kZWxlZ2F0aW9uLWFuZC1yZXdhcmRzI3N0YWtlLXdhcm11cC1jb29sZG93bi13aXRoZHJhd2FsXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyfSAtIHRoZSBpbml0aWFsaXplZCBzdGFraW5nIGRlYWN0aXZhdGUgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGNyZWF0ZSBhIHN0YWtpbmcgd2l0aGRyYXcgdHJhbnNhY3Rpb24uXG4gICAqIG9uY2UgdGhlIHN0YWtpbmcgYWNjb3VudCByZWFjaCAwIFNPTCBpdCB3aWxsIG5vdCBiZSB0cmFjZWFibGUgYW55bW9yZSBieSB0aGUgbmV0d29ya1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL3N0YWtpbmcvc3Rha2UtYWNjb3VudHMjZGVzdHJveWluZy1hLXN0YWtlLWFjY291bnRcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdG8gYmUgdXNlZCB0byBpbnRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdXaXRoZHJhd0J1aWxkZXJ9IC0gdGhlIGluaXRpYWxpemVkIHN0YWtpbmcgd2l0aGRyYXcgYnVpbGRlclxuICAgKi9cbiAgZ2V0U3Rha2luZ1dpdGhkcmF3QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGF1dGhvcml6ZWQgc3Rha2luZyBhY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGludGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXJ9IC0gdGhlIGluaXRpYWxpemVkIHN0YWtpbmcgYXV0aG9yaXplIGJ1aWxkZXJcbiAgICovXG4gIGdldFN0YWtpbmdBdXRob3JpemVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nQXV0aG9yaXplQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nQXV0aG9yaXplQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkZXIgdG8gZGVsZWdhdGUgc3Rha2luZyBhY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB0byBiZSB1c2VkIHRvIGRlbGVnYXRlIHN0YWtpbmcgYWNjb3VudFxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0RlbGVnYXRlQnVpbGRlcn0gLSB0aGUgc3Rha2luZyBkZWxlZ2F0ZSBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nRGVsZWdhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJhdyBtZXNzYWdlIGJ1aWxkZXIgdG8gYXV0aG9yaXplZCBzdGFraW5nIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHRvIGJlIHVzZWQgdG8gaW50aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nV2l0aGRyYXdCdWlsZGVyfSAtIHRoZSBpbml0aWFsaXplZCBzdGFraW5nIGF1dGhvcml6ZSBidWlsZGVyXG4gICAqL1xuICBnZXRTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgU3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgYSBjcmVhdGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50IHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgZ2V0QXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGNyZWF0ZSBhIGNsb3NlIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudCB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGdldENsb3NlQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBDbG9zZUF0YUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ2xvc2VBdGFCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIHJlY292ZXIgdG9rZW5zIGZyb20gYSBuZXN0ZWQgQVRBIChhbiBBVEEgb3duZWQgYnkgYW5vdGhlciBBVEEpLlxuICAgKi9cbiAgZ2V0UmVjb3Zlck5lc3RlZEF0YUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFJlY292ZXJOZXN0ZWRBdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFJlY292ZXJOZXN0ZWRBdGFCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBidWlsZGVyIHRvIGNyZWF0ZSB0cmFuc2FjdGlvbnMgd2l0aCBjdXN0b20gU29sYW5hIGluc3RydWN0aW9ucy5cbiAgICovXG4gIGdldEN1c3RvbUluc3RydWN0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQ3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEN1c3RvbUluc3RydWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYnVpbGRlciB0byBjcmVhdGUgVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXIgdHJhbnNhY3Rpb25zLlxuICAgKlxuICAgKiBTdXBwb3J0cyBQaGFzZSAxYSBDVCBpbnN0cnVjdGlvbnM6IENvbmZpZ3VyZUFjY291bnQsIEFwcGx5UGVuZGluZ0JhbGFuY2UsXG4gICAqIERlcG9zaXQsIFdpdGhkcmF3LCBUcmFuc2ZlciwgYW5kIGFsbCB2ZXJpZnktcHJvb2YgaW5zdHJ1Y3Rpb25zLlxuICAgKiBJbnN0cnVjdGlvbiBidWlsZGVycyBhcmUgdjAvdjEtYWdub3N0aWMuXG4gICAqL1xuICBnZXRDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogUGFyc2UgdGhlIHRyYW5zYWN0aW9uIGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gdGhlIHJhdyB0eFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IHBhcnNlZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdHguc2V0VXNlVG9rZW5BZGRyZXNzVG9rZW5OYW1lKHRydWUpO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIHR4O1xuICB9XG59XG4iXX0=
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAelC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,GAAG,IAAI;IAc3C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAiB5D"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAelC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,GAAG,IAAI;IAc3C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CA4B5D"}
@@ -0,0 +1,74 @@
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
+ // Prepend the priority fee instruction (CHALO-485) so native SOL transfers can be
60
+ // prioritized during network congestion. Omitted when no priority fee is set (0).
61
+ this._instructionsData =
62
+ this._priorityFee && this._priorityFee !== Number(0)
63
+ ? [
64
+ {
65
+ type: InstructionBuilderTypes.SetPriorityFee,
66
+ params: { fee: this._priorityFee },
67
+ },
68
+ ...transferData,
69
+ ]
70
+ : transferData;
71
+ return await super.buildImplementation();
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd0RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFPNUIsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBR3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSGIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO0lBSXZDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxRCxNQUFNLG1CQUFtQixHQUFhLFdBQVcsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ1IsT0FBTyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTO29CQUM3QyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU07aUJBQzFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFjO1FBQ2xDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixNQUFNLHlCQUF5QixNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQztRQUUzRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQVksRUFBRTtZQUM3RSxPQUFPO2dCQUNMLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxRQUFRO2dCQUN0QyxNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtpQkFDMUI7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxrRkFBa0Y7UUFDbEYsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBQztvQkFDRTt3QkFDRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsY0FBYzt3QkFDNUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7cUJBQ25DO29CQUNELEdBQUcsWUFBWTtpQkFDaEI7Z0JBQ0gsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUVuQixPQUFPLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFtb3VudCwgdmFsaWRhdGVBZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRyYW5zZmVyIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZXhwb3J0IGludGVyZmFjZSBTZW5kUGFyYW1zIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3NlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVHJhbnNmZXIpIHtcbiAgICAgICAgY29uc3QgdHJhbnNmZXJJbnN0cnVjdGlvbjogVHJhbnNmZXIgPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5zZW5kZXIodHJhbnNmZXJJbnN0cnVjdGlvbi5wYXJhbXMuZnJvbUFkZHJlc3MpO1xuICAgICAgICB0aGlzLnNlbmQoe1xuICAgICAgICAgIGFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRvQWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLmFtb3VudCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgYSB0cmFuc2ZlclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnJvbUFkZHJlc3MgLSB0aGUgc2VuZGVyIGFkZHJlc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvQWRkcmVzcyAtIHRoZSByZWNlaXZlciBhZGRyZXNzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgLSB0aGUgYW1vdW50IHNlbnRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kKHsgYWRkcmVzcywgYW1vdW50IH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcywgJ2FkZHJlc3MnKTtcbiAgICBpZiAoIWFtb3VudCB8fCAhaXNWYWxpZEFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYW1vdW50LCBnb3Q6ICcgKyBhbW91bnQpO1xuICAgIH1cbiAgICBpZiAoQmlnSW50KGFtb3VudCkgPiBCaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBpbnB1dCBhbW91bnQgJHthbW91bnR9IGV4Y2VlZHMgbWF4IHNhZmUgaW50ICR7TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2VuZFBhcmFtcy5wdXNoKHsgYWRkcmVzcywgYW1vdW50IH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsICdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuXG4gICAgY29uc3QgdHJhbnNmZXJEYXRhID0gdGhpcy5fc2VuZFBhcmFtcy5tYXAoKHNlbmRQYXJhbXM6IFNlbmRQYXJhbXMpOiBUcmFuc2ZlciA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5UcmFuc2ZlcixcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgZnJvbUFkZHJlc3M6IHRoaXMuX3NlbmRlcixcbiAgICAgICAgICB0b0FkZHJlc3M6IHNlbmRQYXJhbXMuYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHNlbmRQYXJhbXMuYW1vdW50LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBQcmVwZW5kIHRoZSBwcmlvcml0eSBmZWUgaW5zdHJ1Y3Rpb24gKENIQUxPLTQ4NSkgc28gbmF0aXZlIFNPTCB0cmFuc2ZlcnMgY2FuIGJlXG4gICAgLy8gcHJpb3JpdGl6ZWQgZHVyaW5nIG5ldHdvcmsgY29uZ2VzdGlvbi4gT21pdHRlZCB3aGVuIG5vIHByaW9yaXR5IGZlZSBpcyBzZXQgKDApLlxuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPVxuICAgICAgdGhpcy5fcHJpb3JpdHlGZWUgJiYgdGhpcy5fcHJpb3JpdHlGZWUgIT09IE51bWJlcigwKVxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU2V0UHJpb3JpdHlGZWUsXG4gICAgICAgICAgICAgIHBhcmFtczogeyBmZWU6IHRoaXMuX3ByaW9yaXR5RmVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4udHJhbnNmZXJEYXRhLFxuICAgICAgICAgIF1cbiAgICAgICAgOiB0cmFuc2ZlckRhdGE7XG5cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,69 @@
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 { ExtraAccountMeta, PermissionlessThawIdempotent, 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
+ private _transferHookAccounts?;
18
+ private _permissionlessThaw?;
19
+ constructor(_coinConfig: Readonly<CoinConfig>);
20
+ /**
21
+ * Set the resolved sRFC-37 Token ACL permissionless-thaw params for this transfer.
22
+ *
23
+ * These must be resolved live by the caller (e.g. via `Sol.resolvePermissionlessThaw`) since
24
+ * builders remain offline and never perform RPC. When set, the built transaction bundles a
25
+ * `PermissionlessThawIdempotent` instruction after any ATA creation and before the transfer, so
26
+ * a freshly created (frozen) allowlist/blocklist token account is thawed atomically with the
27
+ * transfer — all-or-nothing.
28
+ *
29
+ * @param {PermissionlessThawIdempotent['params']} params - resolved thaw params
30
+ * @returns {TransferBuilderV2} This transaction builder
31
+ */
32
+ permissionlessThaw(params: PermissionlessThawIdempotent['params']): this;
33
+ /**
34
+ * Set the resolved Token-2022 Transfer Hook extra account metas for this transfer.
35
+ *
36
+ * These must be resolved live by the caller (e.g. via `Sol.resolveTransferHookAccounts`)
37
+ * since builders remain offline and never perform RPC. The order is significant and
38
+ * must match the hook's ExtraAccountMetaList.
39
+ *
40
+ * @param {ExtraAccountMeta[]} metas - resolved extra account metas, in hook order
41
+ * @returns {TransferBuilderV2} This transaction builder
42
+ */
43
+ transferHookAccounts(metas: ExtraAccountMeta[]): this;
44
+ protected get transactionType(): TransactionType;
45
+ initBuilder(tx: Transaction): void;
46
+ /**
47
+ * Set a feePayer
48
+ * @param payerAddress
49
+ */
50
+ feePayer(payerAddress: string): this;
51
+ /**
52
+ * Set a transfer
53
+ *
54
+ * @param {SendParams} sendParams - sendParams
55
+ * @returns {TransactionBuilder} This transaction builder
56
+ */
57
+ send(sendParams: SendParams): this;
58
+ /**
59
+ *
60
+ * @param {TokenAssociateRecipient} recipient - recipient of the associated token account creation
61
+ * @param {string} recipient.ownerAddress - owner of the associated token account
62
+ * @param {string} recipient.tokenName - name of the token that is intended to associate
63
+ * @returns {TransactionBuilder} This transaction builder
64
+ */
65
+ createAssociatedTokenAccount(recipient: TokenAssociateRecipient): this;
66
+ /** @inheritdoc */
67
+ protected buildImplementation(): Promise<Transaction>;
68
+ }
69
+ //# sourceMappingURL=transferBuilderV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferBuilderV2.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilderV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAEL,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EAIxB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,qBAAqB,CAAC,CAAqB;IACnD,OAAO,CAAC,mBAAmB,CAAC,CAAyC;gBACzD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKxE;;;;;;;;;OASG;IACH,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAKrD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA8BlC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMpC;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAiBlC;;;;;;OAMG;IACH,4BAA4B,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IAmBtE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAwH5D"}