@xfuel/verify 0.3.0 → 0.3.3

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 (56) hide show
  1. package/README.md +37 -16
  2. package/dist/anchor-trust.d.ts +129 -0
  3. package/dist/anchor-trust.d.ts.map +1 -0
  4. package/dist/anchor-trust.js +395 -0
  5. package/dist/anchor-trust.js.map +1 -0
  6. package/dist/anchor-witness.d.ts +134 -7
  7. package/dist/anchor-witness.d.ts.map +1 -1
  8. package/dist/anchor-witness.js +497 -44
  9. package/dist/anchor-witness.js.map +1 -1
  10. package/dist/carry-forward.d.ts +79 -0
  11. package/dist/carry-forward.d.ts.map +1 -0
  12. package/dist/carry-forward.js +184 -0
  13. package/dist/carry-forward.js.map +1 -0
  14. package/dist/cli.js +674 -30
  15. package/dist/cli.js.map +1 -1
  16. package/dist/epoch.d.ts +143 -0
  17. package/dist/epoch.d.ts.map +1 -0
  18. package/dist/epoch.js +352 -0
  19. package/dist/epoch.js.map +1 -0
  20. package/dist/index.d.ts +86 -5
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +395 -118
  23. package/dist/index.js.map +1 -1
  24. package/dist/issuer-history.d.ts +19 -0
  25. package/dist/issuer-history.d.ts.map +1 -1
  26. package/dist/issuer-history.js +131 -75
  27. package/dist/issuer-history.js.map +1 -1
  28. package/dist/issuer-pin.d.ts +126 -0
  29. package/dist/issuer-pin.d.ts.map +1 -0
  30. package/dist/issuer-pin.js +567 -0
  31. package/dist/issuer-pin.js.map +1 -0
  32. package/dist/preimage.d.ts +29 -0
  33. package/dist/preimage.d.ts.map +1 -1
  34. package/dist/preimage.js +162 -2
  35. package/dist/preimage.js.map +1 -1
  36. package/dist/receipt-lane.d.ts +1 -0
  37. package/dist/receipt-lane.d.ts.map +1 -1
  38. package/dist/receipt-lane.js +5 -2
  39. package/dist/receipt-lane.js.map +1 -1
  40. package/dist/refusal.d.ts +5 -2
  41. package/dist/refusal.d.ts.map +1 -1
  42. package/dist/refusal.js +28 -6
  43. package/dist/refusal.js.map +1 -1
  44. package/dist/request-binding.d.ts +7 -0
  45. package/dist/request-binding.d.ts.map +1 -0
  46. package/dist/request-binding.js +26 -0
  47. package/dist/request-binding.js.map +1 -0
  48. package/dist/row-hash.d.ts +22 -0
  49. package/dist/row-hash.d.ts.map +1 -0
  50. package/dist/row-hash.js +26 -0
  51. package/dist/row-hash.js.map +1 -0
  52. package/dist/v11-receipt.d.ts +21 -0
  53. package/dist/v11-receipt.d.ts.map +1 -0
  54. package/dist/v11-receipt.js +351 -0
  55. package/dist/v11-receipt.js.map +1 -0
  56. package/package.json +1 -1
@@ -1,13 +1,23 @@
1
+ import { type AnchorWalletList } from './anchor-trust.js';
2
+ import { type EpochRecord } from './epoch.js';
3
+ import { type AssessIssuerPinInput, type IssuerPinAssessment } from './issuer-pin.js';
4
+ import type { IssuerHistoryDocument } from './issuer-history.js';
5
+ import type { Es256Jwk } from './jws.js';
1
6
  export declare const MEMO_PROGRAM_ID = "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";
2
7
  export declare const MEMO_PROGRAM_ID_V1 = "Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo";
3
- /** Genesis hashes from the Solana cluster CAIP-2 references. */
8
+ /**
9
+ * Full `getGenesisHash` values. CAIP-2 references keep only the first 32
10
+ * characters, and `getGenesisHash` returns the whole base58 hash. A prefix
11
+ * compare never matches mainnet-beta.
12
+ */
4
13
  export declare const SOLANA_GENESIS: Record<string, string>;
5
14
  export declare const BASE_MAINNET_CHAIN_ID = 8453;
6
15
  export declare const ANCHOR_PROVES: string[];
7
16
  export declare const ANCHOR_DOES_NOT_PROVE: string[];
8
17
  export interface InclusionStep {
9
18
  hash: string;
10
- position: string;
19
+ /** Ignored. RFC 9162 uses the leaf index and the tree size to pick the side. */
20
+ position?: string;
11
21
  }
12
22
  export interface AnchorReceipt {
13
23
  task_id?: string;
@@ -18,16 +28,23 @@ export interface AnchorReceipt {
18
28
  }
19
29
  export interface AnchorInclusion {
20
30
  task_id?: string;
31
+ status?: string;
32
+ anchor_status?: string;
21
33
  leaf_index: number;
22
34
  tree_size: number;
35
+ live_tree_size?: number | null;
36
+ anchored_tree_size?: number | null;
23
37
  root: string;
24
38
  leaf?: string;
25
39
  row_hash?: string | null;
26
- proof: InclusionStep[];
40
+ proof?: InclusionStep[] | null;
27
41
  }
28
42
  export interface AnchorHead {
29
43
  root: string;
30
44
  tree_size?: number;
45
+ epoch?: number | null;
46
+ prev_epoch_root?: string | null;
47
+ prev_epoch_size?: number | null;
31
48
  anchor_tx?: string | null;
32
49
  anchor?: {
33
50
  tx?: string | null;
@@ -40,6 +57,7 @@ export interface AnchorHead {
40
57
  calldata?: string | null;
41
58
  chain_id?: number | null;
42
59
  status?: string;
60
+ from?: string | null;
43
61
  } | null;
44
62
  solana?: {
45
63
  signature?: string | null;
@@ -47,8 +65,17 @@ export interface AnchorHead {
47
65
  cluster?: string | null;
48
66
  memo?: string | null;
49
67
  status?: string | null;
68
+ fee_payer?: string | null;
50
69
  } | null;
51
70
  } | null;
71
+ issuer_signature?: {
72
+ jws?: string;
73
+ kid?: string;
74
+ issuer_jwk?: Es256Jwk;
75
+ };
76
+ schema?: string;
77
+ payload_version?: number;
78
+ published_at?: string | null;
52
79
  }
53
80
  interface SolanaIx {
54
81
  program?: string;
@@ -70,6 +97,10 @@ export interface SolanaAnchorTx {
70
97
  transaction?: {
71
98
  message?: {
72
99
  instructions?: SolanaIx[];
100
+ accountKeys?: Array<{
101
+ pubkey?: string;
102
+ signer?: boolean;
103
+ } | string>;
73
104
  };
74
105
  };
75
106
  }
@@ -77,15 +108,19 @@ export interface BaseAnchorTx {
77
108
  hash?: string;
78
109
  input?: string;
79
110
  chainId?: number;
111
+ from?: string;
80
112
  }
81
113
  export interface AnchorWitnessResult {
82
- overall: 'verified' | 'partial' | 'failed';
114
+ overall: 'verified' | 'partial' | 'pending' | 'failed';
83
115
  root: string | null;
84
116
  inclusion: {
85
117
  valid: boolean;
86
118
  leaf: string | null;
87
119
  leaf_source: string;
88
120
  reason?: string;
121
+ unlogged_reason?: string;
122
+ anchored_tree_size?: number | null;
123
+ live_tree_size?: number | null;
89
124
  };
90
125
  solana: {
91
126
  checked: boolean;
@@ -94,6 +129,7 @@ export interface AnchorWitnessResult {
94
129
  slot: number | null;
95
130
  cluster: string | null;
96
131
  memo: string | null;
132
+ fee_payer: string | null;
97
133
  reason?: string;
98
134
  };
99
135
  base: {
@@ -101,25 +137,84 @@ export interface AnchorWitnessResult {
101
137
  valid: boolean;
102
138
  tx: string | null;
103
139
  chain_id: number | null;
140
+ from: string | null;
141
+ reason?: string;
142
+ };
143
+ head_signature: {
144
+ checked: boolean;
145
+ valid: boolean;
146
+ kid: string | null;
147
+ trust: string | null;
104
148
  reason?: string;
149
+ message?: string;
150
+ };
151
+ anchor_wallets: {
152
+ base_from: string | null;
153
+ solana_fee_payer: string | null;
154
+ sources: AnchorWalletList['sources'];
155
+ not_consulted: AnchorWalletList['not_consulted'];
105
156
  };
106
157
  proves: string[];
107
158
  does_not_prove: string[];
108
159
  errors: string[];
160
+ issuer_pin: IssuerPinAssessment;
109
161
  }
110
162
  export declare function leafHash(bytes: Uint8Array): Buffer;
111
163
  export declare function normalizeRoot(root: string | null | undefined): string | null;
112
- /** RFC 6962-style inclusion. Same rule as the gateway tree. */
164
+ /**
165
+ * RFC 9162 fold. Returns the recomputed root, or null when the proof is the
166
+ * wrong length for `(index, treeSize)` or a sibling is not 32 bytes.
167
+ * Index and tree size choose the side. A `position` label is not read here.
168
+ */
169
+ export declare function inclusionRoot(leaf: Buffer, index: number, treeSize: number, proof: InclusionStep[]): string | null;
170
+ /**
171
+ * RFC 9162 §2.1.3.2 inclusion. `index` and `treeSize` choose left or right
172
+ * at each step. A `position` label is not the source of that side. When a
173
+ * label is present it must name the side the index already chose, so a
174
+ * swapped label fails. An omitted label does not. A proof whose length is
175
+ * not the length that pair requires is rejected, as is `index >= treeSize`.
176
+ * Leaf and node bytes stay SHA-256(0x00 || leaf) and SHA-256(0x01 || left ||
177
+ * right). Consistency proofs and the empty root are not this function.
178
+ */
113
179
  export declare function verifyMerkleInclusion(leaf: Buffer, index: number, treeSize: number, rootHex: string, proof: InclusionStep[]): boolean;
114
- export declare function parseAnchorMemo(memo: string): {
180
+ export interface ParsedAnchorMemo {
181
+ version?: 1 | 2;
115
182
  scope: string;
116
183
  day: string;
117
184
  root: string;
118
185
  prev: string;
119
- } | null;
186
+ epoch?: number;
187
+ prev_epoch_root?: string;
188
+ prev_epoch_size?: number;
189
+ bundle_index_hash?: string;
190
+ }
191
+ /** v1 memos stay valid. v2 adds epoch, prev_epoch_root, prev_epoch_size, and the bundle index hash. */
192
+ export declare function parseAnchorMemo(memo: string): ParsedAnchorMemo | null;
120
193
  export declare function extractMemos(tx: SolanaAnchorTx | null | undefined): string[];
121
194
  export declare function fetchSolanaGenesisHash(rpcUrl: string): Promise<string>;
122
195
  export declare function fetchBaseAnchorTransaction(txHash: string, rpcUrl: string): Promise<BaseAnchorTx | null>;
196
+ export interface NewestAnchor {
197
+ root: string;
198
+ signature: string;
199
+ slot?: number | null;
200
+ blockTime?: number | null;
201
+ }
202
+ /** Newest-first page size for `getSignaturesForAddress`. */
203
+ export declare const NEWEST_ANCHOR_PAGE_LIMIT = 25;
204
+ /** Full pages walked before a missing memo is `newest_anchor_unavailable`. */
205
+ export declare const NEWEST_ANCHOR_PAGE_CAP = 8;
206
+ /**
207
+ * Newest chit402 root memo paid by this fee payer. `getSignaturesForAddress`
208
+ * is newest-first and includes transactions that only mention the address.
209
+ * A memo whose fee payer is anyone else is ignored and is not newer.
210
+ * Pages use `before` until the first memo this payer actually paid. A listed
211
+ * signature whose transaction is null or whose fetch throws fails the scan.
212
+ * Walking `NEWEST_ANCHOR_PAGE_CAP` full pages without such a memo fails the scan.
213
+ * A short page with no memo from this payer means this payer has no anchor.
214
+ */
215
+ export declare function fetchNewestSolanaAnchorRoot(feePayer: string, rpcUrl: string, fetchTx?: (signature: string, rpcUrl: string) => Promise<SolanaAnchorTx | null>): Promise<NewestAnchor | null>;
216
+ /** Fee payer is the first account. A parsed key that is explicitly not a signer does not count. */
217
+ export declare function solanaFeePayer(tx: SolanaAnchorTx | null | undefined): string | null;
123
218
  export interface VerifyAnchoredRootInput {
124
219
  receipt: AnchorReceipt;
125
220
  inclusion: AnchorInclusion;
@@ -129,6 +224,38 @@ export interface VerifyAnchoredRootInput {
129
224
  fetchSolanaTx?: (signature: string, rpcUrl: string) => Promise<SolanaAnchorTx | null>;
130
225
  fetchGenesis?: (rpcUrl: string) => Promise<string>;
131
226
  fetchBaseTx?: (txHash: string, rpcUrl: string) => Promise<BaseAnchorTx | null>;
227
+ /**
228
+ * When set, and the head claims an anchor, the served root must equal the
229
+ * newest Solana memo paid by `anchors.solana.fee_payer`, and that payer
230
+ * must be on the signed anchor-wallet list. A memo from any other payer
231
+ * is ignored. A missing or unlisted fee payer is `newest_anchor_unavailable`.
232
+ * The CLI sets this for `--rpc`.
233
+ */
234
+ checkNewestAnchor?: boolean;
235
+ fetchNewestAnchor?: (feePayer: string, rpcUrl: string) => Promise<NewestAnchor | null>;
236
+ epochRecord?: EpochRecord | null;
237
+ verifyEpochSignature?: (jws: string) => boolean;
238
+ /**
239
+ * Local pin bytes. Anchor mode does not fetch them. A receipt or head
240
+ * that carries `issuer_key_pin` fails closed when this is omitted.
241
+ */
242
+ issuerPin?: AssessIssuerPinInput | null;
243
+ jwks?: {
244
+ keys: Es256Jwk[];
245
+ };
246
+ trustedKids?: readonly string[];
247
+ issuerHistory?: IssuerHistoryDocument | null;
248
+ strictIssuerHistory?: boolean;
249
+ /** Parsed `chit402.anchor_wallets.v1`. Verified here. A bad document fails closed. */
250
+ anchorWalletDocument?: {
251
+ schema?: string;
252
+ base?: unknown;
253
+ solana?: unknown;
254
+ issuer_signature?: {
255
+ jws?: string;
256
+ issuer_jwk?: Es256Jwk;
257
+ };
258
+ } | null;
132
259
  }
133
260
  /**
134
261
  * Verify inclusion, then the Solana memo and the Base calldata for that root.
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-witness.d.ts","sourceRoot":"","sources":["../src/anchor-witness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-witness.d.ts","sourceRoot":"","sources":["../src/anchor-witness.ts"],"names":[],"mappings":"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"}