@engramx/client 0.7.16 → 0.7.17-rc.2
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/dist/certifiedAudit.d.ts +30 -0
- package/dist/certifiedAudit.js +81 -0
- package/dist/certifiedAudit.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/certifiedAudit.d.ts
CHANGED
|
@@ -24,3 +24,33 @@ export interface VerifiedAuditHead {
|
|
|
24
24
|
* against a replica you are trying to verify in production). Fails closed (verified=false).
|
|
25
25
|
*/
|
|
26
26
|
export declare function verifyCertifiedAuditHead(agent: HttpAgent, canisterId: string | Principal, claimed: CertifiedAuditHead): Promise<VerifiedAuditHead>;
|
|
27
|
+
export interface CertifiedLeaf {
|
|
28
|
+
/** The leaf bytes proven up to the subnet-signed root; null when unverified. */
|
|
29
|
+
valueBytes: Uint8Array | null;
|
|
30
|
+
verified: boolean;
|
|
31
|
+
/** Self-classifying reason — never act on valueBytes when verified is false. */
|
|
32
|
+
why: string;
|
|
33
|
+
}
|
|
34
|
+
/** Verify one leaf of a certified tree (registry format). */
|
|
35
|
+
export declare function verifyCertifiedLeaf(agent: HttpAgent, canisterId: Principal | string, reply: {
|
|
36
|
+
certificate: [] | [Uint8Array | number[]] | Uint8Array | number[];
|
|
37
|
+
witness: Uint8Array | number[];
|
|
38
|
+
}, path: Uint8Array[]): Promise<CertifiedLeaf>;
|
|
39
|
+
/** Registry audit head, tree format — pair with the registry's getCertifiedHead(). */
|
|
40
|
+
export declare function verifyCertifiedRegistryHead(agent: HttpAgent, canisterId: Principal | string, reply: {
|
|
41
|
+
headHash: Uint8Array | number[];
|
|
42
|
+
size: bigint;
|
|
43
|
+
certificate: [] | [Uint8Array | number[]];
|
|
44
|
+
witness: Uint8Array | number[];
|
|
45
|
+
}): Promise<{
|
|
46
|
+
head: Uint8Array | null;
|
|
47
|
+
size: bigint;
|
|
48
|
+
verified: boolean;
|
|
49
|
+
why: string;
|
|
50
|
+
}>;
|
|
51
|
+
/** An engram's latest anchor, certified — pair with the registry's getCertifiedAnchor(engramId). */
|
|
52
|
+
export declare function verifyCertifiedAnchor(agent: HttpAgent, registryId: Principal | string, engramId: Principal | string, reply: {
|
|
53
|
+
leaf: unknown;
|
|
54
|
+
certificate: [] | [Uint8Array | number[]];
|
|
55
|
+
witness: Uint8Array | number[];
|
|
56
|
+
}): Promise<CertifiedLeaf>;
|
package/dist/certifiedAudit.js
CHANGED
|
@@ -54,4 +54,85 @@ export async function verifyCertifiedAuditHead(agent, canisterId, claimed) {
|
|
|
54
54
|
claimed.headHash.every((b, i) => b === certified[i]);
|
|
55
55
|
return { head: certified, size: claimed.size, verified: matches };
|
|
56
56
|
}
|
|
57
|
+
// ── Tree-format verification (registry, 2026-08-03) ─────────────────────────────────────────────
|
|
58
|
+
// The REGISTRY's certified_data is a labelled merkle ROOT (["audit_head"] + ["anchors", <p>]),
|
|
59
|
+
// served with an IC-spec CBOR witness — its old bare-head method was REMOVED so stale byte-compare
|
|
60
|
+
// verifiers fail loudly. Engram/cashier slots keep the bare-head format and verifyCertifiedAuditHead
|
|
61
|
+
// above. Verification chain, every link required: certificate authentic against the IC root key →
|
|
62
|
+
// certified_data extracted → witness root reconstructed and compared → leaf looked up in witness.
|
|
63
|
+
import { Cbor, reconstruct, lookup_path } from '@icp-sdk/core/agent';
|
|
64
|
+
const utf8 = (s) => new TextEncoder().encode(s);
|
|
65
|
+
/** Verify one leaf of a certified tree (registry format). */
|
|
66
|
+
export async function verifyCertifiedLeaf(agent, canisterId, reply, path) {
|
|
67
|
+
const fail = (why) => ({ valueBytes: null, verified: false, why });
|
|
68
|
+
const raw = reply?.certificate;
|
|
69
|
+
const certBytes = Array.isArray(raw) &&
|
|
70
|
+
(raw.length === 0 || Array.isArray(raw[0]) || raw[0] instanceof Uint8Array)
|
|
71
|
+
? raw.length
|
|
72
|
+
? raw[0]
|
|
73
|
+
: null
|
|
74
|
+
: raw;
|
|
75
|
+
if (!certBytes || certBytes.length === 0)
|
|
76
|
+
return fail('no certificate on the reply');
|
|
77
|
+
const witness = reply?.witness;
|
|
78
|
+
if (!witness || witness.length === 0)
|
|
79
|
+
return fail('no witness on the reply');
|
|
80
|
+
const principal = typeof canisterId === 'string' ? Principal.fromText(canisterId) : canisterId;
|
|
81
|
+
if (agent.rootKey == null)
|
|
82
|
+
throw new Error('agent.rootKey is null — fetchRootKey() (local dev only) first');
|
|
83
|
+
let cert;
|
|
84
|
+
try {
|
|
85
|
+
cert = await Certificate.create({
|
|
86
|
+
certificate: Uint8Array.from(certBytes),
|
|
87
|
+
rootKey: agent.rootKey,
|
|
88
|
+
principal: { canisterId: principal },
|
|
89
|
+
agent,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return fail('certificate did not verify against the root key');
|
|
94
|
+
}
|
|
95
|
+
const lookup = cert.lookup_path(['canister', principal.toUint8Array(), 'certified_data']);
|
|
96
|
+
if (lookup.status !== LookupPathStatus.Found)
|
|
97
|
+
return fail('certified_data absent from certificate');
|
|
98
|
+
const certifiedData = new Uint8Array(lookupResultToBuffer(lookup));
|
|
99
|
+
let tree;
|
|
100
|
+
try {
|
|
101
|
+
tree = Cbor.decode(Uint8Array.from(witness));
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return fail('witness is not decodable CBOR');
|
|
105
|
+
}
|
|
106
|
+
const rootHash = new Uint8Array(await reconstruct(tree));
|
|
107
|
+
if (rootHash.length !== certifiedData.length ||
|
|
108
|
+
!rootHash.every((b, i) => b === certifiedData[i])) {
|
|
109
|
+
return fail('witness root does not match certified_data');
|
|
110
|
+
}
|
|
111
|
+
const leaf = lookup_path(path, tree);
|
|
112
|
+
if (leaf.status !== LookupPathStatus.Found)
|
|
113
|
+
return fail('path not found in witness');
|
|
114
|
+
return { valueBytes: new Uint8Array(lookupResultToBuffer(leaf)), verified: true, why: 'ok' };
|
|
115
|
+
}
|
|
116
|
+
/** Registry audit head, tree format — pair with the registry's getCertifiedHead(). */
|
|
117
|
+
export async function verifyCertifiedRegistryHead(agent, canisterId, reply) {
|
|
118
|
+
const r = await verifyCertifiedLeaf(agent, canisterId, reply, [utf8('audit_head')]);
|
|
119
|
+
if (!r.verified || !r.valueBytes)
|
|
120
|
+
return { head: null, size: reply.size, verified: false, why: r.why };
|
|
121
|
+
const claimed = Uint8Array.from(reply.headHash);
|
|
122
|
+
const matches = claimed.length === r.valueBytes.length && claimed.every((b, i) => b === r.valueBytes[i]);
|
|
123
|
+
return {
|
|
124
|
+
head: r.valueBytes,
|
|
125
|
+
size: reply.size,
|
|
126
|
+
verified: matches,
|
|
127
|
+
why: matches ? 'ok' : 'certified leaf disagrees with the claimed headHash',
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** An engram's latest anchor, certified — pair with the registry's getCertifiedAnchor(engramId). */
|
|
131
|
+
export async function verifyCertifiedAnchor(agent, registryId, engramId, reply) {
|
|
132
|
+
const engram = typeof engramId === 'string' ? Principal.fromText(engramId) : engramId;
|
|
133
|
+
return verifyCertifiedLeaf(agent, registryId, reply, [
|
|
134
|
+
utf8('anchors'),
|
|
135
|
+
engram.toUint8Array(),
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
57
138
|
//# sourceMappingURL=certifiedAudit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certifiedAudit.js","sourceRoot":"","sources":["../src/certifiedAudit.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,kGAAkG;AAClG,iGAAiG;AACjG,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,8FAA8F;AAC9F,iGAAiG;AACjG,4EAA4E;AAE5E,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAqBpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAgB,EAChB,UAA8B,EAC9B,OAA2B;IAE3B,MAAM,IAAI,GAAsB,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjG,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,CAAC,yDAAyD;IAEhG,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAED,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QACH,mFAAmF;QACnF,yFAAyF;QACzF,8BAA8B;QAC9B,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO;YACP,SAAS,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;YACpC,KAAK,EAAE,gFAAgF;SACxF,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,gGAAgG;IAChG,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"certifiedAudit.js","sourceRoot":"","sources":["../src/certifiedAudit.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { EngramClient } from './EngramClient.js';
|
|
2
2
|
export type { EngramClientConfig } from './EngramClient.js';
|
|
3
3
|
export { verifyCertifiedAuditHead } from './certifiedAudit.js';
|
|
4
|
+
export { verifyCertifiedLeaf, verifyCertifiedRegistryHead, verifyCertifiedAnchor, } from './certifiedAudit.js';
|
|
5
|
+
export type { CertifiedLeaf } from './certifiedAudit.js';
|
|
4
6
|
export type { CertifiedAuditHead, VerifiedAuditHead } from './certifiedAudit.js';
|
|
5
7
|
export { loadBootstrapConfig, saveBootstrapConfig } from './bootstrap.js';
|
|
6
8
|
export type { BootstrapConfig } from './bootstrap.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { EngramClient } from './EngramClient.js';
|
|
2
2
|
export { verifyCertifiedAuditHead } from './certifiedAudit.js';
|
|
3
|
+
// Tree-format verification (registry ≥ 0.7.17): the registry's certified_data is a merkle root and
|
|
4
|
+
// its bare-head method was REMOVED (loud break). Engram/cashier slots keep verifyCertifiedAuditHead.
|
|
5
|
+
export { verifyCertifiedLeaf, verifyCertifiedRegistryHead, verifyCertifiedAnchor, } from './certifiedAudit.js';
|
|
3
6
|
export { loadBootstrapConfig, saveBootstrapConfig } from './bootstrap.js';
|
|
4
7
|
// Schema — shared path conventions for all integrations
|
|
5
8
|
export * as Schema from './schema.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,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,mGAAmG;AACnG,qGAAqG;AACrG,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1E,wDAAwD;AACxD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,2CAA2C;AAC3C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAwD5C,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AASlE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjF,0FAA0F;AAC1F,0FAA0F;AAC1F,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,8BAA8B,GAG/B,MAAM,cAAc,CAAC"}
|
package/package.json
CHANGED