@hesohq/verify-wasm 0.5.1-dev.135 → 0.5.1-dev.138

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
@@ -326,6 +326,50 @@ export class MetricsVerdict {
326
326
  verdict: string;
327
327
  }
328
328
 
329
+ /**
330
+ * The transparency-aware verdict: the base offline outcome PLUS the honest
331
+ * witness status. `witnessed`/`witness_count`/`witness_status` are DERIVED from
332
+ * the verifier's [`WitnessStatus`], never inferred from a bare green:
333
+ *
334
+ * - No `transparency[]`, an empty `cosignatures[]`, or no pinned witness keys ⇒
335
+ * `witnessed = false`, `witness_count = 0`, `witness_status = "NotWitnessed"`.
336
+ * A valid-but-unwitnessed receipt is honestly reported as such, NEVER as a
337
+ * green "witnessed".
338
+ * - At least one distinct, pinned witness cosignature verified ⇒
339
+ * `witnessed = true`, `witness_count = <distinct>`, `witness_status =
340
+ * "Witnessed"`.
341
+ * - A demanded quorum (`minWitnesses > 0`) that is not met makes `verdict` the
342
+ * `"WitnessQuorumNotMet:have=…,need=…"` tag and leaves `witness_status =
343
+ * "NotWitnessed"` (fail closed — the quorum is a relying-party policy).
344
+ */
345
+ export class TransparencyVerdict {
346
+ private constructor();
347
+ free(): void;
348
+ [Symbol.dispose](): void;
349
+ /**
350
+ * The re-derived trust level (`"L0"`/`"L1"`); `""` unless `verdict == "Valid"`.
351
+ */
352
+ trust_level: string;
353
+ /**
354
+ * The base `ActionOutcome` verdict tag (`"Valid"`, `"HashMismatch"`,
355
+ * `"TransparencyUnverifiable:…"`, `"WitnessQuorumNotMet:have=…,need=…"`, …).
356
+ */
357
+ verdict: string;
358
+ /**
359
+ * The count of DISTINCT verified witness cosignatures (the minimum across the
360
+ * receipt's proofs). `0` when `witnessed == false`.
361
+ */
362
+ witness_count: number;
363
+ /**
364
+ * The honest witness line: `"Witnessed"` or `"NotWitnessed"`.
365
+ */
366
+ witness_status: string;
367
+ /**
368
+ * `true` iff at least one distinct, pinned witness cosignature verified.
369
+ */
370
+ witnessed: boolean;
371
+ }
372
+
329
373
  /**
330
374
  * The verified, decoded result of a delegation envelope.
331
375
  */
@@ -607,6 +651,44 @@ export function verifyActionReceipt(receipt_bytes: Uint8Array): ActionVerdict;
607
651
  */
608
652
  export function verifyActionReceiptWithRates(receipt_bytes: Uint8Array, rate_card_json: string): MetricsVerdict;
609
653
 
654
+ /**
655
+ * Verify a single `ActionReceipt` AND its transparency-log inclusion proof +
656
+ * witness cosignatures against the PINNED log/witness keys — the verify the
657
+ * public proof page runs so a third party confirms the receipt was logged AND
658
+ * independently witnessed, entirely offline from the frozen bytes.
659
+ *
660
+ * This calls the REAL [`open_receipt_with_transparency`] (the single source of
661
+ * truth shared with the CLI and the Python SDK): the base offline gate, then —
662
+ * for each proof in `receipt.transparency` — a two-stage RFC-6962 inclusion
663
+ * proof against the C2SP checkpoint note signed by `log_pubkey_b64`, then every
664
+ * cosignature `verify_strict`-ed over the exact checkpoint-note bytes against a
665
+ * pinned witness key (deduped by key to a DISTINCT count). The proofs live in
666
+ * the receipt's `transparency[]` block (stapled at export), so there is no
667
+ * separate `proofsJson` argument — passing the receipt passes its proofs.
668
+ *
669
+ * HONEST by construction (see [`TransparencyVerdict`]): absent/empty witnesses ⇒
670
+ * `NotWitnessed` (never a green "witnessed"); a demanded-but-unmet quorum
671
+ * (`min_witnesses > 0`) ⇒ the `WitnessQuorumNotMet` verdict, fail closed.
672
+ *
673
+ * `receipt_bytes` — raw `ActionReceipt` JSON (`Uint8Array`). A
674
+ * structurally bad receipt is an honest `"Malformed:…"`
675
+ * verdict, never a throw and never a green.
676
+ * `log_pubkey_b64` — the PINNED transparency-log public key (base64, raw 32
677
+ * bytes), trusted out of band (CT-style).
678
+ * `witness_keys_b64` — the PINNED witness public keys (base64, raw 32 bytes);
679
+ * empty ⇒ cosignatures are not counted (`NotWitnessed`).
680
+ * `min_witnesses` — the relying party's witness-QUORUM policy. `0` is
681
+ * presence-tolerant; `> 0` fails closed below quorum and
682
+ * requires at least one pinned witness key.
683
+ * `require_transparency` — when `true`, a receipt with no `transparency[]` fails
684
+ * closed (`"TransparencyRequired"`).
685
+ *
686
+ * Throws a `JsError` only for an UNUSABLE config input (a `log_pubkey_b64` /
687
+ * `witness_keys_b64` entry that is not base64 of exactly 32 bytes) — every
688
+ * cryptographic / quorum failure is a non-throwing verdict instead.
689
+ */
690
+ export function verifyActionReceiptWithTransparency(receipt_bytes: Uint8Array, log_pubkey_b64: string, witness_keys_b64: string[], min_witnesses: number, require_transparency: boolean): TransparencyVerdict;
691
+
610
692
  /**
611
693
  * Verify a serialized approval token and return its decoded claims.
612
694
  *
@@ -778,6 +860,10 @@ export interface InitOutput {
778
860
  readonly __wbg_get_verifieddelegation_not_before_unix_secs: (a: number) => number;
779
861
  readonly __wbg_set_verifieddelegation_not_before_unix_secs: (a: number, b: number) => void;
780
862
  readonly verifyActionReceipt: (a: number, b: number) => number;
863
+ readonly __wbg_transparencyverdict_free: (a: number, b: number) => void;
864
+ readonly __wbg_get_transparencyverdict_witness_count: (a: number) => number;
865
+ readonly __wbg_set_transparencyverdict_witness_count: (a: number, b: number) => void;
866
+ readonly verifyActionReceiptWithTransparency: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
781
867
  readonly actionCanonicalBytes: (a: number, b: number, c: number) => void;
782
868
  readonly l1CosignPayload: (a: number, b: number, c: number, d: number, e: number) => void;
783
869
  readonly quorumCosignPayload: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
@@ -860,13 +946,18 @@ export interface InitOutput {
860
946
  readonly __wbg_get_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number) => void;
861
947
  readonly __wbg_set_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number, c: number) => void;
862
948
  readonly verifyCloudTrailFeed: (a: number, b: number, c: number) => void;
949
+ readonly __wbg_set_transparencyverdict_witnessed: (a: number, b: number) => void;
863
950
  readonly __wbg_set_approvaltokenclaims_decision: (a: number, b: number, c: number) => void;
864
951
  readonly __wbg_set_approvaltokenclaims_scope: (a: number, b: number, c: number) => void;
865
952
  readonly __wbg_set_verifieddelegation_sub: (a: number, b: number, c: number) => void;
866
953
  readonly __wbg_set_verifieddelegation_scope: (a: number, b: number, c: number) => void;
867
954
  readonly __wbg_set_commitmentverdict_verdict: (a: number, b: number, c: number) => void;
868
955
  readonly __wbg_set_commitmentverdict_signer_fpr: (a: number, b: number, c: number) => void;
956
+ readonly __wbg_set_transparencyverdict_verdict: (a: number, b: number, c: number) => void;
957
+ readonly __wbg_set_transparencyverdict_trust_level: (a: number, b: number, c: number) => void;
958
+ readonly __wbg_set_transparencyverdict_witness_status: (a: number, b: number, c: number) => void;
869
959
  readonly __wbg_set_cloudtrailfeedverdict_broken_at: (a: number, b: number) => void;
960
+ readonly __wbg_get_transparencyverdict_witnessed: (a: number) => number;
870
961
  readonly __wbg_get_cloudtrailfeedverdict_broken_at: (a: number) => number;
871
962
  readonly __wbg_commitmentverdict_free: (a: number, b: number) => void;
872
963
  readonly __wbg_get_approvaltokenclaims_decision: (a: number, b: number) => void;
@@ -875,6 +966,9 @@ export interface InitOutput {
875
966
  readonly __wbg_get_verifieddelegation_scope: (a: number, b: number) => void;
876
967
  readonly __wbg_get_commitmentverdict_verdict: (a: number, b: number) => void;
877
968
  readonly __wbg_get_commitmentverdict_signer_fpr: (a: number, b: number) => void;
969
+ readonly __wbg_get_transparencyverdict_verdict: (a: number, b: number) => void;
970
+ readonly __wbg_get_transparencyverdict_trust_level: (a: number, b: number) => void;
971
+ readonly __wbg_get_transparencyverdict_witness_status: (a: number, b: number) => void;
878
972
  readonly __wbindgen_export: (a: number, b: number) => number;
879
973
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
880
974
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
package/heso_wasm.js CHANGED
@@ -1069,6 +1069,163 @@ export class MetricsVerdict {
1069
1069
  }
1070
1070
  if (Symbol.dispose) MetricsVerdict.prototype[Symbol.dispose] = MetricsVerdict.prototype.free;
1071
1071
 
1072
+ /**
1073
+ * The transparency-aware verdict: the base offline outcome PLUS the honest
1074
+ * witness status. `witnessed`/`witness_count`/`witness_status` are DERIVED from
1075
+ * the verifier's [`WitnessStatus`], never inferred from a bare green:
1076
+ *
1077
+ * - No `transparency[]`, an empty `cosignatures[]`, or no pinned witness keys ⇒
1078
+ * `witnessed = false`, `witness_count = 0`, `witness_status = "NotWitnessed"`.
1079
+ * A valid-but-unwitnessed receipt is honestly reported as such, NEVER as a
1080
+ * green "witnessed".
1081
+ * - At least one distinct, pinned witness cosignature verified ⇒
1082
+ * `witnessed = true`, `witness_count = <distinct>`, `witness_status =
1083
+ * "Witnessed"`.
1084
+ * - A demanded quorum (`minWitnesses > 0`) that is not met makes `verdict` the
1085
+ * `"WitnessQuorumNotMet:have=…,need=…"` tag and leaves `witness_status =
1086
+ * "NotWitnessed"` (fail closed — the quorum is a relying-party policy).
1087
+ */
1088
+ export class TransparencyVerdict {
1089
+ static __wrap(ptr) {
1090
+ const obj = Object.create(TransparencyVerdict.prototype);
1091
+ obj.__wbg_ptr = ptr;
1092
+ TransparencyVerdictFinalization.register(obj, obj.__wbg_ptr, obj);
1093
+ return obj;
1094
+ }
1095
+ __destroy_into_raw() {
1096
+ const ptr = this.__wbg_ptr;
1097
+ this.__wbg_ptr = 0;
1098
+ TransparencyVerdictFinalization.unregister(this);
1099
+ return ptr;
1100
+ }
1101
+ free() {
1102
+ const ptr = this.__destroy_into_raw();
1103
+ wasm.__wbg_transparencyverdict_free(ptr, 0);
1104
+ }
1105
+ /**
1106
+ * The re-derived trust level (`"L0"`/`"L1"`); `""` unless `verdict == "Valid"`.
1107
+ * @returns {string}
1108
+ */
1109
+ get trust_level() {
1110
+ let deferred1_0;
1111
+ let deferred1_1;
1112
+ try {
1113
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1114
+ wasm.__wbg_get_transparencyverdict_trust_level(retptr, this.__wbg_ptr);
1115
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1116
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1117
+ deferred1_0 = r0;
1118
+ deferred1_1 = r1;
1119
+ return getStringFromWasm0(r0, r1);
1120
+ } finally {
1121
+ wasm.__wbindgen_add_to_stack_pointer(16);
1122
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
1123
+ }
1124
+ }
1125
+ /**
1126
+ * The base `ActionOutcome` verdict tag (`"Valid"`, `"HashMismatch"`,
1127
+ * `"TransparencyUnverifiable:…"`, `"WitnessQuorumNotMet:have=…,need=…"`, …).
1128
+ * @returns {string}
1129
+ */
1130
+ get verdict() {
1131
+ let deferred1_0;
1132
+ let deferred1_1;
1133
+ try {
1134
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1135
+ wasm.__wbg_get_transparencyverdict_verdict(retptr, this.__wbg_ptr);
1136
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1137
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1138
+ deferred1_0 = r0;
1139
+ deferred1_1 = r1;
1140
+ return getStringFromWasm0(r0, r1);
1141
+ } finally {
1142
+ wasm.__wbindgen_add_to_stack_pointer(16);
1143
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
1144
+ }
1145
+ }
1146
+ /**
1147
+ * The count of DISTINCT verified witness cosignatures (the minimum across the
1148
+ * receipt's proofs). `0` when `witnessed == false`.
1149
+ * @returns {number}
1150
+ */
1151
+ get witness_count() {
1152
+ const ret = wasm.__wbg_get_transparencyverdict_witness_count(this.__wbg_ptr);
1153
+ return ret >>> 0;
1154
+ }
1155
+ /**
1156
+ * The honest witness line: `"Witnessed"` or `"NotWitnessed"`.
1157
+ * @returns {string}
1158
+ */
1159
+ get witness_status() {
1160
+ let deferred1_0;
1161
+ let deferred1_1;
1162
+ try {
1163
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1164
+ wasm.__wbg_get_transparencyverdict_witness_status(retptr, this.__wbg_ptr);
1165
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1166
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1167
+ deferred1_0 = r0;
1168
+ deferred1_1 = r1;
1169
+ return getStringFromWasm0(r0, r1);
1170
+ } finally {
1171
+ wasm.__wbindgen_add_to_stack_pointer(16);
1172
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
1173
+ }
1174
+ }
1175
+ /**
1176
+ * `true` iff at least one distinct, pinned witness cosignature verified.
1177
+ * @returns {boolean}
1178
+ */
1179
+ get witnessed() {
1180
+ const ret = wasm.__wbg_get_transparencyverdict_witnessed(this.__wbg_ptr);
1181
+ return ret !== 0;
1182
+ }
1183
+ /**
1184
+ * The re-derived trust level (`"L0"`/`"L1"`); `""` unless `verdict == "Valid"`.
1185
+ * @param {string} arg0
1186
+ */
1187
+ set trust_level(arg0) {
1188
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1189
+ const len0 = WASM_VECTOR_LEN;
1190
+ wasm.__wbg_set_transparencyverdict_trust_level(this.__wbg_ptr, ptr0, len0);
1191
+ }
1192
+ /**
1193
+ * The base `ActionOutcome` verdict tag (`"Valid"`, `"HashMismatch"`,
1194
+ * `"TransparencyUnverifiable:…"`, `"WitnessQuorumNotMet:have=…,need=…"`, …).
1195
+ * @param {string} arg0
1196
+ */
1197
+ set verdict(arg0) {
1198
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1199
+ const len0 = WASM_VECTOR_LEN;
1200
+ wasm.__wbg_set_transparencyverdict_verdict(this.__wbg_ptr, ptr0, len0);
1201
+ }
1202
+ /**
1203
+ * The count of DISTINCT verified witness cosignatures (the minimum across the
1204
+ * receipt's proofs). `0` when `witnessed == false`.
1205
+ * @param {number} arg0
1206
+ */
1207
+ set witness_count(arg0) {
1208
+ wasm.__wbg_set_transparencyverdict_witness_count(this.__wbg_ptr, arg0);
1209
+ }
1210
+ /**
1211
+ * The honest witness line: `"Witnessed"` or `"NotWitnessed"`.
1212
+ * @param {string} arg0
1213
+ */
1214
+ set witness_status(arg0) {
1215
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1216
+ const len0 = WASM_VECTOR_LEN;
1217
+ wasm.__wbg_set_transparencyverdict_witness_status(this.__wbg_ptr, ptr0, len0);
1218
+ }
1219
+ /**
1220
+ * `true` iff at least one distinct, pinned witness cosignature verified.
1221
+ * @param {boolean} arg0
1222
+ */
1223
+ set witnessed(arg0) {
1224
+ wasm.__wbg_set_transparencyverdict_witnessed(this.__wbg_ptr, arg0);
1225
+ }
1226
+ }
1227
+ if (Symbol.dispose) TransparencyVerdict.prototype[Symbol.dispose] = TransparencyVerdict.prototype.free;
1228
+
1072
1229
  /**
1073
1230
  * The verified, decoded result of a delegation envelope.
1074
1231
  */
@@ -1907,6 +2064,70 @@ export function verifyActionReceiptWithRates(receipt_bytes, rate_card_json) {
1907
2064
  return MetricsVerdict.__wrap(ret);
1908
2065
  }
1909
2066
 
2067
+ /**
2068
+ * Verify a single `ActionReceipt` AND its transparency-log inclusion proof +
2069
+ * witness cosignatures against the PINNED log/witness keys — the verify the
2070
+ * public proof page runs so a third party confirms the receipt was logged AND
2071
+ * independently witnessed, entirely offline from the frozen bytes.
2072
+ *
2073
+ * This calls the REAL [`open_receipt_with_transparency`] (the single source of
2074
+ * truth shared with the CLI and the Python SDK): the base offline gate, then —
2075
+ * for each proof in `receipt.transparency` — a two-stage RFC-6962 inclusion
2076
+ * proof against the C2SP checkpoint note signed by `log_pubkey_b64`, then every
2077
+ * cosignature `verify_strict`-ed over the exact checkpoint-note bytes against a
2078
+ * pinned witness key (deduped by key to a DISTINCT count). The proofs live in
2079
+ * the receipt's `transparency[]` block (stapled at export), so there is no
2080
+ * separate `proofsJson` argument — passing the receipt passes its proofs.
2081
+ *
2082
+ * HONEST by construction (see [`TransparencyVerdict`]): absent/empty witnesses ⇒
2083
+ * `NotWitnessed` (never a green "witnessed"); a demanded-but-unmet quorum
2084
+ * (`min_witnesses > 0`) ⇒ the `WitnessQuorumNotMet` verdict, fail closed.
2085
+ *
2086
+ * `receipt_bytes` — raw `ActionReceipt` JSON (`Uint8Array`). A
2087
+ * structurally bad receipt is an honest `"Malformed:…"`
2088
+ * verdict, never a throw and never a green.
2089
+ * `log_pubkey_b64` — the PINNED transparency-log public key (base64, raw 32
2090
+ * bytes), trusted out of band (CT-style).
2091
+ * `witness_keys_b64` — the PINNED witness public keys (base64, raw 32 bytes);
2092
+ * empty ⇒ cosignatures are not counted (`NotWitnessed`).
2093
+ * `min_witnesses` — the relying party's witness-QUORUM policy. `0` is
2094
+ * presence-tolerant; `> 0` fails closed below quorum and
2095
+ * requires at least one pinned witness key.
2096
+ * `require_transparency` — when `true`, a receipt with no `transparency[]` fails
2097
+ * closed (`"TransparencyRequired"`).
2098
+ *
2099
+ * Throws a `JsError` only for an UNUSABLE config input (a `log_pubkey_b64` /
2100
+ * `witness_keys_b64` entry that is not base64 of exactly 32 bytes) — every
2101
+ * cryptographic / quorum failure is a non-throwing verdict instead.
2102
+ * @param {Uint8Array} receipt_bytes
2103
+ * @param {string} log_pubkey_b64
2104
+ * @param {string[]} witness_keys_b64
2105
+ * @param {number} min_witnesses
2106
+ * @param {boolean} require_transparency
2107
+ * @returns {TransparencyVerdict}
2108
+ */
2109
+ export function verifyActionReceiptWithTransparency(receipt_bytes, log_pubkey_b64, witness_keys_b64, min_witnesses, require_transparency) {
2110
+ try {
2111
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2112
+ const ptr0 = passArray8ToWasm0(receipt_bytes, wasm.__wbindgen_export);
2113
+ const len0 = WASM_VECTOR_LEN;
2114
+ const ptr1 = passStringToWasm0(log_pubkey_b64, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2115
+ const len1 = WASM_VECTOR_LEN;
2116
+ const ptr2 = passArrayJsValueToWasm0(witness_keys_b64, wasm.__wbindgen_export);
2117
+ const len2 = WASM_VECTOR_LEN;
2118
+ wasm.verifyActionReceiptWithTransparency(retptr, ptr0, len0, ptr1, len1, ptr2, len2, min_witnesses, require_transparency);
2119
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2120
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2121
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2122
+ if (r2) {
2123
+ throw takeObject(r1);
2124
+ }
2125
+ return TransparencyVerdict.__wrap(r0);
2126
+ } finally {
2127
+ wasm.__wbindgen_add_to_stack_pointer(16);
2128
+ }
2129
+ }
2130
+
1910
2131
  /**
1911
2132
  * Verify a serialized approval token and return its decoded claims.
1912
2133
  *
@@ -2385,6 +2606,9 @@ const CommitmentVerdictFinalization = (typeof FinalizationRegistry === 'undefine
2385
2606
  const MetricsVerdictFinalization = (typeof FinalizationRegistry === 'undefined')
2386
2607
  ? { register: () => {}, unregister: () => {} }
2387
2608
  : new FinalizationRegistry(ptr => wasm.__wbg_metricsverdict_free(ptr, 1));
2609
+ const TransparencyVerdictFinalization = (typeof FinalizationRegistry === 'undefined')
2610
+ ? { register: () => {}, unregister: () => {} }
2611
+ : new FinalizationRegistry(ptr => wasm.__wbg_transparencyverdict_free(ptr, 1));
2388
2612
  const VerifiedDelegationFinalization = (typeof FinalizationRegistry === 'undefined')
2389
2613
  ? { register: () => {}, unregister: () => {} }
2390
2614
  : new FinalizationRegistry(ptr => wasm.__wbg_verifieddelegation_free(ptr, 1));
@@ -2447,6 +2671,16 @@ function passArray8ToWasm0(arg, malloc) {
2447
2671
  return ptr;
2448
2672
  }
2449
2673
 
2674
+ function passArrayJsValueToWasm0(array, malloc) {
2675
+ const ptr = malloc(array.length * 4, 4) >>> 0;
2676
+ const mem = getDataViewMemory0();
2677
+ for (let i = 0; i < array.length; i++) {
2678
+ mem.setUint32(ptr + 4 * i, addHeapObject(array[i]), true);
2679
+ }
2680
+ WASM_VECTOR_LEN = array.length;
2681
+ return ptr;
2682
+ }
2683
+
2450
2684
  function passStringToWasm0(arg, malloc, realloc) {
2451
2685
  if (realloc === undefined) {
2452
2686
  const buf = cachedTextEncoder.encode(arg);
package/heso_wasm_bg.wasm CHANGED
Binary file
@@ -32,6 +32,10 @@ export const __wbg_set_verifieddelegation_expiry_unix_secs: (a: number, b: numbe
32
32
  export const __wbg_get_verifieddelegation_not_before_unix_secs: (a: number) => number;
33
33
  export const __wbg_set_verifieddelegation_not_before_unix_secs: (a: number, b: number) => void;
34
34
  export const verifyActionReceipt: (a: number, b: number) => number;
35
+ export const __wbg_transparencyverdict_free: (a: number, b: number) => void;
36
+ export const __wbg_get_transparencyverdict_witness_count: (a: number) => number;
37
+ export const __wbg_set_transparencyverdict_witness_count: (a: number, b: number) => void;
38
+ export const verifyActionReceiptWithTransparency: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
35
39
  export const actionCanonicalBytes: (a: number, b: number, c: number) => void;
36
40
  export const l1CosignPayload: (a: number, b: number, c: number, d: number, e: number) => void;
37
41
  export const quorumCosignPayload: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
@@ -114,13 +118,18 @@ export const __wbg_set_cloudtrailfeedverdict_signed_log_files_count: (a: number,
114
118
  export const __wbg_get_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number) => void;
115
119
  export const __wbg_set_cloudtrailfeedverdict_signed_log_files_json: (a: number, b: number, c: number) => void;
116
120
  export const verifyCloudTrailFeed: (a: number, b: number, c: number) => void;
121
+ export const __wbg_set_transparencyverdict_witnessed: (a: number, b: number) => void;
117
122
  export const __wbg_set_approvaltokenclaims_decision: (a: number, b: number, c: number) => void;
118
123
  export const __wbg_set_approvaltokenclaims_scope: (a: number, b: number, c: number) => void;
119
124
  export const __wbg_set_verifieddelegation_sub: (a: number, b: number, c: number) => void;
120
125
  export const __wbg_set_verifieddelegation_scope: (a: number, b: number, c: number) => void;
121
126
  export const __wbg_set_commitmentverdict_verdict: (a: number, b: number, c: number) => void;
122
127
  export const __wbg_set_commitmentverdict_signer_fpr: (a: number, b: number, c: number) => void;
128
+ export const __wbg_set_transparencyverdict_verdict: (a: number, b: number, c: number) => void;
129
+ export const __wbg_set_transparencyverdict_trust_level: (a: number, b: number, c: number) => void;
130
+ export const __wbg_set_transparencyverdict_witness_status: (a: number, b: number, c: number) => void;
123
131
  export const __wbg_set_cloudtrailfeedverdict_broken_at: (a: number, b: number) => void;
132
+ export const __wbg_get_transparencyverdict_witnessed: (a: number) => number;
124
133
  export const __wbg_get_cloudtrailfeedverdict_broken_at: (a: number) => number;
125
134
  export const __wbg_commitmentverdict_free: (a: number, b: number) => void;
126
135
  export const __wbg_get_approvaltokenclaims_decision: (a: number, b: number) => void;
@@ -129,6 +138,9 @@ export const __wbg_get_verifieddelegation_sub: (a: number, b: number) => void;
129
138
  export const __wbg_get_verifieddelegation_scope: (a: number, b: number) => void;
130
139
  export const __wbg_get_commitmentverdict_verdict: (a: number, b: number) => void;
131
140
  export const __wbg_get_commitmentverdict_signer_fpr: (a: number, b: number) => void;
141
+ export const __wbg_get_transparencyverdict_verdict: (a: number, b: number) => void;
142
+ export const __wbg_get_transparencyverdict_trust_level: (a: number, b: number) => void;
143
+ export const __wbg_get_transparencyverdict_witness_status: (a: number, b: number) => void;
132
144
  export const __wbindgen_export: (a: number, b: number) => number;
133
145
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
134
146
  export const __wbindgen_add_to_stack_pointer: (a: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hesohq/verify-wasm",
3
- "version": "0.5.1-dev.135",
3
+ "version": "0.5.1-dev.138",
4
4
  "description": "HESO Enterprise trust layer — browser WASM verify-only surface (ESM)",
5
5
  "type": "module",
6
6
  "scripts": {