@bsv/wallet-toolbox 1.4.1 → 1.4.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 (32) hide show
  1. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts +1 -1
  2. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  3. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js +12 -2
  4. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  5. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  6. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js +6 -1
  7. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  8. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts +20 -0
  9. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  10. package/mobile/out/src/monitor/tasks/TaskNewHeader.js +20 -2
  11. package/mobile/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  12. package/mobile/package-lock.json +2 -2
  13. package/mobile/package.json +1 -1
  14. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +1 -1
  15. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  16. package/out/src/monitor/tasks/TaskCheckForProofs.js +12 -2
  17. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  18. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  19. package/out/src/monitor/tasks/TaskCheckNoSends.js +6 -1
  20. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  21. package/out/src/monitor/tasks/TaskNewHeader.d.ts +20 -0
  22. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  23. package/out/src/monitor/tasks/TaskNewHeader.js +20 -2
  24. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  25. package/out/test/monitor/Monitor.test.js +10 -0
  26. package/out/test/monitor/Monitor.test.js.map +1 -1
  27. package/out/tsconfig.all.tsbuildinfo +1 -1
  28. package/package.json +1 -1
  29. package/src/monitor/tasks/TaskCheckForProofs.ts +13 -2
  30. package/src/monitor/tasks/TaskCheckNoSends.ts +7 -1
  31. package/src/monitor/tasks/TaskNewHeader.ts +27 -1
  32. package/test/monitor/Monitor.test.ts +11 -0
@@ -45,7 +45,7 @@ export declare class TaskCheckForProofs extends WalletMonitorTask {
45
45
  * @param reqs
46
46
  * @returns reqs partitioned by status
47
47
  */
48
- export declare function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], indent?: number, countsAsAttempt?: boolean, ignoreStatus?: boolean): Promise<{
48
+ export declare function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], indent: number | undefined, countsAsAttempt: boolean | undefined, ignoreStatus: boolean | undefined, maxAcceptableHeight: number): Promise<{
49
49
  proven: TableProvenTxReq[];
50
50
  invalid: TableProvenTxReq[];
51
51
  log: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckForProofs.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IAW9C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAmB;IAElC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuBjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,SAAI,EACV,eAAe,UAAQ,EACvB,YAAY,UAAQ,GACnB,OAAO,CAAC;IACT,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAC,CA6HD"}
1
+ {"version":3,"file":"TaskCheckForProofs.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IAW9C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAmB;IAElC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA4BjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,oBAAI,EACV,eAAe,qBAAQ,EACvB,YAAY,qBAAQ,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC;IACT,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAC,CAkID"}
@@ -33,9 +33,14 @@ class TaskCheckForProofs extends WalletMonitorTask_1.WalletMonitorTask {
33
33
  };
34
34
  }
35
35
  async runTask() {
36
+ var _a;
36
37
  let log = '';
37
38
  const countsAsAttempt = TaskCheckForProofs.checkNow;
38
39
  TaskCheckForProofs.checkNow = false;
40
+ const maxAcceptableHeight = (_a = this.monitor.lastNewHeader) === null || _a === void 0 ? void 0 : _a.height;
41
+ if (maxAcceptableHeight === undefined) {
42
+ return log;
43
+ }
39
44
  const limit = 100;
40
45
  let offset = 0;
41
46
  for (;;) {
@@ -47,7 +52,7 @@ class TaskCheckForProofs extends WalletMonitorTask_1.WalletMonitorTask {
47
52
  if (reqs.length === 0)
48
53
  break;
49
54
  log += `${reqs.length} reqs with status 'callback', 'unmined', 'sending', 'unknown', or 'unconfirmed'\n`;
50
- const r = await getProofs(this, reqs, 2, countsAsAttempt);
55
+ const r = await getProofs(this, reqs, 2, countsAsAttempt, false, maxAcceptableHeight);
51
56
  log += `${r.log}\n`;
52
57
  //console.log(log);
53
58
  if (reqs.length < limit)
@@ -79,7 +84,7 @@ TaskCheckForProofs.checkNow = false;
79
84
  * @param reqs
80
85
  * @returns reqs partitioned by status
81
86
  */
82
- async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignoreStatus = false) {
87
+ async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignoreStatus = false, maxAcceptableHeight) {
83
88
  const proven = [];
84
89
  const invalid = [];
85
90
  let log = '';
@@ -150,6 +155,11 @@ async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignore
150
155
  // one more time.
151
156
  //
152
157
  r = await task.monitor.services.getMerklePath(req.txid);
158
+ if (r.header && r.header.height > maxAcceptableHeight) {
159
+ // Ignore proofs from bleeding edge of new blocks as these are the most often re-orged.
160
+ log += ` ignoring possible proof from very new block at height ${r.header.height} ${r.header.hash}\n`;
161
+ continue;
162
+ }
153
163
  ptx = await entities_1.EntityProvenTx.fromReq(req, r, countsAsAttempt && req.status !== 'nosend');
154
164
  if (ptx) {
155
165
  // We have a merklePath proof for the request (and a block header)
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckForProofs.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskCheckForProofs.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckNoSends.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IAW5C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAiB;IAEhC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuBjC"}
1
+ {"version":3,"file":"TaskCheckNoSends.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IAW5C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAiB;IAEhC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA6BjC"}
@@ -31,9 +31,14 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
31
31
  };
32
32
  }
33
33
  async runTask() {
34
+ var _a;
34
35
  let log = '';
35
36
  const countsAsAttempt = TaskCheckNoSends.checkNow;
36
37
  TaskCheckNoSends.checkNow = false;
38
+ const maxAcceptableHeight = (_a = this.monitor.lastNewHeader) === null || _a === void 0 ? void 0 : _a.height;
39
+ if (maxAcceptableHeight === undefined) {
40
+ return log;
41
+ }
37
42
  const limit = 100;
38
43
  let offset = 0;
39
44
  for (;;) {
@@ -45,7 +50,7 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
45
50
  if (reqs.length === 0)
46
51
  break;
47
52
  log += `${reqs.length} reqs with status 'nosend'\n`;
48
- const r = await (0, TaskCheckForProofs_1.getProofs)(this, reqs, 2, countsAsAttempt);
53
+ const r = await (0, TaskCheckForProofs_1.getProofs)(this, reqs, 2, countsAsAttempt, false, maxAcceptableHeight);
49
54
  log += `${r.log}\n`;
50
55
  //console.log(log);
51
56
  if (reqs.length < limit)
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAChD,2DAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IASrD,YACE,OAAgB,EACT,eAAe,OAAO,CAAC,MAAM,GAAG,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAFlC,iBAAY,GAAZ,YAAY,CAAqB;IAG1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,gBAAgB,CAAC,QAAQ;gBACzB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAClG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACjD,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAA;QAEjC,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC/C,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAC5B,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,8BAA8B,CAAA;YACnD,MAAM,CAAC,GAAG,MAAM,IAAA,8BAAS,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAA;YACzD,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;YACnB,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;gBAAE,MAAK;YAC9B,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAjDH,4CAkDC;AAjDQ,yBAAQ,GAAG,cAAc,CAAA;AAEhC;;;GAGG;AACI,yBAAQ,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAChD,2DAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IASrD,YACE,OAAgB,EACT,eAAe,OAAO,CAAC,MAAM,GAAG,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAFlC,iBAAY,GAAZ,YAAY,CAAqB;IAG1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,gBAAgB,CAAC,QAAQ;gBACzB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAClG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACjD,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAA;QAEjC,MAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,0CAAE,MAAM,CAAA;QAC9D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,GAAG,CAAA;QACZ,CAAC;QAGD,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC/C,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAC5B,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,8BAA8B,CAAA;YACnD,MAAM,CAAC,GAAG,MAAM,IAAA,8BAAS,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;YACrF,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;YACnB,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;gBAAE,MAAK;YAC9B,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAvDH,4CAwDC;AAvDQ,yBAAQ,GAAG,cAAc,CAAA;AAEhC;;;GAGG;AACI,yBAAQ,GAAG,KAAK,CAAA"}
@@ -1,10 +1,30 @@
1
1
  import { BlockHeader } from '../../services/chaintracker/chaintracks/Api/BlockHeaderApi';
2
2
  import { Monitor } from '../Monitor';
3
3
  import { WalletMonitorTask } from './WalletMonitorTask';
4
+ /**
5
+ * This task polls for new block headers performing two essential functions:
6
+ * 1. The arrival of a new block is the right time to check for proofs for recently broadcast transactions.
7
+ * 2. The height of the block is used to limit which proofs are accepted with the aim of avoiding re-orged proofs.
8
+ *
9
+ * The most common new block orphan is one which is almost immediately orphaned.
10
+ * Waiting a minute before pursuing proof requests avoids almost all the re-org work that could be done.
11
+ * Thus this task queues new headers for one cycle.
12
+ * If a new header arrives during that cycle, it replaces the queued header and delays again.
13
+ * Only when there is an elapsed cycle without a new header does proof solicitation get triggered,
14
+ * with that header height as the limit for which proofs are accepted.
15
+ */
4
16
  export declare class TaskNewHeader extends WalletMonitorTask {
5
17
  triggerMsecs: number;
6
18
  static taskName: string;
19
+ /**
20
+ * This is always the most recent chain tip header returned from the chaintracker.
21
+ */
7
22
  header?: BlockHeader;
23
+ /**
24
+ * Tracks the value of `header` except that it is set to undefined
25
+ * when a cycle without a new header occurs and `processNewBlockHeader` is called.
26
+ */
27
+ queuedHeader?: BlockHeader;
8
28
  constructor(monitor: Monitor, triggerMsecs?: number);
9
29
  getHeader(): Promise<BlockHeader>;
10
30
  trigger(nowMsecsSinceEpoch: number): {
@@ -1 +1 @@
1
- {"version":3,"file":"TaskNewHeader.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4DAA4D,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,aAAc,SAAQ,iBAAiB;IAMzC,YAAY;IALrB,MAAM,CAAC,QAAQ,SAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAA;gBAGlB,OAAO,EAAE,OAAO,EACT,YAAY,SAAwB;IAKvC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAIvC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAK/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAmBjC"}
1
+ {"version":3,"file":"TaskNewHeader.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4DAA4D,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAczC,YAAY;IAbrB,MAAM,CAAC,QAAQ,SAAc;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAA;gBAGxB,OAAO,EAAE,OAAO,EACT,YAAY,SAAwB;IAKvC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAIvC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAK/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyBjC"}
@@ -2,6 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskNewHeader = void 0;
4
4
  const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ /**
6
+ * This task polls for new block headers performing two essential functions:
7
+ * 1. The arrival of a new block is the right time to check for proofs for recently broadcast transactions.
8
+ * 2. The height of the block is used to limit which proofs are accepted with the aim of avoiding re-orged proofs.
9
+ *
10
+ * The most common new block orphan is one which is almost immediately orphaned.
11
+ * Waiting a minute before pursuing proof requests avoids almost all the re-org work that could be done.
12
+ * Thus this task queues new headers for one cycle.
13
+ * If a new header arrives during that cycle, it replaces the queued header and delays again.
14
+ * Only when there is an elapsed cycle without a new header does proof solicitation get triggered,
15
+ * with that header height as the limit for which proofs are accepted.
16
+ */
5
17
  class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
6
18
  constructor(monitor, triggerMsecs = 1 * monitor.oneMinute) {
7
19
  super(monitor, TaskNewHeader.taskName);
@@ -33,8 +45,14 @@ class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
33
45
  else {
34
46
  isNew = false;
35
47
  }
36
- if (isNew)
37
- this.monitor.processNewBlockHeader(this.header);
48
+ if (isNew) {
49
+ this.queuedHeader = this.header;
50
+ }
51
+ else if (this.queuedHeader) {
52
+ // Only process new block header if it has remained the chain tip for a full cycle
53
+ this.monitor.processNewBlockHeader(this.queuedHeader);
54
+ this.queuedHeader = undefined;
55
+ }
38
56
  return log;
39
57
  }
40
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAEvD,MAAa,aAAc,SAAQ,qCAAiB;IAIlD,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAwB;IAG7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClD,GAAG,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAA;QACzE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzF,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QACD,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC;;AAtCH,sCAuCC;AAtCQ,sBAAQ,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAEvD;;;;;;;;;;;GAWG;AACH,MAAa,aAAc,SAAQ,qCAAiB;IAYlD,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAwB;IAG7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClD,GAAG,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAA;QACzE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzF,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,kFAAkF;YAClF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACrD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC/B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AApDH,sCAqDC;AApDQ,sBAAQ,GAAG,WAAW,CAAA"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bsv/wallet-toolbox-mobile",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bsv/wallet-toolbox-mobile",
9
- "version": "1.4.1",
9
+ "version": "1.4.2",
10
10
  "license": "SEE LICENSE IN license.md",
11
11
  "dependencies": {
12
12
  "@bsv/sdk": "^1.6.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/wallet-toolbox-mobile",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "Client only Wallet Storage",
5
5
  "main": "./out/src/index.mobile.js",
6
6
  "types": "./out/src/index.mobile.d.ts",
@@ -45,7 +45,7 @@ export declare class TaskCheckForProofs extends WalletMonitorTask {
45
45
  * @param reqs
46
46
  * @returns reqs partitioned by status
47
47
  */
48
- export declare function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], indent?: number, countsAsAttempt?: boolean, ignoreStatus?: boolean): Promise<{
48
+ export declare function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], indent: number | undefined, countsAsAttempt: boolean | undefined, ignoreStatus: boolean | undefined, maxAcceptableHeight: number): Promise<{
49
49
  proven: TableProvenTxReq[];
50
50
  invalid: TableProvenTxReq[];
51
51
  log: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckForProofs.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IAW9C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAmB;IAElC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuBjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,SAAI,EACV,eAAe,UAAQ,EACvB,YAAY,UAAQ,GACnB,OAAO,CAAC;IACT,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAC,CA6HD"}
1
+ {"version":3,"file":"TaskCheckForProofs.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IAW9C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAmB;IAElC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA4BjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,gBAAgB,EAAE,EACxB,MAAM,oBAAI,EACV,eAAe,qBAAQ,EACvB,YAAY,qBAAQ,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC;IACT,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAC,CAkID"}
@@ -33,9 +33,14 @@ class TaskCheckForProofs extends WalletMonitorTask_1.WalletMonitorTask {
33
33
  };
34
34
  }
35
35
  async runTask() {
36
+ var _a;
36
37
  let log = '';
37
38
  const countsAsAttempt = TaskCheckForProofs.checkNow;
38
39
  TaskCheckForProofs.checkNow = false;
40
+ const maxAcceptableHeight = (_a = this.monitor.lastNewHeader) === null || _a === void 0 ? void 0 : _a.height;
41
+ if (maxAcceptableHeight === undefined) {
42
+ return log;
43
+ }
39
44
  const limit = 100;
40
45
  let offset = 0;
41
46
  for (;;) {
@@ -47,7 +52,7 @@ class TaskCheckForProofs extends WalletMonitorTask_1.WalletMonitorTask {
47
52
  if (reqs.length === 0)
48
53
  break;
49
54
  log += `${reqs.length} reqs with status 'callback', 'unmined', 'sending', 'unknown', or 'unconfirmed'\n`;
50
- const r = await getProofs(this, reqs, 2, countsAsAttempt);
55
+ const r = await getProofs(this, reqs, 2, countsAsAttempt, false, maxAcceptableHeight);
51
56
  log += `${r.log}\n`;
52
57
  //console.log(log);
53
58
  if (reqs.length < limit)
@@ -79,7 +84,7 @@ TaskCheckForProofs.checkNow = false;
79
84
  * @param reqs
80
85
  * @returns reqs partitioned by status
81
86
  */
82
- async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignoreStatus = false) {
87
+ async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignoreStatus = false, maxAcceptableHeight) {
83
88
  const proven = [];
84
89
  const invalid = [];
85
90
  let log = '';
@@ -150,6 +155,11 @@ async function getProofs(task, reqs, indent = 0, countsAsAttempt = false, ignore
150
155
  // one more time.
151
156
  //
152
157
  r = await task.monitor.services.getMerklePath(req.txid);
158
+ if (r.header && r.header.height > maxAcceptableHeight) {
159
+ // Ignore proofs from bleeding edge of new blocks as these are the most often re-orged.
160
+ log += ` ignoring possible proof from very new block at height ${r.header.height} ${r.header.hash}\n`;
161
+ continue;
162
+ }
153
163
  ptx = await entities_1.EntityProvenTx.fromReq(req, r, countsAsAttempt && req.status !== 'nosend');
154
164
  if (ptx) {
155
165
  // We have a merklePath proof for the request (and a block header)
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckForProofs.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskCheckForProofs.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckForProofs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckNoSends.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IAW5C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAiB;IAEhC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuBjC"}
1
+ {"version":3,"file":"TaskCheckNoSends.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IAW5C,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAiB;IAEhC;;;OAGG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA6BjC"}
@@ -31,9 +31,14 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
31
31
  };
32
32
  }
33
33
  async runTask() {
34
+ var _a;
34
35
  let log = '';
35
36
  const countsAsAttempt = TaskCheckNoSends.checkNow;
36
37
  TaskCheckNoSends.checkNow = false;
38
+ const maxAcceptableHeight = (_a = this.monitor.lastNewHeader) === null || _a === void 0 ? void 0 : _a.height;
39
+ if (maxAcceptableHeight === undefined) {
40
+ return log;
41
+ }
37
42
  const limit = 100;
38
43
  let offset = 0;
39
44
  for (;;) {
@@ -45,7 +50,7 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
45
50
  if (reqs.length === 0)
46
51
  break;
47
52
  log += `${reqs.length} reqs with status 'nosend'\n`;
48
- const r = await (0, TaskCheckForProofs_1.getProofs)(this, reqs, 2, countsAsAttempt);
53
+ const r = await (0, TaskCheckForProofs_1.getProofs)(this, reqs, 2, countsAsAttempt, false, maxAcceptableHeight);
49
54
  log += `${r.log}\n`;
50
55
  //console.log(log);
51
56
  if (reqs.length < limit)
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAChD,2DAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IASrD,YACE,OAAgB,EACT,eAAe,OAAO,CAAC,MAAM,GAAG,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAFlC,iBAAY,GAAZ,YAAY,CAAqB;IAG1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,gBAAgB,CAAC,QAAQ;gBACzB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAClG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACjD,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAA;QAEjC,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC/C,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAC5B,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,8BAA8B,CAAA;YACnD,MAAM,CAAC,GAAG,MAAM,IAAA,8BAAS,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAA;YACzD,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;YACnB,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;gBAAE,MAAK;YAC9B,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAjDH,4CAkDC;AAjDQ,yBAAQ,GAAG,cAAc,CAAA;AAEhC;;;GAGG;AACI,yBAAQ,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAChD,2DAAuD;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IASrD,YACE,OAAgB,EACT,eAAe,OAAO,CAAC,MAAM,GAAG,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAFlC,iBAAY,GAAZ,YAAY,CAAqB;IAG1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,gBAAgB,CAAC,QAAQ;gBACzB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAClG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACjD,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAA;QAEjC,MAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,0CAAE,MAAM,CAAA;QAC9D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,GAAG,CAAA;QACZ,CAAC;QAGD,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC/C,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAC5B,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,8BAA8B,CAAA;YACnD,MAAM,CAAC,GAAG,MAAM,IAAA,8BAAS,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;YACrF,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;YACnB,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;gBAAE,MAAK;YAC9B,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAvDH,4CAwDC;AAvDQ,yBAAQ,GAAG,cAAc,CAAA;AAEhC;;;GAGG;AACI,yBAAQ,GAAG,KAAK,CAAA"}
@@ -1,10 +1,30 @@
1
1
  import { BlockHeader } from '../../services/chaintracker/chaintracks/Api/BlockHeaderApi';
2
2
  import { Monitor } from '../Monitor';
3
3
  import { WalletMonitorTask } from './WalletMonitorTask';
4
+ /**
5
+ * This task polls for new block headers performing two essential functions:
6
+ * 1. The arrival of a new block is the right time to check for proofs for recently broadcast transactions.
7
+ * 2. The height of the block is used to limit which proofs are accepted with the aim of avoiding re-orged proofs.
8
+ *
9
+ * The most common new block orphan is one which is almost immediately orphaned.
10
+ * Waiting a minute before pursuing proof requests avoids almost all the re-org work that could be done.
11
+ * Thus this task queues new headers for one cycle.
12
+ * If a new header arrives during that cycle, it replaces the queued header and delays again.
13
+ * Only when there is an elapsed cycle without a new header does proof solicitation get triggered,
14
+ * with that header height as the limit for which proofs are accepted.
15
+ */
4
16
  export declare class TaskNewHeader extends WalletMonitorTask {
5
17
  triggerMsecs: number;
6
18
  static taskName: string;
19
+ /**
20
+ * This is always the most recent chain tip header returned from the chaintracker.
21
+ */
7
22
  header?: BlockHeader;
23
+ /**
24
+ * Tracks the value of `header` except that it is set to undefined
25
+ * when a cycle without a new header occurs and `processNewBlockHeader` is called.
26
+ */
27
+ queuedHeader?: BlockHeader;
8
28
  constructor(monitor: Monitor, triggerMsecs?: number);
9
29
  getHeader(): Promise<BlockHeader>;
10
30
  trigger(nowMsecsSinceEpoch: number): {
@@ -1 +1 @@
1
- {"version":3,"file":"TaskNewHeader.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4DAA4D,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,aAAc,SAAQ,iBAAiB;IAMzC,YAAY;IALrB,MAAM,CAAC,QAAQ,SAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAA;gBAGlB,OAAO,EAAE,OAAO,EACT,YAAY,SAAwB;IAKvC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAIvC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAK/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAmBjC"}
1
+ {"version":3,"file":"TaskNewHeader.d.ts","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4DAA4D,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAczC,YAAY;IAbrB,MAAM,CAAC,QAAQ,SAAc;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAA;gBAGxB,OAAO,EAAE,OAAO,EACT,YAAY,SAAwB;IAKvC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAIvC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAK/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyBjC"}
@@ -2,6 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskNewHeader = void 0;
4
4
  const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ /**
6
+ * This task polls for new block headers performing two essential functions:
7
+ * 1. The arrival of a new block is the right time to check for proofs for recently broadcast transactions.
8
+ * 2. The height of the block is used to limit which proofs are accepted with the aim of avoiding re-orged proofs.
9
+ *
10
+ * The most common new block orphan is one which is almost immediately orphaned.
11
+ * Waiting a minute before pursuing proof requests avoids almost all the re-org work that could be done.
12
+ * Thus this task queues new headers for one cycle.
13
+ * If a new header arrives during that cycle, it replaces the queued header and delays again.
14
+ * Only when there is an elapsed cycle without a new header does proof solicitation get triggered,
15
+ * with that header height as the limit for which proofs are accepted.
16
+ */
5
17
  class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
6
18
  constructor(monitor, triggerMsecs = 1 * monitor.oneMinute) {
7
19
  super(monitor, TaskNewHeader.taskName);
@@ -33,8 +45,14 @@ class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
33
45
  else {
34
46
  isNew = false;
35
47
  }
36
- if (isNew)
37
- this.monitor.processNewBlockHeader(this.header);
48
+ if (isNew) {
49
+ this.queuedHeader = this.header;
50
+ }
51
+ else if (this.queuedHeader) {
52
+ // Only process new block header if it has remained the chain tip for a full cycle
53
+ this.monitor.processNewBlockHeader(this.queuedHeader);
54
+ this.queuedHeader = undefined;
55
+ }
38
56
  return log;
39
57
  }
40
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAEvD,MAAa,aAAc,SAAQ,qCAAiB;IAIlD,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAwB;IAG7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClD,GAAG,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAA;QACzE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzF,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QACD,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC;;AAtCH,sCAuCC;AAtCQ,sBAAQ,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAEvD;;;;;;;;;;;GAWG;AACH,MAAa,aAAc,SAAQ,qCAAiB;IAYlD,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAwB;IAG7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClD,GAAG,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAA;QACzE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzF,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,kFAAkF;YAClF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACrD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC/B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AApDH,sCAqDC;AApDQ,sBAAQ,GAAG,WAAW,CAAA"}
@@ -128,6 +128,16 @@ describe('Monitor tests', () => {
128
128
  for (const { activeStorage: storage, monitor } of ctxs) {
129
129
  if (!monitor)
130
130
  throw new index_client_1.sdk.WERR_INTERNAL('test requires setup with monitor');
131
+ monitor.lastNewHeader = {
132
+ height: 999999999,
133
+ hash: '',
134
+ time: 0,
135
+ version: 0,
136
+ previousHash: '',
137
+ merkleRoot: '',
138
+ bits: 0,
139
+ nonce: 0
140
+ };
131
141
  {
132
142
  for (const txid of expectedTxids) {
133
143
  // no matching ProvenTx exists.
@@ -1 +1 @@
1
- {"version":3,"file":"Monitor.test.js","sourceRoot":"","sources":["../../../test/monitor/Monitor.test.ts"],"names":[],"mappings":";;AAAA,kCAAqC;AACrC,yDAAuG;AACvG,mFAA+E;AAC/E,iEAA6D;AAC7D,yEAAqE;AACrE,iEAA6D;AAC7D,6EAAyE;AACzE,4EAAmF;AAEnF,+EAA2E;AAE3E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,MAAM,GAAG,GAAG,4BAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAuB,EAAE,CAAA;IAEnC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,CAAC,IAAI,CACP,MAAM,4BAAG,CAAC,4BAA4B,CAAC;YACrC,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SAC3B,CAAC,CACH,CAAA;QACD,oIAAoI;IACtI,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY;YAAE,OAAM;QAE7B,0EAA0E;QAC1E,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,oEAAoE;gBACpE,0EAA0E;gBAC1E,2CAA2C;gBAC3C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,OAAO,CAAC,CAAA;gBACnC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBAClC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;gBAC9C,MAAM,IAAA,mBAAI,EAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;gBACjC,OAAO,CAAC,SAAS,EAAE,CAAA;gBACnB,MAAM,OAAO,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,SAAS,CAAA;gBAC5D,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjD,MAAM,iBAAiB,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,IAAI,CAAC,GAAG,CAAC,YAAY;YAAE,OAAM;QAE7B,kEAAkE;QAClE,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,oGAAoG;gBACpG,mGAAmG;gBACnG,MAAM,IAAI,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAA;gBACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,MAAM,CAAC,uCAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;gBAC9C,MAAM,IAAA,mBAAI,EAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;gBAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAA;gBAChC,MAAM,CAAC,uCAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9C,OAAO,CAAC,SAAS,EAAE,CAAA;gBACnB,MAAM,iBAAiB,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAClC;;;;;;;cAOM;QAEN,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,OAAO,EAAE;oBAClC,cAAc,EAAE,IAAI;oBACpB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,iBAAiB,EAAE,CAAC;oBACpB,cAAc,EAAE,CAAC;oBACjB,aAAa,EAAE,CAAC;iBACjB,CAAC,CAAA;gBACF,qBAAS,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,4BAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC,CAAA;QACjE,IAAI,WAAW,GAAa,EAAE,CAAA;QAC9B,IAAI,eAAe,GAAG,CAAC,CAAA;QAEvB,MAAM,aAAa,GAAG;YACpB,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;SACnE,CAAA;QAED,4BAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACtD,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,CAAC,GAAG,wBAAwB,CAAC,eAAe,EAAE,CAAC,CAAA;YACrD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,+BAA+B;oBAC/B,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC3E,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC,MAAM,gCAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;oBAChF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACpC,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,uCAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAC/C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEzB,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAEvC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC5E,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAA;oBACtC,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC,MAAM,gCAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;oBAChF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBACpC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,4BAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC,CAAA;QACjE,IAAI,WAAW,GAAa,EAAE,CAAA;QAC9B,IAAI,eAAe,GAAG,CAAC,CAAA;QAEvB,MAAM,aAAa,GAAG;YACpB,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;SACnE,CAAA;QAED,4BAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACtD,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,MAAM,QAAQ,GAAa,EAAE,CAAA;gBAE7B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,+BAA+B;oBAC/B,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC3E,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC,MAAM,gCAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;oBAChF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC7B,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,uCAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAC/C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEzB,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAEvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACV,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,CAAC,EAAE,CAAA;oBACH,+BAA+B;oBAC/B,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC3E,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC,MAAM,gCAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;oBAChF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAA8B;QAC1D;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,gBAAU,CAAC,OAAO,EAAE;gBAClC;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;oBACD;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;wBACxE,IAAI,EAAE,IAAI;qBACX;iBACF;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;aACF,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,kEAAkE;gBAChF,UAAU,EAAE,kEAAkE;gBAC9E,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,kEAAkE;aACzE;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,gBAAU,CAAC,OAAO,EAAE;gBAClC;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;wBACxE,IAAI,EAAE,IAAI;qBACX;oBACD,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC/B;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;aACF,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,kEAAkE;gBAChF,UAAU,EAAE,kEAAkE;gBAC9E,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,kEAAkE;aACzE;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,gBAAU,CAAC,OAAO,EAAE;gBAClC;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;oBACD;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;wBACxE,IAAI,EAAE,IAAI;qBACX;iBACF;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;aACF,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,kEAAkE;gBAChF,UAAU,EAAE,kEAAkE;gBAC9E,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,kEAAkE;aACzE;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,gBAAU,CAAC,OAAO,EAAE;gBAClC;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;wBACxE,IAAI,EAAE,IAAI;qBACX;oBACD,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC/B;gBACD;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;iBACF;aACF,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,kEAAkE;gBAChF,UAAU,EAAE,kEAAkE;gBAC9E,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,kEAAkE;aACzE;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,gBAAU,CAAC,OAAO,EAAE;gBAClC;oBACE;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;qBACzE;oBACD;wBACE,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,kEAAkE;wBACxE,IAAI,EAAE,IAAI;qBACX;iBACF;aACF,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,kEAAkE;gBAChF,UAAU,EAAE,kEAAkE;gBAC9E,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,kEAAkE;aACzE;SACF;KACF,CAAA;IAED,KAAK,UAAU,oBAAoB,CAAC,kBAAkB,EAAE,QAAgB;QACtE,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,4BAAG,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC3D,IAAI,WAAW,GAAa,EAAE,CAAA;QAC9B,4BAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnD,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YAC1B,OAAO,kBAAyC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAA;YAE7E,CAAC;gBACC,MAAM,IAAI,GAAG,IAAI,iCAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC/C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,WAAW,GAAG,EAAE,CAAA;gBAChB,MAAM,aAAa,GAAG;oBACpB,kEAAkE;oBAClE,kEAAkE;oBAClE,kEAAkE;oBAClE,kEAAkE;oBAClE,kEAAkE;iBACnE,CAAA;gBACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAA,wBAAS,EAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC5E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACjC,MAAM,SAAS,GAAG,IAAI,gCAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;oBACxE,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC;wBACtC,MAAM,EAAE,GAAG,IAAA,2BAAY,EAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAA;wBACzE,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;oBACnE,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAEpC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAC1C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAA,wBAAS,EAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC5E,IAAI,GAAG,CAAC,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,gCAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAA;oBACzE,MAAM,SAAS,GAAG,IAAI,gCAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;oBACxE,QAAQ,kBAAkB,EAAE,CAAC;wBAC3B,KAAK,SAAS;4BACZ,CAAC;gCACC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gCAClC,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC;oCACtC,MAAM,EAAE,GAAG,IAAA,2BAAY,EAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAA;oCACzE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;gCAC3C,CAAC;4BACH,CAAC;4BACD,MAAK;wBACP,KAAK,OAAO,CAAC,CAAC,CAAC;4BACb,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,4BAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC,CAAA;QACjE,kEAAkE;QAElE,KAAK,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;gBAC1C,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;aAC/B,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;gBAClE,MAAM,EAAE,SAAS;aAClB,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE;gBAC/C,UAAU,EAAE,SAAS;aACtB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,mCAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;YACvD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YACjD,kBAAkB;QACpB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Monitor.test.js","sourceRoot":"","sources":["../../../test/monitor/Monitor.test.ts"],"names":[],"mappings":"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"}