@valve-tech/tx-flight-react 0.16.0 → 0.17.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,39 @@ 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.17.0] — 2026-05-30
10
+
11
+ ### Added
12
+
13
+ - `addByHash({ readOnly?: boolean })` — marks the seeded TrackedTx
14
+ as read-only (consumer didn't submit, doesn't hold the nonce slot:
15
+ relayer-submitted, server-observed, etc.). Forwarded verbatim to
16
+ `TrackedTx.readOnly` (new in `@valve-tech/wallet-adapter@0.17.0`).
17
+ The library does not change tracking behavior based on this flag —
18
+ status transitions, retention, and unseen-for-N thresholds still
19
+ apply. Consumers SHOULD gate `onSpeedUp` / `onCancel` wiring on
20
+ `tx.readOnly === true` to suppress replacement affordances for
21
+ these entries. Default `false`.
22
+ - `addByHash({ submittedAt?: number })` — override the `submittedAt`
23
+ timestamp on the seeded TrackedTx. Use when the tx was submitted
24
+ before you started watching it (relayer push carrying an original
25
+ submit time, rehydrating an external record, etc.) so the strip's
26
+ age indicator reflects reality rather than starting at zero.
27
+ Default `Date.now()` at add-time (unchanged from prior behavior).
28
+
29
+ ### Notes
30
+
31
+ - Both fields are optional and additive — existing callers see no
32
+ change in behavior. Persisted entries written before this release
33
+ rehydrate unchanged.
34
+ - `resumeByHashWatcher` (the rehydrate path) needed no changes: it
35
+ reads each persisted TrackedTx verbatim and re-dispatches it via
36
+ `store.dispatch.addWithTx(current, unsub)`, so a `readOnly`-tagged
37
+ record that was persisted, page-reloaded, and rehydrated keeps its
38
+ flag automatically.
39
+ - README adds a "Read-only mode (relayer-submitted, server-observed)"
40
+ subsection under `addByHash` showing the canonical wiring.
41
+
9
42
  ## [0.16.0] — 2026-05-15
10
43
 
11
44
  ### Notes
package/README.md CHANGED
@@ -200,6 +200,47 @@ bundle cost. The strip builds a private ChainSource + TxTracker
200
200
  internally; `flight.remove(id)` (or unmount) cleans up the
201
201
  subscription.
202
202
 
203
+ #### Read-only mode (relayer-submitted, server-observed)
204
+
205
+ Pass `readOnly: true` when the consumer doesn't hold the nonce slot
206
+ — a relayer submitted the tx on the user's behalf, the hash arrived
207
+ via a server push, or you're following a tx your backend observed
208
+ elsewhere. The tracker still polls inclusion, mempool state, and
209
+ receipt details exactly as it would for a user-authored tx — the
210
+ flag is metadata for *your* UI logic, since the user can't speed-up
211
+ or cancel a tx they don't own.
212
+
213
+ ```tsx
214
+ const { txHash, submittedAt } = await relayer.send(payload)
215
+
216
+ const id = await flight.addByHash({
217
+ hash: txHash,
218
+ chainId: 1,
219
+ client: publicClient,
220
+ flow: 'relay',
221
+ readOnly: true,
222
+ submittedAt, // preserve relayer's original submit time
223
+ })
224
+ ```
225
+
226
+ When rendering `<TxFlightActions>`, gate replacement affordances on
227
+ the flag:
228
+
229
+ ```tsx
230
+ <TxFlightActions
231
+ tx={tx}
232
+ onSpeedUp={tx.readOnly === true ? undefined : handleSpeedUp}
233
+ onCancel={tx.readOnly === true ? undefined : handleCancel}
234
+ onDismiss={handleDismiss}
235
+ />
236
+ ```
237
+
238
+ Use the strict `tx.readOnly === true` form rather than `if
239
+ (tx.readOnly)` — the field is optional and pre-flag persisted entries
240
+ rehydrate as `undefined`, which is correctly falsy under both forms,
241
+ but the strict comparison makes the intent unambiguous at the read
242
+ site.
243
+
203
244
  ### `addManual` — when you already have a fully-formed `TrackedTx`
204
245
 
205
246
  ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"tx-tracker.d.ts","sourceRoot":"","sources":["../../src/integrations/tx-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAO,YAAY,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAmDtD;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,EAAE,WAAW,CAAA;CAC9B;AA6DD,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,OAAO,cAAc,EACrB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,EAChD,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CA2BhB,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,EACpB,IAAI,SAAS,EACb,QAAQ,YAAY,EACpB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,EAChD,WAAW,wBAAwB,KAClC,OAAO,CAAC,IAAI,CA8Bd,CAAA"}
1
+ {"version":3,"file":"tx-tracker.d.ts","sourceRoot":"","sources":["../../src/integrations/tx-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAO,YAAY,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAmDtD;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,EAAE,WAAW,CAAA;CAC9B;AA6DD,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,OAAO,cAAc,EACrB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,EAChD,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CA4BhB,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,EACpB,IAAI,SAAS,EACb,QAAQ,YAAY,EACpB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,EAChD,WAAW,wBAAwB,KAClC,OAAO,CAAC,IAAI,CA8Bd,CAAA"}
@@ -117,9 +117,10 @@ export const addByHashImpl = async (store, input, onError, internal) => {
117
117
  hash: input.hash,
118
118
  chainId: input.chainId,
119
119
  flow: input.flow ?? DEFAULT_FLOW,
120
- submittedAt: Date.now(),
120
+ submittedAt: input.submittedAt ?? Date.now(),
121
121
  submittedTier: 'standard',
122
122
  status: 'pending',
123
+ readOnly: input.readOnly,
123
124
  };
124
125
  store.dispatch.addWithTx(initialTx, unsub);
125
126
  return id;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-tracker.js","sourceRoot":"","sources":["../../src/integrations/tx-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx-tracker.js","sourceRoot":"","sources":["../../src/integrations/tx-tracker.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -55,6 +55,27 @@ export interface AddByHashInput {
55
55
  * status is reverted, the strip surfaces `failed`. Adds one RPC.
56
56
  */
57
57
  withReceipts?: boolean;
58
+ /**
59
+ * Marks the resulting TrackedTx as read-only — the consumer didn't
60
+ * submit this tx and doesn't hold the nonce slot (relayer-submitted,
61
+ * server-observed, etc.). Forwarded verbatim to `TrackedTx.readOnly`;
62
+ * see the field docs there. Default `false`.
63
+ *
64
+ * The library does not change tracking behavior based on this flag —
65
+ * status transitions, retention, and unseen-for-N thresholds still
66
+ * apply. Consumers SHOULD use this flag in their own
67
+ * `<TxFlightActions>` wiring (typically: skip `onSpeedUp` / `onCancel`
68
+ * for read-only entries).
69
+ */
70
+ readOnly?: boolean;
71
+ /**
72
+ * Override the `submittedAt` timestamp on the seeded TrackedTx. Use
73
+ * when the tx was submitted before you started watching it (relayer
74
+ * push carrying an original submit time, rehydrating an external
75
+ * record, etc.) so the strip's age indicator reflects reality rather
76
+ * than starting at zero. Default `Date.now()` at add-time.
77
+ */
78
+ submittedAt?: number;
58
79
  }
59
80
  /**
60
81
  * Input for `addManual(input)`. Use when the caller already has a
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC7C,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,eAAe,EACf,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AASnC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AAIjC;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,iFAAiF;IACjF,KAAK,EAAE,eAAe,CAAA;IACtB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,OAAO,EAAE,4BAA4B,CAAA;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,SAAS,CAAA;CACd;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,qEAAqE;IACrE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD;AAQD,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAA;CAC1C;AAED,eAAO,MAAM,UAAU,EAAE,aAGxB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC7C,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,eAAe,EACf,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AASnC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AAIjC;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,iFAAiF;IACjF,KAAK,EAAE,eAAe,CAAA;IACtB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,OAAO,EAAE,4BAA4B,CAAA;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,SAAS,CAAA;CACd;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,qEAAqE;IACrE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD;AAQD,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAA;CAC1C;AAED,eAAO,MAAM,UAAU,EAAE,aAGxB,CAAA"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6GH,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,GAAG,EAAE,IAAI,GAAG,EAAE;IACd,QAAQ,EAAE,IAAI,GAAG,EAAE;CACpB,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkIH,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,GAAG,EAAE,IAAI,GAAG,EAAE;IACd,QAAQ,EAAE,IAAI,GAAG,EAAE;CACpB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valve-tech/tx-flight-react",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "React UI primitives for rendering an in-flight transaction strip. Provider with multi-instance scoping (id + storage key), three add methods (addWithWalletAdapter for callers using @valve-tech/wallet-adapter, addByHash for raw hash + chain via @valve-tech/tx-tracker, addManual for back-fill), pluggable storage (localStorage default, IndexedDB and memory adapters included), atomic + layout components for headless composition, SSR-safe (the package's React-side hooks are client-only; storage adapters no-op on the server). Part of the valve-tech/evm-toolkit synchronized release line.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/valve-tech/evm-toolkit/tree/main/packages/tx-flight-react#readme",
@@ -54,9 +54,9 @@
54
54
  "prepare": "yarn build"
55
55
  },
56
56
  "peerDependencies": {
57
- "@valve-tech/chain-source": "^0.16.0",
58
- "@valve-tech/tx-tracker": "^0.16.0",
59
- "@valve-tech/wallet-adapter": "^0.16.0",
57
+ "@valve-tech/chain-source": "^0.17.0",
58
+ "@valve-tech/tx-tracker": "^0.17.0",
59
+ "@valve-tech/wallet-adapter": "^0.17.0",
60
60
  "react": "^18.2.0 || ^19.0.0",
61
61
  "react-dom": "^18.2.0 || ^19.0.0",
62
62
  "viem": "^2.0.0"
@@ -77,9 +77,9 @@
77
77
  "@testing-library/react": "^16.1.0",
78
78
  "@types/react": "^18.3.0",
79
79
  "@types/react-dom": "^18.3.0",
80
- "@valve-tech/chain-source": "^0.16.0",
81
- "@valve-tech/tx-tracker": "^0.16.0",
82
- "@valve-tech/wallet-adapter": "^0.16.0",
80
+ "@valve-tech/chain-source": "^0.17.0",
81
+ "@valve-tech/tx-tracker": "^0.17.0",
82
+ "@valve-tech/wallet-adapter": "^0.17.0",
83
83
  "fake-indexeddb": "^6.0.0",
84
84
  "happy-dom": "^15.0.0",
85
85
  "react": "^18.3.1",