@bitgo-beta/sdk-coin-sol 7.6.4-beta.70 → 7.6.4-beta.701

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