@propxchain/core-client 0.3.0-canary.27 → 0.3.0-canary.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/audit/auditChain.d.ts +20 -0
  2. package/dist/audit/auditChain.d.ts.map +1 -0
  3. package/dist/audit/auditChain.js +67 -0
  4. package/dist/audit/auditChain.js.map +1 -0
  5. package/dist/audit/index.d.ts +4 -0
  6. package/dist/audit/index.d.ts.map +1 -0
  7. package/dist/audit/index.js +6 -0
  8. package/dist/audit/index.js.map +1 -0
  9. package/dist/audit/sealAuditBundle.d.ts +36 -0
  10. package/dist/audit/sealAuditBundle.d.ts.map +1 -0
  11. package/dist/audit/sealAuditBundle.js +58 -0
  12. package/dist/audit/sealAuditBundle.js.map +1 -0
  13. package/dist/audit/verifyAuditLog.d.ts +28 -0
  14. package/dist/audit/verifyAuditLog.d.ts.map +1 -0
  15. package/dist/audit/verifyAuditLog.js +106 -0
  16. package/dist/audit/verifyAuditLog.js.map +1 -0
  17. package/dist/canisters/transaction_manager/transaction_manager.did.d.ts.map +1 -1
  18. package/dist/canisters/transaction_manager/transaction_manager.did.js +21 -4
  19. package/dist/canisters/transaction_manager/transaction_manager.did.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/package.json +4 -1
  25. package/src/audit/auditChain.ts +88 -0
  26. package/src/audit/index.ts +19 -0
  27. package/src/audit/sealAuditBundle.ts +90 -0
  28. package/src/audit/verifyAuditLog.ts +168 -0
  29. package/src/canisters/transaction_manager/transaction_manager.did +30 -10
  30. package/src/canisters/transaction_manager/transaction_manager.did.d.ts +19 -8
  31. package/src/canisters/transaction_manager/transaction_manager.did.js +25 -4
  32. package/src/index.ts +13 -0
@@ -0,0 +1,20 @@
1
+ import { Principal } from "@icp-sdk/core/principal";
2
+ /** Structural shape of a decoded ledger_manager AuditEvent (candid). */
3
+ export interface CertifiedAuditEvent {
4
+ eventId: bigint;
5
+ transactionId: string;
6
+ eventType: string;
7
+ timestamp: bigint;
8
+ caller: Principal;
9
+ details: string;
10
+ metadata: [] | [string];
11
+ }
12
+ /** Canonical event encoding — mirrors ledger_manager.encodeAuditEvent. */
13
+ export declare function encodeAuditEvent(e: CertifiedAuditEvent): Uint8Array;
14
+ /**
15
+ * Recompute a transaction's chain head from its events — mirrors
16
+ * ledger_manager.chainHead. Events are sorted by eventId ascending (the
17
+ * canister's canonical order) so the result is independent of array order.
18
+ */
19
+ export declare function recomputeHeadHash(events: CertifiedAuditEvent[]): Promise<Uint8Array>;
20
+ //# sourceMappingURL=auditChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditChain.d.ts","sourceRoot":"","sources":["../../src/audit/auditChain.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AA0BD,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAgBnE;AAOD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,mBAAmB,EAAE,GAC5B,OAAO,CAAC,UAAU,CAAC,CASrB"}
@@ -0,0 +1,67 @@
1
+ // Audit hash chain — TypeScript mirror of ledger_manager's derived chain (ADR 0013).
2
+ //
3
+ // This MUST match the Motoko encoding in
4
+ // packages/core/src/ledger_manager/main.mo (encodeAuditEvent / chainHead)
5
+ // byte-for-byte, or verification will reject genuine records. The canonical
6
+ // encoding: each field 4-byte big-endian length-prefixed UTF-8; metadata uses
7
+ // a 1-byte presence tag (0 = null, 1 = present). eventHash_i =
8
+ // SHA-256(prevHash ++ encode(event_i)); genesis prevHash = 32 zero bytes;
9
+ // events ordered by eventId ascending.
10
+ const encoder = new TextEncoder();
11
+ function lenPrefixed(bytes) {
12
+ const n = bytes.length;
13
+ const out = new Uint8Array(4 + n);
14
+ out[0] = (n >>> 24) & 0xff;
15
+ out[1] = (n >>> 16) & 0xff;
16
+ out[2] = (n >>> 8) & 0xff;
17
+ out[3] = n & 0xff;
18
+ out.set(bytes, 4);
19
+ return out;
20
+ }
21
+ function concat(chunks) {
22
+ const total = chunks.reduce((sum, c) => sum + c.length, 0);
23
+ const out = new Uint8Array(total);
24
+ let offset = 0;
25
+ for (const c of chunks) {
26
+ out.set(c, offset);
27
+ offset += c.length;
28
+ }
29
+ return out;
30
+ }
31
+ /** Canonical event encoding — mirrors ledger_manager.encodeAuditEvent. */
32
+ export function encodeAuditEvent(e) {
33
+ const parts = [
34
+ lenPrefixed(encoder.encode(e.eventId.toString())),
35
+ lenPrefixed(encoder.encode(e.transactionId)),
36
+ lenPrefixed(encoder.encode(e.eventType)),
37
+ lenPrefixed(encoder.encode(e.timestamp.toString())),
38
+ lenPrefixed(encoder.encode(e.caller.toText())),
39
+ lenPrefixed(encoder.encode(e.details)),
40
+ ];
41
+ if (e.metadata.length === 0) {
42
+ parts.push(new Uint8Array([0]));
43
+ }
44
+ else {
45
+ parts.push(new Uint8Array([1]));
46
+ parts.push(lenPrefixed(encoder.encode(e.metadata[0])));
47
+ }
48
+ return concat(parts);
49
+ }
50
+ async function sha256(data) {
51
+ const digest = await crypto.subtle.digest("SHA-256", data);
52
+ return new Uint8Array(digest);
53
+ }
54
+ /**
55
+ * Recompute a transaction's chain head from its events — mirrors
56
+ * ledger_manager.chainHead. Events are sorted by eventId ascending (the
57
+ * canister's canonical order) so the result is independent of array order.
58
+ */
59
+ export async function recomputeHeadHash(events) {
60
+ const ordered = [...events].sort((a, b) => a.eventId < b.eventId ? -1 : a.eventId > b.eventId ? 1 : 0);
61
+ let head = new Uint8Array(32); // genesis: 32 zero bytes
62
+ for (const e of ordered) {
63
+ head = await sha256(concat([head, encodeAuditEvent(e)]));
64
+ }
65
+ return head;
66
+ }
67
+ //# sourceMappingURL=auditChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditChain.js","sourceRoot":"","sources":["../../src/audit/auditChain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { type CertifiedAuditEvent, encodeAuditEvent, recomputeHeadHash, } from "./auditChain.js";
2
+ export { type CertifiedTransactionLog, type VerifyResult, type VerifyOptions, verifyCertifiedAuditLog, } from "./verifyAuditLog.js";
3
+ export { AUDIT_SEAL_DOC_TYPE, type AuditSealBundle, buildAuditSealBundle, serializeAuditSealBundle, } from "./sealAuditBundle.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Verifiable audit trail (ADR 0013) — chain recompute, certificate
2
+ // verification, and sealed proof bundles for the per-transaction audit log.
3
+ export { encodeAuditEvent, recomputeHeadHash, } from "./auditChain.js";
4
+ export { verifyCertifiedAuditLog, } from "./verifyAuditLog.js";
5
+ export { AUDIT_SEAL_DOC_TYPE, buildAuditSealBundle, serializeAuditSealBundle, } from "./sealAuditBundle.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,4EAA4E;AAC5E,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EAEnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { type CertifiedTransactionLog } from "./verifyAuditLog.js";
2
+ export declare const AUDIT_SEAL_DOC_TYPE = "audit_seal";
3
+ interface SerializableAuditEvent {
4
+ eventId: string;
5
+ transactionId: string;
6
+ eventType: string;
7
+ timestamp: string;
8
+ caller: string;
9
+ details: string;
10
+ metadata: string | null;
11
+ }
12
+ export interface AuditSealBundle {
13
+ version: 1;
14
+ canisterId: string;
15
+ transactionId: string;
16
+ /** Client capture time (ISO). The authoritative time is inside the certificate. */
17
+ capturedAt: string;
18
+ events: SerializableAuditEvent[];
19
+ headHashHex: string;
20
+ certificateB64: string;
21
+ witnessB64: string;
22
+ }
23
+ /**
24
+ * Build a sealed, serializable proof bundle from a certified log response.
25
+ * Throws if the response carries no certificate (nothing to seal).
26
+ */
27
+ export declare function buildAuditSealBundle(args: {
28
+ canisterId: string;
29
+ transactionId: string;
30
+ capturedAt: string;
31
+ log: CertifiedTransactionLog;
32
+ }): AuditSealBundle;
33
+ /** Serialize a bundle to bytes for on-chain storage (document_storage). */
34
+ export declare function serializeAuditSealBundle(bundle: AuditSealBundle): Uint8Array;
35
+ export {};
36
+ //# sourceMappingURL=sealAuditBundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealAuditBundle.d.ts","sourceRoot":"","sources":["../../src/audit/sealAuditBundle.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,uBAAuB,CAAC;CAC9B,GAAG,eAAe,CAuBlB;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CAE5E"}
@@ -0,0 +1,58 @@
1
+ // Sealed audit bundle (ADR 0013, proof model ii).
2
+ //
3
+ // A contemporaneous, self-contained snapshot of a transaction's certified
4
+ // audit log. Built from a getCertifiedTransactionLog response (a query, so the
5
+ // subnet certificate is present) — typically at completion, and regenerable on
6
+ // demand. The bundle verifies offline against the IC root key, even if
7
+ // PropXchain is gone: a forensic verifier re-runs verifyCertifiedAuditLog with
8
+ // a relaxed freshness window.
9
+ //
10
+ // Persistence: the serialized bundle is stored on-chain in document_storage
11
+ // (docType "audit_seal") per ADR 0008. That upload uses the existing document
12
+ // upload path and is the caller's step — buildAuditSealBundle only produces the
13
+ // bytes (no document bodies are embedded; events reference any documents by
14
+ // hash only).
15
+ export const AUDIT_SEAL_DOC_TYPE = "audit_seal";
16
+ function toHex(bytes) {
17
+ return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
18
+ }
19
+ function toB64(bytes) {
20
+ // Browser + Node (>=20) both expose btoa; build a binary string first.
21
+ let binary = "";
22
+ for (const b of bytes)
23
+ binary += String.fromCharCode(b);
24
+ return btoa(binary);
25
+ }
26
+ /**
27
+ * Build a sealed, serializable proof bundle from a certified log response.
28
+ * Throws if the response carries no certificate (nothing to seal).
29
+ */
30
+ export function buildAuditSealBundle(args) {
31
+ const { canisterId, transactionId, capturedAt, log } = args;
32
+ if (log.certificate.length === 0) {
33
+ throw new Error("cannot seal: certified log response has no certificate");
34
+ }
35
+ return {
36
+ version: 1,
37
+ canisterId,
38
+ transactionId,
39
+ capturedAt,
40
+ events: log.events.map((e) => ({
41
+ eventId: e.eventId.toString(),
42
+ transactionId: e.transactionId,
43
+ eventType: e.eventType,
44
+ timestamp: e.timestamp.toString(),
45
+ caller: e.caller.toText(),
46
+ details: e.details,
47
+ metadata: e.metadata.length === 0 ? null : e.metadata[0],
48
+ })),
49
+ headHashHex: toHex(log.headHash),
50
+ certificateB64: toB64(log.certificate[0]),
51
+ witnessB64: toB64(log.witness),
52
+ };
53
+ }
54
+ /** Serialize a bundle to bytes for on-chain storage (document_storage). */
55
+ export function serializeAuditSealBundle(bundle) {
56
+ return new TextEncoder().encode(JSON.stringify(bundle));
57
+ }
58
+ //# sourceMappingURL=sealAuditBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealAuditBundle.js","sourceRoot":"","sources":["../../src/audit/sealAuditBundle.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AACvE,+EAA+E;AAC/E,8BAA8B;AAC9B,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,cAAc;AAId,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAwBhD,SAAS,KAAK,CAAC,KAAiB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,KAAK,CAAC,KAAiB;IAC9B,uEAAuE;IACvE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAKpC;IACC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5D,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,UAAU;QACV,aAAa;QACb,UAAU;QACV,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC7B,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzD,CAAC,CAAC;QACH,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,MAAuB;IAC9D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type CertifiedAuditEvent } from "./auditChain.js";
2
+ /** Decoded ledger_manager.getCertifiedTransactionLog response. */
3
+ export interface CertifiedTransactionLog {
4
+ events: CertifiedAuditEvent[];
5
+ headHash: Uint8Array;
6
+ certificate: [] | [Uint8Array];
7
+ witness: Uint8Array;
8
+ }
9
+ export interface VerifyResult {
10
+ verified: boolean;
11
+ reason?: string;
12
+ eventCount: number;
13
+ }
14
+ export interface VerifyOptions {
15
+ canisterId: string;
16
+ /** IC root public key — the mainnet constant, or `agent.rootKey` for local. */
17
+ rootKey: Uint8Array;
18
+ transactionId: string;
19
+ log: CertifiedTransactionLog;
20
+ /**
21
+ * Certificate freshness window. Omit for live verification (5 min). For
22
+ * forensic verification of a sealed bundle, pass a large value (e.g.
23
+ * Number.MAX_SAFE_INTEGER) to accept a historical certificate.
24
+ */
25
+ maxCertificateTimeOffsetMs?: number;
26
+ }
27
+ export declare function verifyCertifiedAuditLog(opts: VerifyOptions): Promise<VerifyResult>;
28
+ //# sourceMappingURL=verifyAuditLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAuditLog.d.ts","sourceRoot":"","sources":["../../src/audit/verifyAuditLog.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AAiC9E,kEAAkE;AAClE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,uBAAuB,CAAC;IAC7B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAiBD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC,CAkEvB"}
@@ -0,0 +1,106 @@
1
+ // Verifier for the certified per-transaction audit log (ADR 0013).
2
+ //
3
+ // Proves a transaction's audit trail is genuine canister state against the IC
4
+ // root key, trusting no part of PropXchain:
5
+ // 1. verify the subnet certificate + Merkle witness;
6
+ // 2. read the certified headHash for the transaction from the witness tree;
7
+ // 3. confirm the response's stated head matches the certified head;
8
+ // 4. recompute the chain from the events and confirm it matches.
9
+ //
10
+ // Uses the @dfinity/* family (agent, principal, certificate-verification)
11
+ // throughout — that is the lineage certificate-verification depends on, so the
12
+ // HashTree/Principal types line up. The rest of core-client uses @icp-sdk;
13
+ // this leaf module's boundary is plain Uint8Array/string, so the split is
14
+ // contained.
15
+ //
16
+ // Live verification keeps the certificate-freshness window tight. Forensic
17
+ // verification of a sealed historical bundle (ADR 0013, proof model ii)
18
+ // relaxes it by design — the bundle proves a fact as-of the certificate's
19
+ // /time, not a current one.
20
+ import { lookup_path, lookupResultToBuffer } from "@dfinity/agent";
21
+ import { Principal } from "@dfinity/principal";
22
+ import { recomputeHeadHash } from "./auditChain.js";
23
+ let cachedVerify;
24
+ async function loadVerifyCertification() {
25
+ if (cachedVerify)
26
+ return cachedVerify;
27
+ const mod = (await import("@dfinity/certificate-verification"));
28
+ const fn = mod.verifyCertification ?? mod.default?.verifyCertification;
29
+ if (!fn) {
30
+ throw new Error("verifyCertification not found in @dfinity/certificate-verification");
31
+ }
32
+ cachedVerify = fn;
33
+ return fn;
34
+ }
35
+ const FIVE_MINUTES_MS = 5 * 60 * 1000;
36
+ function toArrayBuffer(u8) {
37
+ const copy = new Uint8Array(u8.length);
38
+ copy.set(u8);
39
+ return copy.buffer;
40
+ }
41
+ function equalBytes(a, b) {
42
+ if (a.length !== b.length)
43
+ return false;
44
+ let diff = 0;
45
+ for (let i = 0; i < a.length; i++)
46
+ diff |= a[i] ^ b[i];
47
+ return diff === 0;
48
+ }
49
+ export async function verifyCertifiedAuditLog(opts) {
50
+ const { log, transactionId } = opts;
51
+ const eventCount = log.events.length;
52
+ if (log.certificate.length === 0) {
53
+ return { verified: false, reason: "no certificate in response", eventCount };
54
+ }
55
+ // 1. Verify the subnet certificate + witness against the IC root key.
56
+ let tree;
57
+ try {
58
+ const verifyCertification = await loadVerifyCertification();
59
+ tree = await verifyCertification({
60
+ canisterId: Principal.fromText(opts.canisterId),
61
+ encodedCertificate: toArrayBuffer(log.certificate[0]),
62
+ encodedTree: toArrayBuffer(log.witness),
63
+ rootKey: toArrayBuffer(opts.rootKey),
64
+ maxCertificateTimeOffsetMs: opts.maxCertificateTimeOffsetMs ?? FIVE_MINUTES_MS,
65
+ });
66
+ }
67
+ catch (err) {
68
+ return {
69
+ verified: false,
70
+ reason: `certificate verification failed: ${String(err)}`,
71
+ eventCount,
72
+ };
73
+ }
74
+ // 2. Read the certified headHash for this transaction from the witness tree.
75
+ // The path segment is the UTF-8 bytes of the transactionId — exactly the key
76
+ // ledger_manager certified (Text.encodeUtf8(transactionId)).
77
+ const lookup = lookup_path([toArrayBuffer(new TextEncoder().encode(transactionId))], tree);
78
+ const certifiedBuf = lookupResultToBuffer(lookup);
79
+ if (!certifiedBuf) {
80
+ return {
81
+ verified: false,
82
+ reason: "transaction head not present in certified tree",
83
+ eventCount,
84
+ };
85
+ }
86
+ const certifiedHead = new Uint8Array(certifiedBuf);
87
+ // 3. The response's stated head must match the certified value.
88
+ if (!equalBytes(certifiedHead, log.headHash)) {
89
+ return {
90
+ verified: false,
91
+ reason: "response headHash does not match certified value",
92
+ eventCount,
93
+ };
94
+ }
95
+ // 4. The head recomputed from the events must match the certified head.
96
+ const recomputed = await recomputeHeadHash(log.events);
97
+ if (!equalBytes(recomputed, certifiedHead)) {
98
+ return {
99
+ verified: false,
100
+ reason: "recomputed chain head does not match certified head — events tampered",
101
+ eventCount,
102
+ };
103
+ }
104
+ return { verified: true, eventCount };
105
+ }
106
+ //# sourceMappingURL=verifyAuditLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAuditLog.js","sourceRoot":"","sources":["../../src/audit/verifyAuditLog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction_manager.did.d.ts","sourceRoot":"","sources":["../../../src/canisters/transaction_manager/transaction_manager.did.js"],"names":[],"mappings":"AAAO;;QA0qBN;AACM;;YAAwC"}
1
+ {"version":3,"file":"transaction_manager.did.d.ts","sourceRoot":"","sources":["../../../src/canisters/transaction_manager/transaction_manager.did.js"],"names":[],"mappings":"AAAO;;QA+rBN;AACM;;YAAwC"}
@@ -72,7 +72,11 @@ export const idlFactory = ({ IDL }) => {
72
72
  'regulatoryBody': RegulatoryBody,
73
73
  });
74
74
  const Result_1 = IDL.Variant({ 'ok': IDL.Null, 'err': IDL.Text });
75
- const Result_19 = IDL.Variant({
75
+ const Result_21 = IDL.Variant({
76
+ 'ok': IDL.Record({ 'registrations': IDL.Nat, 'transactions': IDL.Nat }),
77
+ 'err': IDL.Text,
78
+ });
79
+ const Result_20 = IDL.Variant({
76
80
  'ok': IDL.Tuple(IDL.Text, IDL.Text),
77
81
  'err': IDL.Text,
78
82
  });
@@ -193,7 +197,17 @@ export const idlFactory = ({ IDL }) => {
193
197
  'preCompletion': IDL.Null,
194
198
  'searches': IDL.Null,
195
199
  });
196
- const Result_18 = IDL.Variant({ 'ok': Phase, 'err': IDL.Text });
200
+ const Result_19 = IDL.Variant({ 'ok': Phase, 'err': IDL.Text });
201
+ const HmlrFetchRecord = IDL.Record({
202
+ 'fetchedAt': IDL.Int,
203
+ 'fetchedBy': IDL.Principal,
204
+ 'titleNumber': IDL.Text,
205
+ 'responseHash': IDL.Text,
206
+ });
207
+ const Result_18 = IDL.Variant({
208
+ 'ok': IDL.Opt(HmlrFetchRecord),
209
+ 'err': IDL.Text,
210
+ });
197
211
  const Notification = IDL.Record({
198
212
  'id': IDL.Nat,
199
213
  'documentHash': IDL.Text,
@@ -415,6 +429,7 @@ export const idlFactory = ({ IDL }) => {
415
429
  'assignBuyer': IDL.Func([IDL.Text, IDL.Principal], [Result], []),
416
430
  'assignSolicitor': IDL.Func([IDL.Text, IDL.Principal], [Result], []),
417
431
  'assignSolicitorRecord': IDL.Func([IDL.Text, SolicitorRecord], [Result_1], []),
432
+ 'backfillTransactionMembers': IDL.Func([], [Result_21], []),
418
433
  'bootstrapDocumentStorageCanister': IDL.Func([IDL.Principal], [Result], []),
419
434
  'canAccessTransaction': IDL.Func([IDL.Text], [IDL.Bool], ['query']),
420
435
  'connectBot': IDL.Func([IDL.Text, IDL.Principal, IDL.Text], [Result_1], []),
@@ -458,17 +473,18 @@ export const idlFactory = ({ IDL }) => {
458
473
  IDL.Nat64,
459
474
  IDL.Nat64,
460
475
  IDL.Text,
461
- ], [Result_19], []),
476
+ ], [Result_20], []),
462
477
  'deleteTransaction': IDL.Func([IDL.Text], [Result], []),
463
478
  'disconnectBot': IDL.Func([IDL.Text, IDL.Principal], [Result_1], []),
464
479
  'doesTransactionExist': IDL.Func([IDL.Text], [IDL.Bool], ['query']),
465
480
  'getAllInviteCodes': IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], ['query']),
466
481
  'getAllTransactions': IDL.Func([], [IDL.Vec(Transaction)], ['query']),
467
- 'getCurrentPhase': IDL.Func([IDL.Text], [Result_18], ['query']),
482
+ 'getCurrentPhase': IDL.Func([IDL.Text], [Result_19], ['query']),
468
483
  'getCycles': IDL.Func([], [IDL.Nat], ['query']),
469
484
  'getDocumentStorageCanister': IDL.Func([], [IDL.Opt(IDL.Principal)], ['query']),
470
485
  'getExpiringSearches': IDL.Func([IDL.Nat], [IDL.Vec(Transaction)], ['query']),
471
486
  'getFlowState': IDL.Func([IDL.Text], [IDL.Opt(IDL.Text)], ['query']),
487
+ 'getHmlrFetch': IDL.Func([IDL.Text], [Result_18], ['query']),
472
488
  'getInviteCode': IDL.Func([IDL.Text], [Result], ['query']),
473
489
  'getLandRegistryCanister': IDL.Func([], [IDL.Text], ['query']),
474
490
  'getLandRegistryDetail': IDL.Func([IDL.Text], [IDL.Opt(LandRegistryIntegration)], ['query']),
@@ -517,6 +533,7 @@ export const idlFactory = ({ IDL }) => {
517
533
  'recordContractExchange': IDL.Func([IDL.Text, IDL.Text, IDL.Text], [Result], []),
518
534
  'recordConveyancerSelected': IDL.Func([IDL.Text, IDL.Text, IDL.Text, IDL.Nat], [Result_1], []),
519
535
  'recordFormUpload': IDL.Func([IDL.Text, IDL.Text, IDL.Text, IDL.Text], [Result_1], []),
536
+ 'recordHmlrFetched': IDL.Func([IDL.Text, IDL.Text, IDL.Text], [Result_1], []),
520
537
  'recordPartySignature': IDL.Func([IDL.Text, IDL.Text, IDL.Text], [Result], []),
521
538
  'recordQuoteReceived': IDL.Func([IDL.Text, IDL.Text, IDL.Text, IDL.Nat], [Result_1], []),
522
539
  'recordQuoteRequested': IDL.Func([IDL.Text, IDL.Text], [Result_1], []),
@@ -1 +1 @@
1
- {"version":3,"file":"transaction_manager.did.js","sourceRoot":"","sources":["../../../src/canisters/transaction_manager/transaction_manager.did.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction_manager.did.js","sourceRoot":"","sources":["../../../src/canisters/transaction_manager/transaction_manager.did.js"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { PropXchainClient } from "./client.js";
2
2
  export { MockPropXchainClient, isMockEnabled, MOCK_ENV_FLAG, } from "./mock.js";
3
3
  export { CoreClientError, wrapAgentError, type CoreClientErrorCode, } from "./errors.js";
4
4
  export { withRetry, type RetryOptions } from "./retry.js";
5
+ export { type CertifiedAuditEvent, encodeAuditEvent, recomputeHeadHash, type CertifiedTransactionLog, type VerifyResult, type VerifyOptions, verifyCertifiedAuditLog, AUDIT_SEAL_DOC_TYPE, type AuditSealBundle, buildAuditSealBundle, serializeAuditSealBundle, } from "./audit/index.js";
5
6
  export { createAuditTrailStub, createAgentHarnessStub, type AuditTrailStub, type AgentHarnessStub, type AuditEvent, type AuditFilter, } from "./stubs.js";
6
7
  export { MAINNET_CANISTER_IDS, type CanisterIds, type IPropXchainClient, type PropXchainClientOptions, type TransactionManagerService, type DocumentStorageService, type UserManagementService, type LedgerManagerService, type PropertyRegistryService, type DocumentVerificationService, type EmailServiceService, type LandRegistryIntegrationService, } from "./types.js";
7
8
  export { Principal, Ed25519KeyIdentity, AuthClient, IdbStorage, Actor, HttpAgent, type Identity, type ActorSubclass, type ActorConfig, type ActorMethod, type AuthClientCreateOptions, type AuthClientSignInOptions, } from "./auth.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,GACpC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,KAAK,EACL,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,UAAU,IAAI,0BAA0B,EAAE,MAAM,gDAAgD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,eAAe,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,GACpC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,KAAK,EACL,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,UAAU,IAAI,0BAA0B,EAAE,MAAM,gDAAgD,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export { PropXchainClient } from "./client.js";
2
2
  export { MockPropXchainClient, isMockEnabled, MOCK_ENV_FLAG, } from "./mock.js";
3
3
  export { CoreClientError, wrapAgentError, } from "./errors.js";
4
4
  export { withRetry } from "./retry.js";
5
+ export { encodeAuditEvent, recomputeHeadHash, verifyCertifiedAuditLog, AUDIT_SEAL_DOC_TYPE, buildAuditSealBundle, serializeAuditSealBundle, } from "./audit/index.js";
5
6
  export { createAuditTrailStub, createAgentHarnessStub, } from "./stubs.js";
6
7
  export { MAINNET_CANISTER_IDS, } from "./types.js";
7
8
  export { Principal, Ed25519KeyIdentity, AuthClient, IdbStorage, Actor, HttpAgent, } from "./auth.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAKvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,GAYrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,KAAK,EACL,SAAS,GAOV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,UAAU,IAAI,0BAA0B,EAAE,MAAM,gDAAgD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EAIjB,uBAAuB,EACvB,mBAAmB,EAEnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAKvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,GAYrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,KAAK,EACL,SAAS,GAOV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,UAAU,IAAI,0BAA0B,EAAE,MAAM,gDAAgD,CAAC"}