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,6 +1,5 @@
1
1
  import { HdPrivateNodeValid, HdPublicNodeValid } from "@bitauth/libauth";
2
2
  import { TxI, Utxo } from "../interface.js";
3
- import { CacheProvider } from "./interface.js";
4
3
  export declare const stringify: (_: any) => string;
5
4
  export declare const parse: (data: string) => any;
6
5
  export interface WalletCacheEntry {
@@ -23,12 +22,25 @@ export interface WalletCache {
23
22
  }
24
23
  export interface WalletCacheI extends WalletCache {
25
24
  init(): Promise<void>;
26
- persist(): Promise<void>;
25
+ persist(immediate?: boolean): Promise<void>;
27
26
  get(address: string): WalletCacheEntry | undefined;
28
27
  getByIndex(addressIndex: number, change: boolean): WalletCacheEntry;
29
28
  setStatusAndUtxos(address: string, status: string | null, utxos: Utxo[], rawHistory: TxI[], lastConfirmedHeight: number): void;
30
29
  }
31
- export declare class PersistentWalletCache implements WalletCacheI {
30
+ export declare class SingleAddressWalletCache implements WalletCacheI {
31
+ walletId: string;
32
+ writeTimeout: number;
33
+ private entry;
34
+ private _storage;
35
+ private debounceTimer;
36
+ constructor(walletId: string, address: string, tokenAddress: string, writeTimeout?: number);
37
+ init(): Promise<void>;
38
+ persist(immediate?: boolean): Promise<void>;
39
+ get(address: string): WalletCacheEntry | undefined;
40
+ getByIndex(_index: number, _change: boolean): WalletCacheEntry;
41
+ setStatusAndUtxos(address: string, status: string | null, utxos: Utxo[], rawHistory: TxI[], lastConfirmedHeight: number): void;
42
+ }
43
+ export declare class HDWalletCache implements WalletCacheI {
32
44
  walletId: string;
33
45
  hdNode: HdPublicNodeValid | HdPrivateNodeValid;
34
46
  networkPrefix: string;
@@ -37,11 +49,9 @@ export declare class PersistentWalletCache implements WalletCacheI {
37
49
  private walletCache;
38
50
  private indexCache;
39
51
  private debounceTimer;
40
- get storage(): CacheProvider | undefined;
41
52
  constructor(walletId: string, hdNode: HdPublicNodeValid | HdPrivateNodeValid, networkPrefix: string, writeTimeout?: number);
42
53
  init(): Promise<void>;
43
- private schedulePersist;
44
- persist(): Promise<void>;
54
+ persist(immediate?: boolean): Promise<void>;
45
55
  getByIndex(addressIndex: number, change: boolean): WalletCacheEntry;
46
56
  get(address: string): WalletCacheEntry | undefined;
47
57
  setStatusAndUtxos(address: string, status: string | null, utxos: Utxo[], rawHistory: TxI[], lastConfirmedHeight: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"walletCache.d.ts","sourceRoot":"","sources":["../../../src/cache/walletCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,eAAO,MAAM,SAAS,MAAO,GAAG,WAI5B,CAAC;AACL,eAAO,MAAM,KAAK,SAAU,MAAM,QAU9B,CAAC;AAEL,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,EAAE,UAAU,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,GAAG,EAAE,CAAC;IAElB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CAC1E;AAGD,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACnD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACpE,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,IAAI,EAAE,EACb,UAAU,EAAE,GAAG,EAAE,EACjB,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAAC;CACT;AAED,qBAAa,qBAAsB,YAAW,YAAY;IA+C/C,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,iBAAiB,GAAG,kBAAkB;IAC9C,aAAa,EAAE,MAAM;IACrB,YAAY,EAAE,MAAM;IAjD7B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,UAAU,CAMX;IACP,OAAO,CAAC,aAAa,CAA4C;IAEjE,IAAI,OAAO,IAAI,aAAa,GAAG,SAAS,CAgCvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,EAC9C,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAa;IAOvB,IAAI;IAcjB,OAAO,CAAC,eAAe;IAOV,OAAO;IAab,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAyDhD,GAAG,CAAC,OAAO,EAAE,MAAM;IAQnB,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,IAAI,EAAE,EACb,UAAU,EAAE,GAAG,EAAE,EACjB,mBAAmB,EAAE,MAAM;CAoB9B"}
1
+ {"version":3,"file":"walletCache.d.ts","sourceRoot":"","sources":["../../../src/cache/walletCache.ts"],"names":[],"mappings":"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"}
@@ -17,30 +17,85 @@ export const parse = (data) => JSON.parse(data, (key, value) => {
17
17
  }
18
18
  return value;
19
19
  });
20
- export class PersistentWalletCache {
21
- get storage() {
22
- if (!Config.UseMemoryCache &&
23
- !Config.UseLocalStorageCache &&
24
- !Config.UseIndexedDBCache) {
25
- this._storage = undefined;
26
- return this._storage;
27
- }
28
- if (Config.UseMemoryCache && !(this._storage instanceof MemoryCache)) {
29
- this._storage = new MemoryCache();
30
- return this._storage;
20
+ function getStorage() {
21
+ if (Config.UseMemoryCache)
22
+ return new MemoryCache();
23
+ if (Config.UseLocalStorageCache)
24
+ return new WebStorageCache();
25
+ if (Config.UseIndexedDBCache)
26
+ return new IndexedDbCache("WalletCache");
27
+ return undefined;
28
+ }
29
+ /// Cache for single-address wallets (WatchWallet, Wif)
30
+ export class SingleAddressWalletCache {
31
+ constructor(walletId, address, tokenAddress, writeTimeout = 2000) {
32
+ this.walletId = walletId;
33
+ this.writeTimeout = writeTimeout;
34
+ this.entry = {
35
+ address,
36
+ tokenAddress,
37
+ privateKey: undefined,
38
+ publicKey: new Uint8Array(),
39
+ publicKeyHash: new Uint8Array(),
40
+ index: 0,
41
+ change: false,
42
+ status: null,
43
+ utxos: [],
44
+ rawHistory: [],
45
+ lastConfirmedHeight: 0,
46
+ };
47
+ }
48
+ async init() {
49
+ this._storage = getStorage();
50
+ await this._storage?.init();
51
+ const data = await this._storage?.getItem(`walletCache-${this.walletId}`);
52
+ if (data) {
53
+ try {
54
+ const parsed = parse(data);
55
+ // Restore persisted fields, keep address identity from constructor
56
+ const addr = this.entry.address;
57
+ const tokenAddr = this.entry.tokenAddress;
58
+ Object.assign(this.entry, parsed, {
59
+ address: addr,
60
+ tokenAddress: tokenAddr,
61
+ });
62
+ }
63
+ catch (_e) {
64
+ // ignore
65
+ }
31
66
  }
32
- if (Config.UseLocalStorageCache &&
33
- !(this._storage instanceof WebStorageCache)) {
34
- this._storage = new WebStorageCache();
35
- return this._storage;
67
+ }
68
+ async persist(immediate = false) {
69
+ if (this.debounceTimer)
70
+ clearTimeout(this.debounceTimer);
71
+ if (immediate) {
72
+ this.debounceTimer = undefined;
73
+ await this._storage?.setItem(`walletCache-${this.walletId}`, stringify(this.entry));
36
74
  }
37
- if (Config.UseIndexedDBCache &&
38
- !(this._storage instanceof IndexedDbCache)) {
39
- this._storage = new IndexedDbCache("WalletCache");
40
- return this._storage;
75
+ else {
76
+ this.debounceTimer = setTimeout(() => {
77
+ this.debounceTimer = undefined;
78
+ this._storage?.setItem(`walletCache-${this.walletId}`, stringify(this.entry));
79
+ }, this.writeTimeout);
41
80
  }
42
- return this._storage;
43
81
  }
82
+ get(address) {
83
+ return address === this.entry.address ? this.entry : undefined;
84
+ }
85
+ getByIndex(_index, _change) {
86
+ return this.entry;
87
+ }
88
+ setStatusAndUtxos(address, status, utxos, rawHistory, lastConfirmedHeight) {
89
+ if (address !== this.entry.address)
90
+ return;
91
+ this.entry.status = status;
92
+ this.entry.utxos = utxos;
93
+ this.entry.rawHistory = rawHistory;
94
+ this.entry.lastConfirmedHeight = lastConfirmedHeight;
95
+ this.persist();
96
+ }
97
+ }
98
+ export class HDWalletCache {
44
99
  constructor(walletId, hdNode, networkPrefix, writeTimeout = 2000) {
45
100
  this.walletId = walletId;
46
101
  this.hdNode = hdNode;
@@ -53,8 +108,9 @@ export class PersistentWalletCache {
53
108
  }
54
109
  }
55
110
  async init() {
56
- await this.storage?.init();
57
- const data = await this.storage?.getItem(`walletCache-${this.walletId}`);
111
+ this._storage = getStorage();
112
+ await this._storage?.init();
113
+ const data = await this._storage?.getItem(`walletCache-${this.walletId}`);
58
114
  if (data) {
59
115
  try {
60
116
  const parsed = parse(data);
@@ -66,21 +122,23 @@ export class PersistentWalletCache {
66
122
  }
67
123
  }
68
124
  }
69
- schedulePersist() {
70
- if (this.debounceTimer)
71
- clearTimeout(this.debounceTimer);
72
- this.debounceTimer = setTimeout(() => {
73
- this.persist().catch(() => { });
74
- }, this.writeTimeout);
75
- }
76
- async persist() {
125
+ async persist(immediate = false) {
77
126
  if (this.debounceTimer)
78
127
  clearTimeout(this.debounceTimer);
79
- this.debounceTimer = undefined;
80
- this.storage?.setItem(`walletCache-${this.walletId}`, stringify({
128
+ const write = () => this._storage?.setItem(`walletCache-${this.walletId}`, stringify({
81
129
  walletCache: this.walletCache,
82
130
  indexCache: this.indexCache,
83
131
  }));
132
+ if (immediate) {
133
+ this.debounceTimer = undefined;
134
+ await write();
135
+ }
136
+ else {
137
+ this.debounceTimer = setTimeout(() => {
138
+ this.debounceTimer = undefined;
139
+ write();
140
+ }, this.writeTimeout);
141
+ }
84
142
  }
85
143
  getByIndex(addressIndex, change) {
86
144
  const id = `${this.walletId}-${addressIndex}-${change}`;
@@ -121,7 +179,7 @@ export class PersistentWalletCache {
121
179
  index: addressIndex,
122
180
  change,
123
181
  };
124
- this.schedulePersist();
182
+ this.persist();
125
183
  }
126
184
  return this.walletCache[id];
127
185
  }
@@ -146,7 +204,7 @@ export class PersistentWalletCache {
146
204
  this.walletCache[key].utxos = utxos;
147
205
  this.walletCache[key].rawHistory = rawHistory;
148
206
  this.walletCache[key].lastConfirmedHeight = lastConfirmedHeight;
149
- this.schedulePersist();
207
+ this.persist();
150
208
  }
151
209
  }
152
210
  //# sourceMappingURL=walletCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletCache.js","sourceRoot":"","sources":["../../../src/cache/walletCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletCache.js","sourceRoot":"","sources":["../../../src/cache/walletCache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mine.d.ts","sourceRoot":"","sources":["../../../src/mine/mine.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,0BAGd;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,GAAG,CAwBd,CAAC"}
1
+ {"version":3,"file":"mine.d.ts","sourceRoot":"","sources":["../../../src/mine/mine.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,0BAGd;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,GAAG,CAiBd,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { binToBase64, utf8ToBin } from "@bitauth/libauth";
2
+ import { http } from "@rpckit/http";
3
+ import { fallback } from "@rpckit/fallback";
2
4
  /**
3
5
  * Mine blocks to a regtest address
4
6
  *
@@ -9,24 +11,17 @@ import { binToBase64, utf8ToBin } from "@bitauth/libauth";
9
11
  * This function assumes a local regtest bitcoin node with RPC_* matching the docker configuration
10
12
  */
11
13
  export const mine = async ({ cashaddr, blocks, }) => {
12
- const response = await fetch(`http://127.0.0.1:${process.env.RPC_PORT}/`, {
13
- method: "POST",
14
- headers: {
15
- "Content-Type": "application/json",
16
- Authorization: "Basic " +
17
- binToBase64(utf8ToBin(`${process.env.RPC_USER}:${process.env.RPC_PASS}`)),
18
- },
19
- body: JSON.stringify({
20
- jsonrpc: "2.0",
21
- id: "0",
22
- method: "generatetoaddress",
23
- params: {
24
- nblocks: blocks,
25
- address: cashaddr,
26
- },
27
- }),
28
- });
29
- const json = await response.json();
30
- return json.result;
14
+ const auth = "Basic " +
15
+ binToBase64(utf8ToBin(`${process.env.RPC_USER}:${process.env.RPC_PASS}`));
16
+ const transports = ["127.0.0.1", "host.docker.internal"].map((host) => http(`http://${host}:${process.env.RPC_PORT}/`, {
17
+ headers: { Authorization: auth },
18
+ }));
19
+ const transport = fallback(transports);
20
+ try {
21
+ return await transport.request("generatetoaddress", blocks, cashaddr);
22
+ }
23
+ finally {
24
+ await transport.close();
25
+ }
31
26
  };
32
27
  //# sourceMappingURL=mine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mine.js","sourceRoot":"","sources":["../../../src/mine/mine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EACzB,QAAQ,EACR,MAAM,GAIP,EAAgB,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EACX,QAAQ;gBACR,WAAW,CACT,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAC7D;SACJ;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,GAAG;YACP,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,QAAQ;aAClB;SACF,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"mine.js","sourceRoot":"","sources":["../../../src/mine/mine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EACzB,QAAQ,EACR,MAAM,GAIP,EAAgB,EAAE;IACjB,MAAM,IAAI,GACR,QAAQ;QACR,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,UAAU,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE;QAC9C,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACjC,CAAC,CACuB,CAAC;IAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC"}
@@ -1,16 +1,5 @@
1
- import { default as NetworkProvider } from "./NetworkProvider.js";
2
1
  import { Network } from "../interface.js";
3
- import { CashAddressNetworkPrefix } from "@bitauth/libauth";
4
- export declare function initProvider(network: Network): Promise<NetworkProvider | undefined>;
2
+ export declare function initProvider(network: Network): Promise<import("./NetworkProvider.js").default | undefined>;
5
3
  export declare function initProviders(networks?: Network[]): Promise<void>;
6
4
  export declare function disconnectProviders(networks?: Network[]): Promise<void>;
7
- export declare class Connection {
8
- network: Network;
9
- servers?: string[];
10
- networkPrefix: CashAddressNetworkPrefix;
11
- networkProvider: NetworkProvider;
12
- constructor(network?: Network, servers?: string[] | string);
13
- ready(): Promise<this>;
14
- disconnect(): Promise<this>;
15
- }
16
5
  //# sourceMappingURL=Connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../src/network/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOlE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,wCAQlD;AAED,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAMvD;AAgBD,wBAAsB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAI7D;AAED,qBAAa,UAAU;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC,eAAe,EAAE,eAAe,CAAC;gBAE5B,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAM7C,KAAK;IAML,UAAU;CAIxB"}
1
+ {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../src/network/Connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,+DAQlD;AAED,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAcvD;AAUD,wBAAsB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAG7D"}
@@ -1,10 +1,9 @@
1
- import { getNetworkProvider, setGlobalProvider, getGlobalProvider, removeGlobalProvider, } from "./default.js";
1
+ import { createProvider, setGlobalProvider, getGlobalProvider, removeGlobalProvider, } from "./default.js";
2
2
  import { networkTickerMap } from "./constant.js";
3
- import { prefixFromNetworkMap } from "../enum.js";
4
3
  export async function initProvider(network) {
5
4
  if (!getGlobalProvider(network)) {
6
- const conn = new Connection(network);
7
- const provider = (await conn.ready()).networkProvider;
5
+ const provider = await createProvider(network);
6
+ await provider.connect();
8
7
  setGlobalProvider(network, provider);
9
8
  return provider;
10
9
  }
@@ -12,44 +11,24 @@ export async function initProvider(network) {
12
11
  }
13
12
  export async function initProviders(networks) {
14
13
  networks = networks ? networks : Object.keys(networkTickerMap);
15
- let initPromises = networks.map((n) => initProvider(n));
16
- await Promise.all(initPromises).catch((e) => {
17
- console.warn(`Warning, couldn't establish a connection for ${e}`);
18
- });
14
+ const results = await Promise.allSettled(networks.map((n) => initProvider(n)));
15
+ for (let i = 0; i < results.length; i++) {
16
+ if (results[i].status === "rejected") {
17
+ const { reason } = results[i];
18
+ const message = reason instanceof Error ? reason.message : reason;
19
+ console.warn(`Warning, couldn't establish a connection for ${networks[i]}: ${message}`);
20
+ }
21
+ }
19
22
  }
20
23
  async function disconnectProvider(network) {
21
24
  const provider = getGlobalProvider(network);
22
25
  if (provider) {
23
26
  await provider.disconnect();
24
27
  removeGlobalProvider(network);
25
- return;
26
- }
27
- else {
28
- // console.warn(
29
- // `Ignoring attempt to disconnect non-existent ${network} provider`
30
- // );
31
- return true;
32
28
  }
33
29
  }
34
30
  export async function disconnectProviders(networks) {
35
31
  networks = networks ? networks : Object.keys(networkTickerMap);
36
- let disconnectPromises = networks.map((n) => disconnectProvider(n));
37
- await Promise.all(disconnectPromises);
38
- }
39
- export class Connection {
40
- constructor(network, servers) {
41
- this.network = network ? network : "mainnet";
42
- this.networkPrefix = prefixFromNetworkMap[this.network];
43
- this.networkProvider = getNetworkProvider(this.network, servers, true);
44
- }
45
- async ready() {
46
- await this.networkProvider.connect();
47
- await this.networkProvider.ready();
48
- return this;
49
- }
50
- async disconnect() {
51
- await this.networkProvider.disconnect();
52
- return this;
53
- }
32
+ await Promise.all(networks.map((n) => disconnectProvider(n)));
54
33
  }
55
34
  //# sourceMappingURL=Connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../src/network/Connection.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IACjD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;QACtD,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAoB;IACtD,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAe,CAAC;IAC9E,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1C,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAgB;IAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;SAAM,CAAC;QACN,gBAAgB;QAChB,sEAAsE;QACtE,KAAK;QACL,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAoB;IAC5D,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAe,CAAC;IAC9E,IAAI,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,UAAU;IAMrB,YAAY,OAAiB,EAAE,OAA2B;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../src/network/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IACjD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAoB;IACtD,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAe,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACrC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAA0B,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAClE,OAAO,CAAC,IAAI,CACV,gDAAgD,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAgB;IAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAoB;IAC5D,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAe,CAAC;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ElectrumClient, ElectrumClientEvents } from "@electrum-cash/network";
1
+ import type { Transport } from "@rpckit/core";
2
+ import type { ElectrumCashSchema } from "@rpckit/core/electrum-cash";
2
3
  import { default as NetworkProvider } from "./NetworkProvider.js";
3
4
  import { HexHeaderI, TxI, Utxo, HeaderI } from "../interface.js";
4
5
  import { Network } from "../interface.js";
@@ -7,15 +8,13 @@ import { CancelFn } from "../wallet/interface.js";
7
8
  import { CacheProvider } from "../cache/interface.js";
8
9
  export default class ElectrumNetworkProvider implements NetworkProvider {
9
10
  network: Network;
10
- private manualConnectionManagement?;
11
- electrum: ElectrumClient<ElectrumClientEvents>;
11
+ transport: Transport<ElectrumCashSchema>;
12
12
  subscriptions: number;
13
- private subscriptionMap;
14
13
  private currentHeight;
15
14
  private headerCancelFn?;
16
15
  private _cache;
17
16
  get cache(): CacheProvider | undefined;
18
- constructor(electrum: ElectrumClient<ElectrumClientEvents>, network?: Network, manualConnectionManagement?: boolean | undefined);
17
+ constructor(transport: Transport<ElectrumCashSchema>, network?: Network);
19
18
  getUtxos(cashaddr: string): Promise<Utxo[]>;
20
19
  getBalance(cashaddr: string): Promise<bigint>;
21
20
  getHeader(height: number, verbose?: boolean): Promise<HeaderI | HexHeaderI>;
@@ -38,8 +37,6 @@ export default class ElectrumNetworkProvider implements NetworkProvider {
38
37
  subscribeToAddress(cashaddr: string, callback: (data: any) => void): Promise<CancelFn>;
39
38
  subscribeToTransaction(txHash: string, callback: (data: any) => void): Promise<CancelFn>;
40
39
  private performRequest;
41
- private trackSubscription;
42
- private untrackSubscription;
43
40
  subscribeRequest(methodName: string, callback: (data: any) => void, ...parameters: (string | number | boolean)[]): Promise<CancelFn>;
44
41
  ready(): Promise<boolean | unknown>;
45
42
  connect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ElectrumNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElectrumNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}