@buildonspark/spark-sdk 0.1.46 → 0.2.0

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 (171) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/{chunk-BGGEVUJK.js → chunk-2ENZX6LT.js} +241 -7
  3. package/dist/{chunk-LHRD2WT6.js → chunk-4JD4HIAN.js} +23 -3
  4. package/dist/{chunk-I54FARY2.js → chunk-CDLETEDT.js} +11 -3
  5. package/dist/{chunk-OBFKIEMP.js → chunk-TM6CHQXC.js} +1 -1
  6. package/dist/chunk-UDK3EBE5.js +13514 -0
  7. package/dist/chunk-XYTKKLCV.js +7 -0
  8. package/dist/{RequestLightningSendInput-2cSh_In4.d.cts → client-DKbwpcnl.d.ts} +434 -212
  9. package/dist/{RequestLightningSendInput-CN6BNg_g.d.ts → client-Drs5Lapg.d.cts} +434 -212
  10. package/dist/{services/config.cjs → debug.cjs} +31007 -1003
  11. package/dist/debug.d.cts +126 -0
  12. package/dist/debug.d.ts +126 -0
  13. package/dist/debug.js +21 -0
  14. package/dist/graphql/objects/index.d.cts +4 -11
  15. package/dist/graphql/objects/index.d.ts +4 -11
  16. package/dist/graphql/objects/index.js +2 -4
  17. package/dist/index.cjs +18219 -20818
  18. package/dist/index.d.cts +15 -768
  19. package/dist/index.d.ts +15 -768
  20. package/dist/index.js +82 -76
  21. package/dist/index.node.cjs +23831 -26538
  22. package/dist/index.node.d.cts +191 -33
  23. package/dist/index.node.d.ts +191 -33
  24. package/dist/index.node.js +87 -181
  25. package/dist/native/index.cjs +17835 -20519
  26. package/dist/native/index.d.cts +1466 -1546
  27. package/dist/native/index.d.ts +1466 -1546
  28. package/dist/native/index.js +22605 -25286
  29. package/dist/proto/lrc20.d.cts +2 -2
  30. package/dist/proto/lrc20.d.ts +2 -2
  31. package/dist/proto/lrc20.js +3098 -46
  32. package/dist/proto/spark.cjs +241 -7
  33. package/dist/proto/spark.d.cts +1 -1
  34. package/dist/proto/spark.d.ts +1 -1
  35. package/dist/proto/spark.js +5 -1
  36. package/dist/proto/spark_token.cjs +22 -2
  37. package/dist/proto/spark_token.d.cts +8 -1
  38. package/dist/proto/spark_token.d.ts +8 -1
  39. package/dist/proto/spark_token.js +2 -2
  40. package/dist/{sdk-types-CKBsylfW.d.ts → sdk-types-DCIVdKUT.d.ts} +1 -1
  41. package/dist/{sdk-types-Ct8xmN7l.d.cts → sdk-types-DJ2ve9YY.d.cts} +1 -1
  42. package/dist/{spark-DbzGfse6.d.ts → spark-BUOx3U7Q.d.cts} +103 -5
  43. package/dist/{spark-DbzGfse6.d.cts → spark-BUOx3U7Q.d.ts} +103 -5
  44. package/dist/spark-wallet-CF8Oxjqs.d.ts +935 -0
  45. package/dist/spark-wallet-DOLSa3oF.d.cts +935 -0
  46. package/dist/spark_bindings/native/index.d.cts +1 -1
  47. package/dist/spark_bindings/native/index.d.ts +1 -1
  48. package/dist/spark_bindings/wasm/index.d.cts +1 -1
  49. package/dist/spark_bindings/wasm/index.d.ts +1 -1
  50. package/dist/{services/index.cjs → tests/test-utils.cjs} +9788 -10263
  51. package/dist/tests/test-utils.d.cts +79 -0
  52. package/dist/tests/test-utils.d.ts +79 -0
  53. package/dist/tests/test-utils.js +93 -0
  54. package/dist/types/index.cjs +239 -7
  55. package/dist/types/index.d.cts +5 -9
  56. package/dist/types/index.d.ts +5 -9
  57. package/dist/types/index.js +4 -6
  58. package/dist/{types-C-Rp0Oo7.d.ts → types-BADxR3bm.d.cts} +1 -1
  59. package/dist/{types-C-Rp0Oo7.d.cts → types-BADxR3bm.d.ts} +1 -1
  60. package/dist/{index-COm59SPw.d.ts → xchain-address-C2xMs9nz.d.cts} +6 -94
  61. package/dist/{index-CKL5DodV.d.cts → xchain-address-Ckto9oEz.d.ts} +6 -94
  62. package/package.json +9 -33
  63. package/src/debug.ts +13 -0
  64. package/src/graphql/client.ts +59 -20
  65. package/src/index.node.ts +28 -2
  66. package/src/index.ts +31 -1
  67. package/src/native/index.ts +16 -2
  68. package/src/proto/mock.ts +76 -0
  69. package/src/proto/spark.ts +354 -6
  70. package/src/proto/spark_token.ts +34 -2
  71. package/src/services/config.ts +4 -6
  72. package/src/services/connection.ts +131 -64
  73. package/src/services/coop-exit.ts +6 -3
  74. package/src/services/deposit.ts +9 -8
  75. package/src/services/lightning.ts +4 -3
  76. package/src/services/signing.ts +10 -6
  77. package/src/services/token-transactions.ts +100 -85
  78. package/src/services/transfer.ts +88 -60
  79. package/src/services/tree-creation.ts +17 -9
  80. package/src/services/wallet-config.ts +17 -9
  81. package/src/signer/signer.react-native.ts +5 -10
  82. package/src/signer/signer.ts +269 -339
  83. package/src/signer/types.ts +63 -0
  84. package/src/spark-wallet/spark-wallet.ts +226 -149
  85. package/src/spark-wallet/types.ts +22 -8
  86. package/src/tests/integration/adaptor-signature.test.ts +8 -9
  87. package/src/tests/integration/coop-exit.test.ts +214 -202
  88. package/src/tests/integration/lightning.test.ts +128 -103
  89. package/src/tests/integration/swap.test.ts +116 -84
  90. package/src/tests/integration/transfer.test.ts +291 -214
  91. package/src/tests/integration/tree-creation.test.ts +0 -5
  92. package/src/tests/integration/wallet.test.ts +1 -0
  93. package/src/tests/isHermeticTest.ts +3 -24
  94. package/src/tests/{test-util.ts → test-utils.ts} +13 -11
  95. package/src/tests/token-identifier.test.ts +6 -6
  96. package/src/tests/wrapWithOtelSpan.test.ts +1 -1
  97. package/src/{address → utils}/address.ts +1 -1
  98. package/src/utils/crypto.ts +19 -9
  99. package/src/utils/index.ts +2 -0
  100. package/src/utils/network.ts +17 -0
  101. package/src/utils/secret-sharing.ts +1 -2
  102. package/src/utils/signing.ts +1 -1
  103. package/src/utils/token-identifier.ts +27 -21
  104. package/src/utils/token-transaction-validation.ts +34 -0
  105. package/src/utils/token-transactions.ts +12 -8
  106. package/src/utils/unilateral-exit.ts +32 -0
  107. package/src/utils/xchain-address.ts +1 -1
  108. package/dist/BitcoinNetwork-TnABML0T.d.cts +0 -18
  109. package/dist/BitcoinNetwork-TnABML0T.d.ts +0 -18
  110. package/dist/LightningSendFeeEstimateInput-BgOhEAI-.d.cts +0 -10
  111. package/dist/LightningSendFeeEstimateInput-BgOhEAI-.d.ts +0 -10
  112. package/dist/address/index.cjs +0 -458
  113. package/dist/address/index.d.cts +0 -32
  114. package/dist/address/index.d.ts +0 -32
  115. package/dist/address/index.js +0 -17
  116. package/dist/chunk-4EMV7HHW.js +0 -277
  117. package/dist/chunk-C2S227QR.js +0 -2336
  118. package/dist/chunk-DXR2PXJU.js +0 -1122
  119. package/dist/chunk-GSI4OLXZ.js +0 -117
  120. package/dist/chunk-HHNQ3ZHC.js +0 -170
  121. package/dist/chunk-HMLOC6TE.js +0 -14
  122. package/dist/chunk-HSCLBJEL.js +0 -113
  123. package/dist/chunk-HWJWKEIU.js +0 -75
  124. package/dist/chunk-JB64OQES.js +0 -7095
  125. package/dist/chunk-KMUMFYFX.js +0 -137
  126. package/dist/chunk-N5VZVCGJ.js +0 -622
  127. package/dist/chunk-NSJF5F5O.js +0 -325
  128. package/dist/chunk-NTFKFRQ2.js +0 -3146
  129. package/dist/chunk-OFCJFZ4I.js +0 -24
  130. package/dist/chunk-QNNSEJ4P.js +0 -232
  131. package/dist/chunk-UXDODSDT.js +0 -838
  132. package/dist/chunk-VTUGIIWI.js +0 -0
  133. package/dist/chunk-Z5HIAYFT.js +0 -84
  134. package/dist/network-Css46DAz.d.cts +0 -46
  135. package/dist/network-hynb7iTZ.d.ts +0 -46
  136. package/dist/services/config.d.cts +0 -42
  137. package/dist/services/config.d.ts +0 -42
  138. package/dist/services/config.js +0 -17
  139. package/dist/services/connection.cjs +0 -17691
  140. package/dist/services/connection.d.cts +0 -95
  141. package/dist/services/connection.d.ts +0 -95
  142. package/dist/services/connection.js +0 -11
  143. package/dist/services/index.d.cts +0 -21
  144. package/dist/services/index.d.ts +0 -21
  145. package/dist/services/index.js +0 -58
  146. package/dist/services/lrc-connection.cjs +0 -4713
  147. package/dist/services/lrc-connection.d.cts +0 -34
  148. package/dist/services/lrc-connection.d.ts +0 -34
  149. package/dist/services/lrc-connection.js +0 -11
  150. package/dist/services/token-transactions.cjs +0 -2877
  151. package/dist/services/token-transactions.d.cts +0 -75
  152. package/dist/services/token-transactions.d.ts +0 -75
  153. package/dist/services/token-transactions.js +0 -15
  154. package/dist/services/wallet-config.cjs +0 -340
  155. package/dist/services/wallet-config.d.cts +0 -56
  156. package/dist/services/wallet-config.d.ts +0 -56
  157. package/dist/services/wallet-config.js +0 -33
  158. package/dist/signer/signer.cjs +0 -2004
  159. package/dist/signer/signer.d.cts +0 -10
  160. package/dist/signer/signer.d.ts +0 -10
  161. package/dist/signer/signer.js +0 -24
  162. package/dist/signer-BP6F__oR.d.cts +0 -187
  163. package/dist/signer-BVZJXcq7.d.ts +0 -187
  164. package/dist/utils/index.cjs +0 -2947
  165. package/dist/utils/index.d.cts +0 -18
  166. package/dist/utils/index.d.ts +0 -18
  167. package/dist/utils/index.js +0 -157
  168. package/ios/spark_frost.kt +0 -1900
  169. package/src/address/index.ts +0 -1
  170. package/src/services/lrc-connection.ts +0 -215
  171. /package/dist/{chunk-L3EHBOUX.js → chunk-BYXBJQAS.js} +0 -0
@@ -1,41 +1,199 @@
1
- import { SparkWallet as SparkWallet$1 } from './index.cjs';
2
- export { AuthenticationError, ConfigurationError, InternalValidationError, NetworkError, NotImplementedError, RPCError, SparkSDKError, ValidationError } from './index.cjs';
3
- import { I as InitWalletResponse } from './index-CKL5DodV.cjs';
4
- export { a6 as BroadcastConfig, a7 as BroadcastResult, C as CreateLightningInvoiceParams, U as DEFAULT_FEE_SATS, D as DepositParams, a4 as FeeBumpTxChain, a3 as FeeBumpTxPackage, a2 as FeeRate, a0 as LeafInfo, P as PayLightningInvoiceParams, c as SparkWalletEvents, S as SparkWalletProps, b as TokenBalanceMap, a as TokenMetadata, T as TransferParams, a5 as TxChain, a1 as Utxo, t as addPrivateKeys, q as addPublicKeys, e as applyAdaptorToSignature, r as applyAdditiveTweakToPublicKey, N as calculateAvailableTokenAmount, O as checkIfSelectedOutputsAreAvailable, Z as checkIfValidSequence, B as collectResponses, f as computeTaprootKeyNoScript, ab as constructFeeBumpTx, aa as constructUnilateralExitFeeBumpPackages, a9 as constructUnilateralExitTxs, W as createRefundTx, K as createSigningCommitment, F as createSigningNonce, M as decodeBytesToSigningCommitment, J as decodeBytesToSigningNonce, L as encodeSigningCommitmentToBytes, H as encodeSigningNonceToBytes, Q as filterTokenBalanceForTokenPublicKey, d as generateAdaptorFromSignature, g as generateSignatureFromExistingAdaptor, X as getCurrentTimelock, $ as getEphemeralAnchorOutput, y as getLatestDepositTxId, _ as getNextTransactionSequence, j as getP2TRAddressFromPkScript, i as getP2TRAddressFromPublicKey, h as getP2TRScriptFromPublicKey, k as getP2WPKHAddressFromPublicKey, E as getRandomSigningNonce, n as getSigHashFromTx, G as getSigningCommitmentFromNonce, ac as getSparkAddressFromTaproot, Y as getTransactionSequence, R as getTransferPackageSigningPayload, m as getTxFromRawTxBytes, l as getTxFromRawTxHex, o as getTxId, p as getTxIdNoReverse, a8 as isEphemeralAnchorOutput, z as isTxBroadcast, x as lastKeyWithTarget, V as maybeApplyFee, A as proofOfPossessionMessageHashForDepositAddress, u as subtractPrivateKeys, s as subtractPublicKeys, w as sumOfPrivateKeys, v as validateOutboundAdaptorSignature } from './index-CKL5DodV.cjs';
5
- export { L as LRC_WALLET_NETWORK, c as LRC_WALLET_NETWORK_TYPE, N as Network, b as NetworkToProto, a as NetworkType, g as getNetwork, d as getNetworkFromAddress, e as getNetworkFromString } from './network-Css46DAz.cjs';
6
- export { V as VerifiableSecretShare, d as bigIntToPrivateKey, c as computerLagrangeCoefficients, e as evaluatePolynomial, f as fieldDiv, a as generatePolynomialForSecretSharing, g as getRandomBigInt, m as modInverse, r as recoverSecret, s as splitSecret, b as splitSecretWithProofs, v as validateShare } from './signer-BP6F__oR.cjs';
7
- import './RequestLightningSendInput-2cSh_In4.cjs';
8
- import '@lightsparkdev/core';
9
- import './BitcoinNetwork-TnABML0T.cjs';
10
- import './LightningSendFeeEstimateInput-BgOhEAI-.cjs';
11
- import './spark-DbzGfse6.cjs';
12
- import '@bufbuild/protobuf/wire';
13
- import 'nice-grpc-common';
14
- import './services/config.cjs';
15
- import '@buildonspark/lrc20-sdk';
16
- import './services/wallet-config.cjs';
17
- import './services/connection.cjs';
1
+ import { W as WalletConfigService, s as ConnectionManager, T as TokenOutputsMap, B as Bech32mTokenIdentifier } from './spark-wallet-DOLSa3oF.cjs';
2
+ export { a as Bech32mTokenIdentifierData, C as ConfigOptions, u as CreateLightningInvoiceParams, D as DecodedSparkAddressData, w as DepositParams, I as InitWalletResponse, L as LRC_WALLET_NETWORK, b as LRC_WALLET_NETWORK_TYPE, N as Network, c as NetworkToProto, d as NetworkType, P as PayLightningInvoiceParams, R as RawTokenIdentifierHex, S as SparkAddressData, e as SparkAddressFormat, o as SparkWallet, y as SparkWalletEvents, q as SparkWalletProps, r as TokenBalanceMap, x as TokenMetadataMap, v as TransferParams, U as UserTokenMetadata, t as WalletConfig, f as decodeBech32mTokenIdentifier, g as decodeSparkAddress, h as encodeBech32mTokenIdentifier, i as encodeSparkAddress, j as getNetwork, k as getNetworkFromAddress, l as getNetworkFromString, m as isValidPublicKey, n as isValidSparkAddress, p as protoToNetwork } from './spark-wallet-DOLSa3oF.cjs';
3
+ export { B as BroadcastConfig, a as BroadcastResult, D as DEFAULT_FEE_SATS, F as FeeBumpTxChain, b as FeeBumpTxPackage, c as FeeRate, L as LeafInfo, T as TxChain, U as Utxo, d as addPrivateKeys, e as addPublicKeys, f as applyAdaptorToSignature, g as applyAdditiveTweakToPublicKey, h as checkIfSelectedOutputsAreAvailable, i as checkIfValidSequence, j as collectResponses, k as computeTaprootKeyNoScript, l as constructFeeBumpTx, m as constructUnilateralExitFeeBumpPackages, n as constructUnilateralExitTxs, o as createRefundTx, p as createSigningCommitment, q as createSigningNonce, r as decodeBytesToSigningCommitment, s as decodeBytesToSigningNonce, t as encodeSigningCommitmentToBytes, u as encodeSigningNonceToBytes, v as filterTokenBalanceForTokenPublicKey, w as generateAdaptorFromSignature, x as generateSignatureFromExistingAdaptor, y as getCurrentTimelock, z as getEphemeralAnchorOutput, A as getLatestDepositTxId, C as getNextTransactionSequence, E as getP2TRAddressFromPkScript, G as getP2TRAddressFromPublicKey, H as getP2TRScriptFromPublicKey, I as getP2WPKHAddressFromPublicKey, J as getRandomSigningNonce, K as getSigHashFromTx, M as getSigningCommitmentFromNonce, N as getSparkAddressFromTaproot, O as getTransactionSequence, P as getTransferPackageSigningPayload, Q as getTxFromRawTxBytes, R as getTxFromRawTxHex, S as getTxId, V as getTxIdNoReverse, W as isEphemeralAnchorOutput, X as isTxBroadcast, Y as lastKeyWithTarget, Z as maybeApplyFee, _ as proofOfPossessionMessageHashForDepositAddress, $ as subtractPrivateKeys, a0 as subtractPublicKeys, a1 as sumAvailableTokens, a2 as sumOfPrivateKeys, a3 as validateOutboundAdaptorSignature } from './xchain-address-C2xMs9nz.cjs';
4
+ export { ae as AggregateFrostParams, a9 as DefaultSparkSigner, ag as DerivedHDKey, a5 as KeyDerivation, ac as KeyDerivationType, ah as KeyPair, ad as SignFrostParams, a6 as SigningCommitment, a7 as SigningNonce, a1 as SparkSigner, af as SplitSecretWithProofsParams, ab as TaprootOutputKeysGenerator, aa as TaprootSparkSigner, K as VerifiableSecretShare, M as bigIntToPrivateKey, N as computerLagrangeCoefficients, O as evaluatePolynomial, Q as fieldDiv, W as generatePolynomialForSecretSharing, X as getRandomBigInt, Y as modInverse, Z as recoverSecret, _ as splitSecret, $ as splitSecretWithProofs, a0 as validateShare } from './client-Drs5Lapg.cjs';
5
+ export { TokenSigner } from '@buildonspark/lrc20-sdk';
6
+ export { MultisigReceiptInput } from '@buildonspark/lrc20-sdk/lrc/types';
7
+ import { j as OutputWithPreviousTransactionData, T as TokenTransaction, l as TokenTransactionWithStatus } from './spark-BUOx3U7Q.cjs';
8
+ import { TokenTransaction as TokenTransaction$1, TokenTransactionWithStatus as TokenTransactionWithStatus$1 } from './proto/spark_token.cjs';
9
+ import '@scure/btc-signer';
10
+ import 'bitcoinjs-lib';
18
11
  import 'nice-grpc';
19
12
  import 'nice-grpc-web';
20
- import './proto/spark_token.cjs';
21
- import './services/lrc-connection.cjs';
22
- import './proto/lrc20.cjs';
23
- import '@scure/btc-signer';
13
+ import '@bufbuild/protobuf/wire';
14
+ import 'nice-grpc-common';
24
15
  import 'eventemitter3';
25
- import './address/index.cjs';
26
- import './sdk-types-Ct8xmN7l.cjs';
16
+ import './sdk-types-DJ2ve9YY.cjs';
27
17
  import '@scure/btc-signer/psbt';
28
- import 'bitcoinjs-lib';
18
+ import '@lightsparkdev/core';
29
19
  import '@scure/bip32';
30
- import './types-C-Rp0Oo7.cjs';
31
- import '@buildonspark/lrc20-sdk/lrc/types';
20
+ import './types-BADxR3bm.cjs';
21
+
22
+ declare class SparkSDKError extends Error {
23
+ readonly context: Record<string, unknown>;
24
+ readonly originalError?: Error;
25
+ constructor(message: string, context?: Record<string, unknown>, originalError?: Error);
26
+ toString(): string;
27
+ toJSON(): Record<string, unknown>;
28
+ }
32
29
 
33
- declare class SparkWallet extends SparkWallet$1 {
34
- private tracer;
35
- protected wrapWithOtelSpan<T>(name: string, fn: (...args: any[]) => Promise<T>): (...args: any[]) => Promise<T>;
36
- protected initializeTracer(tracerName: string): Promise<void>;
37
- private wrapSparkWalletWithTracing;
38
- protected initWallet(mnemonicOrSeed?: Uint8Array | string, accountNumber?: number): Promise<InitWalletResponse | undefined>;
30
+ /**
31
+ * NetworkError should be used for any errors related to network communication,
32
+ * such as failed HTTP requests, timeouts, or connection issues.
33
+ * This includes:
34
+ * - Failed API calls
35
+ * - Network timeouts
36
+ * - Connection refused
37
+ * - DNS resolution failures
38
+ * - SSL/TLS errors
39
+ */
40
+ declare class NetworkError extends SparkSDKError {
41
+ constructor(message: string, context?: {
42
+ url?: string;
43
+ method?: string;
44
+ statusCode?: number;
45
+ response?: unknown;
46
+ errorCount?: number;
47
+ errors?: string;
48
+ operation?: string;
49
+ nodeSignaturesCount?: number;
50
+ }, originalError?: Error);
51
+ }
52
+ /**
53
+ * ValidationError should be used for any errors related to data validation in regards to the user's input,
54
+ * This includes:
55
+ * - Invalid signatures
56
+ * - Malformed addresses
57
+ * - Invalid proof of possession
58
+ * - Invalid cryptographic parameters
59
+ * - Data format validation failures
60
+ */
61
+ declare class ValidationError extends SparkSDKError {
62
+ constructor(message: string, context?: {
63
+ field?: string;
64
+ value?: unknown;
65
+ expected?: unknown;
66
+ expectedLength?: number;
67
+ actualLength?: number;
68
+ rValue?: bigint;
69
+ fieldPrime?: bigint;
70
+ sValue?: bigint;
71
+ groupOrder?: bigint;
72
+ index?: number;
73
+ treeLength?: number;
74
+ addressNodesLength?: number;
75
+ }, originalError?: Error);
76
+ }
77
+ /**
78
+ * InternalValidationError should be used for any errors related to internal data validation
79
+ * that is not related to the user's input.
80
+ * This includes:
81
+ * - Invalid SO responses
82
+ */
83
+ declare class InternalValidationError extends SparkSDKError {
84
+ constructor(message: string, context?: {
85
+ field?: string;
86
+ value?: unknown;
87
+ expected?: unknown;
88
+ outputIndex?: number;
89
+ keyshareInfo?: unknown;
90
+ signingOperators?: unknown;
91
+ }, originalError?: Error);
92
+ }
93
+ /**
94
+ * AuthenticationError should be used specifically for authentication and authorization failures,
95
+ * such as invalid credentials or insufficient permissions.
96
+ * This includes:
97
+ * - Invalid API keys
98
+ * - Expired tokens
99
+ * - Insufficient permissions
100
+ * - Authentication token validation failures
101
+ * - Authorization failures
102
+ */
103
+ declare class AuthenticationError extends SparkSDKError {
104
+ constructor(message: string, context?: {
105
+ endpoint?: string;
106
+ reason?: string;
107
+ }, originalError?: Error);
108
+ }
109
+ /**
110
+ * RPCError should be used for errors that occur during RPC (Remote Procedure Call) operations,
111
+ * such as invalid RPC parameters or RPC-specific failures.
112
+ * This includes:
113
+ * - Invalid RPC method calls
114
+ * - RPC parameter validation failures
115
+ * - RPC-specific error codes
116
+ * - RPC protocol errors
117
+ */
118
+ declare class RPCError extends SparkSDKError {
119
+ constructor(message: string, context?: {
120
+ method?: string;
121
+ params?: unknown;
122
+ code?: number;
123
+ }, originalError?: Error);
124
+ }
125
+ /**
126
+ * ConfigurationError should be used for errors related to SDK configuration,
127
+ * such as missing or invalid configuration values.
128
+ * This includes:
129
+ * - Missing required configuration
130
+ * - Invalid configuration values
131
+ * - Configuration format errors
132
+ * - Environment-specific configuration issues
133
+ */
134
+ declare class ConfigurationError extends SparkSDKError {
135
+ constructor(message: string, context?: {
136
+ configKey?: string;
137
+ value?: unknown;
138
+ }, originalError?: Error);
139
+ }
140
+ /***
141
+ * NotImplementedError should be used for any errors related to features that are not yet implemented.
142
+ */
143
+ declare class NotImplementedError extends SparkSDKError {
144
+ constructor(message: string, context?: Record<string, unknown>, originalError?: Error);
145
+ }
146
+
147
+ interface FetchOwnedTokenOutputsParams {
148
+ ownerPublicKeys: Uint8Array[];
149
+ issuerPublicKeys?: Uint8Array[];
150
+ tokenIdentifiers?: Uint8Array[];
151
+ }
152
+ interface QueryTokenTransactionsParams {
153
+ ownerPublicKeys?: string[];
154
+ issuerPublicKeys?: string[];
155
+ tokenTransactionHashes?: string[];
156
+ tokenIdentifiers?: string[];
157
+ outputIds?: string[];
158
+ }
159
+ declare class TokenTransactionService {
160
+ protected readonly config: WalletConfigService;
161
+ protected readonly connectionManager: ConnectionManager;
162
+ constructor(config: WalletConfigService, connectionManager: ConnectionManager);
163
+ tokenTransfer(tokenOutputs: TokenOutputsMap, receiverOutputs: {
164
+ tokenIdentifier: Bech32mTokenIdentifier;
165
+ tokenAmount: bigint;
166
+ receiverSparkAddress: string;
167
+ }[], outputSelectionStrategy?: "SMALL_FIRST" | "LARGE_FIRST", selectedOutputs?: OutputWithPreviousTransactionData[]): Promise<string>;
168
+ constructTransferTokenTransactionV0(selectedOutputs: OutputWithPreviousTransactionData[], tokenOutputData: Array<{
169
+ receiverSparkAddress: Uint8Array;
170
+ tokenPublicKey: Uint8Array;
171
+ tokenAmount: bigint;
172
+ }>): Promise<TokenTransaction>;
173
+ constructTransferTokenTransaction(selectedOutputs: OutputWithPreviousTransactionData[], tokenOutputData: Array<{
174
+ receiverSparkAddress: Uint8Array;
175
+ rawTokenIdentifier: Uint8Array;
176
+ tokenAmount: bigint;
177
+ }>): Promise<TokenTransaction$1>;
178
+ collectOperatorIdentityPublicKeys(): Uint8Array[];
179
+ broadcastTokenTransaction(tokenTransaction: TokenTransaction | TokenTransaction$1, outputsToSpendSigningPublicKeys?: Uint8Array[], outputsToSpendCommitments?: Uint8Array[]): Promise<string>;
180
+ private broadcastTokenTransactionV0;
181
+ private broadcastTokenTransactionV1;
182
+ private startTokenTransactionV0;
183
+ private startTokenTransaction;
184
+ private signTokenTransactionV0;
185
+ private signTokenTransaction;
186
+ fetchOwnedTokenOutputs(params: FetchOwnedTokenOutputsParams): Promise<OutputWithPreviousTransactionData[]>;
187
+ queryTokenTransactions(params: QueryTokenTransactionsParams): Promise<TokenTransactionWithStatus[] | TokenTransactionWithStatus$1[]>;
188
+ private fetchOwnedTokenOutputsV0;
189
+ private fetchOwnedTokenOutputsV1;
190
+ private queryTokenTransactionsV0;
191
+ private queryTokenTransactionsV1;
192
+ selectTokenOutputs(tokenOutputs: OutputWithPreviousTransactionData[], tokenAmount: bigint, strategy: "SMALL_FIRST" | "LARGE_FIRST"): OutputWithPreviousTransactionData[];
193
+ private sortTokenOutputsByStrategy;
194
+ private signMessageWithKey;
195
+ private finalizeTokenTransaction;
196
+ private createSignaturesForOperators;
39
197
  }
40
198
 
41
- export { InitWalletResponse, SparkWallet };
199
+ export { AuthenticationError, Bech32mTokenIdentifier, ConfigurationError, ConnectionManager, InternalValidationError, NetworkError, NotImplementedError, RPCError, SparkSDKError, TokenOutputsMap, TokenTransactionService, ValidationError, WalletConfigService };
@@ -1,41 +1,199 @@
1
- import { SparkWallet as SparkWallet$1 } from './index.js';
2
- export { AuthenticationError, ConfigurationError, InternalValidationError, NetworkError, NotImplementedError, RPCError, SparkSDKError, ValidationError } from './index.js';
3
- import { I as InitWalletResponse } from './index-COm59SPw.js';
4
- export { a6 as BroadcastConfig, a7 as BroadcastResult, C as CreateLightningInvoiceParams, U as DEFAULT_FEE_SATS, D as DepositParams, a4 as FeeBumpTxChain, a3 as FeeBumpTxPackage, a2 as FeeRate, a0 as LeafInfo, P as PayLightningInvoiceParams, c as SparkWalletEvents, S as SparkWalletProps, b as TokenBalanceMap, a as TokenMetadata, T as TransferParams, a5 as TxChain, a1 as Utxo, t as addPrivateKeys, q as addPublicKeys, e as applyAdaptorToSignature, r as applyAdditiveTweakToPublicKey, N as calculateAvailableTokenAmount, O as checkIfSelectedOutputsAreAvailable, Z as checkIfValidSequence, B as collectResponses, f as computeTaprootKeyNoScript, ab as constructFeeBumpTx, aa as constructUnilateralExitFeeBumpPackages, a9 as constructUnilateralExitTxs, W as createRefundTx, K as createSigningCommitment, F as createSigningNonce, M as decodeBytesToSigningCommitment, J as decodeBytesToSigningNonce, L as encodeSigningCommitmentToBytes, H as encodeSigningNonceToBytes, Q as filterTokenBalanceForTokenPublicKey, d as generateAdaptorFromSignature, g as generateSignatureFromExistingAdaptor, X as getCurrentTimelock, $ as getEphemeralAnchorOutput, y as getLatestDepositTxId, _ as getNextTransactionSequence, j as getP2TRAddressFromPkScript, i as getP2TRAddressFromPublicKey, h as getP2TRScriptFromPublicKey, k as getP2WPKHAddressFromPublicKey, E as getRandomSigningNonce, n as getSigHashFromTx, G as getSigningCommitmentFromNonce, ac as getSparkAddressFromTaproot, Y as getTransactionSequence, R as getTransferPackageSigningPayload, m as getTxFromRawTxBytes, l as getTxFromRawTxHex, o as getTxId, p as getTxIdNoReverse, a8 as isEphemeralAnchorOutput, z as isTxBroadcast, x as lastKeyWithTarget, V as maybeApplyFee, A as proofOfPossessionMessageHashForDepositAddress, u as subtractPrivateKeys, s as subtractPublicKeys, w as sumOfPrivateKeys, v as validateOutboundAdaptorSignature } from './index-COm59SPw.js';
5
- export { L as LRC_WALLET_NETWORK, c as LRC_WALLET_NETWORK_TYPE, N as Network, b as NetworkToProto, a as NetworkType, g as getNetwork, d as getNetworkFromAddress, e as getNetworkFromString } from './network-hynb7iTZ.js';
6
- export { V as VerifiableSecretShare, d as bigIntToPrivateKey, c as computerLagrangeCoefficients, e as evaluatePolynomial, f as fieldDiv, a as generatePolynomialForSecretSharing, g as getRandomBigInt, m as modInverse, r as recoverSecret, s as splitSecret, b as splitSecretWithProofs, v as validateShare } from './signer-BVZJXcq7.js';
7
- import './RequestLightningSendInput-CN6BNg_g.js';
8
- import '@lightsparkdev/core';
9
- import './BitcoinNetwork-TnABML0T.js';
10
- import './LightningSendFeeEstimateInput-BgOhEAI-.js';
11
- import './spark-DbzGfse6.js';
12
- import '@bufbuild/protobuf/wire';
13
- import 'nice-grpc-common';
14
- import './services/config.js';
15
- import '@buildonspark/lrc20-sdk';
16
- import './services/wallet-config.js';
17
- import './services/connection.js';
1
+ import { W as WalletConfigService, s as ConnectionManager, T as TokenOutputsMap, B as Bech32mTokenIdentifier } from './spark-wallet-CF8Oxjqs.js';
2
+ export { a as Bech32mTokenIdentifierData, C as ConfigOptions, u as CreateLightningInvoiceParams, D as DecodedSparkAddressData, w as DepositParams, I as InitWalletResponse, L as LRC_WALLET_NETWORK, b as LRC_WALLET_NETWORK_TYPE, N as Network, c as NetworkToProto, d as NetworkType, P as PayLightningInvoiceParams, R as RawTokenIdentifierHex, S as SparkAddressData, e as SparkAddressFormat, o as SparkWallet, y as SparkWalletEvents, q as SparkWalletProps, r as TokenBalanceMap, x as TokenMetadataMap, v as TransferParams, U as UserTokenMetadata, t as WalletConfig, f as decodeBech32mTokenIdentifier, g as decodeSparkAddress, h as encodeBech32mTokenIdentifier, i as encodeSparkAddress, j as getNetwork, k as getNetworkFromAddress, l as getNetworkFromString, m as isValidPublicKey, n as isValidSparkAddress, p as protoToNetwork } from './spark-wallet-CF8Oxjqs.js';
3
+ export { B as BroadcastConfig, a as BroadcastResult, D as DEFAULT_FEE_SATS, F as FeeBumpTxChain, b as FeeBumpTxPackage, c as FeeRate, L as LeafInfo, T as TxChain, U as Utxo, d as addPrivateKeys, e as addPublicKeys, f as applyAdaptorToSignature, g as applyAdditiveTweakToPublicKey, h as checkIfSelectedOutputsAreAvailable, i as checkIfValidSequence, j as collectResponses, k as computeTaprootKeyNoScript, l as constructFeeBumpTx, m as constructUnilateralExitFeeBumpPackages, n as constructUnilateralExitTxs, o as createRefundTx, p as createSigningCommitment, q as createSigningNonce, r as decodeBytesToSigningCommitment, s as decodeBytesToSigningNonce, t as encodeSigningCommitmentToBytes, u as encodeSigningNonceToBytes, v as filterTokenBalanceForTokenPublicKey, w as generateAdaptorFromSignature, x as generateSignatureFromExistingAdaptor, y as getCurrentTimelock, z as getEphemeralAnchorOutput, A as getLatestDepositTxId, C as getNextTransactionSequence, E as getP2TRAddressFromPkScript, G as getP2TRAddressFromPublicKey, H as getP2TRScriptFromPublicKey, I as getP2WPKHAddressFromPublicKey, J as getRandomSigningNonce, K as getSigHashFromTx, M as getSigningCommitmentFromNonce, N as getSparkAddressFromTaproot, O as getTransactionSequence, P as getTransferPackageSigningPayload, Q as getTxFromRawTxBytes, R as getTxFromRawTxHex, S as getTxId, V as getTxIdNoReverse, W as isEphemeralAnchorOutput, X as isTxBroadcast, Y as lastKeyWithTarget, Z as maybeApplyFee, _ as proofOfPossessionMessageHashForDepositAddress, $ as subtractPrivateKeys, a0 as subtractPublicKeys, a1 as sumAvailableTokens, a2 as sumOfPrivateKeys, a3 as validateOutboundAdaptorSignature } from './xchain-address-Ckto9oEz.js';
4
+ export { ae as AggregateFrostParams, a9 as DefaultSparkSigner, ag as DerivedHDKey, a5 as KeyDerivation, ac as KeyDerivationType, ah as KeyPair, ad as SignFrostParams, a6 as SigningCommitment, a7 as SigningNonce, a1 as SparkSigner, af as SplitSecretWithProofsParams, ab as TaprootOutputKeysGenerator, aa as TaprootSparkSigner, K as VerifiableSecretShare, M as bigIntToPrivateKey, N as computerLagrangeCoefficients, O as evaluatePolynomial, Q as fieldDiv, W as generatePolynomialForSecretSharing, X as getRandomBigInt, Y as modInverse, Z as recoverSecret, _ as splitSecret, $ as splitSecretWithProofs, a0 as validateShare } from './client-DKbwpcnl.js';
5
+ export { TokenSigner } from '@buildonspark/lrc20-sdk';
6
+ export { MultisigReceiptInput } from '@buildonspark/lrc20-sdk/lrc/types';
7
+ import { j as OutputWithPreviousTransactionData, T as TokenTransaction, l as TokenTransactionWithStatus } from './spark-BUOx3U7Q.js';
8
+ import { TokenTransaction as TokenTransaction$1, TokenTransactionWithStatus as TokenTransactionWithStatus$1 } from './proto/spark_token.js';
9
+ import '@scure/btc-signer';
10
+ import 'bitcoinjs-lib';
18
11
  import 'nice-grpc';
19
12
  import 'nice-grpc-web';
20
- import './proto/spark_token.js';
21
- import './services/lrc-connection.js';
22
- import './proto/lrc20.js';
23
- import '@scure/btc-signer';
13
+ import '@bufbuild/protobuf/wire';
14
+ import 'nice-grpc-common';
24
15
  import 'eventemitter3';
25
- import './address/index.js';
26
- import './sdk-types-CKBsylfW.js';
16
+ import './sdk-types-DCIVdKUT.js';
27
17
  import '@scure/btc-signer/psbt';
28
- import 'bitcoinjs-lib';
18
+ import '@lightsparkdev/core';
29
19
  import '@scure/bip32';
30
- import './types-C-Rp0Oo7.js';
31
- import '@buildonspark/lrc20-sdk/lrc/types';
20
+ import './types-BADxR3bm.js';
21
+
22
+ declare class SparkSDKError extends Error {
23
+ readonly context: Record<string, unknown>;
24
+ readonly originalError?: Error;
25
+ constructor(message: string, context?: Record<string, unknown>, originalError?: Error);
26
+ toString(): string;
27
+ toJSON(): Record<string, unknown>;
28
+ }
32
29
 
33
- declare class SparkWallet extends SparkWallet$1 {
34
- private tracer;
35
- protected wrapWithOtelSpan<T>(name: string, fn: (...args: any[]) => Promise<T>): (...args: any[]) => Promise<T>;
36
- protected initializeTracer(tracerName: string): Promise<void>;
37
- private wrapSparkWalletWithTracing;
38
- protected initWallet(mnemonicOrSeed?: Uint8Array | string, accountNumber?: number): Promise<InitWalletResponse | undefined>;
30
+ /**
31
+ * NetworkError should be used for any errors related to network communication,
32
+ * such as failed HTTP requests, timeouts, or connection issues.
33
+ * This includes:
34
+ * - Failed API calls
35
+ * - Network timeouts
36
+ * - Connection refused
37
+ * - DNS resolution failures
38
+ * - SSL/TLS errors
39
+ */
40
+ declare class NetworkError extends SparkSDKError {
41
+ constructor(message: string, context?: {
42
+ url?: string;
43
+ method?: string;
44
+ statusCode?: number;
45
+ response?: unknown;
46
+ errorCount?: number;
47
+ errors?: string;
48
+ operation?: string;
49
+ nodeSignaturesCount?: number;
50
+ }, originalError?: Error);
51
+ }
52
+ /**
53
+ * ValidationError should be used for any errors related to data validation in regards to the user's input,
54
+ * This includes:
55
+ * - Invalid signatures
56
+ * - Malformed addresses
57
+ * - Invalid proof of possession
58
+ * - Invalid cryptographic parameters
59
+ * - Data format validation failures
60
+ */
61
+ declare class ValidationError extends SparkSDKError {
62
+ constructor(message: string, context?: {
63
+ field?: string;
64
+ value?: unknown;
65
+ expected?: unknown;
66
+ expectedLength?: number;
67
+ actualLength?: number;
68
+ rValue?: bigint;
69
+ fieldPrime?: bigint;
70
+ sValue?: bigint;
71
+ groupOrder?: bigint;
72
+ index?: number;
73
+ treeLength?: number;
74
+ addressNodesLength?: number;
75
+ }, originalError?: Error);
76
+ }
77
+ /**
78
+ * InternalValidationError should be used for any errors related to internal data validation
79
+ * that is not related to the user's input.
80
+ * This includes:
81
+ * - Invalid SO responses
82
+ */
83
+ declare class InternalValidationError extends SparkSDKError {
84
+ constructor(message: string, context?: {
85
+ field?: string;
86
+ value?: unknown;
87
+ expected?: unknown;
88
+ outputIndex?: number;
89
+ keyshareInfo?: unknown;
90
+ signingOperators?: unknown;
91
+ }, originalError?: Error);
92
+ }
93
+ /**
94
+ * AuthenticationError should be used specifically for authentication and authorization failures,
95
+ * such as invalid credentials or insufficient permissions.
96
+ * This includes:
97
+ * - Invalid API keys
98
+ * - Expired tokens
99
+ * - Insufficient permissions
100
+ * - Authentication token validation failures
101
+ * - Authorization failures
102
+ */
103
+ declare class AuthenticationError extends SparkSDKError {
104
+ constructor(message: string, context?: {
105
+ endpoint?: string;
106
+ reason?: string;
107
+ }, originalError?: Error);
108
+ }
109
+ /**
110
+ * RPCError should be used for errors that occur during RPC (Remote Procedure Call) operations,
111
+ * such as invalid RPC parameters or RPC-specific failures.
112
+ * This includes:
113
+ * - Invalid RPC method calls
114
+ * - RPC parameter validation failures
115
+ * - RPC-specific error codes
116
+ * - RPC protocol errors
117
+ */
118
+ declare class RPCError extends SparkSDKError {
119
+ constructor(message: string, context?: {
120
+ method?: string;
121
+ params?: unknown;
122
+ code?: number;
123
+ }, originalError?: Error);
124
+ }
125
+ /**
126
+ * ConfigurationError should be used for errors related to SDK configuration,
127
+ * such as missing or invalid configuration values.
128
+ * This includes:
129
+ * - Missing required configuration
130
+ * - Invalid configuration values
131
+ * - Configuration format errors
132
+ * - Environment-specific configuration issues
133
+ */
134
+ declare class ConfigurationError extends SparkSDKError {
135
+ constructor(message: string, context?: {
136
+ configKey?: string;
137
+ value?: unknown;
138
+ }, originalError?: Error);
139
+ }
140
+ /***
141
+ * NotImplementedError should be used for any errors related to features that are not yet implemented.
142
+ */
143
+ declare class NotImplementedError extends SparkSDKError {
144
+ constructor(message: string, context?: Record<string, unknown>, originalError?: Error);
145
+ }
146
+
147
+ interface FetchOwnedTokenOutputsParams {
148
+ ownerPublicKeys: Uint8Array[];
149
+ issuerPublicKeys?: Uint8Array[];
150
+ tokenIdentifiers?: Uint8Array[];
151
+ }
152
+ interface QueryTokenTransactionsParams {
153
+ ownerPublicKeys?: string[];
154
+ issuerPublicKeys?: string[];
155
+ tokenTransactionHashes?: string[];
156
+ tokenIdentifiers?: string[];
157
+ outputIds?: string[];
158
+ }
159
+ declare class TokenTransactionService {
160
+ protected readonly config: WalletConfigService;
161
+ protected readonly connectionManager: ConnectionManager;
162
+ constructor(config: WalletConfigService, connectionManager: ConnectionManager);
163
+ tokenTransfer(tokenOutputs: TokenOutputsMap, receiverOutputs: {
164
+ tokenIdentifier: Bech32mTokenIdentifier;
165
+ tokenAmount: bigint;
166
+ receiverSparkAddress: string;
167
+ }[], outputSelectionStrategy?: "SMALL_FIRST" | "LARGE_FIRST", selectedOutputs?: OutputWithPreviousTransactionData[]): Promise<string>;
168
+ constructTransferTokenTransactionV0(selectedOutputs: OutputWithPreviousTransactionData[], tokenOutputData: Array<{
169
+ receiverSparkAddress: Uint8Array;
170
+ tokenPublicKey: Uint8Array;
171
+ tokenAmount: bigint;
172
+ }>): Promise<TokenTransaction>;
173
+ constructTransferTokenTransaction(selectedOutputs: OutputWithPreviousTransactionData[], tokenOutputData: Array<{
174
+ receiverSparkAddress: Uint8Array;
175
+ rawTokenIdentifier: Uint8Array;
176
+ tokenAmount: bigint;
177
+ }>): Promise<TokenTransaction$1>;
178
+ collectOperatorIdentityPublicKeys(): Uint8Array[];
179
+ broadcastTokenTransaction(tokenTransaction: TokenTransaction | TokenTransaction$1, outputsToSpendSigningPublicKeys?: Uint8Array[], outputsToSpendCommitments?: Uint8Array[]): Promise<string>;
180
+ private broadcastTokenTransactionV0;
181
+ private broadcastTokenTransactionV1;
182
+ private startTokenTransactionV0;
183
+ private startTokenTransaction;
184
+ private signTokenTransactionV0;
185
+ private signTokenTransaction;
186
+ fetchOwnedTokenOutputs(params: FetchOwnedTokenOutputsParams): Promise<OutputWithPreviousTransactionData[]>;
187
+ queryTokenTransactions(params: QueryTokenTransactionsParams): Promise<TokenTransactionWithStatus[] | TokenTransactionWithStatus$1[]>;
188
+ private fetchOwnedTokenOutputsV0;
189
+ private fetchOwnedTokenOutputsV1;
190
+ private queryTokenTransactionsV0;
191
+ private queryTokenTransactionsV1;
192
+ selectTokenOutputs(tokenOutputs: OutputWithPreviousTransactionData[], tokenAmount: bigint, strategy: "SMALL_FIRST" | "LARGE_FIRST"): OutputWithPreviousTransactionData[];
193
+ private sortTokenOutputsByStrategy;
194
+ private signMessageWithKey;
195
+ private finalizeTokenTransaction;
196
+ private createSignaturesForOperators;
39
197
  }
40
198
 
41
- export { InitWalletResponse, SparkWallet };
199
+ export { AuthenticationError, Bech32mTokenIdentifier, ConfigurationError, ConnectionManager, InternalValidationError, NetworkError, NotImplementedError, RPCError, SparkSDKError, TokenOutputsMap, TokenTransactionService, ValidationError, WalletConfigService };