@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.
- package/dist/neutral/grantEvidence.d.ts +4 -2
- package/dist/neutral/grantEvidence.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +2 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +80 -24
- package/dist/neutral/index.mjs.map +4 -4
- package/dist/neutral/revocationRecognition.d.ts +8 -0
- package/dist/neutral/revocationRecognition.d.ts.map +1 -0
- package/package.json +8 -8
|
@@ -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
|
|
16
|
-
*
|
|
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":"
|
|
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"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -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":"AAAA,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAA;AAC7E,YAAY,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,oBAAoB,EACpB,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,+BAA+B,EAC/B,mCAAmC,EACnC,qBAAqB,GACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,sCAAsC,EACtC,sBAAsB,EACtB,gCAAgC,EAChC,eAAe,EACf,yBAAyB,EACzB,gCAAgC,EAChC,0CAA0C,EAC1C,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,iCAAiC,EACjC,yBAAyB,EACzB,gCAAgC,EAChC,sCAAsC,EACtC,8BAA8B,EAC9B,gCAAgC,EAChC,sBAAsB,EACtB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAChF,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,YAAY,EACV,2CAA2C,EAC3C,4CAA4C,EAC5C,uCAAuC,EACvC,wCAAwC,EACxC,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,8CAA8C,EAC9C,+CAA+C,EAC/C,0CAA0C,EAC1C,2CAA2C,EAC3C,yCAAyC,EACzC,+CAA+C,EAC/C,yCAAyC,EACzC,uCAAuC,EACvC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,sCAAsC,EACtC,4CAA4C,EAC5C,8BAA8B,GAC/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,sCAAsC,EACtC,kCAAkC,EAClC,wCAAwC,EACxC,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,4BAA4B,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,wCAAwC,EAAE,MAAM,wCAAwC,CAAA;AACtG,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAA;AAChG,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC/D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAA;AAC7E,YAAY,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,oBAAoB,EACpB,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,+BAA+B,EAC/B,mCAAmC,EACnC,qBAAqB,GACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,sCAAsC,EACtC,sBAAsB,EACtB,gCAAgC,EAChC,eAAe,EACf,yBAAyB,EACzB,gCAAgC,EAChC,0CAA0C,EAC1C,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,iCAAiC,EACjC,yBAAyB,EACzB,gCAAgC,EAChC,sCAAsC,EACtC,8BAA8B,EAC9B,gCAAgC,EAChC,sBAAsB,EACtB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAChF,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,YAAY,EACV,2CAA2C,EAC3C,4CAA4C,EAC5C,uCAAuC,EACvC,wCAAwC,EACxC,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,8CAA8C,EAC9C,+CAA+C,EAC/C,0CAA0C,EAC1C,2CAA2C,EAC3C,yCAAyC,EACzC,+CAA+C,EAC/C,yCAAyC,EACzC,uCAAuC,EACvC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,sCAAsC,EACtC,4CAA4C,EAC5C,8BAA8B,GAC/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,sCAAsC,EACtC,kCAAkC,EAClC,wCAAwC,EACxC,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,wCAAwC,EAAE,MAAM,wCAAwC,CAAA;AACtG,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAA;AAChG,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC/D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,2BAA2B,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -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
|
|
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:
|
|
1942
|
-
filterHash:
|
|
1943
|
-
subscriptionHash:
|
|
1944
|
-
serviceHash:
|
|
1945
|
-
grantHash:
|
|
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
|
|
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(
|
|
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
|
|
2013
|
-
|
|
2014
|
-
subject
|
|
2015
|
-
|
|
2016
|
-
|
|
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 &&
|
|
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 && !
|
|
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,
|