@xyo-network/event-kit-protocol 2.2.0 → 2.2.1

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.
@@ -12,8 +12,10 @@ export interface DeploymentGrantAuthorizerOptions {
12
12
  *
13
13
  * - **Aboutness.** The requested publisher must match both the Claim's
14
14
  * `subject` and the grant object's `publisher` field.
15
- * - **Negation.** A grant is disabled by a further claim, by the *same pinned
16
- * controller*, of a revocation object referencing that grant's hash.
15
+ * - **Negation.** A grant is disabled when the pinned controller has Claim
16
+ * membership for the recomputed canonical hash of
17
+ * `{ schema: grant.revocation, grant: <object hash> }` under the publisher
18
+ * subject. Declared schema and body resolution are not consulted.
17
19
  * Revocations from any other source are ignored.
18
20
  */
19
21
  export declare function createDeploymentGrantAuthorizer(options: DeploymentGrantAuthorizerOptions): DeploymentGrantAuthorizer;
@@ -1 +1 @@
1
- {"version":3,"file":"grantEvidence.d.ts","sourceRoot":"","sources":["../../src/grantEvidence.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,yBAAyB,EAE1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAgD3B"}
1
+ {"version":3,"file":"grantEvidence.d.ts","sourceRoot":"","sources":["../../src/grantEvidence.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,yBAAyB,EAE1B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAC9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAsD3B"}
@@ -19,6 +19,8 @@ export { createMemoryWakeQueue } from './memoryWakeQueue.ts';
19
19
  export type { BeginPublisherEndpointChallengeAttemptInput, BeginPublisherEndpointChallengeAttemptResult, CompletePublisherEndpointChallengeInput, CompletePublisherEndpointChallengeResult, IssuePublisherEndpointChallengeInput, IssuePublisherEndpointChallengeResult, PublisherEncryptionKeyLookup, PublisherEncryptionKeyStore, PublisherEndpointChallengeRecord, PublisherEndpointChallengeState, PublisherEndpointChallengeStore, } from './publisherHandshakeStores.ts';
20
20
  export type { BeginPublisherEndpointChallengeAttemptApiInput, BeginPublisherEndpointChallengeAttemptApiResult, CompletePublisherEndpointChallengeApiInput, CompletePublisherEndpointChallengeApiResult, CompletePublisherEndpointChallengeFailure, CompletePublisherEndpointChallengeFailureReason, CompletePublisherEndpointChallengeSuccess, IssuePublisherEndpointChallengeApiInput, IssuePublisherEndpointChallengeApiResult, PublisherEndpointChallengeContext, PublisherSubscriptionCandidate, PublisherSubscriptionValidation, PublisherSubscriptionValidationFailure, PublisherSubscriptionValidationFailureReason, ValidatedPublisherSubscription, } from './publisherSubscription.ts';
21
21
  export { beginPublisherEndpointChallengeAttempt, completePublisherEndpointChallenge, endpointChallengeMatchesPublisherContext, issuePublisherEndpointChallenge, validateAndDecryptPublisherSubscription, } from './publisherSubscription.ts';
22
+ export type { RecomputableRevocationKind } from './revocationRecognition.ts';
23
+ export { recomputableRevocationHash } from './revocationRecognition.ts';
22
24
  export * from './sourceWakeActivation.ts';
23
25
  export * from './sourceWakeIdentity.ts';
24
26
  export { StaleWakeLeaseError } from './staleWakeLeaseError.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1919,11 +1919,59 @@ function filterWithinServicePolicy(service, plaintext) {
1919
1919
  return service.deliveryMode === filter.deliveryMode && JSON.stringify(service.bestEffort) === JSON.stringify(filter.bestEffort) && filter.maxPositionsPerWake <= service.limits.maxPositionsPerWake && service.events.some((event) => wakeSourcesEqual(event.source, filter.source));
1920
1920
  }
1921
1921
 
1922
+ // src/revocationRecognition.ts
1923
+ import {
1924
+ HashZod as HashZod7,
1925
+ PublisherEncryptionKeyRevocationSchema as PublisherEncryptionKeyRevocationSchema2,
1926
+ PublisherEncryptionKeyRevocationZod as PublisherEncryptionKeyRevocationZod2,
1927
+ PublisherServiceRevocationSchema as PublisherServiceRevocationSchema2,
1928
+ PublisherServiceRevocationZod as PublisherServiceRevocationZod2,
1929
+ WakeGrantRevocationSchema as WakeGrantRevocationSchema3,
1930
+ WakeGrantRevocationZod as WakeGrantRevocationZod2,
1931
+ WakeSubscriptionAcceptanceRevocationSchema as WakeSubscriptionAcceptanceRevocationSchema2,
1932
+ WakeSubscriptionAcceptanceRevocationZod as WakeSubscriptionAcceptanceRevocationZod2,
1933
+ WakeSubscriptionRevocationSchema as WakeSubscriptionRevocationSchema2,
1934
+ WakeSubscriptionRevocationZod as WakeSubscriptionRevocationZod2
1935
+ } from "@xyo-network/event-kit-schemas";
1936
+ import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/sdk";
1937
+ async function recomputableRevocationHash(kind, targetHash) {
1938
+ return await PayloadBuilder6.dataHash(revocationPayload(kind, HashZod7.parse(targetHash)));
1939
+ }
1940
+ function revocationPayload(kind, target) {
1941
+ switch (kind) {
1942
+ case "acceptance":
1943
+ return WakeSubscriptionAcceptanceRevocationZod2.parse({
1944
+ acceptance: target,
1945
+ schema: WakeSubscriptionAcceptanceRevocationSchema2
1946
+ });
1947
+ case "grant":
1948
+ return WakeGrantRevocationZod2.parse({
1949
+ grant: target,
1950
+ schema: WakeGrantRevocationSchema3
1951
+ });
1952
+ case "key":
1953
+ return PublisherEncryptionKeyRevocationZod2.parse({
1954
+ key: target,
1955
+ schema: PublisherEncryptionKeyRevocationSchema2
1956
+ });
1957
+ case "service":
1958
+ return PublisherServiceRevocationZod2.parse({
1959
+ schema: PublisherServiceRevocationSchema2,
1960
+ service: target
1961
+ });
1962
+ case "subscription":
1963
+ return WakeSubscriptionRevocationZod2.parse({
1964
+ schema: WakeSubscriptionRevocationSchema2,
1965
+ subscription: target
1966
+ });
1967
+ }
1968
+ }
1969
+
1922
1970
  // src/sourceWakeActivation.ts
1923
1971
  import {
1924
1972
  ChainIdZod as ChainIdZod3,
1925
1973
  DeploymentIdZod as DeploymentIdZod3,
1926
- HashZod as HashZod7,
1974
+ HashZod as HashZod8,
1927
1975
  NonnegativeJsonSafeIntegerZod as NonnegativeJsonSafeIntegerZod4,
1928
1976
  NormalizedAddressZod as NormalizedAddressZod7,
1929
1977
  PositiveJsonSafeIntegerZod as PositiveJsonSafeIntegerZod2
@@ -1938,11 +1986,11 @@ var SourceWakeSubscriptionActivationZod = z4.strictObject({
1938
1986
  publisher: NormalizedAddressZod7,
1939
1987
  deploymentId: DeploymentIdZod3,
1940
1988
  queueId: z4.string().min(1).max(255).optional(),
1941
- sourceHash: HashZod7,
1942
- filterHash: HashZod7,
1943
- subscriptionHash: HashZod7,
1944
- serviceHash: HashZod7,
1945
- grantHash: HashZod7
1989
+ sourceHash: HashZod8,
1990
+ filterHash: HashZod8,
1991
+ subscriptionHash: HashZod8,
1992
+ serviceHash: HashZod8,
1993
+ grantHash: HashZod8
1946
1994
  }).refine(
1947
1995
  (value) => value.activeFromBlock <= value.atBlock && value.atBlock < value.expiresAtBlock,
1948
1996
  "Subscription must be active at the exact finalized authorization snapshot"
@@ -1957,12 +2005,10 @@ import {
1957
2005
  // src/grantEvidence.ts
1958
2006
  import {
1959
2007
  asWakeGrantObject,
1960
- asWakeGrantRevocation,
1961
2008
  DeploymentIdZod as DeploymentIdZod4,
1962
- HashZod as HashZod8,
2009
+ HashZod as HashZod9,
1963
2010
  NormalizedAddressZod as NormalizedAddressZod8,
1964
- WakeGrantObjectSchema as WakeGrantObjectSchema3,
1965
- WakeGrantRevocationSchema as WakeGrantRevocationSchema3
2011
+ WakeGrantObjectSchema as WakeGrantObjectSchema3
1966
2012
  } from "@xyo-network/event-kit-schemas";
1967
2013
  function createDeploymentGrantAuthorizer(options) {
1968
2014
  const { viewer } = options;
@@ -1978,7 +2024,13 @@ function createDeploymentGrantAuthorizer(options) {
1978
2024
  ...request.exactGrantHash === void 0 ? {} : { objectHash: request.exactGrantHash },
1979
2025
  subject: request.publisher
1980
2026
  });
1981
- const revokedGrantHashes = await readRevocations(viewer, request.controller, request.publisher, atBlock);
2027
+ const revokedGrantHashes = await readRevocations(
2028
+ viewer,
2029
+ request.controller,
2030
+ request.publisher,
2031
+ atBlock,
2032
+ claims
2033
+ );
1982
2034
  let evidence;
1983
2035
  for (const claim of claims) {
1984
2036
  evidence = await resolveEvidence(viewer, claim, request, atBlock, revokedGrantHashes);
@@ -2007,21 +2059,24 @@ function createDeploymentGrantAuthorizer(options) {
2007
2059
  }
2008
2060
  });
2009
2061
  }
2010
- async function readRevocations(viewer, controller, subject, atBlock) {
2062
+ async function readRevocations(viewer, controller, subject, atBlock, grantClaims) {
2011
2063
  const revoked = /* @__PURE__ */ new Set();
2012
- const claims = await viewer.claims(controller, {
2013
- declaredObjectSchemaPrefix: WakeGrantRevocationSchema3,
2014
- subject
2015
- });
2016
- for (const claim of claims) {
2017
- if (!isLiveClaim(claim, controller, subject, WakeGrantRevocationSchema3, atBlock)) continue;
2018
- const object = await viewer.object(claim.objectHash);
2019
- if (object?.assurance !== "resolved" || object.declaredSchema !== WakeGrantRevocationSchema3 || object.objectHash !== claim.objectHash || !isRecord3(object.params) || Object.hasOwn(object.params, "schema")) continue;
2020
- const revocation = asWakeGrantRevocation({ ...object.params, schema: object.declaredSchema });
2021
- if (revocation !== void 0) revoked.add(revocation.grant);
2064
+ for (const claim of grantClaims) {
2065
+ if (!isLiveClaim(claim, controller, subject, WakeGrantObjectSchema3, atBlock)) continue;
2066
+ if (await controllerRevokedGrant(viewer, controller, subject, claim.objectHash, atBlock)) {
2067
+ revoked.add(claim.objectHash);
2068
+ }
2022
2069
  }
2023
2070
  return revoked;
2024
2071
  }
2072
+ async function controllerRevokedGrant(viewer, controller, subject, grantHash, atBlock) {
2073
+ const objectHash = await recomputableRevocationHash("grant", grantHash);
2074
+ const claims = await viewer.claims(controller, { objectHash, subject });
2075
+ return claims.some((claim) => isRevocationMembership(claim, controller, subject, objectHash, atBlock));
2076
+ }
2077
+ function isRevocationMembership(claim, controller, subject, objectHash, atBlock) {
2078
+ return claim.source === controller && claim.subject === subject && claim.objectHash === objectHash && isNonnegativeSafeInteger5(claim.firstBlock) && claim.firstBlock <= atBlock && isNonnegativeSafeInteger5(claim.lastBlock) && claim.lastBlock >= claim.firstBlock && HashZod9.safeParse(claim.firstEventHash).success && HashZod9.safeParse(claim.objectHash).success;
2079
+ }
2025
2080
  async function resolveEvidence(viewer, claim, request, atBlock, revokedGrantHashes) {
2026
2081
  if (!isLiveClaim(claim, request.controller, request.publisher, WakeGrantObjectSchema3, atBlock)) return void 0;
2027
2082
  if (revokedGrantHashes.has(claim.objectHash)) return void 0;
@@ -2044,7 +2099,7 @@ async function resolveEvidence(viewer, claim, request, atBlock, revokedGrantHash
2044
2099
  });
2045
2100
  }
2046
2101
  function isLiveClaim(claim, controller, subject, declaredObjectSchema, atBlock) {
2047
- return claim.source === controller && claim.subject === subject && claim.declaredObjectSchema === declaredObjectSchema && isNonnegativeSafeInteger5(claim.firstBlock) && claim.firstBlock <= atBlock && isNonnegativeSafeInteger5(claim.lastBlock) && claim.lastBlock >= claim.firstBlock && HashZod8.safeParse(claim.firstEventHash).success && HashZod8.safeParse(claim.objectHash).success;
2102
+ return claim.source === controller && claim.subject === subject && claim.declaredObjectSchema === declaredObjectSchema && isNonnegativeSafeInteger5(claim.firstBlock) && claim.firstBlock <= atBlock && isNonnegativeSafeInteger5(claim.lastBlock) && claim.lastBlock >= claim.firstBlock && HashZod9.safeParse(claim.firstEventHash).success && HashZod9.safeParse(claim.objectHash).success;
2048
2103
  }
2049
2104
  function parseExactGrantObject(object, expectedObjectHash) {
2050
2105
  if (object?.assurance !== "resolved") return void 0;
@@ -2056,7 +2111,7 @@ function parseExactGrantObject(object, expectedObjectHash) {
2056
2111
  });
2057
2112
  }
2058
2113
  function assertValidRequest(request) {
2059
- if (request.exactGrantHash !== void 0 && !HashZod8.safeParse(request.exactGrantHash).success) {
2114
+ if (request.exactGrantHash !== void 0 && !HashZod9.safeParse(request.exactGrantHash).success) {
2060
2115
  throw new TypeError("Exact grant hash must be canonical lowercase hexadecimal");
2061
2116
  }
2062
2117
  if (!NormalizedAddressZod8.safeParse(request.controller).success) {
@@ -2192,6 +2247,7 @@ export {
2192
2247
  issuePublisherEndpointChallenge,
2193
2248
  parseAdmittedWake,
2194
2249
  parseBestEffortSecurityState,
2250
+ recomputableRevocationHash,
2195
2251
  resolvePreferredEncryptionKey,
2196
2252
  selectPublisherService,
2197
2253
  selectSubscriptionActivation,