beignet 0.31.0 → 0.31.1

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.
@@ -141,22 +141,24 @@ function getScriptHashRouter(network) {
141
141
  noteSubscribed: (scriptHash, response) => {
142
142
  const data = response.data;
143
143
  if (response.error)
144
- return;
144
+ return false;
145
145
  const subs = created.subscriptions.get(scriptHash);
146
146
  if (!subs)
147
- return;
147
+ return false;
148
+ let unheard = false;
148
149
  if (data !== 'Already Subscribed.') {
149
150
  const status = typeof data === 'string' ? data : null;
150
151
  const known = created.statuses.has(scriptHash);
151
152
  const previous = created.statuses.get(scriptHash);
152
153
  if (known && previous !== status) {
153
154
  void created.dispatch([scriptHash, status]);
154
- return;
155
+ return false;
155
156
  }
157
+ unheard = !known && status !== null;
156
158
  created.statuses.set(scriptHash, status);
157
159
  }
158
160
  if (!created.statuses.has(scriptHash))
159
- return;
161
+ return false;
160
162
  const current = created.statuses.get(scriptHash) ?? null;
161
163
  for (const [instance, sub] of subs) {
162
164
  if (sub.savedStatus === undefined)
@@ -168,6 +170,7 @@ function getScriptHashRouter(network) {
168
170
  void deliver(instance, subs, [scriptHash, current], sub);
169
171
  }
170
172
  }
173
+ return unheard;
171
174
  },
172
175
  dispatch: async (data) => {
173
176
  const scriptHash = Array.isArray(data) ? data[0] : undefined;
@@ -218,6 +221,7 @@ class Electrum {
218
221
  this._withdrawnStatuses = null;
219
222
  this._reorgOwed = false;
220
223
  this._tipUnverified = false;
224
+ this._fullRefreshOwed = true;
221
225
  this._answeredAt = 0;
222
226
  this._onNewBlock = async (data) => {
223
227
  const hex = data[0].hex;
@@ -229,7 +233,16 @@ class Electrum {
229
233
  await this.applyHeader(header);
230
234
  if (this._disconnected)
231
235
  return;
232
- await this._wallet.refreshWallet();
236
+ if (this._fullRefreshOwed || this._wallet.refreshFailed) {
237
+ this._fullRefreshOwed = false;
238
+ await this._wallet.refreshWallet();
239
+ }
240
+ else {
241
+ void this._wallet.updateFeeEstimates();
242
+ if (Object.keys(this._wallet.getUnconfirmedTransactions()).length) {
243
+ await this._wallet.checkUnconfirmedTransactions();
244
+ }
245
+ }
233
246
  this.onReceive?.(data);
234
247
  this.sendMessage(shapes_1.onMessageKeys.newBlock, data[0]);
235
248
  };
@@ -328,6 +341,7 @@ class Electrum {
328
341
  return (0, utils_1.err)(DISCONNECTED_ERROR);
329
342
  }
330
343
  this.publishConnectionChange(true);
344
+ this._fullRefreshOwed = true;
331
345
  this.restoreSubscriptionsBestEffort(electrumNetwork);
332
346
  return (0, utils_1.ok)('Connected to Electrum server.');
333
347
  }
@@ -632,6 +646,8 @@ class Electrum {
632
646
  if (failed)
633
647
  return (0, utils_1.err)(JSON.stringify(failed));
634
648
  unspentAddressResult.data.forEach(({ data, result: unspentAddresses }) => {
649
+ if (!Array.isArray(unspentAddresses))
650
+ this._fullRefreshOwed = true;
635
651
  if (unspentAddresses?.length > 0) {
636
652
  unspentAddresses.forEach((unspentAddress) => {
637
653
  balance += unspentAddress.value;
@@ -730,14 +746,18 @@ class Electrum {
730
746
  const results = new Map();
731
747
  responses.forEach((response) => {
732
748
  this.noteAnswer(response);
733
- if (response.error)
749
+ if (response.error) {
750
+ this._fullRefreshOwed = true;
734
751
  return;
752
+ }
735
753
  response.data.forEach(({ data, result }) => {
736
754
  if (!data?.scriptHash)
737
755
  return;
738
756
  results.set(data.scriptHash, result);
739
757
  if (Array.isArray(result))
740
758
  answered?.set(data.scriptHash, result);
759
+ else
760
+ this._fullRefreshOwed = true;
741
761
  });
742
762
  });
743
763
  const history = [];
@@ -1093,8 +1113,10 @@ class Electrum {
1093
1113
  header.hash === storedHash) {
1094
1114
  return (0, utils_1.ok)('Header already stored.');
1095
1115
  }
1096
- if (reorgDetected)
1116
+ if (reorgDetected) {
1097
1117
  this._reorgOwed = true;
1118
+ this._fullRefreshOwed = true;
1119
+ }
1098
1120
  await this._wallet.updateHeader(header);
1099
1121
  this._tipUnverified = false;
1100
1122
  if (!reorgDetected)
@@ -1263,7 +1285,9 @@ class Electrum {
1263
1285
  }
1264
1286
  const removed = sub.callbacks.delete(onReceive);
1265
1287
  sub.unconfirmedCallbacks?.delete(onReceive);
1266
- if (sub.callbacks.size === 0 && sub.utxoIndex === undefined) {
1288
+ if (sub.callbacks.size === 0 &&
1289
+ sub.utxoIndex === undefined &&
1290
+ !sub.inWindow) {
1267
1291
  subs.delete(this);
1268
1292
  if (subs.size === 0) {
1269
1293
  router.subscriptions.delete(scriptHash);
@@ -1295,11 +1319,14 @@ class Electrum {
1295
1319
  if (!router || !subs || subs.get(this) !== sub)
1296
1320
  return;
1297
1321
  sub.callbacks.delete(onReceive);
1298
- if (!unconfirmed.created ||
1299
- sub.callbacks.size > 0 ||
1300
- sub.utxoIndex !== undefined) {
1322
+ if (!unconfirmed.created)
1323
+ return;
1324
+ if (sub.inWindow) {
1325
+ this._fullRefreshOwed = true;
1301
1326
  return;
1302
1327
  }
1328
+ if (sub.callbacks.size > 0 || sub.utxoIndex !== undefined)
1329
+ return;
1303
1330
  const heard = router.statuses.has(scriptHash)
1304
1331
  ? lastHeardStatus(router, scriptHash, sub)
1305
1332
  : undefined;
@@ -1324,21 +1351,33 @@ class Electrum {
1324
1351
  const allUtxos = [];
1325
1352
  const currentWallet = this._wallet.data;
1326
1353
  const addressTypeKeys = this._wallet.addressTypesToMonitor;
1327
- if (!scriptHashes.length) {
1354
+ const inWindow = !scriptHashes.length;
1355
+ if (inWindow) {
1356
+ const chains = [
1357
+ {
1358
+ addresses: currentWallet.addresses,
1359
+ indexes: currentWallet.addressIndex,
1360
+ change: false
1361
+ },
1362
+ {
1363
+ addresses: currentWallet.changeAddresses,
1364
+ indexes: currentWallet.changeAddressIndex,
1365
+ change: true
1366
+ }
1367
+ ];
1328
1368
  for (const addressType of addressTypeKeys) {
1329
- const addresses = currentWallet.addresses[addressType];
1330
- const addressCount = Object.keys(addresses).length;
1331
- if (addressCount > 0) {
1332
- let addressIndex = currentWallet.addressIndex[addressType]?.index;
1333
- addressIndex = addressIndex > 0 ? addressIndex : 0;
1369
+ for (const { addresses, indexes, change } of chains) {
1370
+ const values = Object.values(addresses[addressType] ?? {});
1371
+ if (!values.length)
1372
+ continue;
1373
+ const index = indexes[addressType]?.index;
1334
1374
  const addressesInRangeToSubscribe = (0, utils_1.filterAddressesForGapLimit)({
1335
- addresses: Object.values(addresses),
1336
- index: addressIndex,
1375
+ addresses: values,
1376
+ index: index > 0 ? index : 0,
1337
1377
  gapLimitOptions: this._wallet.gapLimitOptions,
1338
- change: false
1378
+ change
1339
1379
  });
1340
- const _scriptHashes = addressesInRangeToSubscribe.map((address) => address.scriptHash);
1341
- scriptHashes.push(..._scriptHashes);
1380
+ scriptHashes.push(...addressesInRangeToSubscribe.map((address) => address.scriptHash));
1342
1381
  }
1343
1382
  }
1344
1383
  const inRange = new Set(scriptHashes);
@@ -1352,6 +1391,8 @@ class Electrum {
1352
1391
  const allScriptHashesPromises = scriptHashes.map(async (scriptHash) => {
1353
1392
  const created = !router.subscriptions.get(scriptHash)?.has(this);
1354
1393
  const sub = this._scriptHashRecord(scriptHash);
1394
+ if (inWindow)
1395
+ sub.inWindow = true;
1355
1396
  const unconfirmed = onReceive
1356
1397
  ? this.addScriptHashCallback(sub, onReceive, created)
1357
1398
  : undefined;
@@ -1370,7 +1411,10 @@ class Electrum {
1370
1411
  sub.unconfirmedCallbacks?.get(onReceive) === unconfirmed) {
1371
1412
  sub.unconfirmedCallbacks?.delete(onReceive);
1372
1413
  }
1373
- router.noteSubscribed(scriptHash, response);
1414
+ if (router.noteSubscribed(scriptHash, response) ||
1415
+ (created && router.statuses.get(scriptHash) !== null)) {
1416
+ this._fullRefreshOwed = true;
1417
+ }
1374
1418
  });
1375
1419
  const allUtxosPromises = allUtxos.map(async (utxo) => {
1376
1420
  const created = !router.subscriptions.get(utxo.scriptHash)?.has(this);
@@ -1394,7 +1438,10 @@ class Electrum {
1394
1438
  sub.unconfirmedCallbacks?.get(onReceive) === unconfirmed) {
1395
1439
  sub.unconfirmedCallbacks?.delete(onReceive);
1396
1440
  }
1397
- router.noteSubscribed(utxo.scriptHash, response);
1441
+ if (router.noteSubscribed(utxo.scriptHash, response) ||
1442
+ (created && router.statuses.get(utxo.scriptHash) !== null)) {
1443
+ this._fullRefreshOwed = true;
1444
+ }
1398
1445
  });
1399
1446
  try {
1400
1447
  await Promise.all([...allScriptHashesPromises, ...allUtxosPromises]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/electrum/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/electrum/index.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class Electrum {
19
19
  private _withdrawnStatuses;
20
20
  private _reorgOwed;
21
21
  private _tipUnverified;
22
+ private _fullRefreshOwed;
22
23
  private _answeredAt;
23
24
  servers?: TServer | TServer[];
24
25
  network: EAvailableNetworks;
@@ -24,6 +24,7 @@ export declare class Wallet {
24
24
  private _activeRefreshes;
25
25
  private _refreshOwed;
26
26
  private _refreshStartCallbacks;
27
+ private _refreshFailed;
27
28
  private readonly _spentOutpoints;
28
29
  private _spendSeq;
29
30
  private readonly _scanMarks;
@@ -74,6 +75,7 @@ export declare class Wallet {
74
75
  get unconfirmedTransactions(): IFormattedTransactions;
75
76
  get utxos(): IUtxo[];
76
77
  get balance(): number;
78
+ get refreshFailed(): boolean;
77
79
  get network(): EAvailableNetworks;
78
80
  get account(): number;
79
81
  get birthdayHeight(): number;
@@ -114,6 +116,7 @@ export declare class Wallet {
114
116
  onStart?: () => void;
115
117
  }): Promise<Result<IWalletData>>;
116
118
  private _runRefresh;
119
+ private subscribeWindows;
117
120
  private _resolveAllPendingRefreshPromises;
118
121
  private setWalletData;
119
122
  private _scrubStoredSendTransaction;