@bananapus/nana-sdk-core 2.28.0 → 2.30.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 (95) hide show
  1. package/dist/cjs/review/decode.d.ts.map +1 -1
  2. package/dist/cjs/review/decode.js +43 -2
  3. package/dist/cjs/review/decode.js.map +1 -1
  4. package/dist/cjs/review/index.d.ts +1 -0
  5. package/dist/cjs/review/index.d.ts.map +1 -1
  6. package/dist/cjs/review/index.js +1 -0
  7. package/dist/cjs/review/index.js.map +1 -1
  8. package/dist/cjs/review/messages.d.ts +43 -0
  9. package/dist/cjs/review/messages.d.ts.map +1 -0
  10. package/dist/cjs/review/messages.js +55 -0
  11. package/dist/cjs/review/messages.js.map +1 -0
  12. package/dist/cjs/review/relayr.d.ts.map +1 -1
  13. package/dist/cjs/review/relayr.js +23 -1
  14. package/dist/cjs/review/relayr.js.map +1 -1
  15. package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
  16. package/dist/cjs/review/safeRelayr.js +23 -3
  17. package/dist/cjs/review/safeRelayr.js.map +1 -1
  18. package/dist/cjs/review/transaction-message.js +2 -2
  19. package/dist/cjs/review/transaction-message.js.map +1 -1
  20. package/dist/cjs/review/writeRecovery.d.ts +105 -6
  21. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  22. package/dist/cjs/review/writeRecovery.js +543 -96
  23. package/dist/cjs/review/writeRecovery.js.map +1 -1
  24. package/dist/cjs/safeService.d.ts +18 -12
  25. package/dist/cjs/safeService.d.ts.map +1 -1
  26. package/dist/cjs/safeService.js +97 -9
  27. package/dist/cjs/safeService.js.map +1 -1
  28. package/dist/cjs/v6/defifa.d.ts +154 -0
  29. package/dist/cjs/v6/defifa.d.ts.map +1 -0
  30. package/dist/cjs/v6/defifa.js +684 -0
  31. package/dist/cjs/v6/defifa.js.map +1 -0
  32. package/dist/cjs/v6/defifaDeployments.d.ts +13 -0
  33. package/dist/cjs/v6/defifaDeployments.d.ts.map +1 -0
  34. package/dist/cjs/v6/defifaDeployments.js +25 -0
  35. package/dist/cjs/v6/defifaDeployments.js.map +1 -0
  36. package/dist/cjs/v6/defifaHoldings.d.ts +50 -0
  37. package/dist/cjs/v6/defifaHoldings.d.ts.map +1 -0
  38. package/dist/cjs/v6/defifaHoldings.js +181 -0
  39. package/dist/cjs/v6/defifaHoldings.js.map +1 -0
  40. package/dist/cjs/v6/index.d.ts +2 -0
  41. package/dist/cjs/v6/index.d.ts.map +1 -1
  42. package/dist/cjs/v6/index.js +4 -0
  43. package/dist/cjs/v6/index.js.map +1 -1
  44. package/dist/cjs/v6/nftInventory.d.ts +1 -1
  45. package/dist/cjs/v6/nftInventory.d.ts.map +1 -1
  46. package/dist/cjs/v6/nftInventory.js +3 -21
  47. package/dist/cjs/v6/nftInventory.js.map +1 -1
  48. package/dist/esm/review/decode.d.ts.map +1 -1
  49. package/dist/esm/review/decode.js +43 -2
  50. package/dist/esm/review/decode.js.map +1 -1
  51. package/dist/esm/review/index.d.ts +1 -0
  52. package/dist/esm/review/index.d.ts.map +1 -1
  53. package/dist/esm/review/index.js +1 -0
  54. package/dist/esm/review/index.js.map +1 -1
  55. package/dist/esm/review/messages.d.ts +43 -0
  56. package/dist/esm/review/messages.d.ts.map +1 -0
  57. package/dist/esm/review/messages.js +48 -0
  58. package/dist/esm/review/messages.js.map +1 -0
  59. package/dist/esm/review/relayr.d.ts.map +1 -1
  60. package/dist/esm/review/relayr.js +23 -1
  61. package/dist/esm/review/relayr.js.map +1 -1
  62. package/dist/esm/review/safeRelayr.d.ts.map +1 -1
  63. package/dist/esm/review/safeRelayr.js +23 -3
  64. package/dist/esm/review/safeRelayr.js.map +1 -1
  65. package/dist/esm/review/transaction-message.js +2 -2
  66. package/dist/esm/review/transaction-message.js.map +1 -1
  67. package/dist/esm/review/writeRecovery.d.ts +105 -6
  68. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  69. package/dist/esm/review/writeRecovery.js +541 -98
  70. package/dist/esm/review/writeRecovery.js.map +1 -1
  71. package/dist/esm/safeService.d.ts +18 -12
  72. package/dist/esm/safeService.d.ts.map +1 -1
  73. package/dist/esm/safeService.js +97 -9
  74. package/dist/esm/safeService.js.map +1 -1
  75. package/dist/esm/v6/defifa.d.ts +154 -0
  76. package/dist/esm/v6/defifa.d.ts.map +1 -0
  77. package/dist/esm/v6/defifa.js +671 -0
  78. package/dist/esm/v6/defifa.js.map +1 -0
  79. package/dist/esm/v6/defifaDeployments.d.ts +13 -0
  80. package/dist/esm/v6/defifaDeployments.d.ts.map +1 -0
  81. package/dist/esm/v6/defifaDeployments.js +22 -0
  82. package/dist/esm/v6/defifaDeployments.js.map +1 -0
  83. package/dist/esm/v6/defifaHoldings.d.ts +50 -0
  84. package/dist/esm/v6/defifaHoldings.d.ts.map +1 -0
  85. package/dist/esm/v6/defifaHoldings.js +177 -0
  86. package/dist/esm/v6/defifaHoldings.js.map +1 -0
  87. package/dist/esm/v6/index.d.ts +2 -0
  88. package/dist/esm/v6/index.d.ts.map +1 -1
  89. package/dist/esm/v6/index.js +2 -0
  90. package/dist/esm/v6/index.js.map +1 -1
  91. package/dist/esm/v6/nftInventory.d.ts +1 -1
  92. package/dist/esm/v6/nftInventory.d.ts.map +1 -1
  93. package/dist/esm/v6/nftInventory.js +1 -19
  94. package/dist/esm/v6/nftInventory.js.map +1 -1
  95. package/package.json +3 -2
@@ -4,6 +4,8 @@ export type ReviewedWriteRecoveryInput = {
4
4
  chainId: number;
5
5
  account: Address;
6
6
  safe: boolean;
7
+ /** Stable action/project scope, never a per-click ID or calldata fingerprint. */
8
+ namespace?: string;
7
9
  call: {
8
10
  to: Address;
9
11
  data: Hex;
@@ -18,8 +20,19 @@ export type ReviewedWriteRecoveryRecord = Omit<ReviewedWriteRecoveryInput, "call
18
20
  data: Hex;
19
21
  value: string;
20
22
  };
21
- /** The identity returned by the wallet, never an inferred historical match. */
23
+ /** The identity returned by the wallet, or the exact call found at its nonce. */
22
24
  hash?: Hex;
25
+ /** The account's next nonce when the wallet opened, as a decimal string. */
26
+ nonce?: string;
27
+ /** The block that nonce was read at, as a decimal string. */
28
+ fromBlock?: string;
29
+ /** The nonce the chain showed for `hash`'s own transaction: the nonce it was actually sent at. */
30
+ sentNonce?: string;
31
+ };
32
+ /** The account's next nonce and the block it was read at, from {@link readReviewedWriteNonce}. */
33
+ export type ReviewedWriteNonceEvidence = {
34
+ nonce: number | bigint;
35
+ blockNumber: bigint;
23
36
  };
24
37
  type RecoveryStorage = Pick<Storage, "getItem" | "setItem" | "removeItem">;
25
38
  type RecoveryLocks = Pick<LockManager, "request">;
@@ -33,27 +46,113 @@ export declare class SubmittedWritePersistenceError extends Error {
33
46
  declare function recordOf(value: unknown): ReviewedWriteRecoveryRecord;
34
47
  /** Validate an existing domain journal's recovered record with the shared storage rules. */
35
48
  export { recordOf as parseReviewedWriteRecoveryRecord };
49
+ export type ReviewedWriteRecoveryScope = Pick<ReviewedWriteRecoveryInput, "chainId" | "account"> & {
50
+ namespace: string;
51
+ };
52
+ /**
53
+ * Open the original namespaced action before fresh quotation or phase checks.
54
+ * No call is invented to locate evidence. Legacy actions retain factory.read().
55
+ * A namespace must stay stable across amount, target and quote changes.
56
+ */
57
+ export declare function readBrowserWriteRecovery(input: ReviewedWriteRecoveryScope, options?: {
58
+ storage?: RecoveryStorage;
59
+ }): ReviewedWriteRecoveryRecord | null;
36
60
  /** Exact reviewed evidence, independent of the reservation and submission identities. */
37
61
  export declare function sameReviewedWrite(record: ReviewedWriteRecoveryRecord, input: ReviewedWriteRecoveryInput): boolean;
38
62
  /**
39
- * One ordinary-write reservation per account/chain/target/selector. Use the
40
- * existing domain journal instead when an action already has one. There is no
41
- * expiry or nonce-based release: an unknown broadcast remains unknown.
63
+ * The browser's Web Locks. Where a browser or wallet webview has none, an
64
+ * IndexedDB lease shared by the origin's tabs (one transaction, no visible
65
+ * delay; it waits only while another tab holds the action), with a one-time
66
+ * console note. With neither, a lock within this tab. Never refuses.
67
+ */
68
+ export declare function browserLocks(): RecoveryLocks;
69
+ /**
70
+ * One ordinary-write reservation per exact call (account, chain, target,
71
+ * value and calldata) by default, or per account/chain/explicit stable
72
+ * namespace when provided. Use the existing domain journal instead when an
73
+ * action already has one. A hold ends on proof ({@link checkReviewedWrite} via
74
+ * `resolve`) or when the user confirms they checked their wallet (`abandon`).
42
75
  *
43
76
  * Every mutation must run inside withLock, including receipt-based clearing.
44
- * Storage and native cross-tab exclusion are mandatory before opening a wallet.
77
+ * Storage is mandatory before opening a wallet; without Web Locks the lock
78
+ * is an IndexedDB lease across tabs ({@link browserLocks}).
45
79
  */
46
80
  export declare function createBrowserWriteRecovery(input: ReviewedWriteRecoveryInput, options?: {
47
81
  storage?: RecoveryStorage;
48
82
  locks?: RecoveryLocks;
49
83
  }): {
50
84
  read: () => ReviewedWriteRecoveryRecord | null;
51
- reserve(actualCall?: ReviewedWriteRecoveryInput["call"]): ReviewedWriteRecoveryRecord;
85
+ /**
86
+ * Save the attempt before the wallet opens. `evidence`, the account's next
87
+ * nonce from {@link readReviewedWriteNonce}, lets `resolve` release it
88
+ * on proof from the chain.
89
+ */
90
+ reserve(actualCall?: ReviewedWriteRecoveryInput["call"], evidence?: ReviewedWriteNonceEvidence): ReviewedWriteRecoveryRecord;
52
91
  submitted(hash: Hex, expected?: ReviewedWriteRecoveryRecord | undefined): ReviewedWriteRecoveryRecord;
53
92
  rejected: () => void;
54
93
  clear: (expected: ReviewedWriteRecoveryRecord) => void;
94
+ /**
95
+ * 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.
98
+ */
99
+ resolve(client: ReviewedWriteNonceClient, checkOptions?: {
100
+ effect?: (chainId: number) => Promise<boolean>;
101
+ }): Promise<ReviewedWriteCheck | null>;
102
+ /**
103
+ * The user confirmed they checked their wallet; release the write. It
104
+ * marks only the record `expected` names (by its ID) as released and never
105
+ * removes the saved key, so a stale exit can't erase a newer write another
106
+ * tab saved there. It needs no lock and still works when the cross-tab lock
107
+ * can't be taken; new sends still need `withLock`. `expected` may be what
108
+ * `read()` showed, including a returned hash kept only in memory.
109
+ */
110
+ abandon(expected: ReviewedWriteRecoveryRecord, acknowledgement: {
111
+ checkedWallet: true;
112
+ }): void;
55
113
  withLock<T>(work: () => Promise<T>, wait?: boolean): Promise<T>;
56
114
  };
115
+ /** What the chain shows of a write with no confirmed result. */
116
+ export type ReviewedWriteCheck =
117
+ /** Nothing proven yet. The user's exit (`abandon`) stays open. */
118
+ {
119
+ status: "pending";
120
+ }
121
+ /** The saved hash, or the exact call, is the transaction at its nonce: track that receipt. */
122
+ | {
123
+ status: "sent";
124
+ hash: Hex;
125
+ }
126
+ /** The app's effect read shows the call took effect. */
127
+ | {
128
+ status: "ran";
129
+ };
130
+ /** The reads {@link checkReviewedWrite} makes; a viem PublicClient satisfies it. */
131
+ export type ReviewedWriteNonceClient = Pick<PublicClient, "getBlock" | "getChainId" | "getTransaction" | "getTransactionCount">;
132
+ /** The account's next nonce, counting its pending transactions, and the block it was read at. Read it right before `reserve`. */
133
+ export declare function readReviewedWriteNonce(client: Pick<PublicClient, "getBlockNumber" | "getTransactionCount">, account: Address): Promise<ReviewedWriteNonceEvidence>;
134
+ /**
135
+ * What the chain shows of a saved ordinary write. Every read is on the
136
+ * record's chain, at or below a canonical finalized block where it matters.
137
+ *
138
+ * - The saved hash, when the node knows it, is the transaction: `sent` once
139
+ * mined (its receipt decides, wallet wrappers included), `pending` while in
140
+ * the mempool. Its nonce is the nonce it was sent at (`sentNonce`).
141
+ * - Otherwise, once the account's nonce is past the nonce to look at, the
142
+ * block where it moved holds the transaction that used it. The saved hash or
143
+ * the exact call there is `sent`. Any other transaction there may have run
144
+ * the call inside it (a wrapper, or an EIP-7702 wallet that ran code and
145
+ * cleared its delegation in the same block), so it stays `pending` and the
146
+ * user's exit (`abandon`) ends it.
147
+ * - `effect`, the app's read of the call's result on the saved chain, ends it
148
+ * as `ran` when true. The client's chain is checked first.
149
+ *
150
+ * Anything else stays `pending`: a Safe write, a record without nonce
151
+ * evidence, another chain, or a node without the history to answer.
152
+ */
153
+ export declare function checkReviewedWrite(client: ReviewedWriteNonceClient, saved: ReviewedWriteRecoveryRecord, { effect }?: {
154
+ effect?: (chainId: number) => Promise<boolean>;
155
+ }): Promise<ReviewedWriteCheck>;
57
156
  /** Minimal RPC reads; PublicClient instances for any chain satisfy this shape. */
58
157
  export type ReviewedWriteReceiptClient = {
59
158
  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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"}