@bitgo-beta/sdk-coin-sol 7.6.4-beta.31 → 7.6.4-beta.310

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 (395) hide show
  1. package/dist/cjs/src/bigint-buffer-guard.d.ts.map +1 -0
  2. package/dist/cjs/src/bigint-buffer-guard.js +29 -0
  3. package/dist/cjs/src/config/token2022StaticConfig.d.ts.map +1 -0
  4. package/dist/cjs/src/config/token2022StaticConfig.js +50 -0
  5. package/dist/cjs/src/index.d.ts.map +1 -0
  6. package/dist/{src → cjs/src}/index.js +1 -1
  7. package/dist/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -0
  8. package/dist/cjs/src/lib/ataInitializationBuilder.js +196 -0
  9. package/dist/cjs/src/lib/closeAtaBuilder.d.ts.map +1 -0
  10. package/dist/cjs/src/lib/closeAtaBuilder.js +69 -0
  11. package/dist/{src → cjs/src}/lib/constants.d.ts +24 -0
  12. package/dist/cjs/src/lib/constants.d.ts.map +1 -0
  13. package/dist/cjs/src/lib/constants.js +196 -0
  14. package/dist/cjs/src/lib/customInstructionBuilder.d.ts.map +1 -0
  15. package/dist/cjs/src/lib/customInstructionBuilder.js +289 -0
  16. package/dist/cjs/src/lib/explainTransactionWasm.d.ts +21 -0
  17. package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -0
  18. package/dist/cjs/src/lib/explainTransactionWasm.js +264 -0
  19. package/dist/{src → cjs/src}/lib/iface.d.ts +20 -2
  20. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  21. package/dist/cjs/src/lib/iface.js +7 -0
  22. package/dist/{src → cjs/src}/lib/index.d.ts +1 -0
  23. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  24. package/dist/{src → cjs/src}/lib/index.js +4 -2
  25. package/dist/{src → cjs/src}/lib/instructionParamsFactory.d.ts +1 -0
  26. package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -0
  27. package/dist/cjs/src/lib/instructionParamsFactory.js +1059 -0
  28. package/dist/cjs/src/lib/jitoStakePoolOperations.d.ts.map +1 -0
  29. package/dist/cjs/src/lib/jitoStakePoolOperations.js +200 -0
  30. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  31. package/dist/cjs/src/lib/keyPair.js +63 -0
  32. package/dist/cjs/src/lib/messages/index.d.ts.map +1 -0
  33. package/dist/{src → cjs/src}/lib/messages/index.js +1 -1
  34. package/dist/cjs/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  35. package/dist/cjs/src/lib/messages/messageBuilderFactory.js +19 -0
  36. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts +25 -0
  37. package/dist/cjs/src/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  38. package/dist/cjs/src/lib/recoverNestedAtaBuilder.js +90 -0
  39. package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -0
  40. package/dist/cjs/src/lib/solInstructionFactory.js +595 -0
  41. package/dist/cjs/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  42. package/dist/cjs/src/lib/stakingActivateBuilder.js +120 -0
  43. package/dist/cjs/src/lib/stakingAuthorizeBuilder.d.ts.map +1 -0
  44. package/dist/cjs/src/lib/stakingAuthorizeBuilder.js +89 -0
  45. package/dist/cjs/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  46. package/dist/cjs/src/lib/stakingDeactivateBuilder.js +208 -0
  47. package/dist/cjs/src/lib/stakingDelegateBuilder.d.ts.map +1 -0
  48. package/dist/cjs/src/lib/stakingDelegateBuilder.js +120 -0
  49. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  50. package/dist/cjs/src/lib/stakingRawMsgAuthorizeBuilder.js +110 -0
  51. package/dist/cjs/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  52. package/dist/cjs/src/lib/stakingWithdrawBuilder.js +78 -0
  53. package/dist/cjs/src/lib/token2022Config.d.ts.map +1 -0
  54. package/dist/cjs/src/lib/token2022Config.js +27 -0
  55. package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  56. package/dist/cjs/src/lib/tokenTransferBuilder.js +188 -0
  57. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  58. package/dist/cjs/src/lib/transaction.js +612 -0
  59. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  60. package/dist/cjs/src/lib/transactionBuilder.js +380 -0
  61. package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +5 -0
  62. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  63. package/dist/cjs/src/lib/transactionBuilderFactory.js +209 -0
  64. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  65. package/dist/cjs/src/lib/transferBuilder.js +70 -0
  66. package/dist/cjs/src/lib/transferBuilderV2.d.ts.map +1 -0
  67. package/dist/cjs/src/lib/transferBuilderV2.js +210 -0
  68. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  69. package/dist/cjs/src/lib/utils.js +595 -0
  70. package/dist/cjs/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  71. package/dist/cjs/src/lib/walletInitializationBuilder.js +71 -0
  72. package/dist/cjs/src/register.d.ts.map +1 -0
  73. package/dist/cjs/src/register.js +15 -0
  74. package/dist/{src → cjs/src}/sol.d.ts +40 -0
  75. package/dist/cjs/src/sol.d.ts.map +1 -0
  76. package/dist/cjs/src/sol.js +1402 -0
  77. package/dist/cjs/src/solToken.d.ts.map +1 -0
  78. package/dist/cjs/src/solToken.js +69 -0
  79. package/dist/cjs/src/tsol.d.ts.map +1 -0
  80. package/dist/cjs/src/tsol.js +24 -0
  81. package/dist/{test → cjs/test}/fixtures/sol.d.ts.map +1 -1
  82. package/dist/cjs/test/fixtures/sol.js +1433 -0
  83. package/dist/{test → cjs/test}/resources/sol.d.ts +27 -27
  84. package/dist/cjs/test/resources/sol.d.ts.map +1 -0
  85. package/dist/cjs/test/resources/sol.js +320 -0
  86. package/dist/cjs/test/unit/explainTransactionWasm.d.ts +5 -0
  87. package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
  88. package/dist/cjs/test/unit/explainTransactionWasm.js +26 -0
  89. package/dist/cjs/test/unit/fixtures/solBackupKey.d.ts.map +1 -0
  90. package/dist/cjs/test/unit/fixtures/solBackupKey.js +8 -0
  91. package/dist/cjs/test/unit/getBuilderFactory.d.ts.map +1 -0
  92. package/dist/cjs/test/unit/getBuilderFactory.js +10 -0
  93. package/dist/cjs/test/unit/instructionParamsFactory.d.ts.map +1 -0
  94. package/dist/cjs/test/unit/instructionParamsFactory.js +412 -0
  95. package/dist/cjs/test/unit/instructionParamsFactory.staking.d.ts.map +1 -0
  96. package/dist/cjs/test/unit/instructionParamsFactory.staking.js +1059 -0
  97. package/dist/cjs/test/unit/jitoWasmVerification.d.ts +2 -0
  98. package/dist/cjs/test/unit/jitoWasmVerification.d.ts.map +1 -0
  99. package/dist/cjs/test/unit/jitoWasmVerification.js +78 -0
  100. package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
  101. package/dist/cjs/test/unit/keyPair.js +177 -0
  102. package/dist/cjs/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  103. package/dist/cjs/test/unit/messages/messageBuilderFactory.js +118 -0
  104. package/dist/cjs/test/unit/messages/simpleMessageBuilder.d.ts.map +1 -0
  105. package/dist/cjs/test/unit/messages/simpleMessageBuilder.js +194 -0
  106. package/dist/{test → cjs/test}/unit/sol.d.ts.map +1 -1
  107. package/dist/cjs/test/unit/sol.js +3326 -0
  108. package/dist/cjs/test/unit/solInstructionFactory.d.ts.map +1 -0
  109. package/dist/cjs/test/unit/solInstructionFactory.js +454 -0
  110. package/dist/cjs/test/unit/solToken.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/solToken.js +31 -0
  112. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  113. package/dist/cjs/test/unit/transaction.js +1108 -0
  114. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +1 -0
  115. package/dist/cjs/test/unit/transactionBuilder/StakingWithdrawBuilder.js +202 -0
  116. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +1 -0
  117. package/dist/cjs/test/unit/transactionBuilder/ataInitBuilder.js +471 -0
  118. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +1 -0
  119. package/dist/cjs/test/unit/transactionBuilder/customInstructionBuilder.js +413 -0
  120. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +1 -0
  121. package/dist/cjs/test/unit/transactionBuilder/stakingActivateBuilder.js +430 -0
  122. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +1 -0
  123. package/dist/cjs/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +157 -0
  124. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +1 -0
  125. package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +384 -0
  126. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +1 -0
  127. package/dist/cjs/test/unit/transactionBuilder/stakingDelegateBuilder.js +224 -0
  128. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +259 -0
  130. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  131. package/dist/cjs/test/unit/transactionBuilder/tokenTransferBuilder.js +787 -0
  132. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  133. package/dist/cjs/test/unit/transactionBuilder/transactionBuilder.js +495 -0
  134. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  135. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +286 -0
  136. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +1 -0
  137. package/dist/cjs/test/unit/transactionBuilder/transferBuilderV2.js +862 -0
  138. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +1 -0
  139. package/dist/cjs/test/unit/transactionBuilder/walletInitBuilder.js +259 -0
  140. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  141. package/dist/cjs/test/unit/utils.js +517 -0
  142. package/dist/cjs/test/unit/versionedTransaction.d.ts.map +1 -0
  143. package/dist/cjs/test/unit/versionedTransaction.js +207 -0
  144. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  145. package/dist/esm/bigint-buffer-guard.d.ts +1 -0
  146. package/dist/esm/config/token2022StaticConfig.d.ts +3 -0
  147. package/dist/esm/config/token2022StaticConfig.js +47 -0
  148. package/dist/esm/index.d.ts +7 -0
  149. package/dist/esm/index.js +7 -0
  150. package/dist/esm/lib/ataInitializationBuilder.d.ts +47 -0
  151. package/dist/esm/lib/ataInitializationBuilder.js +156 -0
  152. package/dist/esm/lib/closeAtaBuilder.d.ts +19 -0
  153. package/dist/esm/lib/closeAtaBuilder.js +62 -0
  154. package/dist/esm/lib/constants.d.ts +164 -0
  155. package/dist/esm/lib/constants.d.ts.map +1 -0
  156. package/dist/esm/lib/constants.js +193 -0
  157. package/dist/esm/lib/customInstructionBuilder.d.ts +72 -0
  158. package/dist/esm/lib/customInstructionBuilder.js +282 -0
  159. package/dist/esm/lib/explainTransactionWasm.d.ts +21 -0
  160. package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
  161. package/dist/esm/lib/explainTransactionWasm.js +261 -0
  162. package/dist/esm/lib/iface.d.ts +262 -0
  163. package/dist/esm/lib/iface.d.ts.map +1 -0
  164. package/dist/esm/lib/iface.js +3 -0
  165. package/dist/esm/lib/index.d.ts +23 -0
  166. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  167. package/dist/esm/lib/index.js +23 -0
  168. package/dist/esm/lib/instructionParamsFactory.d.ts +13 -0
  169. package/dist/{src → esm}/lib/instructionParamsFactory.d.ts.map +1 -1
  170. package/dist/esm/lib/instructionParamsFactory.js +1052 -0
  171. package/dist/esm/lib/jitoStakePoolOperations.d.ts +113 -0
  172. package/dist/esm/lib/jitoStakePoolOperations.js +189 -0
  173. package/dist/esm/lib/keyPair.d.ts +26 -0
  174. package/dist/esm/lib/keyPair.js +59 -0
  175. package/dist/esm/lib/messages/index.d.ts +2 -0
  176. package/dist/esm/lib/messages/index.js +2 -0
  177. package/dist/esm/lib/messages/messageBuilderFactory.d.ts +7 -0
  178. package/dist/{src → esm}/lib/messages/messageBuilderFactory.js +5 -9
  179. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts +25 -0
  180. package/dist/esm/lib/recoverNestedAtaBuilder.d.ts.map +1 -0
  181. package/dist/esm/lib/recoverNestedAtaBuilder.js +83 -0
  182. package/dist/esm/lib/solInstructionFactory.d.ts +10 -0
  183. package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -0
  184. package/dist/esm/lib/solInstructionFactory.js +589 -0
  185. package/dist/esm/lib/stakingActivateBuilder.d.ts +59 -0
  186. package/dist/esm/lib/stakingActivateBuilder.js +113 -0
  187. package/dist/esm/lib/stakingAuthorizeBuilder.d.ts +43 -0
  188. package/dist/esm/lib/stakingAuthorizeBuilder.js +82 -0
  189. package/dist/esm/lib/stakingDeactivateBuilder.d.ts +81 -0
  190. package/dist/{src → esm}/lib/stakingDeactivateBuilder.js +31 -38
  191. package/dist/esm/lib/stakingDelegateBuilder.d.ts +42 -0
  192. package/dist/esm/lib/stakingDelegateBuilder.js +113 -0
  193. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.d.ts +33 -0
  194. package/dist/esm/lib/stakingRawMsgAuthorizeBuilder.js +103 -0
  195. package/dist/esm/lib/stakingWithdrawBuilder.d.ts +31 -0
  196. package/dist/esm/lib/stakingWithdrawBuilder.js +71 -0
  197. package/dist/esm/lib/token2022Config.d.ts +44 -0
  198. package/dist/esm/lib/token2022Config.js +23 -0
  199. package/dist/esm/lib/tokenTransferBuilder.d.ts +41 -0
  200. package/dist/esm/lib/tokenTransferBuilder.js +181 -0
  201. package/dist/esm/lib/transaction.d.ts +103 -0
  202. package/dist/esm/lib/transaction.d.ts.map +1 -0
  203. package/dist/esm/lib/transaction.js +605 -0
  204. package/dist/esm/lib/transactionBuilder.d.ts +128 -0
  205. package/dist/esm/lib/transactionBuilder.js +373 -0
  206. package/dist/esm/lib/transactionBuilderFactory.d.ts +120 -0
  207. package/dist/esm/lib/transactionBuilderFactory.d.ts.map +1 -0
  208. package/dist/esm/lib/transactionBuilderFactory.js +205 -0
  209. package/dist/esm/lib/transferBuilder.d.ts +26 -0
  210. package/dist/esm/lib/transferBuilder.js +63 -0
  211. package/dist/esm/lib/transferBuilderV2.d.ts +43 -0
  212. package/dist/esm/lib/transferBuilderV2.js +203 -0
  213. package/dist/esm/lib/utils.d.ts +200 -0
  214. package/dist/{src → esm}/lib/utils.d.ts.map +1 -1
  215. package/dist/esm/lib/utils.js +558 -0
  216. package/dist/esm/lib/walletInitializationBuilder.d.ts +26 -0
  217. package/dist/esm/lib/walletInitializationBuilder.js +64 -0
  218. package/dist/esm/register.d.ts +3 -0
  219. package/dist/esm/register.js +11 -0
  220. package/dist/esm/sol.d.ts +267 -0
  221. package/dist/esm/sol.d.ts.map +1 -0
  222. package/dist/esm/sol.js +1361 -0
  223. package/dist/esm/solToken.d.ts +37 -0
  224. package/dist/esm/solToken.js +65 -0
  225. package/dist/esm/tsol.d.ts +11 -0
  226. package/dist/esm/tsol.js +20 -0
  227. package/package.json +34 -15
  228. package/dist/src/config/token2022StaticConfig.js +0 -50
  229. package/dist/src/lib/ataInitializationBuilder.js +0 -196
  230. package/dist/src/lib/closeAtaBuilder.js +0 -69
  231. package/dist/src/lib/constants.d.ts.map +0 -1
  232. package/dist/src/lib/constants.js +0 -171
  233. package/dist/src/lib/customInstructionBuilder.js +0 -289
  234. package/dist/src/lib/iface.d.ts.map +0 -1
  235. package/dist/src/lib/iface.js +0 -7
  236. package/dist/src/lib/instructionParamsFactory.js +0 -1036
  237. package/dist/src/lib/jitoStakePoolOperations.js +0 -200
  238. package/dist/src/lib/keyPair.js +0 -63
  239. package/dist/src/lib/solInstructionFactory.d.ts.map +0 -1
  240. package/dist/src/lib/solInstructionFactory.js +0 -572
  241. package/dist/src/lib/stakingActivateBuilder.js +0 -120
  242. package/dist/src/lib/stakingAuthorizeBuilder.js +0 -89
  243. package/dist/src/lib/stakingDelegateBuilder.js +0 -120
  244. package/dist/src/lib/stakingRawMsgAuthorizeBuilder.js +0 -110
  245. package/dist/src/lib/stakingWithdrawBuilder.js +0 -78
  246. package/dist/src/lib/token2022Config.js +0 -27
  247. package/dist/src/lib/tokenTransferBuilder.js +0 -188
  248. package/dist/src/lib/transaction.d.ts.map +0 -1
  249. package/dist/src/lib/transaction.js +0 -595
  250. package/dist/src/lib/transactionBuilder.js +0 -380
  251. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  252. package/dist/src/lib/transactionBuilderFactory.js +0 -202
  253. package/dist/src/lib/transferBuilder.js +0 -70
  254. package/dist/src/lib/transferBuilderV2.js +0 -210
  255. package/dist/src/lib/utils.js +0 -589
  256. package/dist/src/lib/walletInitializationBuilder.js +0 -71
  257. package/dist/src/register.js +0 -15
  258. package/dist/src/sol.d.ts.map +0 -1
  259. package/dist/src/sol.js +0 -1285
  260. package/dist/src/solToken.js +0 -69
  261. package/dist/src/tsol.js +0 -24
  262. package/dist/test/fixtures/sol.js +0 -1433
  263. package/dist/test/resources/sol.d.ts.map +0 -1
  264. package/dist/test/resources/sol.js +0 -320
  265. package/dist/test/unit/fixtures/solBackupKey.d.ts.map +0 -1
  266. package/dist/test/unit/fixtures/solBackupKey.js +0 -8
  267. package/dist/test/unit/getBuilderFactory.d.ts.map +0 -1
  268. package/dist/test/unit/getBuilderFactory.js +0 -10
  269. package/dist/test/unit/instructionParamsFactory.d.ts.map +0 -1
  270. package/dist/test/unit/instructionParamsFactory.js +0 -412
  271. package/dist/test/unit/instructionParamsFactory.staking.d.ts.map +0 -1
  272. package/dist/test/unit/instructionParamsFactory.staking.js +0 -1059
  273. package/dist/test/unit/keyPair.js +0 -177
  274. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  275. package/dist/test/unit/messages/messageBuilderFactory.js +0 -118
  276. package/dist/test/unit/messages/simpleMessageBuilder.d.ts.map +0 -1
  277. package/dist/test/unit/messages/simpleMessageBuilder.js +0 -194
  278. package/dist/test/unit/sol.js +0 -3108
  279. package/dist/test/unit/solInstructionFactory.d.ts.map +0 -1
  280. package/dist/test/unit/solInstructionFactory.js +0 -454
  281. package/dist/test/unit/solToken.d.ts.map +0 -1
  282. package/dist/test/unit/solToken.js +0 -31
  283. package/dist/test/unit/transaction.d.ts.map +0 -1
  284. package/dist/test/unit/transaction.js +0 -983
  285. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.d.ts.map +0 -1
  286. package/dist/test/unit/transactionBuilder/StakingWithdrawBuilder.js +0 -202
  287. package/dist/test/unit/transactionBuilder/ataInitBuilder.d.ts.map +0 -1
  288. package/dist/test/unit/transactionBuilder/ataInitBuilder.js +0 -471
  289. package/dist/test/unit/transactionBuilder/customInstructionBuilder.d.ts.map +0 -1
  290. package/dist/test/unit/transactionBuilder/customInstructionBuilder.js +0 -413
  291. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.d.ts.map +0 -1
  292. package/dist/test/unit/transactionBuilder/stakingActivateBuilder.js +0 -430
  293. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts.map +0 -1
  294. package/dist/test/unit/transactionBuilder/stakingAuthorizeBuilder.js +0 -157
  295. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.d.ts.map +0 -1
  296. package/dist/test/unit/transactionBuilder/stakingDeactivateBuilder.js +0 -384
  297. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.d.ts.map +0 -1
  298. package/dist/test/unit/transactionBuilder/stakingDelegateBuilder.js +0 -224
  299. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -1
  300. package/dist/test/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.js +0 -259
  301. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  302. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -787
  303. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  304. package/dist/test/unit/transactionBuilder/transactionBuilder.js +0 -495
  305. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  306. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -286
  307. package/dist/test/unit/transactionBuilder/transferBuilderV2.d.ts.map +0 -1
  308. package/dist/test/unit/transactionBuilder/transferBuilderV2.js +0 -862
  309. package/dist/test/unit/transactionBuilder/walletInitBuilder.d.ts.map +0 -1
  310. package/dist/test/unit/transactionBuilder/walletInitBuilder.js +0 -259
  311. package/dist/test/unit/utils.js +0 -517
  312. package/dist/test/unit/versionedTransaction.d.ts.map +0 -1
  313. package/dist/test/unit/versionedTransaction.js +0 -207
  314. package/dist/tsconfig.tsbuildinfo +0 -1
  315. /package/dist/{src → cjs/src}/bigint-buffer-guard.d.ts +0 -0
  316. /package/dist/{src → cjs/src}/config/token2022StaticConfig.d.ts +0 -0
  317. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  318. /package/dist/{src → cjs/src}/lib/ataInitializationBuilder.d.ts +0 -0
  319. /package/dist/{src → cjs/src}/lib/closeAtaBuilder.d.ts +0 -0
  320. /package/dist/{src → cjs/src}/lib/customInstructionBuilder.d.ts +0 -0
  321. /package/dist/{src → cjs/src}/lib/jitoStakePoolOperations.d.ts +0 -0
  322. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  323. /package/dist/{src → cjs/src}/lib/messages/index.d.ts +0 -0
  324. /package/dist/{src → cjs/src}/lib/messages/messageBuilderFactory.d.ts +0 -0
  325. /package/dist/{src → cjs/src}/lib/solInstructionFactory.d.ts +0 -0
  326. /package/dist/{src → cjs/src}/lib/stakingActivateBuilder.d.ts +0 -0
  327. /package/dist/{src → cjs/src}/lib/stakingAuthorizeBuilder.d.ts +0 -0
  328. /package/dist/{src → cjs/src}/lib/stakingDeactivateBuilder.d.ts +0 -0
  329. /package/dist/{src → cjs/src}/lib/stakingDelegateBuilder.d.ts +0 -0
  330. /package/dist/{src → cjs/src}/lib/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  331. /package/dist/{src → cjs/src}/lib/stakingWithdrawBuilder.d.ts +0 -0
  332. /package/dist/{src → cjs/src}/lib/token2022Config.d.ts +0 -0
  333. /package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +0 -0
  334. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  335. /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
  336. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  337. /package/dist/{src → cjs/src}/lib/transferBuilderV2.d.ts +0 -0
  338. /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
  339. /package/dist/{src → cjs/src}/lib/walletInitializationBuilder.d.ts +0 -0
  340. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  341. /package/dist/{src → cjs/src}/solToken.d.ts +0 -0
  342. /package/dist/{src → cjs/src}/tsol.d.ts +0 -0
  343. /package/dist/{test → cjs/test}/fixtures/sol.d.ts +0 -0
  344. /package/dist/{test → cjs/test}/unit/fixtures/solBackupKey.d.ts +0 -0
  345. /package/dist/{test → cjs/test}/unit/getBuilderFactory.d.ts +0 -0
  346. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.d.ts +0 -0
  347. /package/dist/{test → cjs/test}/unit/instructionParamsFactory.staking.d.ts +0 -0
  348. /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
  349. /package/dist/{test → cjs/test}/unit/messages/messageBuilderFactory.d.ts +0 -0
  350. /package/dist/{test → cjs/test}/unit/messages/simpleMessageBuilder.d.ts +0 -0
  351. /package/dist/{test → cjs/test}/unit/sol.d.ts +0 -0
  352. /package/dist/{test → cjs/test}/unit/solInstructionFactory.d.ts +0 -0
  353. /package/dist/{test → cjs/test}/unit/solToken.d.ts +0 -0
  354. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  355. /package/dist/{test → cjs/test}/unit/transactionBuilder/StakingWithdrawBuilder.d.ts +0 -0
  356. /package/dist/{test → cjs/test}/unit/transactionBuilder/ataInitBuilder.d.ts +0 -0
  357. /package/dist/{test → cjs/test}/unit/transactionBuilder/customInstructionBuilder.d.ts +0 -0
  358. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingActivateBuilder.d.ts +0 -0
  359. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingAuthorizeBuilder.d.ts +0 -0
  360. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDeactivateBuilder.d.ts +0 -0
  361. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingDelegateBuilder.d.ts +0 -0
  362. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingRawMsgAuthorizeBuilder.d.ts +0 -0
  363. /package/dist/{test → cjs/test}/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -0
  364. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilder.d.ts +0 -0
  365. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  366. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilderV2.d.ts +0 -0
  367. /package/dist/{test → cjs/test}/unit/transactionBuilder/walletInitBuilder.d.ts +0 -0
  368. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  369. /package/dist/{test → cjs/test}/unit/versionedTransaction.d.ts +0 -0
  370. /package/dist/{src → esm}/bigint-buffer-guard.d.ts.map +0 -0
  371. /package/dist/{src → esm}/bigint-buffer-guard.js +0 -0
  372. /package/dist/{src → esm}/config/token2022StaticConfig.d.ts.map +0 -0
  373. /package/dist/{src → esm}/index.d.ts.map +0 -0
  374. /package/dist/{src → esm}/lib/ataInitializationBuilder.d.ts.map +0 -0
  375. /package/dist/{src → esm}/lib/closeAtaBuilder.d.ts.map +0 -0
  376. /package/dist/{src → esm}/lib/customInstructionBuilder.d.ts.map +0 -0
  377. /package/dist/{src → esm}/lib/jitoStakePoolOperations.d.ts.map +0 -0
  378. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  379. /package/dist/{src → esm}/lib/messages/index.d.ts.map +0 -0
  380. /package/dist/{src → esm}/lib/messages/messageBuilderFactory.d.ts.map +0 -0
  381. /package/dist/{src → esm}/lib/stakingActivateBuilder.d.ts.map +0 -0
  382. /package/dist/{src → esm}/lib/stakingAuthorizeBuilder.d.ts.map +0 -0
  383. /package/dist/{src → esm}/lib/stakingDeactivateBuilder.d.ts.map +0 -0
  384. /package/dist/{src → esm}/lib/stakingDelegateBuilder.d.ts.map +0 -0
  385. /package/dist/{src → esm}/lib/stakingRawMsgAuthorizeBuilder.d.ts.map +0 -0
  386. /package/dist/{src → esm}/lib/stakingWithdrawBuilder.d.ts.map +0 -0
  387. /package/dist/{src → esm}/lib/token2022Config.d.ts.map +0 -0
  388. /package/dist/{src → esm}/lib/tokenTransferBuilder.d.ts.map +0 -0
  389. /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
  390. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  391. /package/dist/{src → esm}/lib/transferBuilderV2.d.ts.map +0 -0
  392. /package/dist/{src → esm}/lib/walletInitializationBuilder.d.ts.map +0 -0
  393. /package/dist/{src → esm}/register.d.ts.map +0 -0
  394. /package/dist/{src → esm}/solToken.d.ts.map +0 -0
  395. /package/dist/{src → esm}/tsol.d.ts.map +0 -0
@@ -1,200 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file Implementation of the depositSol instruction. On upgrade of
4
- * '@solana/spl-token', this module may no longer be necessary.
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.WITHDRAW_STAKE_LAYOUT_CODE = exports.DEPOSIT_SOL_LAYOUT_CODE = void 0;
11
- exports.findWithdrawAuthorityProgramAddressSync = findWithdrawAuthorityProgramAddressSync;
12
- exports.depositSolInstructions = depositSolInstructions;
13
- exports.decodeDepositSol = decodeDepositSol;
14
- exports.withdrawStakeInstructions = withdrawStakeInstructions;
15
- exports.decodeWithdrawStake = decodeWithdrawStake;
16
- const spl_stake_pool_1 = require("@solana/spl-stake-pool");
17
- const spl_token_1 = require("@solana/spl-token");
18
- const web3_js_1 = require("@solana/web3.js");
19
- const assert_1 = __importDefault(require("assert"));
20
- const constants_1 = require("./constants");
21
- exports.DEPOSIT_SOL_LAYOUT_CODE = 14;
22
- exports.WITHDRAW_STAKE_LAYOUT_CODE = 10;
23
- /**
24
- * Generates the withdraw authority program address for the stake pool.
25
- * Like findWithdrawAuthorityProgramAddress in @solana/spl-stake-pool,
26
- * but synchronous.
27
- *
28
- * @see {findWithdrawAuthorityProgramAddress}
29
- */
30
- function findWithdrawAuthorityProgramAddressSync(programId, stakePoolAddress) {
31
- const [withdrawAuthority] = web3_js_1.PublicKey.findProgramAddressSync([stakePoolAddress.toBuffer(), Buffer.from('withdraw')], programId);
32
- return withdrawAuthority;
33
- }
34
- /**
35
- * Construct Solana depositSol stake pool instruction from parameters.
36
- *
37
- * @param {DepositSolInstructionsParams} params - parameters for staking to stake pool
38
- * @param {DepositSolStakePoolData} stakePool - data from getStakePoolAccount needed for DepositSol
39
- * @param createAssociatedTokenAccount
40
- * @returns {TransactionInstruction}
41
- */
42
- function depositSolInstructions(params, stakePool, createAssociatedTokenAccount) {
43
- const { stakePoolAddress, from, lamports } = params;
44
- const poolMint = new web3_js_1.PublicKey(stakePool.poolMint);
45
- const reserveStake = new web3_js_1.PublicKey(stakePool.reserveStake);
46
- const managerFeeAccount = new web3_js_1.PublicKey(stakePool.managerFeeAccount);
47
- // findWithdrawAuthorityProgramAddress
48
- const withdrawAuthority = findWithdrawAuthorityProgramAddressSync(spl_stake_pool_1.STAKE_POOL_PROGRAM_ID, stakePoolAddress);
49
- const associatedAddress = (0, spl_token_1.getAssociatedTokenAddressSync)(poolMint, from);
50
- const instructions = [];
51
- if (createAssociatedTokenAccount) {
52
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(from, associatedAddress, from, poolMint));
53
- }
54
- instructions.push(spl_stake_pool_1.StakePoolInstruction.depositSol({
55
- stakePool: stakePoolAddress,
56
- reserveStake,
57
- fundingAccount: from,
58
- destinationPoolAccount: associatedAddress,
59
- managerFeeAccount,
60
- referralPoolAccount: associatedAddress,
61
- poolMint,
62
- lamports: Number(lamports),
63
- withdrawAuthority,
64
- }));
65
- return instructions;
66
- }
67
- function parseKey(key, template) {
68
- (0, assert_1.default)(key.isSigner === template.isSigner && key.isWritable === template.isWritable, `Unexpected key metadata in instruction: { isSigner: ${key.isSigner}, isWritable: ${key.isWritable} }`);
69
- return key.pubkey;
70
- }
71
- /**
72
- * Construct Solana depositSol stake pool parameters from instruction.
73
- *
74
- * @param {TransactionInstruction} instruction
75
- * @returns {DepositSolParams}
76
- */
77
- function decodeDepositSol(instruction) {
78
- const { programId, keys, data } = instruction;
79
- (0, assert_1.default)(programId.equals(spl_stake_pool_1.STAKE_POOL_PROGRAM_ID), 'Invalid DepositSol instruction, program ID must be the Stake Pool Program');
80
- let i = 0;
81
- const stakePool = parseKey(keys[i++], { isSigner: false, isWritable: true });
82
- const withdrawAuthority = parseKey(keys[i++], { isSigner: false, isWritable: false });
83
- const reserveStake = parseKey(keys[i++], { isSigner: false, isWritable: true });
84
- const fundingAccount = parseKey(keys[i++], { isSigner: true, isWritable: true });
85
- const destinationPoolAccount = parseKey(keys[i++], { isSigner: false, isWritable: true });
86
- const managerFeeAccount = parseKey(keys[i++], { isSigner: false, isWritable: true });
87
- const referralPoolAccount = parseKey(keys[i++], { isSigner: false, isWritable: true });
88
- const poolMint = parseKey(keys[i++], { isSigner: false, isWritable: true });
89
- const systemProgramProgramId = parseKey(keys[i++], { isSigner: false, isWritable: false });
90
- (0, assert_1.default)(systemProgramProgramId.equals(web3_js_1.SystemProgram.programId), 'Unexpected pubkey in DepositSol instruction');
91
- const tokenProgramId = parseKey(keys[i++], { isSigner: false, isWritable: false });
92
- (0, assert_1.default)(tokenProgramId.equals(spl_token_1.TOKEN_PROGRAM_ID), 'Unexpected pubkey in DepositSol instruction');
93
- const depositAuthority = keys.length > 10 ? parseKey(keys[i++], { isSigner: true, isWritable: false }) : undefined;
94
- (0, assert_1.default)(keys.length <= 11, 'Too many keys in DepositSol instruction');
95
- const layoutCode = data.readUint8(0);
96
- (0, assert_1.default)(layoutCode === exports.DEPOSIT_SOL_LAYOUT_CODE, 'Incorrect layout code in DepositSol data');
97
- (0, assert_1.default)(data.length === 9, 'Incorrect data size for DepositSol layout');
98
- const lamports = data.readBigInt64LE(1);
99
- return {
100
- stakePool,
101
- depositAuthority,
102
- withdrawAuthority,
103
- reserveStake,
104
- fundingAccount,
105
- destinationPoolAccount,
106
- managerFeeAccount,
107
- referralPoolAccount,
108
- poolMint,
109
- lamports: Number(lamports),
110
- };
111
- }
112
- /**
113
- * Construct Solana withdrawStake stake pool instructions from parameters.
114
- *
115
- * @param {WithdrawStakeInstructionsParams} params - parameters for unstaking from stake pool
116
- * @param {WithdrawStakeStakePoolData} stakePool - data from getStakePoolAccount needed for WithdrawStake
117
- * @returns {TransactionInstruction[]}
118
- */
119
- function withdrawStakeInstructions(params, stakePool) {
120
- const { tokenOwner, stakePoolAddress, destinationStakeAccount, validatorAddress, transferAuthority, poolAmount: poolAmountString, } = params;
121
- const poolMint = new web3_js_1.PublicKey(stakePool.poolMint);
122
- const validatorList = new web3_js_1.PublicKey(stakePool.validatorListAccount);
123
- const managerFeeAccount = new web3_js_1.PublicKey(stakePool.managerFeeAccount);
124
- const poolTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolMint, tokenOwner);
125
- const withdrawAuthority = findWithdrawAuthorityProgramAddressSync(spl_stake_pool_1.STAKE_POOL_PROGRAM_ID, stakePoolAddress);
126
- const poolAmount = BigInt(poolAmountString);
127
- return [
128
- (0, spl_token_1.createApproveInstruction)(poolTokenAccount, transferAuthority, tokenOwner, poolAmount),
129
- web3_js_1.SystemProgram.createAccount({
130
- fromPubkey: tokenOwner,
131
- newAccountPubkey: destinationStakeAccount,
132
- lamports: constants_1.STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT,
133
- space: web3_js_1.StakeProgram.space,
134
- programId: web3_js_1.StakeProgram.programId,
135
- }),
136
- spl_stake_pool_1.StakePoolInstruction.withdrawStake({
137
- stakePool: stakePoolAddress,
138
- validatorList: validatorList,
139
- validatorStake: validatorAddress,
140
- destinationStake: destinationStakeAccount,
141
- destinationStakeAuthority: tokenOwner,
142
- sourceTransferAuthority: transferAuthority,
143
- sourcePoolAccount: poolTokenAccount,
144
- managerFeeAccount: managerFeeAccount,
145
- poolMint: poolMint,
146
- poolTokens: Number(poolAmount),
147
- withdrawAuthority,
148
- }),
149
- ...web3_js_1.StakeProgram.deactivate({
150
- stakePubkey: destinationStakeAccount,
151
- authorizedPubkey: tokenOwner,
152
- }).instructions,
153
- ];
154
- }
155
- /**
156
- * Construct Solana withdrawStake stake pool parameters from instruction.
157
- *
158
- * @param {TransactionInstruction} instruction
159
- * @returns {DepositSolParams}
160
- */
161
- function decodeWithdrawStake(instruction) {
162
- const { programId, keys, data } = instruction;
163
- (0, assert_1.default)(programId.equals(spl_stake_pool_1.STAKE_POOL_PROGRAM_ID), 'Invalid WithdrawStake instruction, program ID must be the Stake Pool Program');
164
- const layoutCode = data.readUint8(0);
165
- (0, assert_1.default)(layoutCode === exports.WITHDRAW_STAKE_LAYOUT_CODE, 'Incorrect layout code in WithdrawStake data');
166
- (0, assert_1.default)(data.length === 9, 'Incorrect data size for WithdrawStake layout');
167
- const poolTokens = data.readBigInt64LE(1);
168
- let i = 0;
169
- const stakePool = parseKey(keys[i++], { isSigner: false, isWritable: true });
170
- const validatorList = parseKey(keys[i++], { isSigner: false, isWritable: true });
171
- const withdrawAuthority = parseKey(keys[i++], { isSigner: false, isWritable: false });
172
- const validatorStake = parseKey(keys[i++], { isSigner: false, isWritable: true });
173
- const destinationStake = keys[i++].pubkey;
174
- const destinationStakeAuthority = keys[i++].pubkey;
175
- const sourceTransferAuthority = parseKey(keys[i++], { isSigner: true, isWritable: false });
176
- const sourcePoolAccount = parseKey(keys[i++], { isSigner: false, isWritable: true });
177
- const managerFeeAccount = parseKey(keys[i++], { isSigner: false, isWritable: true });
178
- const poolMint = parseKey(keys[i++], { isSigner: false, isWritable: true });
179
- const sysvarClockPubkey = parseKey(keys[i++], { isSigner: false, isWritable: false });
180
- (0, assert_1.default)(sysvarClockPubkey.equals(web3_js_1.SYSVAR_CLOCK_PUBKEY), 'Unexpected pubkey in WithdrawStake instruction');
181
- const tokenProgramId = parseKey(keys[i++], { isSigner: false, isWritable: false });
182
- (0, assert_1.default)(tokenProgramId.equals(spl_token_1.TOKEN_PROGRAM_ID), 'Unexpected pubkey in WithdrawStake instruction');
183
- const stakeProgramProgramId = parseKey(keys[i++], { isSigner: false, isWritable: false });
184
- (0, assert_1.default)(stakeProgramProgramId.equals(web3_js_1.StakeProgram.programId), 'Unexpected pubkey in WithdrawStake instruction');
185
- (0, assert_1.default)(i === keys.length, 'Too many keys in WithdrawStake instruction');
186
- return {
187
- stakePool,
188
- validatorList,
189
- withdrawAuthority,
190
- validatorStake,
191
- destinationStake,
192
- destinationStakeAuthority,
193
- sourceTransferAuthority,
194
- sourcePoolAccount,
195
- managerFeeAccount,
196
- poolMint,
197
- poolTokens: Number(poolTokens),
198
- };
199
- }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaml0b1N0YWtlUG9vbE9wZXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ppdG9TdGFrZVBvb2xPcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7Ozs7OztBQXVGSCwwRkFNQztBQWtCRCx3REFtQ0M7QUFnQkQsNENBeUNDO0FBb0JELDhEQWlEQztBQVFELGtEQTZDQztBQW5VRCwyREFLZ0M7QUFDaEMsaURBSzJCO0FBQzNCLDZDQU95QjtBQUN6QixvREFBNEI7QUFDNUIsMkNBQStEO0FBc0RsRCxRQUFBLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUM3QixRQUFBLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUU3Qzs7Ozs7O0dBTUc7QUFDSCxTQUFnQix1Q0FBdUMsQ0FBQyxTQUFvQixFQUFFLGdCQUEyQjtJQUN2RyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxtQkFBUyxDQUFDLHNCQUFzQixDQUMxRCxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDdEQsU0FBUyxDQUNWLENBQUM7SUFDRixPQUFPLGlCQUFpQixDQUFDO0FBQzNCLENBQUM7QUFVRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLE1BQW9DLEVBQ3BDLFNBQWtDLEVBQ2xDLDRCQUFxQztJQUVyQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLG1CQUFTLENBQUMsU0FBUyxDQUFD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cUIsQ0FBQyxNQUFNLENBQUMsc0JBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxnREFBZ0QsQ0FBQyxDQUFDO0lBQy9HLElBQUEsZ0JBQU0sRUFBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO0lBRXhFLE9BQU87UUFDTCxTQUFTO1FBQ1QsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7S0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEltcGxlbWVudGF0aW9uIG9mIHRoZSBkZXBvc2l0U29sIGluc3RydWN0aW9uLiBPbiB1cGdyYWRlIG9mXG4gKiAnQHNvbGFuYS9zcGwtdG9rZW4nLCB0aGlzIG1vZHVsZSBtYXkgbm8gbG9uZ2VyIGJlIG5lY2Vzc2FyeS5cbiAqL1xuXG5pbXBvcnQge1xuICBTdGFrZVBvb2xJbnN0cnVjdGlvbixcbiAgU1RBS0VfUE9PTF9QUk9HUkFNX0lELFxuICBEZXBvc2l0U29sUGFyYW1zLFxuICBXaXRoZHJhd1N0YWtlUGFyYW1zLFxufSBmcm9tICdAc29sYW5hL3NwbC1zdGFrZS1wb29sJztcbmltcG9ydCB7XG4gIGNyZWF0ZUFwcHJvdmVJbnN0cnVjdGlvbixcbiAgY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudEluc3RydWN0aW9uLFxuICBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyxcbiAgVE9LRU5fUFJPR1JBTV9JRCxcbn0gZnJvbSAnQHNvbGFuYS9zcGwtdG9rZW4nO1xuaW1wb3J0IHtcbiAgQWNjb3VudE1ldGEsXG4gIFB1YmxpY0tleSxcbiAgU3Rha2VQcm9ncmFtLFxuICBTeXN0ZW1Qcm9ncmFtLFxuICBTWVNWQVJfQ0xPQ0tfUFVCS0VZLFxuICBUcmFuc2FjdGlvbkluc3RydWN0aW9uLFxufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgU1RBS0VfQUNDT1VOVF9SRU5UX0VYRU1QVF9BTU9VTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogUmVwbGljYXRlcyB0aGUgZmllbGRzIGluIEBzb2xhbmEvc3BsLXN0YWtlLXBvb2wgRmVlLlxuICpcbiAqIEBzZWUge0ZlZX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWUge1xuICBkZW5vbWluYXRvcjogc3RyaW5nO1xuICBudW1lcmF0b3I6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXBsaWNhdGVzIHRoZSBmaWVsZHMgaW4gQHNvbGFuYS9zcGwtc3Rha2UtcG9vbCBTdGFrZVBvb2xMYXlvdXQuXG4gKlxuICogQHNlZSB7U3Rha2VQb29sTGF5b3V0fVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtlUG9vbERhdGEge1xuICBhY2NvdW50VHlwZTogbnVtYmVyO1xuICBtYW5hZ2VyOiBzdHJpbmc7XG4gIHN0YWtlcjogc3RyaW5nO1xuICBzdGFrZURlcG9zaXRBdXRob3JpdHk6IHN0cmluZztcbiAgc3Rha2VXaXRoZHJhd0J1bXBTZWVkOiBudW1iZXI7XG4gIHZhbGlkYXRvckxpc3RBY2NvdW50OiBzdHJpbmc7XG4gIHJlc2VydmVTdGFrZTogc3RyaW5nO1xuICBwb29sTWludDogc3RyaW5nO1xuICBtYW5hZ2VyRmVlQWNjb3VudDogc3RyaW5nO1xuICB0b2tlblByb2dyYW1JZDogc3RyaW5nO1xuICB0b3RhbExhbXBvcnRzOiBzdHJpbmc7XG4gIHBvb2xUb2tlblN1cHBseTogc3RyaW5nO1xuICBsYXN0VXBkYXRlRXBvY2g6IHN0cmluZztcbiAgbG9ja3VwOiB7XG4gICAgdW5peFRpbWVzdGFtcDogc3RyaW5nO1xuICAgIGVwb2NoOiBzdHJpbmc7XG4gICAgY3VzdG9kaWFuOiBzdHJpbmc7XG4gIH07XG4gIGVwb2NoRmVlOiBGZWU7XG4gIG5leHRFcG9jaEZlZT86IEZlZSB8IHVuZGVmaW5lZDtcbiAgcHJlZmVycmVkRGVwb3NpdFZhbGlkYXRvclZvdGVBZGRyZXNzPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwcmVmZXJyZWRXaXRoZHJhd1ZhbGlkYXRvclZvdGVBZGRyZXNzPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBzdGFrZURlcG9zaXRGZWU6IEZlZTtcbiAgc3Rha2VXaXRoZHJhd2FsRmVlOiBGZWU7XG4gIG5leHRTdGFrZVdpdGhkcmF3YWxGZWU/OiBGZWUgfCB1bmRlZmluZWQ7XG4gIHN0YWtlUmVmZXJyYWxGZWU6IG51bWJlcjtcbiAgc29sRGVwb3NpdEF1dGhvcml0eT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc29sRGVwb3NpdEZlZTogRmVlO1xuICBzb2xSZWZlcnJhbEZlZTogbnVtYmVyO1xuICBzb2xXaXRoZHJhd0F1dGhvcml0eT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc29sV2l0aGRyYXdhbEZlZTogRmVlO1xuICBuZXh0U29sV2l0aGRyYXdhbEZlZT86IEZlZSB8IHVuZGVmaW5lZDtcbiAgbGFzdEVwb2NoUG9vbFRva2VuU3VwcGx5OiBzdHJpbmc7XG4gIGxhc3RFcG9jaFRvdGFsTGFtcG9ydHM6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IERFUE9TSVRfU09MX0xBWU9VVF9DT0RFID0gMTQ7XG5leHBvcnQgY29uc3QgV0lUSERSQVdfU1RBS0VfTEFZT1VUX0NPREUgPSAxMDtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHdpdGhkcmF3IGF1dGhvcml0eSBwcm9ncmFtIGFkZHJlc3MgZm9yIHRoZSBzdGFrZSBwb29sLlxuICogTGlrZSBmaW5kV2l0aGRyYXdBdXRob3JpdHlQcm9ncmFtQWRkcmVzcyBpbiBAc29sYW5hL3NwbC1zdGFrZS1wb29sLFxuICogYnV0IHN5bmNocm9ub3VzLlxuICpcbiAqIEBzZWUge2ZpbmRXaXRoZHJhd0F1dGhvcml0eVByb2dyYW1BZGRyZXNzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFdpdGhkcmF3QXV0aG9yaXR5UHJvZ3JhbUFkZHJlc3NTeW5jKHByb2dyYW1JZDogUHVibGljS2V5LCBzdGFrZVBvb2xBZGRyZXNzOiBQdWJsaWNLZXkpOiBQdWJsaWNLZXkge1xuICBjb25zdCBbd2l0aGRyYXdBdXRob3JpdHldID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgW3N0YWtlUG9vbEFkZHJlc3MudG9CdWZmZXIoKSwgQnVmZmVyLmZyb20oJ3dpdGhkcmF3JyldLFxuICAgIHByb2dyYW1JZFxuICApO1xuICByZXR1cm4gd2l0aGRyYXdBdXRob3JpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwb3NpdFNvbEluc3RydWN0aW9uc1BhcmFtcyB7XG4gIHN0YWtlUG9vbEFkZHJlc3M6IFB1YmxpY0tleTtcbiAgZnJvbTogUHVibGljS2V5O1xuICBsYW1wb3J0czogYmlnaW50O1xufVxuXG5leHBvcnQgdHlwZSBEZXBvc2l0U29sU3Rha2VQb29sRGF0YSA9IFBpY2s8U3Rha2VQb29sRGF0YSwgJ3Bvb2xNaW50JyB8ICdyZXNlcnZlU3Rha2UnIHwgJ21hbmFnZXJGZWVBY2NvdW50Jz47XG5cbi8qKlxuICogQ29uc3RydWN0IFNvbGFuYSBkZXBvc2l0U29sIHN0YWtlIHBvb2wgaW5zdHJ1Y3Rpb24gZnJvbSBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSB7RGVwb3NpdFNvbEluc3RydWN0aW9uc1BhcmFtc30gcGFyYW1zIC0gcGFyYW1ldGVycyBmb3Igc3Rha2luZyB0byBzdGFrZSBwb29sXG4gKiBAcGFyYW0ge0RlcG9zaXRTb2xTdGFrZVBvb2xEYXRhfSBzdGFrZVBvb2wgLSBkYXRhIGZyb20gZ2V0U3Rha2VQb29sQWNjb3VudCBuZWVkZWQgZm9yIERlcG9zaXRTb2xcbiAqIEBwYXJhbSBjcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50XG4gKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25JbnN0cnVjdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcG9zaXRTb2xJbnN0cnVjdGlvbnMoXG4gIHBhcmFtczogRGVwb3NpdFNvbEluc3RydWN0aW9uc1BhcmFtcyxcbiAgc3Rha2VQb29sOiBEZXBvc2l0U29sU3Rha2VQb29sRGF0YSxcbiAgY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudDogYm9vbGVhblxuKTogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdIHtcbiAgY29uc3QgeyBzdGFrZVBvb2xBZGRyZXNzLCBmcm9tLCBsYW1wb3J0cyB9ID0gcGFyYW1zO1xuICBjb25zdCBwb29sTWludCA9IG5ldyBQdWJsaWNLZXkoc3Rha2VQb29sLnBvb2xNaW50KTtcbiAgY29uc3QgcmVzZXJ2ZVN0YWtlID0gbmV3IFB1YmxpY0tleShzdGFrZVBvb2wucmVzZXJ2ZVN0YWtlKTtcbiAgY29uc3QgbWFuYWdlckZlZUFjY291bnQgPSBuZXcgUHVibGljS2V5KHN0YWtlUG9vbC5tYW5hZ2VyRmVlQWNjb3VudCk7XG5cbiAgLy8gZmluZFdpdGhkcmF3QXV0aG9yaXR5UHJvZ3JhbUFkZHJlc3NcbiAgY29uc3Qgd2l0aGRyYXdBdXRob3JpdHkgPSBmaW5kV2l0aGRyYXdBdXRob3JpdHlQcm9ncmFtQWRkcmVzc1N5bmMoU1RBS0VfUE9PTF9QUk9HUkFNX0lELCBzdGFrZVBvb2xBZGRyZXNzKTtcbiAgY29uc3QgYXNzb2NpYXRlZEFkZHJlc3MgPSBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyhwb29sTWludCwgZnJvbSk7XG5cbiAgY29uc3QgaW5zdHJ1Y3Rpb25zOiBUcmFuc2FjdGlvbkluc3RydWN0aW9uW10gPSBbXTtcblxuICBpZiAoY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCkge1xuICAgIGluc3RydWN0aW9ucy5wdXNoKGNyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnRJbnN0cnVjdGlvbihmcm9tLCBhc3NvY2lhdGVkQWRkcmVzcywgZnJvbSwgcG9vbE1pbnQpKTtcbiAgfVxuXG4gIGluc3RydWN0aW9ucy5wdXNoKFxuICAgIFN0YWtlUG9vbEluc3RydWN0aW9uLmRlcG9zaXRTb2woe1xuICAgICAgc3Rha2VQb29sOiBzdGFrZVBvb2xBZGRyZXNzLFxuICAgICAgcmVzZXJ2ZVN0YWtlLFxuICAgICAgZnVuZGluZ0FjY291bnQ6IGZyb20sXG4gICAgICBkZXN0aW5hdGlvblBvb2xBY2NvdW50OiBhc3NvY2lhdGVkQWRkcmVzcyxcbiAgICAgIG1hbmFnZXJGZWVBY2NvdW50LFxuICAgICAgcmVmZXJyYWxQb29sQWNjb3VudDogYXNzb2NpYXRlZEFkZHJlc3MsXG4gICAgICBwb29sTWludCxcbiAgICAgIGxhbXBvcnRzOiBOdW1iZXIobGFtcG9ydHMpLFxuICAgICAgd2l0aGRyYXdBdXRob3JpdHksXG4gICAgfSlcbiAgKTtcblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25zO1xufVxuXG5mdW5jdGlvbiBwYXJzZUtleShrZXk6IEFjY291bnRNZXRhLCB0ZW1wbGF0ZTogeyBpc1NpZ25lcjogYm9vbGVhbjsgaXNXcml0YWJsZTogYm9vbGVhbiB9KTogUHVibGljS2V5IHtcbiAgYXNzZXJ0KFxuICAgIGtleS5pc1NpZ25lciA9PT0gdGVtcGxhdGUuaXNTaWduZXIgJiYga2V5LmlzV3JpdGFibGUgPT09IHRlbXBsYXRlLmlzV3JpdGFibGUsXG4gICAgYFVuZXhwZWN0ZWQga2V5IG1ldGFkYXRhIGluIGluc3RydWN0aW9uOiB7IGlzU2lnbmVyOiAke2tleS5pc1NpZ25lcn0sIGlzV3JpdGFibGU6ICR7a2V5LmlzV3JpdGFibGV9IH1gXG4gICk7XG4gIHJldHVybiBrZXkucHVia2V5O1xufVxuXG4vKipcbiAqIENvbnN0cnVjdCBTb2xhbmEgZGVwb3NpdFNvbCBzdGFrZSBwb29sIHBhcmFtZXRlcnMgZnJvbSBpbnN0cnVjdGlvbi5cbiAqXG4gKiBAcGFyYW0ge1RyYW5zYWN0aW9uSW5zdHJ1Y3Rpb259IGluc3RydWN0aW9uXG4gKiBAcmV0dXJucyB7RGVwb3NpdFNvbFBhcmFtc31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZURlcG9zaXRTb2woaW5zdHJ1Y3Rpb246IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24pOiBEZXBvc2l0U29sUGFyYW1zIHtcbiAgY29uc3QgeyBwcm9ncmFtSWQsIGtleXMsIGRhdGEgfSA9IGluc3RydWN0aW9uO1xuXG4gIGFzc2VydChcbiAgICBwcm9ncmFtSWQuZXF1YWxzKFNUQUtFX1BPT0xfUFJPR1JBTV9JRCksXG4gICAgJ0ludmFsaWQgRGVwb3NpdFNvbCBpbnN0cnVjdGlvbiwgcHJvZ3JhbSBJRCBtdXN0IGJlIHRoZSBTdGFrZSBQb29sIFByb2dyYW0nXG4gICk7XG5cbiAgbGV0IGkgPSAwO1xuICBjb25zdCBzdGFrZVBvb2wgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0pO1xuICBjb25zdCB3aXRoZHJhd0F1dGhvcml0eSA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBjb25zdCByZXNlcnZlU3Rha2UgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0pO1xuICBjb25zdCBmdW5kaW5nQWNjb3VudCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgZGVzdGluYXRpb25Qb29sQWNjb3VudCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSk7XG4gIGNvbnN0IG1hbmFnZXJGZWVBY2NvdW50ID0gcGFyc2VLZXkoa2V5c1tpKytdLCB7IGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgcmVmZXJyYWxQb29sQWNjb3VudCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSk7XG4gIGNvbnN0IHBvb2xNaW50ID0gcGFyc2VLZXkoa2V5c1tpKytdLCB7IGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9KTtcbiAgY29uc3Qgc3lzdGVtUHJvZ3JhbVByb2dyYW1JZCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBhc3NlcnQoc3lzdGVtUHJvZ3JhbVByb2dyYW1JZC5lcXVhbHMoU3lzdGVtUHJvZ3JhbS5wcm9ncmFtSWQpLCAnVW5leHBlY3RlZCBwdWJrZXkgaW4gRGVwb3NpdFNvbCBpbnN0cnVjdGlvbicpO1xuICBjb25zdCB0b2tlblByb2dyYW1JZCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBhc3NlcnQodG9rZW5Qcm9ncmFtSWQuZXF1YWxzKFRPS0VOX1BST0dSQU1fSUQpLCAnVW5leHBlY3RlZCBwdWJrZXkgaW4gRGVwb3NpdFNvbCBpbnN0cnVjdGlvbicpO1xuICBjb25zdCBkZXBvc2l0QXV0aG9yaXR5ID0ga2V5cy5sZW5ndGggPiAxMCA/IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogdHJ1ZSwgaXNXcml0YWJsZTogZmFsc2UgfSkgOiB1bmRlZmluZWQ7XG4gIGFzc2VydChrZXlzLmxlbmd0aCA8PSAxMSwgJ1RvbyBtYW55IGtleXMgaW4gRGVwb3NpdFNvbCBpbnN0cnVjdGlvbicpO1xuXG4gIGNvbnN0IGxheW91dENvZGUgPSBkYXRhLnJlYWRVaW50OCgwKTtcbiAgYXNzZXJ0KGxheW91dENvZGUgPT09IERFUE9TSVRfU09MX0xBWU9VVF9DT0RFLCAnSW5jb3JyZWN0IGxheW91dCBjb2RlIGluIERlcG9zaXRTb2wgZGF0YScpO1xuICBhc3NlcnQoZGF0YS5sZW5ndGggPT09IDksICdJbmNvcnJlY3QgZGF0YSBzaXplIGZvciBEZXBvc2l0U29sIGxheW91dCcpO1xuICBjb25zdCBsYW1wb3J0cyA9IGRhdGEucmVhZEJpZ0ludDY0TEUoMSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFrZVBvb2wsXG4gICAgZGVwb3NpdEF1dGhvcml0eSxcbiAgICB3aXRoZHJhd0F1dGhvcml0eSxcbiAgICByZXNlcnZlU3Rha2UsXG4gICAgZnVuZGluZ0FjY291bnQsXG4gICAgZGVzdGluYXRpb25Qb29sQWNjb3VudCxcbiAgICBtYW5hZ2VyRmVlQWNjb3VudCxcbiAgICByZWZlcnJhbFBvb2xBY2NvdW50LFxuICAgIHBvb2xNaW50LFxuICAgIGxhbXBvcnRzOiBOdW1iZXIobGFtcG9ydHMpLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhkcmF3U3Rha2VJbnN0cnVjdGlvbnNQYXJhbXMge1xuICBzdGFrZVBvb2xBZGRyZXNzOiBQdWJsaWNLZXk7XG4gIHRva2VuT3duZXI6IFB1YmxpY0tleTtcbiAgZGVzdGluYXRpb25TdGFrZUFjY291bnQ6IFB1YmxpY0tleTtcbiAgdmFsaWRhdG9yQWRkcmVzczogUHVibGljS2V5O1xuICB0cmFuc2ZlckF1dGhvcml0eTogUHVibGljS2V5O1xuICBwb29sQW1vdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFdpdGhkcmF3U3Rha2VTdGFrZVBvb2xEYXRhID0gUGljazxTdGFrZVBvb2xEYXRhLCAncG9vbE1pbnQnIHwgJ3ZhbGlkYXRvckxpc3RBY2NvdW50JyB8ICdtYW5hZ2VyRmVlQWNjb3VudCc+O1xuXG4vKipcbiAqIENvbnN0cnVjdCBTb2xhbmEgd2l0aGRyYXdTdGFrZSBzdGFrZSBwb29sIGluc3RydWN0aW9ucyBmcm9tIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIHtXaXRoZHJhd1N0YWtlSW5zdHJ1Y3Rpb25zUGFyYW1zfSBwYXJhbXMgLSBwYXJhbWV0ZXJzIGZvciB1bnN0YWtpbmcgZnJvbSBzdGFrZSBwb29sXG4gKiBAcGFyYW0ge1dpdGhkcmF3U3Rha2VTdGFrZVBvb2xEYXRhfSBzdGFrZVBvb2wgLSBkYXRhIGZyb20gZ2V0U3Rha2VQb29sQWNjb3VudCBuZWVkZWQgZm9yIFdpdGhkcmF3U3Rha2VcbiAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoZHJhd1N0YWtlSW5zdHJ1Y3Rpb25zKFxuICBwYXJhbXM6IFdpdGhkcmF3U3Rha2VJbnN0cnVjdGlvbnNQYXJhbXMsXG4gIHN0YWtlUG9vbDogV2l0aGRyYXdTdGFrZVN0YWtlUG9vbERhdGFcbik6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSB7XG4gIGNvbnN0IHtcbiAgICB0b2tlbk93bmVyLFxuICAgIHN0YWtlUG9vbEFkZHJlc3MsXG4gICAgZGVzdGluYXRpb25TdGFrZUFjY291bnQsXG4gICAgdmFsaWRhdG9yQWRkcmVzcyxcbiAgICB0cmFuc2ZlckF1dGhvcml0eSxcbiAgICBwb29sQW1vdW50OiBwb29sQW1vdW50U3RyaW5nLFxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHBvb2xNaW50ID0gbmV3IFB1YmxpY0tleShzdGFrZVBvb2wucG9vbE1pbnQpO1xuICBjb25zdCB2YWxpZGF0b3JMaXN0ID0gbmV3IFB1YmxpY0tleShzdGFrZVBvb2wudmFsaWRhdG9yTGlzdEFjY291bnQpO1xuICBjb25zdCBtYW5hZ2VyRmVlQWNjb3VudCA9IG5ldyBQdWJsaWNLZXkoc3Rha2VQb29sLm1hbmFnZXJGZWVBY2NvdW50KTtcblxuICBjb25zdCBwb29sVG9rZW5BY2NvdW50ID0gZ2V0QXNzb2NpYXRlZFRva2VuQWRkcmVzc1N5bmMocG9vbE1pbnQsIHRva2VuT3duZXIpO1xuICBjb25zdCB3aXRoZHJhd0F1dGhvcml0eSA9IGZpbmRXaXRoZHJhd0F1dGhvcml0eVByb2dyYW1BZGRyZXNzU3luYyhTVEFLRV9QT09MX1BST0dSQU1fSUQsIHN0YWtlUG9vbEFkZHJlc3MpO1xuXG4gIGNvbnN0IHBvb2xBbW91bnQgPSBCaWdJbnQocG9vbEFtb3VudFN0cmluZyk7XG5cbiAgcmV0dXJuIFtcbiAgICBjcmVhdGVBcHByb3ZlSW5zdHJ1Y3Rpb24ocG9vbFRva2VuQWNjb3VudCwgdHJhbnNmZXJBdXRob3JpdHksIHRva2VuT3duZXIsIHBvb2xBbW91bnQpLFxuICAgIFN5c3RlbVByb2dyYW0uY3JlYXRlQWNjb3VudCh7XG4gICAgICBmcm9tUHVia2V5OiB0b2tlbk93bmVyLFxuICAgICAgbmV3QWNjb3VudFB1YmtleTogZGVzdGluYXRpb25TdGFrZUFjY291bnQsXG4gICAgICBsYW1wb3J0czogU1RBS0VfQUNDT1VOVF9SRU5UX0VYRU1QVF9BTU9VTlQsXG4gICAgICBzcGFjZTogU3Rha2VQcm9ncmFtLnNwYWNlLFxuICAgICAgcHJvZ3JhbUlkOiBTdGFrZVByb2dyYW0ucHJvZ3JhbUlkLFxuICAgIH0pLFxuICAgIFN0YWtlUG9vbEluc3RydWN0aW9uLndpdGhkcmF3U3Rha2Uoe1xuICAgICAgc3Rha2VQb29sOiBzdGFrZVBvb2xBZGRyZXNzLFxuICAgICAgdmFsaWRhdG9yTGlzdDogdmFsaWRhdG9yTGlzdCxcbiAgICAgIHZhbGlkYXRvclN0YWtlOiB2YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgZGVzdGluYXRpb25TdGFrZTogZGVzdGluYXRpb25TdGFrZUFjY291bnQsXG4gICAgICBkZXN0aW5hdGlvblN0YWtlQXV0aG9yaXR5OiB0b2tlbk93bmVyLFxuICAgICAgc291cmNlVHJhbnNmZXJBdXRob3JpdHk6IHRyYW5zZmVyQXV0aG9yaXR5LFxuICAgICAgc291cmNlUG9vbEFjY291bnQ6IHBvb2xUb2tlbkFjY291bnQsXG4gICAgICBtYW5hZ2VyRmVlQWNjb3VudDogbWFuYWdlckZlZUFjY291bnQsXG4gICAgICBwb29sTWludDogcG9vbE1pbnQsXG4gICAgICBwb29sVG9rZW5zOiBOdW1iZXIocG9vbEFtb3VudCksXG4gICAgICB3aXRoZHJhd0F1dGhvcml0eSxcbiAgICB9KSxcbiAgICAuLi5TdGFrZVByb2dyYW0uZGVhY3RpdmF0ZSh7XG4gICAgICBzdGFrZVB1YmtleTogZGVzdGluYXRpb25TdGFrZUFjY291bnQsXG4gICAgICBhdXRob3JpemVkUHVia2V5OiB0b2tlbk93bmVyLFxuICAgIH0pLmluc3RydWN0aW9ucyxcbiAgXTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgU29sYW5hIHdpdGhkcmF3U3Rha2Ugc3Rha2UgcG9vbCBwYXJhbWV0ZXJzIGZyb20gaW5zdHJ1Y3Rpb24uXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9ufSBpbnN0cnVjdGlvblxuICogQHJldHVybnMge0RlcG9zaXRTb2xQYXJhbXN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVXaXRoZHJhd1N0YWtlKGluc3RydWN0aW9uOiBUcmFuc2FjdGlvbkluc3RydWN0aW9uKTogV2l0aGRyYXdTdGFrZVBhcmFtcyB7XG4gIGNvbnN0IHsgcHJvZ3JhbUlkLCBrZXlzLCBkYXRhIH0gPSBpbnN0cnVjdGlvbjtcblxuICBhc3NlcnQoXG4gICAgcHJvZ3JhbUlkLmVxdWFscyhTVEFLRV9QT09MX1BST0dSQU1fSUQpLFxuICAgICdJbnZhbGlkIFdpdGhkcmF3U3Rha2UgaW5zdHJ1Y3Rpb24sIHByb2dyYW0gSUQgbXVzdCBiZSB0aGUgU3Rha2UgUG9vbCBQcm9ncmFtJ1xuICApO1xuXG4gIGNvbnN0IGxheW91dENvZGUgPSBkYXRhLnJlYWRVaW50OCgwKTtcbiAgYXNzZXJ0KGxheW91dENvZGUgPT09IFdJVEhEUkFXX1NUQUtFX0xBWU9VVF9DT0RFLCAnSW5jb3JyZWN0IGxheW91dCBjb2RlIGluIFdpdGhkcmF3U3Rha2UgZGF0YScpO1xuICBhc3NlcnQoZGF0YS5sZW5ndGggPT09IDksICdJbmNvcnJlY3QgZGF0YSBzaXplIGZvciBXaXRoZHJhd1N0YWtlIGxheW91dCcpO1xuICBjb25zdCBwb29sVG9rZW5zID0gZGF0YS5yZWFkQmlnSW50NjRMRSgxKTtcblxuICBsZXQgaSA9IDA7XG4gIGNvbnN0IHN0YWtlUG9vbCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSk7XG4gIGNvbnN0IHZhbGlkYXRvckxpc3QgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0pO1xuICBjb25zdCB3aXRoZHJhd0F1dGhvcml0eSA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBjb25zdCB2YWxpZGF0b3JTdGFrZSA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSk7XG4gIGNvbnN0IGRlc3RpbmF0aW9uU3Rha2UgPSBrZXlzW2krK10ucHVia2V5O1xuICBjb25zdCBkZXN0aW5hdGlvblN0YWtlQXV0aG9yaXR5ID0ga2V5c1tpKytdLnB1YmtleTtcbiAgY29uc3Qgc291cmNlVHJhbnNmZXJBdXRob3JpdHkgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IHRydWUsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBjb25zdCBzb3VyY2VQb29sQWNjb3VudCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IHRydWUgfSk7XG4gIGNvbnN0IG1hbmFnZXJGZWVBY2NvdW50ID0gcGFyc2VLZXkoa2V5c1tpKytdLCB7IGlzU2lnbmVyOiBmYWxzZSwgaXNXcml0YWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgcG9vbE1pbnQgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiB0cnVlIH0pO1xuICBjb25zdCBzeXN2YXJDbG9ja1B1YmtleSA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBhc3NlcnQoc3lzdmFyQ2xvY2tQdWJrZXkuZXF1YWxzKFNZU1ZBUl9DTE9DS19QVUJLRVkpLCAnVW5leHBlY3RlZCBwdWJrZXkgaW4gV2l0aGRyYXdTdGFrZSBpbnN0cnVjdGlvbicpO1xuICBjb25zdCB0b2tlblByb2dyYW1JZCA9IHBhcnNlS2V5KGtleXNbaSsrXSwgeyBpc1NpZ25lcjogZmFsc2UsIGlzV3JpdGFibGU6IGZhbHNlIH0pO1xuICBhc3NlcnQodG9rZW5Qcm9ncmFtSWQuZXF1YWxzKFRPS0VOX1BST0dSQU1fSUQpLCAnVW5leHBlY3RlZCBwdWJrZXkgaW4gV2l0aGRyYXdTdGFrZSBpbnN0cnVjdGlvbicpO1xuICBjb25zdCBzdGFrZVByb2dyYW1Qcm9ncmFtSWQgPSBwYXJzZUtleShrZXlzW2krK10sIHsgaXNTaWduZXI6IGZhbHNlLCBpc1dyaXRhYmxlOiBmYWxzZSB9KTtcbiAgYXNzZXJ0KHN0YWtlUHJvZ3JhbVByb2dyYW1JZC5lcXVhbHMoU3Rha2VQcm9ncmFtLnByb2dyYW1JZCksICdVbmV4cGVjdGVkIHB1YmtleSBpbiBXaXRoZHJhd1N0YWtlIGluc3RydWN0aW9uJyk7XG4gIGFzc2VydChpID09PSBrZXlzLmxlbmd0aCwgJ1RvbyBtYW55IGtleXMgaW4gV2l0aGRyYXdTdGFrZSBpbnN0cnVjdGlvbicpO1xuXG4gIHJldHVybiB7XG4gICAgc3Rha2VQb29sLFxuICAgIHZhbGlkYXRvckxpc3QsXG4gICAgd2l0aGRyYXdBdXRob3JpdHksXG4gICAgdmFsaWRhdG9yU3Rha2UsXG4gICAgZGVzdGluYXRpb25TdGFrZSxcbiAgICBkZXN0aW5hdGlvblN0YWtlQXV0aG9yaXR5LFxuICAgIHNvdXJjZVRyYW5zZmVyQXV0aG9yaXR5LFxuICAgIHNvdXJjZVBvb2xBY2NvdW50LFxuICAgIG1hbmFnZXJGZWVBY2NvdW50LFxuICAgIHBvb2xNaW50LFxuICAgIHBvb2xUb2tlbnM6IE51bWJlcihwb29sVG9rZW5zKSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyPair = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
- const utils_1 = require("./utils");
7
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
8
- /**
9
- * Public constructor. By default, creates a key pair with a random master seed.
10
- *
11
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
12
- */
13
- constructor(source) {
14
- super(source);
15
- }
16
- /** @inheritdoc */
17
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
18
- const prvKey = (0, utils_1.base58ToUint8Array)(prv);
19
- const keyPair = web3_js_1.Keypair.fromSecretKey(prvKey);
20
- return {
21
- pub: keyPair.publicKey.toBuffer().toString('hex'),
22
- prv: Buffer.from(keyPair.secretKey.slice(0, 32)).toString('hex'),
23
- };
24
- }
25
- /** @inheritdoc */
26
- recordKeysFromPublicKeyInProtocolFormat(pub) {
27
- return {
28
- pub: Buffer.from((0, utils_1.base58ToUint8Array)(pub)).toString('hex'),
29
- };
30
- }
31
- /**
32
- * Solana default keys format public key as a base58 string and secret key as Uint8Array
33
- *
34
- * @param {boolean} raw defines if the prv key is returned in Uint8Array, default is base58
35
- * @returns {SolanaKeys} The keys in the defined format
36
- */
37
- getKeys(raw = false) {
38
- // keys are originally created in hex, but we need base58
39
- const publicKeyBuffer = Buffer.from(this.keyPair.pub, 'hex');
40
- const base58Pub = (0, utils_1.Uint8ArrayTobase58)(publicKeyBuffer);
41
- const result = { pub: base58Pub };
42
- if (!!this.keyPair.prv) {
43
- const secretKeyBuffer = Buffer.from(this.keyPair.prv, 'hex');
44
- const solanaSecretKey = new Uint8Array(64);
45
- solanaSecretKey.set(secretKeyBuffer);
46
- solanaSecretKey.set(publicKeyBuffer, 32);
47
- if (raw) {
48
- result.prv = solanaSecretKey;
49
- }
50
- else {
51
- result.prv = (0, utils_1.Uint8ArrayTobase58)(solanaSecretKey);
52
- }
53
- }
54
- return result;
55
- }
56
- /** @inheritdoc */
57
- getAddress() {
58
- const keys = this.getKeys();
59
- return keys.pub;
60
- }
61
- }
62
- exports.KeyPair = KeyPair;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBd0Q7QUFDeEQsbURBQW1GO0FBRW5GLG1DQUFpRTtBQUVqRSxNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUl6Qzs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsaUJBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakQsT0FBTztZQUNMLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDakQsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELE9BQU87WUFDTCxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFBLDBCQUFrQixFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLEdBQUcsR0FBRyxLQUFLO1FBQ2pCLHlEQUF5RDtRQUN6RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sU0FBUyxHQUFHLElBQUEsMEJBQWtCLEVBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEQsTUFBTSxNQUFNLEdBQWUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN2QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdELE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFekMsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixNQUFNLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQztZQUMvQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFBLDBCQUFrQixFQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUEvREQsMEJBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5cGFpciBhcyBTb2xLZXlwYWlyIH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7IERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucywgRWQyNTUxOUtleVBhaXIgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTb2xhbmFLZXlzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBiYXNlNThUb1VpbnQ4QXJyYXksIFVpbnQ4QXJyYXlUb2Jhc2U1OCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEVkMjU1MTlLZXlQYWlyIHtcbiAgcHJvdGVjdGVkIGtleVBhaXI6IERlZmF1bHRLZXlzO1xuICBwcm90ZWN0ZWQgc291cmNlPzogS2V5UGFpck9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEtleVBhaXJPcHRpb25zIH0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5LCBvciBhIHB1YmxpYyBrZXlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXlJblByb3RvY29sRm9ybWF0KHBydjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHBydktleSA9IGJhc2U1OFRvVWludDhBcnJheShwcnYpO1xuICAgIGNvbnN0IGtleVBhaXIgPSBTb2xLZXlwYWlyLmZyb21TZWNyZXRLZXkocHJ2S2V5KTtcblxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleVBhaXIucHVibGljS2V5LnRvQnVmZmVyKCkudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgcHJ2OiBCdWZmZXIuZnJvbShrZXlQYWlyLnNlY3JldEtleS5zbGljZSgwLCAzMikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5SW5Qcm90b2NvbEZvcm1hdChwdWI6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBCdWZmZXIuZnJvbShiYXNlNThUb1VpbnQ4QXJyYXkocHViKSkudG9TdHJpbmcoJ2hleCcpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU29sYW5hIGRlZmF1bHQga2V5cyBmb3JtYXQgcHVibGljIGtleSBhcyBhIGJhc2U1OCBzdHJpbmcgYW5kIHNlY3JldCBrZXkgYXMgVWludDhBcnJheVxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJhdyBkZWZpbmVzIGlmIHRoZSBwcnYga2V5IGlzIHJldHVybmVkIGluIFVpbnQ4QXJyYXksIGRlZmF1bHQgaXMgYmFzZTU4XG4gICAqIEByZXR1cm5zIHtTb2xhbmFLZXlzfSBUaGUga2V5cyBpbiB0aGUgZGVmaW5lZCBmb3JtYXRcbiAgICovXG4gIGdldEtleXMocmF3ID0gZmFsc2UpOiBTb2xhbmFLZXlzIHtcbiAgICAvLyBrZXlzIGFyZSBvcmlnaW5hbGx5IGNyZWF0ZWQgaW4gaGV4LCBidXQgd2UgbmVlZCBiYXNlNThcbiAgICBjb25zdCBwdWJsaWNLZXlCdWZmZXIgPSBCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHViLCAnaGV4Jyk7XG4gICAgY29uc3QgYmFzZTU4UHViID0gVWludDhBcnJheVRvYmFzZTU4KHB1YmxpY0tleUJ1ZmZlcik7XG5cbiAgICBjb25zdCByZXN1bHQ6IFNvbGFuYUtleXMgPSB7IHB1YjogYmFzZTU4UHViIH07XG4gICAgaWYgKCEhdGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgY29uc3Qgc2VjcmV0S2V5QnVmZmVyID0gQnVmZmVyLmZyb20odGhpcy5rZXlQYWlyLnBydiwgJ2hleCcpO1xuICAgICAgY29uc3Qgc29sYW5hU2VjcmV0S2V5ID0gbmV3IFVpbnQ4QXJyYXkoNjQpO1xuICAgICAgc29sYW5hU2VjcmV0S2V5LnNldChzZWNyZXRLZXlCdWZmZXIpO1xuICAgICAgc29sYW5hU2VjcmV0S2V5LnNldChwdWJsaWNLZXlCdWZmZXIsIDMyKTtcblxuICAgICAgaWYgKHJhdykge1xuICAgICAgICByZXN1bHQucHJ2ID0gc29sYW5hU2VjcmV0S2V5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0LnBydiA9IFVpbnQ4QXJyYXlUb2Jhc2U1OChzb2xhbmFTZWNyZXRLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlzID0gdGhpcy5nZXRLZXlzKCk7XG4gICAgcmV0dXJuIGtleXMucHViO1xuICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"solInstructionFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/solInstructionFactory.ts"],"names":[],"mappings":"AAWA,OAAO,EASL,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAGL,iBAAiB,EAiBlB,MAAM,SAAS,CAAC;AAKjB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,CAyCrG"}