@kynesyslabs/demosdk 4.0.9 → 4.0.11

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 (76) hide show
  1. package/build/abstraction/Identities.d.ts +70 -0
  2. package/build/abstraction/Identities.js +160 -0
  3. package/build/abstraction/Identities.js.map +1 -1
  4. package/build/identity/cci/claim.d.ts +47 -0
  5. package/build/identity/cci/claim.js +86 -0
  6. package/build/identity/cci/claim.js.map +1 -0
  7. package/build/identity/cci/index.d.ts +11 -0
  8. package/build/identity/cci/index.js +11 -0
  9. package/build/identity/cci/index.js.map +1 -0
  10. package/build/identity/cci/signing.d.ts +44 -0
  11. package/build/identity/cci/signing.js +83 -0
  12. package/build/identity/cci/signing.js.map +1 -0
  13. package/build/identity/cci/types.d.ts +14 -0
  14. package/build/identity/cci/types.js +10 -0
  15. package/build/identity/cci/types.js.map +1 -0
  16. package/build/identity/index.d.ts +2 -0
  17. package/build/identity/index.js +3 -0
  18. package/build/identity/index.js.map +1 -0
  19. package/build/l2ps/anchor/anchor.d.ts +92 -0
  20. package/build/l2ps/anchor/anchor.js +186 -0
  21. package/build/l2ps/anchor/anchor.js.map +1 -0
  22. package/build/l2ps/anchor/index.d.ts +10 -0
  23. package/build/l2ps/anchor/index.js +10 -0
  24. package/build/l2ps/anchor/index.js.map +1 -0
  25. package/build/l2ps/anchor/types.d.ts +36 -0
  26. package/build/l2ps/anchor/types.js +2 -0
  27. package/build/l2ps/anchor/types.js.map +1 -0
  28. package/build/l2ps/binding/binding.d.ts +72 -0
  29. package/build/l2ps/binding/binding.js +160 -0
  30. package/build/l2ps/binding/binding.js.map +1 -0
  31. package/build/l2ps/binding/canonical.d.ts +19 -0
  32. package/build/l2ps/binding/canonical.js +30 -0
  33. package/build/l2ps/binding/canonical.js.map +1 -0
  34. package/build/l2ps/binding/index.d.ts +10 -0
  35. package/build/l2ps/binding/index.js +10 -0
  36. package/build/l2ps/binding/index.js.map +1 -0
  37. package/build/l2ps/binding/types.d.ts +20 -0
  38. package/build/l2ps/binding/types.js +2 -0
  39. package/build/l2ps/binding/types.js.map +1 -0
  40. package/build/l2ps/channel/canonical.d.ts +24 -0
  41. package/build/l2ps/channel/canonical.js +44 -0
  42. package/build/l2ps/channel/canonical.js.map +1 -0
  43. package/build/l2ps/channel/channelIdRegistry.d.ts +19 -0
  44. package/build/l2ps/channel/channelIdRegistry.js +16 -0
  45. package/build/l2ps/channel/channelIdRegistry.js.map +1 -0
  46. package/build/l2ps/channel/envelope.d.ts +26 -0
  47. package/build/l2ps/channel/envelope.js +62 -0
  48. package/build/l2ps/channel/envelope.js.map +1 -0
  49. package/build/l2ps/channel/index.d.ts +14 -0
  50. package/build/l2ps/channel/index.js +14 -0
  51. package/build/l2ps/channel/index.js.map +1 -0
  52. package/build/l2ps/channel/session.d.ts +66 -0
  53. package/build/l2ps/channel/session.js +101 -0
  54. package/build/l2ps/channel/session.js.map +1 -0
  55. package/build/l2ps/channel/transcript.d.ts +48 -0
  56. package/build/l2ps/channel/transcript.js +120 -0
  57. package/build/l2ps/channel/transcript.js.map +1 -0
  58. package/build/l2ps/channel/types.d.ts +55 -0
  59. package/build/l2ps/channel/types.js +2 -0
  60. package/build/l2ps/channel/types.js.map +1 -0
  61. package/build/l2ps/index.d.ts +5 -2
  62. package/build/l2ps/index.js +3 -0
  63. package/build/l2ps/index.js.map +1 -1
  64. package/build/l2ps/l2ps.d.ts +32 -0
  65. package/build/l2ps/l2ps.js +60 -0
  66. package/build/l2ps/l2ps.js.map +1 -1
  67. package/build/l2ps/utils/hex.d.ts +26 -0
  68. package/build/l2ps/utils/hex.js +45 -0
  69. package/build/l2ps/utils/hex.js.map +1 -0
  70. package/build/types/abstraction/index.d.ts +17 -2
  71. package/build/websdk/Web2Calls.js +2 -0
  72. package/build/websdk/Web2Calls.js.map +1 -1
  73. package/build/websdk/demosclass.d.ts +15 -0
  74. package/build/websdk/demosclass.js +25 -0
  75. package/build/websdk/demosclass.js.map +1 -1
  76. 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,6 +52,25 @@ 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");
@@ -282,6 +302,146 @@ export class Identities {
282
302
  };
283
303
  return await this.inferIdentity(demos, "web2", telegramPayload);
284
304
  }
305
+ // SECTION: Domain Identities
306
+ /**
307
+ * Build the proof payload a domain owner must host to prove control.
308
+ *
309
+ * Host the returned string at `https://<host>/.well-known/demos-cci.txt`,
310
+ * then call {@link addDomainIdentity}. The format is identical to the web2
311
+ * proof payload, so the node verifies it with the same parser.
312
+ *
313
+ * The signed message is domain-separated and bound to the host + signer
314
+ * (`dacs-domain:v1:<host>:<ed25519Address>`), so a signature cannot be
315
+ * lifted across domains, identities, or web2 contexts (node #897 / DEM-767).
316
+ * NOTE: the exact message shape MUST stay in lockstep with the node's
317
+ * verifyWeb2Proof reconstruction. Freshness (nonce/issuedAt) is the Tier-2
318
+ * follow-up tracked in DEM-767.
319
+ *
320
+ * @param demos A connected Demos instance.
321
+ * @param hostname The domain this proof is for (e.g. "example.com"). Must be
322
+ * the same domain later passed to {@link addDomainIdentity}.
323
+ * @returns The proof payload string (`demos:dw2p:<algorithm>:<signature>`).
324
+ */
325
+ async createDomainProofPayload(demos, hostname) {
326
+ const { hostname: host } = this.buildDomainProof(hostname);
327
+ const sender = await demos.getEd25519Address();
328
+ // Domain-separated, host+signer-bound message (must match the node).
329
+ const message = `dacs-domain:v1:${host}:${sender}`;
330
+ const signature = await demos.crypto.sign(demos.algorithm, new TextEncoder().encode(message));
331
+ return `demos:dw2p:${demos.algorithm}:${uint8ArrayToHex(signature.signature)}`;
332
+ }
333
+ /**
334
+ * Add a domain identity to the GCR (CCI).
335
+ *
336
+ * Proves the connected wallet controls a web domain by pointing at a
337
+ * well-known file the owner hosts:
338
+ * `https://<host>/.well-known/demos-cci.txt`. The file body must be the
339
+ * payload from {@link createDomainProofPayload}. The node fetches the file
340
+ * over HTTPS (the TLS cert binds the content to the hostname), verifies the
341
+ * signed payload against the sender, and writes a `web2.domain` entry on
342
+ * the CCI.
343
+ *
344
+ * Mirrors {@link addTwitterIdentity}.
345
+ *
346
+ * @param demos A Demos instance to communicate with the RPC.
347
+ * @param hostname The domain being claimed (e.g. "example.com"). A full
348
+ * URL is also accepted; only the hostname is used.
349
+ * @param referralCode Optional referral code for incentive points.
350
+ * @returns The response from the RPC call.
351
+ *
352
+ * @example
353
+ * ```typescript
354
+ * const identities = new Identities()
355
+ * // 1. Generate the proof the user hosts at /.well-known/demos-cci.txt
356
+ * const proof = await identities.createDomainProofPayload(demos)
357
+ * // 2. After the file is live, link the domain:
358
+ * await identities.addDomainIdentity(demos, "example.com")
359
+ * ```
360
+ */
361
+ async addDomainIdentity(demos, hostname, referralCode) {
362
+ const { proofUrl, hostname: host } = this.buildDomainProof(hostname);
363
+ // Fail fast if the well-known file is missing or unparseable, mirroring
364
+ // addTwitterIdentity's pre-fetch via getTweet.
365
+ const data = await demos.web2.getDomainProof(proofUrl);
366
+ if (!data.success) {
367
+ throw new Error(data.error ||
368
+ `Could not read domain proof at ${proofUrl}`);
369
+ }
370
+ // Assert the success fields exist (mirrors the Twitter/Discord flows
371
+ // validating their fetched fields) and confirm the node fetched/verified
372
+ // the same host we are about to store — both derive from the same URL,
373
+ // so a mismatch means something rewrote the target.
374
+ if (!data.hostname) {
375
+ throw new Error("Domain proof response missing verified hostname");
376
+ }
377
+ if (!data.body) {
378
+ throw new Error(`Empty domain proof at ${proofUrl}`);
379
+ }
380
+ if (data.hostname.toLowerCase() !== host) {
381
+ throw new Error(`Verified host "${data.hostname}" does not match requested "${host}"`);
382
+ }
383
+ const domainPayload = {
384
+ context: "domain",
385
+ proof: proofUrl,
386
+ username: host,
387
+ userId: host,
388
+ referralCode: referralCode,
389
+ };
390
+ return await this.inferIdentity(demos, "web2", domainPayload);
391
+ }
392
+ /**
393
+ * Remove a domain identity from the GCR (CCI).
394
+ *
395
+ * @param demos A Demos instance to communicate with the RPC.
396
+ * @param hostname The domain to unlink (e.g. "example.com").
397
+ * @returns The response from the RPC call.
398
+ */
399
+ async removeDomainIdentity(demos, hostname) {
400
+ // Same canonicalisation as addDomainIdentity so add/remove round-trip.
401
+ const { hostname: host } = this.buildDomainProof(hostname);
402
+ return await this.removeIdentity(demos, "web2", {
403
+ context: "domain",
404
+ username: host,
405
+ });
406
+ }
407
+ /**
408
+ * Build the canonical domain proof URL and hostname from a hostname or URL.
409
+ *
410
+ * Parses the input with the URL API (which correctly brackets IPv6 literals
411
+ * in the resulting URL while exposing the bare host via `.hostname`), forces
412
+ * https + the well-known CCI path, and strips any query/fragment/userinfo.
413
+ * Throws on anything that does not parse to a real host — no silent fallback.
414
+ *
415
+ * @example "https://Example.COM/x?y" -> { proofUrl: "https://example.com/.well-known/demos-cci.txt", hostname: "example.com" }
416
+ * @example "[::1]" -> { proofUrl: "https://[::1]/.well-known/demos-cci.txt", hostname: "[::1]" }
417
+ */
418
+ buildDomainProof(input) {
419
+ const trimmed = input.trim();
420
+ if (!trimmed) {
421
+ throw new Error("hostname must not be empty");
422
+ }
423
+ let url;
424
+ try {
425
+ url = new URL(trimmed.includes("://") ? trimmed : `https://${trimmed}`);
426
+ }
427
+ catch {
428
+ throw new Error(`Invalid hostname: "${input}"`);
429
+ }
430
+ if (!url.hostname) {
431
+ throw new Error(`Invalid hostname: "${input}"`);
432
+ }
433
+ url.protocol = "https:";
434
+ url.username = "";
435
+ url.password = "";
436
+ url.search = "";
437
+ url.hash = "";
438
+ url.pathname = "/.well-known/demos-cci.txt";
439
+ // URL already lower-cases the host; toString() brackets IPv6 correctly.
440
+ return {
441
+ proofUrl: url.toString(),
442
+ hostname: url.hostname.toLowerCase(),
443
+ };
444
+ }
285
445
  // SECTION: PQC Identities
286
446
  async bindPqcIdentity(demos, algorithms = "all") {
287
447
  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;