@bananapus/nana-sdk-core 2.30.0 → 2.32.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.
Files changed (49) hide show
  1. package/dist/cjs/review/index.d.ts +1 -0
  2. package/dist/cjs/review/index.d.ts.map +1 -1
  3. package/dist/cjs/review/index.js +1 -0
  4. package/dist/cjs/review/index.js.map +1 -1
  5. package/dist/cjs/review/messages.d.ts +16 -0
  6. package/dist/cjs/review/messages.d.ts.map +1 -1
  7. package/dist/cjs/review/messages.js +17 -1
  8. package/dist/cjs/review/messages.js.map +1 -1
  9. package/dist/cjs/review/relayr.d.ts +43 -7
  10. package/dist/cjs/review/relayr.d.ts.map +1 -1
  11. package/dist/cjs/review/relayr.js +118 -7
  12. package/dist/cjs/review/relayr.js.map +1 -1
  13. package/dist/cjs/review/writeHold.d.ts +197 -0
  14. package/dist/cjs/review/writeHold.d.ts.map +1 -0
  15. package/dist/cjs/review/writeHold.js +578 -0
  16. package/dist/cjs/review/writeHold.js.map +1 -0
  17. package/dist/cjs/review/writeRecovery.d.ts +102 -8
  18. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  19. package/dist/cjs/review/writeRecovery.js +341 -46
  20. package/dist/cjs/review/writeRecovery.js.map +1 -1
  21. package/dist/cjs/safeService.d.ts +40 -0
  22. package/dist/cjs/safeService.d.ts.map +1 -1
  23. package/dist/cjs/safeService.js +69 -12
  24. package/dist/cjs/safeService.js.map +1 -1
  25. package/dist/esm/review/index.d.ts +1 -0
  26. package/dist/esm/review/index.d.ts.map +1 -1
  27. package/dist/esm/review/index.js +1 -0
  28. package/dist/esm/review/index.js.map +1 -1
  29. package/dist/esm/review/messages.d.ts +16 -0
  30. package/dist/esm/review/messages.d.ts.map +1 -1
  31. package/dist/esm/review/messages.js +16 -0
  32. package/dist/esm/review/messages.js.map +1 -1
  33. package/dist/esm/review/relayr.d.ts +43 -7
  34. package/dist/esm/review/relayr.d.ts.map +1 -1
  35. package/dist/esm/review/relayr.js +116 -6
  36. package/dist/esm/review/relayr.js.map +1 -1
  37. package/dist/esm/review/writeHold.d.ts +197 -0
  38. package/dist/esm/review/writeHold.d.ts.map +1 -0
  39. package/dist/esm/review/writeHold.js +571 -0
  40. package/dist/esm/review/writeHold.js.map +1 -0
  41. package/dist/esm/review/writeRecovery.d.ts +102 -8
  42. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  43. package/dist/esm/review/writeRecovery.js +339 -46
  44. package/dist/esm/review/writeRecovery.js.map +1 -1
  45. package/dist/esm/safeService.d.ts +40 -0
  46. package/dist/esm/safeService.d.ts.map +1 -1
  47. package/dist/esm/safeService.js +66 -12
  48. package/dist/esm/safeService.js.map +1 -1
  49. package/package.json +1 -1
@@ -28,6 +28,26 @@ export type ReviewedWriteRecoveryRecord = Omit<ReviewedWriteRecoveryInput, "call
28
28
  fromBlock?: string;
29
29
  /** The nonce the chain showed for `hash`'s own transaction: the nonce it was actually sent at. */
30
30
  sentNonce?: string;
31
+ /**
32
+ * The chain proved the write ran (a Safe proposal whose nonce its own
33
+ * execution used). It is never offered a resend; its result settles it.
34
+ */
35
+ executed?: true;
36
+ /** The transaction the proven execution ran in, when known. */
37
+ executionHash?: Hex;
38
+ /** When the wallet returned `hash`, in milliseconds since the epoch, as a decimal string. */
39
+ submittedAt?: string;
40
+ /**
41
+ * For a hash saved before `submittedAt` existed: when this record was
42
+ * first read with it, in milliseconds since the epoch, as a decimal string.
43
+ */
44
+ firstSeenAt?: string;
45
+ /** A Safe proposal's nonce, from its authenticated record: proof of its end needs no Safe service. */
46
+ safeNonce?: string;
47
+ /** For a Safe execution the wallet returned at once: the account that sent it (its nonce is `sentNonce`). */
48
+ sentFrom?: Address;
49
+ /** Another Safe transaction used this Safe write's nonce: held for the user's exit, never released on its own. */
50
+ replaced?: true;
31
51
  };
32
52
  /** The account's next nonce and the block it was read at, from {@link readReviewedWriteNonce}. */
33
53
  export type ReviewedWriteNonceEvidence = {
@@ -46,6 +66,27 @@ export declare class SubmittedWritePersistenceError extends Error {
46
66
  declare function recordOf(value: unknown): ReviewedWriteRecoveryRecord;
47
67
  /** Validate an existing domain journal's recovered record with the shared storage rules. */
48
68
  export { recordOf as parseReviewedWriteRecoveryRecord };
69
+ /** Recovery storage that also says whether its records outlive this tab. */
70
+ export type HeldWriteStorage = RecoveryStorage & {
71
+ /** Whether records are kept by the browser (shared by tabs, kept across reloads) right now. */
72
+ durable(): boolean;
73
+ };
74
+ /**
75
+ * The browser's storage, shared by its tabs and kept across reloads, while it
76
+ * can be written; this tab's memory while it can't (private browsing, a
77
+ * sandboxed frame, some wallet webviews), so a write is held either way and
78
+ * never refused. Every read looks at both. A record kept in memory moves into
79
+ * the browser's storage as soon as it can be written there, after any other
80
+ * live record saved at the same key ends. While the browser's storage can't
81
+ * be read, what this tab last read or wrote there still holds.
82
+ *
83
+ * `memory` defaults to one map per tab, shared by every copy of this module
84
+ * loaded there.
85
+ */
86
+ export declare function createHeldWriteStorage(options?: {
87
+ durable?: () => RecoveryStorage | undefined;
88
+ memory?: Map<string, string>;
89
+ }): HeldWriteStorage;
49
90
  export type ReviewedWriteRecoveryScope = Pick<ReviewedWriteRecoveryInput, "chainId" | "account"> & {
50
91
  namespace: string;
51
92
  };
@@ -91,10 +132,43 @@ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryI
91
132
  submitted(hash: Hex, expected?: ReviewedWriteRecoveryRecord | undefined): ReviewedWriteRecoveryRecord;
92
133
  rejected: () => void;
93
134
  clear: (expected: ReviewedWriteRecoveryRecord) => void;
135
+ /**
136
+ * Start the clock of a hash saved before `submittedAt` existed: save now
137
+ * as its `firstSeenAt`, once. Extra evidence: a stale snapshot or a failed
138
+ * save keeps the record as it was.
139
+ */
140
+ firstSeen(expected: ReviewedWriteRecoveryRecord): ReviewedWriteRecoveryRecord;
141
+ /**
142
+ * Save who sent a Safe execution the wallet returned at once, and at which
143
+ * nonce, from its authenticated transaction, once: its canonical
144
+ * replacement can then be proven. Extra evidence only.
145
+ */
146
+ sentBy(expected: ReviewedWriteRecoveryRecord, from: Address, nonce: bigint): ReviewedWriteRecoveryRecord;
147
+ /**
148
+ * Drop the proof that `expected` ran, once its execution is gone from the
149
+ * chain: it is held again as an unproven write. Extra evidence only.
150
+ */
151
+ unexecuted(expected: ReviewedWriteRecoveryRecord): ReviewedWriteRecoveryRecord;
152
+ /**
153
+ * Save that another Safe transaction used this Safe write's nonce. Any
154
+ * saved execution goes: the user's exit, not the chain, ends it.
155
+ */
156
+ replacedOnChain(expected: ReviewedWriteRecoveryRecord): ReviewedWriteRecoveryRecord;
157
+ /**
158
+ * Save a Safe proposal's nonce from its authenticated record, once. Extra
159
+ * evidence: a stale snapshot or a failed save keeps the record as it was.
160
+ */
161
+ proposalNonce(expected: ReviewedWriteRecoveryRecord, nonce: bigint): ReviewedWriteRecoveryRecord;
162
+ /**
163
+ * Save the chain's proof that `expected` ran, with the transaction it ran
164
+ * in when known. From then on the user's exit refuses it: only its result
165
+ * ({@link verifyReviewedWriteReceipt}) releases it.
166
+ */
167
+ executed(expected: ReviewedWriteRecoveryRecord, executionHash?: Hex): ReviewedWriteRecoveryRecord;
94
168
  /**
95
169
  * Check the saved write against the chain ({@link checkReviewedWrite}) and
96
- * apply the finding: `sent` records the hash to track, `ran` releases it.
97
- * Null when nothing is saved.
170
+ * apply the finding: `sent` records the hash to track. Nothing here
171
+ * releases a write; null when nothing is saved.
98
172
  */
99
173
  resolve(client: ReviewedWriteNonceClient, checkOptions?: {
100
174
  effect?: (chainId: number) => Promise<boolean>;
@@ -114,18 +188,26 @@ export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryI
114
188
  };
115
189
  /** What the chain shows of a write with no confirmed result. */
116
190
  export type ReviewedWriteCheck =
117
- /** Nothing proven yet. The user's exit (`abandon`) stays open. */
191
+ /**
192
+ * Nothing proven yet. The user's exit (`abandon`) stays open. `usedBy`:
193
+ * the node doesn't know the saved hash, and a canonical finalized block
194
+ * shows this other transaction used the nonce the write was sent at, so
195
+ * the saved hash can never run (a wrapper may still have run the call).
196
+ */
118
197
  {
119
198
  status: "pending";
199
+ usedBy?: Hex;
200
+ /** The app's effect read shows the call took effect. It releases nothing: the user's exit decides. */
201
+ effect?: true;
120
202
  }
121
- /** The saved hash, or the exact call, is the transaction at its nonce: track that receipt. */
203
+ /**
204
+ * The saved hash is the transaction at its nonce, or the exact call is,
205
+ * under another hash, at the nonce the saved hash was sent at (a wallet
206
+ * speed-up): track that receipt.
207
+ */
122
208
  | {
123
209
  status: "sent";
124
210
  hash: Hex;
125
- }
126
- /** The app's effect read shows the call took effect. */
127
- | {
128
- status: "ran";
129
211
  };
130
212
  /** The reads {@link checkReviewedWrite} makes; a viem PublicClient satisfies it. */
131
213
  export type ReviewedWriteNonceClient = Pick<PublicClient, "getBlock" | "getChainId" | "getTransaction" | "getTransactionCount">;
@@ -153,6 +235,18 @@ export declare function readReviewedWriteNonce(client: Pick<PublicClient, "getBl
153
235
  export declare function checkReviewedWrite(client: ReviewedWriteNonceClient, saved: ReviewedWriteRecoveryRecord, { effect }?: {
154
236
  effect?: (chainId: number) => Promise<boolean>;
155
237
  }): Promise<ReviewedWriteCheck>;
238
+ /**
239
+ * The transaction `account` sent at `nonce`, once the account's nonce is past
240
+ * it at a canonical finalized block: a search of its nonce from `fromBlock`
241
+ * finds the block where it moved. Null while that is unproven or the node
242
+ * can't say (no history, a reorganized answer).
243
+ */
244
+ export declare function findTransactionAtNonce(client: Pick<ReviewedWriteNonceClient, "getBlock" | "getTransactionCount">, account: Address, nonce: bigint, fromBlock?: bigint): Promise<{
245
+ hash: Hex;
246
+ to?: Address | null;
247
+ input?: Hex;
248
+ value?: bigint;
249
+ } | null>;
156
250
  /** Minimal RPC reads; PublicClient instances for any chain satisfy this shape. */
157
251
  export type ReviewedWriteReceiptClient = {
158
252
  getChainId(): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"writeRecovery.d.ts","sourceRoot":"","sources":["../../../src/review/writeRecovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeRecovery.d.ts","sourceRoot":"","sources":["../../../src/review/writeRecovery.ts"],"names":[],"mappings":"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"}