@pkcprotocol/pkc-js 0.0.99 → 0.0.101

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 (140) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/clients/base-client-manager.js +16 -3
  3. package/dist/browser/clients/base-client-manager.js.map +1 -1
  4. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +3 -2
  5. package/dist/browser/clients/rpc-client/schema.d.ts +3 -2
  6. package/dist/browser/community/community-client-manager.d.ts +5 -0
  7. package/dist/browser/community/community-client-manager.js +134 -23
  8. package/dist/browser/community/community-client-manager.js.map +1 -1
  9. package/dist/browser/community/schema.d.ts +110 -51
  10. package/dist/browser/community/schema.js +21 -5
  11. package/dist/browser/community/schema.js.map +1 -1
  12. package/dist/browser/domain-util.d.ts +3 -0
  13. package/dist/browser/domain-util.js +16 -0
  14. package/dist/browser/domain-util.js.map +1 -0
  15. package/dist/browser/errors.d.ts +5 -0
  16. package/dist/browser/errors.js +5 -0
  17. package/dist/browser/errors.js.map +1 -1
  18. package/dist/browser/generated-version.d.ts +1 -1
  19. package/dist/browser/generated-version.js +1 -1
  20. package/dist/browser/generated-version.js.map +1 -1
  21. package/dist/browser/helia/util.js +4 -3
  22. package/dist/browser/helia/util.js.map +1 -1
  23. package/dist/browser/index-with-compile-cache.d.ts +18 -12
  24. package/dist/browser/index.d.ts +18 -12
  25. package/dist/browser/pkc-error.d.ts +1 -1
  26. package/dist/browser/publications/community-edit/schema.d.ts +12 -8
  27. package/dist/browser/publications/publication.d.ts +1 -0
  28. package/dist/browser/publications/publication.js +56 -17
  29. package/dist/browser/publications/publication.js.map +1 -1
  30. package/dist/browser/pubsub-messages/schema.d.ts +6 -4
  31. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +9 -6
  32. package/dist/browser/rpc/src/schema.d.ts +54 -36
  33. package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +1 -1
  34. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +41 -16
  35. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  36. package/dist/browser/runtime/node/community/challenges/exclude/utils.d.ts +2 -3
  37. package/dist/browser/runtime/node/community/challenges/exclude/utils.js +1 -15
  38. package/dist/browser/runtime/node/community/challenges/exclude/utils.js.map +1 -1
  39. package/dist/browser/runtime/node/community/challenges/index.js +1 -1
  40. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
  41. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +18 -13
  42. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  43. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +18 -13
  44. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  45. package/dist/browser/runtime/node/community/db-handler.d.ts +3 -2
  46. package/dist/browser/runtime/node/community/db-handler.js +20 -2
  47. package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
  48. package/dist/browser/runtime/node/community/local-community/author-identity.d.ts +19 -0
  49. package/dist/browser/runtime/node/community/local-community/author-identity.js +50 -0
  50. package/dist/browser/runtime/node/community/local-community/author-identity.js.map +1 -0
  51. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +7 -1
  52. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  53. package/dist/browser/runtime/node/community/local-community/publication-validation.js +8 -22
  54. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  55. package/dist/browser/schema/schema-util.d.ts +27 -18
  56. package/dist/browser/schema.d.ts +72 -48
  57. package/dist/browser/test/mock-ipfs-client.js +6 -0
  58. package/dist/browser/test/mock-ipfs-client.js.map +1 -1
  59. package/dist/browser/test/test-util.d.ts +13 -10
  60. package/dist/browser/test/test-util.js +2 -2
  61. package/dist/browser/test/test-util.js.map +1 -1
  62. package/dist/browser/util.d.ts +1 -4
  63. package/dist/browser/util.js +4 -10
  64. package/dist/browser/util.js.map +1 -1
  65. package/dist/browser/version.js +1 -1
  66. package/dist/bundled/bundle-manifest.json +33 -31
  67. package/dist/bundled/chunks/{helia-for-pkc-DUaUFShG.js → helia-for-pkc-DSF3IY_M.js} +33 -33
  68. package/dist/bundled/chunks/{local-community-CM2GS9Ya.js → local-community-CTd_1kw_.js} +1 -1
  69. package/dist/bundled/chunks/{local-community-BGcQIioy.js → local-community-DtlDCcc2.js} +54 -49
  70. package/dist/bundled/chunks/{node-CF18iVMW.js → node-pGNrsJuH.js} +47 -25
  71. package/dist/bundled/chunks/{rpc-local-community-CTyhIJyD.js → rpc-local-community-pLvHO4g9.js} +160 -54
  72. package/dist/bundled/chunks/{schema-f2Zr1ZxK.js → schema-DdD_6tTd.js} +30 -19
  73. package/dist/bundled/chunks/{util-BbXV7Dcu.js → util-N0_wIz2O.js} +2 -2
  74. package/dist/bundled/index.js +1 -1
  75. package/dist/bundled/rpc/src/index.js +4 -4
  76. package/dist/node/clients/base-client-manager.js +16 -3
  77. package/dist/node/clients/base-client-manager.js.map +1 -1
  78. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +3 -2
  79. package/dist/node/clients/rpc-client/schema.d.ts +3 -2
  80. package/dist/node/community/community-client-manager.d.ts +5 -0
  81. package/dist/node/community/community-client-manager.js +134 -23
  82. package/dist/node/community/community-client-manager.js.map +1 -1
  83. package/dist/node/community/schema.d.ts +110 -51
  84. package/dist/node/community/schema.js +21 -5
  85. package/dist/node/community/schema.js.map +1 -1
  86. package/dist/node/domain-util.d.ts +3 -0
  87. package/dist/node/domain-util.js +16 -0
  88. package/dist/node/domain-util.js.map +1 -0
  89. package/dist/node/errors.d.ts +5 -0
  90. package/dist/node/errors.js +5 -0
  91. package/dist/node/errors.js.map +1 -1
  92. package/dist/node/generated-version.d.ts +1 -1
  93. package/dist/node/generated-version.js +1 -1
  94. package/dist/node/generated-version.js.map +1 -1
  95. package/dist/node/helia/util.js +4 -3
  96. package/dist/node/helia/util.js.map +1 -1
  97. package/dist/node/index-with-compile-cache.d.ts +18 -12
  98. package/dist/node/index.d.ts +18 -12
  99. package/dist/node/pkc-error.d.ts +1 -1
  100. package/dist/node/publications/community-edit/schema.d.ts +12 -8
  101. package/dist/node/publications/publication.d.ts +1 -0
  102. package/dist/node/publications/publication.js +56 -17
  103. package/dist/node/publications/publication.js.map +1 -1
  104. package/dist/node/pubsub-messages/schema.d.ts +6 -4
  105. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +9 -6
  106. package/dist/node/rpc/src/schema.d.ts +54 -36
  107. package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +1 -1
  108. package/dist/node/runtime/node/community/challenges/exclude/exclude.js +41 -16
  109. package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  110. package/dist/node/runtime/node/community/challenges/exclude/utils.d.ts +2 -3
  111. package/dist/node/runtime/node/community/challenges/exclude/utils.js +1 -15
  112. package/dist/node/runtime/node/community/challenges/exclude/utils.js.map +1 -1
  113. package/dist/node/runtime/node/community/challenges/index.js +1 -1
  114. package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
  115. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +18 -13
  116. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  117. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +18 -13
  118. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  119. package/dist/node/runtime/node/community/db-handler.d.ts +3 -2
  120. package/dist/node/runtime/node/community/db-handler.js +20 -2
  121. package/dist/node/runtime/node/community/db-handler.js.map +1 -1
  122. package/dist/node/runtime/node/community/local-community/author-identity.d.ts +19 -0
  123. package/dist/node/runtime/node/community/local-community/author-identity.js +50 -0
  124. package/dist/node/runtime/node/community/local-community/author-identity.js.map +1 -0
  125. package/dist/node/runtime/node/community/local-community/ipns-publishing.js +7 -1
  126. package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  127. package/dist/node/runtime/node/community/local-community/publication-validation.js +8 -22
  128. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  129. package/dist/node/schema/schema-util.d.ts +27 -18
  130. package/dist/node/schema.d.ts +72 -48
  131. package/dist/node/test/mock-ipfs-client.js +6 -0
  132. package/dist/node/test/mock-ipfs-client.js.map +1 -1
  133. package/dist/node/test/test-util.d.ts +13 -10
  134. package/dist/node/test/test-util.js +2 -2
  135. package/dist/node/test/test-util.js.map +1 -1
  136. package/dist/node/util.d.ts +1 -4
  137. package/dist/node/util.js +4 -10
  138. package/dist/node/util.js.map +1 -1
  139. package/dist/node/version.js +1 -1
  140. package/package.json +3 -2
@@ -126,12 +126,13 @@ export declare const CreateCommunityEditPublicationOptionsSchema: import("zod").
126
126
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
127
127
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
128
128
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
129
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
129
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
130
130
  owner: "owner";
131
131
  admin: "admin";
132
132
  moderator: "moderator";
133
133
  }>, import("zod").ZodString]>>>;
134
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
134
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
135
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
135
136
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
136
137
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
137
138
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -287,12 +288,13 @@ export declare const CreateCommunityEditPublicationOptionsWithRefinementSchema:
287
288
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
288
289
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
289
290
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
290
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
291
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
291
292
  owner: "owner";
292
293
  admin: "admin";
293
294
  moderator: "moderator";
294
295
  }>, import("zod").ZodString]>>>;
295
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
296
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
297
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
296
298
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
297
299
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
298
300
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -444,12 +446,13 @@ export declare const CommunityEditPubsubMessagePublicationSchema: import("zod").
444
446
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
445
447
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
446
448
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
447
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
449
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
448
450
  owner: "owner";
449
451
  admin: "admin";
450
452
  moderator: "moderator";
451
453
  }>, import("zod").ZodString]>>>;
452
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
454
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
455
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
453
456
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
454
457
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
455
458
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -603,12 +606,13 @@ export declare const CommunityEditPublicationChallengeRequestToEncryptSchema: im
603
606
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
604
607
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
605
608
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
606
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
609
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
607
610
  owner: "owner";
608
611
  admin: "admin";
609
612
  moderator: "moderator";
610
613
  }>, import("zod").ZodString]>>>;
611
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
614
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
615
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
612
616
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
613
617
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
614
618
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -47,6 +47,7 @@ declare class Publication extends TypedEmitter<PublicationEvents> {
47
47
  challengeVerification?: DecryptedChallengeVerificationMessageType;
48
48
  challengeRequestPublishTimestamp?: number;
49
49
  challengeAnswerPublishTimestamp?: number;
50
+ challengeAnswerPublishInFlight?: boolean;
50
51
  signer?: Signer;
51
52
  challengeRequestPublishError?: Error;
52
53
  challengeAnswerPublishError?: Error;
@@ -235,6 +235,14 @@ class Publication extends TypedEmitter {
235
235
  ...msg,
236
236
  ...decryptedChallenge
237
237
  };
238
+ // The guard at the top of this method ran before the awaits above. A copy of the same CHALLENGE
239
+ // delivered through another pubsub provider can have passed it in the meantime and be the one
240
+ // that recorded the challenge. Nothing can interleave between here and the write below, so
241
+ // re-checking now is enough to drop the copy before it touches the state or emits (#349).
242
+ if (Object.values(this._challengeExchanges).some((exchange) => exchange.challenge)) {
243
+ log.trace("Received a copy of a challenge that was already handled, ignoring it");
244
+ return;
245
+ }
238
246
  this._challengeExchanges[msg.challengeRequestId.toString()].challenge = decryptedChallengeMsg;
239
247
  this._updatePublishingStateWithEmission("waiting-challenge-answers");
240
248
  const challengeTopic = this._community?.pubsubTopic;
@@ -304,10 +312,6 @@ class Publication extends TypedEmitter {
304
312
  this.emit("error", e);
305
313
  return;
306
314
  }
307
- if (decryptedChallengeVerification.comment) {
308
- await this._verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedChallengeVerification);
309
- log("Updated the props of this instance with challengeverification.encrypted");
310
- }
311
315
  }
312
316
  }
313
317
  else {
@@ -315,7 +319,21 @@ class Publication extends TypedEmitter {
315
319
  log.error(`Challenge exchange with publication`, this.getType(), `has failed to pass`, "Challenge errors", msg.challengeErrors, `reason`, msg.reason);
316
320
  }
317
321
  const challengeVerificationMsg = { ...msg, ...decryptedChallengeVerification };
322
+ // Same re-check as in _handleIncomingChallengePubsubMessage: the guard at the top ran before the
323
+ // awaits, and a copy of this CHALLENGEVERIFICATION from another provider may have recorded the
324
+ // verdict since. The verdict is recorded here, synchronously after the last await above and
325
+ // before the comment props are updated from it, so a copy is dropped before it re-verifies the
326
+ // comment or emits "update" with nothing changed; "challengeverification" and the post-publish
327
+ // cleanup run once per exchange as well (#349).
328
+ if (this._challengeExchanges[msg.challengeRequestId.toString()].challengeVerification) {
329
+ log.trace("Received a copy of a challenge verification that was already handled, ignoring it");
330
+ return;
331
+ }
318
332
  this._challengeExchanges[msg.challengeRequestId.toString()].challengeVerification = challengeVerificationMsg;
333
+ if (decryptedChallengeVerification?.comment) {
334
+ await this._verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedChallengeVerification);
335
+ log("Updated the props of this instance with challengeverification.encrypted");
336
+ }
319
337
  Object.values(this._challengeExchanges).forEach((exchange) => this._updatePubsubState("stopped", exchange.providerUrl));
320
338
  this._changePublicationStateEmitEventEmitStateChangeEvent({
321
339
  newPublishingState,
@@ -398,22 +416,41 @@ class Publication extends TypedEmitter {
398
416
  if (challengeExchangesWithChallenge.length > 1)
399
417
  throw Error("We should only have one challenge exchange with challenge");
400
418
  const challengeExchange = challengeExchangesWithChallenge[0];
419
+ const challengeRequestIdString = challengeExchange.challengeRequest.challengeRequestId.toString();
420
+ // Each challenge is answered once. A second call, whether after the first answer was published or
421
+ // while it is still being encrypted and signed, would put a second CHALLENGEANSWER on the topic;
422
+ // the community rejects or errors on it, and for a locally hosted community that error would
423
+ // propagate back here and mark a publication the community accepts as failed (#349). The claim
424
+ // is made before the first await so two calls in the same tick cannot both pass.
425
+ if (challengeExchange.challengeAnswer || challengeExchange.challengeAnswerPublishInFlight)
426
+ throw new PKCError("ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED", {
427
+ challengeRequestId: challengeRequestIdString,
428
+ publishingState: this.publishingState
429
+ });
430
+ challengeExchange.challengeAnswerPublishInFlight = true;
401
431
  assert(this._community, "Local pkc-js needs publication._community to be defined to publish challenge answer");
402
432
  if (!challengeExchange.signer)
403
433
  throw Error("Signer is undefined for this challenge exchange");
404
- const encryptedChallengeAnswers = await encryptEd25519AesGcm(JSON.stringify(toEncryptAnswers), challengeExchange.signer.privateKey, this._community.encryption.publicKey);
405
- const toSignAnswer = cleanUpBeforePublishing({
406
- type: "CHALLENGEANSWER",
407
- challengeRequestId: challengeExchange.challengeRequest.challengeRequestId,
408
- encrypted: encryptedChallengeAnswers,
409
- userAgent: this._pkc.userAgent,
410
- protocolVersion: env.PROTOCOL_VERSION,
411
- timestamp: timestamp()
412
- });
413
- const answerMsgToPublish = {
414
- ...toSignAnswer,
415
- signature: await signChallengeAnswer({ challengeAnswer: toSignAnswer, signer: challengeExchange.signer })
416
- };
434
+ let answerMsgToPublish;
435
+ try {
436
+ const encryptedChallengeAnswers = await encryptEd25519AesGcm(JSON.stringify(toEncryptAnswers), challengeExchange.signer.privateKey, this._community.encryption.publicKey);
437
+ const toSignAnswer = cleanUpBeforePublishing({
438
+ type: "CHALLENGEANSWER",
439
+ challengeRequestId: challengeExchange.challengeRequest.challengeRequestId,
440
+ encrypted: encryptedChallengeAnswers,
441
+ userAgent: this._pkc.userAgent,
442
+ protocolVersion: env.PROTOCOL_VERSION,
443
+ timestamp: timestamp()
444
+ });
445
+ answerMsgToPublish = {
446
+ ...toSignAnswer,
447
+ signature: await signChallengeAnswer({ challengeAnswer: toSignAnswer, signer: challengeExchange.signer })
448
+ };
449
+ }
450
+ catch (e) {
451
+ challengeExchange.challengeAnswerPublishInFlight = false;
452
+ throw e;
453
+ }
417
454
  // TODO should be handling multiple providers with publishing challenge answer?
418
455
  // For now, let's just publish to the provider that got us the challenge and its request
419
456
  this._updatePublishingStateWithEmission("publishing-challenge-answer");
@@ -425,6 +462,7 @@ class Publication extends TypedEmitter {
425
462
  catch (e) {
426
463
  this._challengeExchanges[challengeExchange.challengeRequest.challengeRequestId.toString()].challengeAnswerPublishError =
427
464
  e;
465
+ challengeExchange.challengeAnswerPublishInFlight = false;
428
466
  this._updatePublishingStateWithEmission("failed");
429
467
  this._updatePubsubState("stopped", challengeExchange.providerUrl);
430
468
  throw e;
@@ -437,6 +475,7 @@ class Publication extends TypedEmitter {
437
475
  catch (e) {
438
476
  this._challengeExchanges[challengeExchange.challengeRequest.challengeRequestId.toString()].challengeAnswerPublishError =
439
477
  e;
478
+ challengeExchange.challengeAnswerPublishInFlight = false;
440
479
  this._updatePublishingStateWithEmission("failed");
441
480
  this._updatePubsubState("stopped", challengeExchange.providerUrl);
442
481
  throw e;
@@ -1 +1 @@
1
- {"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/publications/publication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/publications/publication.ts"],"names":[],"mappings":"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"}
@@ -378,12 +378,13 @@ export declare const DecryptedChallengeRequestPublicationSchema: z.ZodObject<{
378
378
  replyCount: z.ZodOptional<z.ZodNumber>;
379
379
  firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
380
380
  challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
381
- role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
381
+ roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
382
382
  owner: "owner";
383
383
  admin: "admin";
384
384
  moderator: "moderator";
385
385
  }>, z.ZodString]>>>;
386
- address: z.ZodOptional<z.ZodArray<z.ZodString>>;
386
+ publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
387
+ names: z.ZodOptional<z.ZodArray<z.ZodString>>;
387
388
  rateLimit: z.ZodOptional<z.ZodNumber>;
388
389
  rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
389
390
  publicationType: z.ZodOptional<z.ZodObject<{
@@ -759,12 +760,13 @@ export declare const DecryptedChallengeRequestSchema: z.ZodObject<{
759
760
  replyCount: z.ZodOptional<z.ZodNumber>;
760
761
  firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
761
762
  challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
762
- role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
763
+ roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
763
764
  owner: "owner";
764
765
  admin: "admin";
765
766
  moderator: "moderator";
766
767
  }>, z.ZodString]>>>;
767
- address: z.ZodOptional<z.ZodArray<z.ZodString>>;
768
+ publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
769
+ names: z.ZodOptional<z.ZodArray<z.ZodString>>;
768
770
  rateLimit: z.ZodOptional<z.ZodNumber>;
769
771
  rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
770
772
  publicationType: z.ZodOptional<z.ZodObject<{
@@ -28,12 +28,13 @@ declare const PKCJs: {
28
28
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
29
29
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
30
30
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
31
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
31
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
32
32
  owner: "owner";
33
33
  admin: "admin";
34
34
  moderator: "moderator";
35
35
  }>, import("zod").ZodString]>>>;
36
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
36
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
37
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
37
38
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
38
39
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
39
40
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -81,12 +82,13 @@ declare const PKCJs: {
81
82
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
82
83
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
83
84
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
84
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
85
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
85
86
  owner: "owner";
86
87
  admin: "admin";
87
88
  moderator: "moderator";
88
89
  }>, import("zod").ZodString]>>>;
89
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
90
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
91
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
90
92
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
91
93
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
92
94
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -146,12 +148,13 @@ declare const PKCJs: {
146
148
  replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
147
149
  firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
148
150
  challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
149
- role: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
151
+ roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
150
152
  owner: "owner";
151
153
  admin: "admin";
152
154
  moderator: "moderator";
153
155
  }>, import("zod").ZodString]>>>;
154
- address: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
156
+ publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
157
+ names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
155
158
  rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
156
159
  rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
157
160
  publicationType: import("zod").ZodOptional<import("zod").ZodObject<{