@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.
- package/README.md +1 -1
- package/dist/browser/community/community-client-manager.d.ts +2 -0
- package/dist/browser/community/community-client-manager.js +164 -9
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/community/remote-community.d.ts +2 -1
- package/dist/browser/community/remote-community.js +30 -7
- package/dist/browser/community/remote-community.js.map +1 -1
- package/dist/browser/community/rpc-local-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +31 -4
- package/dist/browser/community/schema.js +16 -10
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/errors.d.ts +3 -0
- package/dist/browser/errors.js +3 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/pkc/pkc.d.ts +1 -2
- package/dist/browser/pkc/pkc.js +17 -24
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/rpc/src/index.js +1 -1
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/publication-validation.js +7 -1
- package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
- package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
- package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/dist/browser/schema/schema-util.d.ts +15 -0
- package/dist/browser/signer/signatures.d.ts +1 -0
- package/dist/browser/signer/signatures.js +25 -2
- package/dist/browser/signer/signatures.js.map +1 -1
- package/dist/browser/test/test-util.d.ts +7 -0
- package/dist/browser/test/test-util.js +6 -0
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/browser/util.d.ts +3 -4
- package/dist/browser/util.js +7 -3
- package/dist/browser/util.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +76 -93
- package/dist/bundled/chunks/{helia-for-pkc-7wubsFuU.js → helia-for-pkc-BcNF-orO.js} +33 -33
- package/dist/bundled/chunks/{local-community-Cs0aQLE3.js → local-community-B6-jaMsn.js} +1 -1
- package/dist/bundled/chunks/{local-community-BhRsFFg0.js → local-community-CyX1HwD0.js} +36 -29
- package/dist/bundled/chunks/{node-BKnzoR3G.js → node-BCXmIYLQ.js} +265 -2310
- package/dist/bundled/chunks/{rpc-local-community-DlgrBPH8.js → rpc-local-community-BOiy8BX1.js} +133 -567
- package/dist/bundled/chunks/{schema-C_dFmYMp.js → schema-DZyEx0YQ.js} +9 -5
- package/dist/bundled/chunks/{util-CsiYk_QO.js → util-BTPlI1yF.js} +1 -1
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +4 -4
- package/dist/node/community/community-client-manager.d.ts +2 -0
- package/dist/node/community/community-client-manager.js +164 -9
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/community/remote-community.d.ts +2 -1
- package/dist/node/community/remote-community.js +30 -7
- package/dist/node/community/remote-community.js.map +1 -1
- package/dist/node/community/rpc-local-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +31 -4
- package/dist/node/community/schema.js +16 -10
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/errors.d.ts +3 -0
- package/dist/node/errors.js +3 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/pkc/pkc.d.ts +1 -2
- package/dist/node/pkc/pkc.js +17 -24
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/rpc/src/index.js +1 -1
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/publication-validation.js +7 -1
- package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
- package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
- package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/dist/node/schema/schema-util.d.ts +15 -0
- package/dist/node/signer/signatures.d.ts +1 -0
- package/dist/node/signer/signatures.js +25 -2
- package/dist/node/signer/signatures.js.map +1 -1
- package/dist/node/test/test-util.d.ts +7 -0
- package/dist/node/test/test-util.js +6 -0
- package/dist/node/test/test-util.js.map +1 -1
- package/dist/node/util.d.ts +3 -4
- package/dist/node/util.js +7 -3
- package/dist/node/util.js.map +1 -1
- package/package.json +2 -2
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -33
- package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
- package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -534
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -33
- package/dist/node/runtime/node/address-rewriter-db.js +0 -156
- package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -534
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- 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
|
-
|
|
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
|
|
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:
|
|
148
|
-
//
|
|
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
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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-
|
|
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":"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"}
|
|
@@ -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
|
-
|
|
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 });
|