@bitgo-beta/sdk-coin-sol 7.6.4-beta.7 → 7.6.4-beta.700

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 (443) 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/cjs/src/lib/keyPair.d.ts.map +1 -0
  34. package/dist/cjs/src/lib/keyPair.js +63 -0
  35. package/dist/cjs/src/lib/messages/index.d.ts.map +1 -0
  36. package/dist/{src → cjs/src}/lib/messages/index.js +1 -1
  37. package/dist/cjs/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  38. package/dist/cjs/src/lib/messages/messageBuilderFactory.js +19 -0
  39. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts +25 -0
  40. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  41. package/dist/cjs/src/lib/recoverNestedAtaBuilder.js +90 -0
  42. package/dist/cjs/src/lib/scaledUiAmount.d.ts +30 -0
  43. package/dist/cjs/src/lib/scaledUiAmount.d.ts.map +1 -0
  44. package/dist/cjs/src/lib/scaledUiAmount.js +112 -0
  45. package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +1 -1
  46. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  47. package/dist/cjs/src/lib/solInstructionFactory.js +1094 -0
  48. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/stakingActivateBuilder.js +120 -0
  50. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  51. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  52. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  53. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +208 -0
  54. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  55. package/dist/cjs/src/lib/stakingDelegateBuilder.js +120 -0
  56. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  57. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  58. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  59. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +78 -0
  60. package/dist/cjs/src/lib/token2022Resolve.d.ts +106 -0
  61. package/dist/cjs/src/lib/token2022Resolve.d.ts.map +1 -0
  62. package/dist/cjs/src/lib/token2022Resolve.js +199 -0
  63. package/dist/cjs/src/lib/tokenExtensions.d.ts +26 -0
  64. package/dist/cjs/src/lib/tokenExtensions.d.ts.map +1 -0
  65. package/dist/cjs/src/lib/tokenExtensions.js +105 -0
  66. package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +27 -1
  67. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  68. package/dist/cjs/src/lib/tokenTransferBuilder.js +237 -0
  69. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  70. package/dist/cjs/src/lib/transaction.js +615 -0
  71. package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +2 -0
  72. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  73. package/dist/cjs/src/lib/transactionBuilder.js +380 -0
  74. package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +14 -0
  75. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  76. package/dist/cjs/src/lib/transactionBuilderFactory.js +222 -0
  77. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  78. package/dist/cjs/src/lib/transferBuilder.js +70 -0
  79. package/dist/cjs/src/lib/transferBuilderV2.d.ts +69 -0
  80. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  81. package/dist/cjs/src/lib/transferBuilderV2.js +254 -0
  82. package/dist/{src → cjs/src}/lib/utils.d.ts +5 -0
  83. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  84. package/dist/cjs/src/lib/utils.js +657 -0
  85. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  86. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  87. package/dist/cjs/src/register.d.ts +5 -0
  88. package/dist/cjs/src/register.d.ts.map +1 -0
  89. package/dist/cjs/src/register.js +29 -0
  90. package/dist/{src → cjs/src}/sol.d.ts +125 -3
  91. package/dist/cjs/src/sol.d.ts.map +1 -0
  92. package/dist/cjs/src/sol.js +1637 -0
  93. package/dist/{src → cjs/src}/solToken.d.ts +7 -0
  94. package/dist/cjs/src/solToken.d.ts.map +1 -0
  95. package/dist/cjs/src/solToken.js +79 -0
  96. package/dist/cjs/src/tsol.d.ts.map +1 -0
  97. package/dist/cjs/src/tsol.js +24 -0
  98. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  99. package/dist/cjs/test/fixtures/sol.js +1433 -0
  100. package/dist/{test → cjs/test}/resources/sol.d.ts +29 -29
  101. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  102. package/dist/cjs/test/resources/sol.js +320 -0
  103. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  104. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  105. package/dist/cjs/test/unit/explainTransactionWasm.js +66 -0
  106. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  107. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  108. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  109. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  110. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/instructionParamsFactory.js +425 -0
  112. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  113. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  114. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  115. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  116. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  117. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  118. package/dist/cjs/test/unit/keyPair.js +177 -0
  119. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  120. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  121. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  122. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  123. package/dist/cjs/test/unit/register.d.ts +2 -0
  124. package/dist/cjs/test/unit/register.d.ts.map +1 -0
  125. package/dist/cjs/test/unit/register.js +65 -0
  126. package/dist/cjs/test/unit/scaledUiAmount.d.ts +2 -0
  127. package/dist/cjs/test/unit/scaledUiAmount.d.ts.map +1 -0
  128. package/dist/cjs/test/unit/scaledUiAmount.js +101 -0
  129. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  130. package/dist/cjs/test/unit/sol.js +4899 -0
  131. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  132. package/dist/cjs/test/unit/solInstructionFactory.js +623 -0
  133. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  134. package/dist/cjs/test/unit/solToken.js +37 -0
  135. package/dist/cjs/test/unit/token2022Resolve.d.ts +2 -0
  136. package/dist/cjs/test/unit/token2022Resolve.d.ts.map +1 -0
  137. package/dist/cjs/test/unit/token2022Resolve.js +252 -0
  138. package/dist/cjs/test/unit/tokenExtensions.d.ts +2 -0
  139. package/dist/cjs/test/unit/tokenExtensions.d.ts.map +1 -0
  140. package/dist/cjs/test/unit/tokenExtensions.js +58 -0
  141. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  142. package/dist/cjs/test/unit/transaction.js +1108 -0
  143. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  144. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  145. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  146. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +508 -0
  147. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts +2 -0
  148. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts.map +1 -0
  149. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.js +343 -0
  150. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts +2 -0
  151. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts.map +1 -0
  152. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.js +909 -0
  153. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  154. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  155. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  156. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  157. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  158. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  159. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  160. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  161. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  162. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  163. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  164. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  165. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  166. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +926 -0
  167. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  168. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  169. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  170. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +286 -0
  171. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  172. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +910 -0
  173. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  174. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  175. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  176. package/dist/cjs/test/unit/utils.js +628 -0
  177. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  178. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  179. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  180. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  181. package/dist/esm/index.d.ts +7 -0
  182. package/dist/esm/index.js +7 -0
  183. package/dist/esm/lib/ataInitializationBuilder.d.ts +58 -0
  184. package/dist/esm/lib/ataInitializationBuilder.d.ts.map +1 -0
  185. package/dist/esm/lib/ataInitializationBuilder.js +183 -0
  186. package/dist/esm/lib/closeAtaBuilder.d.ts +55 -0
  187. package/dist/esm/lib/closeAtaBuilder.d.ts.map +1 -0
  188. package/dist/esm/lib/closeAtaBuilder.js +155 -0
  189. package/dist/esm/lib/confidentialTransferBuilder.d.ts +93 -0
  190. package/dist/esm/lib/confidentialTransferBuilder.d.ts.map +1 -0
  191. package/dist/esm/lib/confidentialTransferBuilder.js +205 -0
  192. package/dist/esm/lib/constants.d.ts +227 -0
  193. package/dist/esm/lib/constants.d.ts.map +1 -0
  194. package/dist/esm/lib/constants.js +266 -0
  195. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  196. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  197. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  198. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  199. package/dist/esm/lib/explainTransactionWasm.js +301 -0
  200. package/dist/esm/lib/iface.d.ts +526 -0
  201. package/dist/esm/lib/iface.d.ts.map +1 -0
  202. package/dist/esm/lib/iface.js +3 -0
  203. package/dist/esm/lib/index.d.ts +27 -0
  204. package/dist/esm/lib/index.d.ts.map +1 -0
  205. package/dist/esm/lib/index.js +27 -0
  206. package/dist/esm/lib/instructionParamsFactory.d.ts +14 -0
  207. package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -0
  208. package/dist/esm/lib/instructionParamsFactory.js +1212 -0
  209. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  210. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  211. package/dist/esm/lib/keyPair.d.ts +26 -0
  212. package/dist/esm/lib/keyPair.js +59 -0
  213. package/dist/esm/lib/messages/index.d.ts +2 -0
  214. package/dist/esm/lib/messages/index.js +2 -0
  215. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  216. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  217. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  218. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  219. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  220. package/dist/esm/lib/scaledUiAmount.d.ts +30 -0
  221. package/dist/esm/lib/scaledUiAmount.d.ts.map +1 -0
  222. package/dist/esm/lib/scaledUiAmount.js +108 -0
  223. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  224. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  225. package/dist/esm/lib/solInstructionFactory.js +1088 -0
  226. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  227. package/dist/esm/lib/stakingActivateBuilder.js +113 -0
  228. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  229. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  230. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  231. package/dist/{src → esm}/lib/stakingDeactivateBuilder.js +31 -38
  232. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  233. package/dist/esm/lib/stakingDelegateBuilder.js +113 -0
  234. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  235. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  236. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  237. package/dist/esm/lib/stakingWithdrawBuilder.js +71 -0
  238. package/dist/esm/lib/token2022Resolve.d.ts +106 -0
  239. package/dist/esm/lib/token2022Resolve.d.ts.map +1 -0
  240. package/dist/esm/lib/token2022Resolve.js +194 -0
  241. package/dist/esm/lib/tokenExtensions.d.ts +26 -0
  242. package/dist/esm/lib/tokenExtensions.d.ts.map +1 -0
  243. package/dist/esm/lib/tokenExtensions.js +99 -0
  244. package/dist/esm/lib/tokenTransferBuilder.d.ts +67 -0
  245. package/dist/esm/lib/tokenTransferBuilder.d.ts.map +1 -0
  246. package/dist/esm/lib/tokenTransferBuilder.js +230 -0
  247. package/dist/esm/lib/transaction.d.ts +103 -0
  248. package/dist/esm/lib/transaction.d.ts.map +1 -0
  249. package/dist/esm/lib/transaction.js +608 -0
  250. package/dist/esm/lib/transactionBuilder.d.ts +130 -0
  251. package/dist/esm/lib/transactionBuilder.d.ts.map +1 -0
  252. package/dist/esm/lib/transactionBuilder.js +373 -0
  253. package/dist/esm/lib/transactionBuilderFactory.d.ts +129 -0
  254. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  255. package/dist/esm/lib/transactionBuilderFactory.js +218 -0
  256. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  257. package/dist/esm/lib/transferBuilder.js +63 -0
  258. package/dist/esm/lib/transferBuilderV2.d.ts +69 -0
  259. package/dist/esm/lib/transferBuilderV2.d.ts.map +1 -0
  260. package/dist/esm/lib/transferBuilderV2.js +247 -0
  261. package/dist/esm/lib/utils.d.ts +205 -0
  262. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  263. package/dist/esm/lib/utils.js +619 -0
  264. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  265. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  266. package/dist/esm/register.d.ts +5 -0
  267. package/dist/esm/register.d.ts.map +1 -0
  268. package/dist/esm/register.js +24 -0
  269. package/dist/esm/sol.d.ts +349 -0
  270. package/dist/esm/sol.d.ts.map +1 -0
  271. package/dist/esm/sol.js +1596 -0
  272. package/dist/esm/solToken.d.ts +44 -0
  273. package/dist/esm/solToken.d.ts.map +1 -0
  274. package/dist/esm/solToken.js +75 -0
  275. package/dist/esm/tsol.d.ts +11 -0
  276. package/dist/esm/tsol.js +20 -0
  277. package/package.json +36 -16
  278. package/dist/src/config/token2022StaticConfig.d.ts +0 -3
  279. package/dist/src/config/token2022StaticConfig.d.ts.map +0 -1
  280. package/dist/src/config/token2022StaticConfig.js +0 -50
  281. package/dist/src/lib/ataInitializationBuilder.d.ts.map +0 -1
  282. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  283. package/dist/src/lib/closeAtaBuilder.d.ts +0 -19
  284. package/dist/src/lib/closeAtaBuilder.d.ts.map +0 -1
  285. package/dist/src/lib/closeAtaBuilder.js +0 -69
  286. package/dist/src/lib/constants.d.ts.map +0 -1
  287. package/dist/src/lib/constants.js +0 -171
  288. package/dist/src/lib/customInstructionBuilder.js +0 -289
  289. package/dist/src/lib/iface.d.ts +0 -244
  290. package/dist/src/lib/iface.d.ts.map +0 -1
  291. package/dist/src/lib/iface.js +0 -7
  292. package/dist/src/lib/index.d.ts.map +0 -1
  293. package/dist/src/lib/index.js +0 -77
  294. package/dist/src/lib/instructionParamsFactory.d.ts.map +0 -1
  295. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  296. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  297. package/dist/src/lib/keyPair.js +0 -63
  298. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  299. package/dist/src/lib/solInstructionFactory.js +0 -572
  300. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  301. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  302. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  303. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  304. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  305. package/dist/src/lib/token2022Config.d.ts +0 -44
  306. package/dist/src/lib/token2022Config.d.ts.map +0 -1
  307. package/dist/src/lib/token2022Config.js +0 -27
  308. package/dist/src/lib/tokenTransferBuilder.d.ts.map +0 -1
  309. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  310. package/dist/src/lib/transaction.d.ts.map +0 -1
  311. package/dist/src/lib/transaction.js +0 -595
  312. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  313. package/dist/src/lib/transactionBuilder.js +0 -380
  314. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  315. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  316. package/dist/src/lib/transferBuilder.js +0 -70
  317. package/dist/src/lib/transferBuilderV2.d.ts +0 -43
  318. package/dist/src/lib/transferBuilderV2.d.ts.map +0 -1
  319. package/dist/src/lib/transferBuilderV2.js +0 -210
  320. package/dist/src/lib/utils.js +0 -586
  321. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  322. package/dist/src/register.d.ts +0 -3
  323. package/dist/src/register.d.ts.map +0 -1
  324. package/dist/src/register.js +0 -15
  325. package/dist/src/sol.d.ts.map +0 -1
  326. package/dist/src/sol.js +0 -1285
  327. package/dist/src/solToken.d.ts.map +0 -1
  328. package/dist/src/solToken.js +0 -69
  329. package/dist/src/tsol.js +0 -24
  330. package/dist/test/fixtures/sol.js +0 -1433
  331. package/dist/test/resources/sol.d.ts.map +0 -1
  332. package/dist/test/resources/sol.js +0 -320
  333. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  334. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  335. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  336. package/dist/test/unit/getBuilderFactory.js +0 -10
  337. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  338. package/dist/test/unit/instructionParamsFactory.js +0 -412
  339. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  340. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  341. package/dist/test/unit/keyPair.js +0 -177
  342. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  343. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  344. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  345. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  346. package/dist/test/unit/sol.js +0 -3108
  347. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  348. package/dist/test/unit/solInstructionFactory.js +0 -454
  349. package/dist/test/unit/solToken.d.ts.map +0 -1
  350. package/dist/test/unit/solToken.js +0 -31
  351. package/dist/test/unit/transaction.d.ts.map +0 -1
  352. package/dist/test/unit/transaction.js +0 -983
  353. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  354. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  355. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  356. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  357. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  358. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  359. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  360. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  361. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  362. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  363. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  364. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  365. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  366. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  367. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  368. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  369. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  370. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  371. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  372. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  373. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  374. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  375. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  376. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  377. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  378. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  379. package/dist/test/unit/utils.js +0 -517
  380. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  381. package/dist/test/unit/versionedTransaction.js +0 -207
  382. package/dist/tsconfig.tsbuildinfo +0 -1
  383. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  384. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  385. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  386. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  387. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  388. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  389. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  390. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  391. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  392. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  393. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  394. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  395. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  396. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  397. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  398. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  399. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  400. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  401. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  402. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  403. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  404. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  405. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  406. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  407. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  408. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  409. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  410. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  411. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  412. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  413. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  414. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  415. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  416. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  417. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  418. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  419. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  420. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  421. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  422. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  423. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  424. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  425. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  426. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  427. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  428. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  429. /package/dist/{src → esm}/index.d.ts.map +0 -0
  430. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  431. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  432. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  433. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  434. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  435. /package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +0 -0
  436. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  437. /package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +0 -0
  438. /package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +0 -0
  439. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  440. /package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +0 -0
  441. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  442. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  443. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=bigint-buffer-guard.d.ts.map
@@ -0,0 +1,7 @@
1
+ import './bigint-buffer-guard';
2
+ export * from './lib';
3
+ export * from './sol';
4
+ export * from './solToken';
5
+ export * from './tsol';
6
+ export * from './register';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import './bigint-buffer-guard';
2
+ export * from './lib';
3
+ export * from './sol';
4
+ export * from './solToken';
5
+ export * from './tsol';
6
+ export * from './register';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyx1QkFBdUIsQ0FBQztBQUMvQixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9iaWdpbnQtYnVmZmVyLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vc29sJztcbmV4cG9ydCAqIGZyb20gJy4vc29sVG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi90c29sJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
@@ -0,0 +1,58 @@
1
+ import { TransactionBuilder } from './transactionBuilder';
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
+ import { Transaction } from './transaction';
5
+ import { PermissionlessThawIdempotent, TokenAssociateRecipient } from './iface';
6
+ export declare class AtaInitializationBuilder extends TransactionBuilder {
7
+ private _tokenName;
8
+ private _mint;
9
+ private _owner;
10
+ private _tokenAssociateRecipients;
11
+ private _permissionlessThawParams;
12
+ constructor(_coinConfig: Readonly<CoinConfig>);
13
+ protected get transactionType(): TransactionType;
14
+ /** @inheritDoc */
15
+ initBuilder(tx: Transaction): void;
16
+ /**
17
+ * @deprecated - Use the enableToken method instead
18
+ * Sets the mint address of the associated token account
19
+ *
20
+ * @param tokenName name of the token
21
+ */
22
+ mint(tokenName: string): this;
23
+ /**
24
+ * @deprecated - Use the enableToken method instead
25
+ * Sets the owner address of the associated token account
26
+ *
27
+ * @param owner owner address of associated token account
28
+ */
29
+ owner(owner: string): this;
30
+ /**
31
+ * @deprecated - Use the associatedTokenAccountRent method instead
32
+ * Used to set the minimum rent exempt amount
33
+ *
34
+ * @param rentExemptAmount minimum rent exempt amount in lamports
35
+ */
36
+ rentExemptAmount(rentExemptAmount: string): this;
37
+ /**
38
+ * Used for adding token association recipients consisting
39
+ * 1. ownerAddress: owner of the token address
40
+ * 2. tokenName: the name of token enabled that is supported by BitGo
41
+ *
42
+ * @param TokenAssociateRecipient token associate recipient info
43
+ */
44
+ enableToken(recipient: TokenAssociateRecipient): this;
45
+ /**
46
+ * Set a resolved sRFC-37 Token ACL permissionless-thaw instruction for an ATA enablement.
47
+ *
48
+ * The builder remains offline; callers resolve gating accounts live and pass fully materialized
49
+ * params. Multiple Token-2022 ATA enablements may each add one thaw instruction.
50
+ *
51
+ * @param {PermissionlessThawIdempotent['params']} params - resolved thaw params
52
+ * @returns {AtaInitializationBuilder} This transaction builder
53
+ */
54
+ permissionlessThaw(params: PermissionlessThawIdempotent['params']): this;
55
+ /** @inheritdoc */
56
+ protected buildImplementation(): Promise<Transaction>;
57
+ }
58
+ //# sourceMappingURL=ataInitializationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ataInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ataInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA+C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAWzF,qBAAa,wBAAyB,SAAQ,kBAAkB;IAE9D,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,yBAAyB,CAA2C;gBAEhE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAmBlC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc7B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B;;;;;OAKG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IAEH,WAAW,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IA+BrD;;;;;;;;OAQG;IACH,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKxE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CA8D5D"}
@@ -0,0 +1,183 @@
1
+ import { TransactionBuilder } from './transactionBuilder';
2
+ import { BuildTransactionError, DuplicateMethodError, TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { InstructionBuilderTypes } from './constants';
5
+ import { getAssociatedTokenAccountAddress, getSolTokenFromTokenName, validateMintAddress, validateOwnerAddress, } from './utils';
6
+ import assert from 'assert';
7
+ import * as _ from 'lodash';
8
+ export class AtaInitializationBuilder extends TransactionBuilder {
9
+ constructor(_coinConfig) {
10
+ super(_coinConfig);
11
+ this._transaction = new Transaction(_coinConfig);
12
+ this._permissionlessThawParams = [];
13
+ this._tokenAssociateRecipients = [];
14
+ }
15
+ get transactionType() {
16
+ return TransactionType.AssociatedTokenAccountInitialization;
17
+ }
18
+ /** @inheritDoc */
19
+ initBuilder(tx) {
20
+ super.initBuilder(tx);
21
+ this._permissionlessThawParams = [];
22
+ this._tokenAssociateRecipients = [];
23
+ for (const instruction of this._instructionsData) {
24
+ if (instruction.type === InstructionBuilderTypes.CreateAssociatedTokenAccount) {
25
+ const ataInitInstruction = instruction;
26
+ this._tokenAssociateRecipients.push({
27
+ ownerAddress: ataInitInstruction.params.ownerAddress,
28
+ tokenName: ataInitInstruction.params.tokenName,
29
+ tokenAddress: ataInitInstruction.params.mintAddress,
30
+ programId: ataInitInstruction.params.programId,
31
+ });
32
+ }
33
+ else if (instruction.type === InstructionBuilderTypes.PermissionlessThawIdempotent) {
34
+ this._permissionlessThawParams.push(instruction.params);
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * @deprecated - Use the enableToken method instead
40
+ * Sets the mint address of the associated token account
41
+ *
42
+ * @param tokenName name of the token
43
+ */
44
+ mint(tokenName) {
45
+ if (this._tokenAssociateRecipients.length > 0) {
46
+ throw new DuplicateMethodError('Invalid method: enableToken already used');
47
+ }
48
+ const token = getSolTokenFromTokenName(tokenName);
49
+ if (!token) {
50
+ throw new BuildTransactionError('Invalid transaction: invalid token name, got: ' + tokenName);
51
+ }
52
+ this._mint = token.tokenAddress;
53
+ this._tokenName = token.name;
54
+ validateMintAddress(this._mint);
55
+ return this;
56
+ }
57
+ /**
58
+ * @deprecated - Use the enableToken method instead
59
+ * Sets the owner address of the associated token account
60
+ *
61
+ * @param owner owner address of associated token account
62
+ */
63
+ owner(owner) {
64
+ if (this._tokenAssociateRecipients.length > 0) {
65
+ throw new DuplicateMethodError('Invalid method: enableToken already used');
66
+ }
67
+ this._owner = owner;
68
+ validateOwnerAddress(owner);
69
+ return this;
70
+ }
71
+ /**
72
+ * @deprecated - Use the associatedTokenAccountRent method instead
73
+ * Used to set the minimum rent exempt amount
74
+ *
75
+ * @param rentExemptAmount minimum rent exempt amount in lamports
76
+ */
77
+ rentExemptAmount(rentExemptAmount) {
78
+ return super.associatedTokenAccountRent(rentExemptAmount);
79
+ }
80
+ /**
81
+ * Used for adding token association recipients consisting
82
+ * 1. ownerAddress: owner of the token address
83
+ * 2. tokenName: the name of token enabled that is supported by BitGo
84
+ *
85
+ * @param TokenAssociateRecipient token associate recipient info
86
+ */
87
+ enableToken(recipient) {
88
+ if (this._tokenAssociateRecipients.some((tokenAssociate) => _.isEqual(tokenAssociate, recipient))) {
89
+ throw new BuildTransactionError('Invalid transaction: invalid duplicate recipients, got: owner ' +
90
+ recipient.ownerAddress +
91
+ ' and tokenName ' +
92
+ recipient.tokenName +
93
+ ' twice');
94
+ }
95
+ if (this._tokenName || this._mint) {
96
+ throw new DuplicateMethodError('Invalid method: single mint already used');
97
+ }
98
+ validateOwnerAddress(recipient.ownerAddress);
99
+ let tokenAddress;
100
+ if (recipient.tokenAddress) {
101
+ tokenAddress = recipient.tokenAddress;
102
+ }
103
+ else {
104
+ const token = getSolTokenFromTokenName(recipient.tokenName);
105
+ if (token) {
106
+ tokenAddress = token.tokenAddress;
107
+ }
108
+ else {
109
+ throw new BuildTransactionError('Invalid transaction: invalid token name, got: ' + recipient.tokenName);
110
+ }
111
+ }
112
+ validateMintAddress(tokenAddress);
113
+ this._tokenAssociateRecipients.push(recipient);
114
+ return this;
115
+ }
116
+ /**
117
+ * Set a resolved sRFC-37 Token ACL permissionless-thaw instruction for an ATA enablement.
118
+ *
119
+ * The builder remains offline; callers resolve gating accounts live and pass fully materialized
120
+ * params. Multiple Token-2022 ATA enablements may each add one thaw instruction.
121
+ *
122
+ * @param {PermissionlessThawIdempotent['params']} params - resolved thaw params
123
+ * @returns {AtaInitializationBuilder} This transaction builder
124
+ */
125
+ permissionlessThaw(params) {
126
+ this._permissionlessThawParams.push(params);
127
+ return this;
128
+ }
129
+ /** @inheritdoc */
130
+ async buildImplementation() {
131
+ assert(this._sender, 'Sender must be set before building the transaction');
132
+ if (this._tokenAssociateRecipients.length === 0) {
133
+ assert(this._mint && this._tokenName, 'Mint must be set before building the transaction');
134
+ this._owner = this._owner || this._sender;
135
+ this._tokenAssociateRecipients.push({
136
+ ownerAddress: this._owner,
137
+ tokenName: this._tokenName,
138
+ });
139
+ }
140
+ this._instructionsData = [];
141
+ await Promise.all(this._tokenAssociateRecipients.map(async (recipient) => {
142
+ let tokenAddress;
143
+ let programId;
144
+ if (recipient.tokenAddress && recipient.programId) {
145
+ tokenAddress = recipient.tokenAddress;
146
+ programId = recipient.programId;
147
+ }
148
+ else {
149
+ const token = getSolTokenFromTokenName(recipient.tokenName);
150
+ if (token) {
151
+ tokenAddress = token.tokenAddress;
152
+ programId = token.programId;
153
+ }
154
+ else {
155
+ throw new BuildTransactionError('Invalid transaction: invalid token name, got: ' + recipient.tokenName);
156
+ }
157
+ }
158
+ // Use the provided ataAddress if it exists, otherwise calculate it
159
+ let ataPk = recipient.ataAddress;
160
+ if (!ataPk) {
161
+ ataPk = await getAssociatedTokenAccountAddress(tokenAddress, recipient.ownerAddress, false, programId);
162
+ }
163
+ this._instructionsData.push({
164
+ type: InstructionBuilderTypes.CreateAssociatedTokenAccount,
165
+ params: {
166
+ mintAddress: tokenAddress,
167
+ ataAddress: ataPk,
168
+ ownerAddress: recipient.ownerAddress,
169
+ // Match transactionBuilder fee payer selection when a distinct fee payer is set.
170
+ payerAddress: this._feePayer ?? this._sender,
171
+ tokenName: recipient.tokenName,
172
+ programId: programId,
173
+ },
174
+ });
175
+ }));
176
+ this._instructionsData.push(...this._permissionlessThawParams.map((params) => ({
177
+ type: InstructionBuilderTypes.PermissionlessThawIdempotent,
178
+ params,
179
+ })));
180
+ return await super.buildImplementation();
181
+ }
182
+ }
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFVOUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLGVBQWUsQ0FBQyxvQ0FBb0MsQ0FBQztJQUM5RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLHVCQUF1QixDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBQzlFLE1BQU0sa0JBQWtCLEdBQVksV0FBVyxDQUFDO2dCQUNoRCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO29CQUNsQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFlBQVk7b0JBQ3BELFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUztvQkFDOUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXO29CQUNuRCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVM7aUJBQy9DLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLHVCQUF1QixDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUUsV0FBNEMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxTQUFpQjtRQUNwQixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxnREFBZ0QsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUNoRyxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUM3QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsS0FBYTtRQUNqQixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsZ0JBQXdCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVILFdBQVcsQ0FBQyxTQUFrQztRQUM1QyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRyxNQUFNLElBQUkscUJBQXFCLENBQzdCLGdFQUFnRTtnQkFDOUQsU0FBUyxDQUFDLFlBQVk7Z0JBQ3RCLGlCQUFpQjtnQkFDakIsU0FBUyxDQUFDLFNBQVM7Z0JBQ25CLFFBQVEsQ0FDWCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLFlBQW9CLENBQUM7UUFDekIsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLHFCQUFxQixDQUFDLGdEQUFnRCxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRyxDQUFDO1FBQ0gsQ0FBQztRQUNELG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxrQkFBa0IsQ0FBQyxNQUE4QztRQUMvRCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQztRQUMzRSxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxrREFBa0QsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRTFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUNyRCxJQUFJLFlBQW9CLENBQUM7WUFDekIsSUFBSSxTQUFpQixDQUFDO1lBQ3RCLElBQUksU0FBUyxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xELFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUNsQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO29CQUNsQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFDOUIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxnREFBZ0QsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzFHLENBQUM7WUFDSCxDQUFDO1lBRUQsbUVBQW1FO1lBQ25FLElBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLEtBQUssR0FBRyxNQUFNLGdDQUFnQyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RyxDQUFDO1lBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDMUIsSUFBSSxFQUFFLHVCQUF1QixDQUFDLDRCQUE0QjtnQkFDMUQsTUFBTSxFQUFFO29CQUNOLFdBQVcsRUFBRSxZQUFZO29CQUN6QixVQUFVLEVBQUUsS0FBSztvQkFDakIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO29CQUNwQyxpRkFBaUY7b0JBQ2pGLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPO29CQUM1QyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7b0JBQzlCLFNBQVMsRUFBRSxTQUFTO2lCQUNyQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN6QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQ25DLENBQUMsTUFBTSxFQUFnQyxFQUFFLENBQUMsQ0FBQztZQUN6QyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsNEJBQTRCO1lBQzFELE1BQU07U0FDUCxDQUFDLENBQ0gsQ0FDRixDQUFDO1FBRUYsT0FBTyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgRHVwbGljYXRlTWV0aG9kRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBdGFJbml0LCBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50LCBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyxcbiAgZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lLFxuICB2YWxpZGF0ZU1pbnRBZGRyZXNzLFxuICB2YWxpZGF0ZU93bmVyQWRkcmVzcyxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAvLyBAZGVwcmVjYXRlZCAtIFVzZSB0aGUgX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cyBmaWVsZCBpbnN0ZWFkXG4gIHByaXZhdGUgX3Rva2VuTmFtZTogc3RyaW5nO1xuICAvLyBAZGVwcmVjYXRlZCAtIFVzZSB0aGUgX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cyBmaWVsZCBpbnN0ZWFkXG4gIHByaXZhdGUgX21pbnQ6IHN0cmluZztcbiAgLy8gQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgZmllbGQgaW5zdGVhZFxuICBwcml2YXRlIF9vd25lcjogc3RyaW5nO1xuICBwcml2YXRlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHM6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50W107XG4gIHByaXZhdGUgX3Blcm1pc3Npb25sZXNzVGhhd1BhcmFtczogUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudFsncGFyYW1zJ11bXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3Blcm1pc3Npb25sZXNzVGhhd1BhcmFtcyA9IFtdO1xuICAgIHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cyA9IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy5fcGVybWlzc2lvbmxlc3NUaGF3UGFyYW1zID0gW107XG4gICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzID0gW107XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCkge1xuICAgICAgICBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb246IEF0YUluaXQgPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLnB1c2goe1xuICAgICAgICAgIG93bmVyQWRkcmVzczogYXRhSW5pdEluc3RydWN0aW9uLnBhcmFtcy5vd25lckFkZHJlc3MsXG4gICAgICAgICAgdG9rZW5OYW1lOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgICB0b2tlbkFkZHJlc3M6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMubWludEFkZHJlc3MsXG4gICAgICAgICAgcHJvZ3JhbUlkOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGluc3RydWN0aW9uLnR5cGUgPT09IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQpIHtcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbmxlc3NUaGF3UGFyYW1zLnB1c2goKGluc3RydWN0aW9uIGFzIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQpLnBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIHRoZSBlbmFibGVUb2tlbiBtZXRob2QgaW5zdGVhZFxuICAgKiBTZXRzIHRoZSBtaW50IGFkZHJlc3Mgb2YgdGhlIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudFxuICAgKlxuICAgKiBAcGFyYW0gdG9rZW5OYW1lIG5hbWUgb2YgdGhlIHRva2VuXG4gICAqL1xuICBtaW50KHRva2VuTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlTWV0aG9kRXJyb3IoJ0ludmFsaWQgbWV0aG9kOiBlbmFibGVUb2tlbiBhbHJlYWR5IHVzZWQnKTtcbiAgICB9XG4gICAgY29uc3QgdG9rZW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUodG9rZW5OYW1lKTtcbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBpbnZhbGlkIHRva2VuIG5hbWUsIGdvdDogJyArIHRva2VuTmFtZSk7XG4gICAgfVxuICAgIHRoaXMuX21pbnQgPSB0b2tlbi50b2tlbkFkZHJlc3M7XG4gICAgdGhpcy5fdG9rZW5OYW1lID0gdG9rZW4ubmFtZTtcbiAgICB2YWxpZGF0ZU1pbnRBZGRyZXNzKHRoaXMuX21pbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIHRoZSBlbmFibGVUb2tlbiBtZXRob2QgaW5zdGVhZFxuICAgKiBTZXRzIHRoZSBvd25lciBhZGRyZXNzIG9mIHRoZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnRcbiAgICpcbiAgICogQHBhcmFtIG93bmVyIG93bmVyIGFkZHJlc3Mgb2YgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqL1xuICBvd25lcihvd25lcjogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlTWV0aG9kRXJyb3IoJ0ludmFsaWQgbWV0aG9kOiBlbmFibGVUb2tlbiBhbHJlYWR5IHVzZWQnKTtcbiAgICB9XG4gICAgdGhpcy5fb3duZXIgPSBvd25lcjtcbiAgICB2YWxpZGF0ZU93bmVyQWRkcmVzcyhvd25lcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIGFzc29jaWF0ZWRUb2tlbkFjY291bnRSZW50IG1ldGhvZCBpbnN0ZWFkXG4gICAqIFVzZWQgdG8gc2V0IHRoZSBtaW5pbXVtIHJlbnQgZXhlbXB0IGFtb3VudFxuICAgKlxuICAgKiBAcGFyYW0gcmVudEV4ZW1wdEFtb3VudCBtaW5pbXVtIHJlbnQgZXhlbXB0IGFtb3VudCBpbiBsYW1wb3J0c1xuICAgKi9cbiAgcmVudEV4ZW1wdEFtb3VudChyZW50RXhlbXB0QW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICByZXR1cm4gc3VwZXIuYXNzb2NpYXRlZFRva2VuQWNjb3VudFJlbnQocmVudEV4ZW1wdEFtb3VudCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBmb3IgYWRkaW5nIHRva2VuIGFzc29jaWF0aW9uIHJlY2lwaWVudHMgY29uc2lzdGluZ1xuICAgKiAgMS4gb3duZXJBZGRyZXNzOiBvd25lciBvZiB0aGUgdG9rZW4gYWRkcmVzc1xuICAgKiAgMi4gdG9rZW5OYW1lOiB0aGUgbmFtZSBvZiB0b2tlbiBlbmFibGVkIHRoYXQgaXMgc3VwcG9ydGVkIGJ5IEJpdEdvXG4gICAqXG4gICAqICBAcGFyYW0gVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQgdG9rZW4gYXNzb2NpYXRlIHJlY2lwaWVudCBpbmZvXG4gICAqL1xuXG4gIGVuYWJsZVRva2VuKHJlY2lwaWVudDogVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLnNvbWUoKHRva2VuQXNzb2NpYXRlKSA9PiBfLmlzRXF1YWwodG9rZW5Bc3NvY2lhdGUsIHJlY2lwaWVudCkpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAnSW52YWxpZCB0cmFuc2FjdGlvbjogaW52YWxpZCBkdXBsaWNhdGUgcmVjaXBpZW50cywgZ290OiBvd25lciAnICtcbiAgICAgICAgICByZWNpcGllbnQub3duZXJBZGRyZXNzICtcbiAgICAgICAgICAnIGFuZCB0b2tlbk5hbWUgJyArXG4gICAgICAgICAgcmVjaXBpZW50LnRva2VuTmFtZSArXG4gICAgICAgICAgJyB0d2ljZSdcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLl90b2tlbk5hbWUgfHwgdGhpcy5fbWludCkge1xuICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZU1ldGhvZEVycm9yKCdJbnZhbGlkIG1ldGhvZDogc2luZ2xlIG1pbnQgYWxyZWFkeSB1c2VkJyk7XG4gICAgfVxuICAgIHZhbGlkYXRlT3duZXJBZGRyZXNzKHJlY2lwaWVudC5vd25lckFkZHJlc3MpO1xuICAgIGxldCB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgICBpZiAocmVjaXBpZW50LnRva2VuQWRkcmVzcykge1xuICAgICAgdG9rZW5BZGRyZXNzID0gcmVjaXBpZW50LnRva2VuQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdG9rZW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUocmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgdG9rZW5BZGRyZXNzID0gdG9rZW4udG9rZW5BZGRyZXNzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogaW52YWxpZCB0b2tlbiBuYW1lLCBnb3Q6ICcgKyByZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFsaWRhdGVNaW50QWRkcmVzcyh0b2tlbkFkZHJlc3MpO1xuXG4gICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLnB1c2gocmVjaXBpZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSByZXNvbHZlZCBzUkZDLTM3IFRva2VuIEFDTCBwZXJtaXNzaW9ubGVzcy10aGF3IGluc3RydWN0aW9uIGZvciBhbiBBVEEgZW5hYmxlbWVudC5cbiAgICpcbiAgICogVGhlIGJ1aWxkZXIgcmVtYWlucyBvZmZsaW5lOyBjYWxsZXJzIHJlc29sdmUgZ2F0aW5nIGFjY291bnRzIGxpdmUgYW5kIHBhc3MgZnVsbHkgbWF0ZXJpYWxpemVkXG4gICAqIHBhcmFtcy4gTXVsdGlwbGUgVG9rZW4tMjAyMiBBVEEgZW5hYmxlbWVudHMgbWF5IGVhY2ggYWRkIG9uZSB0aGF3IGluc3RydWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge1Blcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnRbJ3BhcmFtcyddfSBwYXJhbXMgLSByZXNvbHZlZCB0aGF3IHBhcmFtc1xuICAgKiBAcmV0dXJucyB7QXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHBlcm1pc3Npb25sZXNzVGhhdyhwYXJhbXM6IFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnRbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgdGhpcy5fcGVybWlzc2lvbmxlc3NUaGF3UGFyYW1zLnB1c2gocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgJ1NlbmRlciBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgaWYgKHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGFzc2VydCh0aGlzLl9taW50ICYmIHRoaXMuX3Rva2VuTmFtZSwgJ01pbnQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgICAgdGhpcy5fb3duZXIgPSB0aGlzLl9vd25lciB8fCB0aGlzLl9zZW5kZXI7XG5cbiAgICAgIHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5wdXNoKHtcbiAgICAgICAgb3duZXJBZGRyZXNzOiB0aGlzLl9vd25lcixcbiAgICAgICAgdG9rZW5OYW1lOiB0aGlzLl90b2tlbk5hbWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gW107XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMubWFwKGFzeW5jIChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgbGV0IHRva2VuQWRkcmVzczogc3RyaW5nO1xuICAgICAgICBsZXQgcHJvZ3JhbUlkOiBzdHJpbmc7XG4gICAgICAgIGlmIChyZWNpcGllbnQudG9rZW5BZGRyZXNzICYmIHJlY2lwaWVudC5wcm9ncmFtSWQpIHtcbiAgICAgICAgICB0b2tlbkFkZHJlc3MgPSByZWNpcGllbnQudG9rZW5BZGRyZXNzO1xuICAgICAgICAgIHByb2dyYW1JZCA9IHJlY2lwaWVudC5wcm9ncmFtSWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUocmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICB0b2tlbkFkZHJlc3MgPSB0b2tlbi50b2tlbkFkZHJlc3M7XG4gICAgICAgICAgICBwcm9ncmFtSWQgPSB0b2tlbi5wcm9ncmFtSWQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IGludmFsaWQgdG9rZW4gbmFtZSwgZ290OiAnICsgcmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBhdGFBZGRyZXNzIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIGNhbGN1bGF0ZSBpdFxuICAgICAgICBsZXQgYXRhUGsgPSByZWNpcGllbnQuYXRhQWRkcmVzcztcbiAgICAgICAgaWYgKCFhdGFQaykge1xuICAgICAgICAgIGF0YVBrID0gYXdhaXQgZ2V0QXNzb2NpYXRlZFRva2VuQWNjb3VudEFkZHJlc3ModG9rZW5BZGRyZXNzLCByZWNpcGllbnQub3duZXJBZGRyZXNzLCBmYWxzZSwgcHJvZ3JhbUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEucHVzaCh7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIG1pbnRBZGRyZXNzOiB0b2tlbkFkZHJlc3MsXG4gICAgICAgICAgICBhdGFBZGRyZXNzOiBhdGFQayxcbiAgICAgICAgICAgIG93bmVyQWRkcmVzczogcmVjaXBpZW50Lm93bmVyQWRkcmVzcyxcbiAgICAgICAgICAgIC8vIE1hdGNoIHRyYW5zYWN0aW9uQnVpbGRlciBmZWUgcGF5ZXIgc2VsZWN0aW9uIHdoZW4gYSBkaXN0aW5jdCBmZWUgcGF5ZXIgaXMgc2V0LlxuICAgICAgICAgICAgcGF5ZXJBZGRyZXNzOiB0aGlzLl9mZWVQYXllciA/PyB0aGlzLl9zZW5kZXIsXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHJlY2lwaWVudC50b2tlbk5hbWUsXG4gICAgICAgICAgICBwcm9ncmFtSWQ6IHByb2dyYW1JZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEucHVzaChcbiAgICAgIC4uLnRoaXMuX3Blcm1pc3Npb25sZXNzVGhhd1BhcmFtcy5tYXAoXG4gICAgICAgIChwYXJhbXMpOiBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50ID0+ICh7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { Transaction } from './transaction';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ export declare class CloseAtaBuilder extends TransactionBuilder {
6
+ protected _closeAtaEntries: {
7
+ accountAddress: string;
8
+ destinationAddress: string;
9
+ authorityAddress: string;
10
+ programId?: string;
11
+ }[];
12
+ private _apiMode;
13
+ constructor(_coinConfig: Readonly<CoinConfig>);
14
+ protected get transactionType(): TransactionType;
15
+ /**
16
+ * Sets the ATA account address to close (single-ATA API, backward compatible).
17
+ * Cannot be mixed with addCloseAtaInstruction().
18
+ */
19
+ accountAddress(accountAddress: string): this;
20
+ /**
21
+ * Sets the destination address for rent SOL (single-ATA API, backward compatible).
22
+ * Cannot be mixed with addCloseAtaInstruction().
23
+ */
24
+ destinationAddress(destinationAddress: string): this;
25
+ /**
26
+ * Sets the authority address / ATA owner (single-ATA API, backward compatible).
27
+ * Cannot be mixed with addCloseAtaInstruction().
28
+ */
29
+ authorityAddress(authorityAddress: string): this;
30
+ /** Sets the SPL token program used by the close instruction. */
31
+ programId(programId: string): this;
32
+ /**
33
+ * Throws if the bulk-ATA API has already been used on this builder.
34
+ */
35
+ private _assertSingleAtaApiUsable;
36
+ /**
37
+ * Ensures a single entry exists in _closeAtaEntries for the legacy API.
38
+ */
39
+ private _ensureSingleEntry;
40
+ /**
41
+ * Add an ATA to close in this transaction (for bulk closure).
42
+ * Cannot be mixed with the single-ATA API (accountAddress/destinationAddress/authorityAddress).
43
+ *
44
+ * @param accountAddress - the ATA address to close
45
+ * @param destinationAddress - where rent SOL goes (root wallet address)
46
+ * @param authorityAddress - ATA owner who must sign
47
+ * @param programId - SPL token program owning the ATA; omitted for legacy SPL
48
+ */
49
+ addCloseAtaInstruction(accountAddress: string, destinationAddress: string, authorityAddress: string, programId?: string): this;
50
+ /** @inheritDoc */
51
+ initBuilder(tx: Transaction): void;
52
+ /** @inheritdoc */
53
+ protected buildImplementation(): Promise<Transaction>;
54
+ }
55
+ //# sourceMappingURL=closeAtaBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeAtaBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/closeAtaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,qBAAa,eAAgB,SAAQ,kBAAkB;IAErD,SAAS,CAAC,gBAAgB,EAAE;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAM;IAOT,OAAO,CAAC,QAAQ,CAA0C;gBAE9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAS5C;;;OAGG;IACH,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI;IASpD;;;OAGG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAShD,gEAAgE;IAChE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;OAQG;IACH,sBAAsB,CACpB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAyBP,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAkBlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CA2B5D"}
@@ -0,0 +1,155 @@
1
+ import { BuildTransactionError, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import assert from 'assert';
3
+ import { InstructionBuilderTypes } from './constants';
4
+ import { Transaction } from './transaction';
5
+ import { TransactionBuilder } from './transactionBuilder';
6
+ import { validateAddress } from './utils';
7
+ const MIX_API_ERROR_MESSAGE = 'Cannot mix single-ATA API (accountAddress/destinationAddress/authorityAddress) with bulk-ATA API (addCloseAtaInstruction)';
8
+ export class CloseAtaBuilder extends TransactionBuilder {
9
+ constructor(_coinConfig) {
10
+ super(_coinConfig);
11
+ // Unified storage for all close entries (single or bulk)
12
+ this._closeAtaEntries = [];
13
+ // Which API has been used on this builder instance. Locks in on first call so we can
14
+ // reject attempts to mix the legacy single-ATA setters with the bulk addCloseAtaInstruction().
15
+ // After initBuilder(): remains undefined for a single parsed close (either API may extend/edit);
16
+ // set to 'bulk' when the parsed tx had multiple closes so legacy setters cannot partially
17
+ // overwrite entry[0] while leaving other parsed entries in place.
18
+ this._apiMode = undefined;
19
+ this._transaction = new Transaction(_coinConfig);
20
+ }
21
+ get transactionType() {
22
+ return TransactionType.CloseAssociatedTokenAccount;
23
+ }
24
+ /**
25
+ * Sets the ATA account address to close (single-ATA API, backward compatible).
26
+ * Cannot be mixed with addCloseAtaInstruction().
27
+ */
28
+ accountAddress(accountAddress) {
29
+ this._assertSingleAtaApiUsable();
30
+ validateAddress(accountAddress, 'accountAddress');
31
+ this._apiMode = 'single';
32
+ this._ensureSingleEntry();
33
+ this._closeAtaEntries[0].accountAddress = accountAddress;
34
+ return this;
35
+ }
36
+ /**
37
+ * Sets the destination address for rent SOL (single-ATA API, backward compatible).
38
+ * Cannot be mixed with addCloseAtaInstruction().
39
+ */
40
+ destinationAddress(destinationAddress) {
41
+ this._assertSingleAtaApiUsable();
42
+ validateAddress(destinationAddress, 'destinationAddress');
43
+ this._apiMode = 'single';
44
+ this._ensureSingleEntry();
45
+ this._closeAtaEntries[0].destinationAddress = destinationAddress;
46
+ return this;
47
+ }
48
+ /**
49
+ * Sets the authority address / ATA owner (single-ATA API, backward compatible).
50
+ * Cannot be mixed with addCloseAtaInstruction().
51
+ */
52
+ authorityAddress(authorityAddress) {
53
+ this._assertSingleAtaApiUsable();
54
+ validateAddress(authorityAddress, 'authorityAddress');
55
+ this._apiMode = 'single';
56
+ this._ensureSingleEntry();
57
+ this._closeAtaEntries[0].authorityAddress = authorityAddress;
58
+ return this;
59
+ }
60
+ /** Sets the SPL token program used by the close instruction. */
61
+ programId(programId) {
62
+ this._assertSingleAtaApiUsable();
63
+ validateAddress(programId, 'programId');
64
+ this._apiMode = 'single';
65
+ this._ensureSingleEntry();
66
+ this._closeAtaEntries[0].programId = programId;
67
+ return this;
68
+ }
69
+ /**
70
+ * Throws if the bulk-ATA API has already been used on this builder.
71
+ */
72
+ _assertSingleAtaApiUsable() {
73
+ if (this._apiMode === 'bulk') {
74
+ throw new BuildTransactionError(MIX_API_ERROR_MESSAGE);
75
+ }
76
+ }
77
+ /**
78
+ * Ensures a single entry exists in _closeAtaEntries for the legacy API.
79
+ */
80
+ _ensureSingleEntry() {
81
+ if (this._closeAtaEntries.length === 0) {
82
+ this._closeAtaEntries.push({ accountAddress: '', destinationAddress: '', authorityAddress: '' });
83
+ }
84
+ }
85
+ /**
86
+ * Add an ATA to close in this transaction (for bulk closure).
87
+ * Cannot be mixed with the single-ATA API (accountAddress/destinationAddress/authorityAddress).
88
+ *
89
+ * @param accountAddress - the ATA address to close
90
+ * @param destinationAddress - where rent SOL goes (root wallet address)
91
+ * @param authorityAddress - ATA owner who must sign
92
+ * @param programId - SPL token program owning the ATA; omitted for legacy SPL
93
+ */
94
+ addCloseAtaInstruction(accountAddress, destinationAddress, authorityAddress, programId) {
95
+ if (this._apiMode === 'single') {
96
+ throw new BuildTransactionError(MIX_API_ERROR_MESSAGE);
97
+ }
98
+ validateAddress(accountAddress, 'accountAddress');
99
+ validateAddress(destinationAddress, 'destinationAddress');
100
+ validateAddress(authorityAddress, 'authorityAddress');
101
+ if (programId) {
102
+ validateAddress(programId, 'programId');
103
+ }
104
+ if (accountAddress === destinationAddress) {
105
+ throw new BuildTransactionError('Account address to close cannot be the same as the destination address');
106
+ }
107
+ if (this._closeAtaEntries.some((entry) => entry.accountAddress === accountAddress)) {
108
+ throw new BuildTransactionError('Duplicate ATA address: ' + accountAddress);
109
+ }
110
+ this._apiMode = 'bulk';
111
+ this._closeAtaEntries.push({ accountAddress, destinationAddress, authorityAddress, programId });
112
+ return this;
113
+ }
114
+ /** @inheritDoc */
115
+ initBuilder(tx) {
116
+ super.initBuilder(tx);
117
+ for (const instruction of this._instructionsData) {
118
+ if (instruction.type === InstructionBuilderTypes.CloseAssociatedTokenAccount) {
119
+ const ataCloseInstruction = instruction;
120
+ this._closeAtaEntries.push({
121
+ accountAddress: ataCloseInstruction.params.accountAddress,
122
+ destinationAddress: ataCloseInstruction.params.destinationAddress,
123
+ authorityAddress: ataCloseInstruction.params.authorityAddress,
124
+ programId: ataCloseInstruction.params.programId,
125
+ });
126
+ }
127
+ }
128
+ if (this._closeAtaEntries.length > 1) {
129
+ this._apiMode = 'bulk';
130
+ }
131
+ }
132
+ /** @inheritdoc */
133
+ async buildImplementation() {
134
+ assert(this._closeAtaEntries.length > 0, 'At least one ATA must be specified before building the transaction');
135
+ for (const entry of this._closeAtaEntries) {
136
+ assert(entry.accountAddress, 'Account Address must be set before building the transaction');
137
+ assert(entry.destinationAddress, 'Destination Address must be set before building the transaction');
138
+ assert(entry.authorityAddress, 'Authority Address must be set before building the transaction');
139
+ if (entry.accountAddress === entry.destinationAddress) {
140
+ throw new BuildTransactionError('Account address to close cannot be the same as the destination address');
141
+ }
142
+ }
143
+ this._instructionsData = this._closeAtaEntries.map((entry) => ({
144
+ type: InstructionBuilderTypes.CloseAssociatedTokenAccount,
145
+ params: {
146
+ accountAddress: entry.accountAddress,
147
+ destinationAddress: entry.destinationAddress,
148
+ authorityAddress: entry.authorityAddress,
149
+ ...(entry.programId ? { programId: entry.programId } : {}),
150
+ },
151
+ }));
152
+ return await super.buildImplementation();
153
+ }
154
+ }
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2VBdGFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbG9zZUF0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSTFDLE1BQU0scUJBQXFCLEdBQ3pCLDJIQUEySCxDQUFDO0FBRTlILE1BQU0sT0FBTyxlQUFnQixTQUFRLGtCQUFrQjtJQWdCckQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFoQnJCLHlEQUF5RDtRQUMvQyxxQkFBZ0IsR0FLcEIsRUFBRSxDQUFDO1FBRVQscUZBQXFGO1FBQ3JGLCtGQUErRjtRQUMvRixpR0FBaUc7UUFDakcsMEZBQTBGO1FBQzFGLGtFQUFrRTtRQUMxRCxhQUFRLEdBQWdDLFNBQVMsQ0FBQztRQUl4RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFlLENBQUMsMkJBQTJCLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxjQUFzQjtRQUNuQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxlQUFlLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxR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LENBQUM7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEF0YUNsb3NlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgdmFsaWRhdGVBZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgQ2xvc2VBdGFBcGlNb2RlID0gJ3NpbmdsZScgfCAnYnVsayc7XG5cbmNvbnN0IE1JWF9BUElfRVJST1JfTUVTU0FHRSA9XG4gICdDYW5ub3QgbWl4IHNpbmdsZS1BVEEgQVBJIChhY2NvdW50QWRkcmVzcy9kZXN0aW5hdGlvbkFkZHJlc3MvYXV0aG9yaXR5QWRkcmVzcykgd2l0aCBidWxrLUFUQSBBUEkgKGFkZENsb3NlQXRhSW5zdHJ1Y3Rpb24pJztcblxuZXhwb3J0IGNsYXNzIENsb3NlQXRhQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIC8vIFVuaWZpZWQgc3RvcmFnZSBmb3IgYWxsIGNsb3NlIGVudHJpZXMgKHNpbmdsZSBvciBidWxrKVxuICBwcm90ZWN0ZWQgX2Nsb3NlQXRhRW50cmllczoge1xuICAgIGFjY291bnRBZGRyZXNzOiBzdHJpbmc7XG4gICAgZGVzdGluYXRpb25BZGRyZXNzOiBzdHJpbmc7XG4gICAgYXV0aG9yaXR5QWRkcmVzczogc3RyaW5nO1xuICAgIHByb2dyYW1JZD86IHN0cmluZztcbiAgfVtdID0gW107XG5cbiAgLy8gV2hpY2ggQVBJIGhhcyBiZWVuIHVzZWQgb24gdGhpcyBidWlsZGVyIGluc3RhbmNlLiBMb2NrcyBpbiBvbiBmaXJzdCBjYWxsIHNvIHdlIGNhblxuICAvLyByZWplY3QgYXR0ZW1wdHMgdG8gbWl4IHRoZSBsZWdhY3kgc2luZ2xlLUFUQSBzZXR0ZXJzIHdpdGggdGhlIGJ1bGsgYWRkQ2xvc2VBdGFJbnN0cnVjdGlvbigpLlxuICAvLyBBZnRlciBpbml0QnVpbGRlcigpOiByZW1haW5zIHVuZGVmaW5lZCBmb3IgYSBzaW5nbGUgcGFyc2VkIGNsb3NlIChlaXRoZXIgQVBJIG1heSBleHRlbmQvZWRpdCk7XG4gIC8vIHNldCB0byAnYnVsaycgd2hlbiB0aGUgcGFyc2VkIHR4IGhhZCBtdWx0aXBsZSBjbG9zZXMgc28gbGVnYWN5IHNldHRlcnMgY2Fubm90IHBhcnRpYWxseVxuICAvLyBvdmVyd3JpdGUgZW50cnlbMF0gd2hpbGUgbGVhdmluZyBvdGhlciBwYXJzZWQgZW50cmllcyBpbiBwbGFjZS5cbiAgcHJpdmF0ZSBfYXBpTW9kZTogQ2xvc2VBdGFBcGlNb2RlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIEFUQSBhY2NvdW50IGFkZHJlc3MgdG8gY2xvc2UgKHNpbmdsZS1BVEEgQVBJLCBiYWNrd2FyZCBjb21wYXRpYmxlKS5cbiAgICogQ2Fubm90IGJlIG1peGVkIHdpdGggYWRkQ2xvc2VBdGFJbnN0cnVjdGlvbigpLlxuICAgKi9cbiAgYWNjb3VudEFkZHJlc3MoYWNjb3VudEFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2VydFNpbmdsZUF0YUFwaVVzYWJsZSgpO1xuICAgIHZhbGlkYXRlQWRkcmVzcyhhY2NvdW50QWRkcmVzcywgJ2FjY291bnRBZGRyZXNzJyk7XG4gICAgdGhpcy5fYXBpTW9kZSA9ICdzaW5nbGUnO1xuICAgIHRoaXMuX2Vuc3VyZVNpbmdsZUVudHJ5KCk7XG4gICAgdGhpcy5fY2xvc2VBdGFFbnRyaWVzWzBdLmFjY291bnRBZGRyZXNzID0gYWNjb3VudEFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgcmVudCBTT0wgKHNpbmdsZS1BVEEgQVBJLCBiYWNrd2FyZCBjb21wYXRpYmxlKS5cbiAgICogQ2Fubm90IGJlIG1peGVkIHdpdGggYWRkQ2xvc2VBdGFJbnN0cnVjdGlvbigpLlxuICAgKi9cbiAgZGVzdGluYXRpb25BZGRyZXNzKGRlc3RpbmF0aW9uQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYXNzZXJ0U2luZ2xlQXRhQXBpVXNhYmxlKCk7XG4gICAgdmFsaWRhdGVBZGRyZXNzKGRlc3RpbmF0aW9uQWRkcmVzcywgJ2Rlc3RpbmF0aW9uQWRkcmVzcycpO1xuICAgIHRoaXMuX2FwaU1vZGUgPSAnc2luZ2xlJztcbiAgICB0aGlzLl9lbnN1cmVTaW5nbGVFbnRyeSgpO1xuICAgIHRoaXMuX2Nsb3NlQXRhRW50cmllc1swXS5kZXN0aW5hdGlvbkFkZHJlc3MgPSBkZXN0aW5hdGlvbkFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYXV0aG9yaXR5IGFkZHJlc3MgLyBBVEEgb3duZXIgKHNpbmdsZS1BVEEgQVBJLCBiYWNrd2FyZCBjb21wYXRpYmxlKS5cbiAgICogQ2Fubm90IGJlIG1peGVkIHdpdGggYWRkQ2xvc2VBdGFJbnN0cnVjdGlvbigpLlxuICAgKi9cbiAgYXV0aG9yaXR5QWRkcmVzcyhhdXRob3JpdHlBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9hc3NlcnRTaW5nbGVBdGFBcGlVc2FibGUoKTtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYXV0aG9yaXR5QWRkcmVzcywgJ2F1dGhvcml0eUFkZHJlc3MnKTtcbiAgICB0aGlzLl9hcGlNb2RlID0gJ3NpbmdsZSc7XG4gICAgdGhpcy5fZW5zdXJlU2luZ2xlRW50cnkoKTtcbiAgICB0aGlzLl9jbG9zZUF0YUVudHJpZXNbMF0uYXV0aG9yaXR5QWRkcmVzcyA9IGF1dGhvcml0eUFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgU1BMIHRva2VuIHByb2dyYW0gdXNlZCBieSB0aGUgY2xvc2UgaW5zdHJ1Y3Rpb24uICovXG4gIHByb2dyYW1JZChwcm9ncmFtSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2VydFNpbmdsZUF0YUFwaVVzYWJsZSgpO1xuICAgIHZhbGlkYXRlQWRkcmVzcyhwcm9ncmFtSWQsICdwcm9ncmFtSWQnKTtcbiAgICB0aGlzLl9hcGlNb2RlID0gJ3NpbmdsZSc7XG4gICAgdGhpcy5fZW5zdXJlU2luZ2xlRW50cnkoKTtcbiAgICB0aGlzLl9jbG9zZUF0YUVudHJpZXNbMF0ucHJvZ3JhbUlkID0gcHJvZ3JhbUlkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRocm93cyBpZiB0aGUgYnVsay1BVEEgQVBJIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCBvbiB0aGlzIGJ1aWxkZXIuXG4gICAqL1xuICBwcml2YXRlIF9hc3NlcnRTaW5nbGVBdGFBcGlVc2FibGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FwaU1vZGUgPT09ICdidWxrJykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihNSVhfQVBJX0VSUk9SX01FU1NBR0UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIGEgc2luZ2xlIGVudHJ5IGV4aXN0cyBpbiBfY2xvc2VBdGFFbnRyaWVzIGZvciB0aGUgbGVnYWN5IEFQSS5cbiAgICovXG4gIHByaXZhdGUgX2Vuc3VyZVNpbmdsZUVudHJ5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jbG9zZUF0YUVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9jbG9zZUF0YUVudHJpZXMucHVzaCh7IGFjY291bnRBZGRyZXNzOiAnJywgZGVzdGluYXRpb25BZGRyZXNzOiAnJywgYXV0aG9yaXR5QWRkcmVzczogJycgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBBVEEgdG8gY2xvc2UgaW4gdGhpcyB0cmFuc2FjdGlvbiAoZm9yIGJ1bGsgY2xvc3VyZSkuXG4gICAqIENhbm5vdCBiZSBtaXhlZCB3aXRoIHRoZSBzaW5nbGUtQVRBIEFQSSAoYWNjb3VudEFkZHJlc3MvZGVzdGluYXRpb25BZGRyZXNzL2F1dGhvcml0eUFkZHJlc3MpLlxuICAgKlxuICAgKiBAcGFyYW0gYWNjb3VudEFkZHJlc3MgLSB0aGUgQVRBIGFkZHJlc3MgdG8gY2xvc2VcbiAgICogQHBhcmFtIGRlc3RpbmF0aW9uQWRkcmVzcyAtIHdoZXJlIHJlbnQgU09MIGdvZXMgKHJvb3Qgd2FsbGV0IGFkZHJlc3MpXG4gICAqIEBwYXJhbSBhdXRob3JpdHlBZGRyZXNzIC0gQVRBIG93bmVyIHdobyBtdXN0IHNpZ25cbiAgICogQHBhcmFtIHByb2dyYW1JZCAtIFNQTCB0b2tlbiBwcm9ncmFtIG93bmluZyB0aGUgQVRBOyBvbWl0dGVkIGZvciBsZWdhY3kgU1BMXG4gICAqL1xuICBhZGRDbG9zZUF0YUluc3RydWN0aW9uKFxuICAgIGFjY291bnRBZGRyZXNzOiBzdHJpbmcsXG4gICAgZGVzdGluYXRpb25BZGRyZXNzOiBzdHJpbmcsXG4gICAgYXV0aG9yaXR5QWRkcmVzczogc3RyaW5nLFxuICAgIHByb2dyYW1JZD86IHN0cmluZ1xuICApOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fYXBpTW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoTUlYX0FQSV9FUlJPUl9NRVNTQUdFKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWNjb3VudEFkZHJlc3MsICdhY2NvdW50QWRkcmVzcycpO1xuICAgIHZhbGlkYXRlQWRkcmVzcyhkZXN0aW5hdGlvbkFkZHJlc3MsICdkZXN0aW5hdGlvbkFkZHJlc3MnKTtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYXV0aG9yaXR5QWRkcmVzcywgJ2F1dGhvcml0eUFkZHJlc3MnKTtcbiAgICBpZiAocHJvZ3JhbUlkKSB7XG4gICAgICB2YWxpZGF0ZUFkZHJlc3MocHJvZ3JhbUlkLCAncHJvZ3JhbUlkJyk7XG4gICAgfVxuXG4gICAgaWYgKGFjY291bnRBZGRyZXNzID09PSBkZXN0aW5hdGlvbkFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0FjY291bnQgYWRkcmVzcyB0byBjbG9zZSBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY2xvc2VBdGFFbnRyaWVzLnNvbWUoKGVudHJ5KSA9PiBlbnRyeS5hY2NvdW50QWRkcmVzcyA9PT0gYWNjb3VudEFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdEdXBsaWNhdGUgQVRBIGFkZHJlc3M6ICcgKyBhY2NvdW50QWRkcmVzcyk7XG4gICAgfVxuXG4gICAgdGhpcy5fYXBpTW9kZSA9ICdidWxrJztcbiAgICB0aGlzLl9jbG9zZUF0YUVudHJpZXMucHVzaCh7IGFjY291bnRBZGRyZXNzLCBkZXN0aW5hdGlvbkFkZHJlc3MsIGF1dGhvcml0eUFkZHJlc3MsIHByb2dyYW1JZCB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb246IEF0YUNsb3NlID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMuX2Nsb3NlQXRhRW50cmllcy5wdXNoKHtcbiAgICAgICAgICBhY2NvdW50QWRkcmVzczogYXRhQ2xvc2VJbnN0cnVjdGlvbi5wYXJhbXMuYWNjb3VudEFkZHJlc3MsXG4gICAgICAgICAgZGVzdGluYXRpb25BZGRyZXNzOiBhdGFDbG9zZUluc3RydWN0aW9uLnBhcmFtcy5kZXN0aW5hdGlvbkFkZHJlc3MsXG4gICAgICAgICAgYXV0aG9yaXR5QWRkcmVzczogYXRhQ2xvc2VJbnN0cnVjdGlvbi5wYXJhbXMuYXV0aG9yaXR5QWRkcmVzcyxcbiAgICAgICAgICBwcm9ncmFtSWQ6IGF0YUNsb3NlSW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLl9jbG9zZUF0YUVudHJpZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5fYXBpTW9kZSA9ICdidWxrJztcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9jbG9zZUF0YUVudHJpZXMubGVuZ3RoID4gMCwgJ0F0IGxlYXN0IG9uZSBBVEEgbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiB0aGlzLl9jbG9zZUF0YUVudHJpZXMpIHtcbiAgICAgIGFzc2VydChlbnRyeS5hY2NvdW50QWRkcmVzcywgJ0FjY291bnQgQWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICBhc3NlcnQoZW50cnkuZGVzdGluYXRpb25BZGRyZXNzLCAnRGVzdGluYXRpb24gQWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICBhc3NlcnQoZW50cnkuYXV0aG9yaXR5QWRkcmVzcywgJ0F1dGhvcml0eSBBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcblxuICAgICAgaWYgKGVudHJ5LmFjY291bnRBZGRyZXNzID09PSBlbnRyeS5kZXN0aW5hdGlvbkFkZHJlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQWNjb3VudCBhZGRyZXNzIHRvIGNsb3NlIGNhbm5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgZGVzdGluYXRpb24gYWRkcmVzcycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSB0aGlzLl9jbG9zZUF0YUVudHJpZXMubWFwKFxuICAgICAgKGVudHJ5KTogQXRhQ2xvc2UgPT4gKHtcbiAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBhY2NvdW50QWRkcmVzczogZW50cnkuYWNjb3VudEFkZHJlc3MsXG4gICAgICAgICAgZGVzdGluYXRpb25BZGRyZXNzOiBlbnRyeS5kZXN0aW5hdGlvbkFkZHJlc3MsXG4gICAgICAgICAgYXV0aG9yaXR5QWRkcmVzczogZW50cnkuYXV0aG9yaXR5QWRkcmVzcyxcbiAgICAgICAgICAuLi4oZW50cnkucHJvZ3JhbUlkID8geyBwcm9ncmFtSWQ6IGVudHJ5LnByb2dyYW1JZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,93 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ import { ApplyPendingBalance, ConfidentialDeposit, ConfidentialTransfer, ConfidentialWithdraw, ConfigureConfidentialTransferAccount, VerifyEqualityProof, VerifyPubkeyValidity, VerifyRangeProof, VerifyValidityProof } from './iface';
6
+ /**
7
+ * Builder for Token-2022 confidential transfer transactions.
8
+ *
9
+ * Provides type-safe fluent setters for the following CT instructions:
10
+ * - ConfigureAccount (standalone, with VerifyPubkeyValidity proof)
11
+ * - ApplyPendingBalance (always instruction #1 in v1 spend txs, idempotent)
12
+ * - Deposit (public → confidential conversion)
13
+ * - Withdraw (confidential → public conversion, with equality + range proofs)
14
+ * - Transfer (confidential → confidential, with equality + validity + range proofs)
15
+ * - VerifyPubkeyValidity / VerifyEquality / VerifyValidity / VerifyRange proof instructions
16
+ *
17
+ * Instruction builders are v0/v1-agnostic: they produce instruction data and
18
+ * account metas only. The caller (Wallet Platform) assembles them into v1
19
+ * transactions in the correct order.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const builder = factory.getConfidentialTransferBuilder();
24
+ * builder.nonce(recentBlockhash).sender(payer);
25
+ * builder.configureAccount({ tokenAddress, mintAddress, authorityAddress, ... });
26
+ * builder.verifyPubkeyValidity({ proofData });
27
+ * const tx = await builder.build();
28
+ * ```
29
+ */
30
+ export declare class ConfidentialTransferBuilder extends TransactionBuilder {
31
+ private _ctInstructions;
32
+ constructor(_coinConfig: Readonly<CoinConfig>);
33
+ protected get transactionType(): TransactionType;
34
+ /**
35
+ * Override the zk-elgamal-proof program id.
36
+ *
37
+ * Defaults to the canonical on-chain program id (`ZkE1Gama1Proof111...`)
38
+ * which is the same across mainnet, devnet, and testnet. Override only
39
+ * when targeting a custom deployment.
40
+ *
41
+ * @param programId - base58 encoded program id
42
+ */
43
+ zkProofProgramId(programId: string): this;
44
+ /** @inheritDoc */
45
+ initBuilder(tx: Transaction): void;
46
+ /**
47
+ * Add a ConfigureAccount instruction to the transaction.
48
+ * One-time ATA setup — registers ElGamal pubkey + AES zero ciphertext.
49
+ * Must be accompanied by a VerifyPubkeyValidity proof instruction.
50
+ */
51
+ configureAccount(params: ConfigureConfidentialTransferAccount['params']): this;
52
+ /**
53
+ * Add an ApplyPendingBalance instruction to the transaction.
54
+ * Credits pending balance into available balance. Idempotent (no-op if 0 pending).
55
+ * In v1 transactions, this should always be instruction #1.
56
+ */
57
+ applyPendingBalance(params: ApplyPendingBalance['params']): this;
58
+ /**
59
+ * Add a Deposit instruction to the transaction.
60
+ * Moves public SPL tokens into confidential pending balance. No proof required.
61
+ */
62
+ confidentialDeposit(params: ConfidentialDeposit['params']): this;
63
+ /**
64
+ * Add a Withdraw instruction to the transaction.
65
+ * Moves confidential available balance to public balance.
66
+ * Requires equality + range proof verification instructions.
67
+ */
68
+ confidentialWithdraw(params: ConfidentialWithdraw['params']): this;
69
+ /**
70
+ * Add a confidential Transfer instruction to the transaction.
71
+ * Requires equality + ciphertext validity + range proof verification instructions.
72
+ */
73
+ confidentialTransfer(params: ConfidentialTransfer['params']): this;
74
+ /**
75
+ * Add a VerifyPubkeyValidity proof instruction (used with ConfigureAccount).
76
+ */
77
+ verifyPubkeyValidity(params: VerifyPubkeyValidity['params']): this;
78
+ /**
79
+ * Add a VerifyCiphertextCommitmentEquality proof instruction (used with Transfer and Withdraw).
80
+ */
81
+ verifyEqualityProof(params: VerifyEqualityProof['params']): this;
82
+ /**
83
+ * Add a VerifyBatchedGroupedCiphertext3HandlesValidity proof instruction (used with Transfer).
84
+ */
85
+ verifyValidityProof(params: VerifyValidityProof['params']): this;
86
+ /**
87
+ * Add a VerifyBatchedRangeProofU128 proof instruction (used with Transfer).
88
+ */
89
+ verifyRangeProof(params: VerifyRangeProof['params']): this;
90
+ /** @inheritdoc */
91
+ protected buildImplementation(): Promise<Transaction>;
92
+ }
93
+ //# sourceMappingURL=confidentialTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidentialTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/confidentialTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EAEpC,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,eAAe,CAA2B;gBAEtC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;;OAQG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMzC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAsBlC;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,oCAAoC,CAAC,QAAQ,CAAC,GAAG,IAAI;IAc9E;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAahE;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAahE;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAclE;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAgBlE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQlE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQhE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQhE;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQ1D,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAO5D"}