@buildonspark/issuer-sdk 0.0.13 → 0.0.15
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.
- package/dist/{interface → issuer-sdk/src/interface}/wallet-interface.d.ts +2 -0
- package/dist/issuer-sdk/src/interface/wallet-interface.js.map +1 -0
- package/dist/{issuer-sdk.d.ts → issuer-sdk/src/issuer-sdk.d.ts} +2 -0
- package/dist/{issuer-sdk.js → issuer-sdk/src/issuer-sdk.js} +9 -1
- package/dist/issuer-sdk/src/issuer-sdk.js.map +1 -0
- package/dist/issuer-sdk/src/proto/common.js.map +1 -0
- package/dist/issuer-sdk/src/proto/google/protobuf/descriptor.js.map +1 -0
- package/dist/issuer-sdk/src/proto/google/protobuf/duration.js.map +1 -0
- package/dist/issuer-sdk/src/proto/google/protobuf/empty.js.map +1 -0
- package/dist/issuer-sdk/src/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/issuer-sdk/src/proto/mock.js.map +1 -0
- package/dist/issuer-sdk/src/proto/spark.js.map +1 -0
- package/dist/issuer-sdk/src/proto/spark_authn.js.map +1 -0
- package/dist/issuer-sdk/src/proto/validate/validate.js.map +1 -0
- package/dist/issuer-sdk/src/services/freeze.js.map +1 -0
- package/dist/issuer-sdk/src/services/token-transactions.js.map +1 -0
- package/dist/{tests → issuer-sdk/src/tests}/integration/spark.test.js +74 -2
- package/dist/issuer-sdk/src/tests/integration/spark.test.js.map +1 -0
- package/dist/issuer-sdk/src/utils/constants.js.map +1 -0
- package/dist/issuer-sdk/src/utils/token-hashing.js.map +1 -0
- package/dist/spark-sdk/src/graphql/client.d.ts +24 -0
- package/dist/spark-sdk/src/graphql/client.js +176 -0
- package/dist/spark-sdk/src/graphql/client.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.js +19 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteCoopExit.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.js +17 -0
- package/dist/spark-sdk/src/graphql/mutations/CompleteLeavesSwap.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.js +20 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestCoopExit.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.js +26 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningReceive.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.js +18 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestLightningSend.js.map +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.js +24 -0
- package/dist/spark-sdk/src/graphql/mutations/RequestSwapLeaves.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.d.ts +17 -0
- package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.js +20 -0
- package/dist/spark-sdk/src/graphql/objects/BitcoinNetwork.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteCoopExitOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.js +16 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteLeavesSwapOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.js +17 -0
- package/dist/spark-sdk/src/graphql/objects/CompleteSeedReleaseOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Connection.d.ts +16 -0
- package/dist/spark-sdk/src/graphql/objects/Connection.js +56 -0
- package/dist/spark-sdk/src/graphql/objects/Connection.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.js +26 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitFeeEstimateOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.d.ts +32 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.js +64 -0
- package/dist/spark-sdk/src/graphql/objects/CoopExitRequest.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.d.ts +24 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.js +30 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyAmount.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.d.ts +27 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.js +30 -0
- package/dist/spark-sdk/src/graphql/objects/CurrencyUnit.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Entity.d.ts +16 -0
- package/dist/spark-sdk/src/graphql/objects/Entity.js +165 -0
- package/dist/spark-sdk/src/graphql/objects/Entity.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.d.ts +6 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.js +12 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.js +17 -0
- package/dist/spark-sdk/src/graphql/objects/GetChallengeOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Invoice.d.ts +15 -0
- package/dist/spark-sdk/src/graphql/objects/Invoice.js +45 -0
- package/dist/spark-sdk/src/graphql/objects/Invoice.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Leaf.d.ts +11 -0
- package/dist/spark-sdk/src/graphql/objects/Leaf.js +29 -0
- package/dist/spark-sdk/src/graphql/objects/Leaf.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.d.ts +6 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.js +12 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.js +26 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapFeeEstimateOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.d.ts +39 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.js +128 -0
- package/dist/spark-sdk/src/graphql/objects/LeavesSwapRequest.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.js +15 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.js +26 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveFeeEstimateOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.d.ts +31 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.js +93 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequest.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.d.ts +18 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.js +21 -0
- package/dist/spark-sdk/src/graphql/objects/LightningReceiveRequestStatus.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.d.ts +6 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.js +12 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.js +26 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendFeeEstimateOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.d.ts +32 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.js +78 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequest.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.d.ts +15 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.js +18 -0
- package/dist/spark-sdk/src/graphql/objects/LightningSendRequestStatus.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/NotifyReceiverTransferInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/PageInfo.d.ts +11 -0
- package/dist/spark-sdk/src/graphql/objects/PageInfo.js +26 -0
- package/dist/spark-sdk/src/graphql/objects/PageInfo.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Provider.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/Provider.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/Provider.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/RequestCoopExitOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.d.ts +11 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.js +22 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLeavesSwapOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.d.ts +16 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.js +21 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningReceiveOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.js +19 -0
- package/dist/spark-sdk/src/graphql/objects/RequestLightningSendOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.d.ts +11 -0
- package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/SparkCoopExitRequestStatus.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.d.ts +11 -0
- package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.js +14 -0
- package/dist/spark-sdk/src/graphql/objects/SparkLeavesSwapRequestStatus.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.d.ts +19 -0
- package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.js +46 -0
- package/dist/spark-sdk/src/graphql/objects/SparkTransferToLeavesConnection.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.d.ts +21 -0
- package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.js +45 -0
- package/dist/spark-sdk/src/graphql/objects/SparkWalletUser.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.d.ts +6 -0
- package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.js +12 -0
- package/dist/spark-sdk/src/graphql/objects/StartSeedReleaseInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/SwapLeaf.d.ts +9 -0
- package/dist/spark-sdk/src/graphql/objects/SwapLeaf.js +23 -0
- package/dist/spark-sdk/src/graphql/objects/SwapLeaf.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/Transfer.d.ts +24 -0
- package/dist/spark-sdk/src/graphql/objects/Transfer.js +82 -0
- package/dist/spark-sdk/src/graphql/objects/Transfer.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/UserLeafInput.d.ts +8 -0
- package/dist/spark-sdk/src/graphql/objects/UserLeafInput.js +16 -0
- package/dist/spark-sdk/src/graphql/objects/UserLeafInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.d.ts +10 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.js +20 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.js +17 -0
- package/dist/spark-sdk/src/graphql/objects/VerifyChallengeOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.d.ts +6 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.js +12 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyInput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.d.ts +7 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.js +17 -0
- package/dist/spark-sdk/src/graphql/objects/WalletUserIdentityPublicKeyOutput.js.map +1 -0
- package/dist/spark-sdk/src/graphql/objects/index.d.ts +52 -0
- package/dist/spark-sdk/src/graphql/objects/index.js +13 -0
- package/dist/spark-sdk/src/graphql/objects/index.js.map +1 -0
- package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.js +18 -0
- package/dist/spark-sdk/src/graphql/queries/CoopExitFeeEstimate.js.map +1 -0
- package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.js +18 -0
- package/dist/spark-sdk/src/graphql/queries/LightningReceiveFeeEstimate.js.map +1 -0
- package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.d.ts +1 -0
- package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.js +16 -0
- package/dist/spark-sdk/src/graphql/queries/LightningSendFeeEstimate.js.map +1 -0
- package/dist/spark-sdk/src/proto/common.d.ts +58 -0
- package/dist/spark-sdk/src/proto/common.js +350 -0
- package/dist/spark-sdk/src/proto/common.js.map +1 -0
- package/dist/spark-sdk/src/proto/google/protobuf/empty.d.ts +33 -0
- package/dist/spark-sdk/src/proto/google/protobuf/empty.js +46 -0
- package/dist/spark-sdk/src/proto/google/protobuf/empty.js.map +1 -0
- package/dist/spark-sdk/src/proto/google/protobuf/timestamp.d.ts +128 -0
- package/dist/spark-sdk/src/proto/google/protobuf/timestamp.js +90 -0
- package/dist/spark-sdk/src/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/spark-sdk/src/proto/mock.d.ts +48 -0
- package/dist/spark-sdk/src/proto/mock.js +103 -0
- package/dist/spark-sdk/src/proto/mock.js.map +1 -0
- package/dist/spark-sdk/src/proto/spark.d.ts +1209 -0
- package/dist/spark-sdk/src/proto/spark.js +10516 -0
- package/dist/spark-sdk/src/proto/spark.js.map +1 -0
- package/dist/spark-sdk/src/proto/spark_authn.d.ts +111 -0
- package/dist/spark-sdk/src/proto/spark_authn.js +517 -0
- package/dist/spark-sdk/src/proto/spark_authn.js.map +1 -0
- package/dist/spark-sdk/src/services/config.d.ts +16 -0
- package/dist/spark-sdk/src/services/config.js +51 -0
- package/dist/spark-sdk/src/services/config.js.map +1 -0
- package/dist/spark-sdk/src/services/connection.d.ts +22 -0
- package/dist/spark-sdk/src/services/connection.js +180 -0
- package/dist/spark-sdk/src/services/connection.js.map +1 -0
- package/dist/spark-sdk/src/services/coop-exit.d.ts +20 -0
- package/dist/spark-sdk/src/services/coop-exit.js +101 -0
- package/dist/spark-sdk/src/services/coop-exit.js.map +1 -0
- package/dist/spark-sdk/src/services/deposit.d.ts +21 -0
- package/dist/spark-sdk/src/services/deposit.js +214 -0
- package/dist/spark-sdk/src/services/deposit.js.map +1 -0
- package/dist/spark-sdk/src/services/lightning.d.ts +31 -0
- package/dist/spark-sdk/src/services/lightning.js +210 -0
- package/dist/spark-sdk/src/services/lightning.js.map +1 -0
- package/dist/spark-sdk/src/services/lrc20.d.ts +5 -0
- package/dist/spark-sdk/src/services/lrc20.js +27 -0
- package/dist/spark-sdk/src/services/lrc20.js.map +1 -0
- package/dist/spark-sdk/src/services/token-transactions.d.ts +16 -0
- package/dist/spark-sdk/src/services/token-transactions.js +299 -0
- package/dist/spark-sdk/src/services/token-transactions.js.map +1 -0
- package/dist/spark-sdk/src/services/transfer.d.ts +66 -0
- package/dist/spark-sdk/src/services/transfer.js +791 -0
- package/dist/spark-sdk/src/services/transfer.js.map +1 -0
- package/dist/spark-sdk/src/services/tree-creation.d.ts +29 -0
- package/dist/spark-sdk/src/services/tree-creation.js +399 -0
- package/dist/spark-sdk/src/services/tree-creation.js.map +1 -0
- package/dist/spark-sdk/src/services/wallet-config.d.ts +22 -0
- package/dist/spark-sdk/src/services/wallet-config.js +100 -0
- package/dist/spark-sdk/src/services/wallet-config.js.map +1 -0
- package/dist/spark-sdk/src/signer/signer.d.ts +106 -0
- package/dist/spark-sdk/src/signer/signer.js +272 -0
- package/dist/spark-sdk/src/signer/signer.js.map +1 -0
- package/dist/spark-sdk/src/spark-sdk.d.ts +353 -0
- package/dist/spark-sdk/src/spark-sdk.js +1114 -0
- package/dist/spark-sdk/src/spark-sdk.js.map +1 -0
- package/dist/spark-sdk/src/tests/utils/test-faucet.d.ts +24 -0
- package/dist/spark-sdk/src/tests/utils/test-faucet.js +181 -0
- package/dist/spark-sdk/src/tests/utils/test-faucet.js.map +1 -0
- package/dist/spark-sdk/src/types/grpc.d.ts +6 -0
- package/dist/spark-sdk/src/types/grpc.js +2 -0
- package/dist/spark-sdk/src/types/grpc.js.map +1 -0
- package/dist/spark-sdk/src/types/index.d.ts +3 -0
- package/dist/spark-sdk/src/types/index.js +4 -0
- package/dist/spark-sdk/src/types/index.js.map +1 -0
- package/dist/spark-sdk/src/utils/adaptor-signature.d.ts +7 -0
- package/dist/spark-sdk/src/utils/adaptor-signature.js +114 -0
- package/dist/spark-sdk/src/utils/adaptor-signature.js.map +1 -0
- package/dist/spark-sdk/src/utils/bitcoin.d.ts +12 -0
- package/dist/spark-sdk/src/utils/bitcoin.js +87 -0
- package/dist/spark-sdk/src/utils/bitcoin.js.map +1 -0
- package/dist/spark-sdk/src/utils/crypto.d.ts +1 -0
- package/dist/spark-sdk/src/utils/crypto.js +14 -0
- package/dist/spark-sdk/src/utils/crypto.js.map +1 -0
- package/dist/spark-sdk/src/utils/index.d.ts +12 -0
- package/dist/spark-sdk/src/utils/index.js +13 -0
- package/dist/spark-sdk/src/utils/index.js.map +1 -0
- package/dist/spark-sdk/src/utils/keys.d.ts +9 -0
- package/dist/spark-sdk/src/utils/keys.js +73 -0
- package/dist/spark-sdk/src/utils/keys.js.map +1 -0
- package/dist/spark-sdk/src/utils/mempool.d.ts +1 -0
- package/dist/spark-sdk/src/utils/mempool.js +29 -0
- package/dist/spark-sdk/src/utils/mempool.js.map +1 -0
- package/dist/spark-sdk/src/utils/network.d.ts +36 -0
- package/dist/spark-sdk/src/utils/network.js +65 -0
- package/dist/spark-sdk/src/utils/network.js.map +1 -0
- package/dist/spark-sdk/src/utils/proof.d.ts +1 -0
- package/dist/spark-sdk/src/utils/proof.js +12 -0
- package/dist/spark-sdk/src/utils/proof.js.map +1 -0
- package/dist/spark-sdk/src/utils/response-validation.d.ts +1 -0
- package/dist/spark-sdk/src/utils/response-validation.js +16 -0
- package/dist/spark-sdk/src/utils/response-validation.js.map +1 -0
- package/dist/spark-sdk/src/utils/secret-sharing.d.ts +26 -0
- package/dist/spark-sdk/src/utils/secret-sharing.js +174 -0
- package/dist/spark-sdk/src/utils/secret-sharing.js.map +1 -0
- package/dist/spark-sdk/src/utils/signing.d.ts +12 -0
- package/dist/spark-sdk/src/utils/signing.js +67 -0
- package/dist/spark-sdk/src/utils/signing.js.map +1 -0
- package/dist/spark-sdk/src/utils/token-hashing.d.ts +3 -0
- package/dist/spark-sdk/src/utils/token-hashing.js +116 -0
- package/dist/spark-sdk/src/utils/token-hashing.js.map +1 -0
- package/dist/spark-sdk/src/utils/token-keyshares.d.ts +5 -0
- package/dist/spark-sdk/src/utils/token-keyshares.js +17 -0
- package/dist/spark-sdk/src/utils/token-keyshares.js.map +1 -0
- package/dist/spark-sdk/src/utils/token-transactions.d.ts +5 -0
- package/dist/spark-sdk/src/utils/token-transactions.js +40 -0
- package/dist/spark-sdk/src/utils/token-transactions.js.map +1 -0
- package/dist/spark-sdk/src/utils/transaction.d.ts +6 -0
- package/dist/spark-sdk/src/utils/transaction.js +31 -0
- package/dist/spark-sdk/src/utils/transaction.js.map +1 -0
- package/dist/spark-sdk/src/utils/wasm-wrapper.d.ts +2 -0
- package/dist/spark-sdk/src/utils/wasm-wrapper.js +46 -0
- package/dist/spark-sdk/src/utils/wasm-wrapper.js.map +1 -0
- package/dist/spark-sdk/src/utils/wasm.d.ts +54 -0
- package/dist/spark-sdk/src/utils/wasm.js +26 -0
- package/dist/spark-sdk/src/utils/wasm.js.map +1 -0
- package/package.json +6 -5
- package/dist/interface/wallet-interface.js.map +0 -1
- package/dist/issuer-sdk.js.map +0 -1
- package/dist/proto/common.js.map +0 -1
- package/dist/proto/google/protobuf/descriptor.js.map +0 -1
- package/dist/proto/google/protobuf/duration.js.map +0 -1
- package/dist/proto/google/protobuf/empty.js.map +0 -1
- package/dist/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/proto/mock.js.map +0 -1
- package/dist/proto/spark.js.map +0 -1
- package/dist/proto/spark_authn.js.map +0 -1
- package/dist/proto/validate/validate.js.map +0 -1
- package/dist/services/freeze.js.map +0 -1
- package/dist/services/token-transactions.js.map +0 -1
- package/dist/tests/integration/spark.test.js.map +0 -1
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/token-hashing.js.map +0 -1
- /package/dist/{interface → issuer-sdk/src/interface}/wallet-interface.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/common.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/common.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/descriptor.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/descriptor.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/duration.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/duration.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/empty.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/empty.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/timestamp.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/google/protobuf/timestamp.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/mock.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/mock.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/spark.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/spark.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/spark_authn.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/spark_authn.js +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/validate/validate.d.ts +0 -0
- /package/dist/{proto → issuer-sdk/src/proto}/validate/validate.js +0 -0
- /package/dist/{services → issuer-sdk/src/services}/freeze.d.ts +0 -0
- /package/dist/{services → issuer-sdk/src/services}/freeze.js +0 -0
- /package/dist/{services → issuer-sdk/src/services}/token-transactions.d.ts +0 -0
- /package/dist/{services → issuer-sdk/src/services}/token-transactions.js +0 -0
- /package/dist/{tests → issuer-sdk/src/tests}/integration/spark.test.d.ts +0 -0
- /package/dist/{utils → issuer-sdk/src/utils}/constants.d.ts +0 -0
- /package/dist/{utils → issuer-sdk/src/utils}/constants.js +0 -0
- /package/dist/{utils → issuer-sdk/src/utils}/token-hashing.d.ts +0 -0
- /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,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,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
|
+
const response = await fetch(new URL("../wasm/spark_bindings_bg.wasm", import.meta.url));
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
throw new Error(`Failed to load WASM file: ${response.statusText}`);
|
|
35
|
+
}
|
|
36
|
+
const wasmBuffer = await response.arrayBuffer();
|
|
37
|
+
wasmModule = await init({ module_or_path: wasmBuffer });
|
|
38
|
+
return wasmModule;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.error("WASM initialization error:", e);
|
|
43
|
+
throw e;
|
|
44
|
+
}
|
|
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,CACX,oFAAoF,EACpF,CAAC,CACF,CAAC;gBACF,+DAA+D;gBAC/D,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3D,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChD,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;YACxD,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;AACH,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,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buildonspark/issuer-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Spark Issuer SDK for token issuance",
|
|
5
5
|
"module": "./dist/issuer-sdk.js",
|
|
6
6
|
"types": "./dist/issuer-sdk.d.ts",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"
|
|
11
|
-
"import": "./dist/issuer-sdk.js"
|
|
10
|
+
"import": "./dist/issuer-sdk/src/issuer-sdk.js"
|
|
12
11
|
}
|
|
13
12
|
},
|
|
14
13
|
"files": [
|
|
@@ -28,6 +27,7 @@
|
|
|
28
27
|
"lint:fix:continue": "eslint --fix . || exit 0",
|
|
29
28
|
"lint:watch": "esw ./src -w --ext .ts,.tsx,.js --color",
|
|
30
29
|
"lint": "eslint .",
|
|
30
|
+
"package-types": "yarn attw --pack .",
|
|
31
31
|
"postversion": "yarn build",
|
|
32
32
|
"test-cmd": "node --experimental-vm-modules $(yarn bin jest) --no-cache --runInBand --bail",
|
|
33
33
|
"test": "echo \"Error: no tests yet\"",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@bufbuild/protobuf": "^2.2.3",
|
|
41
|
-
"@buildonspark/lrc20-sdk": "0.0.
|
|
42
|
-
"@buildonspark/spark-sdk": "0.0.
|
|
41
|
+
"@buildonspark/lrc20-sdk": "0.0.13",
|
|
42
|
+
"@buildonspark/spark-sdk": "0.0.15",
|
|
43
43
|
"@noble/curves": "^1.8.0",
|
|
44
44
|
"@noble/secp256k1": "^2.2.3",
|
|
45
45
|
"@scure/btc-signer": "^1.5.0",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"ts-proto": "^2.6.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
+
"@arethetypeswrong/cli": "^0.17.4",
|
|
56
57
|
"@types/jest": "^29.5.14",
|
|
57
58
|
"@types/node": "^22.13.2",
|
|
58
59
|
"@types/secp256k1": "^4.0.6",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-interface.js","sourceRoot":"","sources":["../../src/interface/wallet-interface.ts"],"names":[],"mappings":""}
|
package/dist/issuer-sdk.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"issuer-sdk.js","sourceRoot":"","sources":["../src/issuer-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/proto/common.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/proto/common.ts"],"names":[],"mappings":"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"}
|