@interop/wallet-core 0.62.0 → 0.65.0
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/README.md +41 -16
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +46 -26
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +91 -39
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +55 -34
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +102 -56
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +16 -2
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +11 -9
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +62 -18
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +92 -26
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +3 -2
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +7 -7
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +38 -5
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +346 -236
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +21 -5
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +24 -5
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +58 -0
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +222 -33
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +148 -22
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +391 -346
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +162 -43
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +423 -192
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +12 -6
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +26 -12
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +6 -4
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +56 -35
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/spaceCapability.d.ts +123 -0
- package/dist/clientAnnex/spaceCapability.d.ts.map +1 -0
- package/dist/clientAnnex/spaceCapability.js +152 -0
- package/dist/clientAnnex/spaceCapability.js.map +1 -0
- package/dist/clientAnnex/stages.d.ts +63 -0
- package/dist/clientAnnex/stages.d.ts.map +1 -0
- package/dist/clientAnnex/stages.js +64 -0
- package/dist/clientAnnex/stages.js.map +1 -0
- package/dist/clientAnnex/zcap.d.ts +1 -1
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +42 -35
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/policy.d.ts +15 -1
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +12 -6
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +18 -10
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +13 -5
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +10 -2
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +41 -24
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/acquire.d.ts.map +1 -1
- package/dist/descriptors/acquire.js +6 -23
- package/dist/descriptors/acquire.js.map +1 -1
- package/dist/descriptors/cipher.d.ts.map +1 -1
- package/dist/descriptors/cipher.js +5 -0
- package/dist/descriptors/cipher.js.map +1 -1
- package/dist/descriptors/errors.d.ts +43 -0
- package/dist/descriptors/errors.d.ts.map +1 -0
- package/dist/descriptors/errors.js +45 -0
- package/dist/descriptors/errors.js.map +1 -0
- package/dist/descriptors/index.d.ts +5 -0
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +5 -0
- package/dist/descriptors/index.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts +37 -10
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +52 -15
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +42 -11
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +80 -22
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/genesis/index.d.ts +3 -1
- package/dist/genesis/index.d.ts.map +1 -1
- package/dist/genesis/index.js +3 -1
- package/dist/genesis/index.js.map +1 -1
- package/dist/identity/agents.d.ts +17 -1
- package/dist/identity/agents.d.ts.map +1 -1
- package/dist/identity/agents.js +23 -7
- package/dist/identity/agents.js.map +1 -1
- package/dist/identity/index.d.ts +3 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +3 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/keyring/index.d.ts +2 -1
- package/dist/keyring/index.d.ts.map +1 -1
- package/dist/keyring/index.js +2 -1
- package/dist/keyring/index.js.map +1 -1
- package/dist/keyring/record.d.ts.map +1 -1
- package/dist/keyring/record.js +3 -6
- package/dist/keyring/record.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +14 -5
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +31 -36
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/index.d.ts +10 -6
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +9 -5
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +12 -11
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +15 -13
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts +3 -6
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +10 -9
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +2 -3
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +57 -7
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +222 -17
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +7 -6
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +7 -6
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/keys/wasLabelsStore.d.ts +9 -2
- package/dist/keys/wasLabelsStore.d.ts.map +1 -1
- package/dist/keys/wasLabelsStore.js +14 -6
- package/dist/keys/wasLabelsStore.js.map +1 -1
- package/dist/log.d.ts +7 -2
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +6 -1
- package/dist/log.js.map +1 -1
- package/dist/recovery/index.d.ts +12 -8
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +11 -7
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryCode.d.ts +27 -7
- package/dist/recovery/recoveryCode.d.ts.map +1 -1
- package/dist/recovery/recoveryCode.js +18 -6
- package/dist/recovery/recoveryCode.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +21 -34
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +75 -63
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +127 -116
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/classify.d.ts +32 -8
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +39 -14
- package/dist/request/classify.js.map +1 -1
- package/dist/request/ephemeralExchange.d.ts +1 -6
- package/dist/request/ephemeralExchange.d.ts.map +1 -1
- package/dist/request/ephemeralExchange.js.map +1 -1
- package/dist/request/onboarding.d.ts.map +1 -1
- package/dist/request/onboarding.js +2 -2
- package/dist/request/onboarding.js.map +1 -1
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +2 -3
- package/dist/request/parse.js.map +1 -1
- package/dist/resourceLog/controller.d.ts +34 -12
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +79 -86
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/document.d.ts +182 -0
- package/dist/resourceLog/document.d.ts.map +1 -0
- package/dist/resourceLog/document.js +159 -0
- package/dist/resourceLog/document.js.map +1 -0
- package/dist/resourceLog/errors.d.ts +47 -8
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +54 -8
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +7 -3
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +7 -3
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/ladderRungs.d.ts +35 -0
- package/dist/resourceLog/ladderRungs.d.ts.map +1 -0
- package/dist/resourceLog/ladderRungs.js +352 -0
- package/dist/resourceLog/ladderRungs.js.map +1 -0
- package/dist/resourceLog/license.d.ts +42 -17
- package/dist/resourceLog/license.d.ts.map +1 -1
- package/dist/resourceLog/license.js +38 -24
- package/dist/resourceLog/license.js.map +1 -1
- package/dist/space/activity.d.ts +15 -15
- package/dist/space/activity.d.ts.map +1 -1
- package/dist/space/activity.js +15 -15
- package/dist/space/activity.js.map +1 -1
- package/dist/space/collections.d.ts +11 -0
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +13 -0
- package/dist/space/collections.js.map +1 -1
- package/dist/space/deleteSpace.d.ts +28 -0
- package/dist/space/deleteSpace.d.ts.map +1 -0
- package/dist/space/deleteSpace.js +44 -0
- package/dist/space/deleteSpace.js.map +1 -0
- package/dist/space/errors.d.ts.map +1 -1
- package/dist/space/errors.js +0 -1
- package/dist/space/errors.js.map +1 -1
- package/dist/space/index.d.ts +6 -0
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +6 -0
- package/dist/space/index.js.map +1 -1
- package/dist/space/plaintextCollection.d.ts +43 -0
- package/dist/space/plaintextCollection.d.ts.map +1 -0
- package/dist/space/plaintextCollection.js +17 -0
- package/dist/space/plaintextCollection.js.map +1 -0
- package/dist/stages.d.ts +23 -0
- package/dist/stages.d.ts.map +1 -0
- package/dist/stages.js +23 -0
- package/dist/stages.js.map +1 -0
- package/dist/sync/index.d.ts +7 -0
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +7 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.js +4 -4
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/remint.js +2 -2
- package/dist/sync/remint.js.map +1 -1
- package/dist/sync/types.d.ts +41 -1
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +47 -1
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/index.d.ts +5 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +5 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +35 -7
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +52 -14
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingClient.d.ts.map +1 -1
- package/dist/unlock/standingClient.js +5 -1
- package/dist/unlock/standingClient.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +217 -35
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +469 -210
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +146 -0
- package/dist/webvh/accountEntry.d.ts.map +1 -0
- package/dist/webvh/accountEntry.js +239 -0
- package/dist/webvh/accountEntry.js.map +1 -0
- package/dist/webvh/didWeb.d.ts +12 -7
- package/dist/webvh/didWeb.d.ts.map +1 -1
- package/dist/webvh/didWeb.js +2 -2
- package/dist/webvh/didWeb.js.map +1 -1
- package/dist/webvh/didWebProjection.d.ts +164 -0
- package/dist/webvh/didWebProjection.d.ts.map +1 -0
- package/dist/webvh/didWebProjection.js +230 -0
- package/dist/webvh/didWebProjection.js.map +1 -0
- package/dist/webvh/didWebvh.d.ts +275 -136
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +307 -340
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +65 -0
- package/dist/webvh/enrollClient.d.ts.map +1 -0
- package/dist/webvh/enrollClient.js +172 -0
- package/dist/webvh/enrollClient.js.map +1 -0
- package/dist/webvh/index.d.ts +37 -12
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +33 -10
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts +1 -35
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +2 -30
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +41 -11
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +99 -48
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/standingZcap.d.ts +61 -14
- package/dist/webvh/standingZcap.d.ts.map +1 -1
- package/dist/webvh/standingZcap.js +91 -0
- package/dist/webvh/standingZcap.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +59 -5
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +76 -11
- package/dist/webvh/verifyLog.js.map +1 -1
- package/dist/webvh/wasIdStore.d.ts +8 -8
- package/dist/webvh/wasIdStore.d.ts.map +1 -1
- package/dist/webvh/wasIdStore.js +39 -14
- package/dist/webvh/wasIdStore.js.map +1 -1
- package/dist/webvh/zcap.d.ts +14 -1
- package/dist/webvh/zcap.d.ts.map +1 -1
- package/dist/webvh/zcap.js +3 -27
- package/dist/webvh/zcap.js.map +1 -1
- package/package.json +2 -2
- package/dist/webvh/keyAgreement.d.ts +0 -97
- package/dist/webvh/keyAgreement.d.ts.map +0 -1
- package/dist/webvh/keyAgreement.js +0 -71
- package/dist/webvh/keyAgreement.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listClients.d.ts","sourceRoot":"","sources":["../../src/webvh/listClients.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"listClients.d.ts","sourceRoot":"","sources":["../../src/webvh/listClients.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAUvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,oBAAoB,CAAC,EAAE,KAAK,CAC1B,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,CACtD,CAAA;CACF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;CAC1B,GAAG,GAAG,CAAC,MAAM,CAAC,CAYd;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,GAAG,EACH,eAAe,EAChB,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAMV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,mBAAmB,EACpB,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,KAAK,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,GAAG,EACH,mBAAmB,EACpB,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,MAAM,EAAE,CAcX;AAyID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,GAAG,EACH,mBAAmB,EACpB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,MAAM,GAAG,SAAS,CAKrB;AA0BD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,mBAAmB,EAAE,CAmCxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { vmFragmentOf } from '@interop/vh-resource-log';
|
|
2
|
-
import { clientKeyAgreementController, effectiveParameters
|
|
3
|
-
import { resolvedKeyAgreementMethods } from '
|
|
2
|
+
import { clientKeyAgreementController, effectiveParameters } from './didWebvh.js';
|
|
3
|
+
import { relationIds, resolvedKeyAgreementMethods } from '../resourceLog/document.js';
|
|
4
4
|
/**
|
|
5
5
|
* The key multibases the document currently publishes: every verification
|
|
6
6
|
* method's `publicKeyMultibase`, plus the fragment of its id (for a did:webvh
|
|
@@ -97,34 +97,6 @@ export function delegationKeyInDocument({ doc, delegationKeyId }) {
|
|
|
97
97
|
}
|
|
98
98
|
return delegationRelationMultibases({ doc }).has(multibase);
|
|
99
99
|
}
|
|
100
|
-
/**
|
|
101
|
-
* The ladder-VM recognition convention: a `capabilityDelegation` member
|
|
102
|
-
* absent from `capabilityInvocation` is a ladder VM -- the stable sibling key
|
|
103
|
-
* a standing credential publishes for as long as it stands
|
|
104
|
-
* (`ladderVerificationMethod` is the one write-side builder). The
|
|
105
|
-
* asymmetry is the convention rather than a marker property because it is
|
|
106
|
-
* what actually carries the authority: zcap's `delegator.id` cannot identify
|
|
107
|
-
* the signer, so a verifier classifies the VM from the resolved document it
|
|
108
|
-
* already holds -- a zero-I/O read -- and the same asymmetry is what keeps
|
|
109
|
-
* the VM structurally out of every client listing (those key on
|
|
110
|
-
* `capabilityInvocation`). An enrolled client publishes its signing key under
|
|
111
|
-
* both relations, so it can never match.
|
|
112
|
-
*
|
|
113
|
-
* Returns every matching verification-method id, in document order. A ladder
|
|
114
|
-
* VM's life is keyed to its credential rather than to the account's client
|
|
115
|
-
* census: the standing establishment installs it, the credential's retirement
|
|
116
|
-
* strikes it, and enrollment leaves it alone. So the count is one per
|
|
117
|
-
* standing credential, co-resident with however many clients the account has
|
|
118
|
-
* enrolled, and a stale third-party VM can stand beside them.
|
|
119
|
-
*
|
|
120
|
-
* @param options {object}
|
|
121
|
-
* @param options.doc {object} a locally verified document
|
|
122
|
-
* @returns {string[]} the ladder VMs' verification-method ids
|
|
123
|
-
*/
|
|
124
|
-
export function ladderVmIds({ doc }) {
|
|
125
|
-
const invocable = new Set(relationIds(doc.capabilityInvocation));
|
|
126
|
-
return relationIds(doc.capabilityDelegation).filter(id => !invocable.has(id));
|
|
127
|
-
}
|
|
128
100
|
/**
|
|
129
101
|
* The `keyAgreement` verification methods one client's controller marker
|
|
130
102
|
* claims: the document's resolved key-agreement methods
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listClients.js","sourceRoot":"","sources":["../../src/webvh/listClients.ts"],"names":[],"mappings":"AA0DA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"listClients.js","sourceRoot":"","sources":["../../src/webvh/listClients.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { DIDDoc, DIDLog, VerificationMethod } from '@interop/did-method-webvh';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
3
|
+
import type { AccountLogSigner } from './accountEntry.js';
|
|
4
|
+
import type { PublishedWebvhLog, WebvhIdStore } from './didWebvh.js';
|
|
3
5
|
/**
|
|
4
6
|
* The public halves of the client being revoked, as the document and log
|
|
5
7
|
* carry them: its signing-key multibase and its active update key. The
|
|
@@ -119,8 +121,10 @@ export declare function clientRemovalFields({ published, target, knownLatentHash
|
|
|
119
121
|
*
|
|
120
122
|
* Idempotent: a client with no remaining presence (verification methods,
|
|
121
123
|
* update key, commitments all gone) is a no-op on the log (it still republishes
|
|
122
|
-
* `did.json` from the resolved log, healing a torn earlier publish
|
|
123
|
-
*
|
|
124
|
+
* `did.json` from the resolved log, healing a torn earlier publish of this
|
|
125
|
+
* cascade -- the revoking client invokes as the controller, so it may write
|
|
126
|
+
* the projection), so a naive re-run after a mid-cascade crash converges
|
|
127
|
+
* without forking the log.
|
|
124
128
|
*
|
|
125
129
|
* The supplied `updateKeyMultibase` is treated as a snapshot, not as truth: a
|
|
126
130
|
* client that self-rotated between the caller's listing and this call -- or a
|
|
@@ -130,11 +134,19 @@ export declare function clientRemovalFields({ published, target, knownLatentHash
|
|
|
130
134
|
* `updateKeys` would strike nothing out of it and the call would report
|
|
131
135
|
* success over a client that kept full log-update authority.
|
|
132
136
|
*
|
|
133
|
-
* Self-revocation is refused: the entry is signed by
|
|
134
|
-
* update key, and a client that removed its own key could not
|
|
135
|
-
* the removal the resolver will verify (and would strand the
|
|
136
|
-
* follows the document edit). Revoking the last remaining client
|
|
137
|
-
* by the same guard.
|
|
137
|
+
* Self-revocation is refused on the CLIENT arm: the entry is signed by that
|
|
138
|
+
* client's active update key, and a client that removed its own key could not
|
|
139
|
+
* have signed the removal the resolver will verify (and would strand the
|
|
140
|
+
* cascade that follows the document edit). Revoking the last remaining client
|
|
141
|
+
* is refused by the same guard.
|
|
142
|
+
*
|
|
143
|
+
* The LADDER arm has no self. A standing credential's rung signs the removal
|
|
144
|
+
* through the credential's bridge delegation, so any enrolled client may be
|
|
145
|
+
* removed, the last one included: the account then stands ladder-anchored,
|
|
146
|
+
* the shape a credential-anchored signup produces (`decisions/0017`). The
|
|
147
|
+
* entry strikes the attributed staged hash exactly as the client arm does.
|
|
148
|
+
* The `did:web` projection is the ceremony's own pre-entry PUT there, since a
|
|
149
|
+
* ladder-signed entry writes `did.jsonl` alone.
|
|
138
150
|
*
|
|
139
151
|
* The removal entry publishes conditionally on the log this call read, so a
|
|
140
152
|
* concurrent enrollment landing in between is never erased by the revocation
|
|
@@ -143,8 +155,18 @@ export declare function clientRemovalFields({ published, target, knownLatentHash
|
|
|
143
155
|
*
|
|
144
156
|
* @param options {object}
|
|
145
157
|
* @param options.idStore {WebvhIdStore}
|
|
146
|
-
* @param options.
|
|
147
|
-
* own did:webvh update-key seeds
|
|
158
|
+
* @param options.signer {AccountLogSigner} who signs the removal entry: the
|
|
159
|
+
* REVOKING client's own did:webvh update-key seeds, or the acting
|
|
160
|
+
* credential's ladder seed
|
|
161
|
+
* @param [options.projectionStore] {object} an `id`-collection store the
|
|
162
|
+
* caller may write through (a transient session's, bound to its generation
|
|
163
|
+
* delegation; an enrolled client's own root-invoking store). Supplied, the
|
|
164
|
+
* post-removal `did:web` projection is PUT through it immediately BEFORE
|
|
165
|
+
* the removal entry publishes, which is what keeps a ladder-signed removal
|
|
166
|
+
* from leaving `did.json` naming the revoked client. Best-effort: a failed
|
|
167
|
+
* PUT is warned and the removal proceeds. Omitted, the ladder arm leaves
|
|
168
|
+
* the projection to the next visit's `ensureDidWebProjection` and the
|
|
169
|
+
* client arm publishes it after the entry, as before
|
|
148
170
|
* @param options.revokedClient {RevokedClientKeys} the revoked client's
|
|
149
171
|
* public halves; an `updateKeyMultibase` the log does not authorize (stale,
|
|
150
172
|
* or the client's staged key) is re-derived from the log
|
|
@@ -153,6 +175,11 @@ export declare function clientRemovalFields({ published, target, knownLatentHash
|
|
|
153
175
|
* excluded from the staged-hash attribution
|
|
154
176
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
155
177
|
* to, from the caller's stored account pointer
|
|
178
|
+
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
179
|
+
* pins; the read is checked against the pinned head and the pin advances to
|
|
180
|
+
* what this entry publishes
|
|
181
|
+
* @param [options.logId] {string} the account log's pin slot; required
|
|
182
|
+
* whenever a `pinStore` is supplied
|
|
156
183
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the
|
|
157
184
|
* account's DID, its resolved document AFTER the edit -- what the roster
|
|
158
185
|
* rotation that follows resolves its remaining recipients from, so the
|
|
@@ -164,10 +191,13 @@ export declare function clientRemovalFields({ published, target, knownLatentHash
|
|
|
164
191
|
*/
|
|
165
192
|
export declare function revokeWebvhClient(options: {
|
|
166
193
|
idStore: WebvhIdStore;
|
|
167
|
-
|
|
194
|
+
signer: AccountLogSigner;
|
|
195
|
+
projectionStore?: Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
|
|
168
196
|
revokedClient: RevokedClientKeys;
|
|
169
197
|
knownLatentHashes?: string[];
|
|
170
198
|
expectedDid?: string;
|
|
199
|
+
pinStore?: ResourceLogPinStore;
|
|
200
|
+
logId?: string;
|
|
171
201
|
}): Promise<{
|
|
172
202
|
did: string;
|
|
173
203
|
doc: DIDDoc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revokeClient.d.ts","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"revokeClient.d.ts","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,8 +41,11 @@
|
|
|
41
41
|
* removing a wrong hash would either leave the revoked client re-enrollable
|
|
42
42
|
* or brick another party's standing commitment.
|
|
43
43
|
*/
|
|
44
|
-
import { deriveNextKeyHash
|
|
45
|
-
import {
|
|
44
|
+
import { deriveNextKeyHash } from '@interop/did-method-webvh';
|
|
45
|
+
import { relationIds } from '../resourceLog/document.js';
|
|
46
|
+
import { signAccountEntry } from './accountEntry.js';
|
|
47
|
+
import { preEntryProjectionPublisher } from './didWebProjection.js';
|
|
48
|
+
import { concludeWithPublishedLog, effectiveParameters, updateKeyMultibase, withLogConflictRetry } from './didWebvh.js';
|
|
46
49
|
import { attributeClientUpdateKey, listEnrolledWebvhClients, markedKeyAgreementMultibases } from './listClients.js';
|
|
47
50
|
/**
|
|
48
51
|
* Thrown when the log attribution cannot isolate the revoked client's staged
|
|
@@ -344,8 +347,10 @@ export async function clientRemovalFields({ published, target, knownLatentHashes
|
|
|
344
347
|
*
|
|
345
348
|
* Idempotent: a client with no remaining presence (verification methods,
|
|
346
349
|
* update key, commitments all gone) is a no-op on the log (it still republishes
|
|
347
|
-
* `did.json` from the resolved log, healing a torn earlier publish
|
|
348
|
-
*
|
|
350
|
+
* `did.json` from the resolved log, healing a torn earlier publish of this
|
|
351
|
+
* cascade -- the revoking client invokes as the controller, so it may write
|
|
352
|
+
* the projection), so a naive re-run after a mid-cascade crash converges
|
|
353
|
+
* without forking the log.
|
|
349
354
|
*
|
|
350
355
|
* The supplied `updateKeyMultibase` is treated as a snapshot, not as truth: a
|
|
351
356
|
* client that self-rotated between the caller's listing and this call -- or a
|
|
@@ -355,11 +360,19 @@ export async function clientRemovalFields({ published, target, knownLatentHashes
|
|
|
355
360
|
* `updateKeys` would strike nothing out of it and the call would report
|
|
356
361
|
* success over a client that kept full log-update authority.
|
|
357
362
|
*
|
|
358
|
-
* Self-revocation is refused: the entry is signed by
|
|
359
|
-
* update key, and a client that removed its own key could not
|
|
360
|
-
* the removal the resolver will verify (and would strand the
|
|
361
|
-
* follows the document edit). Revoking the last remaining client
|
|
362
|
-
* by the same guard.
|
|
363
|
+
* Self-revocation is refused on the CLIENT arm: the entry is signed by that
|
|
364
|
+
* client's active update key, and a client that removed its own key could not
|
|
365
|
+
* have signed the removal the resolver will verify (and would strand the
|
|
366
|
+
* cascade that follows the document edit). Revoking the last remaining client
|
|
367
|
+
* is refused by the same guard.
|
|
368
|
+
*
|
|
369
|
+
* The LADDER arm has no self. A standing credential's rung signs the removal
|
|
370
|
+
* through the credential's bridge delegation, so any enrolled client may be
|
|
371
|
+
* removed, the last one included: the account then stands ladder-anchored,
|
|
372
|
+
* the shape a credential-anchored signup produces (`decisions/0017`). The
|
|
373
|
+
* entry strikes the attributed staged hash exactly as the client arm does.
|
|
374
|
+
* The `did:web` projection is the ceremony's own pre-entry PUT there, since a
|
|
375
|
+
* ladder-signed entry writes `did.jsonl` alone.
|
|
363
376
|
*
|
|
364
377
|
* The removal entry publishes conditionally on the log this call read, so a
|
|
365
378
|
* concurrent enrollment landing in between is never erased by the revocation
|
|
@@ -368,8 +381,18 @@ export async function clientRemovalFields({ published, target, knownLatentHashes
|
|
|
368
381
|
*
|
|
369
382
|
* @param options {object}
|
|
370
383
|
* @param options.idStore {WebvhIdStore}
|
|
371
|
-
* @param options.
|
|
372
|
-
* own did:webvh update-key seeds
|
|
384
|
+
* @param options.signer {AccountLogSigner} who signs the removal entry: the
|
|
385
|
+
* REVOKING client's own did:webvh update-key seeds, or the acting
|
|
386
|
+
* credential's ladder seed
|
|
387
|
+
* @param [options.projectionStore] {object} an `id`-collection store the
|
|
388
|
+
* caller may write through (a transient session's, bound to its generation
|
|
389
|
+
* delegation; an enrolled client's own root-invoking store). Supplied, the
|
|
390
|
+
* post-removal `did:web` projection is PUT through it immediately BEFORE
|
|
391
|
+
* the removal entry publishes, which is what keeps a ladder-signed removal
|
|
392
|
+
* from leaving `did.json` naming the revoked client. Best-effort: a failed
|
|
393
|
+
* PUT is warned and the removal proceeds. Omitted, the ladder arm leaves
|
|
394
|
+
* the projection to the next visit's `ensureDidWebProjection` and the
|
|
395
|
+
* client arm publishes it after the entry, as before
|
|
373
396
|
* @param options.revokedClient {RevokedClientKeys} the revoked client's
|
|
374
397
|
* public halves; an `updateKeyMultibase` the log does not authorize (stale,
|
|
375
398
|
* or the client's staged key) is re-derived from the log
|
|
@@ -378,6 +401,11 @@ export async function clientRemovalFields({ published, target, knownLatentHashes
|
|
|
378
401
|
* excluded from the staged-hash attribution
|
|
379
402
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
380
403
|
* to, from the caller's stored account pointer
|
|
404
|
+
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
405
|
+
* pins; the read is checked against the pinned head and the pin advances to
|
|
406
|
+
* what this entry publishes
|
|
407
|
+
* @param [options.logId] {string} the account log's pin slot; required
|
|
408
|
+
* whenever a `pinStore` is supplied
|
|
381
409
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the
|
|
382
410
|
* account's DID, its resolved document AFTER the edit -- what the roster
|
|
383
411
|
* rotation that follows resolves its remaining recipients from, so the
|
|
@@ -396,46 +424,69 @@ export async function revokeWebvhClient(options) {
|
|
|
396
424
|
* @param options {object} see {@link revokeWebvhClient}
|
|
397
425
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>}
|
|
398
426
|
*/
|
|
399
|
-
async function revokeWebvhClientOnce({ idStore,
|
|
400
|
-
|
|
427
|
+
async function revokeWebvhClientOnce({ idStore, signer, projectionStore, revokedClient, knownLatentHashes = [], expectedDid, pinStore, logId }) {
|
|
428
|
+
let concludedHead;
|
|
429
|
+
const outcome = await signAccountEntry({
|
|
401
430
|
idStore,
|
|
402
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
403
|
-
});
|
|
404
|
-
if (!published) {
|
|
405
|
-
throw new Error('did:webvh: did.jsonl is missing; nothing to revoke from.');
|
|
406
|
-
}
|
|
407
|
-
const target = await clientRemovalTarget({ published, client: revokedClient });
|
|
408
|
-
const activeKey = await updateKeyMultibase({ seed: updateKeys.updateSeed });
|
|
409
|
-
if (target.removedUpdateKey === activeKey ||
|
|
410
|
-
revokedClient.updateKeyMultibase === activeKey) {
|
|
411
|
-
throw new Error('did:webvh: a client cannot revoke itself; disconnect this client ' +
|
|
412
|
-
'from another enrolled client instead.');
|
|
413
|
-
}
|
|
414
|
-
if (!target.present) {
|
|
415
|
-
// Nothing left to remove, but a torn earlier publish can still have left
|
|
416
|
-
// did.json lagging the log.
|
|
417
|
-
const concluded = await concludeWithPublishedLog({ idStore, published });
|
|
418
|
-
return { ...concluded, log: published.log };
|
|
419
|
-
}
|
|
420
|
-
if (!published.updateKeys.includes(activeKey)) {
|
|
421
|
-
throw new Error("did:webvh: the published log does not authorize this client's active " +
|
|
422
|
-
'update key; finalize the pending rotation before revoking a client.');
|
|
423
|
-
}
|
|
424
|
-
await assertCarryOverCommitments({ published });
|
|
425
|
-
const fields = await clientRemovalFields({
|
|
426
|
-
published,
|
|
427
|
-
target,
|
|
428
|
-
knownLatentHashes
|
|
429
|
-
});
|
|
430
|
-
const signer = await updateKeySigner({ seed: updateKeys.updateSeed });
|
|
431
|
-
const updated = await updateDID({
|
|
432
|
-
log: published.log,
|
|
433
431
|
signer,
|
|
434
|
-
|
|
435
|
-
...
|
|
432
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
433
|
+
...(pinStore ? { pinStore } : {}),
|
|
434
|
+
...(logId !== undefined ? { logId } : {}),
|
|
435
|
+
missingMessage: 'did:webvh: did.jsonl is missing; nothing to revoke from.',
|
|
436
|
+
verb: 'revoking a client',
|
|
437
|
+
// The post-removal projection, published while the caller's store can
|
|
438
|
+
// still write it and before the entry the ladder arm cannot publish it
|
|
439
|
+
// with.
|
|
440
|
+
...(projectionStore
|
|
441
|
+
? {
|
|
442
|
+
beforePublish: preEntryProjectionPublisher({ store: projectionStore })
|
|
443
|
+
}
|
|
444
|
+
: {}),
|
|
445
|
+
build: async ({ published }) => {
|
|
446
|
+
const target = await clientRemovalTarget({
|
|
447
|
+
published,
|
|
448
|
+
client: revokedClient
|
|
449
|
+
});
|
|
450
|
+
if (signer.kind === 'client') {
|
|
451
|
+
// The client arm alone has a self: the entry is signed by this
|
|
452
|
+
// client's active update key. The ladder arm signs with a rung, so
|
|
453
|
+
// any client may be removed, the last one included
|
|
454
|
+
// (`decisions/0017`).
|
|
455
|
+
const activeKey = await updateKeyMultibase({
|
|
456
|
+
seed: signer.updateKeys.updateSeed
|
|
457
|
+
});
|
|
458
|
+
if (target.removedUpdateKey === activeKey ||
|
|
459
|
+
revokedClient.updateKeyMultibase === activeKey) {
|
|
460
|
+
throw new Error('did:webvh: a client cannot revoke itself; disconnect this ' +
|
|
461
|
+
'client from another enrolled client instead.');
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
if (!target.present) {
|
|
465
|
+
// Nothing left to remove, but a torn earlier publish can still have
|
|
466
|
+
// left did.json lagging the log. Healable on the client arm, which
|
|
467
|
+
// invokes as the controller; a lag left by a ladder-signed entry is
|
|
468
|
+
// mended by `ensureDidWebProjection` instead.
|
|
469
|
+
concludedHead =
|
|
470
|
+
signer.kind === 'client'
|
|
471
|
+
? {
|
|
472
|
+
...(await concludeWithPublishedLog({ idStore, published })),
|
|
473
|
+
log: published.log
|
|
474
|
+
}
|
|
475
|
+
: { did: published.did, doc: published.doc, log: published.log };
|
|
476
|
+
return undefined;
|
|
477
|
+
}
|
|
478
|
+
return clientRemovalFields({
|
|
479
|
+
published,
|
|
480
|
+
target,
|
|
481
|
+
knownLatentHashes
|
|
482
|
+
});
|
|
483
|
+
}
|
|
436
484
|
});
|
|
437
|
-
|
|
438
|
-
|
|
485
|
+
if (concludedHead) {
|
|
486
|
+
return concludedHead;
|
|
487
|
+
}
|
|
488
|
+
const head = outcome.updated ?? outcome.published;
|
|
489
|
+
return { did: head.did, doc: head.doc, log: head.log };
|
|
439
490
|
}
|
|
440
491
|
/**
|
|
441
492
|
* The update keys and committed hashes that belong to the account's SURVIVING
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revokeClient.js","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"revokeClient.js","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The house policy for standing recorded zcaps -- the long-lived delegations a
|
|
6
|
-
* wallet mints once and records beside a registry entry or inside a document
|
|
7
|
-
* (the recovery `did.jsonl` bridge, an unlock Space's management zcap, the
|
|
8
|
-
* client annex generation delegation): one shared lifetime, one renewal window,
|
|
9
|
-
* and the one staleness predicate every re-mint pass and login-time health
|
|
10
|
-
* check asks. A leaf file (no internal imports), so both the `webvh` and
|
|
11
|
-
* `recovery` layers can share it without a layering inversion; `recovery`
|
|
12
|
-
* re-exports the members that were born there, so its public surface is
|
|
13
|
-
* unchanged.
|
|
14
|
-
*/
|
|
15
1
|
import type { IZcap } from '@interop/data-integrity-core';
|
|
2
|
+
import type { PublishedKeyDocument } from './listClients.js';
|
|
16
3
|
/**
|
|
17
4
|
* The standing zcap lifetime: one year, following NIST SP 800-57's
|
|
18
5
|
* one-to-two-year cryptoperiod guidance for private signature keys. A
|
|
@@ -55,4 +42,64 @@ export declare function zcapExpiring({ expires, now }: {
|
|
|
55
42
|
* @returns {string | undefined}
|
|
56
43
|
*/
|
|
57
44
|
export declare function delegationProofKeyId(delegation: IZcap): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The composed staleness rule for a standing recorded zcap, over the scalars
|
|
47
|
+
* a registry entry records: the delegation's proof key id and its expiry.
|
|
48
|
+
* Three axes, any one of which makes the grant stale:
|
|
49
|
+
*
|
|
50
|
+
* - EXPIRY -- past, inside the renewal window, or unrecorded
|
|
51
|
+
* ({@link zcapExpiring}).
|
|
52
|
+
* - SIGNER DEATH -- the proof's verification method is no longer under
|
|
53
|
+
* `capabilityDelegation` in the verified account document, the
|
|
54
|
+
* current-key-set rule (`delegationKeyInDocument`). Checked only when a
|
|
55
|
+
* `doc` is supplied; a caller holding no verified document is opting out
|
|
56
|
+
* of this axis rather than asserting the grant healthy.
|
|
57
|
+
* - RETIREMENT -- the caller names the key as retiring, so the grant is read
|
|
58
|
+
* against a PROJECTED post-edit document rather than the served one. The
|
|
59
|
+
* axis every ceremony needs that acts before the entry removing a key
|
|
60
|
+
* lands (the last-client transition's stages, whose document still lists
|
|
61
|
+
* the forgotten client), and the one that covers authority a client-side
|
|
62
|
+
* predicate cannot read at all -- a delegation about to be revoked
|
|
63
|
+
* server-side.
|
|
64
|
+
*
|
|
65
|
+
* @param options {object}
|
|
66
|
+
* @param [options.doc] {PublishedKeyDocument} the locally VERIFIED account
|
|
67
|
+
* document; omitted, the signer-death axis is skipped
|
|
68
|
+
* @param [options.delegationKeyId] {string} the recorded proof key id, in
|
|
69
|
+
* either DID form
|
|
70
|
+
* @param [options.expires] {string} the recorded ISO 8601 expiry
|
|
71
|
+
* @param [options.retiringKeyMultibases] {string[]} keys whose authority is
|
|
72
|
+
* about to end, as bare multibases or verification-method ids
|
|
73
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
74
|
+
* @returns {boolean}
|
|
75
|
+
*/
|
|
76
|
+
export declare function recordedZcapStale({ doc, delegationKeyId, expires, retiringKeyMultibases, now }: {
|
|
77
|
+
doc?: PublishedKeyDocument;
|
|
78
|
+
delegationKeyId?: string;
|
|
79
|
+
expires?: string;
|
|
80
|
+
retiringKeyMultibases?: string[];
|
|
81
|
+
now?: number;
|
|
82
|
+
}): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* {@link recordedZcapStale} over a delegation in hand: the same three axes,
|
|
85
|
+
* reading the expiry and the proof key off the zcap itself. The shape every
|
|
86
|
+
* caller holding the delegation uses (the record's bridge and its
|
|
87
|
+
* `delegatedClients` sibling, the annex's embedded generation delegation), so
|
|
88
|
+
* the two shapes can never drift onto different rules.
|
|
89
|
+
*
|
|
90
|
+
* @param options {object}
|
|
91
|
+
* @param options.zcap {IZcap} the recorded delegation
|
|
92
|
+
* @param [options.doc] {PublishedKeyDocument} the locally VERIFIED account
|
|
93
|
+
* document; omitted, the signer-death axis is skipped
|
|
94
|
+
* @param [options.retiringKeyMultibases] {string[]} keys whose authority is
|
|
95
|
+
* about to end
|
|
96
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
97
|
+
* @returns {boolean}
|
|
98
|
+
*/
|
|
99
|
+
export declare function standingZcapStale({ zcap, doc, retiringKeyMultibases, now }: {
|
|
100
|
+
zcap: IZcap;
|
|
101
|
+
doc?: PublishedKeyDocument;
|
|
102
|
+
retiringKeyMultibases?: string[];
|
|
103
|
+
now?: number;
|
|
104
|
+
}): boolean;
|
|
58
105
|
//# sourceMappingURL=standingZcap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standingZcap.d.ts","sourceRoot":"","sources":["../../src/webvh/standingZcap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standingZcap.d.ts","sourceRoot":"","sources":["../../src/webvh/standingZcap.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,QAA4B,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAA2B,CAAA;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,GAAgB,EACjB,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CASV;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,eAAe,EACf,OAAO,EACP,qBAA0B,EAC1B,GAAgB,EACjB,EAAE;IACD,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAuBV;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,GAAG,EACH,qBAAqB,EACrB,GAAG,EACJ,EAAE;IACD,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAUV"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The house policy for standing recorded zcaps -- the long-lived delegations a
|
|
6
|
+
* wallet mints once and records beside a registry entry or inside a document
|
|
7
|
+
* (the recovery `did.jsonl` bridge, an unlock Space's management zcap, the
|
|
8
|
+
* client annex generation delegation): one shared lifetime, one renewal window,
|
|
9
|
+
* and the one staleness predicate every re-mint pass and login-time health
|
|
10
|
+
* check asks. `recovery` re-exports the members that were born there, so its
|
|
11
|
+
* public surface is unchanged.
|
|
12
|
+
*/
|
|
13
|
+
import { vmFragmentOf } from '@interop/vh-resource-log';
|
|
14
|
+
import { delegationKeyInDocument } from './listClients.js';
|
|
1
15
|
/**
|
|
2
16
|
* The standing zcap lifetime: one year, following NIST SP 800-57's
|
|
3
17
|
* one-to-two-year cryptoperiod guidance for private signature keys. A
|
|
@@ -50,4 +64,81 @@ export function delegationProofKeyId(delegation) {
|
|
|
50
64
|
const single = Array.isArray(proof) ? proof[0] : proof;
|
|
51
65
|
return single?.verificationMethod;
|
|
52
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* The composed staleness rule for a standing recorded zcap, over the scalars
|
|
69
|
+
* a registry entry records: the delegation's proof key id and its expiry.
|
|
70
|
+
* Three axes, any one of which makes the grant stale:
|
|
71
|
+
*
|
|
72
|
+
* - EXPIRY -- past, inside the renewal window, or unrecorded
|
|
73
|
+
* ({@link zcapExpiring}).
|
|
74
|
+
* - SIGNER DEATH -- the proof's verification method is no longer under
|
|
75
|
+
* `capabilityDelegation` in the verified account document, the
|
|
76
|
+
* current-key-set rule (`delegationKeyInDocument`). Checked only when a
|
|
77
|
+
* `doc` is supplied; a caller holding no verified document is opting out
|
|
78
|
+
* of this axis rather than asserting the grant healthy.
|
|
79
|
+
* - RETIREMENT -- the caller names the key as retiring, so the grant is read
|
|
80
|
+
* against a PROJECTED post-edit document rather than the served one. The
|
|
81
|
+
* axis every ceremony needs that acts before the entry removing a key
|
|
82
|
+
* lands (the last-client transition's stages, whose document still lists
|
|
83
|
+
* the forgotten client), and the one that covers authority a client-side
|
|
84
|
+
* predicate cannot read at all -- a delegation about to be revoked
|
|
85
|
+
* server-side.
|
|
86
|
+
*
|
|
87
|
+
* @param options {object}
|
|
88
|
+
* @param [options.doc] {PublishedKeyDocument} the locally VERIFIED account
|
|
89
|
+
* document; omitted, the signer-death axis is skipped
|
|
90
|
+
* @param [options.delegationKeyId] {string} the recorded proof key id, in
|
|
91
|
+
* either DID form
|
|
92
|
+
* @param [options.expires] {string} the recorded ISO 8601 expiry
|
|
93
|
+
* @param [options.retiringKeyMultibases] {string[]} keys whose authority is
|
|
94
|
+
* about to end, as bare multibases or verification-method ids
|
|
95
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
96
|
+
* @returns {boolean}
|
|
97
|
+
*/
|
|
98
|
+
export function recordedZcapStale({ doc, delegationKeyId, expires, retiringKeyMultibases = [], now = Date.now() }) {
|
|
99
|
+
if (zcapExpiring({ ...(expires !== undefined ? { expires } : {}), now })) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
const multibase = delegationKeyId === undefined
|
|
103
|
+
? undefined
|
|
104
|
+
: (vmFragmentOf(delegationKeyId) ?? delegationKeyId);
|
|
105
|
+
// Retiring keys arrive as bare multibases or as verification-method ids;
|
|
106
|
+
// either way the comparison is on the multibase.
|
|
107
|
+
const retiring = retiringKeyMultibases.some(key => multibase !== undefined && (vmFragmentOf(key) ?? key) === multibase);
|
|
108
|
+
if (retiring) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
return (doc !== undefined &&
|
|
112
|
+
!delegationKeyInDocument({
|
|
113
|
+
doc,
|
|
114
|
+
...(delegationKeyId !== undefined ? { delegationKeyId } : {})
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* {@link recordedZcapStale} over a delegation in hand: the same three axes,
|
|
119
|
+
* reading the expiry and the proof key off the zcap itself. The shape every
|
|
120
|
+
* caller holding the delegation uses (the record's bridge and its
|
|
121
|
+
* `delegatedClients` sibling, the annex's embedded generation delegation), so
|
|
122
|
+
* the two shapes can never drift onto different rules.
|
|
123
|
+
*
|
|
124
|
+
* @param options {object}
|
|
125
|
+
* @param options.zcap {IZcap} the recorded delegation
|
|
126
|
+
* @param [options.doc] {PublishedKeyDocument} the locally VERIFIED account
|
|
127
|
+
* document; omitted, the signer-death axis is skipped
|
|
128
|
+
* @param [options.retiringKeyMultibases] {string[]} keys whose authority is
|
|
129
|
+
* about to end
|
|
130
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
131
|
+
* @returns {boolean}
|
|
132
|
+
*/
|
|
133
|
+
export function standingZcapStale({ zcap, doc, retiringKeyMultibases, now }) {
|
|
134
|
+
const { expires } = zcap;
|
|
135
|
+
const delegationKeyId = delegationProofKeyId(zcap);
|
|
136
|
+
return recordedZcapStale({
|
|
137
|
+
...(doc !== undefined ? { doc } : {}),
|
|
138
|
+
...(delegationKeyId !== undefined ? { delegationKeyId } : {}),
|
|
139
|
+
...(expires !== undefined ? { expires } : {}),
|
|
140
|
+
...(retiringKeyMultibases !== undefined ? { retiringKeyMultibases } : {}),
|
|
141
|
+
...(now !== undefined ? { now } : {})
|
|
142
|
+
});
|
|
143
|
+
}
|
|
53
144
|
//# sourceMappingURL=standingZcap.js.map
|