@veraanchor/verifier 0.0.0-stage → 0.1.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.
- package/CHANGELOG.md +22 -0
- package/CONTRIBUTING.md +33 -0
- package/LICENSE +21 -0
- package/NOTICE +4 -0
- package/README.md +263 -2
- package/SECURITY.md +21 -0
- package/dist/cli/commandV1.d.ts +5 -0
- package/dist/cli/commandV1.d.ts.map +1 -0
- package/dist/cli/commandV1.js +440 -0
- package/dist/cli/commandV1.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/contracts/verification.d.ts +77 -0
- package/dist/contracts/verification.d.ts.map +1 -0
- package/dist/contracts/verification.js +6 -0
- package/dist/contracts/verification.js.map +1 -0
- package/dist/crypto/sha3.d.ts +15 -0
- package/dist/crypto/sha3.d.ts.map +1 -0
- package/dist/crypto/sha3.js +27 -0
- package/dist/crypto/sha3.js.map +1 -0
- package/dist/crypto/streamSha3.d.ts +26 -0
- package/dist/crypto/streamSha3.d.ts.map +1 -0
- package/dist/crypto/streamSha3.js +52 -0
- package/dist/crypto/streamSha3.js.map +1 -0
- package/dist/hf/hashContractV1.d.ts +48 -0
- package/dist/hf/hashContractV1.d.ts.map +1 -0
- package/dist/hf/hashContractV1.js +185 -0
- package/dist/hf/hashContractV1.js.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/merkle/membership.d.ts +30 -0
- package/dist/merkle/membership.d.ts.map +1 -0
- package/dist/merkle/membership.js +105 -0
- package/dist/merkle/membership.js.map +1 -0
- package/dist/policy/contractV1.d.ts +37 -0
- package/dist/policy/contractV1.d.ts.map +1 -0
- package/dist/policy/contractV1.js +2 -0
- package/dist/policy/contractV1.js.map +1 -0
- package/dist/policy/evaluateV1.d.ts +24 -0
- package/dist/policy/evaluateV1.d.ts.map +1 -0
- package/dist/policy/evaluateV1.js +320 -0
- package/dist/policy/evaluateV1.js.map +1 -0
- package/dist/profiles/dataset/sourceV1.d.ts +22 -0
- package/dist/profiles/dataset/sourceV1.d.ts.map +1 -0
- package/dist/profiles/dataset/sourceV1.js +73 -0
- package/dist/profiles/dataset/sourceV1.js.map +1 -0
- package/dist/profiles/dataset/v1.d.ts +39 -0
- package/dist/profiles/dataset/v1.d.ts.map +1 -0
- package/dist/profiles/dataset/v1.js +362 -0
- package/dist/profiles/dataset/v1.js.map +1 -0
- package/dist/profiles/execution/contractV1.d.ts +279 -0
- package/dist/profiles/execution/contractV1.d.ts.map +1 -0
- package/dist/profiles/execution/contractV1.js +364 -0
- package/dist/profiles/execution/contractV1.js.map +1 -0
- package/dist/profiles/execution/independentStandardsV1.d.ts +44 -0
- package/dist/profiles/execution/independentStandardsV1.d.ts.map +1 -0
- package/dist/profiles/execution/independentStandardsV1.js +336 -0
- package/dist/profiles/execution/independentStandardsV1.js.map +1 -0
- package/dist/profiles/execution/reasonCodesV1.d.ts +30 -0
- package/dist/profiles/execution/reasonCodesV1.d.ts.map +1 -0
- package/dist/profiles/execution/reasonCodesV1.js +20 -0
- package/dist/profiles/execution/reasonCodesV1.js.map +1 -0
- package/dist/profiles/execution/recomputationV1.d.ts +11 -0
- package/dist/profiles/execution/recomputationV1.d.ts.map +1 -0
- package/dist/profiles/execution/recomputationV1.js +144 -0
- package/dist/profiles/execution/recomputationV1.js.map +1 -0
- package/dist/profiles/execution/rulesV1.d.ts +6 -0
- package/dist/profiles/execution/rulesV1.d.ts.map +1 -0
- package/dist/profiles/execution/rulesV1.js +855 -0
- package/dist/profiles/execution/rulesV1.js.map +1 -0
- package/dist/profiles/execution/standardsPlanV1.d.ts +18 -0
- package/dist/profiles/execution/standardsPlanV1.d.ts.map +1 -0
- package/dist/profiles/execution/standardsPlanV1.js +16 -0
- package/dist/profiles/execution/standardsPlanV1.js.map +1 -0
- package/dist/profiles/execution/verificationV1.d.ts +28 -0
- package/dist/profiles/execution/verificationV1.d.ts.map +1 -0
- package/dist/profiles/execution/verificationV1.js +188 -0
- package/dist/profiles/execution/verificationV1.js.map +1 -0
- package/dist/profiles/ingest/sourceV1.d.ts +36 -0
- package/dist/profiles/ingest/sourceV1.d.ts.map +1 -0
- package/dist/profiles/ingest/sourceV1.js +99 -0
- package/dist/profiles/ingest/sourceV1.js.map +1 -0
- package/dist/profiles/ingest/v1.d.ts +65 -0
- package/dist/profiles/ingest/v1.d.ts.map +1 -0
- package/dist/profiles/ingest/v1.js +477 -0
- package/dist/profiles/ingest/v1.js.map +1 -0
- package/dist/profiles/sourceV1Helpers.d.ts +48 -0
- package/dist/profiles/sourceV1Helpers.d.ts.map +1 -0
- package/dist/profiles/sourceV1Helpers.js +141 -0
- package/dist/profiles/sourceV1Helpers.js.map +1 -0
- package/dist/reports/coreV1.d.ts +7 -0
- package/dist/reports/coreV1.d.ts.map +1 -0
- package/dist/reports/coreV1.js +195 -0
- package/dist/reports/coreV1.js.map +1 -0
- package/dist/reports/portableV1.d.ts +48 -0
- package/dist/reports/portableV1.d.ts.map +1 -0
- package/dist/reports/portableV1.js +279 -0
- package/dist/reports/portableV1.js.map +1 -0
- package/dist/reports/validationV1.d.ts +19 -0
- package/dist/reports/validationV1.d.ts.map +1 -0
- package/dist/reports/validationV1.js +441 -0
- package/dist/reports/validationV1.js.map +1 -0
- package/dist/resolvers/executionMirrorV1.d.ts +15 -0
- package/dist/resolvers/executionMirrorV1.d.ts.map +1 -0
- package/dist/resolvers/executionMirrorV1.js +206 -0
- package/dist/resolvers/executionMirrorV1.js.map +1 -0
- package/dist/resolvers/explorerExecutionV1.d.ts +17 -0
- package/dist/resolvers/explorerExecutionV1.d.ts.map +1 -0
- package/dist/resolvers/explorerExecutionV1.js +61 -0
- package/dist/resolvers/explorerExecutionV1.js.map +1 -0
- package/dist/resolvers/explorerPublicV1.d.ts +37 -0
- package/dist/resolvers/explorerPublicV1.d.ts.map +1 -0
- package/dist/resolvers/explorerPublicV1.js +210 -0
- package/dist/resolvers/explorerPublicV1.js.map +1 -0
- package/dist/resolvers/explorerPublicationV1.d.ts +20 -0
- package/dist/resolvers/explorerPublicationV1.d.ts.map +1 -0
- package/dist/resolvers/explorerPublicationV1.js +195 -0
- package/dist/resolvers/explorerPublicationV1.js.map +1 -0
- package/dist/resolvers/explorerTransportV1.d.ts +17 -0
- package/dist/resolvers/explorerTransportV1.d.ts.map +1 -0
- package/dist/resolvers/explorerTransportV1.js +112 -0
- package/dist/resolvers/explorerTransportV1.js.map +1 -0
- package/dist/resolvers/hcs11MirrorV1.d.ts +49 -0
- package/dist/resolvers/hcs11MirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs11MirrorV1.js +293 -0
- package/dist/resolvers/hcs11MirrorV1.js.map +1 -0
- package/dist/resolvers/hcs13MirrorV1.d.ts +35 -0
- package/dist/resolvers/hcs13MirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs13MirrorV1.js +72 -0
- package/dist/resolvers/hcs13MirrorV1.js.map +1 -0
- package/dist/resolvers/hcs1MirrorV1.d.ts +28 -0
- package/dist/resolvers/hcs1MirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs1MirrorV1.js +220 -0
- package/dist/resolvers/hcs1MirrorV1.js.map +1 -0
- package/dist/resolvers/hcs26MirrorV1.d.ts +67 -0
- package/dist/resolvers/hcs26MirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs26MirrorV1.js +218 -0
- package/dist/resolvers/hcs26MirrorV1.js.map +1 -0
- package/dist/resolvers/hcs26RegistryMirrorV1.d.ts +26 -0
- package/dist/resolvers/hcs26RegistryMirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs26RegistryMirrorV1.js +200 -0
- package/dist/resolvers/hcs26RegistryMirrorV1.js.map +1 -0
- package/dist/resolvers/hcs2MirrorV1.d.ts +26 -0
- package/dist/resolvers/hcs2MirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hcs2MirrorV1.js +196 -0
- package/dist/resolvers/hcs2MirrorV1.js.map +1 -0
- package/dist/resolvers/hederaMirrorV1.d.ts +22 -0
- package/dist/resolvers/hederaMirrorV1.d.ts.map +1 -0
- package/dist/resolvers/hederaMirrorV1.js +338 -0
- package/dist/resolvers/hederaMirrorV1.js.map +1 -0
- package/dist/standards/hcs/hcs11V1.d.ts +51 -0
- package/dist/standards/hcs/hcs11V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs11V1.js +289 -0
- package/dist/standards/hcs/hcs11V1.js.map +1 -0
- package/dist/standards/hcs/hcs13V1.d.ts +39 -0
- package/dist/standards/hcs/hcs13V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs13V1.js +114 -0
- package/dist/standards/hcs/hcs13V1.js.map +1 -0
- package/dist/standards/hcs/hcs14V1.d.ts +35 -0
- package/dist/standards/hcs/hcs14V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs14V1.js +168 -0
- package/dist/standards/hcs/hcs14V1.js.map +1 -0
- package/dist/standards/hcs/hcs1V1.d.ts +30 -0
- package/dist/standards/hcs/hcs1V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs1V1.js +140 -0
- package/dist/standards/hcs/hcs1V1.js.map +1 -0
- package/dist/standards/hcs/hcs26V1.d.ts +58 -0
- package/dist/standards/hcs/hcs26V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs26V1.js +339 -0
- package/dist/standards/hcs/hcs26V1.js.map +1 -0
- package/dist/standards/hcs/hcs2V1.d.ts +36 -0
- package/dist/standards/hcs/hcs2V1.d.ts.map +1 -0
- package/dist/standards/hcs/hcs2V1.js +181 -0
- package/dist/standards/hcs/hcs2V1.js.map +1 -0
- package/dist/standards/hcs/jsonCanonicalV1.d.ts +15 -0
- package/dist/standards/hcs/jsonCanonicalV1.d.ts.map +1 -0
- package/dist/standards/hcs/jsonCanonicalV1.js +160 -0
- package/dist/standards/hcs/jsonCanonicalV1.js.map +1 -0
- package/dist/triangulation/compareV1.d.ts +50 -0
- package/dist/triangulation/compareV1.d.ts.map +1 -0
- package/dist/triangulation/compareV1.js +236 -0
- package/dist/triangulation/compareV1.js.map +1 -0
- package/dist/triangulation/executionPlanV1.d.ts +39 -0
- package/dist/triangulation/executionPlanV1.d.ts.map +1 -0
- package/dist/triangulation/executionPlanV1.js +208 -0
- package/dist/triangulation/executionPlanV1.js.map +1 -0
- package/dist/triangulation/executionPublicV1.d.ts +22 -0
- package/dist/triangulation/executionPublicV1.d.ts.map +1 -0
- package/dist/triangulation/executionPublicV1.js +39 -0
- package/dist/triangulation/executionPublicV1.js.map +1 -0
- package/dist/triangulation/messageObservationV1.d.ts +26 -0
- package/dist/triangulation/messageObservationV1.d.ts.map +1 -0
- package/dist/triangulation/messageObservationV1.js +69 -0
- package/dist/triangulation/messageObservationV1.js.map +1 -0
- package/dist/triangulation/publicV1.d.ts +29 -0
- package/dist/triangulation/publicV1.d.ts.map +1 -0
- package/dist/triangulation/publicV1.js +170 -0
- package/dist/triangulation/publicV1.js.map +1 -0
- package/dist/verification/sourceIntentV1.d.ts +15 -0
- package/dist/verification/sourceIntentV1.d.ts.map +1 -0
- package/dist/verification/sourceIntentV1.js +206 -0
- package/dist/verification/sourceIntentV1.js.map +1 -0
- package/docs/cli-v0.1.md +237 -0
- package/docs/conformance.md +38 -0
- package/docs/threat-model.md +37 -0
- package/docs/verification-semantics.md +65 -0
- package/examples/README.md +35 -0
- package/examples/dataset-offline.mjs +58 -0
- package/examples/dataset-policy.mjs +59 -0
- package/package.json +65 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/contractV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Online, read-only SAGE standards resolution over the SDK's pinned open HCS
|
|
3
|
+
* verifiers. The execution evidence supplies CLAIMED locators, never trusted
|
|
4
|
+
* resolver outcomes. Exact historical locators are required; no 'latest' reads.
|
|
5
|
+
*
|
|
6
|
+
* Mirror REST establishes corroboration relative to VA, not authenticated
|
|
7
|
+
* Hedera consensus, DID control, or historical account-memo ownership.
|
|
8
|
+
*/
|
|
9
|
+
import type { HederaNetwork } from "../../contracts/verification.js";
|
|
10
|
+
import type { Hcs1MirrorV1Config } from "../../resolvers/hcs1MirrorV1.js";
|
|
11
|
+
import type { Hcs1V1ContentOptions } from "../../standards/hcs/hcs1V1.js";
|
|
12
|
+
import { type ExecutionV1Input, type ExecutionV1Report } from "./verificationV1.js";
|
|
13
|
+
export type IndependentStandardsV1Item = Readonly<{
|
|
14
|
+
key: string;
|
|
15
|
+
standard: string;
|
|
16
|
+
reference: string;
|
|
17
|
+
status: "resolved" | "conflict" | "invalid" | "unavailable" | "unsupported";
|
|
18
|
+
reason_code: string | null;
|
|
19
|
+
resolver_id: string | null;
|
|
20
|
+
/** Exact historical message timestamp when available, not a current-state claim. */
|
|
21
|
+
historical_consensus_timestamps_exact: readonly string[];
|
|
22
|
+
/** HCS-11 account and registry topic memos are observed current state. */
|
|
23
|
+
current_topic_or_account_memo_observed: boolean;
|
|
24
|
+
/** SHA-256 of independently retrieved canonical HCS-1 content, when established. */
|
|
25
|
+
content_sha256: string | null;
|
|
26
|
+
/** Only Mirror REST corroboration; no Hedera consensus-signature authentication. */
|
|
27
|
+
assurance: "mirror_corroborated" | "not_established";
|
|
28
|
+
}>;
|
|
29
|
+
export type IndependentStandardsV1Report = ExecutionV1Report & Readonly<{
|
|
30
|
+
independent_standards: Readonly<{
|
|
31
|
+
network: HederaNetwork;
|
|
32
|
+
status: "verified" | "failed" | "unavailable" | "not_performed";
|
|
33
|
+
assurance: "mirror_corroborated" | "not_established";
|
|
34
|
+
items: readonly IndependentStandardsV1Item[];
|
|
35
|
+
}>;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the exact SAGE standards reference plan using the built-in Hedera
|
|
39
|
+
* resolvers only. Does NOT accept an externally supplied resolver success map.
|
|
40
|
+
* Caller-supplied intent is checked before any network I/O. The provided
|
|
41
|
+
* execution evidence itself is NEVER authenticated merely by this operation.
|
|
42
|
+
*/
|
|
43
|
+
export declare function verifyExecutionWithIndependentStandardsV1(config: Hcs1MirrorV1Config, input: ExecutionV1Input, decodeOptions?: Hcs1V1ContentOptions): Promise<IndependentStandardsV1Report>;
|
|
44
|
+
//# sourceMappingURL=independentStandardsV1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"independentStandardsV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/execution/independentStandardsV1.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EACJ,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAW1E,OAAO,EAA+B,KAAK,gBAAgB,EACzD,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oFAAoF;IACpF,qCAAqC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,0EAA0E;IAC1E,sCAAsC,EAAE,OAAO,CAAC;IAChD,oFAAoF;IACpF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oFAAoF;IACpF,SAAS,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IACtE,qBAAqB,EAAE,QAAQ,CAAC;QAC9B,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;QAChE,SAAS,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;QACrD,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;KAC9C,CAAC,CAAC;CACJ,CAAC,CAAC;AA0NH;;;;;GAKG;AACH,wBAAsB,yCAAyC,CAC7D,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,gBAAgB,EACvB,aAAa,GAAE,oBAAyB,GACvC,OAAO,CAAC,4BAA4B,CAAC,CA6FvC"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import { parseHcs1ReferenceV1 } from "../../standards/hcs/hcs1V1.js";
|
|
2
|
+
import { parseHcs13ReferenceV1 } from "../../standards/hcs/hcs13V1.js";
|
|
3
|
+
import { parseHcs14DidUaidV1, Hcs14V1Error } from "../../standards/hcs/hcs14V1.js";
|
|
4
|
+
import { resolveHcs11ProfileV1 } from "../../resolvers/hcs11MirrorV1.js";
|
|
5
|
+
import { resolveHcs2RegisterV1 } from "../../resolvers/hcs2MirrorV1.js";
|
|
6
|
+
import { resolveHcs13SchemaV1 } from "../../resolvers/hcs13MirrorV1.js";
|
|
7
|
+
import { resolveHcs26SkillVersionV1 } from "../../resolvers/hcs26MirrorV1.js";
|
|
8
|
+
import { buildStandardsResolutionPlan } from "./standardsPlanV1.js";
|
|
9
|
+
import { verifyExecutionV1WithIntent } from "./verificationV1.js";
|
|
10
|
+
const TOPIC = /^0\.0\.[0-9]+$/;
|
|
11
|
+
const SHA256 = /^[0-9a-f]{64}$/;
|
|
12
|
+
const POSITIVE = /^[1-9][0-9]*$/;
|
|
13
|
+
const MAX_REFERENCES = 16;
|
|
14
|
+
function text(value) {
|
|
15
|
+
return typeof value === "string" ? value.trim() : "";
|
|
16
|
+
}
|
|
17
|
+
function positive(value) {
|
|
18
|
+
if (typeof value !== "number" && typeof value !== "string")
|
|
19
|
+
return null;
|
|
20
|
+
const s = String(value);
|
|
21
|
+
if (!POSITIVE.test(s))
|
|
22
|
+
return null;
|
|
23
|
+
const n = Number(s);
|
|
24
|
+
return Number.isSafeInteger(n) && n > 0 ? n : null;
|
|
25
|
+
}
|
|
26
|
+
function hex(value) {
|
|
27
|
+
return typeof value === "string" && SHA256.test(value) ? value : null;
|
|
28
|
+
}
|
|
29
|
+
function topic(value) {
|
|
30
|
+
return typeof value === "string" && TOPIC.test(value) && value.length <= 64 ? value : null;
|
|
31
|
+
}
|
|
32
|
+
function fact(key, value) {
|
|
33
|
+
return Object.freeze({ key, state: "available", value });
|
|
34
|
+
}
|
|
35
|
+
function unavailable(code) {
|
|
36
|
+
return { status: "unavailable", code, resolver: null, times: [], currentMemo: false, sha256: null };
|
|
37
|
+
}
|
|
38
|
+
function invalid(code) {
|
|
39
|
+
return { status: "invalid", code, resolver: null, times: [], currentMemo: false, sha256: null };
|
|
40
|
+
}
|
|
41
|
+
function mismatch(code) {
|
|
42
|
+
return { status: "conflict", code, resolver: null, times: [], currentMemo: false, sha256: null };
|
|
43
|
+
}
|
|
44
|
+
function networkMatch(input, net, job) {
|
|
45
|
+
return input.execution?.hedera_network === net &&
|
|
46
|
+
text(input.execution?.job_id).toLowerCase() === job &&
|
|
47
|
+
text(input.execution?.program).toLowerCase() === "sage";
|
|
48
|
+
}
|
|
49
|
+
function hasReference(ref) {
|
|
50
|
+
try {
|
|
51
|
+
parseHcs1ReferenceV1(ref);
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function agent(config, net, evidence, item, decode) {
|
|
59
|
+
const h = evidence?.hcs11;
|
|
60
|
+
if (!h || !item.reference || !evidence?.hcs14_uaid || !evidence.base_did) {
|
|
61
|
+
return unavailable("HCS11_EXECUTION_REFERENCE_MISSING");
|
|
62
|
+
}
|
|
63
|
+
const account = topic(h.account_id);
|
|
64
|
+
const registryTopic = topic(h.profile_registry_topic_id);
|
|
65
|
+
const sequence = positive(h.profile_registry_sequence);
|
|
66
|
+
const checksum = hex(h.profile_checksum_sha256);
|
|
67
|
+
if (!account || !registryTopic || !sequence || !checksum || !hasReference(item.reference) ||
|
|
68
|
+
item.reference !== h.profile_hcs1_ref)
|
|
69
|
+
return invalid("HCS11_EXECUTION_REFERENCE_INVALID");
|
|
70
|
+
try {
|
|
71
|
+
parseHcs14DidUaidV1(evidence.hcs14_uaid);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return invalid("HCS11_EXECUTION_UAID_INVALID");
|
|
75
|
+
}
|
|
76
|
+
const expectations = {
|
|
77
|
+
hedera_network: net, account_id: account,
|
|
78
|
+
expected_hcs1_reference: item.reference,
|
|
79
|
+
expected_hcs1_sha256: checksum,
|
|
80
|
+
expected_profile_sha256: checksum,
|
|
81
|
+
expected_uaid: evidence.hcs14_uaid,
|
|
82
|
+
expected_base_did: evidence.base_did,
|
|
83
|
+
};
|
|
84
|
+
let result;
|
|
85
|
+
let directRegistryTime = null;
|
|
86
|
+
try {
|
|
87
|
+
// Prefer the exact HCS-2 account-memo route. An independently observed
|
|
88
|
+
// direct HCS-1 memo is also supported by the pinned HCS-11 contract, but
|
|
89
|
+
// its separately claimed historical HCS-2 registration still needs proof.
|
|
90
|
+
result = await resolveHcs11ProfileV1(config, {
|
|
91
|
+
...expectations, hcs2_sequence_number: sequence,
|
|
92
|
+
expected_profile_reference: `hcs://2/${registryTopic}`,
|
|
93
|
+
}, decode);
|
|
94
|
+
if (result.status === "conflict" && result.reason_code === "HCS11_ACCOUNT_REFERENCE_MISMATCH" &&
|
|
95
|
+
result.account_memo?.profile_reference === item.reference &&
|
|
96
|
+
result.account_memo.protocol === "hcs-1") {
|
|
97
|
+
result = await resolveHcs11ProfileV1(config, {
|
|
98
|
+
...expectations, expected_profile_reference: item.reference,
|
|
99
|
+
}, decode);
|
|
100
|
+
if (result.status === "resolved") {
|
|
101
|
+
const expectedTopic = parseHcs1ReferenceV1(item.reference).topic_id;
|
|
102
|
+
const historical = await resolveHcs2RegisterV1(config, {
|
|
103
|
+
hedera_network: net, registry_topic_id: registryTopic,
|
|
104
|
+
sequence_number: sequence, expected_t_id: expectedTopic,
|
|
105
|
+
});
|
|
106
|
+
if (historical.status !== "resolved" || !historical.consensus_timestamp) {
|
|
107
|
+
return { status: historical.status === "resolved" ? "unavailable" : historical.status,
|
|
108
|
+
code: historical.reason_code ?? "HCS11_HISTORICAL_REGISTRY_UNAVAILABLE",
|
|
109
|
+
resolver: historical.resolver_id, times: [], currentMemo: true,
|
|
110
|
+
sha256: result.content_sha256 };
|
|
111
|
+
}
|
|
112
|
+
directRegistryTime = historical.consensus_timestamp;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
if (error instanceof Hcs14V1Error)
|
|
118
|
+
return invalid(error.code);
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
const time = result.registry_entry?.consensus_timestamp ?? directRegistryTime;
|
|
122
|
+
return {
|
|
123
|
+
status: result.status, code: result.reason_code, resolver: result.resolver_id,
|
|
124
|
+
times: time ? [time] : [], currentMemo: result.account_memo !== null,
|
|
125
|
+
sha256: result.content_sha256,
|
|
126
|
+
facts: result.status === "resolved" ? [
|
|
127
|
+
fact("hedera.account_id", result.account_id),
|
|
128
|
+
fact("hcs11.profile_reference", result.profile_reference),
|
|
129
|
+
fact("hcs11.profile_sha256", result.content_sha256),
|
|
130
|
+
fact("hcs11.account_memo_temporal_scope", "current_observation"),
|
|
131
|
+
fact("hcs14.did_binding", result.did_binding),
|
|
132
|
+
] : [],
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
async function schema(config, net, evidence, item, decode) {
|
|
136
|
+
if (!evidence || !item.reference)
|
|
137
|
+
return unavailable("HCS13_EXECUTION_REFERENCE_MISSING");
|
|
138
|
+
const topicId = topic(evidence.registry_topic_id);
|
|
139
|
+
const seq = positive(evidence.registry_sequence_number);
|
|
140
|
+
const checksum = hex(evidence.schema_checksum_sha256);
|
|
141
|
+
if (!topicId || !seq || !checksum || item.reference !== evidence.hcs13_ref) {
|
|
142
|
+
return invalid("HCS13_EXECUTION_REFERENCE_INVALID");
|
|
143
|
+
}
|
|
144
|
+
let ref;
|
|
145
|
+
try {
|
|
146
|
+
ref = parseHcs13ReferenceV1(item.reference);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return invalid("HCS13_EXECUTION_REFERENCE_INVALID");
|
|
150
|
+
}
|
|
151
|
+
if (ref.registry_topic_id !== topicId || ref.sequence_number !== seq) {
|
|
152
|
+
return mismatch("HCS13_EXECUTION_REFERENCE_SCOPE_MISMATCH");
|
|
153
|
+
}
|
|
154
|
+
const result = await resolveHcs13SchemaV1(config, {
|
|
155
|
+
hedera_network: net, reference: item.reference, expected_schema_sha256: checksum,
|
|
156
|
+
}, decode);
|
|
157
|
+
return {
|
|
158
|
+
status: result.status, code: result.reason_code, resolver: result.resolver_id,
|
|
159
|
+
times: result.registry_consensus_timestamp_exact ? [result.registry_consensus_timestamp_exact] : [],
|
|
160
|
+
currentMemo: result.registry_consensus_timestamp_exact !== null, sha256: result.content_sha256,
|
|
161
|
+
facts: result.status === "resolved" ? [
|
|
162
|
+
fact("hcs13.reference", result.reference.ref),
|
|
163
|
+
fact("hcs13.schema_sha256", result.schema_sha256),
|
|
164
|
+
fact("hcs13.registry_memo_temporal_scope", "current_observation"),
|
|
165
|
+
] : [],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
async function capability(config, net, evidence, item, decode) {
|
|
169
|
+
if (!evidence || !item.reference)
|
|
170
|
+
return unavailable("HCS26_EXECUTION_REFERENCE_MISSING");
|
|
171
|
+
const discovery = topic(evidence.discovery_registry_topic_id);
|
|
172
|
+
const versionTopic = topic(evidence.version_registry_topic_id);
|
|
173
|
+
const uid = positive(evidence.skill_uid);
|
|
174
|
+
const sequence = positive(evidence.version_sequence_number);
|
|
175
|
+
const checksum = hex(evidence.manifest_checksum_sha256);
|
|
176
|
+
const version = text(evidence.skill_version);
|
|
177
|
+
if (!discovery || !versionTopic || !uid || !sequence || !checksum || !version ||
|
|
178
|
+
!hasReference(item.reference) || item.reference !== evidence.manifest_hcs1_ref ||
|
|
179
|
+
version.length > 64 || text(evidence.standard) !== "HCS-26") {
|
|
180
|
+
return invalid("HCS26_EXECUTION_REFERENCE_INVALID");
|
|
181
|
+
}
|
|
182
|
+
const result = await resolveHcs26SkillVersionV1(config, {
|
|
183
|
+
hedera_network: net, discovery_topic_id: discovery,
|
|
184
|
+
discovery_sequence_number: uid, version_sequence_number: sequence,
|
|
185
|
+
expected_skill_uid: uid, expected_version_topic_id: versionTopic,
|
|
186
|
+
expected_version: version, expected_manifest_reference: item.reference,
|
|
187
|
+
expected_manifest_sha256: checksum,
|
|
188
|
+
}, decode);
|
|
189
|
+
if (result.status === "resolved" && evidence.repository_commit && typeof result.manifest?.commit === "string" &&
|
|
190
|
+
evidence.repository_commit !== result.manifest.commit) {
|
|
191
|
+
return { status: "conflict", code: "HCS26_EXECUTION_RELEASE_COMMIT_MISMATCH",
|
|
192
|
+
resolver: result.resolver_id,
|
|
193
|
+
times: [result.discovery_consensus_timestamp_exact, result.version_consensus_timestamp_exact]
|
|
194
|
+
.filter((v) => v !== null),
|
|
195
|
+
currentMemo: true, sha256: result.content_sha256,
|
|
196
|
+
facts: [fact("hcs26.manifest_release_commit", result.manifest.commit)] };
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
status: result.status, code: result.reason_code, resolver: result.resolver_id,
|
|
200
|
+
times: [result.discovery_consensus_timestamp_exact, result.version_consensus_timestamp_exact]
|
|
201
|
+
.filter((v) => v !== null),
|
|
202
|
+
currentMemo: result.discovery_consensus_timestamp_exact !== null, sha256: result.content_sha256,
|
|
203
|
+
facts: result.status === "resolved" ? [
|
|
204
|
+
fact("hcs26.skill_uid", result.skill_uid),
|
|
205
|
+
fact("hcs26.version", result.version),
|
|
206
|
+
fact("hcs26.manifest_sha256", result.manifest_sha256),
|
|
207
|
+
fact("hcs26.historical_version_status", result.historical_version_status),
|
|
208
|
+
fact("hcs26.registry_memo_temporal_scope", "current_observation"),
|
|
209
|
+
...(typeof result.manifest?.commit === "string" ?
|
|
210
|
+
[fact("hcs26.manifest_release_commit", result.manifest.commit)] : []),
|
|
211
|
+
] : [],
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function outcome(status) {
|
|
215
|
+
if (status === "resolved")
|
|
216
|
+
return "pass";
|
|
217
|
+
if (status === "conflict" || status === "invalid")
|
|
218
|
+
return "fail";
|
|
219
|
+
if (status === "unsupported")
|
|
220
|
+
return "unsupported";
|
|
221
|
+
return "indeterminate";
|
|
222
|
+
}
|
|
223
|
+
function aggregate(items) {
|
|
224
|
+
if (items.some((i) => i.status === "invalid" || i.status === "conflict"))
|
|
225
|
+
return "failed";
|
|
226
|
+
if (items.length === 0 || items.some((i) => i.status !== "resolved"))
|
|
227
|
+
return "unavailable";
|
|
228
|
+
return "verified";
|
|
229
|
+
}
|
|
230
|
+
function summaryOutcome(state) {
|
|
231
|
+
return state === "verified" ? "pass" : state === "failed" ? "fail" : "indeterminate";
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Resolve the exact SAGE standards reference plan using the built-in Hedera
|
|
235
|
+
* resolvers only. Does NOT accept an externally supplied resolver success map.
|
|
236
|
+
* Caller-supplied intent is checked before any network I/O. The provided
|
|
237
|
+
* execution evidence itself is NEVER authenticated merely by this operation.
|
|
238
|
+
*/
|
|
239
|
+
export async function verifyExecutionWithIndependentStandardsV1(config, input, decodeOptions = {}) {
|
|
240
|
+
if (input?.profile !== undefined && input.profile !== "sage-standards-v1") {
|
|
241
|
+
throw new TypeError("Independent SAGE standards require sage-standards-v1 profile");
|
|
242
|
+
}
|
|
243
|
+
const report = verifyExecutionV1WithIntent(input);
|
|
244
|
+
const net = report.intent.subject.hedera_network;
|
|
245
|
+
if (net !== "testnet" && net !== "mainnet")
|
|
246
|
+
throw new TypeError("Execution network is required");
|
|
247
|
+
const evidence = input.evidence;
|
|
248
|
+
const preflight = report.findings.find((f) => f.check_id === "input.bounds")?.outcome === "pass" &&
|
|
249
|
+
report.findings.find((f) => f.check_id === "intent.subject")?.outcome === "pass" &&
|
|
250
|
+
report.findings.find((f) => f.check_id === "profile.program_scope")?.outcome === "pass" &&
|
|
251
|
+
report.findings.find((f) => f.check_id === "intent.program")?.outcome !== "fail" &&
|
|
252
|
+
report.findings.find((f) => f.check_id === "intent.result")?.outcome !== "fail" &&
|
|
253
|
+
evidence?.available === true && networkMatch(evidence, net, report.intent.subject.id);
|
|
254
|
+
let plan = [];
|
|
255
|
+
if (preflight)
|
|
256
|
+
plan = buildStandardsResolutionPlan(evidence);
|
|
257
|
+
const unique = new Set(plan.map((item) => item.key));
|
|
258
|
+
const schemas = evidence?.standards?.schemas;
|
|
259
|
+
const schemasValid = Array.isArray(schemas) && schemas.length > 0 && schemas.every((entry, index) => {
|
|
260
|
+
const role = text(entry?.role);
|
|
261
|
+
const ordinal = entry?.ordinal == null ? index : entry.ordinal;
|
|
262
|
+
return role.length > 0 && role.length <= 128 && !/[\u0000-\u001f\u007f]/.test(role) &&
|
|
263
|
+
Number.isSafeInteger(ordinal) && ordinal >= 0;
|
|
264
|
+
});
|
|
265
|
+
const planValid = schemasValid && plan.length >= 4 && plan.length <= MAX_REFERENCES &&
|
|
266
|
+
unique.size === plan.length && plan.every((item) => item.key.length > 0 && item.key.length <= 256 && item.reference.length <= 256);
|
|
267
|
+
const run = Boolean(preflight && planValid);
|
|
268
|
+
const items = [];
|
|
269
|
+
const observations = [...report.observations];
|
|
270
|
+
const findings = [...report.findings];
|
|
271
|
+
const subject = report.intent.subject;
|
|
272
|
+
if (run) {
|
|
273
|
+
// Sequential by design: bounds outstanding network requests and makes
|
|
274
|
+
// observation ordering deterministic across hosts and timeouts.
|
|
275
|
+
for (const [index, item] of plan.entries()) {
|
|
276
|
+
let observed;
|
|
277
|
+
if (item.target.kind === "agent") {
|
|
278
|
+
observed = await agent(config, net, evidence.agents?.[item.target.role], item, decodeOptions);
|
|
279
|
+
}
|
|
280
|
+
else if (item.target.kind === "capability") {
|
|
281
|
+
observed = await capability(config, net, evidence.capability, item, decodeOptions);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
observed = await schema(config, net, evidence.standards?.schemas?.[item.target.index], item, decodeOptions);
|
|
285
|
+
}
|
|
286
|
+
const observationId = `standards.mirror.${index}`;
|
|
287
|
+
const present = observed.resolver !== null;
|
|
288
|
+
if (present) {
|
|
289
|
+
observations.push(Object.freeze({ id: observationId, subject, source: "hedera_mirror",
|
|
290
|
+
resolver_id: observed.resolver,
|
|
291
|
+
facts: Object.freeze([
|
|
292
|
+
fact("standards.plan_key", item.key), fact("standards.requested_reference", item.reference),
|
|
293
|
+
fact("hedera.requested_network", net), fact("standards.resolution_status", observed.status),
|
|
294
|
+
...observed.times.map((t, i) => fact(`hedera.consensus_timestamp_exact.${i}`, t)),
|
|
295
|
+
...(observed.sha256 ? [fact("standards.content_sha256", observed.sha256)] : []),
|
|
296
|
+
...(observed.facts ?? []),
|
|
297
|
+
]), }));
|
|
298
|
+
}
|
|
299
|
+
items.push(Object.freeze({ key: item.key, standard: item.standard, reference: item.reference,
|
|
300
|
+
status: observed.status, reason_code: observed.code, resolver_id: observed.resolver,
|
|
301
|
+
historical_consensus_timestamps_exact: Object.freeze([...observed.times]),
|
|
302
|
+
current_topic_or_account_memo_observed: observed.currentMemo,
|
|
303
|
+
content_sha256: observed.sha256,
|
|
304
|
+
assurance: observed.status === "resolved" ? "mirror_corroborated" : "not_established" }));
|
|
305
|
+
findings.push(Object.freeze({ check_id: `standards.reference.${index}`,
|
|
306
|
+
outcome: outcome(observed.status), reason_code: observed.code,
|
|
307
|
+
observation_ids: Object.freeze(present ? [observationId] : []),
|
|
308
|
+
}));
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
const state = run ? aggregate(items) : "not_performed";
|
|
312
|
+
const reason = !preflight ? "STANDARDS_EXECUTION_PREFLIGHT_FAILED" :
|
|
313
|
+
!planValid ? "STANDARDS_RESOLUTION_PLAN_INVALID" :
|
|
314
|
+
state === "verified" ? null : state === "failed" ? "STANDARDS_INDEPENDENT_REFERENCE_CONFLICT" :
|
|
315
|
+
"STANDARDS_INDEPENDENT_REFERENCE_UNAVAILABLE";
|
|
316
|
+
const summaryId = "standards.references_resolved";
|
|
317
|
+
const summaryFinding = Object.freeze({ check_id: summaryId,
|
|
318
|
+
outcome: summaryOutcome(state), reason_code: reason,
|
|
319
|
+
observation_ids: Object.freeze(items.map((_v, i) => `standards.mirror.${i}`)
|
|
320
|
+
.filter((id) => observations.some((obs) => obs.id === id))),
|
|
321
|
+
});
|
|
322
|
+
const existing = findings.findIndex((item) => item.check_id === summaryId);
|
|
323
|
+
if (existing >= 0)
|
|
324
|
+
findings[existing] = summaryFinding;
|
|
325
|
+
else
|
|
326
|
+
findings.push(summaryFinding);
|
|
327
|
+
return Object.freeze({
|
|
328
|
+
...report,
|
|
329
|
+
observations: Object.freeze(observations),
|
|
330
|
+
findings: Object.freeze(findings),
|
|
331
|
+
independent_standards: Object.freeze({ network: net, status: state,
|
|
332
|
+
assurance: state === "verified" ? "mirror_corroborated" : "not_established",
|
|
333
|
+
items: Object.freeze(items), }),
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=independentStandardsV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"independentStandardsV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/independentStandardsV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const EXECUTION_VERIFICATION_REASON_CODES: Readonly<{
|
|
2
|
+
readonly CHECK_PASSED: "CHECK_PASSED";
|
|
3
|
+
readonly NOT_APPLICABLE: "NOT_APPLICABLE";
|
|
4
|
+
readonly INPUT_STRUCTURE_INVALID: "INPUT_STRUCTURE_INVALID";
|
|
5
|
+
readonly INPUT_LIMIT_EXCEEDED: "INPUT_LIMIT_EXCEEDED";
|
|
6
|
+
readonly REQUIRED_EVIDENCE_MISSING: "REQUIRED_EVIDENCE_MISSING";
|
|
7
|
+
readonly MALFORMED_EVIDENCE: "MALFORMED_EVIDENCE";
|
|
8
|
+
readonly PUBLIC_CONTRACT_UNSUPPORTED: "PUBLIC_CONTRACT_UNSUPPORTED";
|
|
9
|
+
readonly NETWORK_SCOPE_MISMATCH: "NETWORK_SCOPE_MISMATCH";
|
|
10
|
+
readonly REFERENCE_SET_INCOMPLETE: "REFERENCE_SET_INCOMPLETE";
|
|
11
|
+
readonly REFERENCE_SUMMARY_MISMATCH: "REFERENCE_SUMMARY_MISMATCH";
|
|
12
|
+
readonly BINDING_DIGEST_MISMATCH: "BINDING_DIGEST_MISMATCH";
|
|
13
|
+
readonly PARAMETER_COMMITMENT_MISMATCH: "PARAMETER_COMMITMENT_MISMATCH";
|
|
14
|
+
readonly ACCEPTANCE_RECOMPUTATION_MISMATCH: "ACCEPTANCE_RECOMPUTATION_MISMATCH";
|
|
15
|
+
readonly ACCEPTANCE_AFTER_EXECUTION_START: "ACCEPTANCE_AFTER_EXECUTION_START";
|
|
16
|
+
readonly ACCEPTANCE_NOT_CONFIRMED: "ACCEPTANCE_NOT_CONFIRMED";
|
|
17
|
+
readonly HCS_CONFIRMATION_REQUIRED: "HCS_CONFIRMATION_REQUIRED";
|
|
18
|
+
readonly PIPELINE_HASH_MISMATCH: "PIPELINE_HASH_MISMATCH";
|
|
19
|
+
readonly RESULT_SCOPE_MISMATCH: "RESULT_SCOPE_MISMATCH";
|
|
20
|
+
readonly RESULT_EVIDENCE_UNSEALED: "RESULT_EVIDENCE_UNSEALED";
|
|
21
|
+
readonly ACCEPTANCE_DIGEST_MISMATCH: "ACCEPTANCE_DIGEST_MISMATCH";
|
|
22
|
+
readonly RESULT_EVIDENCE_DIGEST_MISMATCH: "RESULT_EVIDENCE_DIGEST_MISMATCH";
|
|
23
|
+
readonly STANDARDS_RESOLUTION_UNAVAILABLE: "STANDARDS_RESOLUTION_UNAVAILABLE";
|
|
24
|
+
readonly PARAMETER_COMPARISON_UNAVAILABLE: "PARAMETER_COMPARISON_UNAVAILABLE";
|
|
25
|
+
readonly AUTHORITATIVE_EXECUTION_TIME_UNAVAILABLE: "AUTHORITATIVE_EXECUTION_TIME_UNAVAILABLE";
|
|
26
|
+
readonly BINDING_RECOMPUTATION_UNAVAILABLE: "BINDING_RECOMPUTATION_UNAVAILABLE";
|
|
27
|
+
readonly RESULT_EVIDENCE_RECOMPUTATION_UNAVAILABLE: "RESULT_EVIDENCE_RECOMPUTATION_UNAVAILABLE";
|
|
28
|
+
}>;
|
|
29
|
+
export type ExecutionVerificationReasonCode = (typeof EXECUTION_VERIFICATION_REASON_CODES)[keyof typeof EXECUTION_VERIFICATION_REASON_CODES];
|
|
30
|
+
//# sourceMappingURL=reasonCodesV1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasonCodesV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/execution/reasonCodesV1.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBrC,CAAC;AACZ,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,OAAO,mCAAmC,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Machine-readable execution rule reasons, frozen Explorer contract baseline.
|
|
2
|
+
export const EXECUTION_VERIFICATION_REASON_CODES = Object.freeze({
|
|
3
|
+
CHECK_PASSED: "CHECK_PASSED", NOT_APPLICABLE: "NOT_APPLICABLE",
|
|
4
|
+
INPUT_STRUCTURE_INVALID: "INPUT_STRUCTURE_INVALID", INPUT_LIMIT_EXCEEDED: "INPUT_LIMIT_EXCEEDED",
|
|
5
|
+
REQUIRED_EVIDENCE_MISSING: "REQUIRED_EVIDENCE_MISSING", MALFORMED_EVIDENCE: "MALFORMED_EVIDENCE",
|
|
6
|
+
PUBLIC_CONTRACT_UNSUPPORTED: "PUBLIC_CONTRACT_UNSUPPORTED", NETWORK_SCOPE_MISMATCH: "NETWORK_SCOPE_MISMATCH",
|
|
7
|
+
REFERENCE_SET_INCOMPLETE: "REFERENCE_SET_INCOMPLETE", REFERENCE_SUMMARY_MISMATCH: "REFERENCE_SUMMARY_MISMATCH",
|
|
8
|
+
BINDING_DIGEST_MISMATCH: "BINDING_DIGEST_MISMATCH", PARAMETER_COMMITMENT_MISMATCH: "PARAMETER_COMMITMENT_MISMATCH",
|
|
9
|
+
ACCEPTANCE_RECOMPUTATION_MISMATCH: "ACCEPTANCE_RECOMPUTATION_MISMATCH",
|
|
10
|
+
ACCEPTANCE_AFTER_EXECUTION_START: "ACCEPTANCE_AFTER_EXECUTION_START", ACCEPTANCE_NOT_CONFIRMED: "ACCEPTANCE_NOT_CONFIRMED",
|
|
11
|
+
HCS_CONFIRMATION_REQUIRED: "HCS_CONFIRMATION_REQUIRED", PIPELINE_HASH_MISMATCH: "PIPELINE_HASH_MISMATCH",
|
|
12
|
+
RESULT_SCOPE_MISMATCH: "RESULT_SCOPE_MISMATCH", RESULT_EVIDENCE_UNSEALED: "RESULT_EVIDENCE_UNSEALED",
|
|
13
|
+
ACCEPTANCE_DIGEST_MISMATCH: "ACCEPTANCE_DIGEST_MISMATCH", RESULT_EVIDENCE_DIGEST_MISMATCH: "RESULT_EVIDENCE_DIGEST_MISMATCH",
|
|
14
|
+
STANDARDS_RESOLUTION_UNAVAILABLE: "STANDARDS_RESOLUTION_UNAVAILABLE",
|
|
15
|
+
PARAMETER_COMPARISON_UNAVAILABLE: "PARAMETER_COMPARISON_UNAVAILABLE",
|
|
16
|
+
AUTHORITATIVE_EXECUTION_TIME_UNAVAILABLE: "AUTHORITATIVE_EXECUTION_TIME_UNAVAILABLE",
|
|
17
|
+
BINDING_RECOMPUTATION_UNAVAILABLE: "BINDING_RECOMPUTATION_UNAVAILABLE",
|
|
18
|
+
RESULT_EVIDENCE_RECOMPUTATION_UNAVAILABLE: "RESULT_EVIDENCE_RECOMPUTATION_UNAVAILABLE",
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=reasonCodesV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasonCodesV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/reasonCodesV1.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/D,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB;IAC9D,uBAAuB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,sBAAsB;IAChG,yBAAyB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,oBAAoB;IAChG,2BAA2B,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,wBAAwB;IAC5G,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B;IAC9G,uBAAuB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,+BAA+B;IAClH,iCAAiC,EAAE,mCAAmC;IACtE,gCAAgC,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,0BAA0B;IAC1H,yBAAyB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,wBAAwB;IACxG,qBAAqB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,0BAA0B;IACpG,0BAA0B,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,iCAAiC;IAC5H,gCAAgC,EAAE,kCAAkC;IACpE,gCAAgC,EAAE,kCAAkC;IACpE,wCAAwC,EAAE,0CAA0C;IACpF,iCAAiC,EAAE,mCAAmC;IACtE,yCAAyC,EAAE,2CAA2C;CAC9E,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Canonicalization must match the frozen Explorer execution contract, not HF v1. */
|
|
2
|
+
export declare function canonicalizeExecutionVerificationValue(value: unknown): string;
|
|
3
|
+
/** SHA3-512(UTF8(domain) || 0x00 || UTF8(canonical JSON)). */
|
|
4
|
+
export declare function computeExecutionDomainSeparatedSha3_512(domainSeparator: string, value: unknown): string;
|
|
5
|
+
/** Exact Hedera consensus seconds.nanoseconds. Returns null if unsupported. */
|
|
6
|
+
export declare function hederaConsensusTimestampNanos(value: unknown): bigint | null;
|
|
7
|
+
/** Exact UTC ISO-like timestamp; does not round fractional seconds. */
|
|
8
|
+
export declare function executionTimestampNanos(value: unknown): bigint | null;
|
|
9
|
+
/** Display-only UTC ISO normalization; never use for exact ordering. */
|
|
10
|
+
export declare function executionTimestampIso(value: unknown): string | null;
|
|
11
|
+
//# sourceMappingURL=recomputationV1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recomputationV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/execution/recomputationV1.ts"],"names":[],"mappings":"AAgEA,qFAAqF;AACrF,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7E;AAED,8DAA8D;AAC9D,wBAAgB,uCAAuC,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAOvG;AAOD,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAY3E;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAyBrE;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKnE"}
|