@valve-tech/tx-tracker 0.12.0 → 0.14.0

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,138 @@ this file.
6
6
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7
7
  and this project adheres to [Semantic Versioning](https://semver.org/).
8
8
 
9
+ ## [0.14.0] — 2026-05-14
10
+
11
+ ### Added
12
+
13
+ - **`CreateTxTrackerOptions.statusPollEveryBlocks`** — default `1`
14
+ (every block tick). Controls cadence for a new default-on per-hash
15
+ status poll via `source.getTransaction(hash)`
16
+ (`eth_getTransactionByHash`). Set `0` to disable. `2`/`3`/etc. for
17
+ less-frequent cadences on consumers tracking many hashes.
18
+ Returns are treated as authoritative for the tx's current state:
19
+ pending (no `blockHash`) emits `seen-in-mempool`; mined (with
20
+ `blockHash`) emits `seen-in-block`. Both flow through the existing
21
+ event pipeline with `source: 'receipt-poll'` (see chain-source
22
+ v0.14.0 EventSource doc widening). The path is NOT permitted to
23
+ drive reorg / vanished-from-block events (spec §12.3) — divergence
24
+ detection stays anchored on the source's block stream.
25
+ - **`TrackOptions.probeTransaction`** — per-subscription consumer
26
+ fallback called only when `source.getTransaction` returns null.
27
+ Use to consult a different RPC, multi-RPC fan-out, an indexer with
28
+ mempool support, or a commercial mempool service. First-set wins
29
+ across subscribes (mirrors `lostSignalPolicy` / `probeMined`).
30
+ - `ProbeTransaction` type exported from the package root. Function
31
+ shape `(hash: Hash) => Promise<RawTx | null>`. RawTx is the existing
32
+ chain-source primitive — consumers don't need to construct a
33
+ custom shape; whatever they get back from
34
+ `eth_getTransactionByHash` drops in directly.
35
+
36
+ ### Notes
37
+
38
+ - Motivation: `txpool_content` is gated on many public RPC gateways
39
+ (PulseChain et al), and even when available it only reflects the
40
+ polled node's local mempool — partial-visibility failures look
41
+ identical to "the tx was dropped" from the tracker's perspective.
42
+ `eth_getTransactionByHash` is universally exposed and queries the
43
+ node's indexed-tx store, so it sees txs the node has seen
44
+ referenced even if they're not currently in the local pool. Per-hash
45
+ polling is also dramatically lighter than full `txpool_content`
46
+ snapshots — one tx record vs the entire pending pool. Both
47
+ properties make per-hash status the right primitive for "is this
48
+ tx alive?" on consumer-grade RPCs.
49
+ - **Load-bearing side effect: identity priming.** The status-poll
50
+ caches `(from, nonce)` on the first pending observation. This
51
+ unblocks replacement detection for txs that were never visible in
52
+ any local mempool snapshot — `replaced-by` previously couldn't
53
+ fire because the original's identity was never cached. Critical
54
+ for chains where partial mempool visibility is the norm.
55
+ - The status-poll path is idempotent within a streak: one
56
+ `seen-in-mempool` emit per pending streak (tracked via internal
57
+ `statusPollLastEmittedKind` flag). On a pending→mined transition
58
+ the dedup flag resets, so a later pending streak (rare — e.g.
59
+ post-replacement) would re-emit cleanly.
60
+ - Cross-path duplicate handling: if `txpool_content` snapshots ARE
61
+ available AND status-poll is also running, both paths can emit
62
+ `seen-in-mempool` for the same observation. Both are truthful;
63
+ consumers wanting unique delivery dedupe on `(kind, hash)` at the
64
+ edge.
65
+ - Errors on `source.getTransaction` route through `onError` but the
66
+ dispatch falls through to `probeTransaction` if one is attached —
67
+ a transiently-failing source doesn't block the consumer's fallback.
68
+ Probe errors route through `onError` and short-circuit.
69
+ - Cost characterization: with default `statusPollEveryBlocks: 1` and
70
+ a consumer tracking N hashes, the additional RPC load is N calls
71
+ per block tick. Consumers tracking >100 hashes may want
72
+ `statusPollEveryBlocks: 2` or higher; consumers on rate-limited
73
+ RPCs may want `0` (opt out entirely).
74
+ - Closures aren't serialized — durable records rehydrated from the
75
+ store start with `probeTransaction: null` until a fresh subscribe
76
+ re-binds one. Same precedent as `probeMined` and predicate
77
+ selectors (spec §13.2).
78
+ - 18 new `tracker.test.ts` cases pin the path's contract: happy
79
+ emit (mined + pending), null no-op, source-throw falls through to
80
+ probe, probe-throw routes via onError, probe-throw-no-onError
81
+ swallowed, pending idempotency, pending→mined transition resets
82
+ dedup, height-ordering block-poll-wins, identity-check rejects
83
+ orphaned mid-await emits, bad blockNumber routes via onError,
84
+ probeTransaction first-set-wins, `statusPollEveryBlocks: 0`
85
+ disables, `statusPollEveryBlocks: 3` skips ticks, defensive
86
+ identity caching when tx lacks from/nonce, identity priming
87
+ unblocks `replaced-by` for previously-invisible originals.
88
+
89
+ ## [0.13.0] — 2026-05-12
90
+
91
+ ### Added
92
+
93
+ - **`TrackOptions.probeMined`** — per-subscription consumer-supplied
94
+ mined-detection probe. Generalizes the lesson behind
95
+ `receipt-poll-fallback`: any signal that can answer
96
+ "is hash X included, and if so where?" can feed observations into
97
+ the tracker's event pipeline. The probe runs every block tick for
98
+ every record that has one attached; whichever path reports
99
+ inclusion first wins via the existing height-ordering rule on
100
+ `lastSeenInBlock.blockNumber`. Probe-derived observations emit
101
+ `seen-in-block` with `source: 'receipt-poll'` (the chain-source
102
+ v0.13.0 doc widening covers the discriminator's new meaning).
103
+ First-set-wins across multiple subscribes on the same hash
104
+ (mirrors `lostSignalPolicy`). The probe is NOT permitted to drive
105
+ reorg / vanished-from-block events (spec §12.3) — divergence
106
+ detection stays anchored on the source's block stream where
107
+ parent-hash chains are authoritative. No capability gate (the
108
+ consumer's probe IS the authority); no tick counter (debounce
109
+ internally if needed).
110
+ - `ProbeMined` and `ProbeMinedResult` types exported from the
111
+ package root. Minimal return shape `{ blockHash, blockNumber }` —
112
+ `transactionIndex` is hardcoded to `0` and `confirmations` to `1`
113
+ on emit (the tracker's authoritative tip is what computes the
114
+ confirmations count on subsequent blocks; letting the probe
115
+ supply it would either duplicate the tracker's math or contradict
116
+ it).
117
+
118
+ ### Notes
119
+
120
+ - Use case: consumers with a server-side block indexer (Ponder,
121
+ Subsquid, custom Postgres) that observes inclusion before the
122
+ client's RPC block-poll tick. Pre-v0.13, the parallel-poll
123
+ workaround ran a separate state machine outside the tracker and
124
+ bypassed reorg, retention, replacement, and identity-race
125
+ handling for the indexer's faster mined signal. The probe folds
126
+ that signal into the tracker's pipeline so all those properties
127
+ carry over automatically.
128
+ - Closures are not serialized — durable records rehydrated from the
129
+ store on `tracker.start()` start with no probe attached until a
130
+ fresh `subscribe(hash, cb, { probeMined })` re-binds one. Same
131
+ precedent as predicate selectors (spec §13.2).
132
+ - 11 new `tracker.test.ts` cases pin the probe path's contract:
133
+ happy emit + status mirror, returning null, throw routes through
134
+ `onError`, throw with no `onError` is swallowed, block-poll wins
135
+ height-ordering race, probe wins on strictly-newer block,
136
+ first-set-wins across subscribes, default `null` probe early-
137
+ returns the dispatch, identity check rejects mid-await orphaned
138
+ emits, probe runs every block (no tick counter / no capability
139
+ gate), reorg invalidates probe-reported inclusion.
140
+
9
141
  ## [0.12.0] — 2026-05-11
10
142
 
11
143
  ### Notes
package/dist/tracker.d.ts CHANGED
@@ -53,6 +53,61 @@ export type LostSignalPolicy = 'emit-uncertain' | 'silent' | {
53
53
  strategy: 'receipt-poll-fallback';
54
54
  pollEveryBlocks: number;
55
55
  };
56
+ /**
57
+ * Probe return shape. The tracker emits `seen-in-block` with
58
+ * `transactionIndex: 0` and `confirmations: 1`; the consumer's authoritative
59
+ * tip is the tracker's, so confirmations are derived, not supplied.
60
+ */
61
+ export type ProbeMinedResult = {
62
+ blockHash: string;
63
+ blockNumber: bigint;
64
+ };
65
+ /**
66
+ * Consumer-supplied fallback for per-hash status (`eth_getTransactionByHash`).
67
+ * Attached per-subscription via {@link TrackOptions.probeTransaction}. The
68
+ * tracker calls `source.getTransaction(hash)` first on each status-poll tick;
69
+ * if that returns null AND this probe is attached, the tracker calls the probe
70
+ * as a fallback. Use to consult a different RPC, multi-RPC fan-out, an indexer
71
+ * with mempool support, or a commercial mempool service.
72
+ *
73
+ * Return value semantics mirror `eth_getTransactionByHash`:
74
+ *
75
+ * - `null` → tx unknown to your fallback source.
76
+ * - `{ blockHash: null/undefined, from, nonce, ... }` → pending. Tracker
77
+ * caches identity (for replacement detection) and emits `seen-in-mempool`
78
+ * with `source: 'receipt-poll'` on the first pending-state observation
79
+ * it makes via this path.
80
+ * - `{ blockHash: '0x…', ... }` → mined. Tracker emits `seen-in-block`
81
+ * with `source: 'receipt-poll'`, subject to the height-ordering rule.
82
+ *
83
+ * The probe is NOT permitted to drive reorg / vanished-from-block events
84
+ * (spec §12.3) — divergence detection stays anchored on the source's block
85
+ * stream where parent-hash chains are authoritative.
86
+ *
87
+ * First-set wins across multiple subscribes on the same hash (mirrors
88
+ * `lostSignalPolicy` / `probeMined`).
89
+ */
90
+ export type ProbeTransaction = (hash: Hash) => Promise<RawTx | null>;
91
+ /**
92
+ * Consumer-supplied mined-detection probe. Attached per-subscription via
93
+ * {@link TrackOptions.probeMined}. The tracker dispatches it for the tracked
94
+ * hash on every block tick, in addition to its own block-poll inclusion check.
95
+ *
96
+ * - Return `null` when the probe can't confirm inclusion. Probe throws are
97
+ * routed through `onError` and treated as null.
98
+ * - Whichever path — block-poll or probe — reports a strictly newer
99
+ * inclusion wins; the existing height-ordering rule prevents the
100
+ * lower-authority arrival from clobbering the higher.
101
+ *
102
+ * The probe is NOT permitted to drive reorg / vanished-from-block events
103
+ * (spec §12.3) — divergence detection stays anchored on the source's block
104
+ * stream where the parent-hash chain is authoritative.
105
+ *
106
+ * Probe-derived observations emit `seen-in-block` with
107
+ * `source: 'receipt-poll'` (widened to mean "any per-hash mined check that
108
+ * isn't the source's own block-poll"; see chain-source `EventSource` docs).
109
+ */
110
+ export type ProbeMined = (hash: Hash) => Promise<ProbeMinedResult | null>;
56
111
  /**
57
112
  * Per-subscription overrides on top of the tracker defaults. See
58
113
  * spec §5.4.
@@ -87,6 +142,22 @@ export interface TrackOptions {
87
142
  * is absent and a one-shot warning surfaces via onError.
88
143
  */
89
144
  withReceipts?: boolean;
145
+ /**
146
+ * Consumer-supplied mined-detection probe. See {@link ProbeMined}.
147
+ * First-set wins across subscriptions on the same hash — once attached,
148
+ * subsequent subscribes on the same hash with a different probe are
149
+ * ignored (mirrors the {@link TrackOptions.lostSignalPolicy} contract).
150
+ */
151
+ probeMined?: ProbeMined;
152
+ /**
153
+ * Consumer-supplied fallback for `eth_getTransactionByHash`-style status
154
+ * checks. See {@link ProbeTransaction}. Called only when the source's
155
+ * default `getTransaction(hash)` returns null — for cases where the
156
+ * consumer has broader visibility (different RPC, multi-RPC fan-out,
157
+ * indexer with mempool support, commercial mempool service). First-set
158
+ * wins across subscriptions on the same hash.
159
+ */
160
+ probeTransaction?: ProbeTransaction;
90
161
  }
91
162
  /** Bulk subscription options — extends per-hash `TrackOptions`. */
92
163
  export interface BulkTrackOptions extends TrackOptions {
@@ -152,6 +223,25 @@ export interface CreateTxTrackerOptions {
152
223
  retentionBlocks?: number;
153
224
  onError?: (method: string, err: unknown) => void;
154
225
  lifecycle?: 'eager' | 'lazy';
226
+ /**
227
+ * Cadence for per-hash status polling via
228
+ * `source.getTransaction(hash)` (`eth_getTransactionByHash`). Runs once
229
+ * per block tick for every tracked record by default — `1` polls every
230
+ * block; `2` every other block; `0` disables the path entirely. The
231
+ * status-poll path is the consumer-friendly default for chains where
232
+ * `txpool_content` is gated or where mempool gossip is unreliable
233
+ * (PulseChain et al): `eth_getTransactionByHash` is universally exposed
234
+ * and queries the node's indexed-tx store, so it sees txs that aren't
235
+ * currently in the local pool but the node has seen referenced.
236
+ *
237
+ * Cost: one `eth_getTransactionByHash` RPC per tracked record per
238
+ * matching tick. Override per-subscription via
239
+ * {@link TrackOptions.probeTransaction} when the consumer has a
240
+ * better-visibility per-hash check than the default RPC method.
241
+ *
242
+ * Default `1`. Set `0` to disable (existing behavior pre-v0.14).
243
+ */
244
+ statusPollEveryBlocks?: number;
155
245
  }
156
246
  /**
157
247
  * Options for a group subscription. All fields are optional — the group
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
package/dist/tracker.js CHANGED
@@ -37,7 +37,7 @@
37
37
  */
38
38
  import { Subscriptions } from '@valve-tech/chain-source';
39
39
  import { createTxGroup } from './group.js';
40
- import { buildSeenInBlock, buildSignalDegraded, buildSignalRecovered, buildStarted, buildStopped, buildVanishedFromBlock, buildInitialStatus, } from './events.js';
40
+ import { buildSeenInBlock, buildSeenInMempool, buildSignalDegraded, buildSignalRecovered, buildStarted, buildStopped, buildVanishedFromBlock, buildInitialStatus, } from './events.js';
41
41
  import { decideBlockObservation, decideMempoolObservation, } from './observations.js';
42
42
  import { appendBlock, defaultReorgDepthBlocks, detectDivergences, } from './reorg.js';
43
43
  import { compileSelector, defaultMaxBulkSubscriptions, findBulkSubBySelector, matchAll, } from './selectors.js';
@@ -117,7 +117,7 @@ const mempoolEventSource = (caps) => caps.newPendingTransactions === 'subscripti
117
117
  * }
118
118
  */
119
119
  export const createTxTracker = (options) => {
120
- const { source, chainId, store = createInMemoryStore(), lostSignalPolicy: defaultLostSignalPolicy = 'emit-uncertain', reorgDepthBlocks = defaultReorgDepthBlocks, unseenThresholdBlocks = DEFAULT_UNSEEN_THRESHOLD_BLOCKS, maxBulkSubscriptions = defaultMaxBulkSubscriptions, retentionBlocks = defaultRetentionBlocks, onError, lifecycle = 'eager', } = options;
120
+ const { source, chainId, store = createInMemoryStore(), lostSignalPolicy: defaultLostSignalPolicy = 'emit-uncertain', reorgDepthBlocks = defaultReorgDepthBlocks, unseenThresholdBlocks = DEFAULT_UNSEEN_THRESHOLD_BLOCKS, maxBulkSubscriptions = defaultMaxBulkSubscriptions, retentionBlocks = defaultRetentionBlocks, onError, lifecycle = 'eager', statusPollEveryBlocks = 1, } = options;
121
121
  const tracked = new Map();
122
122
  const bulkSubs = new Map();
123
123
  const globalSubs = new Subscriptions();
@@ -214,6 +214,10 @@ export const createTxTracker = (options) => {
214
214
  hasDurableSub: false,
215
215
  persisted: [],
216
216
  withReceipts: false,
217
+ probeMined: null,
218
+ probeTransaction: null,
219
+ statusPollLastEmittedKind: null,
220
+ statusPollTicksSince: 0,
217
221
  };
218
222
  tracked.set(hash, record);
219
223
  return record;
@@ -336,6 +340,253 @@ export const createTxTracker = (options) => {
336
340
  };
337
341
  };
338
342
  // -------------------------------------------------------------
343
+ // Consumer-supplied mined probe (TrackOptions.probeMined)
344
+ // -------------------------------------------------------------
345
+ /**
346
+ * Per-record mined probe. Mirrors the merge contract of
347
+ * `runReceiptPollFallback` (height-ordering rule, identity check,
348
+ * emit through the same `seen-in-block` pipeline) but differs in
349
+ * three structural ways:
350
+ *
351
+ * - No capability gate — the consumer's probe IS the authority.
352
+ * - No tick counter — the probe runs every block; consumers
353
+ * debounce internally if needed.
354
+ * - First-set-wins per record, so the probe is bound to the
355
+ * record on the first attaching subscription.
356
+ *
357
+ * The probe is NOT permitted to drive reorg / vanished-from-block
358
+ * events (spec §12.3). A positive return is treated as a
359
+ * `seen-in-block` candidate; divergence detection stays on the
360
+ * source's block stream where the parent-hash chain is authoritative.
361
+ */
362
+ const runMinedProbe = async (record, tipBlockNumber) => {
363
+ const probe = record.probeMined;
364
+ if (!probe)
365
+ return;
366
+ let result = null;
367
+ try {
368
+ result = await probe(record.hash);
369
+ }
370
+ catch (err) {
371
+ onError?.('tx-tracker.probeMined', err);
372
+ return;
373
+ }
374
+ if (!result)
375
+ return;
376
+ // Height-ordering rule (same shape as runReceiptPollFallback line ~670):
377
+ // only update when the probe carries a block strictly newer than what
378
+ // we've already recorded from any path.
379
+ const existingBlock = record.status.lastSeenInBlock;
380
+ if (existingBlock && existingBlock.blockNumber >= result.blockNumber) {
381
+ return;
382
+ }
383
+ // Identity check: record was unsubscribed (and possibly re-subscribed)
384
+ // while the probe was in flight. Bail rather than emit on an orphaned
385
+ // record — emitting via the old closure would fire a phantom event on
386
+ // globalSubs that the new per-hash subscribers never see.
387
+ if (tracked.get(record.hash) !== record)
388
+ return;
389
+ emit(record, buildSeenInBlock({
390
+ hash: record.hash,
391
+ chainId,
392
+ source: 'receipt-poll',
393
+ at: { blockNumber: tipBlockNumber, timestamp: latestTipTimestamp },
394
+ blockHash: result.blockHash,
395
+ blockNumber: result.blockNumber,
396
+ transactionIndex: 0,
397
+ confirmations: 1,
398
+ }));
399
+ // Mirror state-machine bookkeeping so getTxStatus reflects inclusion.
400
+ // lastObservedAtBlock advances with the tip (not the probe's inclusion
401
+ // block) so the retention window expiry tracks chain time, matching
402
+ // runReceiptPollFallback semantics.
403
+ record.status = {
404
+ ...record.status,
405
+ lastSeenInBlock: {
406
+ blockHash: result.blockHash,
407
+ blockNumber: result.blockNumber,
408
+ transactionIndex: 0,
409
+ confirmations: 1,
410
+ source: 'receipt-poll',
411
+ },
412
+ lastObservedAtBlock: tipBlockNumber,
413
+ };
414
+ };
415
+ // -------------------------------------------------------------
416
+ // Per-hash status poll (CreateTxTrackerOptions.statusPollEveryBlocks)
417
+ // -------------------------------------------------------------
418
+ /**
419
+ * Default-on per-hash status check via `eth_getTransactionByHash`.
420
+ *
421
+ * Motivation: `txpool_content` is gated on many public RPC gateways
422
+ * (PulseChain et al), and even when available it only shows the
423
+ * polled node's local mempool — partial-visibility failures look
424
+ * identical to "the tx was dropped" from the tracker's perspective.
425
+ * `eth_getTransactionByHash` is universally exposed and queries the
426
+ * node's indexed-tx store, so it sees txs the node has seen referenced
427
+ * even if they're not currently in the local pool. Per-hash polling
428
+ * is also dramatically cheaper than full `txpool_content` snapshots —
429
+ * one tx record vs the entire pending pool.
430
+ *
431
+ * Cadence is controlled by `statusPollEveryBlocks` (default 1, every
432
+ * block; 0 disables). The dispatcher uses the default
433
+ * `source.getTransaction(hash)`; consumers with broader-visibility
434
+ * sources (multi-RPC, indexer with mempool support, commercial mempool
435
+ * service) supply a fallback via `TrackOptions.probeTransaction` that
436
+ * runs only when the default returns null.
437
+ *
438
+ * Emission semantics:
439
+ *
440
+ * - `null` return (from both default and probe) → no-op.
441
+ * - `blockHash` is null/undefined → pending. Cache identity for
442
+ * replacement detection; emit `seen-in-mempool` with
443
+ * `source: 'receipt-poll'` on the first pending observation of
444
+ * this streak (idempotent via `statusPollLastEmittedKind`).
445
+ * - `blockHash` is set → mined. Emit `seen-in-block` with
446
+ * `source: 'receipt-poll'`, subject to the height-ordering rule
447
+ * (mirror runReceiptPollFallback / runMinedProbe).
448
+ *
449
+ * The path is NOT permitted to drive reorg / vanished-from-block
450
+ * events (spec §12.3). On a same-hash pending→mined transition the
451
+ * tracker fires the mined emit and resets the pending dedup flag.
452
+ *
453
+ * Note on potential duplicate emits: if `txpool_content` snapshots
454
+ * ARE available AND the consumer is also polling status, both paths
455
+ * can fire `seen-in-mempool` for the same observation. Both are
456
+ * truthful — different observation sources reporting the same fact —
457
+ * and consumers wanting unique-only delivery should dedupe on
458
+ * `(kind, hash)` at their edge. This is preferable to entangling the
459
+ * two paths' state machines.
460
+ */
461
+ const runStatusPoll = async (record, tipBlockNumber) => {
462
+ if (statusPollEveryBlocks <= 0)
463
+ return;
464
+ // Tick counter — only fetch every `statusPollEveryBlocks` ticks.
465
+ const ticksSince = record.statusPollTicksSince + 1;
466
+ if (ticksSince < statusPollEveryBlocks) {
467
+ record.statusPollTicksSince = ticksSince;
468
+ return;
469
+ }
470
+ record.statusPollTicksSince = 0;
471
+ let tx = null;
472
+ try {
473
+ tx = await source.getTransaction(record.hash);
474
+ }
475
+ catch (err) {
476
+ onError?.('tx-tracker.getTransaction', err);
477
+ // Fall through to probe — the source may be down but the
478
+ // consumer's fallback might still answer.
479
+ }
480
+ if (!tx && record.probeTransaction) {
481
+ try {
482
+ tx = await record.probeTransaction(record.hash);
483
+ }
484
+ catch (err) {
485
+ onError?.('tx-tracker.probeTransaction', err);
486
+ return;
487
+ }
488
+ }
489
+ if (!tx)
490
+ return;
491
+ // Identity check (mirror runReceiptPollFallback / runMinedProbe):
492
+ // bail if the record was unsubscribed and possibly re-subscribed
493
+ // while the status poll was in-flight.
494
+ if (tracked.get(record.hash) !== record)
495
+ return;
496
+ // Mined path: blockHash present and non-empty. The viem-style
497
+ // shape uses `'0x...'` truthy when mined; pending txs have it
498
+ // absent or null. We treat any non-empty string as mined.
499
+ const blockHashRaw = 'blockHash' in tx && typeof tx.blockHash === 'string' && tx.blockHash !== ''
500
+ ? tx.blockHash
501
+ : null;
502
+ const blockNumberRaw = 'blockNumber' in tx && typeof tx.blockNumber === 'string'
503
+ ? tx.blockNumber
504
+ : null;
505
+ if (blockHashRaw !== null && blockNumberRaw !== null) {
506
+ let blockNumber;
507
+ try {
508
+ blockNumber = BigInt(blockNumberRaw);
509
+ }
510
+ catch {
511
+ onError?.('tx-tracker.statusPoll', new Error(`bad blockNumber from getTransaction: ${blockNumberRaw}`));
512
+ return;
513
+ }
514
+ // Height-ordering rule: only update when the returned block is
515
+ // strictly newer than what we've already recorded.
516
+ const existingBlock = record.status.lastSeenInBlock;
517
+ if (existingBlock && existingBlock.blockNumber >= blockNumber) {
518
+ return;
519
+ }
520
+ // Cache identity if not already set (cheap; the source's response
521
+ // carries from/nonce on a mined tx).
522
+ const identityPatch = record.identity === null && tx.from && tx.nonce
523
+ ? { from: tx.from, nonce: tx.nonce }
524
+ : null;
525
+ if (identityPatch)
526
+ record.identity = identityPatch;
527
+ emit(record, buildSeenInBlock({
528
+ hash: record.hash,
529
+ chainId,
530
+ source: 'receipt-poll',
531
+ at: { blockNumber: tipBlockNumber, timestamp: latestTipTimestamp },
532
+ blockHash: blockHashRaw,
533
+ blockNumber,
534
+ transactionIndex: 0,
535
+ confirmations: 1,
536
+ }));
537
+ record.status = {
538
+ ...record.status,
539
+ lastSeenInBlock: {
540
+ blockHash: blockHashRaw,
541
+ blockNumber,
542
+ transactionIndex: 0,
543
+ confirmations: 1,
544
+ source: 'receipt-poll',
545
+ },
546
+ lastObservedAtBlock: tipBlockNumber,
547
+ };
548
+ record.statusPollLastEmittedKind = 'mined';
549
+ return;
550
+ }
551
+ // Pending path: idempotent — emit only on the first pending
552
+ // observation of the current streak. A subsequent mined transition
553
+ // resets the dedup flag so the next pending streak (rare, e.g.
554
+ // post-replacement) re-emits cleanly.
555
+ if (record.statusPollLastEmittedKind === 'pending')
556
+ return;
557
+ // Cache identity early — this is the load-bearing effect on
558
+ // chains with partial mempool visibility, because it unblocks
559
+ // replacement detection even when the txpool_content snapshot
560
+ // never sees the original.
561
+ if (record.identity === null && tx.from && tx.nonce) {
562
+ record.identity = { from: tx.from, nonce: tx.nonce };
563
+ }
564
+ const envelope = {
565
+ blockNumber: tipBlockNumber,
566
+ timestamp: latestTipTimestamp,
567
+ };
568
+ emit(record, buildSeenInMempool({
569
+ hash: record.hash,
570
+ chainId,
571
+ source: 'receipt-poll',
572
+ at: envelope,
573
+ bucket: 'pending',
574
+ tx,
575
+ }));
576
+ record.status = {
577
+ ...record.status,
578
+ lastSeenInMempool: {
579
+ bucket: 'pending',
580
+ tx,
581
+ at: envelope,
582
+ source: 'receipt-poll',
583
+ },
584
+ firstObservedAtBlock: record.status.firstObservedAtBlock ?? tipBlockNumber,
585
+ lastObservedAtBlock: tipBlockNumber,
586
+ };
587
+ record.statusPollLastEmittedKind = 'pending';
588
+ };
589
+ // -------------------------------------------------------------
339
590
  // Block path — runs on every source block emit
340
591
  // -------------------------------------------------------------
341
592
  const onBlock = async (block) => {
@@ -523,6 +774,8 @@ export const createTxTracker = (options) => {
523
774
  // `latestTip` is always set to `newTip` above before this loop runs.
524
775
  for (const record of tracked.values()) {
525
776
  void runReceiptPollFallback(record, latestTip.number);
777
+ void runMinedProbe(record, latestTip.number);
778
+ void runStatusPoll(record, latestTip.number);
526
779
  }
527
780
  };
528
781
  /**
@@ -786,6 +1039,12 @@ export const createTxTracker = (options) => {
786
1039
  if (opts.lostSignalPolicy && record.lostSignalPolicy === null) {
787
1040
  record.lostSignalPolicy = opts.lostSignalPolicy;
788
1041
  }
1042
+ if (opts.probeMined && record.probeMined === null) {
1043
+ record.probeMined = opts.probeMined;
1044
+ }
1045
+ if (opts.probeTransaction && record.probeTransaction === null) {
1046
+ record.probeTransaction = opts.probeTransaction;
1047
+ }
789
1048
  if (opts.withReceipts === true) {
790
1049
  record.withReceipts = true;
791
1050
  }
@@ -1024,6 +1283,13 @@ export const createTxTracker = (options) => {
1024
1283
  hasDurableSub: true,
1025
1284
  persisted: persisted.subscriptions,
1026
1285
  withReceipts: false,
1286
+ // Probes are closures and not serializable; durable records
1287
+ // get no probe until a fresh subscribe attaches one. See spec
1288
+ // §13.2 (predicate selectors are non-durable for the same reason).
1289
+ probeMined: null,
1290
+ probeTransaction: null,
1291
+ statusPollLastEmittedKind: null,
1292
+ statusPollTicksSince: 0,
1027
1293
  };
1028
1294
  tracked.set(persisted.hash, record);
1029
1295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valve-tech/tx-tracker",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Per-tx state machine for EVM chains: emits neutral observations (`seen-in-mempool`, `seen-in-block`, `replaced-by`, `vanished-from-block`, `unseen-for-N-blocks`, etc.) so wallet UIs, indexers, and relays can write their own interpretations on top. Three consumption shapes (callback, async iterator, snapshot) over one push-based core. Per-method capability detection — works on HTTP, WS, both, or neither. Part of the valve-tech/evm-toolkit synchronized release line — implementation lands in subsequent 0.3.x releases per docs/tx-tracker-spec.md.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/valve-tech/evm-toolkit/tree/main/packages/tx-tracker#readme",
@@ -49,7 +49,7 @@
49
49
  "prepare": "yarn build"
50
50
  },
51
51
  "dependencies": {
52
- "@valve-tech/chain-source": "^0.12.0"
52
+ "@valve-tech/chain-source": "^0.14.0"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "viem": "^2.0.0"