@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 +132 -0
- package/dist/tracker.d.ts +90 -0
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +268 -2
- package/dist/tracker.js.map +1 -1
- package/package.json +2 -2
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
|
package/dist/tracker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,YAAY,EAGZ,KAAK,EAEN,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,
|
|
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
|
}
|
package/dist/tracker.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
52
|
+
"@valve-tech/chain-source": "^0.14.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"viem": "^2.0.0"
|