@hesohq/verify-wasm 0.5.0-dev.71 → 0.5.0-dev.85

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/heso_wasm.d.ts CHANGED
@@ -94,6 +94,76 @@ export class ChainResult {
94
94
  set seq(value: number | null | undefined);
95
95
  }
96
96
 
97
+ /**
98
+ * The result of an offline CloudTrail feed-completeness check.
99
+ */
100
+ export class CloudTrailFeedVerdict {
101
+ private constructor();
102
+ free(): void;
103
+ [Symbol.dispose](): void;
104
+ /**
105
+ * 0-based head-first index at which the chain broke / a digest was rejected;
106
+ * `None` for `Complete`.
107
+ */
108
+ get broken_at(): number | undefined;
109
+ /**
110
+ * 0-based head-first index at which the chain broke / a digest was rejected;
111
+ * `None` for `Complete`.
112
+ */
113
+ set broken_at(value: number | null | undefined);
114
+ /**
115
+ * Number of hourly digests whose signature + chain link verified.
116
+ */
117
+ digests_verified: number;
118
+ /**
119
+ * `true` ONLY when an unbroken signed chain proved completeness back to the
120
+ * starting (genesis) digest — the single state that earns a third-party
121
+ * `feed_complete` claim. A `ChainGap` (disclosed gap) reports `false`.
122
+ */
123
+ feed_complete: boolean;
124
+ /**
125
+ * The kind tag of the outcome: `"Complete"`, `"ChainGap"`, `"Empty"`,
126
+ * `"Malformed"`, `"NoMatchingKey"`, `"SignatureInvalid"`,
127
+ * `"PreviousHashMismatch"`, `"PreviousSignatureMismatch"`,
128
+ * `"PreviousObjectMismatch"`.
129
+ */
130
+ kind: string;
131
+ /**
132
+ * Number of signed log files the verified digests committed to across the
133
+ * window. For `Complete` this is the SIGNED, COMPLETE inventory the window
134
+ * provably covers (no log file could have been added, removed, or modified
135
+ * without breaking the chain). `0` for non-window outcomes.
136
+ */
137
+ signed_log_files_count: number;
138
+ /**
139
+ * The signed log-file inventory as a JSON array of
140
+ * `{s3_bucket, s3_object, hash_value, …}` — the proof page renders these so a
141
+ * third party can confirm WHICH files the window covers. `"[]"` for
142
+ * non-window outcomes.
143
+ */
144
+ signed_log_files_json: string;
145
+ /**
146
+ * `digestEndTime` of the head digest (window upper bound). `None` unless the
147
+ * outcome carries a window.
148
+ */
149
+ get window_end(): string | undefined;
150
+ /**
151
+ * `digestEndTime` of the head digest (window upper bound). `None` unless the
152
+ * outcome carries a window.
153
+ */
154
+ set window_end(value: string | null | undefined);
155
+ /**
156
+ * `digestEndTime` of the starting digest reached (`Complete`) or the last
157
+ * verified digest before the gap (`ChainGap`). `None` otherwise.
158
+ */
159
+ get window_start(): string | undefined;
160
+ /**
161
+ * `digestEndTime` of the starting digest reached (`Complete`) or the last
162
+ * verified digest before the gap (`ChainGap`). `None` otherwise.
163
+ */
164
+ set window_start(value: string | null | undefined);
165
+ }
166
+
97
167
  /**
98
168
  * The kind-tagged verdict of [`verify_commitment_wasm`]. `verdict` is one of
99
169
  * `"Valid"`, `"InvalidSignature"`, `"FingerprintMismatch"`, `"WrongAlgorithm"`,
@@ -547,6 +617,28 @@ export function verifyApprovalToken(token: Uint8Array, action_canonical: Uint8Ar
547
617
  */
548
618
  export function verifyChain(receipts_bytes: Uint8Array): ChainResult;
549
619
 
620
+ /**
621
+ * **REJECT-MORE-ONLY.** Verify an AWS CloudTrail signed digest-file chain
622
+ * **offline**, proving feed completeness from the frozen bundle bytes + the
623
+ * PINNED AWS public keys alone — no network, no AWS call, no HESO endpoint.
624
+ *
625
+ * `proof_json` is a [`heso_action::cloudtrail::CloudTrailFeedProof`] JSON: the
626
+ * digest chain (HEAD FIRST), the head's out-of-band `x-amz-meta-signature`, and
627
+ * the pinned per-Region AWS public keys (PKCS#1 DER, base64 — exactly as
628
+ * `ListPublicKeys` returns them; this verifier wraps them into SPKI internally,
629
+ * the #1 implementation trap handled once in the kernel).
630
+ *
631
+ * The AWS key is trusted **out of band** (CT pin-the-key model): a digest whose
632
+ * `digestPublicKeyFingerprint` matches no pinned key FAILS with
633
+ * `kind = "NoMatchingKey"`. The verdict separates `feed_complete` (window
634
+ * completeness, claimable to a third party for this STRONG rail) from a
635
+ * disclosed `ChainGap` — never collapsing a gap into a green badge.
636
+ *
637
+ * Throws `[CT_PARSE]` only if `proof_json` is not a valid `CloudTrailFeedProof`;
638
+ * every cryptographic / chain failure is a non-throwing kind tag instead.
639
+ */
640
+ export function verifyCloudTrailFeed(proof_json: string): CloudTrailFeedVerdict;
641
+
550
642
  /**
551
643
  * REJECT-MORE-ONLY. Verify a detached commitment-envelope signature in the
552
644
  * browser — the recipient independently confirms a commitment the same way the
@@ -736,12 +828,30 @@ export interface InitOutput {
736
828
  readonly __wbg_get_metricsverdict_card_id_matches: (a: number) => number;
737
829
  readonly __wbg_set_metricsverdict_card_id_matches: (a: number, b: number) => void;
738
830
  readonly verifyActionReceiptWithRates: (a: number, b: number, c: number, d: number) => number;
831
+ readonly __wbg_cloudtrailfeedverdict_free: (a: number, b: number) => void;
832
+ readonly __wbg_get_cloudtrailfeedverdict_feed_complete: (a: number) => number;
833
+ readonly __wbg_set_cloudtrailfeedverdict_feed_complete: (a: number, b: number) => void;
834
+ readonly __wbg_get_cloudtrailfeedverdict_kind: (a: number, b: number) => void;
835
+ readonly __wbg_set_cloudtrailfeedverdict_kind: (a: number, b: number, c: number) => void;
836
+ readonly __wbg_get_cloudtrailfeedverdict_digests_verified: (a: number) => number;
837
+ readonly __wbg_set_cloudtrailfeedverdict_digests_verified: (a: number, b: number) => void;
838
+ readonly __wbg_get_cloudtrailfeedverdict_window_end: (a: number, b: number) => void;
839
+ readonly __wbg_set_cloudtrailfeedverdict_window_end: (a: number, b: number, c: number) => void;
840
+ readonly __wbg_get_cloudtrailfeedverdict_window_start: (a: number, b: number) => void;
841
+ readonly __wbg_set_cloudtrailfeedverdict_window_start: (a: number, b: number, c: number) => void;
842
+ readonly __wbg_get_cloudtrailfeedverdict_signed_log_files_count: (a: number) => number;
843
+ readonly __wbg_set_cloudtrailfeedverdict_signed_log_files_count: (a: number, b: number) => void;
844
+ readonly __wbg_get_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number) => void;
845
+ readonly __wbg_set_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number, c: number) => void;
846
+ readonly verifyCloudTrailFeed: (a: number, b: number, c: number) => void;
739
847
  readonly __wbg_set_approvaltokenclaims_decision: (a: number, b: number, c: number) => void;
740
848
  readonly __wbg_set_approvaltokenclaims_scope: (a: number, b: number, c: number) => void;
741
849
  readonly __wbg_set_verifieddelegation_sub: (a: number, b: number, c: number) => void;
742
850
  readonly __wbg_set_verifieddelegation_scope: (a: number, b: number, c: number) => void;
743
851
  readonly __wbg_set_commitmentverdict_verdict: (a: number, b: number, c: number) => void;
744
852
  readonly __wbg_set_commitmentverdict_signer_fpr: (a: number, b: number, c: number) => void;
853
+ readonly __wbg_set_cloudtrailfeedverdict_broken_at: (a: number, b: number) => void;
854
+ readonly __wbg_get_cloudtrailfeedverdict_broken_at: (a: number) => number;
745
855
  readonly __wbg_commitmentverdict_free: (a: number, b: number) => void;
746
856
  readonly __wbg_get_approvaltokenclaims_decision: (a: number, b: number) => void;
747
857
  readonly __wbg_get_approvaltokenclaims_scope: (a: number, b: number) => void;
package/heso_wasm.js CHANGED
@@ -351,6 +351,233 @@ export class ChainResult {
351
351
  }
352
352
  if (Symbol.dispose) ChainResult.prototype[Symbol.dispose] = ChainResult.prototype.free;
353
353
 
354
+ /**
355
+ * The result of an offline CloudTrail feed-completeness check.
356
+ */
357
+ export class CloudTrailFeedVerdict {
358
+ static __wrap(ptr) {
359
+ const obj = Object.create(CloudTrailFeedVerdict.prototype);
360
+ obj.__wbg_ptr = ptr;
361
+ CloudTrailFeedVerdictFinalization.register(obj, obj.__wbg_ptr, obj);
362
+ return obj;
363
+ }
364
+ __destroy_into_raw() {
365
+ const ptr = this.__wbg_ptr;
366
+ this.__wbg_ptr = 0;
367
+ CloudTrailFeedVerdictFinalization.unregister(this);
368
+ return ptr;
369
+ }
370
+ free() {
371
+ const ptr = this.__destroy_into_raw();
372
+ wasm.__wbg_cloudtrailfeedverdict_free(ptr, 0);
373
+ }
374
+ /**
375
+ * 0-based head-first index at which the chain broke / a digest was rejected;
376
+ * `None` for `Complete`.
377
+ * @returns {number | undefined}
378
+ */
379
+ get broken_at() {
380
+ const ret = wasm.__wbg_get_cloudtrailfeedverdict_broken_at(this.__wbg_ptr);
381
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
382
+ }
383
+ /**
384
+ * Number of hourly digests whose signature + chain link verified.
385
+ * @returns {number}
386
+ */
387
+ get digests_verified() {
388
+ const ret = wasm.__wbg_get_cloudtrailfeedverdict_digests_verified(this.__wbg_ptr);
389
+ return ret >>> 0;
390
+ }
391
+ /**
392
+ * `true` ONLY when an unbroken signed chain proved completeness back to the
393
+ * starting (genesis) digest — the single state that earns a third-party
394
+ * `feed_complete` claim. A `ChainGap` (disclosed gap) reports `false`.
395
+ * @returns {boolean}
396
+ */
397
+ get feed_complete() {
398
+ const ret = wasm.__wbg_get_cloudtrailfeedverdict_feed_complete(this.__wbg_ptr);
399
+ return ret !== 0;
400
+ }
401
+ /**
402
+ * The kind tag of the outcome: `"Complete"`, `"ChainGap"`, `"Empty"`,
403
+ * `"Malformed"`, `"NoMatchingKey"`, `"SignatureInvalid"`,
404
+ * `"PreviousHashMismatch"`, `"PreviousSignatureMismatch"`,
405
+ * `"PreviousObjectMismatch"`.
406
+ * @returns {string}
407
+ */
408
+ get kind() {
409
+ let deferred1_0;
410
+ let deferred1_1;
411
+ try {
412
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
413
+ wasm.__wbg_get_cloudtrailfeedverdict_kind(retptr, this.__wbg_ptr);
414
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
415
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
416
+ deferred1_0 = r0;
417
+ deferred1_1 = r1;
418
+ return getStringFromWasm0(r0, r1);
419
+ } finally {
420
+ wasm.__wbindgen_add_to_stack_pointer(16);
421
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
422
+ }
423
+ }
424
+ /**
425
+ * Number of signed log files the verified digests committed to across the
426
+ * window. For `Complete` this is the SIGNED, COMPLETE inventory the window
427
+ * provably covers (no log file could have been added, removed, or modified
428
+ * without breaking the chain). `0` for non-window outcomes.
429
+ * @returns {number}
430
+ */
431
+ get signed_log_files_count() {
432
+ const ret = wasm.__wbg_get_cloudtrailfeedverdict_signed_log_files_count(this.__wbg_ptr);
433
+ return ret >>> 0;
434
+ }
435
+ /**
436
+ * The signed log-file inventory as a JSON array of
437
+ * `{s3_bucket, s3_object, hash_value, …}` — the proof page renders these so a
438
+ * third party can confirm WHICH files the window covers. `"[]"` for
439
+ * non-window outcomes.
440
+ * @returns {string}
441
+ */
442
+ get signed_log_files_json() {
443
+ let deferred1_0;
444
+ let deferred1_1;
445
+ try {
446
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
447
+ wasm.__wbg_get_cloudtrailfeedverdict_signed_log_files_json(retptr, this.__wbg_ptr);
448
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
449
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
450
+ deferred1_0 = r0;
451
+ deferred1_1 = r1;
452
+ return getStringFromWasm0(r0, r1);
453
+ } finally {
454
+ wasm.__wbindgen_add_to_stack_pointer(16);
455
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
456
+ }
457
+ }
458
+ /**
459
+ * `digestEndTime` of the head digest (window upper bound). `None` unless the
460
+ * outcome carries a window.
461
+ * @returns {string | undefined}
462
+ */
463
+ get window_end() {
464
+ try {
465
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
466
+ wasm.__wbg_get_cloudtrailfeedverdict_window_end(retptr, this.__wbg_ptr);
467
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
468
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
469
+ let v1;
470
+ if (r0 !== 0) {
471
+ v1 = getStringFromWasm0(r0, r1).slice();
472
+ wasm.__wbindgen_export3(r0, r1 * 1, 1);
473
+ }
474
+ return v1;
475
+ } finally {
476
+ wasm.__wbindgen_add_to_stack_pointer(16);
477
+ }
478
+ }
479
+ /**
480
+ * `digestEndTime` of the starting digest reached (`Complete`) or the last
481
+ * verified digest before the gap (`ChainGap`). `None` otherwise.
482
+ * @returns {string | undefined}
483
+ */
484
+ get window_start() {
485
+ try {
486
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
487
+ wasm.__wbg_get_cloudtrailfeedverdict_window_start(retptr, this.__wbg_ptr);
488
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
489
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
490
+ let v1;
491
+ if (r0 !== 0) {
492
+ v1 = getStringFromWasm0(r0, r1).slice();
493
+ wasm.__wbindgen_export3(r0, r1 * 1, 1);
494
+ }
495
+ return v1;
496
+ } finally {
497
+ wasm.__wbindgen_add_to_stack_pointer(16);
498
+ }
499
+ }
500
+ /**
501
+ * 0-based head-first index at which the chain broke / a digest was rejected;
502
+ * `None` for `Complete`.
503
+ * @param {number | null} [arg0]
504
+ */
505
+ set broken_at(arg0) {
506
+ wasm.__wbg_set_cloudtrailfeedverdict_broken_at(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
507
+ }
508
+ /**
509
+ * Number of hourly digests whose signature + chain link verified.
510
+ * @param {number} arg0
511
+ */
512
+ set digests_verified(arg0) {
513
+ wasm.__wbg_set_cloudtrailfeedverdict_digests_verified(this.__wbg_ptr, arg0);
514
+ }
515
+ /**
516
+ * `true` ONLY when an unbroken signed chain proved completeness back to the
517
+ * starting (genesis) digest — the single state that earns a third-party
518
+ * `feed_complete` claim. A `ChainGap` (disclosed gap) reports `false`.
519
+ * @param {boolean} arg0
520
+ */
521
+ set feed_complete(arg0) {
522
+ wasm.__wbg_set_cloudtrailfeedverdict_feed_complete(this.__wbg_ptr, arg0);
523
+ }
524
+ /**
525
+ * The kind tag of the outcome: `"Complete"`, `"ChainGap"`, `"Empty"`,
526
+ * `"Malformed"`, `"NoMatchingKey"`, `"SignatureInvalid"`,
527
+ * `"PreviousHashMismatch"`, `"PreviousSignatureMismatch"`,
528
+ * `"PreviousObjectMismatch"`.
529
+ * @param {string} arg0
530
+ */
531
+ set kind(arg0) {
532
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
533
+ const len0 = WASM_VECTOR_LEN;
534
+ wasm.__wbg_set_cloudtrailfeedverdict_kind(this.__wbg_ptr, ptr0, len0);
535
+ }
536
+ /**
537
+ * Number of signed log files the verified digests committed to across the
538
+ * window. For `Complete` this is the SIGNED, COMPLETE inventory the window
539
+ * provably covers (no log file could have been added, removed, or modified
540
+ * without breaking the chain). `0` for non-window outcomes.
541
+ * @param {number} arg0
542
+ */
543
+ set signed_log_files_count(arg0) {
544
+ wasm.__wbg_set_cloudtrailfeedverdict_signed_log_files_count(this.__wbg_ptr, arg0);
545
+ }
546
+ /**
547
+ * The signed log-file inventory as a JSON array of
548
+ * `{s3_bucket, s3_object, hash_value, …}` — the proof page renders these so a
549
+ * third party can confirm WHICH files the window covers. `"[]"` for
550
+ * non-window outcomes.
551
+ * @param {string} arg0
552
+ */
553
+ set signed_log_files_json(arg0) {
554
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
555
+ const len0 = WASM_VECTOR_LEN;
556
+ wasm.__wbg_set_cloudtrailfeedverdict_signed_log_files_json(this.__wbg_ptr, ptr0, len0);
557
+ }
558
+ /**
559
+ * `digestEndTime` of the head digest (window upper bound). `None` unless the
560
+ * outcome carries a window.
561
+ * @param {string | null} [arg0]
562
+ */
563
+ set window_end(arg0) {
564
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
565
+ var len0 = WASM_VECTOR_LEN;
566
+ wasm.__wbg_set_cloudtrailfeedverdict_window_end(this.__wbg_ptr, ptr0, len0);
567
+ }
568
+ /**
569
+ * `digestEndTime` of the starting digest reached (`Complete`) or the last
570
+ * verified digest before the gap (`ChainGap`). `None` otherwise.
571
+ * @param {string | null} [arg0]
572
+ */
573
+ set window_start(arg0) {
574
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
575
+ var len0 = WASM_VECTOR_LEN;
576
+ wasm.__wbg_set_cloudtrailfeedverdict_window_start(this.__wbg_ptr, ptr0, len0);
577
+ }
578
+ }
579
+ if (Symbol.dispose) CloudTrailFeedVerdict.prototype[Symbol.dispose] = CloudTrailFeedVerdict.prototype.free;
580
+
354
581
  /**
355
582
  * The kind-tagged verdict of [`verify_commitment_wasm`]. `verdict` is one of
356
583
  * `"Valid"`, `"InvalidSignature"`, `"FingerprintMismatch"`, `"WrongAlgorithm"`,
@@ -1719,6 +1946,46 @@ export function verifyChain(receipts_bytes) {
1719
1946
  }
1720
1947
  }
1721
1948
 
1949
+ /**
1950
+ * **REJECT-MORE-ONLY.** Verify an AWS CloudTrail signed digest-file chain
1951
+ * **offline**, proving feed completeness from the frozen bundle bytes + the
1952
+ * PINNED AWS public keys alone — no network, no AWS call, no HESO endpoint.
1953
+ *
1954
+ * `proof_json` is a [`heso_action::cloudtrail::CloudTrailFeedProof`] JSON: the
1955
+ * digest chain (HEAD FIRST), the head's out-of-band `x-amz-meta-signature`, and
1956
+ * the pinned per-Region AWS public keys (PKCS#1 DER, base64 — exactly as
1957
+ * `ListPublicKeys` returns them; this verifier wraps them into SPKI internally,
1958
+ * the #1 implementation trap handled once in the kernel).
1959
+ *
1960
+ * The AWS key is trusted **out of band** (CT pin-the-key model): a digest whose
1961
+ * `digestPublicKeyFingerprint` matches no pinned key FAILS with
1962
+ * `kind = "NoMatchingKey"`. The verdict separates `feed_complete` (window
1963
+ * completeness, claimable to a third party for this STRONG rail) from a
1964
+ * disclosed `ChainGap` — never collapsing a gap into a green badge.
1965
+ *
1966
+ * Throws `[CT_PARSE]` only if `proof_json` is not a valid `CloudTrailFeedProof`;
1967
+ * every cryptographic / chain failure is a non-throwing kind tag instead.
1968
+ * @param {string} proof_json
1969
+ * @returns {CloudTrailFeedVerdict}
1970
+ */
1971
+ export function verifyCloudTrailFeed(proof_json) {
1972
+ try {
1973
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1974
+ const ptr0 = passStringToWasm0(proof_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1975
+ const len0 = WASM_VECTOR_LEN;
1976
+ wasm.verifyCloudTrailFeed(retptr, ptr0, len0);
1977
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1978
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1979
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1980
+ if (r2) {
1981
+ throw takeObject(r1);
1982
+ }
1983
+ return CloudTrailFeedVerdict.__wrap(r0);
1984
+ } finally {
1985
+ wasm.__wbindgen_add_to_stack_pointer(16);
1986
+ }
1987
+ }
1988
+
1722
1989
  /**
1723
1990
  * REJECT-MORE-ONLY. Verify a detached commitment-envelope signature in the
1724
1991
  * browser — the recipient independently confirms a commitment the same way the
@@ -2075,6 +2342,9 @@ const ApprovalTokenClaimsFinalization = (typeof FinalizationRegistry === 'undefi
2075
2342
  const ChainResultFinalization = (typeof FinalizationRegistry === 'undefined')
2076
2343
  ? { register: () => {}, unregister: () => {} }
2077
2344
  : new FinalizationRegistry(ptr => wasm.__wbg_chainresult_free(ptr, 1));
2345
+ const CloudTrailFeedVerdictFinalization = (typeof FinalizationRegistry === 'undefined')
2346
+ ? { register: () => {}, unregister: () => {} }
2347
+ : new FinalizationRegistry(ptr => wasm.__wbg_cloudtrailfeedverdict_free(ptr, 1));
2078
2348
  const CommitmentVerdictFinalization = (typeof FinalizationRegistry === 'undefined')
2079
2349
  ? { register: () => {}, unregister: () => {} }
2080
2350
  : new FinalizationRegistry(ptr => wasm.__wbg_commitmentverdict_free(ptr, 1));
package/heso_wasm_bg.wasm CHANGED
Binary file
@@ -97,12 +97,30 @@ export const __wbg_set_metricsverdict_priced: (a: number, b: number) => void;
97
97
  export const __wbg_get_metricsverdict_card_id_matches: (a: number) => number;
98
98
  export const __wbg_set_metricsverdict_card_id_matches: (a: number, b: number) => void;
99
99
  export const verifyActionReceiptWithRates: (a: number, b: number, c: number, d: number) => number;
100
+ export const __wbg_cloudtrailfeedverdict_free: (a: number, b: number) => void;
101
+ export const __wbg_get_cloudtrailfeedverdict_feed_complete: (a: number) => number;
102
+ export const __wbg_set_cloudtrailfeedverdict_feed_complete: (a: number, b: number) => void;
103
+ export const __wbg_get_cloudtrailfeedverdict_kind: (a: number, b: number) => void;
104
+ export const __wbg_set_cloudtrailfeedverdict_kind: (a: number, b: number, c: number) => void;
105
+ export const __wbg_get_cloudtrailfeedverdict_digests_verified: (a: number) => number;
106
+ export const __wbg_set_cloudtrailfeedverdict_digests_verified: (a: number, b: number) => void;
107
+ export const __wbg_get_cloudtrailfeedverdict_window_end: (a: number, b: number) => void;
108
+ export const __wbg_set_cloudtrailfeedverdict_window_end: (a: number, b: number, c: number) => void;
109
+ export const __wbg_get_cloudtrailfeedverdict_window_start: (a: number, b: number) => void;
110
+ export const __wbg_set_cloudtrailfeedverdict_window_start: (a: number, b: number, c: number) => void;
111
+ export const __wbg_get_cloudtrailfeedverdict_signed_log_files_count: (a: number) => number;
112
+ export const __wbg_set_cloudtrailfeedverdict_signed_log_files_count: (a: number, b: number) => void;
113
+ export const __wbg_get_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number) => void;
114
+ export const __wbg_set_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number, c: number) => void;
115
+ export const verifyCloudTrailFeed: (a: number, b: number, c: number) => void;
100
116
  export const __wbg_set_approvaltokenclaims_decision: (a: number, b: number, c: number) => void;
101
117
  export const __wbg_set_approvaltokenclaims_scope: (a: number, b: number, c: number) => void;
102
118
  export const __wbg_set_verifieddelegation_sub: (a: number, b: number, c: number) => void;
103
119
  export const __wbg_set_verifieddelegation_scope: (a: number, b: number, c: number) => void;
104
120
  export const __wbg_set_commitmentverdict_verdict: (a: number, b: number, c: number) => void;
105
121
  export const __wbg_set_commitmentverdict_signer_fpr: (a: number, b: number, c: number) => void;
122
+ export const __wbg_set_cloudtrailfeedverdict_broken_at: (a: number, b: number) => void;
123
+ export const __wbg_get_cloudtrailfeedverdict_broken_at: (a: number) => number;
106
124
  export const __wbg_commitmentverdict_free: (a: number, b: number) => void;
107
125
  export const __wbg_get_approvaltokenclaims_decision: (a: number, b: number) => void;
108
126
  export const __wbg_get_approvaltokenclaims_scope: (a: number, b: number) => void;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@hesohq/verify-wasm",
3
- "version": "0.5.0-dev.71",
3
+ "version": "0.5.0-dev.85",
4
4
  "description": "HESO Enterprise trust layer — browser WASM verify-only surface (ESM)",
5
5
  "type": "module",
6
6
  "scripts": {
7
- "prepublishOnly": "for sym in l1CosignPayload quorumCosignPayload verifyActionReceipt verifyInclusion verifyConsistency verifyReveal; do for f in heso_wasm.js heso_wasm.d.ts heso_wasm_bg.wasm.d.ts heso_wasm_bg.wasm; do grep -aq \"$sym\" \"$f\" || { echo \"prepublishOnly: $sym missing from $f — stale artifact, run \\`just wasm\\` from heso-enterprise root\" >&2; exit 1; }; done; done; echo \"prepublishOnly: l1CosignPayload + quorumCosignPayload + verifyActionReceipt + verifyInclusion + verifyConsistency + verifyReveal present in all artifacts\"",
7
+ "prepublishOnly": "for sym in l1CosignPayload quorumCosignPayload verifyActionReceipt verifyInclusion verifyConsistency verifyReveal verifyCloudTrailFeed; do for f in heso_wasm.js heso_wasm.d.ts heso_wasm_bg.wasm.d.ts heso_wasm_bg.wasm; do grep -aq \"$sym\" \"$f\" || { echo \"prepublishOnly: $sym missing from $f — stale artifact, run \\`just wasm\\` from heso-enterprise root\" >&2; exit 1; }; done; done; echo \"prepublishOnly: l1CosignPayload + quorumCosignPayload + verifyActionReceipt + verifyInclusion + verifyConsistency + verifyReveal + verifyCloudTrailFeed present in all artifacts\"",
8
8
  "bundle:make": "node scripts/make-bundle.mjs",
9
9
  "verify:offline": "node scripts/assert-no-network-runtime.mjs",
10
10
  "verify:offline:docker": "bash scripts/verify-offline-docker.sh",