@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 @@
1
+ {"version":3,"file":"spark-sdk.js","sourceRoot":"","sources":["../../../../spark-sdk/src/spark-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Transaction } from "@scure/btc-signer";
2
+ import { TransactionInput, TransactionOutput } from "@scure/btc-signer/psbt";
3
+ export type FaucetCoin = {
4
+ key: Uint8Array;
5
+ outpoint: TransactionInput;
6
+ txout: TransactionOutput;
7
+ };
8
+ export declare class BitcoinFaucet {
9
+ private url;
10
+ private username;
11
+ private password;
12
+ private coins;
13
+ private static instance;
14
+ constructor(url: string, username: string, password: string);
15
+ fund(): Promise<FaucetCoin>;
16
+ refill(): Promise<void>;
17
+ sendFaucetCoinToP2WPKHAddress(pubKey: Uint8Array): Promise<void>;
18
+ signFaucetCoin(unsignedTx: Transaction, fundingTxOut: TransactionOutput, key: Uint8Array): Promise<Transaction>;
19
+ private call;
20
+ generateToAddress(numBlocks: number, address: string): Promise<any>;
21
+ getBlock(blockHash: string): Promise<any>;
22
+ broadcastTx(txHex: string): Promise<any>;
23
+ }
@@ -0,0 +1,172 @@
1
+ import { bytesToHex, hexToBytes } from "@noble/curves/abstract/utils";
2
+ import { schnorr, secp256k1 } from "@noble/curves/secp256k1";
3
+ import { SigHash, Transaction } from "@scure/btc-signer";
4
+ import { taprootTweakPrivKey } from "@scure/btc-signer/utils";
5
+ import { getP2TRAddressFromPublicKey, getP2TRScriptFromPublicKey, } from "../../utils/bitcoin.js";
6
+ import { getNetwork, Network } from "../../utils/network.js";
7
+ import * as btc from "@scure/btc-signer";
8
+ const COIN_AMOUNT = 10000000n;
9
+ export class BitcoinFaucet {
10
+ url;
11
+ username;
12
+ password;
13
+ coins = [];
14
+ static instance = null;
15
+ constructor(url, username, password) {
16
+ this.url = url;
17
+ this.username = username;
18
+ this.password = password;
19
+ if (BitcoinFaucet.instance) {
20
+ return BitcoinFaucet.instance;
21
+ }
22
+ BitcoinFaucet.instance = this;
23
+ }
24
+ async fund() {
25
+ // If no coins available, refill the faucet
26
+ if (this.coins.length === 0) {
27
+ await this.refill();
28
+ }
29
+ // Take the first coin from the faucet
30
+ const coin = this.coins[0];
31
+ // Remove the used coin from the array
32
+ this.coins = this.coins.slice(1);
33
+ return coin;
34
+ }
35
+ async refill() {
36
+ // Generate key for initial block reward
37
+ const key = secp256k1.utils.randomPrivateKey();
38
+ const pubKey = secp256k1.getPublicKey(key);
39
+ const address = getP2TRAddressFromPublicKey(pubKey, Network.LOCAL);
40
+ // Mine a block to this address
41
+ const blockHash = await this.generateToAddress(1, address);
42
+ // Get block and funding transaction
43
+ const block = await this.getBlock(blockHash[0]);
44
+ const fundingTx = Transaction.fromRaw(hexToBytes(block.tx[0].hex), {
45
+ allowUnknownOutputs: true,
46
+ });
47
+ // Mine 100 blocks to make funds spendable
48
+ const randomKey = secp256k1.utils.randomPrivateKey();
49
+ const randomPubKey = secp256k1.getPublicKey(randomKey);
50
+ const randomAddress = getP2TRAddressFromPublicKey(randomPubKey, Network.LOCAL);
51
+ await this.generateToAddress(100, randomAddress);
52
+ const fundingTxId = block.tx[0].txid;
53
+ const fundingOutpoint = {
54
+ txid: fundingTxId,
55
+ index: 0,
56
+ };
57
+ const splitTx = new Transaction();
58
+ splitTx.addInput(fundingOutpoint);
59
+ let initialValue = fundingTx.getOutput(0).amount;
60
+ const coinAmount = 10000000n;
61
+ const coinKeys = [];
62
+ while (initialValue > coinAmount + 100000n) {
63
+ const coinKey = secp256k1.utils.randomPrivateKey();
64
+ const coinPubKey = secp256k1.getPublicKey(coinKey);
65
+ coinKeys.push(coinKey);
66
+ const script = getP2TRScriptFromPublicKey(coinPubKey, Network.LOCAL);
67
+ splitTx.addOutput({
68
+ script,
69
+ amount: coinAmount,
70
+ });
71
+ initialValue -= coinAmount;
72
+ }
73
+ // Sign and broadcast
74
+ const signedSplitTx = await this.signFaucetCoin(splitTx, fundingTx.getOutput(0), key);
75
+ await this.broadcastTx(bytesToHex(signedSplitTx.extract()));
76
+ // Create faucet coins
77
+ const splitTxId = signedSplitTx.id;
78
+ for (let i = 0; i < signedSplitTx.outputsLength; i++) {
79
+ this.coins.push({
80
+ // @ts-ignore - It's a test file
81
+ key: coinKeys[i],
82
+ outpoint: {
83
+ txid: hexToBytes(splitTxId),
84
+ index: i,
85
+ },
86
+ txout: signedSplitTx.getOutput(i),
87
+ });
88
+ }
89
+ }
90
+ async sendFaucetCoinToP2WPKHAddress(pubKey) {
91
+ const sendToPubKeyTx = new Transaction();
92
+ // For P2WPKH, we need to hash the public key
93
+ // Create a P2WPKH address
94
+ const p2wpkhAddress = btc.p2wpkh(pubKey, getNetwork(Network.LOCAL)).address;
95
+ if (!p2wpkhAddress) {
96
+ throw new Error("Invalid P2WPKH address");
97
+ }
98
+ // Get the coin to spend
99
+ const coinToSend = await this.fund();
100
+ if (!coinToSend) {
101
+ throw new Error("No coins available");
102
+ }
103
+ // Add the input
104
+ sendToPubKeyTx.addInput(coinToSend.outpoint);
105
+ // Add the output using the address directly
106
+ sendToPubKeyTx.addOutputAddress(p2wpkhAddress, 100000n, getNetwork(Network.LOCAL));
107
+ // Sign the transaction and get the signed result
108
+ const signedTx = await this.signFaucetCoin(sendToPubKeyTx, coinToSend.txout, coinToSend.key);
109
+ // Broadcast the signed transaction
110
+ await this.broadcastTx(bytesToHex(signedTx.extract()));
111
+ }
112
+ async signFaucetCoin(unsignedTx, fundingTxOut, key) {
113
+ const pubKey = secp256k1.getPublicKey(key);
114
+ const internalKey = pubKey.slice(1); // Remove the 0x02/0x03 prefix
115
+ const script = getP2TRScriptFromPublicKey(pubKey, Network.LOCAL);
116
+ unsignedTx.updateInput(0, {
117
+ tapInternalKey: internalKey,
118
+ witnessUtxo: {
119
+ script,
120
+ amount: fundingTxOut.amount,
121
+ },
122
+ });
123
+ const sighash = unsignedTx.preimageWitnessV1(0, new Array(unsignedTx.inputsLength).fill(script), SigHash.DEFAULT, new Array(unsignedTx.inputsLength).fill(fundingTxOut.amount));
124
+ const merkleRoot = new Uint8Array();
125
+ const tweakedKey = taprootTweakPrivKey(key, merkleRoot);
126
+ if (!tweakedKey)
127
+ throw new Error("Invalid private key for taproot tweaking");
128
+ const signature = schnorr.sign(sighash, tweakedKey);
129
+ unsignedTx.updateInput(0, {
130
+ tapKeySig: signature,
131
+ });
132
+ unsignedTx.finalize();
133
+ return unsignedTx;
134
+ }
135
+ async call(method, params) {
136
+ try {
137
+ const response = await fetch(this.url, {
138
+ method: "POST",
139
+ headers: {
140
+ "Content-Type": "application/json",
141
+ Authorization: "Basic " + btoa(`${this.username}:${this.password}`),
142
+ },
143
+ body: JSON.stringify({
144
+ jsonrpc: "1.0",
145
+ id: "spark-js",
146
+ method,
147
+ params,
148
+ }),
149
+ });
150
+ const data = await response.json();
151
+ if (data.error) {
152
+ console.error(`RPC Error for method ${method}:`, data.error);
153
+ throw new Error(`Bitcoin RPC error: ${data.error.message}`);
154
+ }
155
+ return data.result;
156
+ }
157
+ catch (error) {
158
+ console.error("Error calling Bitcoin RPC:", error);
159
+ throw error;
160
+ }
161
+ }
162
+ async generateToAddress(numBlocks, address) {
163
+ return await this.call("generatetoaddress", [numBlocks, address]);
164
+ }
165
+ async getBlock(blockHash) {
166
+ return await this.call("getblock", [blockHash, 2]);
167
+ }
168
+ async broadcastTx(txHex) {
169
+ return await this.call("sendrawtransaction", [txHex, 0]);
170
+ }
171
+ }
172
+ //# sourceMappingURL=test-faucet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-faucet.js","sourceRoot":"","sources":["../../../../../../spark-sdk/src/tests/utils/test-faucet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CallOptions } from "nice-grpc";
2
+ export interface RetryOptions {
3
+ retry?: boolean;
4
+ retryMaxAttempts?: number;
5
+ }
6
+ export type SparkCallOptions = CallOptions & RetryOptions;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=grpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/types/grpc.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "../graphql/objects/index.js";
2
+ export * as CommonProto from "../proto/common.js";
3
+ export * as SparkProto from "../proto/spark.js";
@@ -0,0 +1,4 @@
1
+ export * from "../graphql/objects/index.js";
2
+ export * as CommonProto from "../proto/common.js";
3
+ export * as SparkProto from "../proto/spark.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function generateSignatureFromExistingAdaptor(signature: Uint8Array, adaptorPrivateKeyBytes: Uint8Array): Uint8Array;
2
+ export declare function generateAdaptorFromSignature(signature: Uint8Array): {
3
+ adaptorSignature: Uint8Array;
4
+ adaptorPrivateKey: Uint8Array;
5
+ };
6
+ export declare function validateOutboundAdaptorSignature(pubkey: Uint8Array, hash: Uint8Array, signature: Uint8Array, adaptorPubkey: Uint8Array): boolean;
7
+ export declare function applyAdaptorToSignature(pubkey: Uint8Array, hash: Uint8Array, signature: Uint8Array, adaptorPrivateKeyBytes: Uint8Array): Uint8Array;
@@ -0,0 +1,114 @@
1
+ import { mod } from "@noble/curves/abstract/modular";
2
+ import { bytesToNumberBE, numberToBytesBE } from "@noble/curves/abstract/utils";
3
+ import { schnorr, secp256k1 } from "@noble/curves/secp256k1";
4
+ export function generateSignatureFromExistingAdaptor(signature, adaptorPrivateKeyBytes) {
5
+ const { r, s } = parseSignature(signature);
6
+ const sBigInt = bytesToNumberBE(s);
7
+ const tBigInt = bytesToNumberBE(adaptorPrivateKeyBytes);
8
+ const newS = mod(sBigInt - tBigInt, secp256k1.CURVE.n);
9
+ const newSignature = new Uint8Array([...r, ...numberToBytesBE(newS, 32)]);
10
+ return newSignature;
11
+ }
12
+ export function generateAdaptorFromSignature(signature) {
13
+ const adaptorPrivateKey = secp256k1.utils.randomPrivateKey();
14
+ const { r, s } = parseSignature(signature);
15
+ const sBigInt = bytesToNumberBE(s);
16
+ const tBigInt = bytesToNumberBE(adaptorPrivateKey);
17
+ // Calculate s - adaptorPrivateKey
18
+ const newS = mod(sBigInt - tBigInt, secp256k1.CURVE.n);
19
+ const newSignature = new Uint8Array([...r, ...numberToBytesBE(newS, 32)]);
20
+ return {
21
+ adaptorSignature: newSignature,
22
+ adaptorPrivateKey: adaptorPrivateKey,
23
+ };
24
+ }
25
+ export function validateOutboundAdaptorSignature(pubkey, hash, signature, adaptorPubkey) {
26
+ return schnorrVerifyWithAdaptor(signature, hash, pubkey, adaptorPubkey, false);
27
+ }
28
+ export function applyAdaptorToSignature(pubkey, hash, signature, adaptorPrivateKeyBytes) {
29
+ // Parse the signature
30
+ const { r, s } = parseSignature(signature);
31
+ // Convert values to bigints
32
+ const sBigInt = bytesToNumberBE(s);
33
+ const adaptorPrivateKey = bytesToNumberBE(adaptorPrivateKeyBytes);
34
+ // Try adding adaptor to s first
35
+ const newS = mod(sBigInt + adaptorPrivateKey, secp256k1.CURVE.n);
36
+ const newSig = new Uint8Array([...r, ...numberToBytesBE(newS, 32)]);
37
+ if (schnorr.verify(newSig, hash, pubkey)) {
38
+ return newSig;
39
+ }
40
+ // If adding didn't work, try subtracting
41
+ const altS = mod(sBigInt - adaptorPrivateKey, secp256k1.CURVE.n);
42
+ const altSig = new Uint8Array([...r, ...numberToBytesBE(altS, 32)]);
43
+ if (schnorr.verify(altSig, hash, pubkey)) {
44
+ return altSig;
45
+ }
46
+ throw new Error("Cannot apply adaptor to signature");
47
+ }
48
+ // Step 1: P = lift_x(int(pk))
49
+ // Step 2: r = int(sig[0:32])
50
+ // Step 3: s = int(sig[32:64])
51
+ // Step 4: e = int(tagged_hash("BIP0340/challenge", bytes(r) || bytes(P) || m)) mod n
52
+ // Step 5: R = sG - eP
53
+ // Step 6: R = R + T
54
+ function schnorrVerifyWithAdaptor(signature, hash, pubKeyBytes, adaptorPubkey, inbound) {
55
+ // Step 1: Verify message length
56
+ if (hash.length !== 32) {
57
+ throw new Error(`wrong size for message (got ${hash.length}, want 32)`);
58
+ }
59
+ // Step 2: Lift x coordinate to curve point
60
+ const pubKey = schnorr.utils.lift_x(bytesToNumberBE(pubKeyBytes));
61
+ pubKey.assertValidity();
62
+ // Parse signature
63
+ // Step 3 and 4 is handled by parseSignature
64
+ const { r, s } = parseSignature(signature);
65
+ // Step 5: Compute challenge
66
+ const commitmenet = schnorr.utils.taggedHash("BIP0340/challenge", r, pubKey.toRawBytes().slice(1), hash);
67
+ if (commitmenet.length > 32) {
68
+ throw new Error("hash of (r || P || m) too big");
69
+ }
70
+ const e = mod(bytesToNumberBE(commitmenet), secp256k1.CURVE.n);
71
+ const negE = mod(-e, secp256k1.CURVE.n); // Negate e before multiplication
72
+ // Step 6: Calculate R = sG - eP
73
+ const R = secp256k1.ProjectivePoint.BASE.multiplyAndAddUnsafe(pubKey, bytesToNumberBE(s), negE);
74
+ if (!R) {
75
+ throw new Error("R is undefined");
76
+ }
77
+ R.assertValidity();
78
+ // Step 6.5: Add adaptor public key T to R
79
+ const adaptorPoint = secp256k1.ProjectivePoint.fromHex(adaptorPubkey);
80
+ const newR = R.add(adaptorPoint);
81
+ // Step 7: Check for point at infinity (if not inbound)
82
+ if (!inbound && newR.equals(secp256k1.ProjectivePoint.ZERO)) {
83
+ throw new Error("calculated R point is the point at infinity");
84
+ }
85
+ // Step 8: Check if R.y is odd
86
+ newR.assertValidity();
87
+ if (!newR.hasEvenY()) {
88
+ throw new Error("calculated R y-value is odd");
89
+ }
90
+ // Step 9: Check if R.x == r
91
+ const rNum = bytesToNumberBE(r);
92
+ if (newR.toAffine().x !== rNum) {
93
+ throw new Error("calculated R point was not given R");
94
+ }
95
+ return true;
96
+ }
97
+ function parseSignature(signature) {
98
+ if (signature.length < 64) {
99
+ throw new Error(`malformed signature: too short: ${signature.length} < 64`);
100
+ }
101
+ if (signature.length > 64) {
102
+ throw new Error(`malformed signature: too long: ${signature.length} > 64`);
103
+ }
104
+ const r = signature.slice(0, 32);
105
+ const s = signature.slice(32, 64);
106
+ if (bytesToNumberBE(r) >= secp256k1.CURVE.Fp.ORDER) {
107
+ throw new Error(`invalid signature: r >= field prime`);
108
+ }
109
+ if (bytesToNumberBE(s) >= secp256k1.CURVE.n) {
110
+ throw new Error(`invalid signature: s >= group order`);
111
+ }
112
+ return { r, s };
113
+ }
114
+ //# sourceMappingURL=adaptor-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptor-signature.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/adaptor-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as btc from "@scure/btc-signer";
2
+ import { TransactionOutput } from "@scure/btc-signer/psbt";
3
+ import { Network } from "./network.js";
4
+ export declare function computeTaprootKeyNoScript(pubkey: Uint8Array): Uint8Array;
5
+ export declare function getP2TRScriptFromPublicKey(pubKey: Uint8Array, network: Network): Uint8Array;
6
+ export declare function getP2TRAddressFromPublicKey(pubKey: Uint8Array, network: Network): string;
7
+ export declare function getP2TRAddressFromPkScript(pkScript: Uint8Array, network: Network): string;
8
+ export declare function getTxFromRawTxHex(rawTxHex: string): btc.Transaction;
9
+ export declare function getTxFromRawTxBytes(rawTxBytes: Uint8Array): btc.Transaction;
10
+ export declare function getSigHashFromTx(tx: btc.Transaction, inputIndex: number, prevOutput: TransactionOutput): Uint8Array;
11
+ export declare function getTxId(tx: btc.Transaction): string;
12
+ export declare function getTxIdNoReverse(tx: btc.Transaction): string;
@@ -0,0 +1,87 @@
1
+ import { bytesToHex, bytesToNumberBE, hexToBytes, } from "@noble/curves/abstract/utils";
2
+ import { schnorr, secp256k1 } from "@noble/curves/secp256k1";
3
+ import * as btc from "@scure/btc-signer";
4
+ import { sha256 } from "@scure/btc-signer/utils";
5
+ import { getNetwork } from "./network.js";
6
+ // const t = tapTweak(pubKey, h); // t = int_from_bytes(tagged_hash("TapTweak", pubkey + h)
7
+ // const P = u.lift_x(u.bytesToNumberBE(pubKey)); // P = lift_x(int_from_bytes(pubkey))
8
+ // const Q = P.add(Point.fromPrivateKey(t)); // Q = point_add(P, point_mul(G, t))
9
+ export function computeTaprootKeyNoScript(pubkey) {
10
+ if (pubkey.length !== 32) {
11
+ throw new Error("Public key must be 32 bytes");
12
+ }
13
+ const taggedHash = schnorr.utils.taggedHash("TapTweak", pubkey);
14
+ const tweak = bytesToNumberBE(taggedHash);
15
+ // Get the original point
16
+ const P = schnorr.utils.lift_x(schnorr.utils.bytesToNumberBE(pubkey));
17
+ // Add the tweak times the generator point
18
+ const Q = P.add(secp256k1.ProjectivePoint.fromPrivateKey(tweak));
19
+ return Q.toRawBytes();
20
+ }
21
+ export function getP2TRScriptFromPublicKey(pubKey, network) {
22
+ if (pubKey.length !== 33) {
23
+ throw new Error("Public key must be 33 bytes");
24
+ }
25
+ const internalKey = secp256k1.ProjectivePoint.fromHex(pubKey);
26
+ const script = btc.p2tr(internalKey.toRawBytes().slice(1, 33), undefined, getNetwork(network)).script;
27
+ if (!script) {
28
+ throw new Error("Failed to get P2TR address");
29
+ }
30
+ return script;
31
+ }
32
+ export function getP2TRAddressFromPublicKey(pubKey, network) {
33
+ if (pubKey.length !== 33) {
34
+ throw new Error("Public key must be 33 bytes");
35
+ }
36
+ const internalKey = secp256k1.ProjectivePoint.fromHex(pubKey);
37
+ const address = btc.p2tr(internalKey.toRawBytes().slice(1, 33), undefined, getNetwork(network)).address;
38
+ if (!address) {
39
+ throw new Error("Failed to get P2TR address");
40
+ }
41
+ return address;
42
+ }
43
+ export function getP2TRAddressFromPkScript(pkScript, network) {
44
+ if (pkScript.length !== 34 || pkScript[0] !== 0x51 || pkScript[1] !== 0x20) {
45
+ throw new Error("Invalid pkscript");
46
+ }
47
+ const parsedScript = btc.OutScript.decode(pkScript);
48
+ return btc.Address(getNetwork(network)).encode(parsedScript);
49
+ }
50
+ export function getTxFromRawTxHex(rawTxHex) {
51
+ const txBytes = hexToBytes(rawTxHex);
52
+ const tx = btc.Transaction.fromRaw(txBytes, {
53
+ allowUnknownOutputs: true,
54
+ });
55
+ if (!tx) {
56
+ throw new Error("Failed to parse transaction");
57
+ }
58
+ return tx;
59
+ }
60
+ export function getTxFromRawTxBytes(rawTxBytes) {
61
+ const tx = btc.Transaction.fromRaw(rawTxBytes, {
62
+ allowUnknownOutputs: true,
63
+ });
64
+ if (!tx) {
65
+ throw new Error("Failed to parse transaction");
66
+ }
67
+ return tx;
68
+ }
69
+ export function getSigHashFromTx(tx, inputIndex, prevOutput) {
70
+ // For Taproot, we use preimageWitnessV1 with SIGHASH_DEFAULT (0x00)
71
+ const prevScript = prevOutput.script;
72
+ if (!prevScript) {
73
+ throw new Error("No script found in prevOutput");
74
+ }
75
+ const amount = prevOutput.amount;
76
+ if (!amount) {
77
+ throw new Error("No amount found in prevOutput");
78
+ }
79
+ return tx.preimageWitnessV1(inputIndex, new Array(tx.inputsLength).fill(prevScript), btc.SigHash.DEFAULT, new Array(tx.inputsLength).fill(amount));
80
+ }
81
+ export function getTxId(tx) {
82
+ return bytesToHex(sha256(sha256(tx.unsignedTx)).reverse());
83
+ }
84
+ export function getTxIdNoReverse(tx) {
85
+ return bytesToHex(sha256(sha256(tx.unsignedTx)));
86
+ }
87
+ //# sourceMappingURL=bitcoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const getCrypto: () => Crypto;
@@ -0,0 +1,14 @@
1
+ import crypto from "crypto";
2
+ export const getCrypto = () => {
3
+ // Browser environment
4
+ if (typeof window !== "undefined" && window.crypto) {
5
+ return window.crypto;
6
+ }
7
+ // Node.js environment
8
+ if (typeof global !== "undefined" && global.crypto) {
9
+ return global.crypto;
10
+ }
11
+ // Node.js environment without global.crypto (older versions)
12
+ return crypto;
13
+ };
14
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE;IACpC,sBAAsB;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,sBAAsB;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,6DAA6D;IAC7D,OAAO,MAAgB,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from "./adaptor-signature.js";
2
+ export * from "./bitcoin.js";
3
+ export * from "./keys.js";
4
+ export * from "./mempool.js";
5
+ export * from "./network.js";
6
+ export * from "./proof.js";
7
+ export * from "./response-validation.js";
8
+ export * from "./secret-sharing.js";
9
+ export * from "./signing.js";
10
+ export * from "./transaction.js";
11
+ export * from "./wasm-wrapper.js";
12
+ export * from "./wasm.js";
@@ -0,0 +1,13 @@
1
+ export * from "./adaptor-signature.js";
2
+ export * from "./bitcoin.js";
3
+ export * from "./keys.js";
4
+ export * from "./mempool.js";
5
+ export * from "./network.js";
6
+ export * from "./proof.js";
7
+ export * from "./response-validation.js";
8
+ export * from "./secret-sharing.js";
9
+ export * from "./signing.js";
10
+ export * from "./transaction.js";
11
+ export * from "./wasm-wrapper.js";
12
+ export * from "./wasm.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../spark-sdk/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { HDKey } from "@scure/bip32";
2
+ export declare function addPublicKeys(a: Uint8Array, b: Uint8Array): Uint8Array;
3
+ export declare function applyAdditiveTweakToPublicKey(pubkey: Uint8Array, tweak: Uint8Array): Uint8Array<ArrayBufferLike>;
4
+ export declare function subtractPublicKeys(a: Uint8Array, b: Uint8Array): Uint8Array<ArrayBufferLike>;
5
+ export declare function addPrivateKeys(a: Uint8Array, b: Uint8Array): Uint8Array<ArrayBufferLike>;
6
+ export declare function subtractPrivateKeys(a: Uint8Array, b: Uint8Array): Uint8Array<ArrayBufferLike>;
7
+ export declare function sumOfPrivateKeys(keys: Uint8Array[]): Uint8Array<ArrayBufferLike>;
8
+ export declare function lastKeyWithTarget(target: Uint8Array, keys: Uint8Array[]): Uint8Array<ArrayBufferLike>;
9
+ export declare function getMasterHDKeyFromSeed(seed: Uint8Array, path: number): HDKey;