@pkcprotocol/pkc-js 0.0.103 → 0.0.105
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/dist/browser/clients/base-client-manager.d.ts +1 -0
- package/dist/browser/clients/base-client-manager.js +85 -15
- package/dist/browser/clients/base-client-manager.js.map +1 -1
- package/dist/browser/community/community-client-manager.d.ts +3 -0
- package/dist/browser/community/community-client-manager.js +87 -14
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/community/remote-community.js +3 -0
- package/dist/browser/community/remote-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +4 -0
- package/dist/browser/community/schema.js +7 -1
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/constants.d.ts +3 -0
- package/dist/browser/constants.js +35 -0
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/errors.d.ts +5 -1
- package/dist/browser/errors.js +7 -1
- 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/index-with-compile-cache.d.ts +2 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/pkc/pkc.d.ts +4 -0
- package/dist/browser/pkc/pkc.js +30 -1
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/publications/comment/comment-client-manager.js +11 -0
- package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/browser/publications/comment/comment.js +8 -6
- package/dist/browser/publications/comment/comment.js.map +1 -1
- package/dist/browser/publications/comment/crosspost-runtime.js +3 -2
- package/dist/browser/publications/comment/crosspost-runtime.js.map +1 -1
- package/dist/browser/rpc/src/index.js +6 -0
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +1 -0
- package/dist/browser/rpc/src/schema.d.ts +6 -0
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +11 -1
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +32 -21
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/index.d.ts +10 -3
- package/dist/browser/runtime/node/community/challenges/index.js +82 -16
- package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +7 -4
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +13 -5
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/author-identity.d.ts +37 -2
- package/dist/browser/runtime/node/community/local-community/author-identity.js +73 -13
- package/dist/browser/runtime/node/community/local-community/author-identity.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/challenges.d.ts +16 -2
- package/dist/browser/runtime/node/community/local-community/challenges.js +40 -9
- package/dist/browser/runtime/node/community/local-community/challenges.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/editing.js +7 -2
- package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-store.d.ts +13 -2
- package/dist/browser/runtime/node/community/local-community/publication-store.js +29 -7
- package/dist/browser/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-validation.d.ts +13 -3
- package/dist/browser/runtime/node/community/local-community/publication-validation.js +60 -27
- package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.d.ts +2 -2
- package/dist/browser/runtime/node/community/local-community.js +6 -4
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/runtime/node/util.js +18 -8
- package/dist/browser/runtime/node/util.js.map +1 -1
- package/dist/browser/schema.d.ts +8 -0
- package/dist/browser/test/test-util.d.ts +6 -0
- package/dist/browser/test/test-util.js +32 -1
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/browser/types.d.ts +1 -0
- package/dist/browser/util.d.ts +2 -0
- package/dist/browser/util.js +24 -0
- package/dist/browser/util.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +32 -32
- package/dist/bundled/chunks/{helia-for-pkc-BqRIFXGX.js → helia-for-pkc-DanrSDp0.js} +2 -2
- package/dist/bundled/chunks/{local-community-mF7g4deD.js → local-community-Bsj3T9vI.js} +1 -1
- package/dist/bundled/chunks/{local-community-D0dqj6lQ.js → local-community-h9j5crnN.js} +159 -60
- package/dist/bundled/chunks/{node--l7gxhms.js → node-Czo2D65i.js} +19 -8
- package/dist/bundled/chunks/{rpc-local-community-C3o1AzHp.js → rpc-local-community-CP0JZU-Q.js} +291 -113
- package/dist/bundled/chunks/{schema-MeRr3oiN.js → schema-bdQ9ufF9.js} +26 -4
- package/dist/bundled/chunks/{util-CjRKlVEE.js → util-CEpMupHn.js} +1 -1
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +9 -4
- package/dist/node/clients/base-client-manager.d.ts +1 -0
- package/dist/node/clients/base-client-manager.js +85 -15
- package/dist/node/clients/base-client-manager.js.map +1 -1
- package/dist/node/community/community-client-manager.d.ts +3 -0
- package/dist/node/community/community-client-manager.js +87 -14
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/community/remote-community.js +3 -0
- package/dist/node/community/remote-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +4 -0
- package/dist/node/community/schema.js +7 -1
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/constants.d.ts +3 -0
- package/dist/node/constants.js +35 -0
- package/dist/node/constants.js.map +1 -1
- package/dist/node/errors.d.ts +5 -1
- package/dist/node/errors.js +7 -1
- 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/index-with-compile-cache.d.ts +2 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/pkc/pkc.d.ts +4 -0
- package/dist/node/pkc/pkc.js +30 -1
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/publications/comment/comment-client-manager.js +11 -0
- package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/node/publications/comment/comment.js +8 -6
- package/dist/node/publications/comment/comment.js.map +1 -1
- package/dist/node/publications/comment/crosspost-runtime.js +3 -2
- package/dist/node/publications/comment/crosspost-runtime.js.map +1 -1
- package/dist/node/rpc/src/index.js +6 -0
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/rpc/src/lib/pkc-js/index.d.ts +1 -0
- package/dist/node/rpc/src/schema.d.ts +6 -0
- package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +11 -1
- package/dist/node/runtime/node/community/challenges/exclude/exclude.js +32 -21
- package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/index.d.ts +10 -3
- package/dist/node/runtime/node/community/challenges/index.js +82 -16
- package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +7 -4
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +13 -5
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/author-identity.d.ts +37 -2
- package/dist/node/runtime/node/community/local-community/author-identity.js +73 -13
- package/dist/node/runtime/node/community/local-community/author-identity.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/challenges.d.ts +16 -2
- package/dist/node/runtime/node/community/local-community/challenges.js +40 -9
- package/dist/node/runtime/node/community/local-community/challenges.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/editing.js +7 -2
- package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-store.d.ts +13 -2
- package/dist/node/runtime/node/community/local-community/publication-store.js +29 -7
- package/dist/node/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-validation.d.ts +13 -3
- package/dist/node/runtime/node/community/local-community/publication-validation.js +60 -27
- package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.d.ts +2 -2
- package/dist/node/runtime/node/community/local-community.js +6 -4
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/runtime/node/util.js +18 -8
- package/dist/node/runtime/node/util.js.map +1 -1
- package/dist/node/schema.d.ts +8 -0
- package/dist/node/test/test-util.d.ts +6 -0
- package/dist/node/test/test-util.js +32 -1
- package/dist/node/test/test-util.js.map +1 -1
- package/dist/node/types.d.ts +1 -0
- package/dist/node/util.d.ts +2 -0
- package/dist/node/util.js +24 -0
- package/dist/node/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exclude.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/exclude/exclude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exclude.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/exclude/exclude.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuthorIdentityMatcher, NameIdentityFailure } from "../local-community/author-identity.js";
|
|
1
2
|
import type { ChallengeVerificationMessageType, DecryptedChallengeAnswer, DecryptedChallengeRequestMessageTypeWithCommunityAuthor } from "../../../../pubsub-messages/types.js";
|
|
2
3
|
import type { Challenge, ChallengeFile, ChallengeFileFactoryInput, ChallengeResult, CommunityChallenge, CommunityChallengeSetting } from "../../../../community/types.js";
|
|
3
4
|
import { LocalCommunity } from "../local-community.js";
|
|
@@ -24,10 +25,12 @@ type ChallengeVerificationPending = {
|
|
|
24
25
|
deferredChallenges?: DeferredChallenge[];
|
|
25
26
|
partialResults?: (Challenge | ChallengeResult | undefined)[];
|
|
26
27
|
communityChallenges?: CommunityChallenge[];
|
|
28
|
+
identityNameFailureByIndex?: (NameIdentityFailure | undefined)[];
|
|
27
29
|
};
|
|
28
30
|
type ChallengeVerificationFailure = {
|
|
29
31
|
challengeSuccess: false;
|
|
30
32
|
challengeErrors: NonNullable<ChallengeVerificationMessageType["challengeErrors"]>;
|
|
33
|
+
identityNameFailureByIndex?: (NameIdentityFailure | undefined)[];
|
|
31
34
|
} & Pick<ChallengeResultAggregate, "aggregatedReason">;
|
|
32
35
|
export type PKCWithSettingsChallenges = {
|
|
33
36
|
settings?: {
|
|
@@ -35,11 +38,12 @@ export type PKCWithSettingsChallenges = {
|
|
|
35
38
|
};
|
|
36
39
|
};
|
|
37
40
|
declare const pkcJsChallenges: Record<string, ChallengeFileFactoryInput>;
|
|
38
|
-
declare const getPendingChallengesOrChallengeVerification: ({ challengeRequestMessage, community }: {
|
|
41
|
+
declare const getPendingChallengesOrChallengeVerification: ({ challengeRequestMessage, community, authorIdentityMatcher }: {
|
|
39
42
|
challengeRequestMessage: DecryptedChallengeRequestMessageTypeWithCommunityAuthor;
|
|
40
43
|
community: LocalCommunity;
|
|
44
|
+
authorIdentityMatcher?: AuthorIdentityMatcher;
|
|
41
45
|
}) => Promise<ChallengeVerificationSuccess | ChallengeVerificationPending | ChallengeVerificationFailure>;
|
|
42
|
-
declare const getChallengeVerificationFromChallengeAnswers: ({ pendingChallenges, challengeAnswers, community, challengeRequestMessage, deferredChallenges, partialResults, communityChallenges }: {
|
|
46
|
+
declare const getChallengeVerificationFromChallengeAnswers: ({ pendingChallenges, challengeAnswers, community, challengeRequestMessage, deferredChallenges, partialResults, communityChallenges, authorIdentityMatcher }: {
|
|
43
47
|
pendingChallenges: PendingChallenge[];
|
|
44
48
|
challengeAnswers: DecryptedChallengeAnswer["challengeAnswers"];
|
|
45
49
|
community: LocalCommunity;
|
|
@@ -47,14 +51,17 @@ declare const getChallengeVerificationFromChallengeAnswers: ({ pendingChallenges
|
|
|
47
51
|
deferredChallenges?: DeferredChallenge[];
|
|
48
52
|
partialResults?: (Challenge | ChallengeResult | undefined)[];
|
|
49
53
|
communityChallenges?: CommunityChallenge[];
|
|
54
|
+
authorIdentityMatcher?: AuthorIdentityMatcher;
|
|
50
55
|
}) => Promise<ChallengeVerificationSuccess | ChallengeVerificationFailure>;
|
|
51
56
|
export type GetChallengeVerificationResult = Pick<ChallengeVerificationMessageType, "challengeErrors" | "challengeSuccess"> & {
|
|
52
57
|
pendingApproval?: boolean;
|
|
58
|
+
postAnswerAuthorIdentityMatcher?: AuthorIdentityMatcher;
|
|
53
59
|
} & ChallengeResultAggregate;
|
|
54
|
-
declare const getChallengeVerification: ({ challengeRequestMessage, community, getChallengeAnswers }: {
|
|
60
|
+
declare const getChallengeVerification: ({ challengeRequestMessage, community, getChallengeAnswers, authorIdentityMatcher }: {
|
|
55
61
|
challengeRequestMessage: DecryptedChallengeRequestMessageTypeWithCommunityAuthor;
|
|
56
62
|
community: LocalCommunity;
|
|
57
63
|
getChallengeAnswers: GetChallengeAnswers;
|
|
64
|
+
authorIdentityMatcher?: AuthorIdentityMatcher;
|
|
58
65
|
}) => Promise<GetChallengeVerificationResult>;
|
|
59
66
|
declare const loadChallengeFileFromCommunityChallengeSettings: ({ communityChallengeSettings, pkc }: {
|
|
60
67
|
communityChallengeSettings: CommunityChallengeSetting;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { shouldExcludeChallengeCommentCids, shouldExcludePublication, shouldExcludeChallengeSuccess, addToRateLimiter } from "./exclude/index.js";
|
|
2
|
+
import { NO_OP_AUTHOR_IDENTITY_MATCHER, authorIdentityMatcherForRequest } from "../local-community/author-identity.js";
|
|
2
3
|
// all challenges included with pkc-js, in PKC.challenges
|
|
3
4
|
import textMath from "./pkc-js-challenges/text-math.js";
|
|
4
5
|
import fail from "./pkc-js-challenges/fail.js";
|
|
@@ -98,14 +99,15 @@ const loadChallengeFile = async ({ communityChallengeSettings, challengeIndex, c
|
|
|
98
99
|
return { challengeFile };
|
|
99
100
|
};
|
|
100
101
|
// invoke getChallenge() with shared error handling and result validation
|
|
101
|
-
const callGetChallenge = async ({ challengeFile, communityChallengeSettings, challengeRequestMessage, challengeIndex, community }) => {
|
|
102
|
+
const callGetChallenge = async ({ challengeFile, communityChallengeSettings, challengeRequestMessage, challengeIndex, community, authorIdentityMatcher }) => {
|
|
102
103
|
let challengeOrChallengeResult;
|
|
103
104
|
try {
|
|
104
105
|
challengeOrChallengeResult = await challengeFile.getChallenge({
|
|
105
106
|
challengeSettings: communityChallengeSettings,
|
|
106
107
|
challengeRequestMessage,
|
|
107
108
|
challengeIndex,
|
|
108
|
-
community
|
|
109
|
+
community,
|
|
110
|
+
authorIdentityMatcher
|
|
109
111
|
});
|
|
110
112
|
validateChallengeOrChallengeResult({ challengeOrChallengeResult, challengeIndex, community });
|
|
111
113
|
}
|
|
@@ -210,7 +212,8 @@ const canFailedChallengeStillBeExcluded = (i, communityChallenges, decided, resu
|
|
|
210
212
|
}
|
|
211
213
|
return false;
|
|
212
214
|
};
|
|
213
|
-
const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMessage, community }) => {
|
|
215
|
+
const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMessage, community, authorIdentityMatcher }) => {
|
|
216
|
+
const identityMatcher = authorIdentityMatcher ?? authorIdentityMatcherForRequest({ community, request: challengeRequestMessage });
|
|
214
217
|
// if community has no challenges, no need to send a challenge
|
|
215
218
|
if (!Array.isArray(community.settings?.challenges))
|
|
216
219
|
return {
|
|
@@ -229,14 +232,33 @@ const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMes
|
|
|
229
232
|
// in phases 2/3. Loading them upfront avoids re-importing during the dependency-ordered loop.
|
|
230
233
|
const challengeFiles = await Promise.all(community.settings.challenges.map(async (s, i) => (await loadChallengeFile({ communityChallengeSettings: s, challengeIndex: i, community })).challengeFile));
|
|
231
234
|
// Phase 1: request-only excludes (parallel). Indexes excluded here never reach getChallenge.
|
|
235
|
+
// An exclude that would have excused this author but for a domain identity the node could not verify
|
|
236
|
+
// records why, so a later rejection can name the real cause instead of the challenge's own text (#353).
|
|
237
|
+
//
|
|
238
|
+
// Recorded per challenge index, not once for the request. An exclude only ever excuses the challenge it
|
|
239
|
+
// is attached to, so a failure to verify the author's name explains a rejection only if every challenge
|
|
240
|
+
// that actually failed is one the name would have excused. Collapsing them into a single value would
|
|
241
|
+
// hand the resolver's error to an author who simply failed a different, unrelated challenge.
|
|
242
|
+
const identityNameFailureByIndex = new Array(challengeCount);
|
|
232
243
|
await Promise.all(communityChallenges.map(async (communityChallenge, i) => {
|
|
233
|
-
|
|
244
|
+
const excludeResult = await shouldExcludePublication({
|
|
245
|
+
communityChallenge,
|
|
246
|
+
request: challengeRequestMessage,
|
|
247
|
+
community,
|
|
248
|
+
identityMatcher
|
|
249
|
+
});
|
|
250
|
+
if (excludeResult.shouldExclude) {
|
|
234
251
|
decided[i] = true;
|
|
235
252
|
return;
|
|
236
253
|
}
|
|
237
254
|
if (await shouldExcludeChallengeCommentCids(communityChallenge, challengeRequestMessage, community._pkc)) {
|
|
238
255
|
decided[i] = true;
|
|
256
|
+
// Excluded by its comment-cid rule regardless, so this challenge is not required and its
|
|
257
|
+
// exclude's failure to verify a name explains nothing about a later rejection.
|
|
258
|
+
return;
|
|
239
259
|
}
|
|
260
|
+
// Recorded only now that the challenge is known to still be required.
|
|
261
|
+
identityNameFailureByIndex[i] = excludeResult.nameFailure;
|
|
240
262
|
}));
|
|
241
263
|
// Phase 2 + 3: dependency-ordered resolution with incremental cycle-break.
|
|
242
264
|
// `deferred[i] = true` means index i was decided but its result is not yet known — it will be
|
|
@@ -278,7 +300,8 @@ const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMes
|
|
|
278
300
|
communityChallengeSettings: community.settings.challenges[i],
|
|
279
301
|
challengeRequestMessage,
|
|
280
302
|
challengeIndex: i,
|
|
281
|
-
community
|
|
303
|
+
community,
|
|
304
|
+
authorIdentityMatcher: identityMatcher
|
|
282
305
|
})).challengeOrChallengeResult;
|
|
283
306
|
decided[i] = true;
|
|
284
307
|
}
|
|
@@ -316,7 +339,8 @@ const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMes
|
|
|
316
339
|
communityChallengeSettings: community.settings.challenges[firstUndecided],
|
|
317
340
|
challengeRequestMessage,
|
|
318
341
|
challengeIndex: firstUndecided,
|
|
319
|
-
community
|
|
342
|
+
community,
|
|
343
|
+
authorIdentityMatcher: identityMatcher
|
|
320
344
|
})).challengeOrChallengeResult;
|
|
321
345
|
decided[firstUndecided] = true;
|
|
322
346
|
}
|
|
@@ -376,18 +400,24 @@ const getPendingChallengesOrChallengeVerification = async ({ challengeRequestMes
|
|
|
376
400
|
return { challengeSuccess, pendingApprovalSuccess, ...successAgg };
|
|
377
401
|
}
|
|
378
402
|
if (challengeSuccess === false)
|
|
379
|
-
return { challengeSuccess, challengeErrors, aggregatedReason: agg.aggregatedReason };
|
|
403
|
+
return { challengeSuccess, challengeErrors, aggregatedReason: agg.aggregatedReason, identityNameFailureByIndex };
|
|
380
404
|
return {
|
|
381
405
|
pendingChallenges,
|
|
382
406
|
pendingApprovalSuccess,
|
|
383
407
|
deferredChallenges: deferredChallenges.length > 0 ? deferredChallenges : undefined,
|
|
384
408
|
partialResults: results,
|
|
385
|
-
communityChallenges
|
|
409
|
+
communityChallenges,
|
|
410
|
+
identityNameFailureByIndex
|
|
386
411
|
};
|
|
387
412
|
};
|
|
388
|
-
const getChallengeVerificationFromChallengeAnswers = async ({ pendingChallenges, challengeAnswers, community, challengeRequestMessage, deferredChallenges, partialResults, communityChallenges }) => {
|
|
413
|
+
const getChallengeVerificationFromChallengeAnswers = async ({ pendingChallenges, challengeAnswers, community, challengeRequestMessage, deferredChallenges, partialResults, communityChallenges, authorIdentityMatcher }) => {
|
|
389
414
|
if (!Array.isArray(community.settings?.challenges))
|
|
390
415
|
throw Error("community.settings?.challenges is not defined");
|
|
416
|
+
const identityMatcher = authorIdentityMatcher ??
|
|
417
|
+
(challengeRequestMessage
|
|
418
|
+
? authorIdentityMatcherForRequest({ community, request: challengeRequestMessage })
|
|
419
|
+
: // No request to derive an author from, so nothing can refer to them.
|
|
420
|
+
NO_OP_AUTHOR_IDENTITY_MATCHER);
|
|
391
421
|
const challengeCount = community.settings.challenges.length;
|
|
392
422
|
// Run verify() for every pending challenge in parallel.
|
|
393
423
|
const verifyChallengePromises = [];
|
|
@@ -467,7 +497,8 @@ const getChallengeVerificationFromChallengeAnswers = async ({ pendingChallenges,
|
|
|
467
497
|
communityChallengeSettings: community.settings.challenges[i],
|
|
468
498
|
challengeRequestMessage,
|
|
469
499
|
challengeIndex: i,
|
|
470
|
-
community
|
|
500
|
+
community,
|
|
501
|
+
authorIdentityMatcher: identityMatcher
|
|
471
502
|
})).challengeOrChallengeResult;
|
|
472
503
|
decided[i] = true;
|
|
473
504
|
}
|
|
@@ -507,7 +538,8 @@ const getChallengeVerificationFromChallengeAnswers = async ({ pendingChallenges,
|
|
|
507
538
|
communityChallengeSettings: community.settings.challenges[firstUndecided],
|
|
508
539
|
challengeRequestMessage,
|
|
509
540
|
challengeIndex: firstUndecided,
|
|
510
|
-
community
|
|
541
|
+
community,
|
|
542
|
+
authorIdentityMatcher: identityMatcher
|
|
511
543
|
})).challengeOrChallengeResult;
|
|
512
544
|
decided[firstUndecided] = true;
|
|
513
545
|
}
|
|
@@ -551,7 +583,7 @@ const getChallengeVerificationFromChallengeAnswers = async ({ pendingChallenges,
|
|
|
551
583
|
...successAgg
|
|
552
584
|
};
|
|
553
585
|
};
|
|
554
|
-
const getChallengeVerification = async ({ challengeRequestMessage, community, getChallengeAnswers }) => {
|
|
586
|
+
const getChallengeVerification = async ({ challengeRequestMessage, community, getChallengeAnswers, authorIdentityMatcher }) => {
|
|
555
587
|
if (!challengeRequestMessage) {
|
|
556
588
|
throw Error(`getChallengeVerification invalid challengeRequestMessage argument '${challengeRequestMessage}'`);
|
|
557
589
|
}
|
|
@@ -563,12 +595,27 @@ const getChallengeVerification = async ({ challengeRequestMessage, community, ge
|
|
|
563
595
|
}
|
|
564
596
|
if (!Array.isArray(community.settings?.challenges))
|
|
565
597
|
throw Error("community.settings?.challenges is not defined");
|
|
566
|
-
const
|
|
598
|
+
const identityMatcher = authorIdentityMatcher ?? authorIdentityMatcherForRequest({ community, request: challengeRequestMessage });
|
|
599
|
+
const res = await getPendingChallengesOrChallengeVerification({
|
|
600
|
+
challengeRequestMessage,
|
|
601
|
+
community,
|
|
602
|
+
authorIdentityMatcher: identityMatcher
|
|
603
|
+
});
|
|
567
604
|
let pendingApprovalSuccess = "pendingApprovalSuccess" in res ? res.pendingApprovalSuccess : false;
|
|
605
|
+
// Captured before the challenge answer round-trip below, which builds a fresh aggregate and would
|
|
606
|
+
// otherwise drop it. Applied at the end, and only to a failure. Issue #353.
|
|
607
|
+
const identityNameFailureByIndex = "identityNameFailureByIndex" in res ? res.identityNameFailureByIndex : undefined;
|
|
568
608
|
let challengeVerification;
|
|
569
609
|
// was able to verify without asking author for challenges
|
|
610
|
+
let postAnswerAuthorIdentityMatcher;
|
|
570
611
|
if ("pendingChallenges" in res) {
|
|
571
612
|
const challengeAnswers = await getChallengeAnswers(res.pendingChallenges.map((challenge) => omit(challenge, ["index", "verify"])));
|
|
613
|
+
// The round-trip is what makes the identity verdict stale, so the round-trip is what invalidates it.
|
|
614
|
+
// `identityMatcher` memoised its maxAge-0 resolve before the challenge went out, and the author had
|
|
615
|
+
// until the exchange ttl to answer: a TXT record repointed in that window must not still read as
|
|
616
|
+
// theirs. Everything downstream of this line uses the fresh one; everything before it keeps the
|
|
617
|
+
// single resolve that issue #354 exists to preserve, since no wall-clock time passed there.
|
|
618
|
+
postAnswerAuthorIdentityMatcher = authorIdentityMatcherForRequest({ community, request: challengeRequestMessage });
|
|
572
619
|
const verificationFromPending = await getChallengeVerificationFromChallengeAnswers({
|
|
573
620
|
pendingChallenges: res.pendingChallenges,
|
|
574
621
|
challengeAnswers,
|
|
@@ -576,7 +623,8 @@ const getChallengeVerification = async ({ challengeRequestMessage, community, ge
|
|
|
576
623
|
challengeRequestMessage,
|
|
577
624
|
deferredChallenges: res.deferredChallenges,
|
|
578
625
|
partialResults: res.partialResults,
|
|
579
|
-
communityChallenges: res.communityChallenges
|
|
626
|
+
communityChallenges: res.communityChallenges,
|
|
627
|
+
authorIdentityMatcher: postAnswerAuthorIdentityMatcher
|
|
580
628
|
});
|
|
581
629
|
if ("pendingApprovalSuccess" in verificationFromPending) {
|
|
582
630
|
pendingApprovalSuccess = pendingApprovalSuccess || verificationFromPending.pendingApprovalSuccess;
|
|
@@ -598,6 +646,20 @@ const getChallengeVerification = async ({ challengeRequestMessage, community, ge
|
|
|
598
646
|
if ("aggregatedReason" in res && res.aggregatedReason)
|
|
599
647
|
challengeVerification.aggregatedReason = res.aggregatedReason;
|
|
600
648
|
}
|
|
649
|
+
// An unverifiable domain identity that was decisive outranks whatever the challenges the author then
|
|
650
|
+
// failed had to say: their text describes the symptom ("only the owner can post here"), this describes
|
|
651
|
+
// the cause. Decisive means every challenge that actually failed is one whose own exclude would have
|
|
652
|
+
// excused this author had the name verified. If even one failed challenge would have rejected them
|
|
653
|
+
// anyway, the name was not what stood in their way and they are owed the challenge's own reason instead.
|
|
654
|
+
// Issue #353.
|
|
655
|
+
const failedChallengeIndexes = Object.keys(challengeVerification.challengeErrors ?? {});
|
|
656
|
+
const decisiveNameFailure = failedChallengeIndexes.length > 0 && identityNameFailureByIndex
|
|
657
|
+
? failedChallengeIndexes.every((index) => identityNameFailureByIndex[Number(index)])
|
|
658
|
+
? identityNameFailureByIndex[Number(failedChallengeIndexes[0])]
|
|
659
|
+
: undefined
|
|
660
|
+
: undefined;
|
|
661
|
+
if (challengeVerification.challengeSuccess === false && decisiveNameFailure)
|
|
662
|
+
challengeVerification.aggregatedReason = decisiveNameFailure.reason;
|
|
601
663
|
// store the publication result and author address in mem cache for rateLimit exclude challenge settings
|
|
602
664
|
addToRateLimiter(community.settings?.challenges, challengeRequestMessage, challengeVerification.challengeSuccess);
|
|
603
665
|
// scenarios:
|
|
@@ -605,10 +667,14 @@ const getChallengeVerification = async ({ challengeRequestMessage, community, ge
|
|
|
605
667
|
// - any challenge fails -> fail request
|
|
606
668
|
// - requester passes every challenge and at least one non-excluded challenge has pendingApproval -> send to pending approval
|
|
607
669
|
const shouldSendToPendingApproval = Boolean(challengeRequestMessage.comment) && challengeVerification.challengeSuccess === true && pendingApprovalSuccess;
|
|
670
|
+
// Spread rather than always set: an exchange that issued no challenge has nothing to rebuild, and an
|
|
671
|
+
// explicit `postAnswerAuthorIdentityMatcher: undefined` would show up in an exact-shape assertion on the
|
|
672
|
+
// verification and read as a field this result carries when it does not.
|
|
673
|
+
const postAnswerMatcherField = postAnswerAuthorIdentityMatcher ? { postAnswerAuthorIdentityMatcher } : {};
|
|
608
674
|
if (shouldSendToPendingApproval) {
|
|
609
|
-
return { ...challengeVerification, pendingApproval: true };
|
|
675
|
+
return { ...challengeVerification, pendingApproval: true, ...postAnswerMatcherField };
|
|
610
676
|
}
|
|
611
|
-
return challengeVerification;
|
|
677
|
+
return { ...challengeVerification, ...postAnswerMatcherField };
|
|
612
678
|
};
|
|
613
679
|
// Options are private by default. The owner opts an option into the published community record by naming
|
|
614
680
|
// it in settings.challenges[i].publicOptions. Only options the owner actually set are emitted, and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/challenges/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/challenges/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ class UrlsAddressesSet {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
const urlsAddressesSet = new UrlsAddressesSet();
|
|
96
|
-
const getChallenge = async ({ challengeSettings, challengeRequestMessage, community }) => {
|
|
96
|
+
const getChallenge = async ({ challengeSettings, challengeRequestMessage, community, authorIdentityMatcher }) => {
|
|
97
97
|
// add a custom error message to display to the author
|
|
98
98
|
const error = challengeSettings?.options?.error;
|
|
99
99
|
const addresses = challengeSettings?.options?.addresses
|
|
@@ -104,9 +104,12 @@ const getChallenge = async ({ challengeSettings, challengeRequestMessage, commun
|
|
|
104
104
|
const publication = derivePublicationFromChallengeRequest(challengeRequestMessage);
|
|
105
105
|
// Match on the signer, not on the publisher-controlled author.address: a listed domain only counts when the
|
|
106
106
|
// publication is signed by the key that domain resolves to (issue #267)
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
|
|
107
|
+
// Shared across the whole challenge request when core supplies it, so the author's domain is resolved once.
|
|
108
|
+
const identityMatcher = authorIdentityMatcher ?? createAuthorIdentityMatcher({ community, publication });
|
|
109
|
+
// A listed domain the node cannot resolve stays a non-match, so this challenge fails open: an unverifiable
|
|
110
|
+
// blacklist entry lets the publication through. Deliberately unchanged here, see issue #356.
|
|
111
|
+
const listed = (await identityMatcher.matchesAnyIdentity(addressesSet)).matched ||
|
|
112
|
+
(await identityMatcher.matchesAnyIdentity(await urlsAddressesSet.getAddresses(getCommunityAddressFromRecord(publication), challengeSettings?.options?.urls))).matched;
|
|
110
113
|
if (listed) {
|
|
111
114
|
return {
|
|
112
115
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/pkc-js-challenges/blacklist.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/pkc-js-challenges/blacklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ class UrlsAddressesSet {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
const urlsAddressesSet = new UrlsAddressesSet();
|
|
96
|
-
const getChallenge = async ({ challengeSettings, challengeRequestMessage, community }) => {
|
|
96
|
+
const getChallenge = async ({ challengeSettings, challengeRequestMessage, community, authorIdentityMatcher }) => {
|
|
97
97
|
// add a custom error message to display to the author
|
|
98
98
|
const error = challengeSettings?.options?.error;
|
|
99
99
|
const addresses = challengeSettings?.options?.addresses
|
|
@@ -104,10 +104,18 @@ const getChallenge = async ({ challengeSettings, challengeRequestMessage, commun
|
|
|
104
104
|
const publication = derivePublicationFromChallengeRequest(challengeRequestMessage);
|
|
105
105
|
// Match on the signer, not on the publisher-controlled author.address: a listed domain only counts when the
|
|
106
106
|
// publication is signed by the key that domain resolves to (issue #267)
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
// Shared across the whole challenge request when core supplies it, so the author's domain is resolved once.
|
|
108
|
+
const identityMatcher = authorIdentityMatcher ?? createAuthorIdentityMatcher({ community, publication });
|
|
109
|
+
const directMatch = await identityMatcher.matchesAnyIdentity(addressesSet);
|
|
110
|
+
const urlMatch = directMatch.matched
|
|
111
|
+
? directMatch
|
|
112
|
+
: await identityMatcher.matchesAnyIdentity(await urlsAddressesSet.getAddresses(getCommunityAddressFromRecord(publication), challengeSettings?.options?.urls));
|
|
113
|
+
if (!urlMatch.matched) {
|
|
114
|
+
// A whitelisted domain the node could not resolve denies the author something the owner granted them.
|
|
115
|
+
// Say so, instead of letting them read "you're not whitelisted" and conclude they were removed (#353).
|
|
116
|
+
const nameFailure = directMatch.nameFailure ?? urlMatch.nameFailure;
|
|
117
|
+
if (nameFailure)
|
|
118
|
+
return { success: false, error: nameFailure.reason, reason: nameFailure.reason };
|
|
111
119
|
return {
|
|
112
120
|
success: false,
|
|
113
121
|
error: error || `You're not whitelisted.`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/pkc-js-challenges/whitelist.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/pkc-js-challenges/whitelist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,48 @@
|
|
|
1
|
+
import { derivePublicationFromChallengeRequest } from "../../../../util.js";
|
|
1
2
|
import { getAuthorNameFromWire } from "../../../../publications/publication-author.js";
|
|
3
|
+
import { messages } from "../../../../errors.js";
|
|
2
4
|
import type { LocalCommunity } from "../local-community.js";
|
|
5
|
+
/** Why a domain identity that named this publication's author failed to verify. Never an impostor. */
|
|
6
|
+
export type NameIdentityFailure = {
|
|
7
|
+
/** The reason to publish to the author if this non-match is what gets their publication rejected. */
|
|
8
|
+
reason: messages;
|
|
9
|
+
/** The underlying resolver error, if any. Node-side only: the wire verification carries `reason` alone. */
|
|
10
|
+
error?: unknown;
|
|
11
|
+
};
|
|
12
|
+
export type IdentityMatchOutcome = {
|
|
13
|
+
matched: true;
|
|
14
|
+
nameFailure?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
matched: false;
|
|
17
|
+
nameFailure?: NameIdentityFailure;
|
|
18
|
+
};
|
|
3
19
|
export type AuthorIdentityMatcher = {
|
|
4
20
|
signerAddress: string;
|
|
5
21
|
wireName: string | undefined;
|
|
6
22
|
/** Does `identity` (a key-derived address or a domain) refer to this publication's author? */
|
|
7
|
-
matchesIdentity: (identity: string) => Promise<
|
|
23
|
+
matchesIdentity: (identity: string) => Promise<IdentityMatchOutcome>;
|
|
8
24
|
/** Does any of `identities` refer to this publication's author? Resolves the wire name at most once. */
|
|
9
|
-
matchesAnyIdentity: (identities: Iterable<string>) => Promise<
|
|
25
|
+
matchesAnyIdentity: (identities: Iterable<string>) => Promise<IdentityMatchOutcome>;
|
|
10
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* The message a publisher is owed when their author name could not be verified: one remedy per outcome, and
|
|
29
|
+
* one table for both places that classify a resolve, the identity matcher here and `checkAuthorIdentity`, so
|
|
30
|
+
* the two can never disagree about the same failure. `error: null` is the resolvers answering "no record";
|
|
31
|
+
* anything else is whatever the resolve threw. Issue #353.
|
|
32
|
+
*/
|
|
33
|
+
export declare function authorNameResolveFailureReason({ error }: {
|
|
34
|
+
error: unknown;
|
|
35
|
+
}): messages;
|
|
36
|
+
/**
|
|
37
|
+
* The matcher for an author nothing can refer to: no signature to derive an identity from, so every configured
|
|
38
|
+
* identity string is a non-match, and a non-match with no `nameFailure` because no name was ever consulted.
|
|
39
|
+
* Answering "no match" beats throwing from deep inside validation or the challenge runner.
|
|
40
|
+
*/
|
|
41
|
+
export declare const NO_OP_AUTHOR_IDENTITY_MATCHER: AuthorIdentityMatcher;
|
|
42
|
+
export declare function authorIdentityMatcherForRequest({ community, request }: {
|
|
43
|
+
community: Pick<LocalCommunity, "_clientsManager" | "_pkc">;
|
|
44
|
+
request: Parameters<typeof derivePublicationFromChallengeRequest>[0];
|
|
45
|
+
}): AuthorIdentityMatcher;
|
|
11
46
|
export declare function createAuthorIdentityMatcher({ community, publication }: {
|
|
12
47
|
community: Pick<LocalCommunity, "_clientsManager" | "_pkc">;
|
|
13
48
|
publication: {
|