@pkcprotocol/pkc-js 0.0.24 → 0.0.25

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 (47) hide show
  1. package/dist/browser/clients/base-client-manager.d.ts +7 -2
  2. package/dist/browser/clients/base-client-manager.js +54 -13
  3. package/dist/browser/clients/base-client-manager.js.map +1 -1
  4. package/dist/browser/clients/name-resolution-cache.d.ts +26 -0
  5. package/dist/browser/clients/name-resolution-cache.js +43 -0
  6. package/dist/browser/clients/name-resolution-cache.js.map +1 -0
  7. package/dist/browser/community/community-client-manager.js +8 -4
  8. package/dist/browser/community/community-client-manager.js.map +1 -1
  9. package/dist/browser/generated-version.d.ts +1 -1
  10. package/dist/browser/generated-version.js +1 -1
  11. package/dist/browser/helia/helia-for-pkc.js +1 -0
  12. package/dist/browser/helia/helia-for-pkc.js.map +1 -1
  13. package/dist/browser/rpc/src/schema.d.ts +0 -1
  14. package/dist/browser/runtime/node/community/local-community.js +12 -4
  15. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  16. package/dist/browser/runtime/node/sqlite-lru-cache.js +4 -0
  17. package/dist/browser/runtime/node/sqlite-lru-cache.js.map +1 -1
  18. package/dist/browser/schema.d.ts +3 -2
  19. package/dist/browser/schema.js +1 -2
  20. package/dist/browser/schema.js.map +1 -1
  21. package/dist/browser/test/test-util.js +1 -1
  22. package/dist/browser/test/test-util.js.map +1 -1
  23. package/dist/browser/types.d.ts +1 -1
  24. package/dist/node/clients/base-client-manager.d.ts +7 -2
  25. package/dist/node/clients/base-client-manager.js +54 -13
  26. package/dist/node/clients/base-client-manager.js.map +1 -1
  27. package/dist/node/clients/name-resolution-cache.d.ts +26 -0
  28. package/dist/node/clients/name-resolution-cache.js +43 -0
  29. package/dist/node/clients/name-resolution-cache.js.map +1 -0
  30. package/dist/node/community/community-client-manager.js +8 -4
  31. package/dist/node/community/community-client-manager.js.map +1 -1
  32. package/dist/node/generated-version.d.ts +1 -1
  33. package/dist/node/generated-version.js +1 -1
  34. package/dist/node/helia/helia-for-pkc.js +1 -0
  35. package/dist/node/helia/helia-for-pkc.js.map +1 -1
  36. package/dist/node/rpc/src/schema.d.ts +0 -1
  37. package/dist/node/runtime/node/community/local-community.js +12 -4
  38. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  39. package/dist/node/runtime/node/sqlite-lru-cache.js +4 -0
  40. package/dist/node/runtime/node/sqlite-lru-cache.js.map +1 -1
  41. package/dist/node/schema.d.ts +3 -2
  42. package/dist/node/schema.js +1 -2
  43. package/dist/node/schema.js.map +1 -1
  44. package/dist/node/test/test-util.js +1 -1
  45. package/dist/node/test/test-util.js.map +1 -1
  46. package/dist/node/types.d.ts +1 -1
  47. package/package.json +1 -14
@@ -1402,7 +1402,9 @@ export class LocalCommunity extends RpcLocalCommunity {
1402
1402
  if (this._pkc.resolveAuthorNames && isStringDomain(authorName)) {
1403
1403
  const { resolvedAuthorName: resolvedSignerAddress } = await this._clientsManager.resolveAuthorNameIfNeeded({
1404
1404
  authorName,
1405
- abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"])
1405
+ abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"]),
1406
+ // Mod authority must reflect current state — bypass cache.
1407
+ cache: { maxAge: 0 }
1406
1408
  });
1407
1409
  if (resolvedSignerAddress !== signerAddress)
1408
1410
  return false;
@@ -1447,7 +1449,9 @@ export class LocalCommunity extends RpcLocalCommunity {
1447
1449
  try {
1448
1450
  ({ resolvedAuthorName: resolvedAddress } = await this._clientsManager.resolveAuthorNameIfNeeded({
1449
1451
  authorName,
1450
- abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"])
1452
+ abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"]),
1453
+ // Incoming pub validation: 30m staleness window is acceptable; domain transfers are rare.
1454
+ cache: { maxAge: 1800 }
1451
1455
  }));
1452
1456
  }
1453
1457
  catch (e) {
@@ -2492,7 +2496,9 @@ export class LocalCommunity extends RpcLocalCommunity {
2492
2496
  async _assertDomainResolvesCorrectly(newAddressAsDomain) {
2493
2497
  if (isStringDomain(newAddressAsDomain)) {
2494
2498
  const resolvedIpnsFromNewDomain = await this._clientsManager.resolveCommunityNameIfNeeded({
2495
- communityName: newAddressAsDomain
2499
+ communityName: newAddressAsDomain,
2500
+ // Admin domain edits don't need second-fresh data.
2501
+ cache: { maxAge: 600 }
2496
2502
  });
2497
2503
  if (resolvedIpnsFromNewDomain !== this.signer.address)
2498
2504
  throw new PKCError("ERR_DOMAIN_COMMUNITY_ADDRESS_TXT_RECORD_POINT_TO_DIFFERENT_ADDRESS", {
@@ -2585,7 +2591,9 @@ export class LocalCommunity extends RpcLocalCommunity {
2585
2591
  try {
2586
2592
  ({ resolvedAuthorName: resolved } = await this._clientsManager.resolveAuthorNameIfNeeded({
2587
2593
  authorName: roleAddress,
2588
- abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"])
2594
+ abortSignal: AbortSignal.timeout(this._pkc._timeouts["resolve-author-name"]),
2595
+ // Role edits must apply to current state — bypass cache.
2596
+ cache: { maxAge: 0 }
2589
2597
  }));
2590
2598
  }
2591
2599
  catch {