@buildonspark/spark-sdk 0.1.43 → 0.1.45

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 (153) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{RequestLightningSendInput-D7fZdT4A.d.ts → RequestLightningSendInput-DEPd_fPO.d.ts} +43 -4
  3. package/dist/{RequestLightningSendInput-Na1mHdWg.d.cts → RequestLightningSendInput-Du0z7Om7.d.cts} +43 -4
  4. package/dist/address/index.cjs +2 -2
  5. package/dist/address/index.d.cts +2 -2
  6. package/dist/address/index.d.ts +2 -2
  7. package/dist/address/index.js +2 -2
  8. package/dist/{chunk-IRW5TWMH.js → chunk-5FUB65LX.js} +7 -9
  9. package/dist/{chunk-BUTZWYBW.js → chunk-6264CGDM.js} +4 -4
  10. package/dist/{chunk-VFJQNBFX.js → chunk-7V6N75CC.js} +5 -2
  11. package/dist/{chunk-M6A4KFIG.js → chunk-BGGEVUJK.js} +1505 -445
  12. package/dist/{chunk-DQYKQJRZ.js → chunk-C2S227QR.js} +675 -52
  13. package/dist/{chunk-GYQR4B4P.js → chunk-GZ5IPPJ2.js} +2 -2
  14. package/dist/{chunk-6AFUC5M2.js → chunk-HWJWKEIU.js} +8 -2
  15. package/dist/{chunk-TOSP3INR.js → chunk-I54FARY2.js} +4 -2
  16. package/dist/{chunk-WWOTVNPP.js → chunk-J2IE4Z7Y.js} +544 -431
  17. package/dist/{chunk-O4RYNJNB.js → chunk-KMUMFYFX.js} +3 -3
  18. package/dist/chunk-LHRD2WT6.js +2374 -0
  19. package/dist/{chunk-ABZA6R5S.js → chunk-NTFKFRQ2.js} +1 -1
  20. package/dist/{chunk-MIVX3GHD.js → chunk-OBFKIEMP.js} +1 -1
  21. package/dist/{chunk-HRQRRDSS.js → chunk-PQN3C2MF.js} +15 -15
  22. package/dist/{chunk-DOA6QXYQ.js → chunk-R5PXJZQS.js} +3 -1
  23. package/dist/{chunk-TIUBYNN5.js → chunk-YUPMXTCJ.js} +4 -4
  24. package/dist/graphql/objects/index.d.cts +6 -43
  25. package/dist/graphql/objects/index.d.ts +6 -43
  26. package/dist/graphql/objects/index.js +1 -1
  27. package/dist/index-B2AwKW5J.d.cts +214 -0
  28. package/dist/index-CJDi1HWc.d.ts +214 -0
  29. package/dist/index.cjs +4150 -1026
  30. package/dist/index.d.cts +764 -19
  31. package/dist/index.d.ts +764 -19
  32. package/dist/index.js +17 -21
  33. package/dist/index.node.cjs +4153 -1033
  34. package/dist/index.node.d.cts +10 -8
  35. package/dist/index.node.d.ts +10 -8
  36. package/dist/index.node.js +20 -28
  37. package/dist/native/index.cjs +4166 -1042
  38. package/dist/native/index.d.cts +369 -108
  39. package/dist/native/index.d.ts +369 -108
  40. package/dist/native/index.js +4138 -1015
  41. package/dist/{network-xkBSpaTn.d.ts → network-BTJl-Sul.d.ts} +1 -1
  42. package/dist/{network-D5lKssVl.d.cts → network-CqgsdUF2.d.cts} +1 -1
  43. package/dist/proto/lrc20.cjs +222 -19
  44. package/dist/proto/lrc20.d.cts +1 -1
  45. package/dist/proto/lrc20.d.ts +1 -1
  46. package/dist/proto/lrc20.js +2 -2
  47. package/dist/proto/spark.cjs +1502 -442
  48. package/dist/proto/spark.d.cts +1 -1
  49. package/dist/proto/spark.d.ts +1 -1
  50. package/dist/proto/spark.js +5 -5
  51. package/dist/proto/spark_token.cjs +1515 -56
  52. package/dist/proto/spark_token.d.cts +153 -15
  53. package/dist/proto/spark_token.d.ts +153 -15
  54. package/dist/proto/spark_token.js +40 -4
  55. package/dist/{sdk-types-B-q9py_P.d.cts → sdk-types-B0SwjolI.d.cts} +1 -1
  56. package/dist/{sdk-types-BPoPgzda.d.ts → sdk-types-Cc4l4kb1.d.ts} +1 -1
  57. package/dist/services/config.cjs +7 -3
  58. package/dist/services/config.d.cts +5 -4
  59. package/dist/services/config.d.ts +5 -4
  60. package/dist/services/config.js +6 -6
  61. package/dist/services/connection.cjs +2938 -646
  62. package/dist/services/connection.d.cts +5 -4
  63. package/dist/services/connection.d.ts +5 -4
  64. package/dist/services/connection.js +4 -4
  65. package/dist/services/index.cjs +6381 -3461
  66. package/dist/services/index.d.cts +7 -6
  67. package/dist/services/index.d.ts +7 -6
  68. package/dist/services/index.js +15 -13
  69. package/dist/services/lrc-connection.cjs +227 -21
  70. package/dist/services/lrc-connection.d.cts +5 -4
  71. package/dist/services/lrc-connection.d.ts +5 -4
  72. package/dist/services/lrc-connection.js +4 -4
  73. package/dist/services/token-transactions.cjs +868 -244
  74. package/dist/services/token-transactions.d.cts +25 -7
  75. package/dist/services/token-transactions.d.ts +25 -7
  76. package/dist/services/token-transactions.js +5 -4
  77. package/dist/services/wallet-config.cjs +4 -1
  78. package/dist/services/wallet-config.d.cts +7 -5
  79. package/dist/services/wallet-config.d.ts +7 -5
  80. package/dist/services/wallet-config.js +3 -1
  81. package/dist/signer/signer.cjs +5 -2
  82. package/dist/signer/signer.d.cts +3 -2
  83. package/dist/signer/signer.d.ts +3 -2
  84. package/dist/signer/signer.js +2 -2
  85. package/dist/{signer-wqesWifN.d.ts → signer-BocS_J6B.d.ts} +2 -6
  86. package/dist/{signer-IO3oMRNj.d.cts → signer-DKS0AJkw.d.cts} +2 -6
  87. package/dist/{spark-CDm4gqS6.d.cts → spark-dM7EYXYQ.d.cts} +138 -42
  88. package/dist/{spark-CDm4gqS6.d.ts → spark-dM7EYXYQ.d.ts} +138 -42
  89. package/dist/spark_bindings/native/index.cjs +183 -0
  90. package/dist/spark_bindings/native/index.d.cts +14 -0
  91. package/dist/spark_bindings/native/index.d.ts +14 -0
  92. package/dist/spark_bindings/native/index.js +141 -0
  93. package/dist/spark_bindings/wasm/index.cjs +1093 -0
  94. package/dist/spark_bindings/wasm/index.d.cts +47 -0
  95. package/dist/spark_bindings/wasm/index.d.ts +47 -0
  96. package/dist/{chunk-K4C4W5FC.js → spark_bindings/wasm/index.js} +7 -6
  97. package/dist/types/index.cjs +1503 -443
  98. package/dist/types/index.d.cts +6 -5
  99. package/dist/types/index.d.ts +6 -5
  100. package/dist/types/index.js +3 -3
  101. package/dist/types-C-Rp0Oo7.d.cts +46 -0
  102. package/dist/types-C-Rp0Oo7.d.ts +46 -0
  103. package/dist/utils/index.cjs +358 -36
  104. package/dist/utils/index.d.cts +14 -134
  105. package/dist/utils/index.d.ts +14 -134
  106. package/dist/utils/index.js +8 -8
  107. package/package.json +21 -1
  108. package/src/constants.ts +5 -1
  109. package/src/graphql/client.ts +28 -0
  110. package/src/graphql/mutations/RequestCoopExit.ts +6 -0
  111. package/src/graphql/mutations/RequestSwapLeaves.ts +2 -0
  112. package/src/graphql/queries/GetCoopExitFeeQuote.ts +20 -0
  113. package/src/index.node.ts +0 -1
  114. package/src/index.ts +0 -1
  115. package/src/native/index.ts +1 -2
  116. package/src/proto/common.ts +5 -5
  117. package/src/proto/google/protobuf/descriptor.ts +34 -34
  118. package/src/proto/google/protobuf/duration.ts +2 -2
  119. package/src/proto/google/protobuf/empty.ts +2 -2
  120. package/src/proto/google/protobuf/timestamp.ts +2 -2
  121. package/src/proto/mock.ts +4 -4
  122. package/src/proto/spark.ts +1924 -525
  123. package/src/proto/spark_authn.ts +7 -7
  124. package/src/proto/spark_token.ts +1668 -105
  125. package/src/proto/validate/validate.ts +24 -24
  126. package/src/services/bolt11-spark.ts +62 -187
  127. package/src/services/coop-exit.ts +3 -0
  128. package/src/services/lrc20.ts +1 -1
  129. package/src/services/token-transactions.ts +209 -9
  130. package/src/services/transfer.ts +22 -3
  131. package/src/services/tree-creation.ts +13 -0
  132. package/src/services/wallet-config.ts +2 -1
  133. package/src/spark-wallet/spark-wallet.node.ts +3 -7
  134. package/src/spark-wallet/spark-wallet.ts +376 -232
  135. package/src/spark-wallet/types.ts +39 -3
  136. package/src/tests/bolt11-spark.test.ts +7 -15
  137. package/src/tests/integration/deposit.test.ts +16 -0
  138. package/src/tests/integration/ssp/coop-exit.test.ts +85 -21
  139. package/src/tests/integration/ssp/swap.test.ts +47 -0
  140. package/src/tests/integration/swap.test.ts +453 -433
  141. package/src/tests/integration/transfer.test.ts +261 -248
  142. package/src/tests/token-identifier.test.ts +54 -0
  143. package/src/tests/tokens.test.ts +218 -22
  144. package/src/utils/token-hashing.ts +346 -52
  145. package/src/utils/token-identifier.ts +88 -0
  146. package/src/utils/token-transaction-validation.ts +350 -5
  147. package/src/utils/token-transactions.ts +12 -8
  148. package/src/utils/transaction.ts +2 -8
  149. package/dist/chunk-VA7MV4MZ.js +0 -1073
  150. package/dist/index-7RYRH5wc.d.ts +0 -815
  151. package/dist/index-BJOc8Ur-.d.cts +0 -815
  152. package/dist/wasm-7OWFHDMS.js +0 -21
  153. package/src/logger.ts +0 -3
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/spark_bindings/native/index.ts
21
+ var native_exports = {};
22
+ __export(native_exports, {
23
+ NativeSparkFrost: () => NativeSparkFrost,
24
+ createDummyTx: () => createDummyTx,
25
+ decryptEcies: () => decryptEcies,
26
+ encryptEcies: () => encryptEcies
27
+ });
28
+ module.exports = __toCommonJS(native_exports);
29
+
30
+ // buffer.js
31
+ var import_buffer = require("buffer");
32
+ if (typeof globalThis.Buffer === "undefined") {
33
+ globalThis.Buffer = import_buffer.Buffer;
34
+ }
35
+ if (typeof window !== "undefined") {
36
+ if (typeof window.global === "undefined") {
37
+ window.global = window;
38
+ }
39
+ if (typeof window.globalThis === "undefined") {
40
+ window.globalThis = window;
41
+ }
42
+ }
43
+
44
+ // src/spark_bindings/native/index.ts
45
+ var import_react_native = require("react-native");
46
+ var toNumberArray = (arr) => Array.from(arr);
47
+ var toUint8Array = (arr) => new Uint8Array(arr);
48
+ var { SparkFrostModule } = import_react_native.NativeModules;
49
+ var NativeSparkFrost = class {
50
+ static async signFrost(params) {
51
+ if (!SparkFrostModule) {
52
+ throw new Error("NativeSparkFrost is not available in this environment");
53
+ }
54
+ const nativeParams = {
55
+ msg: toNumberArray(params.message),
56
+ keyPackage: {
57
+ secretKey: toNumberArray(params.keyPackage.secretKey),
58
+ publicKey: toNumberArray(params.keyPackage.publicKey),
59
+ verifyingKey: toNumberArray(params.keyPackage.verifyingKey)
60
+ },
61
+ nonce: {
62
+ hiding: toNumberArray(params.nonce.hiding),
63
+ binding: toNumberArray(params.nonce.binding)
64
+ },
65
+ selfCommitment: {
66
+ hiding: toNumberArray(params.selfCommitment.hiding),
67
+ binding: toNumberArray(params.selfCommitment.binding)
68
+ },
69
+ statechainCommitments: Object.fromEntries(
70
+ Object.entries(params.statechainCommitments ?? {}).map(([k, v]) => [
71
+ k,
72
+ {
73
+ hiding: toNumberArray(v.hiding),
74
+ binding: toNumberArray(v.binding)
75
+ }
76
+ ])
77
+ ),
78
+ adaptorPubKey: params.adaptorPubKey ? toNumberArray(params.adaptorPubKey) : void 0
79
+ };
80
+ const result = await SparkFrostModule.signFrost(nativeParams);
81
+ return toUint8Array(result);
82
+ }
83
+ static async aggregateFrost(params) {
84
+ const nativeParams = {
85
+ msg: toNumberArray(params.message),
86
+ statechainCommitments: Object.fromEntries(
87
+ Object.entries(params.statechainCommitments ?? {}).map(([k, v]) => [
88
+ k,
89
+ {
90
+ hiding: toNumberArray(v.hiding),
91
+ binding: toNumberArray(v.binding)
92
+ }
93
+ ])
94
+ ),
95
+ selfCommitment: {
96
+ hiding: toNumberArray(params.selfCommitment.hiding),
97
+ binding: toNumberArray(params.selfCommitment.binding)
98
+ },
99
+ statechainSignatures: Object.fromEntries(
100
+ Object.entries(params.statechainSignatures ?? {}).map(([k, v]) => [
101
+ k,
102
+ toNumberArray(v)
103
+ ])
104
+ ),
105
+ selfSignature: toNumberArray(params.selfSignature),
106
+ statechainPublicKeys: Object.fromEntries(
107
+ Object.entries(params.statechainPublicKeys ?? {}).map(([k, v]) => [
108
+ k,
109
+ toNumberArray(v)
110
+ ])
111
+ ),
112
+ selfPublicKey: toNumberArray(params.selfPublicKey),
113
+ verifyingKey: toNumberArray(params.verifyingKey),
114
+ adaptorPubKey: params.adaptorPubKey ? toNumberArray(params.adaptorPubKey) : void 0
115
+ };
116
+ const result = await SparkFrostModule.aggregateFrost(nativeParams);
117
+ return toUint8Array(result);
118
+ }
119
+ static async createDummyTx(address, amountSats) {
120
+ if (!SparkFrostModule) {
121
+ console.error("NativeSparkFrost.ts: SparkFrostModule is not available.");
122
+ throw new Error("SparkFrostModule is not available");
123
+ }
124
+ try {
125
+ const bridgeParams = {
126
+ address,
127
+ amountSats: amountSats.toString()
128
+ // JS sends string for bigint
129
+ };
130
+ const result = await SparkFrostModule.createDummyTx(bridgeParams);
131
+ if (result && Array.isArray(result.tx) && typeof result.txid === "string") {
132
+ return {
133
+ tx: toUint8Array(result.tx),
134
+ txid: result.txid
135
+ };
136
+ } else {
137
+ console.error(
138
+ "NativeSparkFrost.ts: Invalid result structure from native call. Result:",
139
+ result
140
+ );
141
+ throw new Error(
142
+ "Invalid result structure from createDummyTx native call"
143
+ );
144
+ }
145
+ } catch (e) {
146
+ console.error(
147
+ "NativeSparkFrost.ts: Error during SparkFrostModule.createDummyTx call:",
148
+ e
149
+ );
150
+ throw e;
151
+ }
152
+ }
153
+ static async encryptEcies(msg, publicKey) {
154
+ const result = await SparkFrostModule.encryptEcies({
155
+ msg: toNumberArray(msg),
156
+ publicKey: toNumberArray(publicKey)
157
+ });
158
+ return toUint8Array(result);
159
+ }
160
+ static async decryptEcies(encryptedMsg, privateKey) {
161
+ const result = await SparkFrostModule.decryptEcies({
162
+ encryptedMsg: toNumberArray(encryptedMsg),
163
+ privateKey: toNumberArray(privateKey)
164
+ });
165
+ return toUint8Array(result);
166
+ }
167
+ };
168
+ async function createDummyTx(address, amountSats) {
169
+ return NativeSparkFrost.createDummyTx(address, amountSats);
170
+ }
171
+ async function encryptEcies(msg, publicKey) {
172
+ return NativeSparkFrost.encryptEcies(msg, publicKey);
173
+ }
174
+ async function decryptEcies(encryptedMsg, privateKey) {
175
+ return NativeSparkFrost.decryptEcies(encryptedMsg, privateKey);
176
+ }
177
+ // Annotate the CommonJS export names for ESM import in node:
178
+ 0 && (module.exports = {
179
+ NativeSparkFrost,
180
+ createDummyTx,
181
+ decryptEcies,
182
+ encryptEcies
183
+ });
@@ -0,0 +1,14 @@
1
+ import { S as SignFrostParams, A as AggregateFrostParams, D as DummyTx } from '../../types-C-Rp0Oo7.cjs';
2
+
3
+ declare class NativeSparkFrost {
4
+ static signFrost(params: SignFrostParams): Promise<Uint8Array>;
5
+ static aggregateFrost(params: AggregateFrostParams): Promise<Uint8Array>;
6
+ static createDummyTx(address: string, amountSats: bigint): Promise<DummyTx>;
7
+ static encryptEcies(msg: Uint8Array, publicKey: Uint8Array): Promise<Uint8Array>;
8
+ static decryptEcies(encryptedMsg: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
9
+ }
10
+ declare function createDummyTx(address: string, amountSats: bigint): Promise<DummyTx>;
11
+ declare function encryptEcies(msg: Uint8Array, publicKey: Uint8Array): Promise<Uint8Array>;
12
+ declare function decryptEcies(encryptedMsg: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
13
+
14
+ export { NativeSparkFrost, createDummyTx, decryptEcies, encryptEcies };
@@ -0,0 +1,14 @@
1
+ import { S as SignFrostParams, A as AggregateFrostParams, D as DummyTx } from '../../types-C-Rp0Oo7.js';
2
+
3
+ declare class NativeSparkFrost {
4
+ static signFrost(params: SignFrostParams): Promise<Uint8Array>;
5
+ static aggregateFrost(params: AggregateFrostParams): Promise<Uint8Array>;
6
+ static createDummyTx(address: string, amountSats: bigint): Promise<DummyTx>;
7
+ static encryptEcies(msg: Uint8Array, publicKey: Uint8Array): Promise<Uint8Array>;
8
+ static decryptEcies(encryptedMsg: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
9
+ }
10
+ declare function createDummyTx(address: string, amountSats: bigint): Promise<DummyTx>;
11
+ declare function encryptEcies(msg: Uint8Array, publicKey: Uint8Array): Promise<Uint8Array>;
12
+ declare function decryptEcies(encryptedMsg: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
13
+
14
+ export { NativeSparkFrost, createDummyTx, decryptEcies, encryptEcies };
@@ -0,0 +1,141 @@
1
+ import "../../chunk-MVRQ5US7.js";
2
+
3
+ // src/spark_bindings/native/index.ts
4
+ import { NativeModules } from "react-native";
5
+ var toNumberArray = (arr) => Array.from(arr);
6
+ var toUint8Array = (arr) => new Uint8Array(arr);
7
+ var { SparkFrostModule } = NativeModules;
8
+ var NativeSparkFrost = class {
9
+ static async signFrost(params) {
10
+ if (!SparkFrostModule) {
11
+ throw new Error("NativeSparkFrost is not available in this environment");
12
+ }
13
+ const nativeParams = {
14
+ msg: toNumberArray(params.message),
15
+ keyPackage: {
16
+ secretKey: toNumberArray(params.keyPackage.secretKey),
17
+ publicKey: toNumberArray(params.keyPackage.publicKey),
18
+ verifyingKey: toNumberArray(params.keyPackage.verifyingKey)
19
+ },
20
+ nonce: {
21
+ hiding: toNumberArray(params.nonce.hiding),
22
+ binding: toNumberArray(params.nonce.binding)
23
+ },
24
+ selfCommitment: {
25
+ hiding: toNumberArray(params.selfCommitment.hiding),
26
+ binding: toNumberArray(params.selfCommitment.binding)
27
+ },
28
+ statechainCommitments: Object.fromEntries(
29
+ Object.entries(params.statechainCommitments ?? {}).map(([k, v]) => [
30
+ k,
31
+ {
32
+ hiding: toNumberArray(v.hiding),
33
+ binding: toNumberArray(v.binding)
34
+ }
35
+ ])
36
+ ),
37
+ adaptorPubKey: params.adaptorPubKey ? toNumberArray(params.adaptorPubKey) : void 0
38
+ };
39
+ const result = await SparkFrostModule.signFrost(nativeParams);
40
+ return toUint8Array(result);
41
+ }
42
+ static async aggregateFrost(params) {
43
+ const nativeParams = {
44
+ msg: toNumberArray(params.message),
45
+ statechainCommitments: Object.fromEntries(
46
+ Object.entries(params.statechainCommitments ?? {}).map(([k, v]) => [
47
+ k,
48
+ {
49
+ hiding: toNumberArray(v.hiding),
50
+ binding: toNumberArray(v.binding)
51
+ }
52
+ ])
53
+ ),
54
+ selfCommitment: {
55
+ hiding: toNumberArray(params.selfCommitment.hiding),
56
+ binding: toNumberArray(params.selfCommitment.binding)
57
+ },
58
+ statechainSignatures: Object.fromEntries(
59
+ Object.entries(params.statechainSignatures ?? {}).map(([k, v]) => [
60
+ k,
61
+ toNumberArray(v)
62
+ ])
63
+ ),
64
+ selfSignature: toNumberArray(params.selfSignature),
65
+ statechainPublicKeys: Object.fromEntries(
66
+ Object.entries(params.statechainPublicKeys ?? {}).map(([k, v]) => [
67
+ k,
68
+ toNumberArray(v)
69
+ ])
70
+ ),
71
+ selfPublicKey: toNumberArray(params.selfPublicKey),
72
+ verifyingKey: toNumberArray(params.verifyingKey),
73
+ adaptorPubKey: params.adaptorPubKey ? toNumberArray(params.adaptorPubKey) : void 0
74
+ };
75
+ const result = await SparkFrostModule.aggregateFrost(nativeParams);
76
+ return toUint8Array(result);
77
+ }
78
+ static async createDummyTx(address, amountSats) {
79
+ if (!SparkFrostModule) {
80
+ console.error("NativeSparkFrost.ts: SparkFrostModule is not available.");
81
+ throw new Error("SparkFrostModule is not available");
82
+ }
83
+ try {
84
+ const bridgeParams = {
85
+ address,
86
+ amountSats: amountSats.toString()
87
+ // JS sends string for bigint
88
+ };
89
+ const result = await SparkFrostModule.createDummyTx(bridgeParams);
90
+ if (result && Array.isArray(result.tx) && typeof result.txid === "string") {
91
+ return {
92
+ tx: toUint8Array(result.tx),
93
+ txid: result.txid
94
+ };
95
+ } else {
96
+ console.error(
97
+ "NativeSparkFrost.ts: Invalid result structure from native call. Result:",
98
+ result
99
+ );
100
+ throw new Error(
101
+ "Invalid result structure from createDummyTx native call"
102
+ );
103
+ }
104
+ } catch (e) {
105
+ console.error(
106
+ "NativeSparkFrost.ts: Error during SparkFrostModule.createDummyTx call:",
107
+ e
108
+ );
109
+ throw e;
110
+ }
111
+ }
112
+ static async encryptEcies(msg, publicKey) {
113
+ const result = await SparkFrostModule.encryptEcies({
114
+ msg: toNumberArray(msg),
115
+ publicKey: toNumberArray(publicKey)
116
+ });
117
+ return toUint8Array(result);
118
+ }
119
+ static async decryptEcies(encryptedMsg, privateKey) {
120
+ const result = await SparkFrostModule.decryptEcies({
121
+ encryptedMsg: toNumberArray(encryptedMsg),
122
+ privateKey: toNumberArray(privateKey)
123
+ });
124
+ return toUint8Array(result);
125
+ }
126
+ };
127
+ async function createDummyTx(address, amountSats) {
128
+ return NativeSparkFrost.createDummyTx(address, amountSats);
129
+ }
130
+ async function encryptEcies(msg, publicKey) {
131
+ return NativeSparkFrost.encryptEcies(msg, publicKey);
132
+ }
133
+ async function decryptEcies(encryptedMsg, privateKey) {
134
+ return NativeSparkFrost.decryptEcies(encryptedMsg, privateKey);
135
+ }
136
+ export {
137
+ NativeSparkFrost,
138
+ createDummyTx,
139
+ decryptEcies,
140
+ encryptEcies
141
+ };