@buildonspark/issuer-sdk 0.0.13 → 0.0.14

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 (368) hide show
  1. package/dist/{interface → issuer-sdk/src/interface}/wallet-interface.d.ts +2 -0
  2. package/dist/issuer-sdk/src/interface/wallet-interface.js.map +1 -0
  3. package/dist/{issuer-sdk.d.ts → issuer-sdk/src/issuer-sdk.d.ts} +2 -0
  4. package/dist/{issuer-sdk.js → issuer-sdk/src/issuer-sdk.js} +9 -1
  5. package/dist/issuer-sdk/src/issuer-sdk.js.map +1 -0
  6. package/dist/issuer-sdk/src/proto/common.js.map +1 -0
  7. package/dist/issuer-sdk/src/proto/google/protobuf/descriptor.js.map +1 -0
  8. package/dist/issuer-sdk/src/proto/google/protobuf/duration.js.map +1 -0
  9. package/dist/issuer-sdk/src/proto/google/protobuf/empty.js.map +1 -0
  10. package/dist/issuer-sdk/src/proto/google/protobuf/timestamp.js.map +1 -0
  11. package/dist/issuer-sdk/src/proto/mock.js.map +1 -0
  12. package/dist/issuer-sdk/src/proto/spark.js.map +1 -0
  13. package/dist/issuer-sdk/src/proto/spark_authn.js.map +1 -0
  14. package/dist/issuer-sdk/src/proto/validate/validate.js.map +1 -0
  15. package/dist/issuer-sdk/src/services/freeze.js.map +1 -0
  16. package/dist/issuer-sdk/src/services/token-transactions.js.map +1 -0
  17. package/dist/{tests → issuer-sdk/src/tests}/integration/spark.test.js +72 -2
  18. package/dist/issuer-sdk/src/tests/integration/spark.test.js.map +1 -0
  19. package/dist/issuer-sdk/src/utils/constants.js.map +1 -0
  20. package/dist/issuer-sdk/src/utils/token-hashing.js.map +1 -0
  21. package/dist/spark-sdk/src/graphql/client.d.ts +24 -0
  22. package/dist/spark-sdk/src/graphql/client.js +176 -0
  23. package/dist/spark-sdk/src/graphql/client.js.map +1 -0
  24. package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.d.ts +1 -0
  25. package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.js +19 -0
  26. package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.js.map +1 -0
  27. package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.d.ts +1 -0
  28. package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.js +17 -0
  29. package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.js.map +1 -0
  30. package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.d.ts +1 -0
  31. package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.js +20 -0
  32. package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.js.map +1 -0
  33. package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.d.ts +1 -0
  34. package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.js +26 -0
  35. package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.js.map +1 -0
  36. package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.d.ts +1 -0
  37. package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.js +18 -0
  38. package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.js.map +1 -0
  39. package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.d.ts +1 -0
  40. package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.js +24 -0
  41. package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.js.map +1 -0
  42. package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.d.ts +17 -0
  43. package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.js +20 -0
  44. package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.js.map +1 -0
  45. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.d.ts +7 -0
  46. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.js +14 -0
  47. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.js.map +1 -0
  48. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.d.ts +7 -0
  49. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.js +19 -0
  50. package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.js.map +1 -0
  51. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.d.ts +8 -0
  52. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.js +16 -0
  53. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.js.map +1 -0
  54. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.d.ts +7 -0
  55. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.js +19 -0
  56. package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.js.map +1 -0
  57. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.d.ts +7 -0
  58. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.js +14 -0
  59. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.js.map +1 -0
  60. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.d.ts +7 -0
  61. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.js +17 -0
  62. package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.js.map +1 -0
  63. package/dist/spark-sdk/src/graphql/objects/Connection.d.ts +16 -0
  64. package/dist/spark-sdk/src/graphql/objects/Connection.js +56 -0
  65. package/dist/spark-sdk/src/graphql/objects/Connection.js.map +1 -0
  66. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.d.ts +7 -0
  67. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.js +14 -0
  68. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.js.map +1 -0
  69. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.d.ts +8 -0
  70. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.js +26 -0
  71. package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.js.map +1 -0
  72. package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.d.ts +32 -0
  73. package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.js +64 -0
  74. package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.js.map +1 -0
  75. package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.d.ts +24 -0
  76. package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.js +30 -0
  77. package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.js.map +1 -0
  78. package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.d.ts +27 -0
  79. package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.js +30 -0
  80. package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.js.map +1 -0
  81. package/dist/spark-sdk/src/graphql/objects/Entity.d.ts +16 -0
  82. package/dist/spark-sdk/src/graphql/objects/Entity.js +165 -0
  83. package/dist/spark-sdk/src/graphql/objects/Entity.js.map +1 -0
  84. package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.d.ts +6 -0
  85. package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.js +12 -0
  86. package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.js.map +1 -0
  87. package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.d.ts +7 -0
  88. package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.js +17 -0
  89. package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.js.map +1 -0
  90. package/dist/spark-sdk/src/graphql/objects/Invoice.d.ts +15 -0
  91. package/dist/spark-sdk/src/graphql/objects/Invoice.js +45 -0
  92. package/dist/spark-sdk/src/graphql/objects/Invoice.js.map +1 -0
  93. package/dist/spark-sdk/src/graphql/objects/Leaf.d.ts +11 -0
  94. package/dist/spark-sdk/src/graphql/objects/Leaf.js +29 -0
  95. package/dist/spark-sdk/src/graphql/objects/Leaf.js.map +1 -0
  96. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.d.ts +6 -0
  97. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.js +12 -0
  98. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.js.map +1 -0
  99. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.d.ts +8 -0
  100. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.js +26 -0
  101. package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.js.map +1 -0
  102. package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.d.ts +39 -0
  103. package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.js +128 -0
  104. package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.js.map +1 -0
  105. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.d.ts +8 -0
  106. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.js +15 -0
  107. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.js.map +1 -0
  108. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.d.ts +8 -0
  109. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.js +26 -0
  110. package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.js.map +1 -0
  111. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.d.ts +31 -0
  112. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.js +93 -0
  113. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.js.map +1 -0
  114. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.d.ts +18 -0
  115. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.js +21 -0
  116. package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.js.map +1 -0
  117. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.d.ts +6 -0
  118. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.js +12 -0
  119. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.js.map +1 -0
  120. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.d.ts +8 -0
  121. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.js +26 -0
  122. package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.js.map +1 -0
  123. package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.d.ts +32 -0
  124. package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.js +78 -0
  125. package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.js.map +1 -0
  126. package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.d.ts +15 -0
  127. package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.js +18 -0
  128. package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.js.map +1 -0
  129. package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.d.ts +7 -0
  130. package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.js +14 -0
  131. package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.js.map +1 -0
  132. package/dist/spark-sdk/src/graphql/objects/PageInfo.d.ts +11 -0
  133. package/dist/spark-sdk/src/graphql/objects/PageInfo.js +26 -0
  134. package/dist/spark-sdk/src/graphql/objects/PageInfo.js.map +1 -0
  135. package/dist/spark-sdk/src/graphql/objects/Provider.d.ts +7 -0
  136. package/dist/spark-sdk/src/graphql/objects/Provider.js +14 -0
  137. package/dist/spark-sdk/src/graphql/objects/Provider.js.map +1 -0
  138. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.d.ts +7 -0
  139. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.js +14 -0
  140. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.js.map +1 -0
  141. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.d.ts +7 -0
  142. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.js +19 -0
  143. package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.js.map +1 -0
  144. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.d.ts +11 -0
  145. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.js +22 -0
  146. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.js.map +1 -0
  147. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.d.ts +7 -0
  148. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.js +19 -0
  149. package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.js.map +1 -0
  150. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.d.ts +16 -0
  151. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.js +21 -0
  152. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.js.map +1 -0
  153. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.d.ts +7 -0
  154. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.js +19 -0
  155. package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.js.map +1 -0
  156. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.d.ts +7 -0
  157. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.js +14 -0
  158. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.js.map +1 -0
  159. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.d.ts +7 -0
  160. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.js +19 -0
  161. package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.js.map +1 -0
  162. package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.d.ts +11 -0
  163. package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.js +14 -0
  164. package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.js.map +1 -0
  165. package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.d.ts +11 -0
  166. package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.js +14 -0
  167. package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.js.map +1 -0
  168. package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.d.ts +19 -0
  169. package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.js +46 -0
  170. package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.js.map +1 -0
  171. package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.d.ts +21 -0
  172. package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.js +45 -0
  173. package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.js.map +1 -0
  174. package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.d.ts +6 -0
  175. package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.js +12 -0
  176. package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.js.map +1 -0
  177. package/dist/spark-sdk/src/graphql/objects/SwapLeaf.d.ts +9 -0
  178. package/dist/spark-sdk/src/graphql/objects/SwapLeaf.js +23 -0
  179. package/dist/spark-sdk/src/graphql/objects/SwapLeaf.js.map +1 -0
  180. package/dist/spark-sdk/src/graphql/objects/Transfer.d.ts +24 -0
  181. package/dist/spark-sdk/src/graphql/objects/Transfer.js +82 -0
  182. package/dist/spark-sdk/src/graphql/objects/Transfer.js.map +1 -0
  183. package/dist/spark-sdk/src/graphql/objects/UserLeafInput.d.ts +8 -0
  184. package/dist/spark-sdk/src/graphql/objects/UserLeafInput.js +16 -0
  185. package/dist/spark-sdk/src/graphql/objects/UserLeafInput.js.map +1 -0
  186. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.d.ts +10 -0
  187. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.js +20 -0
  188. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.js.map +1 -0
  189. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.d.ts +7 -0
  190. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.js +17 -0
  191. package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.js.map +1 -0
  192. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.d.ts +6 -0
  193. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.js +12 -0
  194. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.js.map +1 -0
  195. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.d.ts +7 -0
  196. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.js +17 -0
  197. package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.js.map +1 -0
  198. package/dist/spark-sdk/src/graphql/objects/index.d.ts +52 -0
  199. package/dist/spark-sdk/src/graphql/objects/index.js +13 -0
  200. package/dist/spark-sdk/src/graphql/objects/index.js.map +1 -0
  201. package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.d.ts +1 -0
  202. package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.js +18 -0
  203. package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.js.map +1 -0
  204. package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.d.ts +1 -0
  205. package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.js +18 -0
  206. package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.js.map +1 -0
  207. package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.d.ts +1 -0
  208. package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.js +16 -0
  209. package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.js.map +1 -0
  210. package/dist/spark-sdk/src/proto/common.d.ts +58 -0
  211. package/dist/spark-sdk/src/proto/common.js +350 -0
  212. package/dist/spark-sdk/src/proto/common.js.map +1 -0
  213. package/dist/spark-sdk/src/proto/google/protobuf/empty.d.ts +33 -0
  214. package/dist/spark-sdk/src/proto/google/protobuf/empty.js +46 -0
  215. package/dist/spark-sdk/src/proto/google/protobuf/empty.js.map +1 -0
  216. package/dist/spark-sdk/src/proto/google/protobuf/timestamp.d.ts +128 -0
  217. package/dist/spark-sdk/src/proto/google/protobuf/timestamp.js +90 -0
  218. package/dist/spark-sdk/src/proto/google/protobuf/timestamp.js.map +1 -0
  219. package/dist/spark-sdk/src/proto/mock.d.ts +48 -0
  220. package/dist/spark-sdk/src/proto/mock.js +103 -0
  221. package/dist/spark-sdk/src/proto/mock.js.map +1 -0
  222. package/dist/spark-sdk/src/proto/spark.d.ts +1101 -0
  223. package/dist/spark-sdk/src/proto/spark.js +9565 -0
  224. package/dist/spark-sdk/src/proto/spark.js.map +1 -0
  225. package/dist/spark-sdk/src/proto/spark_authn.d.ts +111 -0
  226. package/dist/spark-sdk/src/proto/spark_authn.js +517 -0
  227. package/dist/spark-sdk/src/proto/spark_authn.js.map +1 -0
  228. package/dist/spark-sdk/src/services/config.d.ts +16 -0
  229. package/dist/spark-sdk/src/services/config.js +51 -0
  230. package/dist/spark-sdk/src/services/config.js.map +1 -0
  231. package/dist/spark-sdk/src/services/connection.d.ts +22 -0
  232. package/dist/spark-sdk/src/services/connection.js +180 -0
  233. package/dist/spark-sdk/src/services/connection.js.map +1 -0
  234. package/dist/spark-sdk/src/services/coop-exit.d.ts +20 -0
  235. package/dist/spark-sdk/src/services/coop-exit.js +101 -0
  236. package/dist/spark-sdk/src/services/coop-exit.js.map +1 -0
  237. package/dist/spark-sdk/src/services/deposit.d.ts +21 -0
  238. package/dist/spark-sdk/src/services/deposit.js +214 -0
  239. package/dist/spark-sdk/src/services/deposit.js.map +1 -0
  240. package/dist/spark-sdk/src/services/lightning.d.ts +31 -0
  241. package/dist/spark-sdk/src/services/lightning.js +209 -0
  242. package/dist/spark-sdk/src/services/lightning.js.map +1 -0
  243. package/dist/spark-sdk/src/services/lrc20.d.ts +5 -0
  244. package/dist/spark-sdk/src/services/lrc20.js +27 -0
  245. package/dist/spark-sdk/src/services/lrc20.js.map +1 -0
  246. package/dist/spark-sdk/src/services/token-transactions.d.ts +16 -0
  247. package/dist/spark-sdk/src/services/token-transactions.js +299 -0
  248. package/dist/spark-sdk/src/services/token-transactions.js.map +1 -0
  249. package/dist/spark-sdk/src/services/transfer.d.ts +66 -0
  250. package/dist/spark-sdk/src/services/transfer.js +789 -0
  251. package/dist/spark-sdk/src/services/transfer.js.map +1 -0
  252. package/dist/spark-sdk/src/services/tree-creation.d.ts +29 -0
  253. package/dist/spark-sdk/src/services/tree-creation.js +399 -0
  254. package/dist/spark-sdk/src/services/tree-creation.js.map +1 -0
  255. package/dist/spark-sdk/src/services/wallet-config.d.ts +22 -0
  256. package/dist/spark-sdk/src/services/wallet-config.js +100 -0
  257. package/dist/spark-sdk/src/services/wallet-config.js.map +1 -0
  258. package/dist/spark-sdk/src/signer/signer.d.ts +106 -0
  259. package/dist/spark-sdk/src/signer/signer.js +272 -0
  260. package/dist/spark-sdk/src/signer/signer.js.map +1 -0
  261. package/dist/spark-sdk/src/spark-sdk.d.ts +353 -0
  262. package/dist/spark-sdk/src/spark-sdk.js +1110 -0
  263. package/dist/spark-sdk/src/spark-sdk.js.map +1 -0
  264. package/dist/spark-sdk/src/tests/utils/test-faucet.d.ts +23 -0
  265. package/dist/spark-sdk/src/tests/utils/test-faucet.js +172 -0
  266. package/dist/spark-sdk/src/tests/utils/test-faucet.js.map +1 -0
  267. package/dist/spark-sdk/src/types/grpc.d.ts +6 -0
  268. package/dist/spark-sdk/src/types/grpc.js +2 -0
  269. package/dist/spark-sdk/src/types/grpc.js.map +1 -0
  270. package/dist/spark-sdk/src/types/index.d.ts +3 -0
  271. package/dist/spark-sdk/src/types/index.js +4 -0
  272. package/dist/spark-sdk/src/types/index.js.map +1 -0
  273. package/dist/spark-sdk/src/utils/adaptor-signature.d.ts +7 -0
  274. package/dist/spark-sdk/src/utils/adaptor-signature.js +114 -0
  275. package/dist/spark-sdk/src/utils/adaptor-signature.js.map +1 -0
  276. package/dist/spark-sdk/src/utils/bitcoin.d.ts +12 -0
  277. package/dist/spark-sdk/src/utils/bitcoin.js +87 -0
  278. package/dist/spark-sdk/src/utils/bitcoin.js.map +1 -0
  279. package/dist/spark-sdk/src/utils/crypto.d.ts +1 -0
  280. package/dist/spark-sdk/src/utils/crypto.js +14 -0
  281. package/dist/spark-sdk/src/utils/crypto.js.map +1 -0
  282. package/dist/spark-sdk/src/utils/index.d.ts +12 -0
  283. package/dist/spark-sdk/src/utils/index.js +13 -0
  284. package/dist/spark-sdk/src/utils/index.js.map +1 -0
  285. package/dist/spark-sdk/src/utils/keys.d.ts +9 -0
  286. package/dist/spark-sdk/src/utils/keys.js +72 -0
  287. package/dist/spark-sdk/src/utils/keys.js.map +1 -0
  288. package/dist/spark-sdk/src/utils/mempool.d.ts +1 -0
  289. package/dist/spark-sdk/src/utils/mempool.js +29 -0
  290. package/dist/spark-sdk/src/utils/mempool.js.map +1 -0
  291. package/dist/spark-sdk/src/utils/network.d.ts +36 -0
  292. package/dist/spark-sdk/src/utils/network.js +65 -0
  293. package/dist/spark-sdk/src/utils/network.js.map +1 -0
  294. package/dist/spark-sdk/src/utils/proof.d.ts +1 -0
  295. package/dist/spark-sdk/src/utils/proof.js +12 -0
  296. package/dist/spark-sdk/src/utils/proof.js.map +1 -0
  297. package/dist/spark-sdk/src/utils/response-validation.d.ts +1 -0
  298. package/dist/spark-sdk/src/utils/response-validation.js +16 -0
  299. package/dist/spark-sdk/src/utils/response-validation.js.map +1 -0
  300. package/dist/spark-sdk/src/utils/secret-sharing.d.ts +26 -0
  301. package/dist/spark-sdk/src/utils/secret-sharing.js +174 -0
  302. package/dist/spark-sdk/src/utils/secret-sharing.js.map +1 -0
  303. package/dist/spark-sdk/src/utils/signing.d.ts +12 -0
  304. package/dist/spark-sdk/src/utils/signing.js +67 -0
  305. package/dist/spark-sdk/src/utils/signing.js.map +1 -0
  306. package/dist/spark-sdk/src/utils/token-hashing.d.ts +3 -0
  307. package/dist/spark-sdk/src/utils/token-hashing.js +116 -0
  308. package/dist/spark-sdk/src/utils/token-hashing.js.map +1 -0
  309. package/dist/spark-sdk/src/utils/token-keyshares.d.ts +5 -0
  310. package/dist/spark-sdk/src/utils/token-keyshares.js +17 -0
  311. package/dist/spark-sdk/src/utils/token-keyshares.js.map +1 -0
  312. package/dist/spark-sdk/src/utils/token-transactions.d.ts +5 -0
  313. package/dist/spark-sdk/src/utils/token-transactions.js +40 -0
  314. package/dist/spark-sdk/src/utils/token-transactions.js.map +1 -0
  315. package/dist/spark-sdk/src/utils/transaction.d.ts +6 -0
  316. package/dist/spark-sdk/src/utils/transaction.js +31 -0
  317. package/dist/spark-sdk/src/utils/transaction.js.map +1 -0
  318. package/dist/spark-sdk/src/utils/wasm-wrapper.d.ts +2 -0
  319. package/dist/spark-sdk/src/utils/wasm-wrapper.js +46 -0
  320. package/dist/spark-sdk/src/utils/wasm-wrapper.js.map +1 -0
  321. package/dist/spark-sdk/src/utils/wasm.d.ts +54 -0
  322. package/dist/spark-sdk/src/utils/wasm.js +26 -0
  323. package/dist/spark-sdk/src/utils/wasm.js.map +1 -0
  324. package/package.json +3 -3
  325. package/dist/interface/wallet-interface.js.map +0 -1
  326. package/dist/issuer-sdk.js.map +0 -1
  327. package/dist/proto/common.js.map +0 -1
  328. package/dist/proto/google/protobuf/descriptor.js.map +0 -1
  329. package/dist/proto/google/protobuf/duration.js.map +0 -1
  330. package/dist/proto/google/protobuf/empty.js.map +0 -1
  331. package/dist/proto/google/protobuf/timestamp.js.map +0 -1
  332. package/dist/proto/mock.js.map +0 -1
  333. package/dist/proto/spark.js.map +0 -1
  334. package/dist/proto/spark_authn.js.map +0 -1
  335. package/dist/proto/validate/validate.js.map +0 -1
  336. package/dist/services/freeze.js.map +0 -1
  337. package/dist/services/token-transactions.js.map +0 -1
  338. package/dist/tests/integration/spark.test.js.map +0 -1
  339. package/dist/utils/constants.js.map +0 -1
  340. package/dist/utils/token-hashing.js.map +0 -1
  341. /package/dist/{interface → issuer-sdk/src/interface}/wallet-interface.js +0 -0
  342. /package/dist/{proto → issuer-sdk/src/proto}/common.d.ts +0 -0
  343. /package/dist/{proto → issuer-sdk/src/proto}/common.js +0 -0
  344. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/descriptor.d.ts +0 -0
  345. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/descriptor.js +0 -0
  346. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/duration.d.ts +0 -0
  347. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/duration.js +0 -0
  348. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/empty.d.ts +0 -0
  349. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/empty.js +0 -0
  350. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/timestamp.d.ts +0 -0
  351. /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/timestamp.js +0 -0
  352. /package/dist/{proto → issuer-sdk/src/proto}/mock.d.ts +0 -0
  353. /package/dist/{proto → issuer-sdk/src/proto}/mock.js +0 -0
  354. /package/dist/{proto → issuer-sdk/src/proto}/spark.d.ts +0 -0
  355. /package/dist/{proto → issuer-sdk/src/proto}/spark.js +0 -0
  356. /package/dist/{proto → issuer-sdk/src/proto}/spark_authn.d.ts +0 -0
  357. /package/dist/{proto → issuer-sdk/src/proto}/spark_authn.js +0 -0
  358. /package/dist/{proto → issuer-sdk/src/proto}/validate/validate.d.ts +0 -0
  359. /package/dist/{proto → issuer-sdk/src/proto}/validate/validate.js +0 -0
  360. /package/dist/{services → issuer-sdk/src/services}/freeze.d.ts +0 -0
  361. /package/dist/{services → issuer-sdk/src/services}/freeze.js +0 -0
  362. /package/dist/{services → issuer-sdk/src/services}/token-transactions.d.ts +0 -0
  363. /package/dist/{services → issuer-sdk/src/services}/token-transactions.js +0 -0
  364. /package/dist/{tests → issuer-sdk/src/tests}/integration/spark.test.d.ts +0 -0
  365. /package/dist/{utils → issuer-sdk/src/utils}/constants.d.ts +0 -0
  366. /package/dist/{utils → issuer-sdk/src/utils}/constants.js +0 -0
  367. /package/dist/{utils → issuer-sdk/src/utils}/token-hashing.d.ts +0 -0
  368. /package/dist/{utils → issuer-sdk/src/utils}/token-hashing.js +0 -0
@@ -0,0 +1,116 @@
1
+ import { sha256 } from "@scure/btc-signer/utils";
2
+ export function hashTokenTransaction(tokenTransaction, partialHash = false) {
3
+ if (!tokenTransaction) {
4
+ throw new Error("token transaction cannot be nil");
5
+ }
6
+ let allHashes = [];
7
+ // Hash input leaves if a transfer
8
+ if (tokenTransaction.tokenInput?.$case === "transferInput") {
9
+ // Hash leaves_to_spend
10
+ for (const leaf of tokenTransaction.tokenInput.transferInput
11
+ .leavesToSpend || []) {
12
+ const hashObj = sha256.create();
13
+ if (leaf.prevTokenTransactionHash) {
14
+ hashObj.update(leaf.prevTokenTransactionHash);
15
+ }
16
+ const voutBytes = new Uint8Array(4);
17
+ new DataView(voutBytes.buffer).setUint32(0, leaf.prevTokenTransactionLeafVout, false); // false for big-endian
18
+ hashObj.update(voutBytes);
19
+ allHashes.push(hashObj.digest());
20
+ }
21
+ }
22
+ // Hash input issuance if an issuance
23
+ if (tokenTransaction.tokenInput?.$case === "mintInput") {
24
+ const hashObj = sha256.create();
25
+ if (tokenTransaction.tokenInput.mintInput.issuerPublicKey) {
26
+ hashObj.update(tokenTransaction.tokenInput.mintInput.issuerPublicKey);
27
+ }
28
+ if (tokenTransaction.tokenInput.mintInput.issuerProvidedTimestamp) {
29
+ const timestampBytes = new Uint8Array(8);
30
+ new DataView(timestampBytes.buffer).setBigUint64(0, BigInt(tokenTransaction.tokenInput.mintInput.issuerProvidedTimestamp), true);
31
+ hashObj.update(timestampBytes);
32
+ }
33
+ allHashes.push(hashObj.digest());
34
+ }
35
+ // Hash output leaves
36
+ for (const leaf of tokenTransaction.outputLeaves || []) {
37
+ const hashObj = sha256.create();
38
+ // Only hash ID if it's not empty and not in partial hash mode
39
+ if (leaf.id && !partialHash) {
40
+ hashObj.update(new TextEncoder().encode(leaf.id));
41
+ }
42
+ if (leaf.ownerPublicKey) {
43
+ hashObj.update(leaf.ownerPublicKey);
44
+ }
45
+ if (leaf.revocationPublicKey && !partialHash) {
46
+ hashObj.update(leaf.revocationPublicKey);
47
+ }
48
+ if (leaf.withdrawBondSats && !partialHash) {
49
+ const bondBytes = new Uint8Array(8);
50
+ new DataView(bondBytes.buffer).setBigUint64(0, BigInt(leaf.withdrawBondSats), false);
51
+ hashObj.update(bondBytes);
52
+ }
53
+ if (leaf.withdrawRelativeBlockLocktime && !partialHash) {
54
+ const locktimeBytes = new Uint8Array(8);
55
+ new DataView(locktimeBytes.buffer).setBigUint64(0, BigInt(leaf.withdrawRelativeBlockLocktime), false);
56
+ hashObj.update(locktimeBytes);
57
+ }
58
+ if (leaf.tokenPublicKey) {
59
+ hashObj.update(leaf.tokenPublicKey);
60
+ }
61
+ if (leaf.tokenAmount) {
62
+ hashObj.update(leaf.tokenAmount);
63
+ }
64
+ allHashes.push(hashObj.digest());
65
+ }
66
+ // Sort operator public keys before hashing
67
+ const sortedPubKeys = [
68
+ ...(tokenTransaction.sparkOperatorIdentityPublicKeys || []),
69
+ ].sort((a, b) => {
70
+ for (let i = 0; i < a.length && i < b.length; i++) {
71
+ // @ts-ignore - i < a and b length
72
+ if (a[i] !== b[i])
73
+ return a[i] - b[i];
74
+ }
75
+ return a.length - b.length;
76
+ });
77
+ // Hash spark operator identity public keys
78
+ for (const pubKey of sortedPubKeys) {
79
+ const hashObj = sha256.create();
80
+ if (pubKey) {
81
+ hashObj.update(pubKey);
82
+ }
83
+ allHashes.push(hashObj.digest());
84
+ }
85
+ // Final hash of all concatenated hashes
86
+ const finalHashObj = sha256.create();
87
+ const concatenatedHashes = new Uint8Array(allHashes.reduce((sum, hash) => sum + hash.length, 0));
88
+ let offset = 0;
89
+ for (const hash of allHashes) {
90
+ concatenatedHashes.set(hash, offset);
91
+ offset += hash.length;
92
+ }
93
+ finalHashObj.update(concatenatedHashes);
94
+ return finalHashObj.digest();
95
+ }
96
+ export function hashOperatorSpecificTokenTransactionSignablePayload(payload) {
97
+ if (!payload) {
98
+ throw new Error("revocation keyshare signable payload cannot be nil");
99
+ }
100
+ let allHashes = new Uint8Array(0);
101
+ // Hash final_token_transaction_hash
102
+ const hash1 = sha256(payload.finalTokenTransactionHash || new Uint8Array(0));
103
+ allHashes = concatenateUint8Arrays(allHashes, hash1);
104
+ // Hash operator_identity_public_key
105
+ const hash2 = sha256(payload.operatorIdentityPublicKey || new Uint8Array(0));
106
+ allHashes = concatenateUint8Arrays(allHashes, hash2);
107
+ // Final hash of all concatenated hashes
108
+ return sha256(allHashes);
109
+ }
110
+ function concatenateUint8Arrays(array1, array2) {
111
+ const result = new Uint8Array(array1.length + array2.length);
112
+ result.set(array1, 0);
113
+ result.set(array2, array1.length);
114
+ return result;
115
+ }
116
+ //# sourceMappingURL=token-hashing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-hashing.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/token-hashing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface KeyshareWithOperatorIndex {
2
+ index: number;
3
+ keyshare: Uint8Array;
4
+ }
5
+ export declare function recoverPrivateKeyFromKeyshares(keyshares: KeyshareWithOperatorIndex[], threshold: number): Uint8Array;
@@ -0,0 +1,17 @@
1
+ import { secp256k1 } from "@noble/curves/secp256k1";
2
+ import { bigIntToPrivateKey, recoverSecret, } from "./secret-sharing.js";
3
+ export function recoverPrivateKeyFromKeyshares(keyshares, threshold) {
4
+ // Convert keyshares to secret shares format
5
+ const shares = keyshares.map((keyshare) => ({
6
+ fieldModulus: BigInt("0x" + secp256k1.CURVE.n.toString(16)), // secp256k1 curve order
7
+ threshold,
8
+ index: BigInt(keyshare.index),
9
+ share: BigInt("0x" + Buffer.from(keyshare.keyshare).toString("hex")),
10
+ proofs: [],
11
+ }));
12
+ // Recover the secret
13
+ const recoveredKey = recoverSecret(shares);
14
+ // Convert to bytes
15
+ return bigIntToPrivateKey(recoveredKey);
16
+ }
17
+ //# sourceMappingURL=token-keyshares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-keyshares.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/token-keyshares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAO7B,MAAM,UAAU,8BAA8B,CAC5C,SAAsC,EACtC,SAAiB;IAEjB,4CAA4C;IAC5C,MAAM,MAAM,GAA4B,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnE,YAAY,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB;QACrF,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,EAAE,EAAE;KACX,CAAC,CAAC,CAAC;IAEJ,qBAAqB;IACrB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3C,mBAAmB;IACnB,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { LeafWithPreviousTransactionData, TokenTransaction } from "../proto/spark.js";
2
+ export declare function getTokenLeavesSum(leaves: LeafWithPreviousTransactionData[]): bigint;
3
+ export declare function extractOutputLeaves(fullTokenTransaction: TokenTransaction): LeafWithPreviousTransactionData[];
4
+ export declare function calculateAvailableTokenAmount(outputLeaves: LeafWithPreviousTransactionData[]): bigint;
5
+ export declare function checkIfSelectedLeavesAreAvailable(selectedLeaves: LeafWithPreviousTransactionData[], tokenLeaves: Map<string, LeafWithPreviousTransactionData[]>, tokenPublicKey: Uint8Array): boolean;
@@ -0,0 +1,40 @@
1
+ import { bytesToHex, bytesToNumberBE } from "@noble/curves/abstract/utils";
2
+ import { hashTokenTransaction } from "./token-hashing.js";
3
+ export function getTokenLeavesSum(leaves) {
4
+ return leaves.reduce((sum, leaf) => sum + BigInt(bytesToNumberBE(leaf.leaf.tokenAmount)), BigInt(0));
5
+ }
6
+ export function extractOutputLeaves(fullTokenTransaction) {
7
+ const outputLeaves = [];
8
+ const hash = hashTokenTransaction(fullTokenTransaction, true);
9
+ fullTokenTransaction.outputLeaves.forEach((output, index) => {
10
+ outputLeaves.push({
11
+ leaf: output,
12
+ previousTransactionHash: hash,
13
+ previousTransactionVout: index,
14
+ });
15
+ });
16
+ return outputLeaves;
17
+ }
18
+ export function calculateAvailableTokenAmount(outputLeaves) {
19
+ return outputLeaves.reduce((sum, leaf) => sum + BigInt(bytesToNumberBE(leaf.leaf.tokenAmount)), BigInt(0));
20
+ }
21
+ export function checkIfSelectedLeavesAreAvailable(selectedLeaves, tokenLeaves, tokenPublicKey) {
22
+ const tokenPubKeyHex = bytesToHex(tokenPublicKey);
23
+ const tokenLeavesAvailable = tokenLeaves.get(tokenPubKeyHex);
24
+ if (!tokenLeavesAvailable) {
25
+ return false;
26
+ }
27
+ if (selectedLeaves.length === 0 ||
28
+ tokenLeavesAvailable.length < selectedLeaves.length) {
29
+ return false;
30
+ }
31
+ // Create a Set of available leaf IDs for O(n + m) lookup
32
+ const availableLeafIds = new Set(tokenLeavesAvailable.map((leaf) => leaf.leaf.id));
33
+ for (const selectedLeaf of selectedLeaves) {
34
+ if (!selectedLeaf.leaf?.id || !availableLeafIds.has(selectedLeaf.leaf.id)) {
35
+ return false;
36
+ }
37
+ }
38
+ return true;
39
+ }
40
+ //# sourceMappingURL=token-transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-transactions.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/token-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAK3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAC/B,MAAyC;IAEzC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAK,CAAC,WAAY,CAAC,CAAC,EACrE,MAAM,CAAC,CAAC,CAAC,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,oBAAsC;IAEtC,MAAM,YAAY,GAAsC,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,oBAAoB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAE9D,oBAAoB,CAAC,YAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3D,YAAY,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,uBAAuB,EAAE,IAAK;YAC9B,uBAAuB,EAAE,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,YAA+C;IAE/C,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAK,CAAC,WAAY,CAAC,CAAC,EACrE,MAAM,CAAC,CAAC,CAAC,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,cAAiD,EACjD,WAA2D,EAC3D,cAA0B;IAE1B,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,oBAAoB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,CAAC,CAClD,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Transaction } from "@scure/btc-signer";
2
+ import { TransactionInput, TransactionOutput } from "@scure/btc-signer/psbt";
3
+ import { Network } from "./network.js";
4
+ export declare function createRefundTx(sequence: number, nodeOutPoint: TransactionInput, amountSats: bigint, receivingPubkey: Uint8Array, network: Network): Transaction;
5
+ export declare function getNextTransactionSequence(currSequence?: number): number;
6
+ export declare function getEphemeralAnchorOutput(): TransactionOutput;
@@ -0,0 +1,31 @@
1
+ import { Transaction } from "@scure/btc-signer";
2
+ import { getP2TRScriptFromPublicKey } from "./bitcoin.js";
3
+ const TIME_LOCK_INTERVAL = 100;
4
+ export function createRefundTx(sequence, nodeOutPoint, amountSats, receivingPubkey, network) {
5
+ const newRefundTx = new Transaction({ allowUnknownOutputs: true });
6
+ newRefundTx.addInput({
7
+ ...nodeOutPoint,
8
+ sequence,
9
+ });
10
+ const refundPkScript = getP2TRScriptFromPublicKey(receivingPubkey, network);
11
+ newRefundTx.addOutput({
12
+ script: refundPkScript,
13
+ amount: amountSats,
14
+ });
15
+ newRefundTx.addOutput(getEphemeralAnchorOutput());
16
+ return newRefundTx;
17
+ }
18
+ export function getNextTransactionSequence(currSequence) {
19
+ const currentTimelock = (currSequence || 0) & 0xffff;
20
+ if (currentTimelock - TIME_LOCK_INTERVAL <= 0) {
21
+ throw new Error("timelock interval is less or equal to 0");
22
+ }
23
+ return (1 << 30) | (currentTimelock - TIME_LOCK_INTERVAL);
24
+ }
25
+ export function getEphemeralAnchorOutput() {
26
+ return {
27
+ script: new Uint8Array([0x51]), // OP_TRUE
28
+ amount: 0n,
29
+ };
30
+ }
31
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,YAA8B,EAC9B,UAAkB,EAClB,eAA2B,EAC3B,OAAgB;IAEhB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,WAAW,CAAC,QAAQ,CAAC;QACnB,GAAG,YAAY;QACf,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE5E,WAAW,CAAC,SAAS,CAAC;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,WAAW,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAElD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAAqB;IAC9D,MAAM,eAAe,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IACrD,IAAI,eAAe,GAAG,kBAAkB,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,eAAe,GAAG,kBAAkB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,MAAM,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU;QAC1C,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { InitOutput } from "../wasm/spark_bindings.js";
2
+ export declare function initWasm(): Promise<InitOutput>;
@@ -0,0 +1,46 @@
1
+ import init from "../wasm/spark_bindings.js";
2
+ export async function initWasm() {
3
+ let wasmModule;
4
+ try {
5
+ if (typeof window === "undefined") {
6
+ // Node.js environment
7
+ try {
8
+ // Dynamic imports for Node.js modules to avoid browser compatibility issues
9
+ const fs = await import('fs/promises');
10
+ const path = await import('path');
11
+ const url = await import('url');
12
+ const __filename = url.fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+ const wasmPath = path.resolve(__dirname, "../wasm/spark_bindings_bg.wasm");
15
+ const wasmBuffer = await fs.readFile(wasmPath);
16
+ // Initialize with proper memory configuration for Node.js
17
+ wasmModule = await init({ module_or_path: wasmBuffer }).catch((e) => {
18
+ console.error("WASM initialization error:", e);
19
+ throw e;
20
+ });
21
+ return wasmModule;
22
+ }
23
+ catch (e) {
24
+ console.error("Error with Node.js-specific WASM loading, falling back to standard initialization:", e);
25
+ // Fall back to standard initialization if dynamic imports fail
26
+ wasmModule = await init();
27
+ return wasmModule;
28
+ }
29
+ }
30
+ else {
31
+ // Browser environment
32
+ wasmModule = await init();
33
+ return wasmModule;
34
+ }
35
+ }
36
+ catch (e) {
37
+ console.error("WASM initialization error:", e);
38
+ throw e;
39
+ }
40
+ // Verify the module is properly initialized
41
+ if (!wasmModule || typeof wasmModule !== "object") {
42
+ throw new Error("WASM module not properly initialized");
43
+ }
44
+ return wasmModule;
45
+ }
46
+ //# sourceMappingURL=wasm-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-wrapper.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/wasm-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,IAAoB,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,UAAsB,CAAC;IAE3B,IAAI,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,sBAAsB;YACtB,IAAI,CAAC;gBACH,4EAA4E;gBAC5E,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEhC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,SAAS,EACT,gCAAgC,CACjC,CAAC;gBAEF,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAE/C,0DAA0D;gBAC1D,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClE,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;oBAC/C,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,oFAAoF,EAAE,CAAC,CAAC,CAAC;gBACvG,+DAA+D;gBAC/D,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC;IACV,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { DummyTx, KeyPackage, SigningCommitment, SigningNonce, TransactionResult } from "../wasm/spark_bindings.js";
2
+ export type SignFrostParams = {
3
+ msg: Uint8Array;
4
+ keyPackage: KeyPackage;
5
+ nonce: SigningNonce;
6
+ selfCommitment: SigningCommitment;
7
+ statechainCommitments: any;
8
+ adaptorPubKey?: Uint8Array | undefined;
9
+ };
10
+ export type AggregateFrostParams = {
11
+ msg: Uint8Array;
12
+ statechainCommitments: any;
13
+ selfCommitment: SigningCommitment;
14
+ statechainSignatures: any;
15
+ selfSignature: Uint8Array;
16
+ statechainPublicKeys: any;
17
+ selfPublicKey: Uint8Array;
18
+ verifyingKey: Uint8Array;
19
+ adaptorPubKey?: Uint8Array | undefined;
20
+ };
21
+ export type ConstructNodeTxParams = {
22
+ tx: Uint8Array;
23
+ vout: number;
24
+ address: string;
25
+ locktime: number;
26
+ };
27
+ export declare function signFrost({ msg, keyPackage, nonce, selfCommitment, statechainCommitments, adaptorPubKey, }: SignFrostParams): Uint8Array;
28
+ export declare function aggregateFrost({ msg, statechainCommitments, selfCommitment, statechainSignatures, selfSignature, statechainPublicKeys, selfPublicKey, verifyingKey, adaptorPubKey, }: AggregateFrostParams): Uint8Array;
29
+ export declare function constructNodeTx({ tx, vout, address, locktime, }: ConstructNodeTxParams): TransactionResult;
30
+ export declare function constructRefundTx({ tx, vout, pubkey, network, locktime, }: {
31
+ tx: Uint8Array;
32
+ vout: number;
33
+ pubkey: Uint8Array;
34
+ network: string;
35
+ locktime: number;
36
+ }): TransactionResult;
37
+ export declare function constructSplitTx({ tx, vout, addresses, locktime, }: {
38
+ tx: Uint8Array;
39
+ vout: number;
40
+ addresses: string[];
41
+ locktime: number;
42
+ }): TransactionResult;
43
+ export declare function createDummyTx({ address, amountSats, }: {
44
+ address: string;
45
+ amountSats: bigint;
46
+ }): DummyTx;
47
+ export declare function encryptEcies({ msg, publicKey, }: {
48
+ msg: Uint8Array;
49
+ publicKey: Uint8Array;
50
+ }): Uint8Array;
51
+ export declare function decryptEcies({ encryptedMsg, privateKey, }: {
52
+ encryptedMsg: Uint8Array;
53
+ privateKey: Uint8Array;
54
+ }): Uint8Array;
@@ -0,0 +1,26 @@
1
+ import { construct_node_tx, construct_refund_tx, construct_split_tx, create_dummy_tx, decrypt_ecies, encrypt_ecies, wasm_aggregate_frost, wasm_sign_frost, } from "../wasm/spark_bindings.js";
2
+ export function signFrost({ msg, keyPackage, nonce, selfCommitment, statechainCommitments, adaptorPubKey, }) {
3
+ return wasm_sign_frost(msg, keyPackage, nonce, selfCommitment, statechainCommitments, adaptorPubKey);
4
+ }
5
+ export function aggregateFrost({ msg, statechainCommitments, selfCommitment, statechainSignatures, selfSignature, statechainPublicKeys, selfPublicKey, verifyingKey, adaptorPubKey, }) {
6
+ return wasm_aggregate_frost(msg, statechainCommitments, selfCommitment, statechainSignatures, selfSignature, statechainPublicKeys, selfPublicKey, verifyingKey, adaptorPubKey);
7
+ }
8
+ export function constructNodeTx({ tx, vout, address, locktime, }) {
9
+ return construct_node_tx(tx, vout, address, locktime);
10
+ }
11
+ export function constructRefundTx({ tx, vout, pubkey, network, locktime, }) {
12
+ return construct_refund_tx(tx, vout, pubkey, network, locktime);
13
+ }
14
+ export function constructSplitTx({ tx, vout, addresses, locktime, }) {
15
+ return construct_split_tx(tx, vout, addresses, locktime);
16
+ }
17
+ export function createDummyTx({ address, amountSats, }) {
18
+ return create_dummy_tx(address, amountSats);
19
+ }
20
+ export function encryptEcies({ msg, publicKey, }) {
21
+ return encrypt_ecies(msg, publicKey);
22
+ }
23
+ export function decryptEcies({ encryptedMsg, privateKey, }) {
24
+ return decrypt_ecies(encryptedMsg, privateKey);
25
+ }
26
+ //# sourceMappingURL=wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,aAAa,EAEb,aAAa,EAKb,oBAAoB,EACpB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AA8BnC,MAAM,UAAU,SAAS,CAAC,EACxB,GAAG,EACH,UAAU,EACV,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,GACG;IAChB,OAAO,eAAe,CACpB,GAAG,EACH,UAAU,EACV,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,GACQ;IACrB,OAAO,oBAAoB,CACzB,GAAG,EACH,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,GACc;IACtB,OAAO,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,EAAE,EACF,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,GAOT;IACC,OAAO,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,EAAE,EACF,IAAI,EACJ,SAAS,EACT,QAAQ,GAMT;IACC,OAAO,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,UAAU,GAIX;IACC,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,SAAS,GAIV;IACC,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,YAAY,EACZ,UAAU,GAIX;IACC,OAAO,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildonspark/issuer-sdk",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "description": "Spark Issuer SDK for token issuance",
5
5
  "module": "./dist/issuer-sdk.js",
6
6
  "types": "./dist/issuer-sdk.d.ts",
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@bufbuild/protobuf": "^2.2.3",
41
- "@buildonspark/lrc20-sdk": "0.0.11",
42
- "@buildonspark/spark-sdk": "0.0.13",
41
+ "@buildonspark/lrc20-sdk": "0.0.12",
42
+ "@buildonspark/spark-sdk": "0.0.14",
43
43
  "@noble/curves": "^1.8.0",
44
44
  "@noble/secp256k1": "^2.2.3",
45
45
  "@scure/btc-signer": "^1.5.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-interface.js","sourceRoot":"","sources":["../../src/interface/wallet-interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"issuer-sdk.js","sourceRoot":"","sources":["../src/issuer-sdk.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/proto/common.ts"],"names":[],"mappings":"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"}