@buildonspark/spark-sdk 0.2.11 → 0.2.12

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 (94) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/bare/index.cjs +703 -206
  3. package/dist/bare/index.d.cts +47 -3
  4. package/dist/bare/index.d.ts +47 -3
  5. package/dist/bare/index.js +626 -133
  6. package/dist/{chunk-A5M55UR3.js → chunk-5VWGOHED.js} +499 -8
  7. package/dist/{chunk-3WBPICWC.js → chunk-NQMQVXR5.js} +1 -1
  8. package/dist/{chunk-QNYJGFPD.js → chunk-OEK3R57K.js} +149 -123
  9. package/dist/{chunk-76SYPHOC.js → chunk-TB7DG5CU.js} +2 -2
  10. package/dist/{chunk-6CMNEDBK.js → chunk-XXTWWW6L.js} +1 -1
  11. package/dist/{client-Dd3QnxQu.d.ts → client-D7KDa4Ih.d.ts} +1 -1
  12. package/dist/{client-B9CAWKWz.d.cts → client-DVuA5-7M.d.cts} +1 -1
  13. package/dist/debug.cjs +703 -206
  14. package/dist/debug.d.cts +4 -4
  15. package/dist/debug.d.ts +4 -4
  16. package/dist/debug.js +4 -4
  17. package/dist/graphql/objects/index.d.cts +3 -3
  18. package/dist/graphql/objects/index.d.ts +3 -3
  19. package/dist/index.cjs +725 -228
  20. package/dist/index.d.cts +6 -6
  21. package/dist/index.d.ts +6 -6
  22. package/dist/index.js +5 -5
  23. package/dist/index.node.cjs +725 -228
  24. package/dist/index.node.d.cts +6 -6
  25. package/dist/index.node.d.ts +6 -6
  26. package/dist/index.node.js +4 -4
  27. package/dist/{logging-Bt_WdZbu.d.ts → logging-ClNhGzus.d.ts} +3 -3
  28. package/dist/{logging-BOAzMqpM.d.cts → logging-D3kvES69.d.cts} +3 -3
  29. package/dist/native/index.cjs +724 -227
  30. package/dist/native/index.d.cts +47 -3
  31. package/dist/native/index.d.ts +47 -3
  32. package/dist/native/index.js +628 -135
  33. package/dist/proto/spark.cjs +499 -8
  34. package/dist/proto/spark.d.cts +1 -1
  35. package/dist/proto/spark.d.ts +1 -1
  36. package/dist/proto/spark.js +17 -1
  37. package/dist/proto/spark_token.d.cts +1 -1
  38. package/dist/proto/spark_token.d.ts +1 -1
  39. package/dist/proto/spark_token.js +2 -2
  40. package/dist/{spark-CtGJPkx4.d.cts → spark-C7OG9mGJ.d.cts} +79 -2
  41. package/dist/{spark-CtGJPkx4.d.ts → spark-C7OG9mGJ.d.ts} +79 -2
  42. package/dist/{spark-wallet-yc2KhsVY.d.cts → spark-wallet-Dg5IRQe2.d.cts} +3 -5
  43. package/dist/{spark-wallet-Cp3yv6cK.d.ts → spark-wallet-DiHSU-pz.d.ts} +3 -5
  44. package/dist/{spark-wallet.node-D4IovOHu.d.ts → spark-wallet.node-BZrxwomN.d.ts} +1 -1
  45. package/dist/{spark-wallet.node-D0Qw5Wb4.d.cts → spark-wallet.node-DSWb18zh.d.cts} +1 -1
  46. package/dist/tests/test-utils.cjs +573 -66
  47. package/dist/tests/test-utils.d.cts +4 -4
  48. package/dist/tests/test-utils.d.ts +4 -4
  49. package/dist/tests/test-utils.js +5 -5
  50. package/dist/{token-transactions-CwhlOgIP.d.cts → token-transactions-B-WqFYpW.d.cts} +2 -2
  51. package/dist/{token-transactions-0nmR9mQO.d.ts → token-transactions-DovxHIxV.d.ts} +2 -2
  52. package/dist/types/index.cjs +492 -9
  53. package/dist/types/index.d.cts +2 -2
  54. package/dist/types/index.d.ts +2 -2
  55. package/dist/types/index.js +2 -2
  56. package/package.json +1 -1
  57. package/src/proto/common.ts +1 -1
  58. package/src/proto/google/protobuf/descriptor.ts +4 -10
  59. package/src/proto/google/protobuf/duration.ts +1 -1
  60. package/src/proto/google/protobuf/empty.ts +1 -1
  61. package/src/proto/google/protobuf/timestamp.ts +1 -1
  62. package/src/proto/mock.ts +1 -1
  63. package/src/proto/spark.ts +593 -3
  64. package/src/proto/spark_authn.ts +1 -1
  65. package/src/proto/spark_token.ts +1 -1
  66. package/src/proto/validate/validate.ts +27 -79
  67. package/src/services/deposit.ts +55 -3
  68. package/src/services/lightning.ts +2 -2
  69. package/src/services/signing.ts +1 -1
  70. package/src/services/token-transactions.ts +2 -5
  71. package/src/services/transfer.ts +2 -2
  72. package/src/signer/signer.ts +2 -2
  73. package/src/spark-wallet/spark-wallet.ts +25 -33
  74. package/src/tests/address.test.ts +10 -10
  75. package/src/tests/bitcoin.test.ts +2 -2
  76. package/src/tests/integration/coop-exit.test.ts +1 -1
  77. package/src/tests/integration/lightning.test.ts +1 -1
  78. package/src/tests/integration/ssp/static_deposit.test.ts +122 -1
  79. package/src/tests/integration/swap.test.ts +1 -1
  80. package/src/tests/integration/transfer.test.ts +1 -5
  81. package/src/tests/integration/wallet.test.ts +7 -7
  82. package/src/tests/integration/watchtower.test.ts +1 -1
  83. package/src/tests/token-hashing.test.ts +3 -6
  84. package/src/tests/token-outputs.test.ts +3 -3
  85. package/src/tests/utils/test-faucet.ts +2 -2
  86. package/src/types/sdk-types.ts +1 -1
  87. package/src/utils/adaptor-signature.ts +1 -1
  88. package/src/utils/address.ts +1 -1
  89. package/src/utils/bitcoin.ts +1 -5
  90. package/src/utils/keys.ts +1 -1
  91. package/src/utils/secret-sharing.ts +1 -1
  92. package/src/utils/token-transactions.ts +1 -2
  93. package/src/utils/transfer_package.ts +1 -1
  94. package/src/utils/unilateral-exit.ts +1 -1
@@ -863,6 +863,13 @@ declare enum UtxoSwapRequestType {
863
863
  Refund = 2,
864
864
  UNRECOGNIZED = -1
865
865
  }
866
+ declare enum InvoiceStatus {
867
+ NOT_FOUND = 0,
868
+ PENDING = 1,
869
+ FINALIZED = 2,
870
+ EXPIRED = 3,
871
+ UNRECOGNIZED = -1
872
+ }
866
873
  declare enum InitiatePreimageSwapRequest_Reason {
867
874
  /** REASON_SEND - The associated lightning service is sending the payment. */
868
875
  REASON_SEND = 0,
@@ -953,6 +960,21 @@ interface GenerateDepositAddressResponse {
953
960
  depositAddress: Address | undefined;
954
961
  }
955
962
  declare const GenerateDepositAddressResponse: MessageFns$2<GenerateDepositAddressResponse>;
963
+ /** GenerateStaticDepositAddressRequest is the request to generate a static deposit address. */
964
+ interface GenerateStaticDepositAddressRequest {
965
+ /** The signing public key of the user. */
966
+ signingPublicKey: Uint8Array;
967
+ /** The identity public key of the user. */
968
+ identityPublicKey: Uint8Array;
969
+ /** The network of the bitcoin network. */
970
+ network: Network$1;
971
+ }
972
+ declare const GenerateStaticDepositAddressRequest: MessageFns$2<GenerateStaticDepositAddressRequest>;
973
+ /** GenerateStaticDepositAddressResponse is the response to the request to generate a static deposit address. */
974
+ interface GenerateStaticDepositAddressResponse {
975
+ depositAddress: Address | undefined;
976
+ }
977
+ declare const GenerateStaticDepositAddressResponse: MessageFns$2<GenerateStaticDepositAddressResponse>;
956
978
  /**
957
979
  * UTXO represents a utxo on the bitcoin network.
958
980
  * The UTXO is used to create a tree on Spark, it can also be an off-chain utxo so that the user
@@ -1544,6 +1566,7 @@ interface TransferLeaf {
1544
1566
  intermediateRefundTx: Uint8Array;
1545
1567
  intermediateDirectRefundTx: Uint8Array;
1546
1568
  intermediateDirectFromCpfpRefundTx: Uint8Array;
1569
+ pendingKeyTweakPublicKey: Uint8Array;
1547
1570
  }
1548
1571
  declare const TransferLeaf: MessageFns$2<TransferLeaf>;
1549
1572
  interface TransferFilter {
@@ -1743,6 +1766,7 @@ interface QueryUserSignedRefundsRequest {
1743
1766
  declare const QueryUserSignedRefundsRequest: MessageFns$2<QueryUserSignedRefundsRequest>;
1744
1767
  interface QueryUserSignedRefundsResponse {
1745
1768
  userSignedRefunds: UserSignedRefund[];
1769
+ transfer: Transfer | undefined;
1746
1770
  }
1747
1771
  declare const QueryUserSignedRefundsResponse: MessageFns$2<QueryUserSignedRefundsResponse>;
1748
1772
  interface ProvidePreimageRequest {
@@ -1824,6 +1848,7 @@ interface DepositAddressQueryResult {
1824
1848
  userSigningPublicKey: Uint8Array;
1825
1849
  verifyingPublicKey: Uint8Array;
1826
1850
  leafId?: string | undefined;
1851
+ proofOfPossession?: DepositAddressProof | undefined;
1827
1852
  }
1828
1853
  declare const DepositAddressQueryResult: MessageFns$2<DepositAddressQueryResult>;
1829
1854
  interface QueryUnusedDepositAddressesResponse {
@@ -1986,6 +2011,7 @@ interface GetUtxosForAddressRequest {
1986
2011
  offset: number;
1987
2012
  limit: number;
1988
2013
  network: Network$1;
2014
+ excludeClaimed: boolean;
1989
2015
  }
1990
2016
  declare const GetUtxosForAddressRequest: MessageFns$2<GetUtxosForAddressRequest>;
1991
2017
  interface GetUtxosForAddressResponse {
@@ -1993,8 +2019,27 @@ interface GetUtxosForAddressResponse {
1993
2019
  offset: number;
1994
2020
  }
1995
2021
  declare const GetUtxosForAddressResponse: MessageFns$2<GetUtxosForAddressResponse>;
2022
+ interface QuerySparkInvoicesRequest {
2023
+ limit: number;
2024
+ offset: number;
2025
+ /** returns the status for the provided list of spark invoices. */
2026
+ invoice: string[];
2027
+ }
2028
+ declare const QuerySparkInvoicesRequest: MessageFns$2<QuerySparkInvoicesRequest>;
2029
+ interface QuerySparkInvoicesResponse {
2030
+ offset: number;
2031
+ invoiceStatuses: InvoiceResponse[];
2032
+ }
2033
+ declare const QuerySparkInvoicesResponse: MessageFns$2<QuerySparkInvoicesResponse>;
2034
+ interface InvoiceResponse {
2035
+ invoice: string;
2036
+ status: InvoiceStatus;
2037
+ }
2038
+ declare const InvoiceResponse: MessageFns$2<InvoiceResponse>;
1996
2039
  interface SparkServiceClient<CallOptionsExt = {}> {
1997
2040
  generate_deposit_address(request: DeepPartial$2<GenerateDepositAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GenerateDepositAddressResponse>;
2041
+ /** Generates a new static deposit address of the user or returns the existing one for the specified network. */
2042
+ generate_static_deposit_address(request: DeepPartial$2<GenerateStaticDepositAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GenerateStaticDepositAddressResponse>;
1998
2043
  start_deposit_tree_creation(request: DeepPartial$2<StartDepositTreeCreationRequest>, options?: CallOptions & CallOptionsExt): Promise<StartDepositTreeCreationResponse>;
1999
2044
  /**
2000
2045
  * This is deprecated, please use start_deposit_tree_creation instead.
@@ -2087,6 +2132,7 @@ interface SparkServiceClient<CallOptionsExt = {}> {
2087
2132
  start_transfer_v2(request: DeepPartial$2<StartTransferRequest>, options?: CallOptions & CallOptionsExt): Promise<StartTransferResponse>;
2088
2133
  refresh_timelock_v2(request: DeepPartial$2<RefreshTimelockRequest>, options?: CallOptions & CallOptionsExt): Promise<RefreshTimelockResponse>;
2089
2134
  get_utxos_for_address(request: DeepPartial$2<GetUtxosForAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GetUtxosForAddressResponse>;
2135
+ query_spark_invoices(request: DeepPartial$2<QuerySparkInvoicesRequest>, options?: CallOptions & CallOptionsExt): Promise<QuerySparkInvoicesResponse>;
2090
2136
  }
2091
2137
  type Builtin$2 = Date | Function | Uint8Array | string | number | boolean | undefined;
2092
2138
  type DeepPartial$2<T> = T extends Builtin$2 ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial$2<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$2<U>> : T extends {
@@ -3286,8 +3332,6 @@ declare class SparkWallet extends EventEmitter {
3286
3332
  getStaticDepositAddress(): Promise<string>;
3287
3333
  /**
3288
3334
  * Generates a deposit address for receiving funds.
3289
- *
3290
- * @param {boolean} static - Whether the address is static or single use
3291
3335
  * @returns {Promise<string>} A deposit address
3292
3336
  * @private
3293
3337
  */
@@ -3301,7 +3345,7 @@ declare class SparkWallet extends EventEmitter {
3301
3345
  * @param offset - Pagination offset (default 0).
3302
3346
  * @returns {Promise<{ txid: string, vout: number }[]>} List of confirmed UTXOs.
3303
3347
  */
3304
- getUtxosForDepositAddress(depositAddress: string, limit?: number, offset?: number): Promise<{
3348
+ getUtxosForDepositAddress(depositAddress: string, limit?: number, offset?: number, excludeClaimed?: boolean): Promise<{
3305
3349
  txid: string;
3306
3350
  vout: number;
3307
3351
  }[]>;
@@ -863,6 +863,13 @@ declare enum UtxoSwapRequestType {
863
863
  Refund = 2,
864
864
  UNRECOGNIZED = -1
865
865
  }
866
+ declare enum InvoiceStatus {
867
+ NOT_FOUND = 0,
868
+ PENDING = 1,
869
+ FINALIZED = 2,
870
+ EXPIRED = 3,
871
+ UNRECOGNIZED = -1
872
+ }
866
873
  declare enum InitiatePreimageSwapRequest_Reason {
867
874
  /** REASON_SEND - The associated lightning service is sending the payment. */
868
875
  REASON_SEND = 0,
@@ -953,6 +960,21 @@ interface GenerateDepositAddressResponse {
953
960
  depositAddress: Address | undefined;
954
961
  }
955
962
  declare const GenerateDepositAddressResponse: MessageFns$2<GenerateDepositAddressResponse>;
963
+ /** GenerateStaticDepositAddressRequest is the request to generate a static deposit address. */
964
+ interface GenerateStaticDepositAddressRequest {
965
+ /** The signing public key of the user. */
966
+ signingPublicKey: Uint8Array;
967
+ /** The identity public key of the user. */
968
+ identityPublicKey: Uint8Array;
969
+ /** The network of the bitcoin network. */
970
+ network: Network$1;
971
+ }
972
+ declare const GenerateStaticDepositAddressRequest: MessageFns$2<GenerateStaticDepositAddressRequest>;
973
+ /** GenerateStaticDepositAddressResponse is the response to the request to generate a static deposit address. */
974
+ interface GenerateStaticDepositAddressResponse {
975
+ depositAddress: Address | undefined;
976
+ }
977
+ declare const GenerateStaticDepositAddressResponse: MessageFns$2<GenerateStaticDepositAddressResponse>;
956
978
  /**
957
979
  * UTXO represents a utxo on the bitcoin network.
958
980
  * The UTXO is used to create a tree on Spark, it can also be an off-chain utxo so that the user
@@ -1544,6 +1566,7 @@ interface TransferLeaf {
1544
1566
  intermediateRefundTx: Uint8Array;
1545
1567
  intermediateDirectRefundTx: Uint8Array;
1546
1568
  intermediateDirectFromCpfpRefundTx: Uint8Array;
1569
+ pendingKeyTweakPublicKey: Uint8Array;
1547
1570
  }
1548
1571
  declare const TransferLeaf: MessageFns$2<TransferLeaf>;
1549
1572
  interface TransferFilter {
@@ -1743,6 +1766,7 @@ interface QueryUserSignedRefundsRequest {
1743
1766
  declare const QueryUserSignedRefundsRequest: MessageFns$2<QueryUserSignedRefundsRequest>;
1744
1767
  interface QueryUserSignedRefundsResponse {
1745
1768
  userSignedRefunds: UserSignedRefund[];
1769
+ transfer: Transfer | undefined;
1746
1770
  }
1747
1771
  declare const QueryUserSignedRefundsResponse: MessageFns$2<QueryUserSignedRefundsResponse>;
1748
1772
  interface ProvidePreimageRequest {
@@ -1824,6 +1848,7 @@ interface DepositAddressQueryResult {
1824
1848
  userSigningPublicKey: Uint8Array;
1825
1849
  verifyingPublicKey: Uint8Array;
1826
1850
  leafId?: string | undefined;
1851
+ proofOfPossession?: DepositAddressProof | undefined;
1827
1852
  }
1828
1853
  declare const DepositAddressQueryResult: MessageFns$2<DepositAddressQueryResult>;
1829
1854
  interface QueryUnusedDepositAddressesResponse {
@@ -1986,6 +2011,7 @@ interface GetUtxosForAddressRequest {
1986
2011
  offset: number;
1987
2012
  limit: number;
1988
2013
  network: Network$1;
2014
+ excludeClaimed: boolean;
1989
2015
  }
1990
2016
  declare const GetUtxosForAddressRequest: MessageFns$2<GetUtxosForAddressRequest>;
1991
2017
  interface GetUtxosForAddressResponse {
@@ -1993,8 +2019,27 @@ interface GetUtxosForAddressResponse {
1993
2019
  offset: number;
1994
2020
  }
1995
2021
  declare const GetUtxosForAddressResponse: MessageFns$2<GetUtxosForAddressResponse>;
2022
+ interface QuerySparkInvoicesRequest {
2023
+ limit: number;
2024
+ offset: number;
2025
+ /** returns the status for the provided list of spark invoices. */
2026
+ invoice: string[];
2027
+ }
2028
+ declare const QuerySparkInvoicesRequest: MessageFns$2<QuerySparkInvoicesRequest>;
2029
+ interface QuerySparkInvoicesResponse {
2030
+ offset: number;
2031
+ invoiceStatuses: InvoiceResponse[];
2032
+ }
2033
+ declare const QuerySparkInvoicesResponse: MessageFns$2<QuerySparkInvoicesResponse>;
2034
+ interface InvoiceResponse {
2035
+ invoice: string;
2036
+ status: InvoiceStatus;
2037
+ }
2038
+ declare const InvoiceResponse: MessageFns$2<InvoiceResponse>;
1996
2039
  interface SparkServiceClient<CallOptionsExt = {}> {
1997
2040
  generate_deposit_address(request: DeepPartial$2<GenerateDepositAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GenerateDepositAddressResponse>;
2041
+ /** Generates a new static deposit address of the user or returns the existing one for the specified network. */
2042
+ generate_static_deposit_address(request: DeepPartial$2<GenerateStaticDepositAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GenerateStaticDepositAddressResponse>;
1998
2043
  start_deposit_tree_creation(request: DeepPartial$2<StartDepositTreeCreationRequest>, options?: CallOptions & CallOptionsExt): Promise<StartDepositTreeCreationResponse>;
1999
2044
  /**
2000
2045
  * This is deprecated, please use start_deposit_tree_creation instead.
@@ -2087,6 +2132,7 @@ interface SparkServiceClient<CallOptionsExt = {}> {
2087
2132
  start_transfer_v2(request: DeepPartial$2<StartTransferRequest>, options?: CallOptions & CallOptionsExt): Promise<StartTransferResponse>;
2088
2133
  refresh_timelock_v2(request: DeepPartial$2<RefreshTimelockRequest>, options?: CallOptions & CallOptionsExt): Promise<RefreshTimelockResponse>;
2089
2134
  get_utxos_for_address(request: DeepPartial$2<GetUtxosForAddressRequest>, options?: CallOptions & CallOptionsExt): Promise<GetUtxosForAddressResponse>;
2135
+ query_spark_invoices(request: DeepPartial$2<QuerySparkInvoicesRequest>, options?: CallOptions & CallOptionsExt): Promise<QuerySparkInvoicesResponse>;
2090
2136
  }
2091
2137
  type Builtin$2 = Date | Function | Uint8Array | string | number | boolean | undefined;
2092
2138
  type DeepPartial$2<T> = T extends Builtin$2 ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial$2<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$2<U>> : T extends {
@@ -3286,8 +3332,6 @@ declare class SparkWallet extends EventEmitter {
3286
3332
  getStaticDepositAddress(): Promise<string>;
3287
3333
  /**
3288
3334
  * Generates a deposit address for receiving funds.
3289
- *
3290
- * @param {boolean} static - Whether the address is static or single use
3291
3335
  * @returns {Promise<string>} A deposit address
3292
3336
  * @private
3293
3337
  */
@@ -3301,7 +3345,7 @@ declare class SparkWallet extends EventEmitter {
3301
3345
  * @param offset - Pagination offset (default 0).
3302
3346
  * @returns {Promise<{ txid: string, vout: number }[]>} List of confirmed UTXOs.
3303
3347
  */
3304
- getUtxosForDepositAddress(depositAddress: string, limit?: number, offset?: number): Promise<{
3348
+ getUtxosForDepositAddress(depositAddress: string, limit?: number, offset?: number, excludeClaimed?: boolean): Promise<{
3305
3349
  txid: string;
3306
3350
  vout: number;
3307
3351
  }[]>;