@bitgo-beta/sdk-coin-sol 7.6.4-beta.71 → 7.6.4-beta.710

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 (496) hide show
  1. package/dist/cjs/src/bigint-buffer-guard.d.ts.map +1 -0
  2. package/dist/cjs/src/bigint-buffer-guard.js +29 -0
  3. package/dist/cjs/src/index.d.ts.map +1 -0
  4. package/dist/{src → cjs/src}/index.js +1 -1
  5. package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +12 -1
  6. package/dist/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -0
  7. package/dist/cjs/src/lib/ataInitializationBuilder.js +231 -0
  8. package/dist/cjs/src/lib/closeAtaBuilder.d.ts +55 -0
  9. package/dist/cjs/src/lib/closeAtaBuilder.d.ts.map +1 -0
  10. package/dist/cjs/src/lib/closeAtaBuilder.js +162 -0
  11. package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts +128 -0
  12. package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts.map +1 -0
  13. package/dist/cjs/src/lib/confidentialTransferBuilder.js +311 -0
  14. package/dist/{src → cjs/src}/lib/constants.d.ts +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/cjs/src/lib/serialization/codecs/v1/config.d.ts +21 -0
  47. package/dist/cjs/src/lib/serialization/codecs/v1/config.d.ts.map +1 -0
  48. package/dist/cjs/src/lib/serialization/codecs/v1/config.js +34 -0
  49. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.d.ts +14 -0
  50. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.d.ts.map +1 -0
  51. package/dist/cjs/src/lib/serialization/codecs/v1/instruction.js +32 -0
  52. package/dist/cjs/src/lib/serialization/codecs/v1/message.d.ts +27 -0
  53. package/dist/cjs/src/lib/serialization/codecs/v1/message.d.ts.map +1 -0
  54. package/dist/cjs/src/lib/serialization/codecs/v1/message.js +196 -0
  55. package/dist/cjs/src/lib/serialization/compileTransactionMessage.d.ts +30 -0
  56. package/dist/cjs/src/lib/serialization/compileTransactionMessage.d.ts.map +1 -0
  57. package/dist/cjs/src/lib/serialization/compileTransactionMessage.js +205 -0
  58. package/dist/cjs/src/lib/serialization/parseWireTransaction.d.ts +9 -0
  59. package/dist/cjs/src/lib/serialization/parseWireTransaction.d.ts.map +1 -0
  60. package/dist/cjs/src/lib/serialization/parseWireTransaction.js +58 -0
  61. package/dist/cjs/src/lib/serialization/wire-transaction.d.ts +14 -0
  62. package/dist/cjs/src/lib/serialization/wire-transaction.d.ts.map +1 -0
  63. package/dist/cjs/src/lib/serialization/wire-transaction.js +51 -0
  64. package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +1 -1
  65. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  66. package/dist/cjs/src/lib/solInstructionFactory.js +1094 -0
  67. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  68. package/dist/cjs/src/lib/stakingActivateBuilder.js +129 -0
  69. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  70. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  71. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  72. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +214 -0
  73. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  74. package/dist/cjs/src/lib/stakingDelegateBuilder.js +126 -0
  75. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  76. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  77. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  78. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +87 -0
  79. package/dist/cjs/src/lib/token2022Resolve.d.ts +106 -0
  80. package/dist/cjs/src/lib/token2022Resolve.d.ts.map +1 -0
  81. package/dist/cjs/src/lib/token2022Resolve.js +199 -0
  82. package/dist/cjs/src/lib/tokenExtensions.d.ts +26 -0
  83. package/dist/cjs/src/lib/tokenExtensions.d.ts.map +1 -0
  84. package/dist/cjs/src/lib/tokenExtensions.js +105 -0
  85. package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +27 -1
  86. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  87. package/dist/cjs/src/lib/tokenTransferBuilder.js +237 -0
  88. package/dist/{src → cjs/src}/lib/transaction.d.ts +22 -0
  89. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  90. package/dist/cjs/src/lib/transaction.js +661 -0
  91. package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +9 -1
  92. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  93. package/dist/cjs/src/lib/transactionBuilder.js +388 -0
  94. package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +14 -0
  95. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  96. package/dist/cjs/src/lib/transactionBuilderFactory.js +222 -0
  97. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  98. package/dist/cjs/src/lib/transferBuilder.js +81 -0
  99. package/dist/cjs/src/lib/transferBuilderV2.d.ts +69 -0
  100. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  101. package/dist/cjs/src/lib/transferBuilderV2.js +252 -0
  102. package/dist/{src → cjs/src}/lib/utils.d.ts +5 -0
  103. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  104. package/dist/cjs/src/lib/utils.js +657 -0
  105. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  106. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  107. package/dist/cjs/src/register.d.ts +5 -0
  108. package/dist/cjs/src/register.d.ts.map +1 -0
  109. package/dist/cjs/src/register.js +29 -0
  110. package/dist/{src → cjs/src}/sol.d.ts +114 -3
  111. package/dist/cjs/src/sol.d.ts.map +1 -0
  112. package/dist/cjs/src/sol.js +1670 -0
  113. package/dist/{src → cjs/src}/solToken.d.ts +7 -0
  114. package/dist/cjs/src/solToken.d.ts.map +1 -0
  115. package/dist/cjs/src/solToken.js +79 -0
  116. package/dist/cjs/src/tsol.d.ts.map +1 -0
  117. package/dist/cjs/src/tsol.js +24 -0
  118. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  119. package/dist/cjs/test/fixtures/sol.js +1433 -0
  120. package/dist/{test → cjs/test}/resources/sol.d.ts +29 -29
  121. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  122. package/dist/cjs/test/resources/sol.js +320 -0
  123. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  124. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  125. package/dist/cjs/test/unit/explainTransactionWasm.js +66 -0
  126. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  127. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  128. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  130. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  131. package/dist/cjs/test/unit/instructionParamsFactory.js +425 -0
  132. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  133. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  134. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  135. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  136. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  137. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  138. package/dist/cjs/test/unit/keyPair.js +177 -0
  139. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  140. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  141. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  142. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  143. package/dist/cjs/test/unit/register.d.ts +2 -0
  144. package/dist/cjs/test/unit/register.d.ts.map +1 -0
  145. package/dist/cjs/test/unit/register.js +65 -0
  146. package/dist/cjs/test/unit/scaledUiAmount.d.ts +2 -0
  147. package/dist/cjs/test/unit/scaledUiAmount.d.ts.map +1 -0
  148. package/dist/cjs/test/unit/scaledUiAmount.js +101 -0
  149. package/dist/cjs/test/unit/serialization/decodeV1Message.d.ts +2 -0
  150. package/dist/cjs/test/unit/serialization/decodeV1Message.d.ts.map +1 -0
  151. package/dist/cjs/test/unit/serialization/decodeV1Message.js +63 -0
  152. package/dist/cjs/test/unit/serialization/parseWireTransaction.d.ts +2 -0
  153. package/dist/cjs/test/unit/serialization/parseWireTransaction.d.ts.map +1 -0
  154. package/dist/cjs/test/unit/serialization/parseWireTransaction.js +90 -0
  155. package/dist/cjs/test/unit/serialization/transactionV1.d.ts +2 -0
  156. package/dist/cjs/test/unit/serialization/transactionV1.d.ts.map +1 -0
  157. package/dist/cjs/test/unit/serialization/transactionV1.js +136 -0
  158. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  159. package/dist/cjs/test/unit/sol.js +5038 -0
  160. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  161. package/dist/cjs/test/unit/solInstructionFactory.js +623 -0
  162. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  163. package/dist/cjs/test/unit/solToken.js +37 -0
  164. package/dist/cjs/test/unit/token2022Resolve.d.ts +2 -0
  165. package/dist/cjs/test/unit/token2022Resolve.d.ts.map +1 -0
  166. package/dist/cjs/test/unit/token2022Resolve.js +252 -0
  167. package/dist/cjs/test/unit/tokenExtensions.d.ts +2 -0
  168. package/dist/cjs/test/unit/tokenExtensions.d.ts.map +1 -0
  169. package/dist/cjs/test/unit/tokenExtensions.js +58 -0
  170. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  171. package/dist/cjs/test/unit/transaction.js +1108 -0
  172. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  173. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  174. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  175. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +508 -0
  176. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts +2 -0
  177. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.d.ts.map +1 -0
  178. package/dist/cjs/test/unit/transactionBuilder/closeAtaBuilder.js +343 -0
  179. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts +2 -0
  180. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.d.ts.map +1 -0
  181. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.js +909 -0
  182. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.d.ts +2 -0
  183. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.d.ts.map +1 -0
  184. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.js +144 -0
  185. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.d.ts +2 -0
  186. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.d.ts.map +1 -0
  187. package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.js +167 -0
  188. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  189. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  190. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  191. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  192. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  193. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  194. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  195. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  196. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  197. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  198. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  199. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  200. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  201. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +926 -0
  202. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  203. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  204. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  205. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +302 -0
  206. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  207. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +910 -0
  208. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  209. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  210. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  211. package/dist/cjs/test/unit/utils.js +628 -0
  212. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  213. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  214. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  215. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  216. package/dist/esm/index.d.ts +7 -0
  217. package/dist/esm/index.js +7 -0
  218. package/dist/esm/lib/ataInitializationBuilder.d.ts +58 -0
  219. package/dist/esm/lib/ataInitializationBuilder.d.ts.map +1 -0
  220. package/dist/esm/lib/ataInitializationBuilder.js +191 -0
  221. package/dist/esm/lib/closeAtaBuilder.d.ts +55 -0
  222. package/dist/esm/lib/closeAtaBuilder.d.ts.map +1 -0
  223. package/dist/esm/lib/closeAtaBuilder.js +155 -0
  224. package/dist/esm/lib/confidentialTransferBuilder.d.ts +128 -0
  225. package/dist/esm/lib/confidentialTransferBuilder.d.ts.map +1 -0
  226. package/dist/esm/lib/confidentialTransferBuilder.js +304 -0
  227. package/dist/esm/lib/constants.d.ts +227 -0
  228. package/dist/esm/lib/constants.d.ts.map +1 -0
  229. package/dist/esm/lib/constants.js +266 -0
  230. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  231. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  232. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  233. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  234. package/dist/esm/lib/explainTransactionWasm.js +301 -0
  235. package/dist/esm/lib/iface.d.ts +526 -0
  236. package/dist/esm/lib/iface.d.ts.map +1 -0
  237. package/dist/esm/lib/iface.js +3 -0
  238. package/dist/esm/lib/index.d.ts +27 -0
  239. package/dist/esm/lib/index.d.ts.map +1 -0
  240. package/dist/esm/lib/index.js +27 -0
  241. package/dist/esm/lib/instructionParamsFactory.d.ts +14 -0
  242. package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -0
  243. package/dist/esm/lib/instructionParamsFactory.js +1212 -0
  244. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  245. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  246. package/dist/esm/lib/keyPair.d.ts +32 -0
  247. package/dist/esm/lib/keyPair.d.ts.map +1 -0
  248. package/dist/esm/lib/keyPair.js +75 -0
  249. package/dist/esm/lib/messages/index.d.ts +2 -0
  250. package/dist/esm/lib/messages/index.js +2 -0
  251. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  252. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  253. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  254. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  255. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  256. package/dist/esm/lib/scaledUiAmount.d.ts +30 -0
  257. package/dist/esm/lib/scaledUiAmount.d.ts.map +1 -0
  258. package/dist/esm/lib/scaledUiAmount.js +108 -0
  259. package/dist/esm/lib/serialization/codecs/v1/config.d.ts +21 -0
  260. package/dist/esm/lib/serialization/codecs/v1/config.d.ts.map +1 -0
  261. package/dist/esm/lib/serialization/codecs/v1/config.js +30 -0
  262. package/dist/esm/lib/serialization/codecs/v1/instruction.d.ts +14 -0
  263. package/dist/esm/lib/serialization/codecs/v1/instruction.d.ts.map +1 -0
  264. package/dist/esm/lib/serialization/codecs/v1/instruction.js +29 -0
  265. package/dist/esm/lib/serialization/codecs/v1/message.d.ts +27 -0
  266. package/dist/esm/lib/serialization/codecs/v1/message.d.ts.map +1 -0
  267. package/dist/esm/lib/serialization/codecs/v1/message.js +188 -0
  268. package/dist/esm/lib/serialization/compileTransactionMessage.d.ts +30 -0
  269. package/dist/esm/lib/serialization/compileTransactionMessage.d.ts.map +1 -0
  270. package/dist/esm/lib/serialization/compileTransactionMessage.js +202 -0
  271. package/dist/esm/lib/serialization/parseWireTransaction.d.ts +9 -0
  272. package/dist/esm/lib/serialization/parseWireTransaction.d.ts.map +1 -0
  273. package/dist/esm/lib/serialization/parseWireTransaction.js +50 -0
  274. package/dist/esm/lib/serialization/wire-transaction.d.ts +14 -0
  275. package/dist/esm/lib/serialization/wire-transaction.d.ts.map +1 -0
  276. package/dist/esm/lib/serialization/wire-transaction.js +48 -0
  277. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  278. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  279. package/dist/esm/lib/solInstructionFactory.js +1088 -0
  280. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  281. package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +1 -1
  282. package/dist/esm/lib/stakingActivateBuilder.js +122 -0
  283. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  284. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  285. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  286. package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +1 -1
  287. package/dist/esm/lib/stakingDeactivateBuilder.js +207 -0
  288. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  289. package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +1 -1
  290. package/dist/esm/lib/stakingDelegateBuilder.js +119 -0
  291. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  292. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  293. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  294. package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +1 -1
  295. package/dist/esm/lib/stakingWithdrawBuilder.js +80 -0
  296. package/dist/esm/lib/token2022Resolve.d.ts +106 -0
  297. package/dist/esm/lib/token2022Resolve.d.ts.map +1 -0
  298. package/dist/esm/lib/token2022Resolve.js +194 -0
  299. package/dist/esm/lib/tokenExtensions.d.ts +26 -0
  300. package/dist/esm/lib/tokenExtensions.d.ts.map +1 -0
  301. package/dist/esm/lib/tokenExtensions.js +99 -0
  302. package/dist/esm/lib/tokenTransferBuilder.d.ts +67 -0
  303. package/dist/esm/lib/tokenTransferBuilder.d.ts.map +1 -0
  304. package/dist/esm/lib/tokenTransferBuilder.js +230 -0
  305. package/dist/esm/lib/transaction.d.ts +125 -0
  306. package/dist/esm/lib/transaction.d.ts.map +1 -0
  307. package/dist/esm/lib/transaction.js +654 -0
  308. package/dist/esm/lib/transactionBuilder.d.ts +136 -0
  309. package/dist/esm/lib/transactionBuilder.d.ts.map +1 -0
  310. package/dist/esm/lib/transactionBuilder.js +381 -0
  311. package/dist/esm/lib/transactionBuilderFactory.d.ts +129 -0
  312. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  313. package/dist/esm/lib/transactionBuilderFactory.js +218 -0
  314. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  315. package/dist/{src → esm}/lib/transferBuilder.d.ts.map +1 -1
  316. package/dist/esm/lib/transferBuilder.js +74 -0
  317. package/dist/esm/lib/transferBuilderV2.d.ts +69 -0
  318. package/dist/esm/lib/transferBuilderV2.d.ts.map +1 -0
  319. package/dist/esm/lib/transferBuilderV2.js +245 -0
  320. package/dist/esm/lib/utils.d.ts +205 -0
  321. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  322. package/dist/esm/lib/utils.js +619 -0
  323. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  324. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  325. package/dist/esm/register.d.ts +5 -0
  326. package/dist/esm/register.d.ts.map +1 -0
  327. package/dist/esm/register.js +24 -0
  328. package/dist/esm/sol.d.ts +351 -0
  329. package/dist/esm/sol.d.ts.map +1 -0
  330. package/dist/esm/sol.js +1629 -0
  331. package/dist/esm/solToken.d.ts +44 -0
  332. package/dist/esm/solToken.d.ts.map +1 -0
  333. package/dist/esm/solToken.js +75 -0
  334. package/dist/esm/tsol.d.ts +11 -0
  335. package/dist/esm/tsol.js +20 -0
  336. package/package.json +36 -16
  337. package/dist/src/config/token2022StaticConfig.d.ts +0 -3
  338. package/dist/src/config/token2022StaticConfig.d.ts.map +0 -1
  339. package/dist/src/config/token2022StaticConfig.js +0 -50
  340. package/dist/src/lib/ataInitializationBuilder.d.ts.map +0 -1
  341. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  342. package/dist/src/lib/closeAtaBuilder.d.ts +0 -19
  343. package/dist/src/lib/closeAtaBuilder.d.ts.map +0 -1
  344. package/dist/src/lib/closeAtaBuilder.js +0 -69
  345. package/dist/src/lib/constants.d.ts.map +0 -1
  346. package/dist/src/lib/constants.js +0 -171
  347. package/dist/src/lib/customInstructionBuilder.js +0 -289
  348. package/dist/src/lib/iface.d.ts +0 -244
  349. package/dist/src/lib/iface.d.ts.map +0 -1
  350. package/dist/src/lib/iface.js +0 -7
  351. package/dist/src/lib/index.d.ts.map +0 -1
  352. package/dist/src/lib/index.js +0 -77
  353. package/dist/src/lib/instructionParamsFactory.d.ts.map +0 -1
  354. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  355. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  356. package/dist/src/lib/keyPair.d.ts.map +0 -1
  357. package/dist/src/lib/keyPair.js +0 -63
  358. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  359. package/dist/src/lib/solInstructionFactory.js +0 -572
  360. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  361. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  362. package/dist/src/lib/stakingDeactivateBuilder.js +0 -208
  363. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  364. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  365. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  366. package/dist/src/lib/token2022Config.d.ts +0 -44
  367. package/dist/src/lib/token2022Config.d.ts.map +0 -1
  368. package/dist/src/lib/token2022Config.js +0 -27
  369. package/dist/src/lib/tokenTransferBuilder.d.ts.map +0 -1
  370. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  371. package/dist/src/lib/transaction.d.ts.map +0 -1
  372. package/dist/src/lib/transaction.js +0 -595
  373. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  374. package/dist/src/lib/transactionBuilder.js +0 -380
  375. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  376. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  377. package/dist/src/lib/transferBuilder.js +0 -70
  378. package/dist/src/lib/transferBuilderV2.d.ts +0 -43
  379. package/dist/src/lib/transferBuilderV2.d.ts.map +0 -1
  380. package/dist/src/lib/transferBuilderV2.js +0 -210
  381. package/dist/src/lib/utils.js +0 -589
  382. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  383. package/dist/src/register.d.ts +0 -3
  384. package/dist/src/register.d.ts.map +0 -1
  385. package/dist/src/register.js +0 -15
  386. package/dist/src/sol.d.ts.map +0 -1
  387. package/dist/src/sol.js +0 -1324
  388. package/dist/src/solToken.d.ts.map +0 -1
  389. package/dist/src/solToken.js +0 -69
  390. package/dist/src/tsol.js +0 -24
  391. package/dist/test/fixtures/sol.js +0 -1433
  392. package/dist/test/resources/sol.d.ts.map +0 -1
  393. package/dist/test/resources/sol.js +0 -320
  394. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  395. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  396. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  397. package/dist/test/unit/getBuilderFactory.js +0 -10
  398. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  399. package/dist/test/unit/instructionParamsFactory.js +0 -412
  400. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  401. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  402. package/dist/test/unit/keyPair.js +0 -177
  403. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  404. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  405. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  406. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  407. package/dist/test/unit/sol.js +0 -3180
  408. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  409. package/dist/test/unit/solInstructionFactory.js +0 -454
  410. package/dist/test/unit/solToken.d.ts.map +0 -1
  411. package/dist/test/unit/solToken.js +0 -31
  412. package/dist/test/unit/transaction.d.ts.map +0 -1
  413. package/dist/test/unit/transaction.js +0 -983
  414. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  415. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  416. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  417. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  418. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  419. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  420. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  421. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  422. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  423. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  424. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  425. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  426. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  427. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  428. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  429. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  430. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  431. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  432. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  433. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  434. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  435. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  436. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  437. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  438. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  439. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  440. package/dist/test/unit/utils.js +0 -517
  441. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  442. package/dist/test/unit/versionedTransaction.js +0 -207
  443. package/dist/tsconfig.tsbuildinfo +0 -1
  444. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  445. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  446. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  447. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  448. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  449. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  450. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  451. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  452. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  453. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  454. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  455. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  456. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  457. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  458. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  459. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  460. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  461. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  462. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  463. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  464. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  465. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  466. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  467. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  468. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  469. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  470. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  471. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  472. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  473. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  474. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  475. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  476. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  477. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  478. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  479. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  480. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  481. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  482. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  483. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  484. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  485. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  486. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  487. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  488. /package/dist/{src → esm}/index.d.ts.map +0 -0
  489. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  490. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  491. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  492. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  493. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  494. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  495. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  496. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StakingDelegateBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transactionBuilder_1 = require("./transactionBuilder");
9
+ const constants_1 = require("./constants");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const utils_1 = require("./utils");
12
+ class StakingDelegateBuilder extends transactionBuilder_1.TransactionBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ }
16
+ get transactionType() {
17
+ return sdk_core_1.TransactionType.StakingDelegate;
18
+ }
19
+ /** @inheritdoc */
20
+ initBuilder(tx) {
21
+ super.initBuilder(tx);
22
+ const stakingAddresses = [];
23
+ for (const instruction of this._instructionsData) {
24
+ if (instruction.type === constants_1.InstructionBuilderTypes.StakingDelegate) {
25
+ const activateInstruction = instruction;
26
+ this.sender(activateInstruction.params.fromAddress);
27
+ stakingAddresses.push(activateInstruction.params.stakingAddress);
28
+ this.validator(activateInstruction.params.validator);
29
+ }
30
+ }
31
+ if (stakingAddresses.length > 1) {
32
+ this.stakingAddresses(stakingAddresses);
33
+ }
34
+ else {
35
+ this.stakingAddress(stakingAddresses[0]);
36
+ }
37
+ }
38
+ /**
39
+ * The address of the staking account.
40
+ *
41
+ * @param {string} stakingAddress public address of the staking account.
42
+ * @returns {StakingDelegateBuilder} This staking delegate builder.
43
+ *
44
+ * @see https://docs.solana.com/staking/stake-accounts#account-address
45
+ */
46
+ stakingAddress(stakingAddress) {
47
+ (0, utils_1.validateAddress)(stakingAddress, 'stakingAddress');
48
+ this._stakingAddress = stakingAddress;
49
+ return this;
50
+ }
51
+ /**
52
+ * The staking addresses of the staking account.
53
+ *
54
+ * @param {string[]} stakingAddresses public address of the staking accounts
55
+ * @returns {StakingDelegateBuilder} This staking delegate builder.
56
+ *
57
+ * @see https://docs.solana.com/staking/stake-accounts#account-address
58
+ */
59
+ stakingAddresses(stakingAddresses) {
60
+ (0, assert_1.default)(stakingAddresses.length > 0, 'stakingAddresses must not be empty');
61
+ for (const stakingAddress of stakingAddresses) {
62
+ (0, utils_1.validateAddress)(stakingAddress, 'stakingAddress');
63
+ }
64
+ this._stakingAddresses = stakingAddresses;
65
+ return this;
66
+ }
67
+ /**
68
+ * Set validator address to delegate funds to.
69
+ *
70
+ * @param {string} validator Validator address to delegate funds to.
71
+ * @returns {StakingDelegateBuilder} This staking builder.
72
+ *
73
+ */
74
+ validator(validator) {
75
+ (0, utils_1.validateAddress)(validator, 'validator');
76
+ this._validator = validator;
77
+ return this;
78
+ }
79
+ /** @inheritdoc */
80
+ async buildImplementation() {
81
+ (0, assert_1.default)(this._sender, 'Sender must be set before building the transaction');
82
+ (0, assert_1.default)(this._validator, 'Validator must be set before building the transaction');
83
+ if (this._stakingAddresses && this._stakingAddresses.length > 0) {
84
+ this._instructionsData = [];
85
+ for (const stakingAddress of this._stakingAddresses) {
86
+ (0, assert_1.default)(stakingAddress, 'Staking Address must be set before building the transaction');
87
+ if (this._sender === stakingAddress) {
88
+ throw new sdk_core_1.BuildTransactionError('Sender address cannot be the same as the Staking address');
89
+ }
90
+ const stakingAccountData = {
91
+ type: constants_1.InstructionBuilderTypes.StakingDelegate,
92
+ params: {
93
+ fromAddress: this._sender,
94
+ stakingAddress: stakingAddress,
95
+ validator: this._validator,
96
+ },
97
+ };
98
+ this._instructionsData.push(stakingAccountData);
99
+ }
100
+ }
101
+ else {
102
+ (0, assert_1.default)(this._stakingAddress, 'Staking Address must be set before building the transaction');
103
+ if (this._sender === this._stakingAddress) {
104
+ throw new sdk_core_1.BuildTransactionError('Sender address cannot be the same as the Staking address');
105
+ }
106
+ const stakingAccountData = {
107
+ type: constants_1.InstructionBuilderTypes.StakingDelegate,
108
+ params: {
109
+ fromAddress: this._sender,
110
+ stakingAddress: this._stakingAddress,
111
+ validator: this._validator,
112
+ },
113
+ };
114
+ this._instructionsData = [stakingAccountData];
115
+ }
116
+ if (this._priorityFee && this._priorityFee !== Number(0)) {
117
+ this._instructionsData.unshift({
118
+ type: constants_1.InstructionBuilderTypes.SetPriorityFee,
119
+ params: { fee: this._priorityFee },
120
+ });
121
+ }
122
+ return await super.buildImplementation();
123
+ }
124
+ }
125
+ exports.StakingDelegateBuilder = StakingDelegateBuilder;
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0RlbGVnYXRlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ0RlbGVnYXRlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtREFBOEU7QUFFOUUsNkRBQTBEO0FBQzFELDJDQUFzRDtBQUV0RCxvREFBNEI7QUFFNUIsbUNBQTBDO0FBRTFDLE1BQWEsc0JBQXVCLFNBQVEsdUNBQWtCO0lBSzVELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsTUFBTSxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDdEMsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssbUNBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2pFLE1BQU0sbUJBQW1CLEdBQW9CLFdBQVcsQ0FBQztnQkFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BELGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFn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QUNGLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO2dCQUM3QixJQUFJLEVBQUUsbUNBQXVCLENBQUMsY0FBYztnQkFDNUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7YUFDbkMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUExSEQsd0RBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFN0YWtpbmdEZWxlZ2F0ZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgdmFsaWRhdGVBZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nRGVsZWdhdGVCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9zdGFraW5nQWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3N0YWtpbmdBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX3ZhbGlkYXRvcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVsZWdhdGU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IHN0YWtpbmdBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU3Rha2luZ0RlbGVnYXRlKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2YXRlSW5zdHJ1Y3Rpb246IFN0YWtpbmdEZWxlZ2F0ZSA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLnNlbmRlcihhY3RpdmF0ZUluc3RydWN0aW9uLnBhcmFtcy5mcm9tQWRkcmVzcyk7XG4gICAgICAgIHN0YWtpbmdBZGRyZXNzZXMucHVzaChhY3RpdmF0ZUluc3RydWN0aW9uLnBhcmFtcy5zdGFraW5nQWRkcmVzcyk7XG4gICAgICAgIHRoaXMudmFsaWRhdG9yKGFjdGl2YXRlSW5zdHJ1Y3Rpb24ucGFyYW1zLnZhbGlkYXRvcik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzdGFraW5nQWRkcmVzc2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuc3Rha2luZ0FkZHJlc3NlcyhzdGFraW5nQWRkcmVzc2VzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFraW5nQWRkcmVzcyhzdGFraW5nQWRkcmVzc2VzWzBdKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFkZHJlc3Mgb2YgdGhlIHN0YWtpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0YWtpbmdBZGRyZXNzIHB1YmxpYyBhZGRyZXNzIG9mIHRoZSBzdGFraW5nIGFjY291bnQuXG4gICAqIEByZXR1cm5zIHtTdGFraW5nRGVsZWdhdGVCdWlsZGVyfSBUaGlzIHN0YWtpbmcgZGVsZWdhdGUgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3Muc29sYW5hLmNvbS9zdGFraW5nL3N0YWtlLWFjY291bnRzI2FjY291bnQtYWRkcmVzc1xuICAgKi9cbiAgc3Rha2luZ0FkZHJlc3Moc3Rha2luZ0FkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhzdGFraW5nQWRkcmVzcywgJ3N0YWtpbmdBZGRyZXNzJyk7XG4gICAgdGhpcy5fc3Rha2luZ0FkZHJlc3MgPSBzdGFraW5nQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc3Rha2luZyBhZGRyZXNzZXMgb2YgdGhlIHN0YWtpbmcgYWNjb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gc3Rha2luZ0FkZHJlc3NlcyBwdWJsaWMgYWRkcmVzcyBvZiB0aGUgc3Rha2luZyBhY2NvdW50c1xuICAgKiBAcmV0dXJucyB7U3Rha2luZ0RlbGVnYXRlQnVpbGRlcn0gVGhpcyBzdGFraW5nIGRlbGVnYXRlIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vc3Rha2luZy9zdGFrZS1hY2NvdW50cyNhY2NvdW50LWFkZHJlc3NcbiAgICovXG4gIHN0YWtpbmdBZGRyZXNzZXMoc3Rha2luZ0FkZHJlc3Nlczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICBhc3NlcnQoc3Rha2luZ0FkZHJlc3Nlcy5sZW5ndGggPiAwLCAnc3Rha2luZ0FkZHJlc3NlcyBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICAgIGZvciAoY29uc3Qgc3Rha2luZ0FkZHJlc3Mgb2Ygc3Rha2luZ0FkZHJlc3Nlcykge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKHN0YWtpbmdBZGRyZXNzLCAnc3Rha2luZ0FkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fc3Rha2luZ0FkZHJlc3NlcyA9IHN0YWtpbmdBZGRyZXNzZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHZhbGlkYXRvciBhZGRyZXNzIHRvIGRlbGVnYXRlIGZ1bmRzIHRvLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsaWRhdG9yIFZhbGlkYXRvciBhZGRyZXNzIHRvIGRlbGVnYXRlIGZ1bmRzIHRvLlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0RlbGVnYXRlQnVpbGRlcn0gVGhpcyBzdGFraW5nIGJ1aWxkZXIuXG4gICAqXG4gICAqL1xuICB2YWxpZGF0b3IodmFsaWRhdG9yOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3ModmFsaWRhdG9yLCAndmFsaWRhdG9yJyk7XG4gICAgdGhpcy5fdmFsaWRhdG9yID0gdmFsaWRhdG9yO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBhc3NlcnQodGhpcy5fc2VuZGVyLCAnU2VuZGVyIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBhc3NlcnQodGhpcy5fdmFsaWRhdG9yLCAnVmFsaWRhdG9yIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcblxuICAgIGlmICh0aGlzLl9zdGFraW5nQWRkcmVzc2VzICYmIHRoaXMuX3N0YWtpbmdBZGRyZXNzZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBzdGFraW5nQWRkcmVzcyBvZiB0aGlzLl9zdGFraW5nQWRkcmVzc2VzKSB7XG4gICAgICAgIGFzc2VydChzdGFraW5nQWRkcmVzcywgJ1N0YWtpbmcgQWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICAgIGlmICh0aGlzLl9zZW5kZXIgPT09IHN0YWtpbmdBZGRyZXNzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignU2VuZGVyIGFkZHJlc3MgY2Fubm90IGJlIHRoZSBzYW1lIGFzIHRoZSBTdGFraW5nIGFkZHJlc3MnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGFraW5nQWNjb3VudERhdGE6IFN0YWtpbmdEZWxlZ2F0ZSA9IHtcbiAgICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5TdGFraW5nRGVsZWdhdGUsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICAgICAgc3Rha2luZ0FkZHJlc3M6IHN0YWtpbmdBZGRyZXNzLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiB0aGlzLl92YWxpZGF0b3IsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YS5wdXNoKHN0YWtpbmdBY2NvdW50RGF0YSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2VydCh0aGlzLl9zdGFraW5nQWRkcmVzcywgJ1N0YWtpbmcgQWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICBpZiAodGhpcy5fc2VuZGVyID09PSB0aGlzLl9zdGFraW5nQWRkcmVzcykge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgYWRkcmVzcyBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIFN0YWtpbmcgYWRkcmVzcycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGFraW5nQWNjb3VudERhdGE6IFN0YWtpbmdEZWxlZ2F0ZSA9IHtcbiAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU3Rha2luZ0RlbGVnYXRlLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICAgIHN0YWtpbmdBZGRyZXNzOiB0aGlzLl9zdGFraW5nQWRkcmVzcyxcbiAgICAgICAgICB2YWxpZGF0b3I6IHRoaXMuX3ZhbGlkYXRvcixcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gW3N0YWtpbmdBY2NvdW50RGF0YV07XG4gICAgfVxuICAgIGlmICh0aGlzLl9wcmlvcml0eUZlZSAmJiB0aGlzLl9wcmlvcml0eUZlZSAhPT0gTnVtYmVyKDApKSB7XG4gICAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhLnVuc2hpZnQoe1xuICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5TZXRQcmlvcml0eUZlZSxcbiAgICAgICAgcGFyYW1zOiB7IGZlZTogdGhpcy5fcHJpb3JpdHlGZWUgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingRawMsgAuthorizeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/stakingRawMsgAuthorizeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,sBAAsB,EAEtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,qBAAa,6BAA8B,SAAQ,sBAAsB;IACvE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAC1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC;;;;;;OAMG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMrC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgB3D,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO;IAIvC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAInC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA6B/C,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAOjE,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe;IAI3D,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAInE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAMpD,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAGtC"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StakingRawMsgAuthorizeBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transaction_1 = require("./transaction");
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const constants_1 = require("./constants");
12
+ class StakingRawMsgAuthorizeBuilder extends sdk_core_1.BaseTransactionBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ this._transaction = new transaction_1.Transaction(_coinConfig);
16
+ }
17
+ get transactionType() {
18
+ return sdk_core_1.TransactionType.StakingAuthorizeRaw;
19
+ }
20
+ /** @inheritdoc */
21
+ initBuilder(tx) {
22
+ if (this.validateTransaction(tx)) {
23
+ this.transactionMessage(tx.solTransaction.serializeMessage().toString('base64'));
24
+ }
25
+ }
26
+ /**
27
+ * The raw message generated by Solana CLI.
28
+ *
29
+ * @param {string} msg msg generated by 'solana stake-authorize-check.
30
+ * @returns {StakeBuilder} This staking builder.
31
+ *
32
+ */
33
+ transactionMessage(msg) {
34
+ this.validateMessage(msg);
35
+ this._transactionMessage = msg;
36
+ return this;
37
+ }
38
+ /** @inheritdoc */
39
+ async buildImplementation() {
40
+ (0, assert_1.default)(this._transactionMessage, 'missing transaction message');
41
+ this.validateMessage(this._transactionMessage);
42
+ const solTransaction = web3_js_1.Transaction.populate(web3_js_1.Message.from(Buffer.from(this._transactionMessage, 'base64')), []);
43
+ // this is workaround for solana web3.js generate wrong signing message
44
+ const serialized = solTransaction.serialize({ requireAllSignatures: false }).toString('base64');
45
+ this.transaction.fromRawTransaction(serialized);
46
+ this.transaction.setTransactionType(this.transactionType);
47
+ (0, assert_1.default)(this._transactionMessage === this.transaction.signablePayload.toString('base64'), 'wrong signing message');
48
+ return this.transaction;
49
+ }
50
+ validateTransaction(tx) {
51
+ return this.validateMessage(tx.solTransaction.serializeMessage().toString('base64'));
52
+ }
53
+ async build() {
54
+ return this.buildImplementation();
55
+ }
56
+ validateMessage(msg) {
57
+ const tx = web3_js_1.Transaction.populate(web3_js_1.Message.from(Buffer.from(msg, 'base64')), []);
58
+ const instructions = tx.instructions;
59
+ if (instructions.length !== 2 && instructions.length !== 3) {
60
+ throw new Error(`Invalid transaction, expected 2 instruction, got ${instructions.length}`);
61
+ }
62
+ for (const instruction of instructions) {
63
+ switch (instruction.programId.toString()) {
64
+ case web3_js_1.SystemProgram.programId.toString():
65
+ const instructionName = web3_js_1.SystemInstruction.decodeInstructionType(instruction);
66
+ if (instructionName !== constants_1.nonceAdvanceInstruction) {
67
+ throw new Error(`Invalid system instruction : ${instructionName}`);
68
+ }
69
+ break;
70
+ case web3_js_1.StakeProgram.programId.toString():
71
+ const data = instruction.data.toString('hex');
72
+ if (data !== constants_1.validInstructionData && data !== constants_1.validInstructionData2) {
73
+ throw new Error(`Invalid staking instruction data: ${data}`);
74
+ }
75
+ break;
76
+ default:
77
+ throw new Error(`Invalid transaction, instruction program id not supported: ${instruction.programId.toString()}`);
78
+ }
79
+ }
80
+ return true;
81
+ }
82
+ fromImplementation(rawTransaction) {
83
+ const tx = new transaction_1.Transaction(this._coinConfig);
84
+ tx.fromRawTransaction(rawTransaction);
85
+ this.initBuilder(tx);
86
+ return this.transaction;
87
+ }
88
+ signImplementation(key) {
89
+ throw new sdk_core_1.NotSupported('Method not supported on this builder');
90
+ }
91
+ get transaction() {
92
+ return this._transaction;
93
+ }
94
+ validateAddress(address, addressFormat) {
95
+ throw new sdk_core_1.NotSupported('Method not supported on this builder');
96
+ }
97
+ validateKey(key) {
98
+ throw new sdk_core_1.NotSupported('Method not supported on this builder');
99
+ }
100
+ validateRawTransaction(rawTransaction) {
101
+ const tx = new transaction_1.Transaction(this._coinConfig);
102
+ tx.fromRawTransaction(rawTransaction);
103
+ this.validateTransaction(tx);
104
+ }
105
+ validateValue(value) {
106
+ throw new sdk_core_1.NotSupported('Method not supported on this builder');
107
+ }
108
+ }
109
+ exports.StakingRawMsgAuthorizeBuilder = StakingRawMsgAuthorizeBuilder;
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLG1EQU84QjtBQUM5QiwrQ0FBNEM7QUFDNUMsNkNBTXlCO0FBRXpCLG9EQUE0QjtBQUU1QiwyQ0FBbUc7QUFFbkcsTUFBYSw2QkFBOEIsU0FBUSxpQ0FBc0I7SUFHdkUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsbUJBQW1CLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsRUFBZTtRQUN6QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0IsQ0FBQyxHQUFXO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUEsZ0JBQU0sRUFBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsZUFB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LGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sSUFBSSx1QkFBWSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQWMsV0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFvQixFQUFFLGFBQXNCO1FBQzFELE1BQU0sSUFBSSx1QkFBWSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE1BQU0sSUFBSSx1QkFBWSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHNCQUFzQixDQUFDLGNBQXNCO1FBQzNDLE1BQU0sRUFBRSxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLE1BQU0sSUFBSSx1QkFBWSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBdEhELHNFQXNIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIE5vdFN1cHBvcnRlZCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24gYXMgU09MVHJhbnNhY3Rpb24sXG4gIE1lc3NhZ2UgYXMgU09MTWVzc2FnZSxcbiAgU3lzdGVtUHJvZ3JhbSxcbiAgU3lzdGVtSW5zdHJ1Y3Rpb24sXG4gIFN0YWtlUHJvZ3JhbSxcbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24sIHZhbGlkSW5zdHJ1Y3Rpb25EYXRhLCB2YWxpZEluc3RydWN0aW9uRGF0YTIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbk1lc3NhZ2U6IHN0cmluZztcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQXV0aG9yaXplUmF3O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTWVzc2FnZSh0eC5zb2xUcmFuc2FjdGlvbi5zZXJpYWxpemVNZXNzYWdlKCkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJhdyBtZXNzYWdlIGdlbmVyYXRlZCBieSBTb2xhbmEgQ0xJLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbXNnIG1zZyBnZW5lcmF0ZWQgYnkgJ3NvbGFuYSBzdGFrZS1hdXRob3JpemUtY2hlY2suXG4gICAqIEByZXR1cm5zIHtTdGFrZUJ1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgdHJhbnNhY3Rpb25NZXNzYWdlKG1zZzogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZU1lc3NhZ2UobXNnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbk1lc3NhZ2UgPSBtc2c7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl90cmFuc2FjdGlvbk1lc3NhZ2UsICdtaXNzaW5nIHRyYW5zYWN0aW9uIG1lc3NhZ2UnKTtcblxuICAgIHRoaXMudmFsaWRhdGVNZXNzYWdlKHRoaXMuX3RyYW5zYWN0aW9uTWVzc2FnZSk7XG4gICAgY29uc3Qgc29sVHJhbnNhY3Rpb24gPSBTT0xUcmFuc2FjdGlvbi5wb3B1bGF0ZShcbiAgICAgIFNPTE1lc3NhZ2UuZnJvbShCdWZmZXIuZnJvbSh0aGlzLl90cmFuc2FjdGlvbk1lc3NhZ2UsICdiYXNlNjQnKSksXG4gICAgICBbXVxuICAgICk7XG4gICAgLy8gdGhpcyBpcyB3b3JrYXJvdW5kIGZvciBzb2xhbmEgd2ViMy5qcyBnZW5lcmF0ZSB3cm9uZyBzaWduaW5nIG1lc3NhZ2VcbiAgICBjb25zdCBzZXJpYWxpemVkID0gc29sVHJhbnNhY3Rpb24uc2VyaWFsaXplKHsgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlIH0pLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihzZXJpYWxpemVkKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZSh0aGlzLnRyYW5zYWN0aW9uVHlwZSk7XG4gICAgYXNzZXJ0KHRoaXMuX3RyYW5zYWN0aW9uTWVzc2FnZSA9PT0gdGhpcy50cmFuc2FjdGlvbi5zaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2Jhc2U2NCcpLCAnd3Jvbmcgc2lnbmluZyBtZXNzYWdlJyk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHR4OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlTWVzc2FnZSh0eC5zb2xUcmFuc2FjdGlvbi5zZXJpYWxpemVNZXNzYWdlKCkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsaWRhdGVNZXNzYWdlKG1zZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdHggPSBTT0xUcmFuc2FjdGlvbi5wb3B1bGF0ZShTT0xNZXNzYWdlLmZyb20oQnVmZmVyLmZyb20obXNnLCAnYmFzZTY0JykpLCBbXSk7XG4gICAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gdHguaW5zdHJ1Y3Rpb25zO1xuICAgIGlmIChpbnN0cnVjdGlvbnMubGVuZ3RoICE9PSAyICYmIGluc3RydWN0aW9ucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbiwgZXhwZWN0ZWQgMiBpbnN0cnVjdGlvbiwgZ290ICR7aW5zdHJ1Y3Rpb25zLmxlbmd0aH1gKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiBpbnN0cnVjdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAoaW5zdHJ1Y3Rpb24ucHJvZ3JhbUlkLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgY2FzZSBTeXN0ZW1Qcm9ncmFtLnByb2dyYW1JZC50b1N0cmluZygpOlxuICAgICAgICAgIGNvbnN0IGluc3RydWN0aW9uTmFtZSA9IFN5c3RlbUluc3RydWN0aW9uLmRlY29kZUluc3RydWN0aW9uVHlwZShpbnN0cnVjdGlvbik7XG4gICAgICAgICAgaWYgKGluc3RydWN0aW9uTmFtZSAhPT0gbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeXN0ZW0gaW5zdHJ1Y3Rpb24gOiAke2luc3RydWN0aW9uTmFtZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU3Rha2VQcm9ncmFtLnByb2dyYW1JZC50b1N0cmluZygpOlxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBpbnN0cnVjdGlvbi5kYXRhLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICBpZiAoZGF0YSAhPT0gdmFsaWRJbnN0cnVjdGlvbkRhdGEgJiYgZGF0YSAhPT0gdmFsaWRJbnN0cnVjdGlvbkRhdGEyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3Rha2luZyBpbnN0cnVjdGlvbiBkYXRhOiAke2RhdGF9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbnZhbGlkIHRyYW5zYWN0aW9uLCBpbnN0cnVjdGlvbiBwcm9ncmFtIGlkIG5vdCBzdXBwb3J0ZWQ6ICR7aW5zdHJ1Y3Rpb24ucHJvZ3JhbUlkLnRvU3RyaW5nKCl9YFxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IEJhc2VUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnTWV0aG9kIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZGVyJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKCdNZXRob2Qgbm90IHN1cHBvcnRlZCBvbiB0aGlzIGJ1aWxkZXInKTtcbiAgfVxuXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ01ldGhvZCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgYnVpbGRlcicpO1xuICB9XG5cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpO1xuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnTWV0aG9kIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZGVyJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/stakingWithdrawBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO1D,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAYlC;;;;;;OAMG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAM5C;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CA8B5D"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StakingWithdrawBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transactionBuilder_1 = require("./transactionBuilder");
9
+ const constants_1 = require("./constants");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const utils_1 = require("./utils");
12
+ class StakingWithdrawBuilder extends transactionBuilder_1.TransactionBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ }
16
+ get transactionType() {
17
+ return sdk_core_1.TransactionType.StakingWithdraw;
18
+ }
19
+ /** @inheritdoc */
20
+ initBuilder(tx) {
21
+ super.initBuilder(tx);
22
+ for (const instruction of this._instructionsData) {
23
+ if (instruction.type === constants_1.InstructionBuilderTypes.StakingWithdraw) {
24
+ const withdrawInstruction = instruction;
25
+ this.sender(withdrawInstruction.params.fromAddress);
26
+ this.stakingAddress(withdrawInstruction.params.stakingAddress);
27
+ this.amount(withdrawInstruction.params.amount);
28
+ }
29
+ }
30
+ }
31
+ /**
32
+ * The address of the staking account.
33
+ *
34
+ * @param {string} stakingAddress public address of the staking account
35
+ * @returns {StakeBuilder} This staking builder.
36
+ *
37
+ */
38
+ stakingAddress(stakingAddress) {
39
+ (0, utils_1.validateAddress)(stakingAddress, 'stakingAddress');
40
+ this._stakingAddress = stakingAddress;
41
+ return this;
42
+ }
43
+ /**
44
+ * The amount to withdraw expressed in Lamports, 1 SOL = 1_000_000_000 lamports
45
+ *
46
+ * @param {string} amount expressed in Lamports
47
+ * @returns {StakeBuilder} This staking builder.
48
+ *
49
+ */
50
+ amount(amount) {
51
+ if (!(0, utils_1.isValidStakingAmount)(amount)) {
52
+ throw new sdk_core_1.BuildTransactionError('Value cannot be zero or less');
53
+ }
54
+ this._amount = amount;
55
+ return this;
56
+ }
57
+ /** @inheritdoc */
58
+ async buildImplementation() {
59
+ (0, assert_1.default)(this._sender, 'Sender must be set before building the transaction');
60
+ (0, assert_1.default)(this._stakingAddress, 'Staking address must be set before building the transaction');
61
+ (0, assert_1.default)(this._amount, 'Amount must be set before building the transaction');
62
+ if (this._sender === this._stakingAddress) {
63
+ throw new sdk_core_1.BuildTransactionError('Sender address cannot be the same as the Staking address');
64
+ }
65
+ const stakingWithdrawData = {
66
+ type: constants_1.InstructionBuilderTypes.StakingWithdraw,
67
+ params: {
68
+ fromAddress: this._sender,
69
+ stakingAddress: this._stakingAddress,
70
+ amount: this._amount,
71
+ },
72
+ };
73
+ this._instructionsData =
74
+ this._priorityFee && this._priorityFee !== Number(0)
75
+ ? [
76
+ {
77
+ type: constants_1.InstructionBuilderTypes.SetPriorityFee,
78
+ params: { fee: this._priorityFee },
79
+ },
80
+ stakingWithdrawData,
81
+ ]
82
+ : [stakingWithdrawData];
83
+ return await super.buildImplementation();
84
+ }
85
+ }
86
+ exports.StakingWithdrawBuilder = StakingWithdrawBuilder;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dpdGhkcmF3QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ1dpdGhkcmF3QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtREFBOEU7QUFFOUUsNkRBQTBEO0FBQzFELDJDQUFzRDtBQUV0RCxvREFBNEI7QUFFNUIsbUNBQWdFO0FBRWhFLE1BQWEsc0JBQXVCLFNBQVEsdUNBQWtCO0lBSTVELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssbUNBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2pFLE1BQU0sbUJBQW1CLEdBQW9CLFdBQVcsQ0FBQztnQkFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsY0FBc0I7UUFDbkMsSUFBQSx1QkFBZSxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFBLDRCQUFvQixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQztRQUMzRSxJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSw2REFBNkQsQ0FBQyxDQUFDO1FBQzVGLElBQUEsZ0JBQU0sRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG9EQUFvRCxDQUFDLENBQUM7UUFFM0UsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUM5RixDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBb0I7WUFDM0MsSUFBSSxFQUFFLG1DQUF1QixDQUFDLGVBQWU7WUFDN0MsTUFBTSxFQUFFO2dCQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDckI7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQjtZQUNwQixJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDO29CQUNFO3dCQUNFLElBQUksRUFBRSxtQ0FBdUIsQ0FBQyxjQUFjO3dCQUM1QyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtxQkFDbkM7b0JBQ0QsbUJBQW1CO2lCQUNwQjtnQkFDSCxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTVCLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFwRkQsd0RBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFN0YWtpbmdXaXRoZHJhdyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgaXNWYWxpZFN0YWtpbmdBbW91bnQsIHZhbGlkYXRlQWRkcmVzcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5TdGFraW5nV2l0aGRyYXcpIHtcbiAgICAgICAgY29uc3Qgd2l0aGRyYXdJbnN0cnVjdGlvbjogU3Rha2luZ1dpdGhkcmF3ID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMuc2VuZGVyKHdpdGhkcmF3SW5zdHJ1Y3Rpb24ucGFyYW1zLmZyb21BZGRyZXNzKTtcbiAgICAgICAgdGhpcy5zdGFraW5nQWRkcmVzcyh3aXRoZHJhd0luc3RydWN0aW9uLnBhcmFtcy5zdGFraW5nQWRkcmVzcyk7XG4gICAgICAgIHRoaXMuYW1vdW50KHdpdGhkcmF3SW5zdHJ1Y3Rpb24ucGFyYW1zLmFtb3VudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFraW5nIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdGFraW5nQWRkcmVzcyBwdWJsaWMgYWRkcmVzcyBvZiB0aGUgc3Rha2luZyBhY2NvdW50XG4gICAqIEByZXR1cm5zIHtTdGFrZUJ1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgc3Rha2luZ0FkZHJlc3Moc3Rha2luZ0FkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhzdGFraW5nQWRkcmVzcywgJ3N0YWtpbmdBZGRyZXNzJyk7XG4gICAgdGhpcy5fc3Rha2luZ0FkZHJlc3MgPSBzdGFraW5nQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IHRvIHdpdGhkcmF3IGV4cHJlc3NlZCBpbiBMYW1wb3J0cywgMSBTT0wgPSAxXzAwMF8wMDBfMDAwIGxhbXBvcnRzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgZXhwcmVzc2VkIGluIExhbXBvcnRzXG4gICAqIEByZXR1cm5zIHtTdGFrZUJ1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkU3Rha2luZ0Ftb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgemVybyBvciBsZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgJ1NlbmRlciBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgYXNzZXJ0KHRoaXMuX3N0YWtpbmdBZGRyZXNzLCAnU3Rha2luZyBhZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBhc3NlcnQodGhpcy5fYW1vdW50LCAnQW1vdW50IG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcblxuICAgIGlmICh0aGlzLl9zZW5kZXIgPT09IHRoaXMuX3N0YWtpbmdBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgYWRkcmVzcyBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIFN0YWtpbmcgYWRkcmVzcycpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWtpbmdXaXRoZHJhd0RhdGE6IFN0YWtpbmdXaXRoZHJhdyA9IHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlN0YWtpbmdXaXRoZHJhdyxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICBzdGFraW5nQWRkcmVzczogdGhpcy5fc3Rha2luZ0FkZHJlc3MsXG4gICAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPVxuICAgICAgdGhpcy5fcHJpb3JpdHlGZWUgJiYgdGhpcy5fcHJpb3JpdHlGZWUgIT09IE51bWJlcigwKVxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU2V0UHJpb3JpdHlGZWUsXG4gICAgICAgICAgICAgIHBhcmFtczogeyBmZWU6IHRoaXMuX3ByaW9yaXR5RmVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Rha2luZ1dpdGhkcmF3RGF0YSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW3N0YWtpbmdXaXRoZHJhd0RhdGFdO1xuXG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @prettier
3
+ *
4
+ * Reusable Token-2022 resolution logic (Transfer Hook extra accounts and sRFC-37
5
+ * Token ACL permissionless thaw), decoupled from the `Sol` coin class so any caller
6
+ * with its own account-fetcher (e.g. wallet-platform reading chain state via IMS RPC)
7
+ * can resolve these dependencies offline of the SDK's node transport.
8
+ *
9
+ * The resolution functions take a `Connection` (only `getAccountInfo` is required);
10
+ * {@link buildSolAccountConnection} adapts a plain {@link SolAccountFetcher} into the
11
+ * shape `@solana/spl-token`'s transfer-hook helpers expect.
12
+ */
13
+ import { AccountInfo, Connection } from '@solana/web3.js';
14
+ import { ExtraAccountMeta } from './iface';
15
+ /**
16
+ * A minimal account-fetcher: given a base58 address, return its on-chain
17
+ * {@link AccountInfo} (with `data` already decoded into a `Buffer`) or `null`
18
+ * when the account does not exist. Callers supply their own transport (SDK node
19
+ * request, wallet-platform IMS RPC, a full `Connection`, etc.).
20
+ */
21
+ export type SolAccountFetcher = (address: string) => Promise<AccountInfo<Buffer> | null>;
22
+ /**
23
+ * Result of resolving the sRFC-37 Token ACL permissionless thaw for a mint / token account.
24
+ *
25
+ * When `applicable` is false (the mint has no Token ACL MintConfig, or permissionless thaw is
26
+ * disabled) all other fields are omitted and the caller should not emit a thaw instruction.
27
+ * When `applicable` is true, the fields are ready to thread into the token-transfer builder via
28
+ * `permissionlessThaw(...)`.
29
+ */
30
+ export interface ResolvePermissionlessThawResult {
31
+ applicable: boolean;
32
+ gatingProgram?: string;
33
+ flagAccount?: string;
34
+ mintConfig?: string;
35
+ tokenProgram?: string;
36
+ systemProgram?: string;
37
+ extraAccounts?: ExtraAccountMeta[];
38
+ }
39
+ /**
40
+ * Build a minimal `Connection`-like shim backed by a {@link SolAccountFetcher}.
41
+ *
42
+ * `@solana/spl-token`'s transfer-hook resolution helpers only require
43
+ * `getAccountInfo(publicKey)` returning an `AccountInfo<Buffer>`. This adapts a
44
+ * plain address-based fetcher to that shape so any transport can drive the
45
+ * resolution below without opening a dedicated RPC connection.
46
+ *
47
+ * @param {SolAccountFetcher} fetch - fetcher returning decoded account info by address
48
+ * @returns {Connection} a shim exposing `getAccountInfo`, cast to `Connection`
49
+ */
50
+ export declare function buildSolAccountConnection(fetch: SolAccountFetcher): Connection;
51
+ /**
52
+ * Resolve the Token-2022 Transfer Hook extra accounts for a specific transfer.
53
+ *
54
+ * This is generic: it works for any Token-2022 mint by reading the mint's
55
+ * TransferHook extension and the hook program's ExtraAccountMetaList live from
56
+ * the node, then resolving each extra account (including seed-derived PDAs) via
57
+ * the standard `spl-transfer-hook-interface` helpers. The returned metas are in
58
+ * the exact order the hook requires and are suitable for
59
+ * `TokenTransfer.params.transferHookAccounts`.
60
+ *
61
+ * When the mint has no Transfer Hook, this returns an empty array and callers can
62
+ * omit the param.
63
+ *
64
+ * @param {Connection} connection - a `Connection` (or shim) exposing `getAccountInfo`
65
+ * @param params - the transfer parameters
66
+ * @param {string} params.mint - the Token-2022 mint address
67
+ * @param {string} params.source - the source token account (sender ATA)
68
+ * @param {string} params.destination - the destination token account (recipient ATA)
69
+ * @param {string} params.owner - the source account owner / transfer authority
70
+ * @param {string} params.amount - the raw transfer amount in base units
71
+ * @returns {Promise<ExtraAccountMeta[]>} ordered extra account metas, or [] when no hook
72
+ */
73
+ export declare function resolveTransferHookAccounts(connection: Connection, params: {
74
+ mint: string;
75
+ source: string;
76
+ destination: string;
77
+ owner: string;
78
+ amount: string;
79
+ }): Promise<ExtraAccountMeta[]>;
80
+ /**
81
+ * Resolve the sRFC-37 Token ACL permissionless-thaw dependencies for a token account.
82
+ *
83
+ * This is generic: it works for ANY allowlist/blocklist (DefaultAccountState) Token-2022 mint
84
+ * gated by the Token ACL program — no issuer is hardcoded. It reads the mint's MintConfig PDA
85
+ * live from the node, and only when permissionless thaw is enabled does it derive the flag /
86
+ * mint-config / thaw-extra-metas PDAs and resolve the gating program's extra account metas (in
87
+ * the exact order the gating program requires, mirroring `resolveExtraMetas`).
88
+ *
89
+ * When the mint is not a Token ACL mint, or permissionless thaw is disabled, this returns
90
+ * `{ applicable: false }` and callers skip the thaw.
91
+ *
92
+ * @param {Connection} connection - a `Connection` (or shim) exposing `getAccountInfo`
93
+ * @param params - the thaw parameters
94
+ * @param {string} params.mint - the Token-2022 mint address
95
+ * @param {string} params.tokenAccount - the token account (ATA) to thaw
96
+ * @param {string} params.tokenAccountOwner - the owner of the token account
97
+ * @param {string} params.authority - the signer invoking the thaw (fee payer / authority)
98
+ * @returns {Promise<ResolvePermissionlessThawResult>} the resolved thaw params, or `{ applicable: false }`
99
+ */
100
+ export declare function resolvePermissionlessThaw(connection: Connection, params: {
101
+ mint: string;
102
+ tokenAccount: string;
103
+ tokenAccountOwner: string;
104
+ authority: string;
105
+ }): Promise<ResolvePermissionlessThawResult>;
106
+ //# sourceMappingURL=token2022Resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token2022Resolve.d.ts","sourceRoot":"","sources":["../../../../src/lib/token2022Resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,EACL,WAAW,EAGX,UAAU,EAIX,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAQ9E;AA4DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3F,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8C7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3F,OAAO,CAAC,+BAA+B,CAAC,CAqE1C"}