@pkcprotocol/pkc-js 0.0.74 → 0.0.76

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 (192) hide show
  1. package/README.md +34 -1
  2. package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
  3. package/dist/browser/clients/rpc-client/pkc-rpc-client.js +12 -1
  4. package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  5. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +18 -0
  6. package/dist/browser/clients/rpc-client/rpc-schema-util.js +5 -1
  7. package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
  8. package/dist/browser/clients/rpc-client/schema.d.ts +15 -0
  9. package/dist/browser/clients/rpc-client/schema.js +20 -0
  10. package/dist/browser/clients/rpc-client/schema.js.map +1 -1
  11. package/dist/browser/clients/rpc-client/types.d.ts +3 -2
  12. package/dist/browser/community/community-client-manager.js +9 -9
  13. package/dist/browser/community/community-client-manager.js.map +1 -1
  14. package/dist/browser/community/rpc-local-community.d.ts +6 -1
  15. package/dist/browser/community/rpc-local-community.js +32 -0
  16. package/dist/browser/community/rpc-local-community.js.map +1 -1
  17. package/dist/browser/community/schema.d.ts +15 -0
  18. package/dist/browser/community/schema.js +16 -1
  19. package/dist/browser/community/schema.js.map +1 -1
  20. package/dist/browser/community/types.d.ts +14 -1
  21. package/dist/browser/constants.d.ts +3 -1
  22. package/dist/browser/constants.js +9 -1
  23. package/dist/browser/constants.js.map +1 -1
  24. package/dist/browser/errors.d.ts +10 -0
  25. package/dist/browser/errors.js +10 -0
  26. package/dist/browser/errors.js.map +1 -1
  27. package/dist/browser/generated-version.d.ts +1 -1
  28. package/dist/browser/generated-version.js +1 -1
  29. package/dist/browser/helia/helia-for-pkc.d.ts +1 -1
  30. package/dist/browser/helia/helia-for-pkc.js +41 -5
  31. package/dist/browser/helia/helia-for-pkc.js.map +1 -1
  32. package/dist/browser/helia/lru-blockstore.d.ts +92 -0
  33. package/dist/browser/helia/lru-blockstore.js +224 -0
  34. package/dist/browser/helia/lru-blockstore.js.map +1 -0
  35. package/dist/browser/index-with-compile-cache.d.ts +2 -0
  36. package/dist/browser/index-with-compile-cache.js +1 -0
  37. package/dist/browser/index-with-compile-cache.js.map +1 -1
  38. package/dist/browser/index.d.ts +3 -0
  39. package/dist/browser/index.js +8 -0
  40. package/dist/browser/index.js.map +1 -1
  41. package/dist/browser/pkc/pkc.js +41 -4
  42. package/dist/browser/pkc/pkc.js.map +1 -1
  43. package/dist/browser/pkc-error.d.ts +1 -1
  44. package/dist/browser/rpc/src/index.d.ts +4 -1
  45. package/dist/browser/rpc/src/index.js +29 -1
  46. package/dist/browser/rpc/src/index.js.map +1 -1
  47. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +1 -0
  48. package/dist/browser/rpc/src/schema.d.ts +16 -0
  49. package/dist/browser/runtime/browser/blockstore.d.ts +25 -0
  50. package/dist/browser/runtime/browser/blockstore.js +40 -0
  51. package/dist/browser/runtime/browser/blockstore.js.map +1 -0
  52. package/dist/browser/runtime/node/blockstore.d.ts +32 -0
  53. package/dist/browser/runtime/node/blockstore.js +42 -0
  54. package/dist/browser/runtime/node/blockstore.js.map +1 -0
  55. package/dist/browser/runtime/node/community/local-community/anchor-publishing.d.ts +9 -0
  56. package/dist/browser/runtime/node/community/local-community/anchor-publishing.js +197 -0
  57. package/dist/browser/runtime/node/community/local-community/anchor-publishing.js.map +1 -0
  58. package/dist/browser/runtime/node/community/local-community/db-state.js +22 -4
  59. package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
  60. package/dist/browser/runtime/node/community/local-community/identity.d.ts +2 -0
  61. package/dist/browser/runtime/node/community/local-community/identity.js +13 -0
  62. package/dist/browser/runtime/node/community/local-community/identity.js.map +1 -0
  63. package/dist/browser/runtime/node/community/local-community/lifecycle.js +24 -0
  64. package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
  65. package/dist/browser/runtime/node/community/local-community/publication-store.js +7 -3
  66. package/dist/browser/runtime/node/community/local-community/publication-store.js.map +1 -1
  67. package/dist/browser/runtime/node/community/local-community/publication-validation.js +6 -2
  68. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  69. package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
  70. package/dist/browser/runtime/node/community/local-community.js +47 -6
  71. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  72. package/dist/browser/schema/schema-util.d.ts +6 -0
  73. package/dist/browser/schema/schema.d.ts +1 -0
  74. package/dist/browser/schema/schema.js +11 -0
  75. package/dist/browser/schema/schema.js.map +1 -1
  76. package/dist/browser/schema.d.ts +20 -0
  77. package/dist/browser/schema.js +11 -1
  78. package/dist/browser/schema.js.map +1 -1
  79. package/dist/browser/signer/index.d.ts +1 -0
  80. package/dist/browser/signer/index.js +1 -0
  81. package/dist/browser/signer/index.js.map +1 -1
  82. package/dist/browser/signer/ipns-record.d.ts +7 -0
  83. package/dist/browser/signer/ipns-record.js +34 -0
  84. package/dist/browser/signer/ipns-record.js.map +1 -0
  85. package/dist/browser/signer/signatures.d.ts +2 -2
  86. package/dist/browser/signer/signatures.js +18 -6
  87. package/dist/browser/signer/signatures.js.map +1 -1
  88. package/dist/browser/test/test-util.d.ts +4 -0
  89. package/dist/bundled/bundle-manifest.json +204 -92
  90. package/dist/bundled/chunks/helia-for-pkc-cKp6JSwA.js +6915 -0
  91. package/dist/bundled/chunks/{local-community-Br1ipu1Z.js → local-community-B3Fhrtiy.js} +205 -38
  92. package/dist/bundled/chunks/{local-community-CIVs_iuS.js → local-community-DerKPzJm.js} +1 -1
  93. package/dist/bundled/chunks/{node-Cn7VaPDJ.js → node-DffqRPit.js} +43 -9
  94. package/dist/bundled/chunks/{rpc-local-community-DtdeJBOq.js → rpc-local-community-BdNiruAf.js} +96 -38
  95. package/dist/bundled/chunks/{schema-B1Ot-kux.js → schema-BvBJX6m7.js} +29 -5
  96. package/dist/bundled/chunks/{src-o_MYSn-E.js → src-B2CwDTfy.js} +2 -142
  97. package/dist/bundled/chunks/{src-4u0f92eE.js → src-BEjAH2gY.js} +3 -128
  98. package/dist/bundled/chunks/src-Cpx2Sts8.js +127 -0
  99. package/dist/bundled/chunks/src-DKntVmyX.js +142 -0
  100. package/dist/bundled/chunks/{util-B6v5HAdy.js → util-BRxHPb9G.js} +1 -1
  101. package/dist/bundled/index-with-compile-cache.js +2 -1
  102. package/dist/bundled/index.js +2 -2
  103. package/dist/bundled/rpc/src/index.js +27 -4
  104. package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
  105. package/dist/node/clients/rpc-client/pkc-rpc-client.js +12 -1
  106. package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  107. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +18 -0
  108. package/dist/node/clients/rpc-client/rpc-schema-util.js +5 -1
  109. package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
  110. package/dist/node/clients/rpc-client/schema.d.ts +15 -0
  111. package/dist/node/clients/rpc-client/schema.js +20 -0
  112. package/dist/node/clients/rpc-client/schema.js.map +1 -1
  113. package/dist/node/clients/rpc-client/types.d.ts +3 -2
  114. package/dist/node/community/community-client-manager.js +9 -9
  115. package/dist/node/community/community-client-manager.js.map +1 -1
  116. package/dist/node/community/rpc-local-community.d.ts +6 -1
  117. package/dist/node/community/rpc-local-community.js +32 -0
  118. package/dist/node/community/rpc-local-community.js.map +1 -1
  119. package/dist/node/community/schema.d.ts +15 -0
  120. package/dist/node/community/schema.js +16 -1
  121. package/dist/node/community/schema.js.map +1 -1
  122. package/dist/node/community/types.d.ts +14 -1
  123. package/dist/node/constants.d.ts +3 -1
  124. package/dist/node/constants.js +9 -1
  125. package/dist/node/constants.js.map +1 -1
  126. package/dist/node/errors.d.ts +10 -0
  127. package/dist/node/errors.js +10 -0
  128. package/dist/node/errors.js.map +1 -1
  129. package/dist/node/generated-version.d.ts +1 -1
  130. package/dist/node/generated-version.js +1 -1
  131. package/dist/node/helia/helia-for-pkc.d.ts +1 -1
  132. package/dist/node/helia/helia-for-pkc.js +41 -5
  133. package/dist/node/helia/helia-for-pkc.js.map +1 -1
  134. package/dist/node/helia/lru-blockstore.d.ts +92 -0
  135. package/dist/node/helia/lru-blockstore.js +224 -0
  136. package/dist/node/helia/lru-blockstore.js.map +1 -0
  137. package/dist/node/index-with-compile-cache.d.ts +2 -0
  138. package/dist/node/index-with-compile-cache.js +1 -0
  139. package/dist/node/index-with-compile-cache.js.map +1 -1
  140. package/dist/node/index.d.ts +3 -0
  141. package/dist/node/index.js +8 -0
  142. package/dist/node/index.js.map +1 -1
  143. package/dist/node/pkc/pkc.js +41 -4
  144. package/dist/node/pkc/pkc.js.map +1 -1
  145. package/dist/node/pkc-error.d.ts +1 -1
  146. package/dist/node/rpc/src/index.d.ts +4 -1
  147. package/dist/node/rpc/src/index.js +29 -1
  148. package/dist/node/rpc/src/index.js.map +1 -1
  149. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +1 -0
  150. package/dist/node/rpc/src/schema.d.ts +16 -0
  151. package/dist/node/runtime/browser/blockstore.d.ts +25 -0
  152. package/dist/node/runtime/browser/blockstore.js +40 -0
  153. package/dist/node/runtime/browser/blockstore.js.map +1 -0
  154. package/dist/node/runtime/node/blockstore.d.ts +32 -0
  155. package/dist/node/runtime/node/blockstore.js +42 -0
  156. package/dist/node/runtime/node/blockstore.js.map +1 -0
  157. package/dist/node/runtime/node/community/local-community/anchor-publishing.d.ts +9 -0
  158. package/dist/node/runtime/node/community/local-community/anchor-publishing.js +197 -0
  159. package/dist/node/runtime/node/community/local-community/anchor-publishing.js.map +1 -0
  160. package/dist/node/runtime/node/community/local-community/db-state.js +22 -4
  161. package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
  162. package/dist/node/runtime/node/community/local-community/identity.d.ts +2 -0
  163. package/dist/node/runtime/node/community/local-community/identity.js +13 -0
  164. package/dist/node/runtime/node/community/local-community/identity.js.map +1 -0
  165. package/dist/node/runtime/node/community/local-community/lifecycle.js +24 -0
  166. package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
  167. package/dist/node/runtime/node/community/local-community/publication-store.js +7 -3
  168. package/dist/node/runtime/node/community/local-community/publication-store.js.map +1 -1
  169. package/dist/node/runtime/node/community/local-community/publication-validation.js +6 -2
  170. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  171. package/dist/node/runtime/node/community/local-community.d.ts +5 -1
  172. package/dist/node/runtime/node/community/local-community.js +47 -6
  173. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  174. package/dist/node/schema/schema-util.d.ts +6 -0
  175. package/dist/node/schema/schema.d.ts +1 -0
  176. package/dist/node/schema/schema.js +11 -0
  177. package/dist/node/schema/schema.js.map +1 -1
  178. package/dist/node/schema.d.ts +20 -0
  179. package/dist/node/schema.js +11 -1
  180. package/dist/node/schema.js.map +1 -1
  181. package/dist/node/signer/index.d.ts +1 -0
  182. package/dist/node/signer/index.js +1 -0
  183. package/dist/node/signer/index.js.map +1 -1
  184. package/dist/node/signer/ipns-record.d.ts +7 -0
  185. package/dist/node/signer/ipns-record.js +34 -0
  186. package/dist/node/signer/ipns-record.js.map +1 -0
  187. package/dist/node/signer/signatures.d.ts +2 -2
  188. package/dist/node/signer/signatures.js +18 -6
  189. package/dist/node/signer/signatures.js.map +1 -1
  190. package/dist/node/test/test-util.d.ts +4 -0
  191. package/package.json +8 -5
  192. package/dist/bundled/chunks/helia-for-pkc-B-75U9z9.js +0 -495
@@ -0,0 +1,197 @@
1
+ import Logger from "../../../../logger.js";
2
+ import { peerIdFromString } from "@libp2p/peer-id";
3
+ import { STORAGE_KEYS } from "../../../../constants.js";
4
+ import { PKCError } from "../../../../pkc-error.js";
5
+ import { getIpnsRecordInLocalKuboNode } from "../../../../util.js";
6
+ // Sequences skipped are free, and a stale answer that lands too LOW is unrecoverable: the owner signs
7
+ // a record that can never beat one already out there, with no way to tell. So every answer clears the
8
+ // highest sequence we know of by a margin rather than by one.
9
+ const ANCHOR_SEQUENCE_MARGIN = 5n;
10
+ // How long to wait for the anchor's own record to come back from the network. This is a plain IPNS
11
+ // resolution through the local kubo node, not a chain walk.
12
+ const ANCHOR_LOOKUP_TIMEOUT_MS = 30_000;
13
+ function assertDelegated(community) {
14
+ if (!community.anchor)
15
+ throw new PKCError("ERR_COMMUNITY_IS_NOT_DELEGATED", { address: community.address, signerAddress: community.signer?.address });
16
+ return community.anchor;
17
+ }
18
+ // The bytes as handed to us, kept verbatim: re-providing means putting the SAME signed record again,
19
+ // and we cannot re-sign it.
20
+ export function getPersistedAnchorRecordBytes(community) {
21
+ const stored = community._dbHandler.keyvGet(STORAGE_KEYS[STORAGE_KEYS.ANCHOR_IPNS_RECORD]);
22
+ if (!stored)
23
+ return undefined;
24
+ return stored instanceof Uint8Array ? stored : new Uint8Array(Object.values(stored));
25
+ }
26
+ export function getHighestAcceptedAnchorSequence(community) {
27
+ const stored = community._dbHandler.keyvGet(STORAGE_KEYS[STORAGE_KEYS.HIGHEST_ACCEPTED_ANCHOR_SEQUENCE]);
28
+ // Stored as a string: keyv round-trips through JSON, which has no bigint.
29
+ return typeof stored === "string" ? BigInt(stored) : undefined;
30
+ }
31
+ // Looks the anchor record up on the network through the local kubo node. Returns undefined when the
32
+ // name does not resolve, which kubo reports the same way whether the record has never existed or the
33
+ // routers merely failed us — the caller must never turn that ambiguity into a sequence of 0.
34
+ async function lookupAnchorRecordOnNetwork(community, anchorName) {
35
+ const log = Logger("pkc-js:local-community:prepareAnchorPublish");
36
+ const kuboRpcClient = community._clientsManager.getDefaultKuboRpcClient();
37
+ try {
38
+ return await Promise.race([
39
+ getIpnsRecordInLocalKuboNode(kuboRpcClient, anchorName),
40
+ new Promise((resolve) => setTimeout(() => resolve(undefined), ANCHOR_LOOKUP_TIMEOUT_MS))
41
+ ]);
42
+ }
43
+ catch (e) {
44
+ log.trace(`Anchor (${anchorName}) did not resolve while preparing a publish`, e);
45
+ return undefined;
46
+ }
47
+ }
48
+ // Answers "what sequence should I sign next?" for the owner, who is offline and cannot know. Only
49
+ // needed to rotate or re-publish: a community's first anchor record uses the nextSequence of 0 that
50
+ // createCommunity already returned. See docs/protocol/delegated-ipns.md.
51
+ export async function prepareAnchorPublish(community) {
52
+ const log = Logger("pkc-js:local-community:prepareAnchorPublish");
53
+ const anchor = assertDelegated(community);
54
+ await community._dbHandler.initDbIfNeeded();
55
+ const persistedSequence = getHighestAcceptedAnchorSequence(community);
56
+ const networkRecord = await lookupAnchorRecordOnNetwork(community, anchor.publicKey);
57
+ const networkSequence = networkRecord ? BigInt(networkRecord.sequence) : undefined;
58
+ // Nothing anywhere knows a sequence. This is either a genuinely fresh anchor or a lookup that came
59
+ // back empty for an anchor that does have history, and the two are indistinguishable here — kubo
60
+ // reports both as "did not resolve". Answering 0 on the second reading hands the owner a correctly
61
+ // signed record that loses to its own predecessor forever, so refuse instead. A first publish does
62
+ // not need this method at all.
63
+ if (persistedSequence === undefined && networkSequence === undefined)
64
+ throw new PKCError("ERR_UNABLE_TO_DETERMINE_ANCHOR_SEQUENCE", {
65
+ address: community.address,
66
+ anchorPublicKey: anchor.publicKey,
67
+ reason: "This node has never accepted an anchor record for this community and /ipns/<anchor> did not resolve. If this anchor has never been published, sign sequence 0 (the nextSequence createCommunity returned); otherwise retry once the anchor resolves."
68
+ });
69
+ const highestKnown = [persistedSequence, networkSequence].reduce((max, seq) => (seq !== undefined && seq > max ? seq : max), 0n);
70
+ const nextSequence = highestKnown + ANCHOR_SEQUENCE_MARGIN;
71
+ log(`Prepared anchor publish for community (${community.address}): persisted=${persistedSequence}, network=${networkSequence}, next=${nextSequence}`);
72
+ return {
73
+ nextSequence: nextSequence.toString(),
74
+ currentAnchorRecordSequence: highestKnown.toString(),
75
+ hasPersistedAnchorRecord: persistedSequence !== undefined
76
+ };
77
+ }
78
+ // Pushes an already-signed record out through kubo. name.publish cannot do this: it signs with a key
79
+ // from the node's keystore, and the whole point is that we do not have As. routing.put takes the bytes
80
+ // as they are, forwards them to the delegated HTTP routers, and subscribes this node to the anchor's
81
+ // ipns-over-pubsub topic so it serves the record to peers.
82
+ async function putAnchorRecordThroughKubo(community, anchorName, recordBytes) {
83
+ const kuboRpcClient = community._clientsManager.getDefaultKuboRpcClient();
84
+ // allowOffline so a node with no reachable router still stores and serves the record locally rather
85
+ // than failing the owner's publish outright.
86
+ for await (const _event of kuboRpcClient._client.routing.put(`/ipns/${anchorName}`, recordBytes, { allowOffline: true }))
87
+ ;
88
+ }
89
+ // Serializes publishes per community address, keyed by address rather than by instance because the same
90
+ // community is routinely represented by more than one LocalCommunity object in a process (the RPC server
91
+ // creates its own). The window this closes: read the high-water mark, then await the kubo put and two
92
+ // keyvSets before persisting it. Two concurrent publishes both clear the check, and last-write-wins can
93
+ // persist the LOWER sequence, after which a record in between passes our check, gets silently dropped by
94
+ // kubo (which answers 200 to a rollback put, the very reason this check is ours), and we report success
95
+ // for a publish that never happened.
96
+ //
97
+ // In-process only. Two processes publishing anchor records for the same community concurrently would
98
+ // still race; that is already true of the community DB as a whole, which lockCommunityStart guards
99
+ // against rather than merges.
100
+ const anchorPublishQueues = new Map();
101
+ function serializePerCommunityAddress(address, task) {
102
+ const previous = anchorPublishQueues.get(address) ?? Promise.resolve();
103
+ const run = previous.then(task);
104
+ // The queue itself must never reject, or one failed publish would fail every publish behind it.
105
+ // The caller still sees the rejection through `run`.
106
+ const settled = run.then(() => { }, () => { });
107
+ anchorPublishQueues.set(address, settled);
108
+ // Drop the entry once nothing is queued behind it, so a long-lived process does not accumulate one
109
+ // resolved promise per community it has ever published an anchor record for.
110
+ settled.then(() => {
111
+ if (anchorPublishQueues.get(address) === settled)
112
+ anchorPublishQueues.delete(address);
113
+ });
114
+ return run;
115
+ }
116
+ // Verifies a record the owner signed with As and, only if it is one this node may serve, publishes it
117
+ // and remembers it. The node can refuse the binding but can never forge or replace it.
118
+ export async function publishAnchorRecord(community, recordBytes) {
119
+ return serializePerCommunityAddress(community.address, () => publishAnchorRecordSerialized(community, recordBytes));
120
+ }
121
+ async function publishAnchorRecordSerialized(community, recordBytes) {
122
+ const log = Logger("pkc-js:local-community:publishAnchorRecord");
123
+ const anchor = assertDelegated(community);
124
+ await community._dbHandler.initDbIfNeeded();
125
+ const { multihashToIPNSRoutingKey, unmarshalIPNSRecord } = await import("ipns");
126
+ const { ipnsValidator } = await import("ipns/validator");
127
+ const bytes = recordBytes instanceof Uint8Array ? recordBytes : new Uint8Array(Object.values(recordBytes));
128
+ // Signed by An, and well-formed. ipnsValidator checks the signature against the key the anchor's
129
+ // routing key commits to, so a record signed by any other key fails here.
130
+ try {
131
+ await ipnsValidator(multihashToIPNSRoutingKey(peerIdFromString(anchor.publicKey).toMultihash()), bytes);
132
+ }
133
+ catch (e) {
134
+ throw new PKCError("ERR_ANCHOR_IPNS_RECORD_IS_INVALID", {
135
+ address: community.address,
136
+ anchorPublicKey: anchor.publicKey,
137
+ validationError: e
138
+ });
139
+ }
140
+ const record = unmarshalIPNSRecord(bytes);
141
+ // Points at OUR minter. A record binding the anchor to someone else's Mn is perfectly valid, it is
142
+ // just not ours to serve, and serving it would advertise a community this node does not publish.
143
+ const expectedValue = `/ipns/${community.signer.address}`;
144
+ if (record.value !== expectedValue)
145
+ throw new PKCError("ERR_ANCHOR_IPNS_RECORD_POINTS_TO_DIFFERENT_MINTER", {
146
+ address: community.address,
147
+ anchorPublicKey: anchor.publicKey,
148
+ expectedValue,
149
+ recordValue: record.value
150
+ });
151
+ // Strictly greater. kubo answers 200 to a put it silently discards for being older, so it cannot be
152
+ // relied on to report a rollback — the check has to live here, and equal is refused too: with the
153
+ // anchor lifetime the validity tiebreak is also a tie, leaving the winner undefined.
154
+ const sequence = BigInt(record.sequence);
155
+ const highestAccepted = getHighestAcceptedAnchorSequence(community);
156
+ if (highestAccepted !== undefined && sequence <= highestAccepted)
157
+ throw new PKCError("ERR_ANCHOR_IPNS_RECORD_SEQUENCE_IS_NOT_GREATER", {
158
+ address: community.address,
159
+ anchorPublicKey: anchor.publicKey,
160
+ recordSequence: sequence.toString(),
161
+ highestAcceptedSequence: highestAccepted.toString()
162
+ });
163
+ await putAnchorRecordThroughKubo(community, anchor.publicKey, bytes);
164
+ await community._dbHandler.keyvSet(STORAGE_KEYS[STORAGE_KEYS.ANCHOR_IPNS_RECORD], bytes);
165
+ await community._dbHandler.keyvSet(STORAGE_KEYS[STORAGE_KEYS.HIGHEST_ACCEPTED_ANCHOR_SEQUENCE], sequence.toString());
166
+ community.anchorRecordSequence = sequence.toString();
167
+ log(`Published anchor record for community (${community.address}) at sequence ${sequence}, pointing at ${record.value}`);
168
+ return { sequence: sequence.toString(), value: record.value, anchorPublicKey: anchor.publicKey };
169
+ }
170
+ // Re-puts the record we already hold. Two reasons this is not optional: the record's own routers expire
171
+ // it, and a restarted kubo keeps the record in its datastore but drops the ipns-over-pubsub
172
+ // subscription, so it stops answering for the anchor until something puts again. Hence this runs at
173
+ // start() as well as on the publish loop, not on a timer alone.
174
+ export async function reprovideAnchorRecordIfNeeded(community) {
175
+ const log = Logger("pkc-js:local-community:reprovideAnchorRecord");
176
+ if (!community.anchor)
177
+ return false;
178
+ const bytes = getPersistedAnchorRecordBytes(community);
179
+ if (!bytes)
180
+ return false;
181
+ await putAnchorRecordThroughKubo(community, community.anchor.publicKey, bytes);
182
+ community._lastAnchorRecordReprovideAt = Date.now();
183
+ log.trace(`Re-provided anchor record of community (${community.address})`);
184
+ return true;
185
+ }
186
+ // Throttle for the publish-loop call site: the record is long-lived, so this is about keeping routers
187
+ // and the pubsub subscription warm, not about freshness.
188
+ export const ANCHOR_REPROVIDE_INTERVAL_MS = 60 * 60 * 1000; // 1 hour
189
+ export async function reprovideAnchorRecordIfDue(community) {
190
+ if (!community.anchor)
191
+ return;
192
+ const lastAt = community._lastAnchorRecordReprovideAt;
193
+ if (typeof lastAt === "number" && Date.now() - lastAt < ANCHOR_REPROVIDE_INTERVAL_MS)
194
+ return;
195
+ await reprovideAnchorRecordIfNeeded(community);
196
+ }
197
+ //# sourceMappingURL=anchor-publishing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-publishing.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/anchor-publishing.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import Logger from "../../../../logger.js";
2
2
  import { clone, isDeepEqual, isEmpty, omit, pick } from "remeda";
3
3
  import { v4 as uuidV4 } from "uuid";
4
- import { ipnsNameToIpnsOverPubsubTopic, pubsubTopicToDhtKey, timestamp } from "../../../../util.js";
4
+ import { timestamp } from "../../../../util.js";
5
5
  import { PKCError } from "../../../../pkc-error.js";
6
6
  import env from "../../../../version.js";
7
7
  import { STORAGE_KEYS } from "../../../../constants.js";
@@ -16,6 +16,7 @@ import { processStartedCommunities } from "./registry.js";
16
16
  import { CommunitySignedPropertyNames } from "../../../../community/schema.js";
17
17
  import { syncCommunityRegistryEntry } from "../../../../pkc/tracked-instance-registry-util.js";
18
18
  import { DbHandler } from "../db-handler.js";
19
+ import { getHighestAcceptedAnchorSequence } from "./anchor-publishing.js";
19
20
  import { PageGenerator } from "../page-generator.js";
20
21
  export async function initSignerProps(community, newSignerProps) {
21
22
  community.signer = new SignerWithPublicKeyAddress(newSignerProps);
@@ -120,6 +121,13 @@ export async function updateInstanceStateWithDbState(community) {
120
121
  }
121
122
  else
122
123
  await community.initInternalCommunityBeforeFirstUpdateNoMerge(currentDbState);
124
+ // Both NoMerge helpers replay the internal record through the RPC init path, which assigns
125
+ // anchorRecordSequence from that record — and the internal record deliberately omits it, since
126
+ // publishAnchorRecord owns its own keyv slot. So the replay always clears the live value, and every
127
+ // caller of this function (start() included) has to put it back from the slot that owns it.
128
+ // Without this, start() leaves anchorRecordSequence undefined on a community whose anchor record
129
+ // has been published, which is how it reaches an RPC client.
130
+ community.anchorRecordSequence = getHighestAcceptedAnchorSequence(community)?.toString();
123
131
  }
124
132
  export async function updateInstancePropsWithStartedCommunityOrDb(community) {
125
133
  // if it's started in the same pkc instance, we will load it from the started community instance
@@ -142,6 +150,7 @@ export async function updateInstancePropsWithStartedCommunityOrDb(community) {
142
150
  // edit.community concurrency tests). The started instance is the canonical writer, so its
143
151
  // in-memory exports are the freshest view of the keyv-persisted records.
144
152
  community._exports = startedCommunity.exports;
153
+ community.anchorRecordSequence = startedCommunity.anchorRecordSequence;
145
154
  }
146
155
  else {
147
156
  await community.initDbHandlerIfNeeded();
@@ -159,6 +168,9 @@ export async function updateInstancePropsWithStartedCommunityOrDb(community) {
159
168
  if (!community.signer)
160
169
  throw new PKCError("ERR_LOCAL_COMMUNITY_HAS_NO_SIGNER_IN_INTERNAL_STATE", { address: community.address });
161
170
  await community._loadExportsFromKeyv(); // Load community.exports from DB
171
+ // anchorRecordSequence is re-derived inside updateInstanceStateWithDbState above, from the
172
+ // keyv slot publishAnchorRecord owns. Absent on a delegated community means no anchor
173
+ // record has ever been accepted for it.
162
174
  await community._updateStartedValue();
163
175
  log("Loaded local community", community.address, "from db");
164
176
  }
@@ -244,6 +256,12 @@ export async function createNewLocalCommunityDb(community) {
244
256
  }
245
257
  export async function initNewLocalCommunityPropsNoMerge(community, newProps) {
246
258
  await initSignerProps(community, newProps.signer);
259
+ // A delegated community is identified by its anchor (An) while it signs with the minter we just
260
+ // initialized above. Replaying the chain into ipnsHops is what makes the inherited identity code
261
+ // report the anchor as publicKey. See docs/protocol/delegated-ipns.md.
262
+ community.anchor = newProps.anchor;
263
+ if (newProps.anchor)
264
+ community.ipnsHops = [newProps.anchor.publicKey, community.signer.address];
247
265
  community.title = newProps.title;
248
266
  community.description = newProps.description;
249
267
  community.setAddress(newProps.address);
@@ -285,6 +303,7 @@ export async function initInternalCommunityAfterFirstUpdateNoMerge(community, ne
285
303
  community: pick(newProps, keysOfCommunityIpfs),
286
304
  localCommunity: {
287
305
  signer: pick(newProps.signer, ["publicKey", "address", "shortAddress", "type"]),
306
+ anchor: newProps.anchor,
288
307
  settings: newProps.settings,
289
308
  _usingDefaultChallenge: newProps._usingDefaultChallenge,
290
309
  address: newProps.address,
@@ -324,10 +343,9 @@ export async function initInternalCommunityBeforeFirstUpdateNoMerge(community, n
324
343
  });
325
344
  await initSignerProps(community, newProps.signer);
326
345
  community._internalStateUpdateId = newProps._internalStateUpdateId;
346
+ // LocalCommunity's override always derives these from signer.address, so the explicit
347
+ // minter-based assignment that used to follow this call is no longer needed here.
327
348
  community._updateIpnsPubsubPropsIfNeeded(newProps);
328
- community.ipnsName = newProps.signer.address;
329
- community.ipnsPubsubTopic = ipnsNameToIpnsOverPubsubTopic(community.ipnsName);
330
- community.ipnsPubsubTopicRoutingCid = pubsubTopicToDhtKey(community.ipnsPubsubTopic);
331
349
  if (processStartedCommunities.has(community))
332
350
  syncCommunityRegistryEntry(processStartedCommunities, community);
333
351
  community.raw.localCommunity = community.toJSONInternalRpcBeforeFirstUpdate();
@@ -1 +1 @@
1
- {"version":3,"file":"db-state.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/db-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-state.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/db-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { LocalCommunity } from "../local-community.js";
2
+ export declare function communityIdentityPublicKey(community: LocalCommunity): string;
@@ -0,0 +1,13 @@
1
+ // The public key clients address this community by: the anchor (An) on a delegated community, the
2
+ // signing key on a normal one. Never the minter on a delegated community — that is
3
+ // community.signer.address, and it rotates, so anything durable (stored publications, acceptance
4
+ // checks, a domain's TXT record) must be keyed by this instead.
5
+ //
6
+ // Prefer this over community.publicKey on the write side. They agree wherever both are defined, but
7
+ // publicKey is derived state and is undefined on a domain-addressed community that has not published
8
+ // its first record yet, which would silently turn an acceptance check into a rejection.
9
+ // See docs/protocol/delegated-ipns.md.
10
+ export function communityIdentityPublicKey(community) {
11
+ return community.anchor?.publicKey ?? community.signer.address;
12
+ }
13
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/identity.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,mFAAmF;AACnF,iGAAiG;AACjG,gEAAgE;AAChE,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,wFAAwF;AACxF,uCAAuC;AACvC,MAAM,UAAU,0BAA0B,CAAC,SAAyB;IAChE,OAAO,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AACnE,CAAC"}
@@ -15,6 +15,7 @@ import { reprovideOnAddressChangeIfDue } from "./reprovide-on-address-change.js"
15
15
  import { repinCommentUpdateIfNeeded, unpinStaleCids } from "./cleanup.js";
16
16
  import { importCommunitySignerIntoIpfsIfNeeded, setChallengesToDefaultIfNotDefined, updateDbInternalState, updateInstancePropsWithStartedCommunityOrDb, updateInstanceStateWithDbState } from "./db-state.js";
17
17
  import { calculateLatestUpdateTrigger, syncIpnsWithDb } from "./ipns-publishing.js";
18
+ import { getPersistedAnchorRecordBytes, reprovideAnchorRecordIfDue, reprovideAnchorRecordIfNeeded } from "./anchor-publishing.js";
18
19
  export async function publishLoop(community, syncIntervalMs) {
19
20
  const log = Logger("pkc-js:local-community:_publishLoop");
20
21
  // we need to continue the loop if there's at least one pending edit
@@ -41,6 +42,10 @@ export async function publishLoop(community, syncIntervalMs) {
41
42
  // don't hit NoValidAddressesError against stale addresses. Throttled internally; runs inside the
42
43
  // publish loop so it's torn down with the loop on stop(). Its own failures must not break publishing.
43
44
  await reprovideOnAddressChangeIfDue(community).catch((e) => log.error("Failed to re-provide connection CIDs on address change", e));
45
+ // Keep the anchor -> minter binding alive: its routers expire it, and this node is the only
46
+ // party online that can put it (the owner holds As and is offline by design). Its failures
47
+ // must not break publishing either.
48
+ await reprovideAnchorRecordIfDue(community).catch((e) => log.error("Failed to re-provide the anchor record", e));
44
49
  }
45
50
  catch (e) {
46
51
  community.emit("error", e);
@@ -96,6 +101,16 @@ export async function start(community) {
96
101
  throw new PKCError("ERR_COMMUNITY_ALREADY_STARTED", { address: community.address });
97
102
  try {
98
103
  await initBeforeStarting(community);
104
+ // A delegated community whose anchor record was never published is half-created: nothing points
105
+ // the anchor at this minter, so readers cannot resolve it and publishers cannot reach it. Starting
106
+ // it would publish minter records nobody can find. Publishing the record later completes it with
107
+ // no re-create (#234). See docs/protocol/delegated-ipns.md.
108
+ if (community.anchor && !getPersistedAnchorRecordBytes(community))
109
+ throw new PKCError("ERR_DELEGATED_COMMUNITY_HAS_NO_ANCHOR_RECORD", {
110
+ address: community.address,
111
+ anchorPublicKey: community.anchor.publicKey,
112
+ minterAddress: community.signer.address
113
+ });
99
114
  // update started value twice because it could be started prior lockCommunityStart
100
115
  community._setState("started");
101
116
  await community._updateStartedValue();
@@ -113,6 +128,10 @@ export async function start(community) {
113
128
  // Force-provides the never-changing pubsub-topic routing CIDs (the connection-critical CIDs the
114
129
  // address-change re-provide watches) with the node's current browser-dialable addresses on start.
115
130
  await providePubsubTopicRoutingCidsIfNeeded(community, true);
131
+ // A restarted kubo still has the anchor record in its datastore but is no longer subscribed to
132
+ // the anchor's ipns-over-pubsub topic, so it silently stops answering for the anchor. Putting
133
+ // once at start is what re-subscribes it. See anchor-publishing.ts.
134
+ await reprovideAnchorRecordIfNeeded(community).catch((e) => log.error("Failed to re-provide the anchor record on start", e));
116
135
  community._communityUpdateTrigger = true;
117
136
  community._setStartedStateWithEmission("publishing-ipns");
118
137
  await community._repinCommentsIPFSIfNeeded();
@@ -147,6 +166,10 @@ export async function initMirroringStartedOrUpdatingCommunity(community, started
147
166
  else
148
167
  await community.initInternalCommunityBeforeFirstUpdateNoMerge(startedCommunity.toJSONInternalBeforeFirstUpdate());
149
168
  community.started = startedCommunity.started;
169
+ // The internal record omits anchorRecordSequence, so the NoMerge call above clears it on this
170
+ // mirror. The started instance is the writer that owns the value, same as in
171
+ // updateInstancePropsWithStartedCommunityOrDb.
172
+ community.anchorRecordSequence = startedCommunity.anchorRecordSequence;
150
173
  community.emit("update", community);
151
174
  };
152
175
  const stateChangeListener = async (newState) => {
@@ -186,6 +209,7 @@ export async function initMirroringStartedOrUpdatingCommunity(community, started
186
209
  await community.initInternalCommunityAfterFirstUpdateNoMerge(startedCommunity.toJSONInternalAfterFirstUpdate());
187
210
  else
188
211
  await community.initInternalCommunityBeforeFirstUpdateNoMerge(startedCommunity.toJSONInternalBeforeFirstUpdate());
212
+ community.anchorRecordSequence = startedCommunity.anchorRecordSequence; // cleared by the NoMerge call above, see updateListener
189
213
  community.emit("update", community);
190
214
  }
191
215
  export async function cleanUpMirroredStartedOrUpdatingCommunity(community) {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../../../src/runtime/browser/community/local-community/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,GAAG,MAAM,wBAAwB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mDAAmD,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EACH,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EAC3B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,qCAAqC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACH,qCAAqC,EACrC,kCAAkC,EAClC,qBAAqB,EACrB,2CAA2C,EAC3C,8BAA8B,EACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAKlI,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAyB,EAAE,cAAsB;IAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAC;IAC1D,oEAAoE;IAEpE,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,OAAO,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,MAAM,qCAAqC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,IAAI,cAAc,CAAC;gBAC9F,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD;gBACzF,IAAI,SAAS,CAAC,uBAAuB,IAAI,qBAAqB,EAAE,IAAI,qCAAqC,EAAE,CAAC;oBACxG,aAAa,CAAC,aAAa,CAAC,CAAC;oBAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC;YACD,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;YAChC,oGAAoG;YACpG,iGAAiG;YACjG,sGAAsG;YACtG,MAAM,6BAA6B,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,GAAG,CAAC,KAAK,CAAC,wDAAwD,EAAE,CAAC,CAAC,CACzE,CAAC;YACF,4FAA4F;YAC5F,2FAA2F;YAC3F,oCAAoC;YACpC,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAU,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACP,MAAM,iBAAiB,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,GAAG,CAAC,2CAA2C,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAyB;IAC9D,SAAS,CAAC,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACjD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO;QAAE,MAAM,IAAI,QAAQ,CAAC,kCAAkC,CAAC,CAAC;IACvF,IAAI,CAAC,SAAS,CAAC,wBAAwB;QACnC,SAAS,CAAC,wBAAwB,GAAG,IAAI,QAAQ,CAAgE;YAC7G,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,MAAM;SACd,CAAC,CAAC;IACP,IAAI,CAAC,SAAS,CAAC,6BAA6B;QACxC,SAAS,CAAC,6BAA6B,GAAG,IAAI,QAAQ,CAGpD;YACE,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,MAAM;SACd,CAAC,CAAC;IACP,IAAI,CAAC,SAAS,CAAC,0BAA0B;QACrC,SAAS,CAAC,0BAA0B,GAAG,IAAI,QAAQ,CAAkB;YACjE,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,MAAM;SACd,CAAC,CAAC;IACP,IAAI,CAAC,SAAS,CAAC,6BAA6B;QACxC,SAAS,CAAC,6BAA6B,GAAG,IAAI,QAAQ,CAAiB;YACnE,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,MAAM;SACd,CAAC,CAAC;IACP,MAAM,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,SAAyB;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU;QAC9B,MAAM,IAAI,QAAQ,CAAC,qDAAqD,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9G,SAAS,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACrC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACxC,gGAAgG;IAChG,SAAS,CAAC,qCAAqC,GAAG,SAAS,CAAC;IAC5D,SAAS,CAAC,4BAA4B,GAAG,SAAS,CAAC;IACnD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,8BAA8B,EAAE;QAC3D,MAAM,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAChH,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;IACxC,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;IACtC,IACI,SAAS,CAAC,OAAO;QACjB,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9F,uBAAuB,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAE5G,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC;QACD,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpC,gGAAgG;QAChG,mGAAmG;QACnG,iGAAiG;QACjG,4DAA4D;QAC5D,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAAC,8CAA8C,EAAE;gBAC/D,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;gBAC3C,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO;aAC1C,CAAC,CAAC;QACP,kFAAkF;QAClF,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACtC,MAAM,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,4CAA4C;QAC7F,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,0BAA0B,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACtC,MAAM,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,SAAS,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC;QAC3D,MAAM,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,iDAAiD;QAClG,MAAM,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAEvC,MAAM,kCAAkC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzD,uCAAuC;QACvC,MAAM,qCAAqC,CAAC,SAAS,CAAC,CAAC;QACvD,gGAAgG;QAChG,kGAAkG;QAClG,MAAM,qCAAqC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7D,+FAA+F;QAC/F,8FAA8F;QAC9F,oEAAoE;QACpE,MAAM,6BAA6B,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7H,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACzC,SAAS,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,SAAS,CAAC,0BAA0B,EAAE,CAAC;QAC7C,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,CAAC,yBAAyB,EAAE,CAAC;QAC5C,SAAS,CAAC,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,SAAS,CAAC,QAAQ,CAAC,UAAW,CAAC,GAAG,CAC9B,KAAK,EAAE,EAAE,EAAE,EAAE,CACT,CAAC,MAAM,mDAAmD,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;aAC/G,kBAAkB,CAC9B,CACJ,CAAC,CAAC,gFAAgF;IACvF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,yCAAyC;QACjE,kBAAkB;QAClB,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,CAAC,CAAC;IACZ,CAAC;IAED,SAAS,CAAC,mBAAmB,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACjG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAAC,SAAyB,EAAE,gBAAgC;IACrH,MAAM,2BAA2B,GAAG,CAAC,QAAgC,EAAE,EAAE;QACrE,SAAS,CAAC,4CAA4C,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,CAAC,QAAwC,EAAE,EAAE;QAC5E,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACjD,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,EAAE,gBAAiC,EAAE,EAAE;QAC/D,MAAM,gBAAgB,GAAG,gBAAkC,CAAC;QAC5D,IAAI,gBAAgB,CAAC,SAAS;YAC1B,MAAM,SAAS,CAAC,4CAA4C,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,CAAC,CAAC;;YAC/G,MAAM,SAAS,CAAC,6CAA6C,CAAC,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC;QACvH,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC7C,8FAA8F;QAC9F,6EAA6E;QAC7E,+CAA+C;QAC/C,SAAS,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;QACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAwB,EAAE,EAAE;QAC3D,qFAAqF;QACrF,yEAAyE;QACzE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,yCAAyC,CAAC,SAAS,CAAC,CAAC;IAC3F,CAAC,CAAC;IACF,SAAS,CAAC,mCAAmC,GAAG;QAC5C,SAAS,EAAE,gBAAgB;QAC3B,mBAAmB,EAAE,2BAA2B;QAChD,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,mBAAmB;QAChC,kBAAkB,EAAE,0BAA0B;QAC9C,KAAK,EAAE,CAAC,GAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;QAC9D,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;QAC5F,qBAAqB,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;QAChH,eAAe,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC;QACxF,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;KACnE,CAAC;IAEF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC3H,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CACtD,oBAAoB,EACpB,SAAS,CAAC,mCAAmC,CAAC,kBAAkB,CACnE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CACtD,qBAAqB,EACrB,SAAS,CAAC,mCAAmC,CAAC,mBAAmB,CACpE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;IACrI,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;IACzH,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CACtD,kBAAkB,EAClB,SAAS,CAAC,mCAAmC,CAAC,gBAAgB,CACjE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CACtD,uBAAuB,EACvB,SAAS,CAAC,mCAAmC,CAAC,qBAAqB,CACtE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CACtD,iBAAiB,EACjB,SAAS,CAAC,mCAAmC,CAAC,eAAe,CAChE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;IAEjI,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,MAAM,UAAU,IAAI,UAAU;QAC/B,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC9D,IAAI,SAAS,IAAI,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;oBACxF,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAC3C,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CACzF,CAAC;IAClB,IAAI,gBAAgB,CAAC,SAAS;QAC1B,MAAM,SAAS,CAAC,4CAA4C,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,CAAC,CAAC;;QAC/G,MAAM,SAAS,CAAC,6CAA6C,CAAC,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACvH,SAAS,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,wDAAwD;IAChI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAAC,SAAyB;IACrF,IAAI,CAAC,SAAS,CAAC,mCAAmC;QAAE,OAAO;IAC3D,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;IACvI,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,qBAAqB,EACrB,SAAS,CAAC,mCAAmC,CAAC,mBAAmB,CACpE,CAAC;IAEF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,oBAAoB,EACpB,SAAS,CAAC,mCAAmC,CAAC,kBAAkB,CACnE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,aAAa,EACb,SAAS,CAAC,mCAAmC,CAAC,WAAW,CAC5D,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;IACrI,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,kBAAkB,EAClB,SAAS,CAAC,mCAAmC,CAAC,gBAAgB,CACjE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,uBAAuB,EACvB,SAAS,CAAC,mCAAmC,CAAC,qBAAqB,CACtE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,iBAAiB,EACjB,SAAS,CAAC,mCAAmC,CAAC,eAAe,CAChE,CAAC;IACF,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAAC,cAAc,CAClE,WAAW,EACX,SAAS,CAAC,mCAAmC,CAAC,SAAS,CAC1D,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE3C,KAAK,MAAM,UAAU,IAAI,UAAU;QAC/B,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEhI,SAAS,CAAC,mCAAmC,GAAG,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAyB;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;IACxC,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAA+B,CACjD,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3F,uBAAuB,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CACpH,CAAC;IACF,IAAI,SAAS,CAAC,mCAAmC;QAC7C,OAAO,CAAC,0DAA0D;SACjE,IAAI,gBAAgB,EAAE,CAAC;QACxB,qDAAqD;QACrD,MAAM,uCAAuC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC3E,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO;IACX,CAAC;SAAM,CAAC;QACJ,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1H,IAAI,iBAAiB,YAAY,cAAc,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACjF,kDAAkD;YAClD,MAAM,uCAAuC,CAAC,SAAS,EAAE,iBAAmC,CAAC,CAAC;YAC9F,OAAO;QACX,CAAC;QACD,sGAAsG;QACtG,sBAAsB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC5D,MAAM,2CAA2C,CAAC,SAAS,CAAC,CAAC,CAAC,0CAA0C;QACxG,IAAI,SAAS,CAAC,sBAAsB,KAAK,WAAW,EAAE,CAAC;YACnD,GAAG,CACC,oBAAoB,SAAS,CAAC,OAAO,mDAAmD,SAAS,CAAC,SAAS,8BAA8B,CAC5I,CAAC;YAEF,SAAS,CAAC,yCAAyC,CAAC;gBAChD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC5C,gBAAgB,EAAE,WAAW;aAChC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAyB;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACrE,IAAI,CAAC;YACD,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAqB,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACP,6FAA6F;YAC7F,yFAAyF;YACzF,MAAM,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAChH,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,SAAyB;IAClD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACvH,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO;IAC3C,SAAS,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACrC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEhC,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAqB,CAAC,CAAC;IACnD,CAAC;IACD,SAAS,CAAC,0BAA0B,GAAG,IAAI,eAAe,EAAE,CAAC;IAC7D,SAAS,CAAC,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,SAAyB;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAClD,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACpC,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;QACvC,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAExB,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC;YACD,2FAA2F;YAC3F,6FAA6F;YAC7F,2FAA2F;YAC3F,0CAA0C;YAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC3B,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,+BAA+B,CAAC,CAAC,MAAM,CACxF,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACxD,CACJ,CAAC;YACF,KAAK,MAAM,cAAc,IAAI,eAAe;gBACxC,MAAM,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACzG,SAAS,CAAC,+BAA+B,GAAG,SAAS,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,8EAA8E,EAAE,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,mBAAmB,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,SAAS,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACD,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,iEAAiE,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,qBAAqB,CACvB,SAAS,EACT,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,EAAE,CACjH,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,6CAA6C,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAE1E,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAClD,uBAAuB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,SAAS,CAAC,6BAA6B,EAAE,KAAK,EAAE,CAAC;QACjD,MAAM,SAAS,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,SAAS,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAClD,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACtC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3E,SAAS,CAAC,eAAe,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,UAAU;YAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACnE,GAAG,CAAC,2CAA2C,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACrE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxC,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,kBAAkB,CAAC;YACnC,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC7C,CAAC;QACD,SAAS,CAAC,0BAA0B,GAAG,SAAS,CAAC;QACjD,IAAI,SAAS,CAAC,UAAU;YAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACnE,IAAI,SAAS,CAAC,mCAAmC;YAAE,MAAM,yCAAyC,CAAC,SAAS,CAAC,CAAC;QAC9G,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS;YAC7G,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxD,SAAS,CAAC,4CAA4C,CAAC,SAAS,CAAC,CAAC;QAClE,GAAG,CAAC,4CAA4C,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACtE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAyB;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,qCAAqC,SAAS,CAAC,OAAO,8BAA8B,CAAC,CAAC;IAEhG,MAAM,gBAAgB,GAA+B,CACjD,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3F,uBAAuB,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CACpH,CAAC;IACF,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAE5F,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IACvE,IAAI,CAAC,UAAU;QAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE3D,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE,WAAW,KAAK,QAAQ;QACjD,iCAAiC;QACjC,IAAI,CAAC;YACD,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IAEL,IAAI,CAAC;QACD,MAAM,oBAAoB,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,+EAA+E;IAC/E,+DAA+D;IAC/D,8DAA8D;IAC9D,yIAAyI;IAEzI,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,iEAAiE,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,SAAS,CAAC,yBAAyB;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACzG,4FAA4F;IAC5F,oGAAoG;IACpG,+FAA+F;IAC/F,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,wBAAwB;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACxG,IAAI,SAAS,CAAC,qBAAqB;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACjG,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC;QACjF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACnC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,8DAA8D,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,CAAC,SAAS;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,SAAS,CAAC,QAAQ;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEvE,IAAI,CAAC;QACD,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACD,MAAM,qBAAqB,CACvB,SAAS,EACT,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;YACnC,CAAC,CAAC,SAAS,CAAC,8BAA8B,EAAE;YAC5C,CAAC,CAAC,SAAS,CAAC,+BAA+B,EAAE,CACpD,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;YAAS,CAAC;QACP,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,iCAAiC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3E,GAAG,CAAC,sBAAsB,SAAS,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,CAAC"}
@@ -14,6 +14,7 @@ import { CommentModerationPubsubMessagePublicationSchema } from "../../../../pub
14
14
  import { VotePubsubMessagePublicationSchema } from "../../../../publications/vote/schema.js";
15
15
  import { addAllCidsUnderPurgedCommentToBeRemoved, rmUnneededMfsPaths } from "./cleanup.js";
16
16
  import { isPublicationAuthorPartOfRoles } from "./publication-validation.js";
17
+ import { communityIdentityPublicKey } from "./identity.js";
17
18
  export function isPublicationReply(publication) {
18
19
  return Boolean(publication.parentCid);
19
20
  }
@@ -131,7 +132,7 @@ export async function storeCommentEdit(community, commentEditRaw, challengeReque
131
132
  strippedOutEditPublication.author = cleanWireAuthor(strippedOutEditPublication.author); // strip runtime-only author fields (address, publicKey, etc.)
132
133
  // Normalize to new wire format: ensure communityPublicKey/communityName for DB columns
133
134
  if (!strippedOutEditPublication.communityPublicKey)
134
- strippedOutEditPublication.communityPublicKey = community.signer.address;
135
+ strippedOutEditPublication.communityPublicKey = communityIdentityPublicKey(community);
135
136
  if (!strippedOutEditPublication.communityName && isStringDomain(community.address))
136
137
  strippedOutEditPublication.communityName = community.address;
137
138
  const commentToBeEdited = community._dbHandler.queryComment(commentEditRaw.commentCid); // We assume commentToBeEdited to be defined because we already tested for its existence above
@@ -173,7 +174,7 @@ export async function storeCommentModeration(community, commentModRaw, challenge
173
174
  strippedOutModPublication.author = cleanWireAuthor(strippedOutModPublication.author); // strip runtime-only author fields (address, publicKey, etc.)
174
175
  // Normalize to new wire format: ensure communityPublicKey/communityName for DB columns
175
176
  if (!strippedOutModPublication.communityPublicKey)
176
- strippedOutModPublication.communityPublicKey = community.signer.address;
177
+ strippedOutModPublication.communityPublicKey = communityIdentityPublicKey(community);
177
178
  if (!strippedOutModPublication.communityName && isStringDomain(community.address))
178
179
  strippedOutModPublication.communityName = community.address;
179
180
  const commentToBeEdited = community._dbHandler.queryComment(commentModRaw.commentCid); // We assume commentToBeEdited to be defined because we already tested for its existence above
@@ -290,7 +291,10 @@ export async function storeComment(community, opts) {
290
291
  ...(challengeAggregate?.aggregatedComment ?? {})
291
292
  };
292
293
  // Normalize to new wire format: ensure communityPublicKey/communityName, remove old communityAddress
293
- commentIpfs.communityPublicKey = community.signer.address;
294
+ // The anchor on a delegated community, so stored content survives a minter rotation: labelling it
295
+ // with signer.address would name a key that no longer publishes the community. See
296
+ // docs/protocol/delegated-ipns.md.
297
+ commentIpfs.communityPublicKey = communityIdentityPublicKey(community);
294
298
  if (isStringDomain(community.address))
295
299
  commentIpfs.communityName = community.address;
296
300
  delete commentIpfs.communityAddress;