@kynesyslabs/demosdk 4.0.10 → 4.0.12
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/build/abstraction/Identities.d.ts +70 -0
- package/build/abstraction/Identities.js +170 -2
- package/build/abstraction/Identities.js.map +1 -1
- package/build/identity/cci/claim.d.ts +47 -0
- package/build/identity/cci/claim.js +86 -0
- package/build/identity/cci/claim.js.map +1 -0
- package/build/identity/cci/index.d.ts +11 -0
- package/build/identity/cci/index.js +11 -0
- package/build/identity/cci/index.js.map +1 -0
- package/build/identity/cci/signing.d.ts +44 -0
- package/build/identity/cci/signing.js +83 -0
- package/build/identity/cci/signing.js.map +1 -0
- package/build/identity/cci/types.d.ts +14 -0
- package/build/identity/cci/types.js +10 -0
- package/build/identity/cci/types.js.map +1 -0
- package/build/identity/index.d.ts +2 -0
- package/build/identity/index.js +3 -0
- package/build/identity/index.js.map +1 -0
- package/build/l2ps/anchor/anchor.d.ts +92 -0
- package/build/l2ps/anchor/anchor.js +186 -0
- package/build/l2ps/anchor/anchor.js.map +1 -0
- package/build/l2ps/anchor/index.d.ts +10 -0
- package/build/l2ps/anchor/index.js +10 -0
- package/build/l2ps/anchor/index.js.map +1 -0
- package/build/l2ps/anchor/types.d.ts +36 -0
- package/build/l2ps/anchor/types.js +2 -0
- package/build/l2ps/anchor/types.js.map +1 -0
- package/build/l2ps/binding/binding.d.ts +72 -0
- package/build/l2ps/binding/binding.js +160 -0
- package/build/l2ps/binding/binding.js.map +1 -0
- package/build/l2ps/binding/canonical.d.ts +19 -0
- package/build/l2ps/binding/canonical.js +30 -0
- package/build/l2ps/binding/canonical.js.map +1 -0
- package/build/l2ps/binding/index.d.ts +10 -0
- package/build/l2ps/binding/index.js +10 -0
- package/build/l2ps/binding/index.js.map +1 -0
- package/build/l2ps/binding/types.d.ts +20 -0
- package/build/l2ps/binding/types.js +2 -0
- package/build/l2ps/binding/types.js.map +1 -0
- package/build/l2ps/channel/canonical.d.ts +24 -0
- package/build/l2ps/channel/canonical.js +44 -0
- package/build/l2ps/channel/canonical.js.map +1 -0
- package/build/l2ps/channel/channelIdRegistry.d.ts +19 -0
- package/build/l2ps/channel/channelIdRegistry.js +16 -0
- package/build/l2ps/channel/channelIdRegistry.js.map +1 -0
- package/build/l2ps/channel/envelope.d.ts +26 -0
- package/build/l2ps/channel/envelope.js +62 -0
- package/build/l2ps/channel/envelope.js.map +1 -0
- package/build/l2ps/channel/finalize.d.ts +63 -0
- package/build/l2ps/channel/finalize.js +85 -0
- package/build/l2ps/channel/finalize.js.map +1 -0
- package/build/l2ps/channel/index.d.ts +17 -0
- package/build/l2ps/channel/index.js +17 -0
- package/build/l2ps/channel/index.js.map +1 -0
- package/build/l2ps/channel/negotiate.d.ts +106 -0
- package/build/l2ps/channel/negotiate.js +206 -0
- package/build/l2ps/channel/negotiate.js.map +1 -0
- package/build/l2ps/channel/session.d.ts +66 -0
- package/build/l2ps/channel/session.js +101 -0
- package/build/l2ps/channel/session.js.map +1 -0
- package/build/l2ps/channel/transcript.d.ts +48 -0
- package/build/l2ps/channel/transcript.js +120 -0
- package/build/l2ps/channel/transcript.js.map +1 -0
- package/build/l2ps/channel/transport.d.ts +117 -0
- package/build/l2ps/channel/transport.js +178 -0
- package/build/l2ps/channel/transport.js.map +1 -0
- package/build/l2ps/channel/types.d.ts +55 -0
- package/build/l2ps/channel/types.js +2 -0
- package/build/l2ps/channel/types.js.map +1 -0
- package/build/l2ps/index.d.ts +5 -2
- package/build/l2ps/index.js +3 -0
- package/build/l2ps/index.js.map +1 -1
- package/build/l2ps/l2ps.d.ts +32 -0
- package/build/l2ps/l2ps.js +60 -0
- package/build/l2ps/l2ps.js.map +1 -1
- package/build/l2ps/utils/hex.d.ts +26 -0
- package/build/l2ps/utils/hex.js +45 -0
- package/build/l2ps/utils/hex.js.map +1 -0
- package/build/types/abstraction/index.d.ts +17 -2
- package/build/websdk/BroadcastFailedError.js.map +1 -1
- package/build/websdk/TransportError.js.map +1 -1
- package/build/websdk/Web2Calls.js +2 -0
- package/build/websdk/Web2Calls.js.map +1 -1
- package/build/websdk/demosclass.d.ts +15 -0
- package/build/websdk/demosclass.js +14 -0
- package/build/websdk/demosclass.js.map +1 -1
- package/package.json +4 -2
|
@@ -10,6 +10,7 @@ export declare class Identities {
|
|
|
10
10
|
github: string[];
|
|
11
11
|
twitter: string[];
|
|
12
12
|
discord: string[];
|
|
13
|
+
domain: string[];
|
|
13
14
|
};
|
|
14
15
|
};
|
|
15
16
|
/**
|
|
@@ -134,6 +135,75 @@ export declare class Identities {
|
|
|
134
135
|
* @returns The response from the RPC call.
|
|
135
136
|
*/
|
|
136
137
|
addTelegramIdentity(demos: Demos, payload: TelegramSignedAttestation, referralCode?: string): Promise<RPCResponseWithValidityData>;
|
|
138
|
+
/**
|
|
139
|
+
* Build the proof payload a domain owner must host to prove control.
|
|
140
|
+
*
|
|
141
|
+
* Host the returned string at `https://<host>/.well-known/demos-cci.txt`,
|
|
142
|
+
* then call {@link addDomainIdentity}. The format is identical to the web2
|
|
143
|
+
* proof payload, so the node verifies it with the same parser.
|
|
144
|
+
*
|
|
145
|
+
* The signed message is domain-separated and bound to the host + signer
|
|
146
|
+
* (`dacs-domain:v1:<host>:<ed25519Address>`), so a signature cannot be
|
|
147
|
+
* lifted across domains, identities, or web2 contexts (node #897 / DEM-767).
|
|
148
|
+
* NOTE: the exact message shape MUST stay in lockstep with the node's
|
|
149
|
+
* verifyWeb2Proof reconstruction. Freshness (nonce/issuedAt) is the Tier-2
|
|
150
|
+
* follow-up tracked in DEM-767.
|
|
151
|
+
*
|
|
152
|
+
* @param demos A connected Demos instance.
|
|
153
|
+
* @param hostname The domain this proof is for (e.g. "example.com"). Must be
|
|
154
|
+
* the same domain later passed to {@link addDomainIdentity}.
|
|
155
|
+
* @returns The proof payload string (`demos:dw2p:<algorithm>:<signature>`).
|
|
156
|
+
*/
|
|
157
|
+
createDomainProofPayload(demos: Demos, hostname: string): Promise<string>;
|
|
158
|
+
/**
|
|
159
|
+
* Add a domain identity to the GCR (CCI).
|
|
160
|
+
*
|
|
161
|
+
* Proves the connected wallet controls a web domain by pointing at a
|
|
162
|
+
* well-known file the owner hosts:
|
|
163
|
+
* `https://<host>/.well-known/demos-cci.txt`. The file body must be the
|
|
164
|
+
* payload from {@link createDomainProofPayload}. The node fetches the file
|
|
165
|
+
* over HTTPS (the TLS cert binds the content to the hostname), verifies the
|
|
166
|
+
* signed payload against the sender, and writes a `web2.domain` entry on
|
|
167
|
+
* the CCI.
|
|
168
|
+
*
|
|
169
|
+
* Mirrors {@link addTwitterIdentity}.
|
|
170
|
+
*
|
|
171
|
+
* @param demos A Demos instance to communicate with the RPC.
|
|
172
|
+
* @param hostname The domain being claimed (e.g. "example.com"). A full
|
|
173
|
+
* URL is also accepted; only the hostname is used.
|
|
174
|
+
* @param referralCode Optional referral code for incentive points.
|
|
175
|
+
* @returns The response from the RPC call.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* const identities = new Identities()
|
|
180
|
+
* // 1. Generate the proof the user hosts at /.well-known/demos-cci.txt
|
|
181
|
+
* const proof = await identities.createDomainProofPayload(demos)
|
|
182
|
+
* // 2. After the file is live, link the domain:
|
|
183
|
+
* await identities.addDomainIdentity(demos, "example.com")
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
addDomainIdentity(demos: Demos, hostname: string, referralCode?: string): Promise<RPCResponseWithValidityData>;
|
|
187
|
+
/**
|
|
188
|
+
* Remove a domain identity from the GCR (CCI).
|
|
189
|
+
*
|
|
190
|
+
* @param demos A Demos instance to communicate with the RPC.
|
|
191
|
+
* @param hostname The domain to unlink (e.g. "example.com").
|
|
192
|
+
* @returns The response from the RPC call.
|
|
193
|
+
*/
|
|
194
|
+
removeDomainIdentity(demos: Demos, hostname: string): Promise<RPCResponseWithValidityData>;
|
|
195
|
+
/**
|
|
196
|
+
* Build the canonical domain proof URL and hostname from a hostname or URL.
|
|
197
|
+
*
|
|
198
|
+
* Parses the input with the URL API (which correctly brackets IPv6 literals
|
|
199
|
+
* in the resulting URL while exposing the bare host via `.hostname`), forces
|
|
200
|
+
* https + the well-known CCI path, and strips any query/fragment/userinfo.
|
|
201
|
+
* Throws on anything that does not parse to a real host — no silent fallback.
|
|
202
|
+
*
|
|
203
|
+
* @example "https://Example.COM/x?y" -> { proofUrl: "https://example.com/.well-known/demos-cci.txt", hostname: "example.com" }
|
|
204
|
+
* @example "[::1]" -> { proofUrl: "https://[::1]/.well-known/demos-cci.txt", hostname: "[::1]" }
|
|
205
|
+
*/
|
|
206
|
+
private buildDomainProof;
|
|
137
207
|
bindPqcIdentity(demos: Demos, algorithms?: "all" | PQCAlgorithm[]): Promise<RPCResponseWithValidityData>;
|
|
138
208
|
removePqcIdentity(demos: Demos, algorithms?: "all" | PQCAlgorithm[]): Promise<RPCResponseWithValidityData>;
|
|
139
209
|
/**
|
|
@@ -17,6 +17,7 @@ export class Identities {
|
|
|
17
17
|
"https://discord.com/channels",
|
|
18
18
|
"https://ptb.discord.com/channels",
|
|
19
19
|
],
|
|
20
|
+
domain: ["https://"],
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
23
|
}
|
|
@@ -51,10 +52,33 @@ export class Identities {
|
|
|
51
52
|
throw new Error(errorMessage);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
// The scheme-only format check above cannot enforce a path suffix,
|
|
56
|
+
// so validate the full domain proof URL shape here: any caller
|
|
57
|
+
// (e.g. inferWeb2Identity) passing context "domain" must point at
|
|
58
|
+
// exactly https://<host>/.well-known/demos-cci.txt.
|
|
59
|
+
if (payload.context === "domain") {
|
|
60
|
+
let valid = false;
|
|
61
|
+
try {
|
|
62
|
+
const u = new URL(payload.proof);
|
|
63
|
+
valid =
|
|
64
|
+
u.protocol === "https:" &&
|
|
65
|
+
u.pathname === "/.well-known/demos-cci.txt";
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
valid = false;
|
|
69
|
+
}
|
|
70
|
+
if (!valid) {
|
|
71
|
+
throw new Error("Invalid domain proof URL: must be https://<host>/.well-known/demos-cci.txt");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
54
74
|
}
|
|
55
75
|
const tx = DemosTransactions.empty();
|
|
56
76
|
const ed25519 = await demos.crypto.getIdentity("ed25519");
|
|
57
77
|
const address = uint8ArrayToHex(ed25519.publicKey);
|
|
78
|
+
// Use the address' current nonce (+1) like every other native tx in
|
|
79
|
+
// this SDK — hardcoding nonce:1 only validated for a fresh account and
|
|
80
|
+
// broke the second identity op (e.g. remove after add).
|
|
81
|
+
const nonce = await demos.getAddressNonce(address);
|
|
58
82
|
tx.content = {
|
|
59
83
|
...tx.content,
|
|
60
84
|
type: "identity",
|
|
@@ -68,7 +92,7 @@ export class Identities {
|
|
|
68
92
|
payload: payload,
|
|
69
93
|
},
|
|
70
94
|
],
|
|
71
|
-
nonce: 1,
|
|
95
|
+
nonce: nonce + 1,
|
|
72
96
|
timestamp: Date.now(),
|
|
73
97
|
};
|
|
74
98
|
const signedTx = await demos.sign(tx);
|
|
@@ -85,6 +109,10 @@ export class Identities {
|
|
|
85
109
|
const tx = DemosTransactions.empty();
|
|
86
110
|
const ed25519 = await demos.crypto.getIdentity("ed25519");
|
|
87
111
|
const address = uint8ArrayToHex(ed25519.publicKey);
|
|
112
|
+
// Use the address' current nonce (+1) like every other native tx in
|
|
113
|
+
// this SDK — hardcoding nonce:1 broke removing an identity once the
|
|
114
|
+
// account had already done one identity op (e.g. the add).
|
|
115
|
+
const nonce = await demos.getAddressNonce(address);
|
|
88
116
|
tx.content = {
|
|
89
117
|
...tx.content,
|
|
90
118
|
type: "identity",
|
|
@@ -98,7 +126,7 @@ export class Identities {
|
|
|
98
126
|
payload: payload,
|
|
99
127
|
},
|
|
100
128
|
],
|
|
101
|
-
nonce: 1,
|
|
129
|
+
nonce: nonce + 1,
|
|
102
130
|
timestamp: Date.now(),
|
|
103
131
|
};
|
|
104
132
|
const signedTx = await demos.sign(tx);
|
|
@@ -282,6 +310,146 @@ export class Identities {
|
|
|
282
310
|
};
|
|
283
311
|
return await this.inferIdentity(demos, "web2", telegramPayload);
|
|
284
312
|
}
|
|
313
|
+
// SECTION: Domain Identities
|
|
314
|
+
/**
|
|
315
|
+
* Build the proof payload a domain owner must host to prove control.
|
|
316
|
+
*
|
|
317
|
+
* Host the returned string at `https://<host>/.well-known/demos-cci.txt`,
|
|
318
|
+
* then call {@link addDomainIdentity}. The format is identical to the web2
|
|
319
|
+
* proof payload, so the node verifies it with the same parser.
|
|
320
|
+
*
|
|
321
|
+
* The signed message is domain-separated and bound to the host + signer
|
|
322
|
+
* (`dacs-domain:v1:<host>:<ed25519Address>`), so a signature cannot be
|
|
323
|
+
* lifted across domains, identities, or web2 contexts (node #897 / DEM-767).
|
|
324
|
+
* NOTE: the exact message shape MUST stay in lockstep with the node's
|
|
325
|
+
* verifyWeb2Proof reconstruction. Freshness (nonce/issuedAt) is the Tier-2
|
|
326
|
+
* follow-up tracked in DEM-767.
|
|
327
|
+
*
|
|
328
|
+
* @param demos A connected Demos instance.
|
|
329
|
+
* @param hostname The domain this proof is for (e.g. "example.com"). Must be
|
|
330
|
+
* the same domain later passed to {@link addDomainIdentity}.
|
|
331
|
+
* @returns The proof payload string (`demos:dw2p:<algorithm>:<signature>`).
|
|
332
|
+
*/
|
|
333
|
+
async createDomainProofPayload(demos, hostname) {
|
|
334
|
+
const { hostname: host } = this.buildDomainProof(hostname);
|
|
335
|
+
const sender = await demos.getEd25519Address();
|
|
336
|
+
// Domain-separated, host+signer-bound message (must match the node).
|
|
337
|
+
const message = `dacs-domain:v1:${host}:${sender}`;
|
|
338
|
+
const signature = await demos.crypto.sign(demos.algorithm, new TextEncoder().encode(message));
|
|
339
|
+
return `demos:dw2p:${demos.algorithm}:${uint8ArrayToHex(signature.signature)}`;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Add a domain identity to the GCR (CCI).
|
|
343
|
+
*
|
|
344
|
+
* Proves the connected wallet controls a web domain by pointing at a
|
|
345
|
+
* well-known file the owner hosts:
|
|
346
|
+
* `https://<host>/.well-known/demos-cci.txt`. The file body must be the
|
|
347
|
+
* payload from {@link createDomainProofPayload}. The node fetches the file
|
|
348
|
+
* over HTTPS (the TLS cert binds the content to the hostname), verifies the
|
|
349
|
+
* signed payload against the sender, and writes a `web2.domain` entry on
|
|
350
|
+
* the CCI.
|
|
351
|
+
*
|
|
352
|
+
* Mirrors {@link addTwitterIdentity}.
|
|
353
|
+
*
|
|
354
|
+
* @param demos A Demos instance to communicate with the RPC.
|
|
355
|
+
* @param hostname The domain being claimed (e.g. "example.com"). A full
|
|
356
|
+
* URL is also accepted; only the hostname is used.
|
|
357
|
+
* @param referralCode Optional referral code for incentive points.
|
|
358
|
+
* @returns The response from the RPC call.
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* const identities = new Identities()
|
|
363
|
+
* // 1. Generate the proof the user hosts at /.well-known/demos-cci.txt
|
|
364
|
+
* const proof = await identities.createDomainProofPayload(demos)
|
|
365
|
+
* // 2. After the file is live, link the domain:
|
|
366
|
+
* await identities.addDomainIdentity(demos, "example.com")
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
async addDomainIdentity(demos, hostname, referralCode) {
|
|
370
|
+
const { proofUrl, hostname: host } = this.buildDomainProof(hostname);
|
|
371
|
+
// Fail fast if the well-known file is missing or unparseable, mirroring
|
|
372
|
+
// addTwitterIdentity's pre-fetch via getTweet.
|
|
373
|
+
const data = await demos.web2.getDomainProof(proofUrl);
|
|
374
|
+
if (!data.success) {
|
|
375
|
+
throw new Error(data.error ||
|
|
376
|
+
`Could not read domain proof at ${proofUrl}`);
|
|
377
|
+
}
|
|
378
|
+
// Assert the success fields exist (mirrors the Twitter/Discord flows
|
|
379
|
+
// validating their fetched fields) and confirm the node fetched/verified
|
|
380
|
+
// the same host we are about to store — both derive from the same URL,
|
|
381
|
+
// so a mismatch means something rewrote the target.
|
|
382
|
+
if (!data.hostname) {
|
|
383
|
+
throw new Error("Domain proof response missing verified hostname");
|
|
384
|
+
}
|
|
385
|
+
if (!data.body) {
|
|
386
|
+
throw new Error(`Empty domain proof at ${proofUrl}`);
|
|
387
|
+
}
|
|
388
|
+
if (data.hostname.toLowerCase() !== host) {
|
|
389
|
+
throw new Error(`Verified host "${data.hostname}" does not match requested "${host}"`);
|
|
390
|
+
}
|
|
391
|
+
const domainPayload = {
|
|
392
|
+
context: "domain",
|
|
393
|
+
proof: proofUrl,
|
|
394
|
+
username: host,
|
|
395
|
+
userId: host,
|
|
396
|
+
referralCode: referralCode,
|
|
397
|
+
};
|
|
398
|
+
return await this.inferIdentity(demos, "web2", domainPayload);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Remove a domain identity from the GCR (CCI).
|
|
402
|
+
*
|
|
403
|
+
* @param demos A Demos instance to communicate with the RPC.
|
|
404
|
+
* @param hostname The domain to unlink (e.g. "example.com").
|
|
405
|
+
* @returns The response from the RPC call.
|
|
406
|
+
*/
|
|
407
|
+
async removeDomainIdentity(demos, hostname) {
|
|
408
|
+
// Same canonicalisation as addDomainIdentity so add/remove round-trip.
|
|
409
|
+
const { hostname: host } = this.buildDomainProof(hostname);
|
|
410
|
+
return await this.removeIdentity(demos, "web2", {
|
|
411
|
+
context: "domain",
|
|
412
|
+
username: host,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Build the canonical domain proof URL and hostname from a hostname or URL.
|
|
417
|
+
*
|
|
418
|
+
* Parses the input with the URL API (which correctly brackets IPv6 literals
|
|
419
|
+
* in the resulting URL while exposing the bare host via `.hostname`), forces
|
|
420
|
+
* https + the well-known CCI path, and strips any query/fragment/userinfo.
|
|
421
|
+
* Throws on anything that does not parse to a real host — no silent fallback.
|
|
422
|
+
*
|
|
423
|
+
* @example "https://Example.COM/x?y" -> { proofUrl: "https://example.com/.well-known/demos-cci.txt", hostname: "example.com" }
|
|
424
|
+
* @example "[::1]" -> { proofUrl: "https://[::1]/.well-known/demos-cci.txt", hostname: "[::1]" }
|
|
425
|
+
*/
|
|
426
|
+
buildDomainProof(input) {
|
|
427
|
+
const trimmed = input.trim();
|
|
428
|
+
if (!trimmed) {
|
|
429
|
+
throw new Error("hostname must not be empty");
|
|
430
|
+
}
|
|
431
|
+
let url;
|
|
432
|
+
try {
|
|
433
|
+
url = new URL(trimmed.includes("://") ? trimmed : `https://${trimmed}`);
|
|
434
|
+
}
|
|
435
|
+
catch {
|
|
436
|
+
throw new Error(`Invalid hostname: "${input}"`);
|
|
437
|
+
}
|
|
438
|
+
if (!url.hostname) {
|
|
439
|
+
throw new Error(`Invalid hostname: "${input}"`);
|
|
440
|
+
}
|
|
441
|
+
url.protocol = "https:";
|
|
442
|
+
url.username = "";
|
|
443
|
+
url.password = "";
|
|
444
|
+
url.search = "";
|
|
445
|
+
url.hash = "";
|
|
446
|
+
url.pathname = "/.well-known/demos-cci.txt";
|
|
447
|
+
// URL already lower-cases the host; toString() brackets IPv6 correctly.
|
|
448
|
+
return {
|
|
449
|
+
proofUrl: url.toString(),
|
|
450
|
+
hostname: url.hostname.toLowerCase(),
|
|
451
|
+
};
|
|
452
|
+
}
|
|
285
453
|
// SECTION: PQC Identities
|
|
286
454
|
async bindPqcIdentity(demos, algorithms = "all") {
|
|
287
455
|
let addressTypes = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ClaimReference, ParsedClaimRef } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Split a `ClaimReference` into its scheme and identifier components.
|
|
4
|
+
*
|
|
5
|
+
* @param ref - `"<scheme>:<identifier>"` string.
|
|
6
|
+
* @returns The parsed scheme/identifier pair.
|
|
7
|
+
* @throws {TypeError} If `ref` is not a string.
|
|
8
|
+
* @throws {Error} If `ref` is missing the colon, has an empty scheme,
|
|
9
|
+
* or has an empty identifier.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseClaimRef(ref: ClaimReference): ParsedClaimRef;
|
|
12
|
+
/**
|
|
13
|
+
* Build the canonical `demos:<address>` ClaimReference for a Demos
|
|
14
|
+
* Ed25519 address. The address is lowercased and 0x-prefixed.
|
|
15
|
+
*
|
|
16
|
+
* @param address - Hex Ed25519 address, with or without `0x` prefix.
|
|
17
|
+
* @returns A `demos:0x...` ClaimReference.
|
|
18
|
+
* @throws {Error} If `address` is not 64-hex (32-byte).
|
|
19
|
+
*/
|
|
20
|
+
export declare function demosClaimRefForAddress(address: string): ClaimReference;
|
|
21
|
+
/**
|
|
22
|
+
* Test whether a ClaimReference parses and has the `demos` scheme.
|
|
23
|
+
* Safe for arbitrary input — never throws.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isDemosClaim(ref: ClaimReference): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Normalise a Demos Ed25519 address into the canonical lowercase
|
|
28
|
+
* `0x`-prefixed form. The Demos node accepts both forms; we settle on one
|
|
29
|
+
* so comparisons (`claimAddress !== connected`) are deterministic.
|
|
30
|
+
*
|
|
31
|
+
* @param address - Hex address, with or without `0x` prefix.
|
|
32
|
+
* @returns Lowercase `0x`-prefixed 64-hex string.
|
|
33
|
+
* @throws {Error} If the input is not hex or is the wrong length for an
|
|
34
|
+
* Ed25519 public key (32 bytes = 64 hex chars).
|
|
35
|
+
*/
|
|
36
|
+
export declare function normalizeDemosAddress(address: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Extract the normalised Demos Ed25519 address embedded in a `demos:`
|
|
39
|
+
* ClaimReference. Refuses non-demos schemes — see `parseClaimRef` for the
|
|
40
|
+
* scheme-agnostic parse.
|
|
41
|
+
*
|
|
42
|
+
* @param ref - A `demos:0x...` ClaimReference.
|
|
43
|
+
* @returns Lowercase `0x`-prefixed Ed25519 address.
|
|
44
|
+
* @throws {Error} If the scheme is not `demos` or the identifier is not
|
|
45
|
+
* a valid Ed25519 address.
|
|
46
|
+
*/
|
|
47
|
+
export declare function demosAddressFromClaim(ref: ClaimReference): string;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split a `ClaimReference` into its scheme and identifier components.
|
|
3
|
+
*
|
|
4
|
+
* @param ref - `"<scheme>:<identifier>"` string.
|
|
5
|
+
* @returns The parsed scheme/identifier pair.
|
|
6
|
+
* @throws {TypeError} If `ref` is not a string.
|
|
7
|
+
* @throws {Error} If `ref` is missing the colon, has an empty scheme,
|
|
8
|
+
* or has an empty identifier.
|
|
9
|
+
*/
|
|
10
|
+
export function parseClaimRef(ref) {
|
|
11
|
+
if (typeof ref !== "string") {
|
|
12
|
+
throw new TypeError(`parseClaimRef: expected string, got ${typeof ref}`);
|
|
13
|
+
}
|
|
14
|
+
const colon = ref.indexOf(":");
|
|
15
|
+
if (colon < 1 || colon === ref.length - 1) {
|
|
16
|
+
throw new Error(`parseClaimRef: malformed ClaimReference "${ref}" (expected "<scheme>:<identifier>")`);
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
scheme: ref.slice(0, colon),
|
|
20
|
+
identifier: ref.slice(colon + 1),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build the canonical `demos:<address>` ClaimReference for a Demos
|
|
25
|
+
* Ed25519 address. The address is lowercased and 0x-prefixed.
|
|
26
|
+
*
|
|
27
|
+
* @param address - Hex Ed25519 address, with or without `0x` prefix.
|
|
28
|
+
* @returns A `demos:0x...` ClaimReference.
|
|
29
|
+
* @throws {Error} If `address` is not 64-hex (32-byte).
|
|
30
|
+
*/
|
|
31
|
+
export function demosClaimRefForAddress(address) {
|
|
32
|
+
const normalized = normalizeDemosAddress(address);
|
|
33
|
+
return `demos:${normalized}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Test whether a ClaimReference parses and has the `demos` scheme.
|
|
37
|
+
* Safe for arbitrary input — never throws.
|
|
38
|
+
*/
|
|
39
|
+
export function isDemosClaim(ref) {
|
|
40
|
+
try {
|
|
41
|
+
return parseClaimRef(ref).scheme === "demos";
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Normalise a Demos Ed25519 address into the canonical lowercase
|
|
49
|
+
* `0x`-prefixed form. The Demos node accepts both forms; we settle on one
|
|
50
|
+
* so comparisons (`claimAddress !== connected`) are deterministic.
|
|
51
|
+
*
|
|
52
|
+
* @param address - Hex address, with or without `0x` prefix.
|
|
53
|
+
* @returns Lowercase `0x`-prefixed 64-hex string.
|
|
54
|
+
* @throws {Error} If the input is not hex or is the wrong length for an
|
|
55
|
+
* Ed25519 public key (32 bytes = 64 hex chars).
|
|
56
|
+
*/
|
|
57
|
+
export function normalizeDemosAddress(address) {
|
|
58
|
+
const a = address.startsWith("0x") || address.startsWith("0X")
|
|
59
|
+
? address.slice(2)
|
|
60
|
+
: address;
|
|
61
|
+
if (!/^[0-9a-fA-F]+$/.test(a)) {
|
|
62
|
+
throw new Error(`normalizeDemosAddress: not a hex string: "${address}"`);
|
|
63
|
+
}
|
|
64
|
+
if (a.length !== 64) {
|
|
65
|
+
throw new Error(`normalizeDemosAddress: expected 32-byte (64-hex) Ed25519 address, got ${a.length} hex chars`);
|
|
66
|
+
}
|
|
67
|
+
return "0x" + a.toLowerCase();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Extract the normalised Demos Ed25519 address embedded in a `demos:`
|
|
71
|
+
* ClaimReference. Refuses non-demos schemes — see `parseClaimRef` for the
|
|
72
|
+
* scheme-agnostic parse.
|
|
73
|
+
*
|
|
74
|
+
* @param ref - A `demos:0x...` ClaimReference.
|
|
75
|
+
* @returns Lowercase `0x`-prefixed Ed25519 address.
|
|
76
|
+
* @throws {Error} If the scheme is not `demos` or the identifier is not
|
|
77
|
+
* a valid Ed25519 address.
|
|
78
|
+
*/
|
|
79
|
+
export function demosAddressFromClaim(ref) {
|
|
80
|
+
const { scheme, identifier } = parseClaimRef(ref);
|
|
81
|
+
if (scheme !== "demos") {
|
|
82
|
+
throw new Error(`demosAddressFromClaim: claim scheme "${scheme}" is not "demos"`);
|
|
83
|
+
}
|
|
84
|
+
return normalizeDemosAddress(identifier);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../../src/identity/cci/claim.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,uCAAuC,OAAO,GAAG,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACX,4CAA4C,GAAG,sCAAsC,CACxF,CAAA;IACL,CAAC;IACD,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAgB;QAC1C,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;KACnC,CAAA;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACnD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,SAAS,UAAU,EAAoB,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC5C,IAAI,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACjD,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1D,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,OAAO,CAAA;IACb,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,6CAA6C,OAAO,GAAG,CAC1D,CAAA;IACL,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACX,yEAAyE,CAAC,CAAC,MAAM,YAAY,CAChG,CAAA;IACL,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACjD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACX,wCAAwC,MAAM,kBAAkB,CACnE,CAAA;IACL,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Context Identity (CCI) — primary-claim binding for DACS-3 SR-4.
|
|
3
|
+
*
|
|
4
|
+
* Public surface used by L2PS membership binding (WI-1), ChannelMessage
|
|
5
|
+
* envelope signing (WI-2), and encrypted-transcript anchoring (WI-3).
|
|
6
|
+
*
|
|
7
|
+
* Brief: `docs/l2ps-sr4-implementation-brief.md` in the node repo.
|
|
8
|
+
*/
|
|
9
|
+
export type { ClaimReference, ClaimScheme, ParsedClaimRef } from "./types";
|
|
10
|
+
export { demosClaimRefForAddress, demosAddressFromClaim, isDemosClaim, normalizeDemosAddress, parseClaimRef, } from "./claim";
|
|
11
|
+
export { signWithPrimaryClaim, verifyPrimaryClaimSignature, } from "./signing";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Context Identity (CCI) — primary-claim binding for DACS-3 SR-4.
|
|
3
|
+
*
|
|
4
|
+
* Public surface used by L2PS membership binding (WI-1), ChannelMessage
|
|
5
|
+
* envelope signing (WI-2), and encrypted-transcript anchoring (WI-3).
|
|
6
|
+
*
|
|
7
|
+
* Brief: `docs/l2ps-sr4-implementation-brief.md` in the node repo.
|
|
8
|
+
*/
|
|
9
|
+
export { demosClaimRefForAddress, demosAddressFromClaim, isDemosClaim, normalizeDemosAddress, parseClaimRef, } from "./claim.js";
|
|
10
|
+
export { signWithPrimaryClaim, verifyPrimaryClaimSignature, } from "./signing.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/identity/cci/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GAChB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACH,oBAAoB,EACpB,2BAA2B,GAC9B,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Demos } from "../../websdk/demosclass";
|
|
2
|
+
import type { ClaimReference } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Sign a payload with the key controlling a CCI primary claim.
|
|
5
|
+
*
|
|
6
|
+
* The brief invariant (DACS-3 §0 / §8.3.2): in-channel signatures MUST be
|
|
7
|
+
* produced by the key that controls the sender's primary claim — the same
|
|
8
|
+
* key that holds value on-chain. On Demos that is the Demos Ed25519 key,
|
|
9
|
+
* NOT the RSA L2PS subnet key.
|
|
10
|
+
*
|
|
11
|
+
* Domain separation is the caller's responsibility — pass the full payload
|
|
12
|
+
* including the `dacs-*:v1:` prefix. WI-0 stays scheme-agnostic.
|
|
13
|
+
*
|
|
14
|
+
* @param claim - The signer's primary `demos:` ClaimReference. Refuses any
|
|
15
|
+
* other scheme until a controlling-key resolver for them
|
|
16
|
+
* is added.
|
|
17
|
+
* @param payload - Pre-domain-separated bytes to cover. Caller composes
|
|
18
|
+
* `dacs-*:v1: || canonical_hash`.
|
|
19
|
+
* @param demos - Connected `Demos` instance. Its Ed25519 address must
|
|
20
|
+
* match `claim`'s identifier — otherwise we refuse to
|
|
21
|
+
* produce a misattributable signature.
|
|
22
|
+
* @returns Raw 64-byte Ed25519 signature.
|
|
23
|
+
* @throws {Error} If the scheme is not `demos`, the wallet is not
|
|
24
|
+
* connected, or the connected address does not match the
|
|
25
|
+
* claim's address.
|
|
26
|
+
*/
|
|
27
|
+
export declare function signWithPrimaryClaim(claim: ClaimReference, payload: Uint8Array, demos: Demos): Promise<Uint8Array>;
|
|
28
|
+
/**
|
|
29
|
+
* Verify an Ed25519 signature produced by `signWithPrimaryClaim`.
|
|
30
|
+
*
|
|
31
|
+
* Recovers the public key from the claim identifier and verifies forge-style.
|
|
32
|
+
* Caller-supplied payload must match the bytes that were signed (including
|
|
33
|
+
* any `dacs-*:v1:` domain prefix).
|
|
34
|
+
*
|
|
35
|
+
* @param claim - The claimed signer's `demos:` ClaimReference.
|
|
36
|
+
* @param payload - Exact bytes that were signed (must roundtrip through
|
|
37
|
+
* UTF-8). Caller composes `dacs-*:v1: || hash`.
|
|
38
|
+
* @param signature - Raw 64-byte Ed25519 signature.
|
|
39
|
+
* @returns `true` iff the signature verifies under the public key
|
|
40
|
+
* encoded in `claim`; `false` for cryptographic mismatch.
|
|
41
|
+
* @throws {Error} If the scheme is not `demos` or the recovered public
|
|
42
|
+
* key is not 32 bytes (malformed claim).
|
|
43
|
+
*/
|
|
44
|
+
export declare function verifyPrimaryClaimSignature(claim: ClaimReference, payload: Uint8Array, signature: Uint8Array): boolean;
|