@buildonspark/spark-sdk 0.0.11 → 0.0.13

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 (61) hide show
  1. package/dist/graphql/objects/LeavesSwapRequest.d.ts +8 -8
  2. package/dist/graphql/objects/LeavesSwapRequest.js +21 -12
  3. package/dist/graphql/objects/LeavesSwapRequest.js.map +1 -1
  4. package/dist/graphql/objects/SparkTransferToLeavesConnection.d.ts +5 -5
  5. package/dist/graphql/objects/SparkTransferToLeavesConnection.js +6 -5
  6. package/dist/graphql/objects/SparkTransferToLeavesConnection.js.map +1 -1
  7. package/dist/graphql/objects/Transfer.d.ts +1 -1
  8. package/dist/services/config.d.ts +2 -16
  9. package/dist/services/config.js +8 -8
  10. package/dist/services/config.js.map +1 -1
  11. package/dist/services/connection.js +25 -11
  12. package/dist/services/connection.js.map +1 -1
  13. package/dist/services/coop-exit.js +1 -2
  14. package/dist/services/coop-exit.js.map +1 -1
  15. package/dist/services/deposit.js +1 -1
  16. package/dist/services/deposit.js.map +1 -1
  17. package/dist/services/lightning.js +1 -0
  18. package/dist/services/lightning.js.map +1 -1
  19. package/dist/services/transfer.d.ts +4 -4
  20. package/dist/services/transfer.js +6 -6
  21. package/dist/services/transfer.js.map +1 -1
  22. package/dist/services/wallet-config.d.ts +22 -0
  23. package/dist/services/wallet-config.js +100 -0
  24. package/dist/services/wallet-config.js.map +1 -0
  25. package/dist/signer/signer.d.ts +8 -4
  26. package/dist/signer/signer.js +45 -36
  27. package/dist/signer/signer.js.map +1 -1
  28. package/dist/spark-sdk.d.ts +49 -47
  29. package/dist/spark-sdk.js +73 -145
  30. package/dist/spark-sdk.js.map +1 -1
  31. package/dist/tests/adaptor-signature.test.js +5 -2
  32. package/dist/tests/adaptor-signature.test.js.map +1 -1
  33. package/dist/tests/coop-exit.test.js +10 -9
  34. package/dist/tests/coop-exit.test.js.map +1 -1
  35. package/dist/tests/deposit.test.js +10 -4
  36. package/dist/tests/deposit.test.js.map +1 -1
  37. package/dist/tests/lightning.test.js +16 -12
  38. package/dist/tests/lightning.test.js.map +1 -1
  39. package/dist/tests/swap.test.js +16 -11
  40. package/dist/tests/swap.test.js.map +1 -1
  41. package/dist/tests/test-util.d.ts +1 -8
  42. package/dist/tests/test-util.js +5 -117
  43. package/dist/tests/test-util.js.map +1 -1
  44. package/dist/tests/transfer.test.js +41 -36
  45. package/dist/tests/transfer.test.js.map +1 -1
  46. package/dist/tests/utils/spark-testing-wallet.d.ts +5 -1
  47. package/dist/tests/utils/spark-testing-wallet.js +8 -0
  48. package/dist/tests/utils/spark-testing-wallet.js.map +1 -1
  49. package/dist/utils/index.d.ts +2 -1
  50. package/dist/utils/index.js +2 -1
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/mempool.d.ts +1 -0
  53. package/dist/utils/mempool.js +29 -0
  54. package/dist/utils/mempool.js.map +1 -0
  55. package/dist/utils/network.d.ts +14 -6
  56. package/dist/utils/network.js +29 -6
  57. package/dist/utils/network.js.map +1 -1
  58. package/dist/utils/signing.d.ts +1 -1
  59. package/dist/utils/wasm-wrapper.js +23 -13
  60. package/dist/utils/wasm-wrapper.js.map +1 -1
  61. package/package.json +21 -5
@@ -1,123 +1,11 @@
1
- import { hexToBytes } from "@noble/curves/abstract/utils";
2
1
  import { secp256k1 } from "@noble/curves/secp256k1";
3
2
  import { Address, OutScript, Transaction } from "@scure/btc-signer";
4
- import { WalletConfigService, } from "../services/config.js";
3
+ import { WalletConfigService } from "../services/config.js";
5
4
  import { ConnectionManager } from "../services/connection.js";
6
5
  import { DepositService } from "../services/deposit.js";
6
+ import { LOCAL_WALLET_CONFIG, } from "../services/wallet-config.js";
7
7
  import { getP2TRAddressFromPublicKey } from "../utils/bitcoin.js";
8
8
  import { getNetwork, Network } from "../utils/network.js";
9
- import { DefaultSparkSigner } from "./../signer/signer.js";
10
- const DEFAULT_SPARK_SIGNER = new DefaultSparkSigner();
11
- export const LOCAL_WALLET_CONFIG = {
12
- signer: DEFAULT_SPARK_SIGNER,
13
- coodinatorIdentifier: "0000000000000000000000000000000000000000000000000000000000000001",
14
- frostSignerAddress: "unix:///tmp/frost_0.sock",
15
- threshold: 3,
16
- signingOperators: getLocalSigningOperators(),
17
- useTokenTransactionSchnorrSignatures: true,
18
- };
19
- export const LOCAL_WALLET_CONFIG_SCHNORR = {
20
- signer: DEFAULT_SPARK_SIGNER,
21
- coodinatorIdentifier: "0000000000000000000000000000000000000000000000000000000000000001",
22
- frostSignerAddress: "unix:///tmp/frost_0.sock",
23
- threshold: 3,
24
- signingOperators: getLocalSigningOperators(),
25
- useTokenTransactionSchnorrSignatures: true,
26
- };
27
- export const LOCAL_WALLET_CONFIG_ECDSA = {
28
- signer: DEFAULT_SPARK_SIGNER,
29
- coodinatorIdentifier: "0000000000000000000000000000000000000000000000000000000000000001",
30
- frostSignerAddress: "unix:///tmp/frost_0.sock",
31
- threshold: 3,
32
- signingOperators: getLocalSigningOperators(),
33
- useTokenTransactionSchnorrSignatures: false,
34
- };
35
- export const REGTEST_WALLET_CONFIG = {
36
- signer: DEFAULT_SPARK_SIGNER,
37
- coodinatorIdentifier: "0000000000000000000000000000000000000000000000000000000000000001",
38
- frostSignerAddress: "unix:///tmp/frost_0.sock",
39
- threshold: 3,
40
- signingOperators: getRegtestSigningOperators(),
41
- useTokenTransactionSchnorrSignatures: true,
42
- };
43
- export const MAINNET_WALLET_CONFIG = {
44
- signer: DEFAULT_SPARK_SIGNER,
45
- coodinatorIdentifier: "0000000000000000000000000000000000000000000000000000000000000001",
46
- frostSignerAddress: "unix:///tmp/frost_0.sock",
47
- threshold: 3,
48
- signingOperators: getRegtestSigningOperators(),
49
- useTokenTransactionSchnorrSignatures: true,
50
- };
51
- export function getRegtestSigningOperators() {
52
- const pubkeys = [
53
- "03acd9a5a88db102730ff83dee69d69088cc4c9d93bbee893e90fd5051b7da9651",
54
- "02d2d103cacb1d6355efeab27637c74484e2a7459e49110c3fe885210369782e23",
55
- "0350f07ffc21bfd59d31e0a7a600e2995273938444447cb9bc4c75b8a895dbb853",
56
- ];
57
- const pubkeyBytesArray = pubkeys.map((pubkey) => hexToBytes(pubkey));
58
- return {
59
- "0000000000000000000000000000000000000000000000000000000000000001": {
60
- id: 0,
61
- identifier: "0000000000000000000000000000000000000000000000000000000000000001",
62
- address: "https://0.spark.dev.dev.sparkinfra.net",
63
- identityPublicKey: pubkeyBytesArray[0],
64
- },
65
- "0000000000000000000000000000000000000000000000000000000000000002": {
66
- id: 1,
67
- identifier: "0000000000000000000000000000000000000000000000000000000000000002",
68
- address: "https://1.spark.dev.dev.sparkinfra.net",
69
- identityPublicKey: pubkeyBytesArray[1],
70
- },
71
- "0000000000000000000000000000000000000000000000000000000000000003": {
72
- id: 2,
73
- identifier: "0000000000000000000000000000000000000000000000000000000000000003",
74
- address: "https://2.spark.dev.dev.sparkinfra.net",
75
- identityPublicKey: pubkeyBytesArray[2],
76
- },
77
- };
78
- }
79
- export function getLocalSigningOperators() {
80
- const pubkeys = [
81
- "0322ca18fc489ae25418a0e768273c2c61cabb823edfb14feb891e9bec62016510",
82
- "0341727a6c41b168f07eb50865ab8c397a53c7eef628ac1020956b705e43b6cb27",
83
- "0305ab8d485cc752394de4981f8a5ae004f2becfea6f432c9a59d5022d8764f0a6",
84
- "0352aef4d49439dedd798ac4aef1e7ebef95f569545b647a25338398c1247ffdea",
85
- "02c05c88cc8fc181b1ba30006df6a4b0597de6490e24514fbdd0266d2b9cd3d0ba",
86
- ];
87
- const pubkeyBytesArray = pubkeys.map((pubkey) => hexToBytes(pubkey));
88
- return {
89
- "0000000000000000000000000000000000000000000000000000000000000001": {
90
- id: 0,
91
- identifier: "0000000000000000000000000000000000000000000000000000000000000001",
92
- address: "https://localhost:8535",
93
- identityPublicKey: pubkeyBytesArray[0],
94
- },
95
- "0000000000000000000000000000000000000000000000000000000000000002": {
96
- id: 1,
97
- identifier: "0000000000000000000000000000000000000000000000000000000000000002",
98
- address: "https://localhost:8536",
99
- identityPublicKey: pubkeyBytesArray[1],
100
- },
101
- "0000000000000000000000000000000000000000000000000000000000000003": {
102
- id: 2,
103
- identifier: "0000000000000000000000000000000000000000000000000000000000000003",
104
- address: "https://localhost:8537",
105
- identityPublicKey: pubkeyBytesArray[2],
106
- },
107
- "0000000000000000000000000000000000000000000000000000000000000004": {
108
- id: 3,
109
- identifier: "0000000000000000000000000000000000000000000000000000000000000004",
110
- address: "https://localhost:8538",
111
- identityPublicKey: pubkeyBytesArray[3],
112
- },
113
- "0000000000000000000000000000000000000000000000000000000000000005": {
114
- id: 4,
115
- identifier: "0000000000000000000000000000000000000000000000000000000000000005",
116
- address: "https://localhost:8539",
117
- identityPublicKey: pubkeyBytesArray[4],
118
- },
119
- };
120
- }
121
9
  export function getTestWalletConfig() {
122
10
  const identityPrivateKey = secp256k1.utils.randomPrivateKey();
123
11
  return getTestWalletConfigWithIdentityKey(identityPrivateKey);
@@ -130,9 +18,9 @@ export function getTestWalletConfigWithIdentityKey(identityPrivateKey) {
130
18
  }
131
19
  export async function createNewTree(wallet, pubKey, faucet, amountSats = 100000n) {
132
20
  const faucetCoin = await faucet.fund();
133
- const configService = new WalletConfigService(Network.LOCAL, {
134
- signer: wallet.getSigner(),
135
- });
21
+ const configService = new WalletConfigService({
22
+ network: "LOCAL",
23
+ }, wallet.getSigner());
136
24
  const connectionManager = new ConnectionManager(configService);
137
25
  const depositService = new DepositService(configService, connectionManager);
138
26
  const depositResp = await depositService.generateDepositAddress({
@@ -1 +1 @@
1
- {"version":3,"file":"test-util.js","sourceRoot":"","sources":["../../src/tests/test-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAGL,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AACtD,MAAM,CAAC,MAAM,mBAAmB,GAA4B;IAC1D,MAAM,EAAE,oBAAoB;IAC5B,oBAAoB,EAClB,kEAAkE;IACpE,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,wBAAwB,EAAE;IAC5C,oCAAoC,EAAE,IAAI;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAA4B;IAClE,MAAM,EAAE,oBAAoB;IAC5B,oBAAoB,EAClB,kEAAkE;IACpE,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,wBAAwB,EAAE;IAC5C,oCAAoC,EAAE,IAAI;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE,MAAM,EAAE,oBAAoB;IAC5B,oBAAoB,EAClB,kEAAkE;IACpE,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,wBAAwB,EAAE;IAC5C,oCAAoC,EAAE,KAAK;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,MAAM,EAAE,oBAAoB;IAC5B,oBAAoB,EAClB,kEAAkE;IACpE,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,0BAA0B,EAAE;IAC9C,oCAAoC,EAAE,IAAI;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,MAAM,EAAE,oBAAoB;IAC5B,oBAAoB,EAClB,kEAAkE;IACpE,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,0BAA0B,EAAE;IAC9C,oCAAoC,EAAE,IAAI;CAC3C,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,MAAM,OAAO,GAAG;QACd,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;KACrE,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wCAAwC;YAEjD,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wCAAwC;YAEjD,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wCAAwC;YACjD,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG;QACd,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;KACrE,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wBAAwB;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wBAAwB;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wBAAwB;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wBAAwB;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;QACD,kEAAkE,EAAE;YAClE,EAAE,EAAE,CAAC;YACL,UAAU,EACR,kEAAkE;YACpE,OAAO,EAAE,wBAAwB;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAE;SACxC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC9D,OAAO,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,kBAA8B;IAE9B,OAAO;QACL,GAAG,mBAAmB;QACtB,kBAAkB;KACF,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA0B,EAC1B,MAAkB,EAClB,MAAqB,EACrB,aAAqB,OAAQ;IAE7B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE;QAC3D,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,sBAAsB,CAAC;QAC9D,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,UAAW,CAAC,QAAQ,CAAC,CAAC;IAEzC,sBAAsB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACpD,WAAW,CAAC,cAAc,CAAC,OAAO,CACnC,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC;QACnD,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,YAAY;QACrD,SAAS;QACT,IAAI,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,cAAc,CACjD,SAAS,EACT,UAAW,CAAC,KAAK,EACjB,UAAW,CAAC,GAAG,CAChB,CAAC;IAEF,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,8DAA8D;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,2BAA2B,CAC/C,YAAY,EACZ,OAAO,CAAC,KAAK,CACd,CAAC;IAEF,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"test-util.js","sourceRoot":"","sources":["../../src/tests/test-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAEL,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,UAAU,mBAAmB;IACjC,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC9D,OAAO,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,kBAA8B;IAE9B,OAAO;QACL,GAAG,mBAAmB;QACtB,kBAAkB;KACF,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA0B,EAC1B,MAAkB,EAClB,MAAqB,EACrB,aAAqB,OAAQ;IAE7B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAC3C;QACE,OAAO,EAAE,OAAO;KACjB,EACD,MAAM,CAAC,SAAS,EAAE,CACnB,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,sBAAsB,CAAC;QAC9D,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,UAAW,CAAC,QAAQ,CAAC,CAAC;IAEzC,sBAAsB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACpD,WAAW,CAAC,cAAc,CAAC,OAAO,CACnC,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC;QACnD,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,YAAY;QACrD,SAAS;QACT,IAAI,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,cAAc,CACjD,SAAS,EACT,UAAW,CAAC,KAAK,EACjB,UAAW,CAAC,GAAG,CAChB,CAAC;IAEF,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,8DAA8D;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,2BAA2B,CAC/C,YAAY,EACZ,OAAO,CAAC,KAAK,CACd,CAAC;IAEF,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;AAC5B,CAAC"}
@@ -6,7 +6,6 @@ import { sha256 } from "@scure/btc-signer/utils";
6
6
  import { WalletConfigService } from "../services/config.js";
7
7
  import { ConnectionManager } from "../services/connection.js";
8
8
  import { TransferService } from "../services/transfer.js";
9
- import { Network } from "../utils/network.js";
10
9
  import { createNewTree } from "./test-util.js";
11
10
  import { SparkWalletTesting } from "./utils/spark-testing-wallet.js";
12
11
  import { BitcoinFaucet } from "./utils/test-faucet.js";
@@ -15,22 +14,23 @@ describe("Transfer", () => {
15
14
  const testFn = process.env.GITHUB_ACTIONS ? it.skip : it;
16
15
  testFn("test transfer", async () => {
17
16
  const faucet = new BitcoinFaucet("http://127.0.0.1:18443", "admin1", "123");
18
- const senderWallet = new SparkWalletTesting("LOCAL");
19
- await senderWallet.initWallet();
20
- const senderConfigService = new WalletConfigService(Network.LOCAL, {
21
- signer: senderWallet.getSigner(),
17
+ const options = {
18
+ network: "LOCAL",
19
+ };
20
+ const { wallet: senderWallet } = await SparkWalletTesting.create({
21
+ options,
22
22
  });
23
+ const senderConfigService = new WalletConfigService(options, senderWallet.getSigner());
23
24
  const senderConnectionManager = new ConnectionManager(senderConfigService);
24
25
  const senderTransferService = new TransferService(senderConfigService, senderConnectionManager);
25
26
  const leafPubKey = await senderWallet.getSigner().generatePublicKey();
26
27
  const rootNode = await createNewTree(senderWallet, leafPubKey, faucet, 1000n);
27
28
  const newLeafPubKey = await senderWallet.getSigner().generatePublicKey();
28
- const receiverWallet = new SparkWalletTesting("LOCAL");
29
- await receiverWallet.initWallet();
30
- const receiverPubkey = await receiverWallet.getIdentityPublicKey();
31
- const receiverConfigService = new WalletConfigService(Network.LOCAL, {
32
- signer: receiverWallet.getSigner(),
29
+ const { wallet: receiverWallet } = await SparkWalletTesting.create({
30
+ options,
33
31
  });
32
+ const receiverPubkey = await receiverWallet.getIdentityPublicKey();
33
+ const receiverConfigService = new WalletConfigService(options, receiverWallet.getSigner());
34
34
  const receiverConnectionManager = new ConnectionManager(receiverConfigService);
35
35
  const receiverTransferService = new TransferService(receiverConfigService, receiverConnectionManager);
36
36
  const transferNode = {
@@ -38,7 +38,7 @@ describe("Transfer", () => {
38
38
  signingPubKey: leafPubKey,
39
39
  newSigningPubKey: newLeafPubKey,
40
40
  };
41
- const senderTransfer = await senderTransferService.sendTransfer([transferNode], hexToBytes(receiverPubkey), new Date(Date.now() + 10 * 60 * 1000));
41
+ const senderTransfer = await senderTransferService.sendTransfer([transferNode], hexToBytes(receiverPubkey));
42
42
  const pendingTransfer = await receiverWallet.queryPendingTransfers();
43
43
  expect(pendingTransfer.transfers.length).toBe(1);
44
44
  const receiverTransfer = pendingTransfer.transfers[0];
@@ -59,10 +59,13 @@ describe("Transfer", () => {
59
59
  await receiverTransferService.claimTransfer(receiverTransfer, [
60
60
  claimingNode,
61
61
  ]);
62
- const newReceiverWallet = new SparkWalletTesting("LOCAL");
63
- await newReceiverWallet.initWallet();
62
+ const { wallet: newReceiverWallet } = await SparkWalletTesting.create({
63
+ options: {
64
+ network: "LOCAL",
65
+ },
66
+ });
64
67
  const newReceiverPubkey = await newReceiverWallet.getIdentityPublicKey();
65
- await receiverWallet.sendSparkTransfer({
68
+ await receiverWallet.transfer({
66
69
  amountSats: 1000,
67
70
  receiverSparkAddress: newReceiverPubkey,
68
71
  });
@@ -72,19 +75,20 @@ describe("Transfer", () => {
72
75
  }, 30000);
73
76
  testFn("test transfer with separate", async () => {
74
77
  const faucet = new BitcoinFaucet("http://127.0.0.1:18443", "admin1", "123");
75
- const senderWallet = new SparkWalletTesting("LOCAL");
76
- await senderWallet.initWallet();
77
- const senderConfigService = new WalletConfigService(Network.LOCAL, {
78
- signer: senderWallet.getSigner(),
78
+ const options = {
79
+ network: "LOCAL",
80
+ };
81
+ const { wallet: senderWallet } = await SparkWalletTesting.create({
82
+ options,
79
83
  });
84
+ const senderConfigService = new WalletConfigService(options, senderWallet.getSigner());
80
85
  const senderConnectionManager = new ConnectionManager(senderConfigService);
81
86
  const senderTransferService = new TransferService(senderConfigService, senderConnectionManager);
82
- const receiverWallet = new SparkWalletTesting("LOCAL");
83
- await receiverWallet.initWallet();
84
- const receiverPubkey = await receiverWallet.getIdentityPublicKey();
85
- const receiverConfigService = new WalletConfigService(Network.LOCAL, {
86
- signer: receiverWallet.getSigner(),
87
+ const { wallet: receiverWallet } = await SparkWalletTesting.create({
88
+ options,
87
89
  });
90
+ const receiverPubkey = await receiverWallet.getIdentityPublicKey();
91
+ const receiverConfigService = new WalletConfigService(options, receiverWallet.getSigner());
88
92
  const receiverConnectionManager = new ConnectionManager(receiverConfigService);
89
93
  const receiverTransferService = new TransferService(receiverConfigService, receiverConnectionManager);
90
94
  const leafPubKey = await senderWallet.getSigner().generatePublicKey();
@@ -96,7 +100,7 @@ describe("Transfer", () => {
96
100
  newSigningPubKey: newLeafPubKey,
97
101
  };
98
102
  const leavesToTransfer = [transferNode];
99
- const senderTransfer = await senderTransferService.sendTransfer(leavesToTransfer, hexToBytes(receiverPubkey), new Date(Date.now() + 10 * 60 * 1000));
103
+ const senderTransfer = await senderTransferService.sendTransfer(leavesToTransfer, hexToBytes(receiverPubkey));
100
104
  // Receiver queries pending transfer
101
105
  const pendingTransfer = await receiverWallet.queryPendingTransfers();
102
106
  expect(pendingTransfer.transfers.length).toBe(1);
@@ -137,15 +141,18 @@ describe("Transfer", () => {
137
141
  });
138
142
  testFn("cancel transfer", async () => {
139
143
  const faucet = new BitcoinFaucet("http://127.0.0.1:18443", "admin1", "123");
140
- const senderWallet = new SparkWalletTesting("LOCAL");
144
+ const options = {
145
+ network: "LOCAL",
146
+ };
147
+ const { wallet: senderWallet } = await SparkWalletTesting.create({
148
+ options,
149
+ });
141
150
  const mnemonic = generateMnemonic(wordlist);
142
- await senderWallet.initWallet();
143
- const receiverWallet = new SparkWalletTesting("LOCAL");
144
- await receiverWallet.initWallet();
145
- const receiverPubkey = await receiverWallet.getIdentityPublicKey();
146
- const receiverConfigService = new WalletConfigService(Network.LOCAL, {
147
- signer: receiverWallet.getSigner(),
151
+ const { wallet: receiverWallet } = await SparkWalletTesting.create({
152
+ options,
148
153
  });
154
+ const receiverPubkey = await receiverWallet.getIdentityPublicKey();
155
+ const receiverConfigService = new WalletConfigService(options, receiverWallet.getSigner());
149
156
  const receiverConnectionManager = new ConnectionManager(receiverConfigService);
150
157
  const receiverTransferService = new TransferService(receiverConfigService, receiverConnectionManager);
151
158
  const leafPubKey = await senderWallet.getSigner().generatePublicKey();
@@ -156,14 +163,12 @@ describe("Transfer", () => {
156
163
  signingPubKey: leafPubKey,
157
164
  newSigningPubKey: newLeafPubKey,
158
165
  };
159
- const senderConfigService = new WalletConfigService(Network.LOCAL, {
160
- signer: senderWallet.getSigner(),
161
- });
166
+ const senderConfigService = new WalletConfigService(options, senderWallet.getSigner());
162
167
  const senderConnectionManager = new ConnectionManager(senderConfigService);
163
168
  const senderTransferService = new TransferService(senderConfigService, senderConnectionManager);
164
169
  const senderTransfer = await senderTransferService.sendTransferSignRefund([transferNode], hexToBytes(receiverPubkey), new Date(Date.now() + 10 * 60 * 1000));
165
- await senderTransferService.cancelSendTransfer(senderTransfer.transfer);
166
- const newSenderTransfer = await senderTransferService.sendTransfer([transferNode], hexToBytes(receiverPubkey), new Date(Date.now() + 10 * 60 * 1000));
170
+ await senderTransferService.cancelSendTransfer(senderTransfer.transfer, senderConfigService.getCoordinatorAddress());
171
+ const newSenderTransfer = await senderTransferService.sendTransfer([transferNode], hexToBytes(receiverPubkey));
167
172
  const pendingTransfer = await receiverWallet.queryPendingTransfers();
168
173
  expect(pendingTransfer.transfers.length).toBe(1);
169
174
  const receiverTransfer = pendingTransfer.transfers[0];
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.test.js","sourceRoot":"","sources":["../../src/tests/transfer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.test.js","sourceRoot":"","sources":["../../src/tests/transfer.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  import { QueryPendingTransfersResponse, Transfer } from "../../proto/spark.js";
2
2
  import { SparkSigner } from "../../signer/signer.js";
3
- import { SparkWallet } from "../../spark-sdk.js";
3
+ import { SparkWallet, SparkWalletProps } from "../../spark-sdk.js";
4
4
  interface ISparkWalletTesting extends SparkWallet {
5
5
  getSigner(): SparkSigner;
6
6
  queryPendingTransfers(): Promise<QueryPendingTransfersResponse>;
7
7
  verifyPendingTransfer(transfer: Transfer): Promise<Map<string, Uint8Array>>;
8
8
  }
9
9
  export declare class SparkWalletTesting extends SparkWallet implements ISparkWalletTesting {
10
+ static create(props: SparkWalletProps): Promise<{
11
+ wallet: SparkWalletTesting;
12
+ mnemonic: string | undefined;
13
+ }>;
10
14
  getSigner(): SparkSigner;
11
15
  queryPendingTransfers(): Promise<QueryPendingTransfersResponse>;
12
16
  verifyPendingTransfer(transfer: Transfer): Promise<Map<string, Uint8Array>>;
@@ -1,5 +1,13 @@
1
1
  import { SparkWallet } from "../../spark-sdk.js";
2
2
  export class SparkWalletTesting extends SparkWallet {
3
+ static async create(props) {
4
+ const wallet = new SparkWalletTesting(props.options, props.signer);
5
+ const initResponse = await wallet.initWallet(props.mnemonicOrSeed);
6
+ return {
7
+ wallet,
8
+ mnemonic: initResponse?.mnemonic,
9
+ };
10
+ }
3
11
  getSigner() {
4
12
  return this.config.signer;
5
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spark-testing-wallet.js","sourceRoot":"","sources":["../../../src/tests/utils/spark-testing-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,OAAO,kBACX,SAAQ,WAAW;IAGZ,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,QAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"spark-testing-wallet.js","sourceRoot":"","sources":["../../../src/tests/utils/spark-testing-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AAQnE,MAAM,OAAO,kBACX,SAAQ,WAAW;IAGnB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAuB;QACzC,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnE,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,YAAY,EAAE,QAAQ;SACjC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,QAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -1,9 +1,10 @@
1
1
  export * from "./adaptor-signature.js";
2
2
  export * from "./bitcoin.js";
3
3
  export * from "./keys.js";
4
+ export * from "./mempool.js";
4
5
  export * from "./network.js";
5
- export * from "./response-validation.js";
6
6
  export * from "./proof.js";
7
+ export * from "./response-validation.js";
7
8
  export * from "./secret-sharing.js";
8
9
  export * from "./signing.js";
9
10
  export * from "./transaction.js";
@@ -1,9 +1,10 @@
1
1
  export * from "./adaptor-signature.js";
2
2
  export * from "./bitcoin.js";
3
3
  export * from "./keys.js";
4
+ export * from "./mempool.js";
4
5
  export * from "./network.js";
5
- export * from "./response-validation.js";
6
6
  export * from "./proof.js";
7
+ export * from "./response-validation.js";
7
8
  export * from "./secret-sharing.js";
8
9
  export * from "./signing.js";
9
10
  export * from "./transaction.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getLatestDepositTxId(address: string): Promise<string | null>;
@@ -0,0 +1,29 @@
1
+ import { BitcoinNetwork } from "../types/index.js";
2
+ import { getNetworkFromAddress } from "./network.js";
3
+ export async function getLatestDepositTxId(address) {
4
+ const network = getNetworkFromAddress(address);
5
+ const baseUrl = network === BitcoinNetwork.REGTEST
6
+ ? "https://regtest-mempool.dev.dev.sparkinfra.net/api"
7
+ : "https://mempool.space/docs/api";
8
+ const auth = btoa("spark-sdk:mCMk1JqlBNtetUNy");
9
+ const headers = {
10
+ "Content-Type": "application/json",
11
+ };
12
+ if (network === BitcoinNetwork.REGTEST) {
13
+ headers["Authorization"] = `Basic ${auth}`;
14
+ }
15
+ const response = await fetch(`${baseUrl}/address/${address}/txs`, {
16
+ headers,
17
+ });
18
+ const addressTxs = await response.json();
19
+ if (addressTxs && addressTxs.length > 0) {
20
+ const latestTx = addressTxs[0];
21
+ const outputIndex = latestTx.vout.findIndex((output) => output.scriptpubkey_address === address);
22
+ if (outputIndex === -1) {
23
+ return null;
24
+ }
25
+ return latestTx.txid;
26
+ }
27
+ return null;
28
+ }
29
+ //# sourceMappingURL=mempool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../src/utils/mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe;IAEf,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GACX,OAAO,KAAK,cAAc,CAAC,OAAO;QAChC,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,gCAAgC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAEhD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,OAAO,MAAM,EAAE;QAChE,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEzC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAW,QAAQ,CAAC,IAAI,CAAC,SAAS,CACjD,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,oBAAoB,KAAK,OAAO,CACzD,CAAC;QAEF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { NetworkType as Lrc20NetworkType } from "@buildonspark/lrc20-sdk";
2
2
  import * as btc from "@scure/btc-signer";
3
- import { networks } from "bitcoinjs-lib";
3
+ import * as bitcoin from "bitcoinjs-lib";
4
4
  import { Network as NetworkProto } from "../proto/spark.js";
5
+ import { BitcoinNetwork } from "../types/index.js";
5
6
  export declare enum Network {
6
7
  MAINNET = 0,
7
8
  TESTNET = 1,
@@ -13,11 +14,11 @@ export type NetworkType = keyof typeof Network;
13
14
  export declare const NetworkToProto: Record<Network, NetworkProto>;
14
15
  export declare const getNetwork: (network: Network) => typeof btc.NETWORK;
15
16
  export declare const LRC_WALLET_NETWORK: Readonly<{
16
- 0: networks.Network;
17
- 1: networks.Network;
18
- 2: networks.Network;
19
- 3: networks.Network;
20
- 4: networks.Network;
17
+ 0: bitcoin.networks.Network;
18
+ 1: bitcoin.networks.Network;
19
+ 2: bitcoin.networks.Network;
20
+ 3: bitcoin.networks.Network;
21
+ 4: bitcoin.networks.Network;
21
22
  }>;
22
23
  export declare const LRC_WALLET_NETWORK_TYPE: Readonly<{
23
24
  0: Lrc20NetworkType.MAINNET;
@@ -26,3 +27,10 @@ export declare const LRC_WALLET_NETWORK_TYPE: Readonly<{
26
27
  3: Lrc20NetworkType.REGTEST;
27
28
  4: Lrc20NetworkType.REGTEST;
28
29
  }>;
30
+ /**
31
+ * Utility function to determine the network from a Bitcoin address.
32
+ *
33
+ * @param {string} address - The Bitcoin address
34
+ * @returns {BitcoinNetwork | null} The detected network or null if not detected
35
+ */
36
+ export declare function getNetworkFromAddress(address: string): BitcoinNetwork.MAINNET | BitcoinNetwork.REGTEST | null;
@@ -1,7 +1,8 @@
1
1
  import { NetworkType as Lrc20NetworkType } from "@buildonspark/lrc20-sdk";
2
2
  import * as btc from "@scure/btc-signer";
3
- import { networks } from "bitcoinjs-lib";
3
+ import * as bitcoin from "bitcoinjs-lib";
4
4
  import { Network as NetworkProto } from "../proto/spark.js";
5
+ import { BitcoinNetwork } from "../types/index.js";
5
6
  export var Network;
6
7
  (function (Network) {
7
8
  Network[Network["MAINNET"] = 0] = "MAINNET";
@@ -26,11 +27,11 @@ const NetworkConfig = {
26
27
  };
27
28
  export const getNetwork = (network) => NetworkConfig[network];
28
29
  export const LRC_WALLET_NETWORK = Object.freeze({
29
- [Network.MAINNET]: networks.bitcoin,
30
- [Network.TESTNET]: networks.testnet,
31
- [Network.SIGNET]: networks.testnet,
32
- [Network.REGTEST]: networks.regtest,
33
- [Network.LOCAL]: networks.regtest,
30
+ [Network.MAINNET]: bitcoin.networks.bitcoin,
31
+ [Network.TESTNET]: bitcoin.networks.testnet,
32
+ [Network.SIGNET]: bitcoin.networks.testnet,
33
+ [Network.REGTEST]: bitcoin.networks.regtest,
34
+ [Network.LOCAL]: bitcoin.networks.regtest,
34
35
  });
35
36
  export const LRC_WALLET_NETWORK_TYPE = Object.freeze({
36
37
  [Network.MAINNET]: Lrc20NetworkType.MAINNET,
@@ -39,4 +40,26 @@ export const LRC_WALLET_NETWORK_TYPE = Object.freeze({
39
40
  [Network.REGTEST]: Lrc20NetworkType.REGTEST,
40
41
  [Network.LOCAL]: Lrc20NetworkType.REGTEST,
41
42
  });
43
+ /**
44
+ * Utility function to determine the network from a Bitcoin address.
45
+ *
46
+ * @param {string} address - The Bitcoin address
47
+ * @returns {BitcoinNetwork | null} The detected network or null if not detected
48
+ */
49
+ export function getNetworkFromAddress(address) {
50
+ try {
51
+ const decoded = bitcoin.address.fromBech32(address);
52
+ // HRP (human-readable part) determines the network
53
+ if (decoded.prefix === "bc") {
54
+ return BitcoinNetwork.MAINNET;
55
+ }
56
+ else if (decoded.prefix === "bcrt") {
57
+ return BitcoinNetwork.REGTEST;
58
+ }
59
+ }
60
+ catch (err) {
61
+ throw new Error("Invalid Bitcoin address");
62
+ }
63
+ return null;
64
+ }
42
65
  //# sourceMappingURL=network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/utils/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,MAAM,CAAN,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,2CAAO,CAAA;IACP,2CAAO,CAAA;IACP,yCAAM,CAAA;IACN,2CAAO,CAAA;IACP,uCAAK,CAAA;AACP,CAAC,EANW,OAAO,KAAP,OAAO,QAMlB;AAID,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO;IACvC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO;IACvC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM;IACrC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO;IACvC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO;CACtC,CAAC;AAEF,MAAM,aAAa,GAAwC;IACzD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO;IAC9B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,YAAY;IACnC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY;IAClC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1D,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAsB,EAAE,CACjE,aAAa,CAAC,OAAO,CAAC,CAAC;AAEzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO;IAClC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC3C,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC3C,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC1C,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC3C,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO;CAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/utils/network.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SigningCommitment, SigningNonce } from "../signer/signer.js";
1
+ import type { SigningCommitment, SigningNonce } from "../signer/signer.js";
2
2
  import { SigningCommitment as WasmSigningCommitment, SigningNonce as WasmSigningNonce } from "../wasm/spark_bindings.js";
3
3
  export declare function getRandomSigningNonce(): SigningNonce;
4
4
  export declare function createSigningNonce(binding: Uint8Array, hiding: Uint8Array): SigningNonce;
@@ -4,23 +4,33 @@ export async function initWasm() {
4
4
  try {
5
5
  if (typeof window === "undefined") {
6
6
  // Node.js environment
7
- const fs = await import("fs/promises");
8
- const path = await import("path");
9
- const { fileURLToPath } = await import("url");
10
- const __filename = fileURLToPath(import.meta.url);
11
- const __dirname = path.dirname(__filename);
12
- const wasmPath = path.resolve(__dirname, "../wasm/spark_bindings_bg.wasm");
13
- const wasmBuffer = await fs.readFile(wasmPath);
14
- // Initialize with proper memory configuration for Node.js
15
- wasmModule = await init({ module_or_path: wasmBuffer }).catch((e) => {
16
- console.error("WASM initialization error:", e);
17
- throw e;
18
- });
19
- return wasmModule;
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
+ }
20
29
  }
21
30
  else {
22
31
  // Browser environment
23
32
  wasmModule = await init();
33
+ return wasmModule;
24
34
  }
25
35
  }
26
36
  catch (e) {