@pkcprotocol/pkc-js 0.0.79 → 0.0.81

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 (119) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/community/community-client-manager.d.ts +2 -0
  3. package/dist/browser/community/community-client-manager.js +164 -9
  4. package/dist/browser/community/community-client-manager.js.map +1 -1
  5. package/dist/browser/community/remote-community.d.ts +2 -1
  6. package/dist/browser/community/remote-community.js +30 -7
  7. package/dist/browser/community/remote-community.js.map +1 -1
  8. package/dist/browser/community/rpc-local-community.js.map +1 -1
  9. package/dist/browser/community/schema.d.ts +31 -4
  10. package/dist/browser/community/schema.js +16 -10
  11. package/dist/browser/community/schema.js.map +1 -1
  12. package/dist/browser/errors.d.ts +3 -0
  13. package/dist/browser/errors.js +3 -0
  14. package/dist/browser/errors.js.map +1 -1
  15. package/dist/browser/generated-version.d.ts +1 -1
  16. package/dist/browser/generated-version.js +1 -1
  17. package/dist/browser/pkc/pkc.d.ts +1 -2
  18. package/dist/browser/pkc/pkc.js +17 -24
  19. package/dist/browser/pkc/pkc.js.map +1 -1
  20. package/dist/browser/pkc-error.d.ts +1 -1
  21. package/dist/browser/rpc/src/index.js +1 -1
  22. package/dist/browser/rpc/src/index.js.map +1 -1
  23. package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  24. package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
  25. package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  26. package/dist/browser/runtime/node/community/local-community/publication-validation.js +7 -1
  27. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  28. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  29. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  30. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  31. package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  32. package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  33. package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
  34. package/dist/browser/schema/schema-util.d.ts +15 -0
  35. package/dist/browser/signer/signatures.d.ts +1 -0
  36. package/dist/browser/signer/signatures.js +25 -2
  37. package/dist/browser/signer/signatures.js.map +1 -1
  38. package/dist/browser/test/test-util.d.ts +7 -0
  39. package/dist/browser/test/test-util.js +6 -0
  40. package/dist/browser/test/test-util.js.map +1 -1
  41. package/dist/browser/util.d.ts +3 -4
  42. package/dist/browser/util.js +7 -3
  43. package/dist/browser/util.js.map +1 -1
  44. package/dist/bundled/bundle-manifest.json +76 -93
  45. package/dist/bundled/chunks/{helia-for-pkc-7wubsFuU.js → helia-for-pkc-BcNF-orO.js} +33 -33
  46. package/dist/bundled/chunks/{local-community-Cs0aQLE3.js → local-community-B6-jaMsn.js} +1 -1
  47. package/dist/bundled/chunks/{local-community-BhRsFFg0.js → local-community-CyX1HwD0.js} +36 -29
  48. package/dist/bundled/chunks/{node-BKnzoR3G.js → node-BCXmIYLQ.js} +265 -2310
  49. package/dist/bundled/chunks/{rpc-local-community-DlgrBPH8.js → rpc-local-community-BOiy8BX1.js} +133 -567
  50. package/dist/bundled/chunks/{schema-C_dFmYMp.js → schema-DZyEx0YQ.js} +9 -5
  51. package/dist/bundled/chunks/{util-CsiYk_QO.js → util-BTPlI1yF.js} +1 -1
  52. package/dist/bundled/index.js +1 -1
  53. package/dist/bundled/rpc/src/index.js +4 -4
  54. package/dist/node/community/community-client-manager.d.ts +2 -0
  55. package/dist/node/community/community-client-manager.js +164 -9
  56. package/dist/node/community/community-client-manager.js.map +1 -1
  57. package/dist/node/community/remote-community.d.ts +2 -1
  58. package/dist/node/community/remote-community.js +30 -7
  59. package/dist/node/community/remote-community.js.map +1 -1
  60. package/dist/node/community/rpc-local-community.js.map +1 -1
  61. package/dist/node/community/schema.d.ts +31 -4
  62. package/dist/node/community/schema.js +16 -10
  63. package/dist/node/community/schema.js.map +1 -1
  64. package/dist/node/errors.d.ts +3 -0
  65. package/dist/node/errors.js +3 -0
  66. package/dist/node/errors.js.map +1 -1
  67. package/dist/node/generated-version.d.ts +1 -1
  68. package/dist/node/generated-version.js +1 -1
  69. package/dist/node/pkc/pkc.d.ts +1 -2
  70. package/dist/node/pkc/pkc.js +17 -24
  71. package/dist/node/pkc/pkc.js.map +1 -1
  72. package/dist/node/pkc-error.d.ts +1 -1
  73. package/dist/node/rpc/src/index.js +1 -1
  74. package/dist/node/rpc/src/index.js.map +1 -1
  75. package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  76. package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
  77. package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  78. package/dist/node/runtime/node/community/local-community/publication-validation.js +7 -1
  79. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  80. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  81. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  82. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  83. package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  84. package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  85. package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
  86. package/dist/node/schema/schema-util.d.ts +15 -0
  87. package/dist/node/signer/signatures.d.ts +1 -0
  88. package/dist/node/signer/signatures.js +25 -2
  89. package/dist/node/signer/signatures.js.map +1 -1
  90. package/dist/node/test/test-util.d.ts +7 -0
  91. package/dist/node/test/test-util.js +6 -0
  92. package/dist/node/test/test-util.js.map +1 -1
  93. package/dist/node/util.d.ts +3 -4
  94. package/dist/node/util.js +7 -3
  95. package/dist/node/util.js.map +1 -1
  96. package/package.json +2 -2
  97. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  98. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  99. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  100. package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -33
  101. package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
  102. package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
  103. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  104. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  105. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  106. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  107. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  108. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  109. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  110. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  111. package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -33
  112. package/dist/node/runtime/node/address-rewriter-db.js +0 -156
  113. package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
  114. package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  115. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  116. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  117. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  118. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  119. package/dist/bundled/chunks/{src-BEjAH2gY.js → src-WLgFbUwZ.js} +1 -1
@@ -1,10 +1,7 @@
1
1
  import retry from "retry";
2
- import { AddressesRewriterProxyServer } from "./addresses-rewriter-proxy-server.js";
3
2
  import Logger from "../../logger.js";
4
3
  import { PKCError } from "../../pkc-error.js";
5
4
  import { isDeepEqual } from "remeda";
6
- import tcpPortUsed from "tcp-port-used";
7
- const MAX_TCP_PORT = 65535;
8
5
  function _mergeRouterConfigs(existingConfig, newConfig) {
9
6
  if (!existingConfig?.Routers)
10
7
  return newConfig;
@@ -32,12 +29,12 @@ function _mergeRouterConfigs(existingConfig, newConfig) {
32
29
  Routers: mergedRouters
33
30
  };
34
31
  }
35
- async function _setProvideDhtSweepEnabledOnKuboNode(kuboClient, sweepEnabled) {
32
+ async function _setProvideDhtSweepEnabledOnKuboNode(kuboClient, sweepEnabled, signal) {
36
33
  const log = Logger("pkc-js:pkc:_init:retrySettingHttpRoutersOnIpfsNodes:setProvideDhtSweepEnabledOnIpfsNode");
37
34
  const configKey = "Provide.DHT.SweepEnabled";
38
35
  const url = `${kuboClient._clientOptions.url}/config?arg=${configKey}&arg=${JSON.stringify(sweepEnabled)}&json=true`;
39
36
  try {
40
- await fetch(url, { method: "POST", headers: kuboClient._clientOptions.headers });
37
+ await fetch(url, { method: "POST", headers: kuboClient._clientOptions.headers, signal });
41
38
  }
42
39
  catch (e) {
43
40
  const error = new PKCError("ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE", {
@@ -52,12 +49,12 @@ async function _setProvideDhtSweepEnabledOnKuboNode(kuboClient, sweepEnabled) {
52
49
  }
53
50
  log.trace("Succeeded in setting config key", configKey, "on node", kuboClient._clientOptions.url, "to be", sweepEnabled);
54
51
  }
55
- async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
52
+ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue, signal) {
56
53
  const log = Logger("pkc-js:pkc:_init:retrySettingHttpRoutersOnIpfsNodes:setHttpRouterOptionsOnIpfsNode");
57
54
  const routingKey = "Routing";
58
55
  let routingConfigBeforeChanging;
59
56
  try {
60
- routingConfigBeforeChanging = await kuboClient._client.config.get(routingKey);
57
+ routingConfigBeforeChanging = await kuboClient._client.config.get(routingKey, { signal });
61
58
  }
62
59
  catch (e) {
63
60
  const error = new PKCError("ERR_FAILED_TO_GET_CONFIG_ON_KUBO_NODE", {
@@ -71,7 +68,7 @@ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
71
68
  const mergedRoutingValue = _mergeRouterConfigs(routingConfigBeforeChanging, routingValue);
72
69
  const url = `${kuboClient._clientOptions.url}/config?arg=${routingKey}&arg=${JSON.stringify(mergedRoutingValue)}&json=true`;
73
70
  try {
74
- await fetch(url, { method: "POST", headers: kuboClient._clientOptions.headers });
71
+ await fetch(url, { method: "POST", headers: kuboClient._clientOptions.headers, signal });
75
72
  }
76
73
  catch (e) {
77
74
  const error = new PKCError("ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE", {
@@ -85,7 +82,7 @@ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
85
82
  throw error;
86
83
  }
87
84
  log.trace("Succeeded in setting config key", routingKey, "on node", kuboClient._clientOptions.url, "to be", mergedRoutingValue);
88
- await _setProvideDhtSweepEnabledOnKuboNode(kuboClient, false);
85
+ await _setProvideDhtSweepEnabledOnKuboNode(kuboClient, false, signal);
89
86
  const endpointsBefore = Object.values(routingConfigBeforeChanging?.Routers || {})
90
87
  .map((router) => router.Parameters?.Endpoint)
91
88
  .filter((endpoint) => endpoint !== undefined);
@@ -96,7 +93,7 @@ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
96
93
  log("Config on kubo node has been changed. PKC-js will send shutdown command to node", kuboClient._clientOptions.url, "Clients of pkc-js should restart ipfs node");
97
94
  const shutdownUrl = `${kuboClient._clientOptions.url}/shutdown`;
98
95
  try {
99
- await fetch(shutdownUrl, { method: "POST", headers: kuboClient._clientOptions.headers });
96
+ await fetch(shutdownUrl, { method: "POST", headers: kuboClient._clientOptions.headers, signal });
100
97
  }
101
98
  catch (e) {
102
99
  const error = new PKCError("ERR_FAILED_TO_SHUTDOWN_KUBO_NODE", {
@@ -109,108 +106,29 @@ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
109
106
  }
110
107
  }
111
108
  }
112
- async function _getStartedProxyUrl(pkc, httpRouterUrl) {
109
+ // Kubo publishes the provider records to these routers itself. It used to drop the browser-dialable
110
+ // transports (AutoTLS /tls/ws and webrtc-direct) from anything it PUT to a delegated HTTP router,
111
+ // which is why every router URL below used to be a loopback AddressesRewriterProxyServer that
112
+ // rewrote `Addrs` on the way through. Kubo 0.43.0 fixed that (ipfs/kubo#11394, closing the
113
+ // ipfs/kubo#11369 we filed), so Kubo now points straight at the real routers. Do not reintroduce a
114
+ // rewriting proxy: the addrs it could reconstruct (kubo id + swarm addrs) carry no certhash, so a
115
+ // rewritten webrtc-direct/webtransport addr is one no browser can dial.
116
+ export async function setupKuboHttpRouters(pkc) {
113
117
  if (pkc.destroyed)
114
- return undefined;
115
- const mappingKeyName = `httprouter_proxy_${httpRouterUrl}`;
116
- try {
117
- const urlOfProxyOfHttpRouter = await pkc._storage.getItem(mappingKeyName);
118
- if (pkc.destroyed)
119
- return undefined;
120
- if (urlOfProxyOfHttpRouter) {
121
- const proxyHttpUrl = new URL(urlOfProxyOfHttpRouter);
122
- if (await tcpPortUsed.check(Number(proxyHttpUrl.port), "127.0.0.1"))
123
- return urlOfProxyOfHttpRouter;
124
- if (pkc.destroyed)
125
- return undefined;
126
- await pkc._storage.removeItem(mappingKeyName);
127
- }
128
- return undefined;
129
- }
130
- catch (error) {
131
- if (pkc.destroyed && error instanceof Error && error.message.includes("database connection is not open")) {
132
- return undefined;
133
- }
134
- throw error;
135
- }
136
- }
137
- export async function setupKuboAddressesRewriterAndHttpRouters(pkc) {
138
- if (pkc.destroyed) {
139
- return {
140
- destroy: async () => { }
141
- };
142
- }
118
+ return;
143
119
  if (!Array.isArray(pkc.kuboRpcClientsOptions) || pkc.kuboRpcClientsOptions.length <= 0)
144
120
  throw Error("need ipfs http client to be defined");
145
121
  if (!Array.isArray(pkc.httpRoutersOptions) || pkc.httpRoutersOptions.length <= 0)
146
122
  throw Error("Need http router options to defined");
147
- const log = Logger("pkc-js:node:setupKuboAddressesRewriterAndHttpRouters");
148
- // Set up http proxies first to rewrite addresses
149
- const httpRouterProxyUrls = [];
150
- const proxyServers = [];
151
- // Port 19575 looks like IPRTR (IPFS ROUTER). The loop below walks upward from here to the first
152
- // free port, so a busy 19575 is not fatal.
153
- //
154
- // PKC_ADDRESSES_REWRITER_START_PORT moves that base. It exists for tests: the port is process-wide
155
- // and shared by every PKC instance, so two test files that both assume 19575 — one starting a
156
- // proxy on it, one asserting it is free — collide whenever vitest's --parallel scheduling puts
157
- // them in flight together. Each file can now claim its own base instead. Left unset in
158
- // production on purpose: the chosen port is written into Kubo's Routing config, and a changed
159
- // endpoint set bounces the daemon, so the base has to stay stable across restarts.
160
- const parsedStartPortOverride = Number(process.env.PKC_ADDRESSES_REWRITER_START_PORT);
161
- let addressesRewriterStartPort = Number.isInteger(parsedStartPortOverride) && parsedStartPortOverride > 0 && parsedStartPortOverride <= MAX_TCP_PORT
162
- ? parsedStartPortOverride
163
- : 19575;
164
- for (const httpRouter of pkc.httpRoutersOptions) {
165
- if (pkc.destroyed)
166
- break;
167
- const startedProxyUrl = await _getStartedProxyUrl(pkc, httpRouter);
168
- if (startedProxyUrl) {
169
- // Intentionally not tracked in proxyServers: this proxy was started by a previous PKC
170
- // instance in the same process and persisted via storage. We have no server handle to it
171
- // and must not destroy() it on teardown, since another instance may still rely on it. It
172
- // is bounded (one proxy per httpRouter, reusing the same stored URL) and lives until the
173
- // process exits, so this is reuse by design, not a leak.
174
- httpRouterProxyUrls.push(startedProxyUrl);
175
- continue;
176
- }
177
- // launch the proxy server
178
- let port = addressesRewriterStartPort;
179
- const hostname = "127.0.0.1";
180
- // keep increasing port till we find an empty port. Bounded at the top of the TCP range:
181
- // tcpPortUsed.check rejects anything above it with "invalid port", so an unbounded walk would
182
- // surface exhaustion as that opaque error instead of saying what actually went wrong.
183
- while (await tcpPortUsed.check(port, hostname)) {
184
- port++;
185
- if (port > MAX_TCP_PORT)
186
- throw Error(`No free loopback port for the addresses rewriter proxy between ${addressesRewriterStartPort} and ${MAX_TCP_PORT}`);
187
- }
188
- const addressesRewriterProxyServer = new AddressesRewriterProxyServer({
189
- kuboClients: Object.values(pkc.clients.kuboRpcClients).map((kubo) => kubo._client),
190
- port,
191
- hostname,
192
- proxyTargetUrl: httpRouter,
193
- pkc
194
- });
195
- await addressesRewriterProxyServer.listen();
196
- if (pkc.destroyed) {
197
- await addressesRewriterProxyServer.destroy();
198
- break;
199
- }
200
- proxyServers.push(addressesRewriterProxyServer);
201
- // save the proxy urls to use them later
202
- const httpRouterProxyUrl = `http://${hostname}:${port}`;
203
- httpRouterProxyUrls.push(httpRouterProxyUrl);
204
- }
205
- httpRouterProxyUrls.sort(); // make sure it's always the same order
206
- // Set up http routers to use proxies
123
+ const log = Logger("pkc-js:node:setupKuboHttpRouters");
124
+ const httpRouterUrls = [...pkc.httpRoutersOptions].sort(); // make sure it's always the same order
207
125
  const kuboClients = pkc.clients.kuboRpcClients;
208
126
  const parallelRouters = [];
209
127
  const httpRoutersConfig = {
210
128
  HttpRoutersParallel: { Type: "parallel", Parameters: { Routers: parallelRouters } },
211
129
  HttpRouterNotSupported: { Type: "http", Parameters: { Endpoint: "http://kubohttprouternotsupported" } }
212
130
  };
213
- for (const [i, httpRouterUrl] of httpRouterProxyUrls.entries()) {
131
+ for (const [i, httpRouterUrl] of httpRouterUrls.entries()) {
214
132
  const RouterName = `HttpRouter${i + 1}`;
215
133
  httpRoutersConfig[RouterName] = {
216
134
  Type: "http",
@@ -240,28 +158,52 @@ export async function setupKuboAddressesRewriterAndHttpRouters(pkc) {
240
158
  // Cap the backoff: with forever:true and no maxTimeout the exponential delay grows unbounded
241
159
  // (hours between attempts after enough failures), which would stall router setup indefinitely.
242
160
  const settingOptionRetryOption = retry.operation({ forever: true, factor: 2, maxTimeout: 60 * 1000 });
161
+ // destroy() aborts this signal before it awaits the setup promise, so it doubles as the cancel
162
+ // signal for both the in-flight requests below and the retry schedule.
163
+ const destroySignal = pkc._getDestroyAbortSignal();
164
+ let removeDestroyListener;
243
165
  const setHttpRouterOnAllNodes = new Promise((resolve) => {
244
- settingOptionRetryOption.attempt(async (curAttempt) => {
166
+ // The `pkc.destroyed` check below only runs at the top of an attempt, so a destroy landing
167
+ // inside a backoff window would otherwise make destroy() wait out the remaining delay (up to
168
+ // maxTimeout). stop() drops the scheduled attempt (it clears the timer and empties both the
169
+ // pending and cached timeouts, so a racing retry() schedules nothing) and resolving lets
170
+ // destroy() move on immediately.
171
+ const onDestroy = () => {
172
+ settingOptionRetryOption.stop();
173
+ resolve();
174
+ };
175
+ if (destroySignal.aborted) {
176
+ onDestroy();
177
+ return;
178
+ }
179
+ destroySignal.addEventListener("abort", onDestroy, { once: true });
180
+ removeDestroyListener = () => destroySignal.removeEventListener("abort", onDestroy);
181
+ settingOptionRetryOption.attempt(async () => {
182
+ // A destroyed PKC has nothing left to configure, and `forever: true` would otherwise keep
183
+ // retrying against a torn-down instance for the life of the process.
184
+ if (pkc.destroyed) {
185
+ resolve();
186
+ return;
187
+ }
245
188
  for (const kuboClient of Object.values(kuboClients)) {
246
189
  try {
247
- await _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue);
190
+ await _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue, destroySignal);
248
191
  }
249
192
  catch (e) {
250
193
  settingOptionRetryOption.retry(e);
251
194
  return;
252
195
  }
253
196
  }
254
- resolve(1);
197
+ resolve();
255
198
  });
256
199
  });
257
200
  await setHttpRouterOnAllNodes;
201
+ // Detach before returning: the destroy signal outlives this call, and leaving the listener on it
202
+ // would accumulate one per setup for the life of the instance.
203
+ removeDestroyListener?.();
258
204
  settingOptionRetryOption.stop();
259
- return {
260
- destroy: async () => {
261
- for (const proxyServer of proxyServers) {
262
- await proxyServer.destroy();
263
- }
264
- }
265
- };
205
+ if (pkc.destroyed)
206
+ return;
207
+ log.trace("Set http router config on all kubo nodes", Object.keys(kuboClients), "to", httpRouterUrls);
266
208
  }
267
- //# sourceMappingURL=setup-kubo-address-rewriter-and-http-router.js.map
209
+ //# sourceMappingURL=setup-kubo-http-routers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-kubo-http-routers.js","sourceRoot":"","sources":["../../../../src/runtime/node/setup-kubo-http-routers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAgBrC,SAAS,mBAAmB,CAAC,cAA6C,EAAE,SAA4B;IACpG,IAAI,CAAC,cAAc,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAA2D,CAAC;IACrG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE;QACpE,IAAI,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC9B,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAmB,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IAE/D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE;QACrE,IAAI,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,QAAQ,EAAE,CAAC;gBACX,aAAa,CAAC,aAAa,CAAC,GAAG;oBAC3B,GAAG,QAAQ,CAAC,MAAM;oBAClB,GAAG,SAAS;oBACZ,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE;iBACzE,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,GAAG,SAAS;QACZ,OAAO,EAAE,aAAa;KACzB,CAAC;AACN,CAAC;AAED,KAAK,UAAU,oCAAoC,CAC/C,UAAoD,EACpD,YAAqB,EACrB,MAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,CAAC,yFAAyF,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG,0BAA0B,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,eAAe,SAAS,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;IACrH,IAAI,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YAChE,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG;YAC3C,SAAS;YACT,kBAAkB,EAAE,YAAY;SACnC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,KAAK,CAAC;IAChB,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC7H,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC1C,UAAoD,EACpD,YAA+B,EAC/B,MAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,CAAC,oFAAoF,CAAC,CAAC;IACzG,MAAM,UAAU,GAAG,SAAS,CAAC;IAE7B,IAAI,2BAA0D,CAAC;IAC/D,IAAI,CAAC;QACD,2BAA2B,GAAsB,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YAChE,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG;YAC3C,SAAS,EAAE,UAAU;SACxB,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,KAAK,CAAC;IAChB,CAAC;IAED,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;IAE1F,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,eAAe,UAAU,QAAQ,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC;IAC5H,IAAI,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YAChE,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG;YAC3C,SAAS,EAAE,UAAU;YACrB,kBAAkB,EAAE,kBAAkB;SACzC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,KAAK,CAAC;IAChB,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAEhI,MAAM,oCAAoC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAa,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,OAAO,IAAI,EAAE,CAAC;SACtF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;SAC5C,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACtE,MAAM,cAAc,GAAa,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;SACrE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;SAC5C,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,GAAG,CACC,iFAAiF,EACjF,UAAU,CAAC,cAAc,CAAC,GAAG,EAC7B,4CAA4C,CAC/C,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;QAChE,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,kCAAkC,EAAE;gBAC3D,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG;gBAC3C,WAAW;aACd,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,kGAAkG;AAClG,8FAA8F;AAC9F,2FAA2F;AAC3F,mGAAmG;AACnG,kGAAkG;AAClG,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAQ;IAC/C,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC;QAClF,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;QAAE,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAErI,MAAM,GAAG,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,uCAAuC;IAElG,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/C,MAAM,eAAe,GAA0D,EAAE,CAAC;IAClF,MAAM,iBAAiB,GAAmB;QACtC,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE;QACnF,sBAAsB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,mCAAmC,EAAE,EAAE;KAC1G,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,iBAAiB,CAAC,UAAU,CAAC,GAAG;YAC5B,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACR,QAAQ,EAAE,aAAa;aAC1B;SACJ,CAAC;QACF,eAAe,CAAC,CAAC,CAAC,GAAG;YACjB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,KAAK;SACjB,CAAC;IACN,CAAC;IAED,MAAM,wBAAwB,GAAG;QAC7B,gBAAgB,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE;QACvD,OAAO,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE;QAC9C,gCAAgC;QAChC,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;QACtD,UAAU,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;QACpD,UAAU,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;KACvD,CAAC;IAEF,MAAM,YAAY,GAAG;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,iBAAiB;KAC7B,CAAC;IAEF,6FAA6F;IAC7F,+FAA+F;IAC/F,MAAM,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAEtG,+FAA+F;IAC/F,uEAAuE;IACvE,MAAM,aAAa,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IACnD,IAAI,qBAA+C,CAAC;IAEpD,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC1D,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,yFAAyF;QACzF,iCAAiC;QACjC,MAAM,SAAS,GAAG,GAAG,EAAE;YACnB,wBAAwB,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,SAAS,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QACD,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,qBAAqB,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEpF,wBAAwB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACxC,0FAA0F;YAC1F,qEAAqE;YACrE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;YACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACD,MAAM,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBACnF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,wBAAwB,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;oBACzC,OAAO;gBACX,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,uBAAuB,CAAC;IAC9B,iGAAiG;IACjG,+DAA+D;IAC/D,qBAAqB,EAAE,EAAE,CAAC;IAC1B,wBAAwB,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAC1B,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1G,CAAC"}
@@ -392,6 +392,9 @@ export declare function parseRpcRemoteCommunityUpdateEventWithPKCErrorIfItFails(
392
392
  pageCids: Record<string, string>;
393
393
  } | undefined;
394
394
  name?: string | undefined;
395
+ anchor?: {
396
+ publicKey: string;
397
+ } | undefined;
395
398
  pubsubTopic?: string | undefined;
396
399
  postUpdates?: Record<string, string> | undefined;
397
400
  title?: string | undefined;
@@ -1391,6 +1394,9 @@ export declare function parseCreateCommunityFunctionArgumentsSchemaWithPKCErrorI
1391
1394
  pageCids: Record<string, string>;
1392
1395
  } | undefined;
1393
1396
  name?: string | undefined;
1397
+ anchor?: {
1398
+ publicKey: string;
1399
+ } | undefined;
1394
1400
  pubsubTopic?: string | undefined;
1395
1401
  postUpdates?: Record<string, string> | undefined;
1396
1402
  title?: string | undefined;
@@ -1619,6 +1625,9 @@ export declare function parseCreateCommunityFunctionArgumentsSchemaWithPKCErrorI
1619
1625
  publicKey: string;
1620
1626
  } | undefined;
1621
1627
  name?: string | undefined;
1628
+ anchor?: {
1629
+ publicKey: string;
1630
+ } | undefined;
1622
1631
  createdAt?: number | undefined;
1623
1632
  updatedAt?: number | undefined;
1624
1633
  pubsubTopic?: string | undefined;
@@ -2135,6 +2144,9 @@ export declare function parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErro
2135
2144
  pageCids: Record<string, string>;
2136
2145
  } | undefined;
2137
2146
  name?: string | undefined;
2147
+ anchor?: {
2148
+ publicKey: string;
2149
+ } | undefined;
2138
2150
  pubsubTopic?: string | undefined;
2139
2151
  postUpdates?: Record<string, string> | undefined;
2140
2152
  title?: string | undefined;
@@ -2363,6 +2375,9 @@ export declare function parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErro
2363
2375
  publicKey: string;
2364
2376
  } | undefined;
2365
2377
  name?: string | undefined;
2378
+ anchor?: {
2379
+ publicKey: string;
2380
+ } | undefined;
2366
2381
  createdAt?: number | undefined;
2367
2382
  updatedAt?: number | undefined;
2368
2383
  pubsubTopic?: string | undefined;
@@ -166,6 +166,7 @@ type CommunityForVerifyingPages = {
166
166
  publicKey?: string;
167
167
  name?: string;
168
168
  signature?: CommunityIpfsType["signature"];
169
+ anchor?: CommunityIpfsType["anchor"];
169
170
  };
170
171
  export declare function verifyPageComment({ pageComment, community, parentComment, resolveAuthorNames, clientsManager, validatePages, validateUpdateSignature, abortSignal }: {
171
172
  pageComment: (PageIpfs | ModQueuePageIpfs)["comments"][0];
@@ -356,12 +356,26 @@ export async function verifyCommunity({ community, communityIpnsHops, resolveAut
356
356
  // A caller bug rather than an invalid record, same as the unusable-page throw below.
357
357
  if (!Array.isArray(communityIpnsHops) || communityIpnsHops.length === 0)
358
358
  throw Error("verifyCommunity needs a non-empty communityIpnsHops to verify a community record against");
359
- const communityIdentityIpnsName = communityIpnsHops[0];
359
+ // The record's signed anchor claim defines the identity (#257): it recovers the anchor even when
360
+ // the record was reached by addressing the minter directly, where ipnsHops is [minter]. Records
361
+ // without a claim (non-delegated) fall back to the chain's first hop.
362
+ const communityIdentityIpnsName = community.anchor?.publicKey ?? communityIpnsHops[0];
360
363
  const terminalIpnsName = communityIpnsHops[communityIpnsHops.length - 1];
361
364
  if (!_allFieldsOfRecordInSignedPropertyNames(community))
362
365
  return { valid: false, reason: messages.ERR_COMMUNITY_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES };
363
366
  if (_isThereReservedFieldInRecord(community, CommunityIpfsReservedFields))
364
367
  return { valid: false, reason: messages.ERR_COMMUNITY_RECORD_INCLUDES_RESERVED_FIELD };
368
+ // A chain-loaded record must claim the chain's anchor (#257). The anchor-signed IPNS record
369
+ // already binds the anchor to the minter cryptographically; a record reached through that binding
370
+ // that claims a different anchor (or none at all) is either minted by a stale/misconfigured node
371
+ // or attempting to serve one community's content under another community's identity.
372
+ // A single-hop chain walked nothing that could contradict the claim, so this rule cannot judge it;
373
+ // the claim is instead proven against the claimed anchor's own chain before verification, by
374
+ // _proveAnchorClaimIfUnwalked in the community clients manager (#261) — which also upgrades the
375
+ // hops passed here to the proven chain, so a claim that reaches this function unproven is one the
376
+ // caller could not prove offline (a signature-only check, e.g. a test), not one that was trusted.
377
+ if (communityIpnsHops.length > 1 && community.anchor?.publicKey !== communityIpnsHops[0])
378
+ return { valid: false, reason: messages.ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_DOES_NOT_MATCH_CHAIN_ANCHOR };
365
379
  const signatureValidity = await _verifyJsonSignature(community);
366
380
  if (!signatureValidity)
367
381
  return { valid: false, reason: messages.ERR_COMMUNITY_SIGNATURE_IS_INVALID };
@@ -378,7 +392,8 @@ export async function verifyCommunity({ community, communityIpnsHops, resolveAut
378
392
  // The two are the same key on a non-delegated community.
379
393
  publicKey: communityIdentityIpnsName,
380
394
  name: community.name,
381
- signature: community.signature
395
+ signature: community.signature,
396
+ anchor: community.anchor
382
397
  };
383
398
  if (community.posts?.pages && validatePages)
384
399
  for (const preloadedPageSortName of keys(community.posts.pages)) {
@@ -580,6 +595,14 @@ export async function verifyPageComment({ pageComment, community, parentComment,
580
595
  }
581
596
  // Check that the comment belongs to the same community as the page
582
597
  const commentRecord = pageComment.comment;
598
+ // A delegated community's anchor claim is checked unconditionally (#257): unlike a rotated key,
599
+ // the anchor is the stable identity across minter rotations, so every comment in a delegated
600
+ // community's pages must be labelled with it, name or no name.
601
+ if (community.anchor?.publicKey) {
602
+ const communityPublicKeyFromRecord = getCommunityPublicKeyFromWire(commentRecord);
603
+ if (communityPublicKeyFromRecord && !areEquivalentCommunityAddresses(communityPublicKeyFromRecord, community.anchor.publicKey))
604
+ return { valid: false, reason: messages.ERR_COMMENT_IN_PAGE_BELONG_TO_DIFFERENT_COMMUNITY };
605
+ }
583
606
  if (community.name) {
584
607
  // Domain-based community: only check name mismatch (key rotation is allowed)
585
608
  const communityNameFromRecord = getCommunityNameFromWire(commentRecord);
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../../src/signer/signatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../../src/signer/signatures.ts"],"names":[],"mappings":"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"}
@@ -210,6 +210,7 @@ export declare function createNewIpns(): Promise<{
210
210
  export declare function createDelegatedCommunityIpns(communityOpts?: Partial<CommunityIpfsType>, opts?: {
211
211
  contentSigner?: SignerType;
212
212
  intermediateHopsCount?: number;
213
+ omitAnchorClaim?: boolean;
213
214
  }): Promise<{
214
215
  anchorName: string;
215
216
  terminalName: string;
@@ -464,6 +465,9 @@ export declare function createDelegatedCommunityIpns(communityOpts?: Partial<Com
464
465
  pageCids: Record<string, string>;
465
466
  } | undefined;
466
467
  name?: string | undefined;
468
+ anchor?: {
469
+ publicKey: string;
470
+ } | undefined;
467
471
  pubsubTopic?: string | undefined;
468
472
  postUpdates?: Record<string, string> | undefined;
469
473
  title?: string | undefined;
@@ -797,6 +801,9 @@ export declare function createMockedCommunityIpns(communityOpts: CreateNewLocalC
797
801
  pageCids: Record<string, string>;
798
802
  } | undefined;
799
803
  name?: string | undefined;
804
+ anchor?: {
805
+ publicKey: string;
806
+ } | undefined;
800
807
  pubsubTopic?: string | undefined;
801
808
  postUpdates?: Record<string, string> | undefined;
802
809
  title?: string | undefined;
@@ -1285,10 +1285,16 @@ export async function createDelegatedCommunityIpns(communityOpts, opts) {
1285
1285
  posts: undefined,
1286
1286
  pubsubTopic: minter.signer.address,
1287
1287
  encryption: encryptionForSigner((opts?.contentSigner ?? minter.signer)),
1288
+ // The signed anchor claim (#257): a delegated record must declare its anchor, and a
1289
+ // chain-loaded record whose claim mismatches the chain's anchor is invalid. Tests
1290
+ // simulating a pre-claim (or forged) record pass omitAnchorClaim.
1291
+ anchor: opts?.omitAnchorClaim ? undefined : { publicKey: anchor.signer.address },
1288
1292
  ...communityOpts
1289
1293
  };
1290
1294
  if (!communityRecord.posts)
1291
1295
  delete communityRecord.posts;
1296
+ if (!communityRecord.anchor)
1297
+ delete communityRecord.anchor;
1292
1298
  // content is signed by the MINTER key (Mn) by default — the terminal of the chain. A test
1293
1299
  // may override contentSigner to simulate a record whose signer is NOT the terminal key.
1294
1300
  communityRecord.signature = await signCommunity({ community: communityRecord, signer: opts?.contentSigner ?? minter.signer });