mainnet-js 3.1.7 → 4.0.0-next.2

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 (83) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-3.1.7.js → mainnet-4.0.0-next.2.js} +66 -166
  3. package/dist/module/cache/walletCache.d.ts +16 -6
  4. package/dist/module/cache/walletCache.d.ts.map +1 -1
  5. package/dist/module/cache/walletCache.js +92 -34
  6. package/dist/module/cache/walletCache.js.map +1 -1
  7. package/dist/module/mine/mine.d.ts.map +1 -1
  8. package/dist/module/mine/mine.js +14 -19
  9. package/dist/module/mine/mine.js.map +1 -1
  10. package/dist/module/network/Connection.d.ts +1 -12
  11. package/dist/module/network/Connection.d.ts.map +1 -1
  12. package/dist/module/network/Connection.js +12 -33
  13. package/dist/module/network/Connection.js.map +1 -1
  14. package/dist/module/network/ElectrumNetworkProvider.d.ts +4 -7
  15. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
  16. package/dist/module/network/ElectrumNetworkProvider.js +43 -70
  17. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  18. package/dist/module/network/configuration.d.ts +2 -4
  19. package/dist/module/network/configuration.d.ts.map +1 -1
  20. package/dist/module/network/configuration.js +25 -50
  21. package/dist/module/network/configuration.js.map +1 -1
  22. package/dist/module/network/constant.d.ts +7 -7
  23. package/dist/module/network/constant.d.ts.map +1 -1
  24. package/dist/module/network/constant.js +20 -24
  25. package/dist/module/network/constant.js.map +1 -1
  26. package/dist/module/network/default.d.ts +3 -2
  27. package/dist/module/network/default.d.ts.map +1 -1
  28. package/dist/module/network/default.js +19 -51
  29. package/dist/module/network/default.js.map +1 -1
  30. package/dist/module/network/index.d.ts +2 -2
  31. package/dist/module/network/index.d.ts.map +1 -1
  32. package/dist/module/network/index.js +2 -2
  33. package/dist/module/network/index.js.map +1 -1
  34. package/dist/module/network/interface.d.ts +0 -6
  35. package/dist/module/network/interface.d.ts.map +1 -1
  36. package/dist/module/wallet/Base.d.ts.map +1 -1
  37. package/dist/module/wallet/Base.js +33 -12
  38. package/dist/module/wallet/Base.js.map +1 -1
  39. package/dist/module/wallet/HDWallet.d.ts.map +1 -1
  40. package/dist/module/wallet/HDWallet.js +16 -35
  41. package/dist/module/wallet/HDWallet.js.map +1 -1
  42. package/dist/module/wallet/Watch.d.ts +22 -1
  43. package/dist/module/wallet/Watch.d.ts.map +1 -1
  44. package/dist/module/wallet/Watch.js +137 -6
  45. package/dist/module/wallet/Watch.js.map +1 -1
  46. package/dist/module/wallet/Wif.d.ts +1 -1
  47. package/dist/module/wallet/Wif.d.ts.map +1 -1
  48. package/dist/module/wallet/Wif.js +0 -4
  49. package/dist/module/wallet/Wif.js.map +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +5 -3
  52. package/src/cache/walletCache.ts +122 -57
  53. package/src/mine/mine.ts +18 -22
  54. package/src/network/Connection.test.ts +8 -7
  55. package/src/network/Connection.ts +16 -42
  56. package/src/network/ElectrumNetworkProvider.ts +54 -88
  57. package/src/network/Rpc.test.ts +6 -5
  58. package/src/network/configuration.test.ts +23 -25
  59. package/src/network/configuration.ts +29 -55
  60. package/src/network/constant.ts +20 -25
  61. package/src/network/default.ts +25 -87
  62. package/src/network/electrum.test.ts +47 -11
  63. package/src/network/index.ts +7 -2
  64. package/src/network/interface.ts +0 -7
  65. package/src/network/subscription.test.ts +268 -0
  66. package/src/wallet/Base.ts +39 -17
  67. package/src/wallet/Cashtokens.test.headless.js +6 -0
  68. package/src/wallet/Cashtokens.test.ts +13 -0
  69. package/src/wallet/HDWallet.test.ts +4 -4
  70. package/src/wallet/HDWallet.ts +19 -35
  71. package/src/wallet/WalletCache.test.ts +6 -2
  72. package/src/wallet/Watch.ts +199 -7
  73. package/src/wallet/Wif.test.ts +6 -0
  74. package/src/wallet/Wif.ts +2 -9
  75. package/tsconfig.browser.json +10 -1
  76. package/tsconfig.json +12 -1
  77. package/webpack.config.cjs +1 -0
  78. package/dist/module/network/util.d.ts +0 -3
  79. package/dist/module/network/util.d.ts.map +0 -1
  80. package/dist/module/network/util.js +0 -27
  81. package/dist/module/network/util.js.map +0 -1
  82. package/src/network/util.test.ts +0 -24
  83. package/src/network/util.ts +0 -30
@@ -1,4 +1,3 @@
1
- import { ConnectionStatus, } from "@electrum-cash/network";
2
1
  import { Network } from "../interface.js";
3
2
  import { getTransactionHash } from "../util/transaction.js";
4
3
  import { Config } from "../config.js";
@@ -29,17 +28,15 @@ export default class ElectrumNetworkProvider {
29
28
  }
30
29
  return this._cache;
31
30
  }
32
- constructor(electrum, network = Network.MAINNET, manualConnectionManagement) {
31
+ constructor(transport, network = Network.MAINNET) {
33
32
  this.network = network;
34
- this.manualConnectionManagement = manualConnectionManagement;
35
33
  this.subscriptions = 0;
36
- this.subscriptionMap = {};
37
34
  this.currentHeight = 0;
38
- if (electrum) {
39
- this.electrum = electrum;
35
+ if (transport) {
36
+ this.transport = transport;
40
37
  }
41
38
  else {
42
- throw new Error(`A electrum-cash client is required.`);
39
+ throw new Error(`A transport is required.`);
43
40
  }
44
41
  }
45
42
  async getUtxos(cashaddr) {
@@ -97,6 +94,7 @@ export default class ElectrumNetworkProvider {
97
94
  }
98
95
  }
99
96
  if (misses.length > 0) {
97
+ // rpckit automatically batches concurrent requests via BatchScheduler
100
98
  const fetched = await Promise.all(misses.map(async (hash) => {
101
99
  const tx = await this.performRequest("blockchain.transaction.get", hash, false);
102
100
  return [hash, tx];
@@ -136,6 +134,7 @@ export default class ElectrumNetworkProvider {
136
134
  }
137
135
  }
138
136
  if (misses.length > 0) {
137
+ // rpckit automatically batches concurrent requests via BatchScheduler
139
138
  const fetched = await Promise.all(misses.map(async (height) => {
140
139
  const result = await this.performRequest("blockchain.header.get", height);
141
140
  return [height, result];
@@ -211,7 +210,7 @@ export default class ElectrumNetworkProvider {
211
210
  return transaction;
212
211
  }
213
212
  catch (error) {
214
- if (error.message.indexOf("No such mempool or blockchain transaction.") > -1)
213
+ if (error.message.indexOf("No such mempool or blockchain transaction") > -1)
215
214
  throw Error(`Could not decode transaction ${txHash}. It might not exist on the current blockchain (${this.network}).`);
216
215
  else
217
216
  throw error;
@@ -299,8 +298,8 @@ export default class ElectrumNetworkProvider {
299
298
  async waitForBlock(height) {
300
299
  return new Promise(async (resolve) => {
301
300
  let cancelWatch;
302
- if (this.electrum.chainHeight && !height) {
303
- height = this.electrum.chainHeight + 1;
301
+ if (this.currentHeight && !height) {
302
+ height = this.currentHeight + 1;
304
303
  }
305
304
  cancelWatch = await this.watchBlocks(async (header) => {
306
305
  if (!height) {
@@ -329,71 +328,51 @@ export default class ElectrumNetworkProvider {
329
328
  }
330
329
  async performRequest(name, ...parameters) {
331
330
  await this.ready();
332
- const requestTimeout = new Promise(function (_resolve, reject) {
331
+ const TIMEOUT_MSG = "electrum-cash request timed out, retrying";
332
+ const makeTimeout = () => new Promise(function (_resolve, reject) {
333
333
  setTimeout(function () {
334
- reject("electrum-cash request timed out, retrying");
334
+ reject(TIMEOUT_MSG);
335
335
  }, 30000);
336
- }).catch(function (e) {
337
- throw e;
338
336
  });
339
- const request = this.electrum.request(name, ...parameters);
340
- return await Promise.race([request, requestTimeout])
341
- .then((value) => {
337
+ const ensureError = (e) => {
338
+ if (e instanceof Error)
339
+ return e;
340
+ if (typeof e === "object" && e !== null && "message" in e)
341
+ return Object.assign(new Error(e.message), e);
342
+ return new Error(typeof e === "string" ? e : String(e));
343
+ };
344
+ const request = this.transport.request(name, ...parameters);
345
+ try {
346
+ const value = await Promise.race([request, makeTimeout()]);
342
347
  if (value instanceof Error)
343
348
  throw value;
344
- let result = value;
345
- return result;
346
- })
347
- .catch(async () => {
348
- return await Promise.race([request, requestTimeout])
349
- .then((value) => {
349
+ return value;
350
+ }
351
+ catch (e) {
352
+ const error = ensureError(e);
353
+ // Only retry on timeout, not on server errors
354
+ if (error.message !== TIMEOUT_MSG)
355
+ throw error;
356
+ try {
357
+ const value = await Promise.race([request, makeTimeout()]);
350
358
  if (value instanceof Error)
351
359
  throw value;
352
- let result = value;
353
- return result;
354
- })
355
- .catch(function (e) {
356
- throw e;
357
- });
358
- });
359
- }
360
- async trackSubscription(methodName, ...parameters) {
361
- const key = `${methodName}-${this.network}-${JSON.stringify(parameters)}`;
362
- if (this.subscriptionMap[key]) {
363
- this.subscriptionMap[key]++;
364
- }
365
- else {
366
- this.subscriptionMap[key] = 1;
367
- }
368
- await this.electrum.subscribe(methodName, ...parameters);
369
- }
370
- async untrackSubscription(methodName, ...parameters) {
371
- const key = `${methodName}-${this.network}-${JSON.stringify(parameters)}`;
372
- if (this.subscriptionMap[key]) {
373
- this.subscriptionMap[key]--;
374
- if (this.subscriptionMap[key] <= 0) {
375
- // only really unsubscribe if there are no more subscriptions for this `key`
376
- delete this.subscriptionMap[key];
377
- try {
378
- await this.electrum.unsubscribe(methodName, ...parameters);
379
- }
380
- catch { }
360
+ return value;
361
+ }
362
+ catch (e2) {
363
+ throw ensureError(e2);
381
364
  }
382
365
  }
383
366
  }
384
367
  async subscribeRequest(methodName, callback, ...parameters) {
385
368
  await this.ready();
386
- const handler = (data) => {
387
- if (data.method === methodName) {
388
- callback(data.params);
389
- }
390
- };
391
- this.electrum.on("notification", handler);
392
- await this.trackSubscription(methodName, ...parameters);
369
+ const subscribeFn = this.transport.subscribe.bind(this.transport);
370
+ const unsubscribe = await subscribeFn(methodName, ...parameters, (data) => {
371
+ callback(data);
372
+ });
393
373
  this.subscriptions++;
394
374
  return async () => {
395
- this.electrum.off("notification", handler);
396
- await this.untrackSubscription(methodName, ...parameters);
375
+ await unsubscribe();
397
376
  this.subscriptions--;
398
377
  };
399
378
  }
@@ -402,18 +381,12 @@ export default class ElectrumNetworkProvider {
402
381
  }
403
382
  async connect() {
404
383
  await this.cache?.init();
405
- if (this.electrum.status !== ConnectionStatus.CONNECTED) {
406
- await this.electrum.connect();
407
- }
384
+ await this.transport.connect();
408
385
  }
409
386
  async disconnect() {
410
- if (this.subscriptions > 0) {
411
- // console.warn(
412
- // `Trying to disconnect a network provider with ${this.subscriptions} active subscriptions. This is in most cases a bad idea.`
413
- // );
414
- }
415
387
  await this.headerCancelFn?.();
416
- return this.electrum.disconnect(true, false);
388
+ await this.transport.close();
389
+ return true;
417
390
  }
418
391
  }
419
392
  //# sourceMappingURL=ElectrumNetworkProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElectrumNetworkProvider.js","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElectrumNetworkProvider.js","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAQ1C,IAAI,KAAK;QACP,IACE,CAAC,MAAM,CAAC,cAAc;YACtB,CAAC,MAAM,CAAC,oBAAoB;YAC5B,CAAC,MAAM,CAAC,iBAAiB,EACzB,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IACE,MAAM,CAAC,oBAAoB;YAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,eAAe,CAAC,EACzC,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,cAAc,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,YACE,SAAwC,EACjC,UAAmB,OAAO,CAAC,OAAO;QAAlC,YAAO,GAAP,OAAO,CAA2B;QAvCpC,kBAAa,GAAW,CAAC,CAAC;QACzB,kBAAa,GAAW,CAAC,CAAC;QAwChC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,gCAAgC,EAChC,QAAQ,EACR,gBAAgB,CACjB,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,UAAU;gBACpB,CAAC,CAAC;oBACE,GAAG,IAAI,CAAC,UAAU;oBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;iBACvC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,gCAAgC,EAChC,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,UAAmB,KAAK;QAExB,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QAE1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,uBAAuB,EACvB,MAAM,CACP,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAgB;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;QAEnE,mBAAmB;QACnB,IAAI,MAA8C,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAClC,4BAA4B,EAC5B,IAAI,EACJ,KAAK,CACN,CAAC;gBACF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAqB,CAAC;YACxC,CAAC,CAAC,CACH,CAAC;YAEF,oBAAoB;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAuB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9D,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBAC/B,EAAE;iBACH,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAiB;QAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,MAAM,OAAO,CACpD,CAAC;QAEF,mBAAmB;QACnB,IAAI,MAA8C,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,uBAAuB,EACvB,MAAM,CACP,CAAC;gBACF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAyB,CAAC;YAClD,CAAC,CAAC,CACH,CAAC;YAEF,oBAAoB;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAuB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;oBACpE,UAAU,IAAI,CAAC,OAAO,IAAI,MAAM,OAAO;oBACvC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBACvB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACjD,CAAC,MAAkB,EAAE,EAAE;gBACrB,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAiBD,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,UAAmB,KAAK,EACxB,kBAA2B,KAAK;QAIhC,MAAM,aAAa,GAAG,SAAS,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;QAEjD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAyB,CAAC;gBAC5D,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClD,QAAQ,CAAC,aAAa,IAAI,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACjE,CAAC;gBACD,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC;gBAEpD,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACjD,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,4BAA4B,EAC5B,MAAM,EACN,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,MAAgB,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,MAA8B,CAAC;YAChD,QAAQ,CAAC,aAAa,KAAK,CAAC,CAAC;YAC7B,QAAQ,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAEnD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC;YAEpD,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IACG,KAAK,CAAC,OAAkB,CAAC,OAAO,CAC/B,2CAA2C,CAC5C,GAAG,CAAC,CAAC;gBAEN,MAAM,KAAK,CACT,gCAAgC,MAAM,mDAAmD,IAAI,CAAC,OAAO,IAAI,CAC1G,CAAC;;gBACC,MAAM,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,WAAmC;QAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAChE,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;QACjE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAEjE,MAAM,WAAW,GACf,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,cAAc;iBAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE;iBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAE,CAAC;YAC7C,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEL,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAWD,KAAK,CAAC,uBAAuB,CAC3B,MAAc,EACd,kBAA2B,KAAK;QAEhC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,mBAA4B,IAAI;QAEhC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAgB,CAAC;gBAErB,MAAM,0BAA0B,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;oBAChD,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACnD,MAAM,MAAM,EAAE,EAAE,CAAC;wBACjB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACxC,MAAM,EACN,0BAA0B,CAC3B,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC,KAAK,CAClE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACd,MAAM,MAAM,EAAE,EAAE,CAAC;oBACjB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,aAAqB,CAAC,EACtB,WAAmB,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,gCAAgC,EAChC,QAAQ,EACR,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+GAA+G;IAC/G,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAW,CAAC;QAE5E,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,QAAgB,EAChB,QAAyC;QAEzC,MAAM,0BAA0B,GAAG,KAAK,EACtC,IAA8C,EAC9C,EAAE;YACF,wFAAwF;YACxF,+CAA+C;YAC/C,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IACvE,CAAC;IAED,gIAAgI;IACzH,KAAK,CAAC,WAAW,CACtB,QAAsC,EACtC,oBAA6B,IAAI;QAEjC,IAAI,YAAY,GAAG,CAAC,iBAAiB,CAAC;QACtC,MAAM,oBAAoB,GAAG,CAAC,OAAkC,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,OAAO,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,iEAAiE;IAC1D,KAAK,CAAC,YAAY,CAAC,MAAe;QACvC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,IAAI,WAAqB,CAAC;YAC1B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YAClC,CAAC;YAED,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;oBAC5B,MAAM,WAAW,EAAE,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,kBAAkB,CACtB,QAAsC;QAEtC,OAAO,IAAI,CAAC,gBAAgB,CAC1B,8BAA8B,EAC9B,CAAC,IAA+B,EAAE,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,QAA6B;QAE7B,OAAO,IAAI,CAAC,gBAAgB,CAC1B,8BAA8B,EAC9B,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,QAA6B;QAE7B,OAAO,IAAI,CAAC,gBAAgB,CAC1B,kCAAkC,EAClC,QAAQ,EACR,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,IAAY,EACZ,GAAG,UAAyC;QAE5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,WAAW,GAAG,2CAA2C,CAAC;QAEhE,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,IAAI,OAAO,CAAQ,UAAU,QAAQ,EAAE,MAAM;YAC3C,UAAU,CAAC;gBACT,MAAM,CAAC,WAAW,CAAC,CAAC;YACtB,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEL,MAAM,WAAW,GAAG,CAAC,CAAU,EAAS,EAAE;YACxC,IAAI,CAAC,YAAY,KAAK;gBAAE,OAAO,CAAC,CAAC;YACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,SAAS,IAAI,CAAC;gBACvD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAE,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAW,EAAE,GAAI,UAAkB,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAC3D,IAAI,KAAK,YAAY,KAAK;gBAAE,MAAM,KAAK,CAAC;YACxC,OAAO,KAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,8CAA8C;YAC9C,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC3D,IAAI,KAAK,YAAY,KAAK;oBAAE,MAAM,KAAK,CAAC;gBACxC,OAAO,KAAU,CAAC;YACpB,CAAC;YAAC,OAAO,EAAW,EAAE,CAAC;gBACrB,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,UAAkB,EAClB,QAAwB,EACxB,GAAG,UAAyC;QAE5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAGvC,CAAC;QAC1B,MAAM,WAAW,GAAgB,MAAM,WAAW,CAChD,UAAU,EACV,GAAG,UAAU,EACb,CAAC,IAAa,EAAE,EAAE;YAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,10 +1,8 @@
1
1
  import { Network } from "../interface.js";
2
2
  export declare class DefaultProvider {
3
3
  static servers: {
4
- [name: string]: string[];
4
+ [name: string]: string;
5
5
  };
6
6
  }
7
- export declare function getDefaultServers(network: Network): string[];
8
- export declare function getUserAgent(): any;
9
- export declare function getConfidence(): any;
7
+ export declare function getDefaultServers(network: Network): string;
10
8
  //# sourceMappingURL=configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/network/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAQ1C,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAI1C;CACH;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,YA6BjD;AAED,wBAAgB,YAAY,QAW3B;AAED,wBAAgB,aAAa,QAW5B"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/network/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1C,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAIxC;CACH;AAWD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwB1D"}
@@ -1,13 +1,22 @@
1
1
  import { getRuntimePlatform } from "../util/index.js";
2
2
  import * as primary from "./constant.js";
3
- let mainnetServers, testnetServers, regtestServers;
4
3
  export class DefaultProvider {
5
4
  static { this.servers = {
6
- mainnet: [],
7
- testnet: [],
8
- regtest: [],
5
+ mainnet: "",
6
+ testnet: "",
7
+ regtest: "",
9
8
  }; }
10
9
  }
10
+ // Detect plain comma-separated URLs (not already in parse notation like "fallback(...)") and convert
11
+ function normalizeServers(value) {
12
+ if (!value)
13
+ return value;
14
+ // Already parse notation (contains parens) or a single URL — pass through
15
+ if (value.includes("(") || !value.includes(","))
16
+ return value;
17
+ // Plain comma-separated URLs: convert to parse notation with fallback
18
+ return primary.toParseNotation(value.split(",").map((s) => s.trim()));
19
+ }
11
20
  export function getDefaultServers(network) {
12
21
  let env;
13
22
  if (getRuntimePlatform() == "node") {
@@ -16,51 +25,17 @@ export function getDefaultServers(network) {
16
25
  else {
17
26
  env = {};
18
27
  }
19
- mainnetServers = DefaultProvider.servers.mainnet.length
20
- ? DefaultProvider.servers.mainnet
21
- : env.ELECTRUM
22
- ? env.ELECTRUM.split(",")
23
- : primary.mainnetServers;
24
- testnetServers = DefaultProvider.servers.testnet.length
25
- ? DefaultProvider.servers.testnet
26
- : env.ELECTRUM_TESTNET
27
- ? env.ELECTRUM_TESTNET.split(",")
28
- : primary.testnetServers;
29
- regtestServers = DefaultProvider.servers.regtest.length
30
- ? DefaultProvider.servers.regtest
31
- : env.ELECTRUM_REGTEST
32
- ? env.ELECTRUM_REGTEST.split(",")
33
- : primary.regtestServers;
34
- return {
35
- mainnet: mainnetServers,
36
- testnet: testnetServers,
37
- regtest: regtestServers,
38
- }[network];
39
- }
40
- export function getUserAgent() {
41
- // Allow users to configure the cluster confidence
42
- let ua;
43
- if (getRuntimePlatform() === "node") {
44
- ua = process.env.ELECTRUM_USER_AGENT
45
- ? process.env.ELECTRUM_USER_AGENT
46
- : "mainnet-js-" + getRuntimePlatform();
47
- }
48
- else {
49
- ua = "mainnet-js-" + getRuntimePlatform();
50
- }
51
- return ua;
52
- }
53
- export function getConfidence() {
54
- // Allow users to configure the cluster confidence
55
- let confidence;
56
- if (getRuntimePlatform() === "node") {
57
- confidence = process.env.ELECTRUM_CONFIDENCE
58
- ? parseInt(process.env.ELECTRUM_CONFIDENCE)
59
- : 1;
60
- }
61
- else {
62
- confidence = 1;
63
- }
64
- return confidence;
28
+ const servers = {
29
+ mainnet: DefaultProvider.servers.mainnet ||
30
+ normalizeServers(env.ELECTRUM) ||
31
+ primary.mainnetServers,
32
+ testnet: DefaultProvider.servers.testnet ||
33
+ normalizeServers(env.ELECTRUM_TESTNET) ||
34
+ primary.testnetServers,
35
+ regtest: DefaultProvider.servers.regtest ||
36
+ normalizeServers(env.ELECTRUM_REGTEST) ||
37
+ primary.regtestServers,
38
+ };
39
+ return servers[network];
65
40
  }
66
41
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/network/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,IAAI,cAAwB,EAC1B,cAAwB,EACxB,cAAwB,CAAC;AAE3B,MAAM,OAAO,eAAe;aACnB,YAAO,GAAiC;QAC7C,OAAO,EAAE,EAAc;QACvB,OAAO,EAAE,EAAc;QACvB,OAAO,EAAE,EAAc;KACxB,CAAC;;AAGJ,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,kBAAkB,EAAE,IAAI,MAAM,EAAE,CAAC;QACnC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,EAAE,CAAC;IACX,CAAC;IAED,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QACrD,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO;QACjC,CAAC,CAAC,GAAG,CAAC,QAAQ;YACd,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3B,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QACrD,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO;QACjC,CAAC,CAAC,GAAG,CAAC,gBAAgB;YACtB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3B,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QACrD,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO;QACjC,CAAC,CAAC,GAAG,CAAC,gBAAgB;YACtB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAE3B,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;KACxB,CAAC,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,kDAAkD;IAClD,IAAI,EAAE,CAAC;IACP,IAAI,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAC;QACpC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACjC,CAAC,CAAC,aAAa,GAAG,kBAAkB,EAAE,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,aAAa,GAAG,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,kDAAkD;IAClD,IAAI,UAAU,CAAC;IACf,IAAI,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAC;QACpC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC1C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/network/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,eAAe;aACnB,YAAO,GAA+B;QAC3C,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;;AAGJ,qGAAqG;AACrG,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,0EAA0E;IAC1E,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,sEAAsE;IACtE,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,kBAAkB,EAAE,IAAI,MAAM,EAAE,CAAC;QACnC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG;QACd,OAAO,EACL,eAAe,CAAC,OAAO,CAAC,OAAO;YAC/B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9B,OAAO,CAAC,cAAc;QACxB,OAAO,EACL,eAAe,CAAC,OAAO,CAAC,OAAO;YAC/B,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,OAAO,CAAC,cAAc;QACxB,OAAO,EACL,eAAe,CAAC,OAAO,CAAC,OAAO;YAC/B,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,OAAO,CAAC,cAAc;KACzB,CAAC;IAEF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,15 +1,15 @@
1
- export declare const ELECTRUM_CASH_PROTOCOL_VERSION = "1.5";
2
1
  export declare const networkTickerMap: {
3
2
  mainnet: string;
4
3
  testnet: string;
5
4
  regtest: string;
6
5
  };
7
- export declare const mainnetServers: string[];
8
- export declare const testnetServers: string[];
9
- export declare const regtestServers: string[];
6
+ export declare function toParseNotation(urls: string[]): string;
7
+ export declare const mainnetServers: string;
8
+ export declare const testnetServers: string;
9
+ export declare const regtestServers: string;
10
10
  export declare const defaultServers: {
11
- mainnet: string[];
12
- testnet: string[];
13
- regtest: string[];
11
+ mainnet: string;
12
+ testnet: string;
13
+ regtest: string;
14
14
  };
15
15
  //# sourceMappingURL=constant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/network/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,UAK1B,CAAC;AAiBF,eAAO,MAAM,cAAc,UAI1B,CAAC;AAEF,eAAO,MAAM,cAAc,UAA2B,CAAC;AAEvD,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/network/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAKF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAItD;AAED,eAAO,MAAM,cAAc,QAIzB,CAAC;AAGH,eAAO,MAAM,cAAc,QAIzB,CAAC;AAEH,eAAO,MAAM,cAAc,QAGzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
@@ -1,34 +1,30 @@
1
- export const ELECTRUM_CASH_PROTOCOL_VERSION = "1.5";
2
1
  export const networkTickerMap = {
3
2
  mainnet: "BCH",
4
3
  testnet: "tBCH",
5
4
  regtest: "rBCH",
6
5
  };
7
- export const mainnetServers = [
8
- // "wss://bch.imaginary.cash:50004",
9
- "wss://blackie.c3-soft.com:50004",
10
- // "wss://electrum.imaginary.cash:50004",
11
- // "wss://fulcrum.fountainhead.cash",
12
- ];
13
- // export const testnetServers = [
14
- // // "wss://tbch.loping.net:60004",
15
- // "wss://blackie.c3-soft.com:60004",
16
- // // "wss://testnet.bitcoincash.network:60004",
17
- // //,"wss://unavailable.invalid:50004"
18
- // ];
19
- // testnet4
20
- // export const testnetServers = [
21
- // //"wss://t4fork.c3-soft.com:61004",
22
- // "wss://testnet4.imaginary.cash:50004",
23
- // //,"wss://unavailable.invalid:50004"
24
- // ];
6
+ const opts = "connectTimeout=5000&timeout=5000&keepAlive=60000&protocolVersion=1.6&batchSize=5";
7
+ export function toParseNotation(urls) {
8
+ const withOpts = urls.map((u) => `${u}?${opts}`);
9
+ if (withOpts.length === 1)
10
+ return withOpts[0];
11
+ return `fallback(${withOpts.join(",")})?eagerConnect=true&rank=true`;
12
+ }
13
+ export const mainnetServers = toParseNotation([
14
+ "wss://bch.imaginary.cash:50004",
15
+ "wss://electrum.imaginary.cash:50004",
16
+ "wss://fulcrum.pat.mn:50004",
17
+ ]);
25
18
  // chipnet
26
- export const testnetServers = [
19
+ export const testnetServers = toParseNotation([
20
+ "wss://chipnet.bch.ninja:50004",
27
21
  "wss://chipnet.imaginary.cash:50004",
28
- //"wss://blackie.c3-soft.com:64004", // chipnet with protocol 1.5.0
29
- // "wss://chipnet.bch.ninja:50004",
30
- ];
31
- export const regtestServers = ["ws://127.0.0.1:60003"];
22
+ "wss://chipnet.c3-soft.com:64004",
23
+ ]);
24
+ export const regtestServers = toParseNotation([
25
+ "ws://127.0.0.1:60003",
26
+ "ws://host.docker.internal:60003",
27
+ ]);
32
28
  export const defaultServers = {
33
29
  mainnet: mainnetServers,
34
30
  testnet: testnetServers,
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/network/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oCAAoC;IACpC,iCAAiC;IACjC,yCAAyC;IACzC,qCAAqC;CACtC,CAAC;AAEF,kCAAkC;AAClC,sCAAsC;AACtC,uCAAuC;AACvC,kDAAkD;AAClD,yCAAyC;AACzC,KAAK;AAEL,WAAW;AACX,kCAAkC;AAClC,wCAAwC;AACxC,2CAA2C;AAC3C,yCAAyC;AACzC,KAAK;AAEL,UAAU;AACV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oCAAoC;IACpC,mEAAmE;IACnE,mCAAmC;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;CACxB,CAAC"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/network/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,IAAI,GACR,kFAAkF,CAAC;AAErF,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,YAAY,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;IAC5C,gCAAgC;IAChC,qCAAqC;IACrC,4BAA4B;CAC7B,CAAC,CAAC;AAEH,UAAU;AACV,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;IAC5C,+BAA+B;IAC/B,oCAAoC;IACpC,iCAAiC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;IAC5C,sBAAsB;IACtB,iCAAiC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;CACxB,CAAC"}
@@ -1,8 +1,9 @@
1
+ import { default as ElectrumNetworkProvider } from "./ElectrumNetworkProvider.js";
1
2
  import { default as NetworkProvider } from "./NetworkProvider.js";
2
- import { ElectrumHostParams } from "./interface.js";
3
3
  import { Network } from "../interface.js";
4
4
  export declare function setGlobalProvider(network: Network, provider: NetworkProvider): NetworkProvider;
5
5
  export declare function getGlobalProvider(network: Network): NetworkProvider | undefined;
6
6
  export declare function removeGlobalProvider(network: Network): void;
7
- export declare function getNetworkProvider(network?: Network, servers?: string[] | string, manualConnectionManagement?: boolean, options?: ElectrumHostParams): NetworkProvider;
7
+ export declare function createProvider(network?: Network, servers?: string): Promise<ElectrumNetworkProvider>;
8
+ export declare function getNetworkProvider(network?: Network): NetworkProvider;
8
9
  //# sourceMappingURL=default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/network/default.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,GACxB,eAAe,CAIjB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GACf,eAAe,GAAG,SAAS,CAG7B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAK3D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,OAAyB,EAClC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAC3B,0BAA0B,CAAC,EAAE,OAAO,EACpC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,eAAe,CAsCjB"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/network/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,GACxB,eAAe,CAIjB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GACf,eAAe,GAAG,SAAS,CAG7B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAK3D;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,OAAyB,EAClC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,CAAC,CAIlC;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,OAAyB,GACjC,eAAe,CAWjB"}
@@ -1,10 +1,11 @@
1
1
  import { default as ElectrumNetworkProvider } from "./ElectrumNetworkProvider.js";
2
- import { ElectrumClient } from "@electrum-cash/network";
3
- import { ElectrumWebSocket } from "@electrum-cash/web-socket";
4
- import { getDefaultServers, getUserAgent } from "./configuration.js";
5
- import { parseElectrumUrl } from "./util.js";
2
+ import { getDefaultServers } from "./configuration.js";
6
3
  import { Network } from "../interface.js";
7
- import { networkTickerMap, ELECTRUM_CASH_PROTOCOL_VERSION, } from "./constant.js";
4
+ import { networkTickerMap } from "./constant.js";
5
+ import { createParseSync } from "@rpckit/core";
6
+ import { webSocket } from "@rpckit/websocket/electrum-cash";
7
+ import { fallback } from "@rpckit/fallback/electrum-cash";
8
+ const parseSync = createParseSync({ webSocket, fallback });
8
9
  export function setGlobalProvider(network, provider) {
9
10
  const accessor = networkTickerMap[network];
10
11
  globalThis[accessor] = provider;
@@ -20,53 +21,20 @@ export function removeGlobalProvider(network) {
20
21
  delete globalThis[accessor];
21
22
  }
22
23
  }
23
- export function getNetworkProvider(network = Network.MAINNET, servers, manualConnectionManagement, options) {
24
- const globalContext = servers === undefined &&
25
- manualConnectionManagement === undefined &&
26
- options === undefined;
27
- if (globalContext) {
28
- const globalProvider = getGlobalProvider(network);
29
- if (globalProvider) {
30
- return globalProvider;
31
- }
32
- }
33
- manualConnectionManagement = manualConnectionManagement
34
- ? manualConnectionManagement
35
- : false;
36
- servers = servers ? servers : getDefaultServers(network);
37
- // If the user has passed a single string, assume a single client connection
38
- if (typeof servers === "string") {
39
- servers = [servers];
40
- }
41
- // There were server(s)
42
- if (servers) {
43
- const client = getClient(servers[0], network, options);
44
- let provider = new ElectrumNetworkProvider(client, network, manualConnectionManagement);
45
- if (globalContext) {
46
- return setGlobalProvider(network, provider);
47
- }
48
- return provider;
49
- }
50
- else {
51
- throw Error("No servers provided, defaults not available.");
52
- }
53
- }
54
- // create a client with a server
55
- function getClient(server, network, options) {
56
- let url = parseElectrumUrl(server);
57
- return getElectrumClient(url, options?.timeout ?? 120000, network);
24
+ export async function createProvider(network = Network.MAINNET, servers) {
25
+ const serverStr = servers ?? getDefaultServers(network);
26
+ const transport = parseSync(serverStr);
27
+ return new ElectrumNetworkProvider(transport, network);
58
28
  }
59
- function getElectrumClient(params, timeout, network) {
60
- if (params.scheme?.includes("tcp")) {
61
- throw Error("TCP connections are not supported.");
29
+ export function getNetworkProvider(network = Network.MAINNET) {
30
+ const globalProvider = getGlobalProvider(network);
31
+ if (globalProvider) {
32
+ return globalProvider;
62
33
  }
63
- const webSocket = new ElectrumWebSocket(params.host, params.port, params.scheme === "wss", timeout, {
64
- disableBrowserConnectivityHandling: true,
65
- disableBrowserVisibilityHandling: true,
66
- });
67
- return new ElectrumClient(getUserAgent(), ELECTRUM_CASH_PROTOCOL_VERSION, webSocket, {
68
- disableBrowserConnectivityHandling: true,
69
- disableBrowserVisibilityHandling: true,
70
- });
34
+ const serverStr = getDefaultServers(network);
35
+ const transport = parseSync(serverStr);
36
+ const provider = new ElectrumNetworkProvider(transport, network);
37
+ setGlobalProvider(network, provider);
38
+ return provider;
71
39
  }
72
40
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/network/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/network/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE3D,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAChC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAgB;IAEhB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAmB,OAAO,CAAC,OAAO,EAClC,OAAgB;IAEhB,MAAM,SAAS,GAAG,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,SAAS,CAAqB,SAAS,CAAC,CAAC;IAC3D,OAAO,IAAI,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAmB,OAAO,CAAC,OAAO;IAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,SAAS,CAAqB,SAAS,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,5 +1,5 @@
1
- export { getNetworkProvider } from "./default.js";
2
- export { Connection, initProviders, initProvider, disconnectProviders, } from "./Connection.js";
1
+ export { getNetworkProvider, createProvider, setGlobalProvider, getGlobalProvider, removeGlobalProvider, } from "./default.js";
2
+ export { initProviders, initProvider, disconnectProviders, } from "./Connection.js";
3
3
  export { default as ElectrumNetworkProvider } from "./ElectrumNetworkProvider.js";
4
4
  export { default as NetworkProvider } from "./NetworkProvider.js";
5
5
  export { ElectrumRawTransaction, ElectrumRawTransactionWithInputValues, ElectrumRawTransactionVinWithValues, } from "./interface.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { getNetworkProvider } from "./default.js";
2
- export { Connection, initProviders, initProvider, disconnectProviders, } from "./Connection.js";
1
+ export { getNetworkProvider, createProvider, setGlobalProvider, getGlobalProvider, removeGlobalProvider, } from "./default.js";
2
+ export { initProviders, initProvider, disconnectProviders, } from "./Connection.js";
3
3
  export { default as ElectrumNetworkProvider } from "./ElectrumNetworkProvider.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}