inamprotocol 0.6.1 → 0.8.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/dist/client.d.ts +38 -0
- package/dist/client.js +40 -1
- package/dist/client.js.map +1 -1
- package/dist/core/merkleLog.d.ts +26 -0
- package/dist/core/merkleLog.js +190 -0
- package/dist/core/merkleLog.js.map +1 -0
- package/dist/core/signingString.d.ts +26 -0
- package/dist/core/signingString.js +31 -0
- package/dist/core/signingString.js.map +1 -0
- package/dist/core/transparencyLog.d.ts +22 -0
- package/dist/core/transparencyLog.js +7 -0
- package/dist/core/transparencyLog.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { AgentRecord, ExecutionReceipt, ExternalKeyType, JobOffer, JobRecor
|
|
|
12
12
|
export declare class InamClient {
|
|
13
13
|
private readonly baseUrl;
|
|
14
14
|
private readonly keypair;
|
|
15
|
+
private readonly host;
|
|
15
16
|
constructor(baseUrl: string, keypair: Keypair);
|
|
16
17
|
get did(): string;
|
|
17
18
|
private request;
|
|
@@ -132,4 +133,41 @@ export declare class InamClient {
|
|
|
132
133
|
listReceiptVerifications(receiptId: string): Promise<{
|
|
133
134
|
verifications: VerificationRecord[];
|
|
134
135
|
}>;
|
|
136
|
+
/** Current tree size + root hash. Unsigned: the registry holds no signing
|
|
137
|
+
* keypair of its own (only verifies operator-signed *requests*) — the
|
|
138
|
+
* tamper-evidence guarantee comes from consistency proofs between two
|
|
139
|
+
* client-observed STHs, not a signature on any single one. */
|
|
140
|
+
getTransparencySTH(): Promise<{
|
|
141
|
+
treeSize: number;
|
|
142
|
+
rootHash: string;
|
|
143
|
+
timestamp: string;
|
|
144
|
+
}>;
|
|
145
|
+
getTransparencyEntries(query?: {
|
|
146
|
+
limit?: number;
|
|
147
|
+
offset?: number;
|
|
148
|
+
}): Promise<{
|
|
149
|
+
entries: {
|
|
150
|
+
leafIndex: number;
|
|
151
|
+
entryType: string;
|
|
152
|
+
refId: string;
|
|
153
|
+
createdAt: string;
|
|
154
|
+
data: string;
|
|
155
|
+
leafHash: string;
|
|
156
|
+
}[];
|
|
157
|
+
hasMore: boolean;
|
|
158
|
+
}>;
|
|
159
|
+
getInclusionProof(leafIndex: number, treeSize?: number): Promise<{
|
|
160
|
+
leafIndex: number;
|
|
161
|
+
treeSize: number;
|
|
162
|
+
leafHash: string;
|
|
163
|
+
rootHash: string;
|
|
164
|
+
proof: string[];
|
|
165
|
+
}>;
|
|
166
|
+
getConsistencyProof(first: number, second?: number): Promise<{
|
|
167
|
+
firstSize: number;
|
|
168
|
+
firstRootHash: string;
|
|
169
|
+
secondSize: number;
|
|
170
|
+
secondRootHash: string;
|
|
171
|
+
proof: string[];
|
|
172
|
+
}>;
|
|
135
173
|
}
|
package/dist/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { canonicalize } from "./crypto/canonical.js";
|
|
2
2
|
import { sha256Hex, sign, toBase64 } from "./crypto/keys.js";
|
|
3
|
+
import { buildSigningStringV2, SIG_VERSION_HEADER, CURRENT_SIG_VERSION } from "./core/signingString.js";
|
|
3
4
|
import { buildSignableContent } from "./core/receiptContent.js";
|
|
4
5
|
import { buildSignableVerificationContent } from "./core/verificationContent.js";
|
|
5
6
|
/**
|
|
@@ -12,9 +13,14 @@ import { buildSignableVerificationContent } from "./core/verificationContent.js"
|
|
|
12
13
|
export class InamClient {
|
|
13
14
|
baseUrl;
|
|
14
15
|
keypair;
|
|
16
|
+
host;
|
|
15
17
|
constructor(baseUrl, keypair) {
|
|
16
18
|
this.baseUrl = baseUrl;
|
|
17
19
|
this.keypair = keypair;
|
|
20
|
+
// Signed for automatically (SPEC.md v0.28, host-binding) -- derived from
|
|
21
|
+
// the same baseUrl the request actually goes to, so this can't drift
|
|
22
|
+
// from what the server sees as the request's real Host header.
|
|
23
|
+
this.host = new URL(baseUrl).host;
|
|
18
24
|
}
|
|
19
25
|
get did() {
|
|
20
26
|
return this.keypair.did;
|
|
@@ -23,13 +29,14 @@ export class InamClient {
|
|
|
23
29
|
const rawBody = body !== undefined ? JSON.stringify(body) : "";
|
|
24
30
|
const timestamp = Date.now().toString();
|
|
25
31
|
const bodyHash = sha256Hex(rawBody);
|
|
26
|
-
const signingString =
|
|
32
|
+
const signingString = buildSigningStringV2(method, path, this.host, timestamp, bodyHash);
|
|
27
33
|
const signature = toBase64(sign(new TextEncoder().encode(signingString), this.keypair.privateKey));
|
|
28
34
|
const headers = {
|
|
29
35
|
"content-type": "application/json",
|
|
30
36
|
"inam-agent": this.keypair.did,
|
|
31
37
|
"inam-timestamp": timestamp,
|
|
32
38
|
"inam-signature": signature,
|
|
39
|
+
[SIG_VERSION_HEADER]: CURRENT_SIG_VERSION,
|
|
33
40
|
};
|
|
34
41
|
if (opts?.idempotencyKey)
|
|
35
42
|
headers["idempotency-key"] = opts.idempotencyKey;
|
|
@@ -252,5 +259,37 @@ export class InamClient {
|
|
|
252
259
|
listReceiptVerifications(receiptId) {
|
|
253
260
|
return this.request("GET", `/v1/receipts/${encodeURIComponent(receiptId)}/verifications`);
|
|
254
261
|
}
|
|
262
|
+
// ---- Transparency log (audit round-2 item 6) — RFC 6962-style Merkle log
|
|
263
|
+
// of receipt-lifecycle events. Fetch-only here; verifyInclusion/
|
|
264
|
+
// verifyConsistency (exported from this package's core/merkleLog.js) are
|
|
265
|
+
// the pure functions a caller runs itself against what these return,
|
|
266
|
+
// rather than trusting the registry's own arithmetic. ----
|
|
267
|
+
/** Current tree size + root hash. Unsigned: the registry holds no signing
|
|
268
|
+
* keypair of its own (only verifies operator-signed *requests*) — the
|
|
269
|
+
* tamper-evidence guarantee comes from consistency proofs between two
|
|
270
|
+
* client-observed STHs, not a signature on any single one. */
|
|
271
|
+
getTransparencySTH() {
|
|
272
|
+
return this.request("GET", "/v1/transparency/sth");
|
|
273
|
+
}
|
|
274
|
+
getTransparencyEntries(query) {
|
|
275
|
+
const params = new URLSearchParams();
|
|
276
|
+
if (query?.limit !== undefined)
|
|
277
|
+
params.set("limit", String(query.limit));
|
|
278
|
+
if (query?.offset !== undefined)
|
|
279
|
+
params.set("offset", String(query.offset));
|
|
280
|
+
return this.request("GET", `/v1/transparency/entries?${params.toString()}`);
|
|
281
|
+
}
|
|
282
|
+
getInclusionProof(leafIndex, treeSize) {
|
|
283
|
+
const params = new URLSearchParams({ leafIndex: String(leafIndex) });
|
|
284
|
+
if (treeSize !== undefined)
|
|
285
|
+
params.set("treeSize", String(treeSize));
|
|
286
|
+
return this.request("GET", `/v1/transparency/proof/inclusion?${params.toString()}`);
|
|
287
|
+
}
|
|
288
|
+
getConsistencyProof(first, second) {
|
|
289
|
+
const params = new URLSearchParams({ first: String(first) });
|
|
290
|
+
if (second !== undefined)
|
|
291
|
+
params.set("second", String(second));
|
|
292
|
+
return this.request("GET", `/v1/transparency/proof/consistency?${params.toString()}`);
|
|
293
|
+
}
|
|
255
294
|
}
|
|
256
295
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** RFC 6962 leaf hash: SHA256(0x00 || entry). `entry` is the exact bytes
|
|
2
|
+
* being logged (canonical JSON of the event record). */
|
|
3
|
+
export declare function leafHash(entry: Uint8Array): string;
|
|
4
|
+
/** RFC 6962 MTH(D[0:n]): the root hash over the given leaf hashes. */
|
|
5
|
+
export declare function rootHash(leafHashes: string[]): string;
|
|
6
|
+
/** RFC 6962 PATH(m, D[0:n]): the audit path proving leafHashes[m] is
|
|
7
|
+
* included in the tree over leafHashes[0:n], leaf-to-root order. */
|
|
8
|
+
export declare function inclusionProof(leafHashes: string[], m: number, n?: number): string[];
|
|
9
|
+
/** Verifies an inclusion proof against a claimed root, without needing the
|
|
10
|
+
* full leaf list. Mirrors pathRec's own recursive split so the proof
|
|
11
|
+
* array is consumed in exactly the order it was produced. */
|
|
12
|
+
export declare function verifyInclusion(leafHashHex: string, index: number, treeSize: number, proof: string[], expectedRootHex: string): boolean;
|
|
13
|
+
/** RFC 6962 PROOF(m, D[0:n]): proves the tree at size m is a prefix of the
|
|
14
|
+
* tree at size n (0 < m < n). m === 0 or m === n need no proof (the empty
|
|
15
|
+
* tree is trivially a prefix of anything; a tree is trivially consistent
|
|
16
|
+
* with itself). */
|
|
17
|
+
export declare function consistencyProof(leafHashes: string[], m: number, n?: number): string[];
|
|
18
|
+
/**
|
|
19
|
+
* RFC 6962 §2.1.2 consistency-proof verification (iterative form): proves
|
|
20
|
+
* `oldRoot` (tree of size m) and `newRoot` (tree of size n) describe the
|
|
21
|
+
* same append-only history, i.e. the first m leaves of the n-leaf tree are
|
|
22
|
+
* exactly the m-leaf tree's leaves in the same order -- catching any
|
|
23
|
+
* retroactive edit, reorder, or deletion of a past entry between the two
|
|
24
|
+
* observed roots.
|
|
25
|
+
*/
|
|
26
|
+
export declare function verifyConsistency(m: number, oldRootHex: string, n: number, newRootHex: string, proof: string[]): boolean;
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
2
|
+
/**
|
|
3
|
+
* RFC 6962-style append-only Merkle tree (audit round-2 item 6, SPEC.md
|
|
4
|
+
* v0.30, §13). Pure functions over an ordered array of leaf hashes -- no
|
|
5
|
+
* persisted node structure. Both runtimes store one row per logged event
|
|
6
|
+
* (finalize, dispute opened/resolved, non-performance report) and hand the
|
|
7
|
+
* ordered leaf-hash list to these functions on every read; root/proof
|
|
8
|
+
* computation is O(n) per request over this registry's own event volume.
|
|
9
|
+
* ponytail: recompute-on-demand, not a persisted frontier -- upgrade path
|
|
10
|
+
* if a registry's log ever grows large enough to make that measurably slow.
|
|
11
|
+
*
|
|
12
|
+
* Domain separation per RFC 6962 §2.1: a leaf hash and an internal node
|
|
13
|
+
* hash can never collide, because they're prefixed with different single
|
|
14
|
+
* bytes before hashing -- otherwise a malicious log operator could pass off
|
|
15
|
+
* an internal node as if it were a leaf (or vice versa) to fabricate a
|
|
16
|
+
* fraudulent inclusion/consistency proof.
|
|
17
|
+
*/
|
|
18
|
+
const LEAF_PREFIX = Uint8Array.of(0x00);
|
|
19
|
+
const NODE_PREFIX = Uint8Array.of(0x01);
|
|
20
|
+
function concatBytes(...parts) {
|
|
21
|
+
const total = parts.reduce((n, p) => n + p.length, 0);
|
|
22
|
+
const out = new Uint8Array(total);
|
|
23
|
+
let offset = 0;
|
|
24
|
+
for (const p of parts) {
|
|
25
|
+
out.set(p, offset);
|
|
26
|
+
offset += p.length;
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
function hexToBytes(hex) {
|
|
31
|
+
return Uint8Array.from(Buffer.from(hex, "hex"));
|
|
32
|
+
}
|
|
33
|
+
function bytesToHex(bytes) {
|
|
34
|
+
return Buffer.from(bytes).toString("hex");
|
|
35
|
+
}
|
|
36
|
+
function nodeHashBytes(left, right) {
|
|
37
|
+
return sha256(concatBytes(NODE_PREFIX, left, right));
|
|
38
|
+
}
|
|
39
|
+
/** RFC 6962 leaf hash: SHA256(0x00 || entry). `entry` is the exact bytes
|
|
40
|
+
* being logged (canonical JSON of the event record). */
|
|
41
|
+
export function leafHash(entry) {
|
|
42
|
+
return bytesToHex(sha256(concatBytes(LEAF_PREFIX, entry)));
|
|
43
|
+
}
|
|
44
|
+
/** Largest power of two strictly less than n (n > 1). RFC 6962's split
|
|
45
|
+
* point for dividing a subtree of size n into a left power-of-two half
|
|
46
|
+
* and a right remainder. */
|
|
47
|
+
function splitPoint(n) {
|
|
48
|
+
let k = 1;
|
|
49
|
+
while (k * 2 < n)
|
|
50
|
+
k *= 2;
|
|
51
|
+
return k;
|
|
52
|
+
}
|
|
53
|
+
function subtreeHash(leafHashes, start, end) {
|
|
54
|
+
const n = end - start;
|
|
55
|
+
if (n === 1)
|
|
56
|
+
return hexToBytes(leafHashes[start]);
|
|
57
|
+
const k = splitPoint(n);
|
|
58
|
+
return nodeHashBytes(subtreeHash(leafHashes, start, start + k), subtreeHash(leafHashes, start + k, end));
|
|
59
|
+
}
|
|
60
|
+
/** RFC 6962 MTH(D[0:n]): the root hash over the given leaf hashes. */
|
|
61
|
+
export function rootHash(leafHashes) {
|
|
62
|
+
if (leafHashes.length === 0)
|
|
63
|
+
return bytesToHex(sha256(new Uint8Array(0)));
|
|
64
|
+
return bytesToHex(subtreeHash(leafHashes, 0, leafHashes.length));
|
|
65
|
+
}
|
|
66
|
+
/** RFC 6962 PATH(m, D[0:n]): the audit path proving leafHashes[m] is
|
|
67
|
+
* included in the tree over leafHashes[0:n], leaf-to-root order. */
|
|
68
|
+
export function inclusionProof(leafHashes, m, n = leafHashes.length) {
|
|
69
|
+
if (n < 1 || n > leafHashes.length)
|
|
70
|
+
throw new Error("tree size out of range");
|
|
71
|
+
if (m < 0 || m >= n)
|
|
72
|
+
throw new Error("leaf index out of range");
|
|
73
|
+
return pathRec(leafHashes, m, 0, n);
|
|
74
|
+
}
|
|
75
|
+
function pathRec(leafHashes, m, start, end) {
|
|
76
|
+
const n = end - start;
|
|
77
|
+
if (n === 1)
|
|
78
|
+
return [];
|
|
79
|
+
const k = splitPoint(n);
|
|
80
|
+
if (m - start < k) {
|
|
81
|
+
return [...pathRec(leafHashes, m, start, start + k), bytesToHex(subtreeHash(leafHashes, start + k, end))];
|
|
82
|
+
}
|
|
83
|
+
return [...pathRec(leafHashes, m, start + k, end), bytesToHex(subtreeHash(leafHashes, start, start + k))];
|
|
84
|
+
}
|
|
85
|
+
/** Verifies an inclusion proof against a claimed root, without needing the
|
|
86
|
+
* full leaf list. Mirrors pathRec's own recursive split so the proof
|
|
87
|
+
* array is consumed in exactly the order it was produced. */
|
|
88
|
+
export function verifyInclusion(leafHashHex, index, treeSize, proof, expectedRootHex) {
|
|
89
|
+
if (index < 0 || index >= treeSize || treeSize < 1)
|
|
90
|
+
return false;
|
|
91
|
+
const result = verifyPathRec(hexToBytes(leafHashHex), index, 0, treeSize, proof, 0);
|
|
92
|
+
if (!result || result.nextIdx !== proof.length)
|
|
93
|
+
return false;
|
|
94
|
+
return bytesToHex(result.hash) === expectedRootHex;
|
|
95
|
+
}
|
|
96
|
+
function verifyPathRec(leaf, m, start, end, proof, idx) {
|
|
97
|
+
const n = end - start;
|
|
98
|
+
if (n === 1)
|
|
99
|
+
return { hash: leaf, nextIdx: idx };
|
|
100
|
+
const k = splitPoint(n);
|
|
101
|
+
if (m - start < k) {
|
|
102
|
+
const inner = verifyPathRec(leaf, m, start, start + k, proof, idx);
|
|
103
|
+
if (!inner || inner.nextIdx >= proof.length)
|
|
104
|
+
return undefined;
|
|
105
|
+
const sibling = hexToBytes(proof[inner.nextIdx]);
|
|
106
|
+
return { hash: nodeHashBytes(inner.hash, sibling), nextIdx: inner.nextIdx + 1 };
|
|
107
|
+
}
|
|
108
|
+
const inner = verifyPathRec(leaf, m, start + k, end, proof, idx);
|
|
109
|
+
if (!inner || inner.nextIdx >= proof.length)
|
|
110
|
+
return undefined;
|
|
111
|
+
const sibling = hexToBytes(proof[inner.nextIdx]);
|
|
112
|
+
return { hash: nodeHashBytes(sibling, inner.hash), nextIdx: inner.nextIdx + 1 };
|
|
113
|
+
}
|
|
114
|
+
/** RFC 6962 PROOF(m, D[0:n]): proves the tree at size m is a prefix of the
|
|
115
|
+
* tree at size n (0 < m < n). m === 0 or m === n need no proof (the empty
|
|
116
|
+
* tree is trivially a prefix of anything; a tree is trivially consistent
|
|
117
|
+
* with itself). */
|
|
118
|
+
export function consistencyProof(leafHashes, m, n = leafHashes.length) {
|
|
119
|
+
if (n < 0 || n > leafHashes.length || m < 0 || m > n)
|
|
120
|
+
throw new Error("range out of bounds");
|
|
121
|
+
if (m === 0 || m === n)
|
|
122
|
+
return [];
|
|
123
|
+
return subProofRec(leafHashes, m, 0, n, true);
|
|
124
|
+
}
|
|
125
|
+
function subProofRec(leafHashes, m, start, end, b) {
|
|
126
|
+
const n = end - start;
|
|
127
|
+
if (m === n) {
|
|
128
|
+
return b ? [] : [bytesToHex(subtreeHash(leafHashes, start, end))];
|
|
129
|
+
}
|
|
130
|
+
const k = splitPoint(n);
|
|
131
|
+
if (m <= k) {
|
|
132
|
+
return [...subProofRec(leafHashes, m, start, start + k, b), bytesToHex(subtreeHash(leafHashes, start + k, end))];
|
|
133
|
+
}
|
|
134
|
+
return [...subProofRec(leafHashes, m - k, start + k, end, false), bytesToHex(subtreeHash(leafHashes, start, start + k))];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* RFC 6962 §2.1.2 consistency-proof verification (iterative form): proves
|
|
138
|
+
* `oldRoot` (tree of size m) and `newRoot` (tree of size n) describe the
|
|
139
|
+
* same append-only history, i.e. the first m leaves of the n-leaf tree are
|
|
140
|
+
* exactly the m-leaf tree's leaves in the same order -- catching any
|
|
141
|
+
* retroactive edit, reorder, or deletion of a past entry between the two
|
|
142
|
+
* observed roots.
|
|
143
|
+
*/
|
|
144
|
+
export function verifyConsistency(m, oldRootHex, n, newRootHex, proof) {
|
|
145
|
+
if (m < 0 || n < 0 || m > n)
|
|
146
|
+
return false;
|
|
147
|
+
if (m === n)
|
|
148
|
+
return proof.length === 0 && oldRootHex === newRootHex;
|
|
149
|
+
if (m === 0)
|
|
150
|
+
return true; // the empty tree is consistent with any tree
|
|
151
|
+
if (proof.length === 0)
|
|
152
|
+
return false;
|
|
153
|
+
let fn = m - 1;
|
|
154
|
+
let sn = n - 1;
|
|
155
|
+
while (fn % 2 === 1) {
|
|
156
|
+
fn = Math.floor(fn / 2);
|
|
157
|
+
sn = Math.floor(sn / 2);
|
|
158
|
+
}
|
|
159
|
+
let idx = 0;
|
|
160
|
+
let oldFr;
|
|
161
|
+
let newFr;
|
|
162
|
+
if (fn > 0) {
|
|
163
|
+
if (idx >= proof.length)
|
|
164
|
+
return false;
|
|
165
|
+
oldFr = newFr = hexToBytes(proof[idx++]);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
oldFr = newFr = hexToBytes(oldRootHex);
|
|
169
|
+
}
|
|
170
|
+
while (sn > 0) {
|
|
171
|
+
if (idx >= proof.length)
|
|
172
|
+
return false;
|
|
173
|
+
const p = hexToBytes(proof[idx++]);
|
|
174
|
+
if (fn % 2 === 1 || fn === sn) {
|
|
175
|
+
oldFr = nodeHashBytes(p, oldFr);
|
|
176
|
+
newFr = nodeHashBytes(p, newFr);
|
|
177
|
+
while (fn % 2 === 0 && fn !== 0) {
|
|
178
|
+
fn = Math.floor(fn / 2);
|
|
179
|
+
sn = Math.floor(sn / 2);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
newFr = nodeHashBytes(newFr, p);
|
|
184
|
+
}
|
|
185
|
+
fn = Math.floor(fn / 2);
|
|
186
|
+
sn = Math.floor(sn / 2);
|
|
187
|
+
}
|
|
188
|
+
return idx === proof.length && bytesToHex(oldFr) === oldRootHex && bytesToHex(newFr) === newRootHex;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=merkleLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merkleLog.js","sourceRoot":"","sources":["../../src/core/merkleLog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request-signing string templates, shared by both runtimes' verification
|
|
3
|
+
* middleware and this SDK's client. Round-2 sub-finding-7: the v1 string had
|
|
4
|
+
* no host/domain component, so a signature minted for one hostname verified
|
|
5
|
+
* equally well against any other host serving the same code (the Worker is
|
|
6
|
+
* dual-hosted -- a custom domain plus its *.workers.dev fallback -- and the
|
|
7
|
+
* same is true of any other deployment of this open-source registry).
|
|
8
|
+
*
|
|
9
|
+
* v2 adds the host. The signer includes the host it believes it is talking
|
|
10
|
+
* to (derived from its own configured base URL, so it costs callers nothing
|
|
11
|
+
* extra to configure); the *server* always plugs in its own actual incoming
|
|
12
|
+
* Host header when recomputing this string for verification -- never a
|
|
13
|
+
* client-supplied value -- so a captured v2-signed request cannot be
|
|
14
|
+
* replayed against a different host: the recomputed string won't match what
|
|
15
|
+
* was signed.
|
|
16
|
+
*
|
|
17
|
+
* Migration: v1 (no `inam-sig-version` header) is still accepted by both
|
|
18
|
+
* runtimes' verification middleware so already-deployed callers on an older
|
|
19
|
+
* SDK version keep working. New SDK versions always sign v2. v1 acceptance
|
|
20
|
+
* is deprecated as of SPEC.md v0.28 and will be removed in a future
|
|
21
|
+
* version, not this one.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SIG_VERSION_HEADER = "inam-sig-version";
|
|
24
|
+
export declare const CURRENT_SIG_VERSION = "2";
|
|
25
|
+
export declare function buildSigningStringV1(method: string, path: string, timestamp: string, bodyHash: string): string;
|
|
26
|
+
export declare function buildSigningStringV2(method: string, path: string, host: string, timestamp: string, bodyHash: string): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request-signing string templates, shared by both runtimes' verification
|
|
3
|
+
* middleware and this SDK's client. Round-2 sub-finding-7: the v1 string had
|
|
4
|
+
* no host/domain component, so a signature minted for one hostname verified
|
|
5
|
+
* equally well against any other host serving the same code (the Worker is
|
|
6
|
+
* dual-hosted -- a custom domain plus its *.workers.dev fallback -- and the
|
|
7
|
+
* same is true of any other deployment of this open-source registry).
|
|
8
|
+
*
|
|
9
|
+
* v2 adds the host. The signer includes the host it believes it is talking
|
|
10
|
+
* to (derived from its own configured base URL, so it costs callers nothing
|
|
11
|
+
* extra to configure); the *server* always plugs in its own actual incoming
|
|
12
|
+
* Host header when recomputing this string for verification -- never a
|
|
13
|
+
* client-supplied value -- so a captured v2-signed request cannot be
|
|
14
|
+
* replayed against a different host: the recomputed string won't match what
|
|
15
|
+
* was signed.
|
|
16
|
+
*
|
|
17
|
+
* Migration: v1 (no `inam-sig-version` header) is still accepted by both
|
|
18
|
+
* runtimes' verification middleware so already-deployed callers on an older
|
|
19
|
+
* SDK version keep working. New SDK versions always sign v2. v1 acceptance
|
|
20
|
+
* is deprecated as of SPEC.md v0.28 and will be removed in a future
|
|
21
|
+
* version, not this one.
|
|
22
|
+
*/
|
|
23
|
+
export const SIG_VERSION_HEADER = "inam-sig-version";
|
|
24
|
+
export const CURRENT_SIG_VERSION = "2";
|
|
25
|
+
export function buildSigningStringV1(method, path, timestamp, bodyHash) {
|
|
26
|
+
return `${method.toUpperCase()}\n${path}\n${timestamp}\n${bodyHash}`;
|
|
27
|
+
}
|
|
28
|
+
export function buildSigningStringV2(method, path, host, timestamp, bodyHash) {
|
|
29
|
+
return `${method.toUpperCase()}\n${path}\n${host}\n${timestamp}\n${bodyHash}`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=signingString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signingString.js","sourceRoot":"","sources":["../../src/core/signingString.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAY,EAAE,SAAiB,EAAE,QAAgB;IACpG,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,SAAS,KAAK,QAAQ,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,SAAiB,EAAE,QAAgB;IAClH,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,SAAS,KAAK,QAAQ,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Append-only transparency log (audit round-2 item 6, SPEC.md v0.30, §13).
|
|
3
|
+
* One entry per receipt-lifecycle event that changes what a receipt or job
|
|
4
|
+
* asserts happened: finalize, dispute open/resolve, non-performance report.
|
|
5
|
+
* Not job postings/offers -- receipts are the trust-bearing artifact (§4).
|
|
6
|
+
*
|
|
7
|
+
* The entry's canonical JSON bytes ARE what gets hashed into the log (via
|
|
8
|
+
* merkleLog.ts's leafHash), so the same event logged by either runtime
|
|
9
|
+
* produces byte-identical leaves -- the same "one source of truth across
|
|
10
|
+
* runtimes" discipline as every other shared core module.
|
|
11
|
+
*/
|
|
12
|
+
export type TransparencyEntryType = "receipt_finalized" | "dispute_opened" | "dispute_resolved" | "nonperformance_reported";
|
|
13
|
+
export interface TransparencyEntryInput {
|
|
14
|
+
entryType: TransparencyEntryType;
|
|
15
|
+
refId: string;
|
|
16
|
+
timestamp: string;
|
|
17
|
+
data: unknown;
|
|
18
|
+
}
|
|
19
|
+
export declare function buildLogEntry(input: TransparencyEntryInput): {
|
|
20
|
+
canonicalEntry: string;
|
|
21
|
+
leafHash: string;
|
|
22
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { canonicalize } from "../crypto/canonical.js";
|
|
2
|
+
import { leafHash } from "./merkleLog.js";
|
|
3
|
+
export function buildLogEntry(input) {
|
|
4
|
+
const canonicalEntry = canonicalize(input);
|
|
5
|
+
return { canonicalEntry, leafHash: leafHash(new TextEncoder().encode(canonicalEntry)) };
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=transparencyLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transparencyLog.js","sourceRoot":"","sources":["../../src/core/transparencyLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB1C,MAAM,UAAU,aAAa,CAAC,KAA6B;IACzD,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;AAC1F,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,7 @@ export { generateSecp256k1Keypair, secp256k1Sign, secp256k1Verify, ethAddressFro
|
|
|
5
5
|
export { canonicalize } from "./crypto/canonical.js";
|
|
6
6
|
export { computeReceiptId, buildSignableContent, type ReceiptContentInput } from "./core/receiptContent.js";
|
|
7
7
|
export { computeVerificationId, buildSignableVerificationContent, type VerificationContentInput } from "./core/verificationContent.js";
|
|
8
|
+
export { verifyInclusion, verifyConsistency } from "./core/merkleLog.js";
|
|
9
|
+
export { type TransparencyEntryType } from "./core/transparencyLog.js";
|
|
8
10
|
export { registerAgentSchema, linkChallengeSchema, linkSchema, postJobSchema, offerSchema, acceptOfferSchema, draftReceiptSchema, countersignSchema, disputeSchema, submitVerificationSchema, setVerifierStatusSchema, } from "./core/schemas.js";
|
|
9
11
|
export type { LinkedIdentities, ExternalKeyType, LinkChallenge, AgentRecord, VerificationMethod, ReceiptOutcome, ReceiptStatus, DisputeStatus, ExecutionReceipt, SignableReceiptContent, ReputationComponents, ReputationRoleBreakdown, ReputationResult, JobStatus, JobOffer, JobRecord, IndependentVerificationMethod, VerificationResult, VerificationRecord, } from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,11 @@ export { generateSecp256k1Keypair, secp256k1Sign, secp256k1Verify, ethAddressFro
|
|
|
5
5
|
export { canonicalize } from "./crypto/canonical.js";
|
|
6
6
|
export { computeReceiptId, buildSignableContent } from "./core/receiptContent.js";
|
|
7
7
|
export { computeVerificationId, buildSignableVerificationContent } from "./core/verificationContent.js";
|
|
8
|
+
// Transparency log (audit round-2 item 6, RFC 6962-style Merkle log): pure
|
|
9
|
+
// verification functions, so a caller can verify an inclusion/consistency
|
|
10
|
+
// proof returned by InamClient's transparency methods itself, without
|
|
11
|
+
// trusting the registry's own arithmetic.
|
|
12
|
+
export { verifyInclusion, verifyConsistency } from "./core/merkleLog.js";
|
|
8
13
|
// Request-body validation schemas — shared by the Node reference server and
|
|
9
14
|
// the Cloudflare Worker so both accept/reject the exact same requests (see
|
|
10
15
|
// core/schemas.ts's own header comment for why this exists). Exported
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED