@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,83 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import assert from 'assert';
3
+ import { InstructionBuilderTypes } from './constants';
4
+ import { Transaction } from './transaction';
5
+ import { TransactionBuilder } from './transactionBuilder';
6
+ import { validateAddress } from './utils';
7
+ export class RecoverNestedAtaBuilder extends TransactionBuilder {
8
+ constructor(_coinConfig) {
9
+ super(_coinConfig);
10
+ this._transaction = new Transaction(_coinConfig);
11
+ }
12
+ get transactionType() {
13
+ return TransactionType.CloseAssociatedTokenAccount;
14
+ }
15
+ nestedAccountAddress(nestedAccountAddress) {
16
+ validateAddress(nestedAccountAddress, 'nestedAccountAddress');
17
+ this._nestedAccountAddress = nestedAccountAddress;
18
+ return this;
19
+ }
20
+ nestedMintAddress(nestedMintAddress) {
21
+ validateAddress(nestedMintAddress, 'nestedMintAddress');
22
+ this._nestedMintAddress = nestedMintAddress;
23
+ return this;
24
+ }
25
+ destinationAccountAddress(destinationAccountAddress) {
26
+ validateAddress(destinationAccountAddress, 'destinationAccountAddress');
27
+ this._destinationAccountAddress = destinationAccountAddress;
28
+ return this;
29
+ }
30
+ ownerAccountAddress(ownerAccountAddress) {
31
+ validateAddress(ownerAccountAddress, 'ownerAccountAddress');
32
+ this._ownerAccountAddress = ownerAccountAddress;
33
+ return this;
34
+ }
35
+ ownerMintAddress(ownerMintAddress) {
36
+ validateAddress(ownerMintAddress, 'ownerMintAddress');
37
+ this._ownerMintAddress = ownerMintAddress;
38
+ return this;
39
+ }
40
+ walletAddress(walletAddress) {
41
+ validateAddress(walletAddress, 'walletAddress');
42
+ this._walletAddress = walletAddress;
43
+ return this;
44
+ }
45
+ /** @inheritDoc */
46
+ initBuilder(tx) {
47
+ super.initBuilder(tx);
48
+ for (const instruction of this._instructionsData) {
49
+ if (instruction.type === InstructionBuilderTypes.RecoverNestedAssociatedTokenAccount) {
50
+ const recoverNestedInstruction = instruction;
51
+ this.nestedAccountAddress(recoverNestedInstruction.params.nestedAccountAddress);
52
+ this.nestedMintAddress(recoverNestedInstruction.params.nestedMintAddress);
53
+ this.destinationAccountAddress(recoverNestedInstruction.params.destinationAccountAddress);
54
+ this.ownerAccountAddress(recoverNestedInstruction.params.ownerAccountAddress);
55
+ this.ownerMintAddress(recoverNestedInstruction.params.ownerMintAddress);
56
+ this.walletAddress(recoverNestedInstruction.params.walletAddress);
57
+ }
58
+ }
59
+ }
60
+ /** @inheritdoc */
61
+ async buildImplementation() {
62
+ assert(this._nestedAccountAddress, 'nestedAccountAddress must be set before building the transaction');
63
+ assert(this._nestedMintAddress, 'nestedMintAddress must be set before building the transaction');
64
+ assert(this._destinationAccountAddress, 'destinationAccountAddress must be set before building the transaction');
65
+ assert(this._ownerAccountAddress, 'ownerAccountAddress must be set before building the transaction');
66
+ assert(this._ownerMintAddress, 'ownerMintAddress must be set before building the transaction');
67
+ assert(this._walletAddress, 'walletAddress must be set before building the transaction');
68
+ const recoverNestedData = {
69
+ type: InstructionBuilderTypes.RecoverNestedAssociatedTokenAccount,
70
+ params: {
71
+ nestedAccountAddress: this._nestedAccountAddress,
72
+ nestedMintAddress: this._nestedMintAddress,
73
+ destinationAccountAddress: this._destinationAccountAddress,
74
+ ownerAccountAddress: this._ownerAccountAddress,
75
+ ownerMintAddress: this._ownerMintAddress,
76
+ walletAddress: this._walletAddress,
77
+ },
78
+ };
79
+ this._instructionsData = [recoverNestedData];
80
+ return await super.buildImplementation();
81
+ }
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3Zlck5lc3RlZEF0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlY292ZXJOZXN0ZWRBdGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBUTdELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsb0JBQTRCO1FBQy9DLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxpQkFBeUI7UUFDekMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixDQUFDLHlCQUFp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Z0JBQ3hDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYzthQUNuQztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTdDLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEF0YVJlY292ZXJOZXN0ZWQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyB2YWxpZGF0ZUFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFJlY292ZXJOZXN0ZWRBdGFCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9uZXN0ZWRBY2NvdW50QWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25lc3RlZE1pbnRBZGRyZXNzOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZGVzdGluYXRpb25BY2NvdW50QWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX293bmVyQWNjb3VudEFkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9vd25lck1pbnRBZGRyZXNzOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfd2FsbGV0QWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50O1xuICB9XG5cbiAgbmVzdGVkQWNjb3VudEFkZHJlc3MobmVzdGVkQWNjb3VudEFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhuZXN0ZWRBY2NvdW50QWRkcmVzcywgJ25lc3RlZEFjY291bnRBZGRyZXNzJyk7XG4gICAgdGhpcy5fbmVzdGVkQWNjb3VudEFkZHJlc3MgPSBuZXN0ZWRBY2NvdW50QWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG5lc3RlZE1pbnRBZGRyZXNzKG5lc3RlZE1pbnRBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MobmVzdGVkTWludEFkZHJlc3MsICduZXN0ZWRNaW50QWRkcmVzcycpO1xuICAgIHRoaXMuX25lc3RlZE1pbnRBZGRyZXNzID0gbmVzdGVkTWludEFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzKGRlc3RpbmF0aW9uQWNjb3VudEFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhkZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzLCAnZGVzdGluYXRpb25BY2NvdW50QWRkcmVzcycpO1xuICAgIHRoaXMuX2Rlc3RpbmF0aW9uQWNjb3VudEFkZHJlc3MgPSBkZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgb3duZXJBY2NvdW50QWRkcmVzcyhvd25lckFjY291bnRBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3Mob3duZXJBY2NvdW50QWRkcmVzcywgJ293bmVyQWNjb3VudEFkZHJlc3MnKTtcbiAgICB0aGlzLl9vd25lckFjY291bnRBZGRyZXNzID0gb3duZXJBY2NvdW50QWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG93bmVyTWludEFkZHJlc3Mob3duZXJNaW50QWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdmFsaWRhdGVBZGRyZXNzKG93bmVyTWludEFkZHJlc3MsICdvd25lck1pbnRBZGRyZXNzJyk7XG4gICAgdGhpcy5fb3duZXJNaW50QWRkcmVzcyA9IG93bmVyTWludEFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB3YWxsZXRBZGRyZXNzKHdhbGxldEFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyh3YWxsZXRBZGRyZXNzLCAnd2FsbGV0QWRkcmVzcycpO1xuICAgIHRoaXMuX3dhbGxldEFkZHJlc3MgPSB3YWxsZXRBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5SZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCkge1xuICAgICAgICBjb25zdCByZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb246IEF0YVJlY292ZXJOZXN0ZWQgPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5uZXN0ZWRBY2NvdW50QWRkcmVzcyhyZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb24ucGFyYW1zLm5lc3RlZEFjY291bnRBZGRyZXNzKTtcbiAgICAgICAgdGhpcy5uZXN0ZWRNaW50QWRkcmVzcyhyZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb24ucGFyYW1zLm5lc3RlZE1pbnRBZGRyZXNzKTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzKHJlY292ZXJOZXN0ZWRJbnN0cnVjdGlvbi5wYXJhbXMuZGVzdGluYXRpb25BY2NvdW50QWRkcmVzcyk7XG4gICAgICAgIHRoaXMub3duZXJBY2NvdW50QWRkcmVzcyhyZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb24ucGFyYW1zLm93bmVyQWNjb3VudEFkZHJlc3MpO1xuICAgICAgICB0aGlzLm93bmVyTWludEFkZHJlc3MocmVjb3Zlck5lc3RlZEluc3RydWN0aW9uLnBhcmFtcy5vd25lck1pbnRBZGRyZXNzKTtcbiAgICAgICAgdGhpcy53YWxsZXRBZGRyZXNzKHJlY292ZXJOZXN0ZWRJbnN0cnVjdGlvbi5wYXJhbXMud2FsbGV0QWRkcmVzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBhc3NlcnQodGhpcy5fbmVzdGVkQWNjb3VudEFkZHJlc3MsICduZXN0ZWRBY2NvdW50QWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgYXNzZXJ0KHRoaXMuX25lc3RlZE1pbnRBZGRyZXNzLCAnbmVzdGVkTWludEFkZHJlc3MgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGFzc2VydCh0aGlzLl9kZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzLCAnZGVzdGluYXRpb25BY2NvdW50QWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgYXNzZXJ0KHRoaXMuX293bmVyQWNjb3VudEFkZHJlc3MsICdvd25lckFjY291bnRBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBhc3NlcnQodGhpcy5fb3duZXJNaW50QWRkcmVzcywgJ293bmVyTWludEFkZHJlc3MgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGFzc2VydCh0aGlzLl93YWxsZXRBZGRyZXNzLCAnd2FsbGV0QWRkcmVzcyBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG5cbiAgICBjb25zdCByZWNvdmVyTmVzdGVkRGF0YTogQXRhUmVjb3Zlck5lc3RlZCA9IHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIG5lc3RlZEFjY291bnRBZGRyZXNzOiB0aGlzLl9uZXN0ZWRBY2NvdW50QWRkcmVzcyxcbiAgICAgICAgbmVzdGVkTWludEFkZHJlc3M6IHRoaXMuX25lc3RlZE1pbnRBZGRyZXNzLFxuICAgICAgICBkZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzOiB0aGlzLl9kZXN0aW5hdGlvbkFjY291bnRBZGRyZXNzLFxuICAgICAgICBvd25lckFjY291bnRBZGRyZXNzOiB0aGlzLl9vd25lckFjY291bnRBZGRyZXNzLFxuICAgICAgICBvd25lck1pbnRBZGRyZXNzOiB0aGlzLl9vd25lck1pbnRBZGRyZXNzLFxuICAgICAgICB3YWxsZXRBZGRyZXNzOiB0aGlzLl93YWxsZXRBZGRyZXNzLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IFtyZWNvdmVyTmVzdGVkRGF0YV07XG5cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright 2026 BitGo, Inc. All Rights Reserved.
3
+ */
4
+ /**
5
+ * Convert a raw base-unit amount to its scaled UI denomination.
6
+ *
7
+ * Exact by construction: the result is `raw * multiplier / 10^decimals`, whose
8
+ * exact decimal expansion never exceeds `multiplier scale + decimals` fraction
9
+ * digits, so no rounding ever occurs.
10
+ *
11
+ * @param raw Amount in raw base units (integer, >= 0)
12
+ * @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
13
+ * @param decimals The mint's decimals (>= 0)
14
+ * @returns The exact UI amount as a decimal string
15
+ * @throws if any argument is malformed, the multiplier is not positive, or raw/decimals are negative
16
+ */
17
+ export declare function rawToUiAmountString(raw: bigint, multiplier: string, decimals: number): string;
18
+ /**
19
+ * Convert a scaled UI denomination to raw base units. Inverse of
20
+ * {@link rawToUiAmountString}: flooring an exact ui string reproduces the
21
+ * original raw amount.
22
+ *
23
+ * @param uiAmount The UI amount as a decimal string (>= 0)
24
+ * @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
25
+ * @param decimals The mint's decimals (>= 0)
26
+ * @returns The raw amount in base units, floored to the integer unit
27
+ * @throws if any argument is malformed, the ui amount is negative, or the multiplier is not positive
28
+ */
29
+ export declare function uiAmountToRaw(uiAmount: string, multiplier: string, decimals: number): bigint;
30
+ //# sourceMappingURL=scaledUiAmount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaledUiAmount.d.ts","sourceRoot":"","sources":["../../../src/lib/scaledUiAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2DH;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB5F"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Copyright 2026 BitGo, Inc. All Rights Reserved.
3
+ */
4
+ const DECIMAL_LITERAL_PATTERN = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/;
5
+ /**
6
+ * Parse an exact decimal string into scaled-integer parts. Rejects scientific
7
+ * notation, empty strings, NaN/Infinity, and non-numeric input.
8
+ *
9
+ * @param value The decimal literal, e.g. "0.001"; "1e-9" must be written as "0.000000001"
10
+ */
11
+ function parseDecimal(value, what) {
12
+ if (typeof value !== 'string' || !DECIMAL_LITERAL_PATTERN.test(value)) {
13
+ throw new Error(`Invalid ${what} '${value}': expected a finite decimal string`);
14
+ }
15
+ const negative = value.startsWith('-');
16
+ const unsigned = negative || value.startsWith('+') ? value.slice(1) : value;
17
+ const [intPart = '0', fracPart = ''] = unsigned.split('.');
18
+ const digits = BigInt(intPart + fracPart || '0');
19
+ return { negative, digits, scale: fracPart.length };
20
+ }
21
+ /** Render ±digits/10^scale as a normalized decimal string (no trailing zeros, no "-0"). */
22
+ function toDecimalString({ negative, digits, scale }) {
23
+ if (digits === 0n) {
24
+ return '0';
25
+ }
26
+ let s = digits.toString().padStart(scale + 1, '0');
27
+ if (scale > 0) {
28
+ s = `${s.slice(0, -scale)}.${s.slice(-scale)}`;
29
+ s = s.replace(/0+$/, '').replace(/\.$/, '');
30
+ }
31
+ return negative ? `-${s}` : s;
32
+ }
33
+ /**
34
+ * Convert a raw base-unit amount to its scaled UI denomination.
35
+ *
36
+ * Exact by construction: the result is `raw * multiplier / 10^decimals`, whose
37
+ * exact decimal expansion never exceeds `multiplier scale + decimals` fraction
38
+ * digits, so no rounding ever occurs.
39
+ *
40
+ * @param raw Amount in raw base units (integer, >= 0)
41
+ * @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
42
+ * @param decimals The mint's decimals (>= 0)
43
+ * @returns The exact UI amount as a decimal string
44
+ * @throws if any argument is malformed, the multiplier is not positive, or raw/decimals are negative
45
+ */
46
+ export function rawToUiAmountString(raw, multiplier, decimals) {
47
+ if (typeof raw !== 'bigint') {
48
+ throw new Error(`Invalid raw amount '${String(raw)}': expected a BigInt of base units`);
49
+ }
50
+ if (raw < 0n) {
51
+ throw new Error(`Invalid raw amount '${raw}': must be non-negative`);
52
+ }
53
+ if (!Number.isInteger(decimals) || decimals < 0) {
54
+ throw new Error(`Invalid decimals '${decimals}': must be a non-negative integer`);
55
+ }
56
+ const mult = parseDecimal(multiplier, 'multiplier');
57
+ if (mult.negative || mult.digits === 0n) {
58
+ throw new Error(`Invalid multiplier '${multiplier}': must be positive`);
59
+ }
60
+ // ui = raw * (multDigits / 10^multScale) / 10^decimals
61
+ // = (raw * multDigits) / 10^(multScale + decimals) — exact, terminating expansion
62
+ const numerator = raw * mult.digits;
63
+ const fractionDigits = mult.scale + decimals;
64
+ const denominator = 10n ** BigInt(fractionDigits);
65
+ const quotient = numerator / denominator;
66
+ const remainder = numerator % denominator;
67
+ if (remainder === 0n) {
68
+ return toDecimalString({ negative: false, digits: quotient, scale: 0 });
69
+ }
70
+ // The denominator IS 10^fractionDigits, so the exact fraction digits are `remainder`
71
+ // zero-padded to fractionDigits — no long division needed.
72
+ return toDecimalString({
73
+ negative: false,
74
+ digits: quotient * 10n ** BigInt(fractionDigits) + remainder,
75
+ scale: fractionDigits,
76
+ });
77
+ }
78
+ /**
79
+ * Convert a scaled UI denomination to raw base units. Inverse of
80
+ * {@link rawToUiAmountString}: flooring an exact ui string reproduces the
81
+ * original raw amount.
82
+ *
83
+ * @param uiAmount The UI amount as a decimal string (>= 0)
84
+ * @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
85
+ * @param decimals The mint's decimals (>= 0)
86
+ * @returns The raw amount in base units, floored to the integer unit
87
+ * @throws if any argument is malformed, the ui amount is negative, or the multiplier is not positive
88
+ */
89
+ export function uiAmountToRaw(uiAmount, multiplier, decimals) {
90
+ if (!Number.isInteger(decimals) || decimals < 0) {
91
+ throw new Error(`Invalid decimals '${decimals}': must be a non-negative integer`);
92
+ }
93
+ const ui = parseDecimal(uiAmount, 'uiAmount');
94
+ if (ui.negative) {
95
+ throw new Error(`Invalid uiAmount '${uiAmount}': must be non-negative`);
96
+ }
97
+ const mult = parseDecimal(multiplier, 'multiplier');
98
+ if (mult.negative || mult.digits === 0n) {
99
+ throw new Error(`Invalid multiplier '${multiplier}': must be positive`);
100
+ }
101
+ // ui = uiDigits / 10^uiScale; multiplier = multDigits / 10^multScale
102
+ // raw = (uiDigits / 10^uiScale) * 10^decimals * (10^multScale / multDigits)
103
+ // = (uiDigits * 10^(decimals + multScale)) / (multDigits * 10^uiScale)
104
+ const numerator = ui.digits * 10n ** BigInt(decimals + mult.scale);
105
+ const denominator = mult.digits * 10n ** BigInt(ui.scale);
106
+ return numerator / denominator; // floor — raw base units are integers
107
+ }
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGVkVWlBbW91bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NjYWxlZFVpQW1vdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBMkJILE1BQU0sdUJBQXVCLEdBQUcsZ0NBQWdDLENBQUM7QUFFakU7Ozs7O0dBS0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFhLEVBQUUsSUFBWTtJQUMvQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssS0FBSyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLElBQUksR0FBRyxDQUFDLENBQUM7SUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN0RCxDQUFDO0FBRUQsMkZBQTJGO0FBQzNGLFNBQVMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWlCO0lBQ2pFLElBQUksTUFBTSxLQUFL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LENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsUUFBUSxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFFBQVEseUJBQXlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixVQUFVLHFCQUFxQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSw0RUFBNEU7SUFDNUUsMkVBQTJFO0lBQzNFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25FLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsT0FBTyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsc0NBQXNDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAyMDI2IEJpdEdvLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cblxuLyoqXG4gKiBTb2xhbmEgVG9rZW4tMjAyMiBTY2FsZWRVaUFtb3VudCBjb252ZXJzaW9uIHV0aWxpdGllcyAoQ1NITEQtMTY4OCkuXG4gKlxuICogQSBzY2FsZWQtVUkgbWludCBjYXJyaWVzIGEgYFVpQW1vdW50TXVsdGlwbGllcmAuIE9uLWNoYWluIChhbmQgdGhlcmVmb3JlIGluXG4gKiBldmVyeSBzZW5kL2J1aWxkIHBhdGggb2YgdGhpcyBTREspIGFtb3VudHMgYXJlIHJhdyBiYXNlIHVuaXRzOyB0aGUgVUlcbiAqIGRlbm9taW5hdGlvbiBpcyBgcmF3ICogbXVsdGlwbGllciAvIDEwXmRlY2ltYWxzYCwgbWF0Y2hpbmcgdGhlIFNQTFxuICogdG9rZW4tMjAyMiBTY2FsZWRVaUFtb3VudCBleHRlbnNpb24gc2VtYW50aWNzLiBUaGVzZSB1dGlsaXRpZXMgZXhpc3QgZm9yXG4gKiBkaXNwbGF5LCByZWNvbmNpbGlhdGlvbiwgYW5kIGJhbGFuY2UgY29udmVyc2lvbnMgb25seSDigJQgdGhleSBuZXZlciBmZWVkXG4gKiB0cmFuc2FjdGlvbiBidWlsZGluZywgd2hpY2ggc3RheXMgcmF3LWRlbm9taW5hdGVkLlxuICpcbiAqIEFsbCBhcml0aG1ldGljIGlzIGV4YWN0IHNjYWxlZC1pbnRlZ2VyIChCaWdJbnQpIG1hdGgg4oCUIGZsb2F0cyBhcmUgbmV2ZXIgdXNlZCxcbiAqIHNvIGNvbnZlcnNpb25zIGFyZSBkZXRlcm1pbmlzdGljIGFjcm9zcyBydW50aW1lcyBhbmQgbG9zZSBubyBwcmVjaXNpb246XG4gKiBgcmF3VG9VaUFtb3VudFN0cmluZ2AgaXMgYWx3YXlzIGV4YWN0ICh0aGUgZGl2aXNvciBpcyBhIHBvd2VyIG9mIHRlbiwgc28gdGhlXG4gKiBleGFjdCBleHBhbnNpb24gZml0cyB3aXRoaW4gYG11bHRpcGxpZXJTY2FsZSArIGRlY2ltYWxzYCBmcmFjdGlvbiBkaWdpdHMpLlxuICogYHVpQW1vdW50VG9SYXdgIGZsb29ycyB0byBhbiBpbnRlZ2VyIG51bWJlciBvZiBiYXNlIHVuaXRzIGFuZCBpcyB0aGUgZXhhY3RcbiAqIGludmVyc2Ugb2YgYHJhd1RvVWlBbW91bnRTdHJpbmdgIHdoZW5ldmVyIHRoZSB1aSBzdHJpbmcgaXMgZXhhY3QuXG4gKi9cblxuLyoqIFNpZ25pZmljYW5kIGFuZCBzY2FsZSBvZiBhIGRlY2ltYWwgbGl0ZXJhbDogdmFsdWUgPSDCsWRpZ2l0cyAvIDEwXnNjYWxlLiAqL1xuaW50ZXJmYWNlIFBhcnNlZERlY2ltYWwge1xuICBuZWdhdGl2ZTogYm9vbGVhbjtcbiAgZGlnaXRzOiBiaWdpbnQ7XG4gIHNjYWxlOiBudW1iZXI7XG59XG5cbmNvbnN0IERFQ0lNQUxfTElURVJBTF9QQVRURVJOID0gL15bKy1dPyg/OlxcZCsoPzpcXC5cXGQqKT98XFwuXFxkKykkLztcblxuLyoqXG4gKiBQYXJzZSBhbiBleGFjdCBkZWNpbWFsIHN0cmluZyBpbnRvIHNjYWxlZC1pbnRlZ2VyIHBhcnRzLiBSZWplY3RzIHNjaWVudGlmaWNcbiAqIG5vdGF0aW9uLCBlbXB0eSBzdHJpbmdzLCBOYU4vSW5maW5pdHksIGFuZCBub24tbnVtZXJpYyBpbnB1dC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGRlY2ltYWwgbGl0ZXJhbCwgZS5nLiBcIjAuMDAxXCI7IFwiMWUtOVwiIG11c3QgYmUgd3JpdHRlbiBhcyBcIjAuMDAwMDAwMDAxXCJcbiAqL1xuZnVuY3Rpb24gcGFyc2VEZWNpbWFsKHZhbHVlOiBzdHJpbmcsIHdoYXQ6IHN0cmluZyk6IFBhcnNlZERlY2ltYWwge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCAhREVDSU1BTF9MSVRFUkFMX1BBVFRFUk4udGVzdCh2YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHt3aGF0fSAnJHt2YWx1ZX0nOiBleHBlY3RlZCBhIGZpbml0ZSBkZWNpbWFsIHN0cmluZ2ApO1xuICB9XG4gIGNvbnN0IG5lZ2F0aXZlID0gdmFsdWUuc3RhcnRzV2l0aCgnLScpO1xuICBjb25zdCB1bnNpZ25lZCA9IG5lZ2F0aXZlIHx8IHZhbHVlLnN0YXJ0c1dpdGgoJysnKSA/IHZhbHVlLnNsaWNlKDEpIDogdmFsdWU7XG4gIGNvbnN0IFtpbnRQYXJ0ID0gJzAnLCBmcmFjUGFydCA9ICcnXSA9IHVuc2lnbmVkLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGRpZ2l0cyA9IEJpZ0ludChpbnRQYXJ0ICsgZnJhY1BhcnQgfHwgJzAnKTtcbiAgcmV0dXJuIHsgbmVnYXRpdmUsIGRpZ2l0cywgc2NhbGU6IGZyYWNQYXJ0Lmxlbmd0aCB9O1xufVxuXG4vKiogUmVuZGVyIMKxZGlnaXRzLzEwXnNjYWxlIGFzIGEgbm9ybWFsaXplZCBkZWNpbWFsIHN0cmluZyAobm8gdHJhaWxpbmcgemVyb3MsIG5vIFwiLTBcIikuICovXG5mdW5jdGlvbiB0b0RlY2ltYWxTdHJpbmcoeyBuZWdhdGl2ZSwgZGlnaXRzLCBzY2FsZSB9OiBQYXJzZWREZWNpbWFsKTogc3RyaW5nIHtcbiAgaWYgKGRpZ2l0cyA9PT0gMG4pIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG4gIGxldCBzID0gZGlnaXRzLnRvU3RyaW5nKCkucGFkU3RhcnQoc2NhbGUgKyAxLCAnMCcpO1xuICBpZiAoc2NhbGUgPiAwKSB7XG4gICAgcyA9IGAke3Muc2xpY2UoMCwgLXNjYWxlKX0uJHtzLnNsaWNlKC1zY2FsZSl9YDtcbiAgICBzID0gcy5yZXBsYWNlKC8wKyQvLCAnJykucmVwbGFjZSgvXFwuJC8sICcnKTtcbiAgfVxuICByZXR1cm4gbmVnYXRpdmUgPyBgLSR7c31gIDogcztcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgcmF3IGJhc2UtdW5pdCBhbW91bnQgdG8gaXRzIHNjYWxlZCBVSSBkZW5vbWluYXRpb24uXG4gKlxuICogRXhhY3QgYnkgY29uc3RydWN0aW9uOiB0aGUgcmVzdWx0IGlzIGByYXcgKiBtdWx0aXBsaWVyIC8gMTBeZGVjaW1hbHNgLCB3aG9zZVxuICogZXhhY3QgZGVjaW1hbCBleHBhbnNpb24gbmV2ZXIgZXhjZWVkcyBgbXVsdGlwbGllciBzY2FsZSArIGRlY2ltYWxzYCBmcmFjdGlvblxuICogZGlnaXRzLCBzbyBubyByb3VuZGluZyBldmVyIG9jY3Vycy5cbiAqXG4gKiBAcGFyYW0gcmF3IEFtb3VudCBpbiByYXcgYmFzZSB1bml0cyAoaW50ZWdlciwgPj0gMClcbiAqIEBwYXJhbSBtdWx0aXBsaWVyIFRoZSBtaW50J3MgVWlBbW91bnRNdWx0aXBsaWVyIGFzIGEgZGVjaW1hbCBzdHJpbmcgKD4gMClcbiAqIEBwYXJhbSBkZWNpbWFscyBUaGUgbWludCdzIGRlY2ltYWxzICg+PSAwKVxuICogQHJldHVybnMgVGhlIGV4YWN0IFVJIGFtb3VudCBhcyBhIGRlY2ltYWwgc3RyaW5nXG4gKiBAdGhyb3dzIGlmIGFueSBhcmd1bWVudCBpcyBtYWxmb3JtZWQsIHRoZSBtdWx0aXBsaWVyIGlzIG5vdCBwb3NpdGl2ZSwgb3IgcmF3L2RlY2ltYWxzIGFyZSBuZWdhdGl2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmF3VG9VaUFtb3VudFN0cmluZyhyYXc6IGJpZ2ludCwgbXVsdGlwbGllcjogc3RyaW5nLCBkZWNpbWFsczogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiByYXcgIT09ICdiaWdpbnQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJhdyBhbW91bnQgJyR7U3RyaW5nKHJhdyl9JzogZXhwZWN0ZWQgYSBCaWdJbnQgb2YgYmFzZSB1bml0c2ApO1xuICB9XG4gIGlmIChyYXcgPCAwbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByYXcgYW1vdW50ICcke3Jhd30nOiBtdXN0IGJlIG5vbi1uZWdhdGl2ZWApO1xuICB9XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFscykgfHwgZGVjaW1hbHMgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlY2ltYWxzICcke2RlY2ltYWxzfSc6IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcmApO1xuICB9XG4gIGNvbnN0IG11bHQgPSBwYXJzZURlY2ltYWwobXVsdGlwbGllciwgJ211bHRpcGxpZXInKTtcbiAgaWYgKG11bHQubmVnYXRpdmUgfHwgbXVsdC5kaWdpdHMgPT09IDBuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG11bHRpcGxpZXIgJyR7bXVsdGlwbGllcn0nOiBtdXN0IGJlIHBvc2l0aXZlYCk7XG4gIH1cblxuICAvLyB1aSA9IHJhdyAqIChtdWx0RGlnaXRzIC8gMTBebXVsdFNjYWxlKSAvIDEwXmRlY2ltYWxzXG4gIC8vICAgID0gKHJhdyAqIG11bHREaWdpdHMpIC8gMTBeKG11bHRTY2FsZSArIGRlY2ltYWxzKSAgIOKAlCBleGFjdCwgdGVybWluYXRpbmcgZXhwYW5zaW9uXG4gIGNvbnN0IG51bWVyYXRvciA9IHJhdyAqIG11bHQuZGlnaXRzO1xuICBjb25zdCBmcmFjdGlvbkRpZ2l0cyA9IG11bHQuc2NhbGUgKyBkZWNpbWFscztcbiAgY29uc3QgZGVub21pbmF0b3IgPSAxMG4gKiogQmlnSW50KGZyYWN0aW9uRGlnaXRzKTtcblxuICBjb25zdCBxdW90aWVudCA9IG51bWVyYXRvciAvIGRlbm9taW5hdG9yO1xuICBjb25zdCByZW1haW5kZXIgPSBudW1lcmF0b3IgJSBkZW5vbWluYXRvcjtcbiAgaWYgKHJlbWFpbmRlciA9PT0gMG4pIHtcbiAgICByZXR1cm4gdG9EZWNpbWFsU3RyaW5nKHsgbmVnYXRpdmU6IGZhbHNlLCBkaWdpdHM6IHF1b3RpZW50LCBzY2FsZTogMCB9KTtcbiAgfVxuICAvLyBUaGUgZGVub21pbmF0b3IgSVMgMTBeZnJhY3Rpb25EaWdpdHMsIHNvIHRoZSBleGFjdCBmcmFjdGlvbiBkaWdpdHMgYXJlIGByZW1haW5kZXJgXG4gIC8vIHplcm8tcGFkZGVkIHRvIGZyYWN0aW9uRGlnaXRzIOKAlCBubyBsb25nIGRpdmlzaW9uIG5lZWRlZC5cbiAgcmV0dXJuIHRvRGVjaW1hbFN0cmluZyh7XG4gICAgbmVnYXRpdmU6IGZhbHNlLFxuICAgIGRpZ2l0czogcXVvdGllbnQgKiAxMG4gKiogQmlnSW50KGZyYWN0aW9uRGlnaXRzKSArIHJlbWFpbmRlcixcbiAgICBzY2FsZTogZnJhY3Rpb25EaWdpdHMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnQgYSBzY2FsZWQgVUkgZGVub21pbmF0aW9uIHRvIHJhdyBiYXNlIHVuaXRzLiBJbnZlcnNlIG9mXG4gKiB7QGxpbmsgcmF3VG9VaUFtb3VudFN0cmluZ306IGZsb29yaW5nIGFuIGV4YWN0IHVpIHN0cmluZyByZXByb2R1Y2VzIHRoZVxuICogb3JpZ2luYWwgcmF3IGFtb3VudC5cbiAqXG4gKiBAcGFyYW0gdWlBbW91bnQgVGhlIFVJIGFtb3VudCBhcyBhIGRlY2ltYWwgc3RyaW5nICg+PSAwKVxuICogQHBhcmFtIG11bHRpcGxpZXIgVGhlIG1pbnQncyBVaUFtb3VudE11bHRpcGxpZXIgYXMgYSBkZWNpbWFsIHN0cmluZyAoPiAwKVxuICogQHBhcmFtIGRlY2ltYWxzIFRoZSBtaW50J3MgZGVjaW1hbHMgKD49IDApXG4gKiBAcmV0dXJucyBUaGUgcmF3IGFtb3VudCBpbiBiYXNlIHVuaXRzLCBmbG9vcmVkIHRvIHRoZSBpbnRlZ2VyIHVuaXRcbiAqIEB0aHJvd3MgaWYgYW55IGFyZ3VtZW50IGlzIG1hbGZvcm1lZCwgdGhlIHVpIGFtb3VudCBpcyBuZWdhdGl2ZSwgb3IgdGhlIG11bHRpcGxpZXIgaXMgbm90IHBvc2l0aXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aUFtb3VudFRvUmF3KHVpQW1vdW50OiBzdHJpbmcsIG11bHRpcGxpZXI6IHN0cmluZywgZGVjaW1hbHM6IG51bWJlcik6IGJpZ2ludCB7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFscykgfHwgZGVjaW1hbHMgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlY2ltYWxzICcke2RlY2ltYWxzfSc6IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcmApO1xuICB9XG4gIGNvbnN0IHVpID0gcGFyc2VEZWNpbWFsKHVpQW1vdW50LCAndWlBbW91bnQnKTtcbiAgaWYgKHVpLm5lZ2F0aXZlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHVpQW1vdW50ICcke3VpQW1vdW50fSc6IG11c3QgYmUgbm9uLW5lZ2F0aXZlYCk7XG4gIH1cbiAgY29uc3QgbXVsdCA9IHBhcnNlRGVjaW1hbChtdWx0aXBsaWVyLCAnbXVsdGlwbGllcicpO1xuICBpZiAobXVsdC5uZWdhdGl2ZSB8fCBtdWx0LmRpZ2l0cyA9PT0gMG4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbXVsdGlwbGllciAnJHttdWx0aXBsaWVyfSc6IG11c3QgYmUgcG9zaXRpdmVgKTtcbiAgfVxuXG4gIC8vIHVpID0gdWlEaWdpdHMgLyAxMF51aVNjYWxlOyAgbXVsdGlwbGllciA9IG11bHREaWdpdHMgLyAxMF5tdWx0U2NhbGVcbiAgLy8gcmF3ID0gKHVpRGlnaXRzIC8gMTBedWlTY2FsZSkgKiAxMF5kZWNpbWFscyAqICgxMF5tdWx0U2NhbGUgLyBtdWx0RGlnaXRzKVxuICAvLyAgICAgPSAodWlEaWdpdHMgKiAxMF4oZGVjaW1hbHMgKyBtdWx0U2NhbGUpKSAvIChtdWx0RGlnaXRzICogMTBedWlTY2FsZSlcbiAgY29uc3QgbnVtZXJhdG9yID0gdWkuZGlnaXRzICogMTBuICoqIEJpZ0ludChkZWNpbWFscyArIG11bHQuc2NhbGUpO1xuICBjb25zdCBkZW5vbWluYXRvciA9IG11bHQuZGlnaXRzICogMTBuICoqIEJpZ0ludCh1aS5zY2FsZSk7XG4gIHJldHVybiBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjsgLy8gZmxvb3Ig4oCUIHJhdyBiYXNlIHVuaXRzIGFyZSBpbnRlZ2Vyc1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ /**
2
+ * v1 (SIMD-0296/0385) transaction config codec: bit mask + value encoding.
3
+ */
4
+ export declare const PRIORITY_FEE_BITS = 3;
5
+ export declare const COMPUTE_UNIT_LIMIT_BIT = 4;
6
+ export declare const LOADED_ACCOUNTS_DATA_SIZE_LIMIT_BIT = 8;
7
+ export declare const HEAP_SIZE_BIT = 16;
8
+ export type ConfigValue = {
9
+ kind: 'u32' | 'u64';
10
+ value: number | bigint;
11
+ };
12
+ export declare function encodeConfigMaskAndValues(config: {
13
+ computeUnitLimit: number | null;
14
+ heapSize: number | null;
15
+ loadedAccountsDataSizeLimit: number | null;
16
+ priorityFee: number | null;
17
+ }): {
18
+ mask: number;
19
+ values: ConfigValue[];
20
+ };
21
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/serialization/codecs/v1/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,iBAAiB,IAAO,CAAC;AACtC,eAAO,MAAM,sBAAsB,IAAQ,CAAC;AAC5C,eAAO,MAAM,mCAAmC,IAAS,CAAC;AAC1D,eAAO,MAAM,aAAa,KAAU,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAoB1C"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * v1 (SIMD-0296/0385) transaction config codec: bit mask + value encoding.
3
+ */
4
+ // Transaction config mask bits (mirror @solana/transaction-messages).
5
+ export const PRIORITY_FEE_BITS = 0b11;
6
+ export const COMPUTE_UNIT_LIMIT_BIT = 0b100;
7
+ export const LOADED_ACCOUNTS_DATA_SIZE_LIMIT_BIT = 0b1000;
8
+ export const HEAP_SIZE_BIT = 0b10000;
9
+ export function encodeConfigMaskAndValues(config) {
10
+ let mask = 0;
11
+ const values = [];
12
+ if (config.priorityFee !== null) {
13
+ mask |= PRIORITY_FEE_BITS;
14
+ values.push({ kind: 'u64', value: BigInt(config.priorityFee) });
15
+ }
16
+ if (config.computeUnitLimit !== null) {
17
+ mask |= COMPUTE_UNIT_LIMIT_BIT;
18
+ values.push({ kind: 'u32', value: config.computeUnitLimit });
19
+ }
20
+ if (config.loadedAccountsDataSizeLimit !== null) {
21
+ mask |= LOADED_ACCOUNTS_DATA_SIZE_LIMIT_BIT;
22
+ values.push({ kind: 'u32', value: config.loadedAccountsDataSizeLimit });
23
+ }
24
+ if (config.heapSize !== null) {
25
+ mask |= HEAP_SIZE_BIT;
26
+ values.push({ kind: 'u32', value: config.heapSize });
27
+ }
28
+ return { mask, values };
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJpYWxpemF0aW9uL2NvZGVjcy92MS9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxNQUFNLENBQUM7QUFDMUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUlyQyxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFLekM7SUFDQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFDYixNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO0lBQ2pDLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksaUJBQWlCLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLElBQUksc0JBQXNCLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLDJCQUEyQixLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksSUFBSSxtQ0FBbUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksSUFBSSxhQUFhLENBQUM7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHYxIChTSU1ELTAyOTYvMDM4NSkgdHJhbnNhY3Rpb24gY29uZmlnIGNvZGVjOiBiaXQgbWFzayArIHZhbHVlIGVuY29kaW5nLlxuICovXG5cbi8vIFRyYW5zYWN0aW9uIGNvbmZpZyBtYXNrIGJpdHMgKG1pcnJvciBAc29sYW5hL3RyYW5zYWN0aW9uLW1lc3NhZ2VzKS5cbmV4cG9ydCBjb25zdCBQUklPUklUWV9GRUVfQklUUyA9IDBiMTE7XG5leHBvcnQgY29uc3QgQ09NUFVURV9VTklUX0xJTUlUX0JJVCA9IDBiMTAwO1xuZXhwb3J0IGNvbnN0IExPQURFRF9BQ0NPVU5UU19EQVRBX1NJWkVfTElNSVRfQklUID0gMGIxMDAwO1xuZXhwb3J0IGNvbnN0IEhFQVBfU0laRV9CSVQgPSAwYjEwMDAwO1xuXG5leHBvcnQgdHlwZSBDb25maWdWYWx1ZSA9IHsga2luZDogJ3UzMicgfCAndTY0JzsgdmFsdWU6IG51bWJlciB8IGJpZ2ludCB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlQ29uZmlnTWFza0FuZFZhbHVlcyhjb25maWc6IHtcbiAgY29tcHV0ZVVuaXRMaW1pdDogbnVtYmVyIHwgbnVsbDtcbiAgaGVhcFNpemU6IG51bWJlciB8IG51bGw7XG4gIGxvYWRlZEFjY291bnRzRGF0YVNpemVMaW1pdDogbnVtYmVyIHwgbnVsbDtcbiAgcHJpb3JpdHlGZWU6IG51bWJlciB8IG51bGw7XG59KTogeyBtYXNrOiBudW1iZXI7IHZhbHVlczogQ29uZmlnVmFsdWVbXSB9IHtcbiAgbGV0IG1hc2sgPSAwO1xuICBjb25zdCB2YWx1ZXM6IENvbmZpZ1ZhbHVlW10gPSBbXTtcbiAgaWYgKGNvbmZpZy5wcmlvcml0eUZlZSAhPT0gbnVsbCkge1xuICAgIG1hc2sgfD0gUFJJT1JJVFlfRkVFX0JJVFM7XG4gICAgdmFsdWVzLnB1c2goeyBraW5kOiAndTY0JywgdmFsdWU6IEJpZ0ludChjb25maWcucHJpb3JpdHlGZWUpIH0pO1xuICB9XG4gIGlmIChjb25maWcuY29tcHV0ZVVuaXRMaW1pdCAhPT0gbnVsbCkge1xuICAgIG1hc2sgfD0gQ09NUFVURV9VTklUX0xJTUlUX0JJVDtcbiAgICB2YWx1ZXMucHVzaCh7IGtpbmQ6ICd1MzInLCB2YWx1ZTogY29uZmlnLmNvbXB1dGVVbml0TGltaXQgfSk7XG4gIH1cbiAgaWYgKGNvbmZpZy5sb2FkZWRBY2NvdW50c0RhdGFTaXplTGltaXQgIT09IG51bGwpIHtcbiAgICBtYXNrIHw9IExPQURFRF9BQ0NPVU5UU19EQVRBX1NJWkVfTElNSVRfQklUO1xuICAgIHZhbHVlcy5wdXNoKHsga2luZDogJ3UzMicsIHZhbHVlOiBjb25maWcubG9hZGVkQWNjb3VudHNEYXRhU2l6ZUxpbWl0IH0pO1xuICB9XG4gIGlmIChjb25maWcuaGVhcFNpemUgIT09IG51bGwpIHtcbiAgICBtYXNrIHw9IEhFQVBfU0laRV9CSVQ7XG4gICAgdmFsdWVzLnB1c2goeyBraW5kOiAndTMyJywgdmFsdWU6IGNvbmZpZy5oZWFwU2l6ZSB9KTtcbiAgfVxuICByZXR1cm4geyBtYXNrLCB2YWx1ZXMgfTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ /**
2
+ * v1 (SIMD-0296/0385) transaction instruction codec: header + payload encoding.
3
+ */
4
+ export type CompiledInstruction = {
5
+ programAddressIndex: number;
6
+ accountIndices: number[];
7
+ data: Uint8Array;
8
+ };
9
+ /**
10
+ * Encode instruction headers (4 bytes each) then payloads for the given
11
+ * compiled instructions, appending to `buf`.
12
+ */
13
+ export declare function encodeInstructions(buf: number[], instructions: CompiledInstruction[]): void;
14
+ //# sourceMappingURL=instruction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/serialization/codecs/v1/instruction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AASF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAc3F"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * v1 (SIMD-0296/0385) transaction instruction codec: header + payload encoding.
3
+ */
4
+ function pushU8(buf, v) {
5
+ buf.push(v & 0xff);
6
+ }
7
+ function pushU16LE(buf, v) {
8
+ buf.push(v & 0xff, (v >>> 8) & 0xff);
9
+ }
10
+ /**
11
+ * Encode instruction headers (4 bytes each) then payloads for the given
12
+ * compiled instructions, appending to `buf`.
13
+ */
14
+ export function encodeInstructions(buf, instructions) {
15
+ for (const instruction of instructions) {
16
+ pushU8(buf, instruction.programAddressIndex);
17
+ pushU8(buf, instruction.accountIndices.length);
18
+ pushU16LE(buf, instruction.data.length);
19
+ }
20
+ for (const instruction of instructions) {
21
+ for (const idx of instruction.accountIndices) {
22
+ pushU8(buf, idx);
23
+ }
24
+ for (const b of instruction.data) {
25
+ pushU8(buf, b);
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcmlhbGl6YXRpb24vY29kZWNzL3YxL2luc3RydWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBUUgsU0FBUyxNQUFNLENBQUMsR0FBYSxFQUFFLENBQVM7SUFDdEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUNELFNBQVMsU0FBUyxDQUFDLEdBQWEsRUFBRSxDQUFTO0lBQ3pDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQWEsRUFBRSxZQUFtQztJQUNuRixLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3QyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogdjEgKFNJTUQtMDI5Ni8wMzg1KSB0cmFuc2FjdGlvbiBpbnN0cnVjdGlvbiBjb2RlYzogaGVhZGVyICsgcGF5bG9hZCBlbmNvZGluZy5cbiAqL1xuXG5leHBvcnQgdHlwZSBDb21waWxlZEluc3RydWN0aW9uID0ge1xuICBwcm9ncmFtQWRkcmVzc0luZGV4OiBudW1iZXI7XG4gIGFjY291bnRJbmRpY2VzOiBudW1iZXJbXTtcbiAgZGF0YTogVWludDhBcnJheTtcbn07XG5cbmZ1bmN0aW9uIHB1c2hVOChidWY6IG51bWJlcltdLCB2OiBudW1iZXIpIHtcbiAgYnVmLnB1c2godiAmIDB4ZmYpO1xufVxuZnVuY3Rpb24gcHVzaFUxNkxFKGJ1ZjogbnVtYmVyW10sIHY6IG51bWJlcikge1xuICBidWYucHVzaCh2ICYgMHhmZiwgKHYgPj4+IDgpICYgMHhmZik7XG59XG5cbi8qKlxuICogRW5jb2RlIGluc3RydWN0aW9uIGhlYWRlcnMgKDQgYnl0ZXMgZWFjaCkgdGhlbiBwYXlsb2FkcyBmb3IgdGhlIGdpdmVuXG4gKiBjb21waWxlZCBpbnN0cnVjdGlvbnMsIGFwcGVuZGluZyB0byBgYnVmYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUluc3RydWN0aW9ucyhidWY6IG51bWJlcltdLCBpbnN0cnVjdGlvbnM6IENvbXBpbGVkSW5zdHJ1Y3Rpb25bXSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIGluc3RydWN0aW9ucykge1xuICAgIHB1c2hVOChidWYsIGluc3RydWN0aW9uLnByb2dyYW1BZGRyZXNzSW5kZXgpO1xuICAgIHB1c2hVOChidWYsIGluc3RydWN0aW9uLmFjY291bnRJbmRpY2VzLmxlbmd0aCk7XG4gICAgcHVzaFUxNkxFKGJ1ZiwgaW5zdHJ1Y3Rpb24uZGF0YS5sZW5ndGgpO1xuICB9XG4gIGZvciAoY29uc3QgaW5zdHJ1Y3Rpb24gb2YgaW5zdHJ1Y3Rpb25zKSB7XG4gICAgZm9yIChjb25zdCBpZHggb2YgaW5zdHJ1Y3Rpb24uYWNjb3VudEluZGljZXMpIHtcbiAgICAgIHB1c2hVOChidWYsIGlkeCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgYiBvZiBpbnN0cnVjdGlvbi5kYXRhKSB7XG4gICAgICBwdXNoVTgoYnVmLCBiKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { encodeConfigMaskAndValues, ConfigValue } from './config';
2
+ import { CompiledInstruction } from './instruction';
3
+ export type V1MessageHeader = {
4
+ numSignerAccounts: number;
5
+ numReadonlySignerAccounts: number;
6
+ numReadonlyNonSignerAccounts: number;
7
+ };
8
+ export declare function encodeV1Message(args: {
9
+ header: V1MessageHeader;
10
+ configMask: number;
11
+ configValues: ConfigValue[];
12
+ blockhash: string;
13
+ staticAccounts: string[];
14
+ compiledInstructions: CompiledInstruction[];
15
+ }): Uint8Array;
16
+ export { encodeConfigMaskAndValues };
17
+ export type V1DecodedMessage = {
18
+ header: V1MessageHeader;
19
+ configMask: number;
20
+ configValues: ConfigValue[];
21
+ blockhash: string;
22
+ staticAccounts: string[];
23
+ compiledInstructions: CompiledInstruction[];
24
+ byteLength: number;
25
+ };
26
+ export declare function decodeV1Message(bytes: Uint8Array): V1DecodedMessage;
27
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/serialization/codecs/v1/message.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,EACzB,WAAW,EAKZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAsB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAuBxE,MAAM,MAAM,eAAe,GAAG;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,4BAA4B,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C,GAAG,UAAU,CA+Bb;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAUrC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAyBF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwGnE"}