@interop/wallet-core 0.62.0 → 0.66.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 +119 -35
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +227 -160
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +18 -8
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +37 -64
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +85 -38
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +155 -98
- 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 +16 -7
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +65 -14
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +397 -298
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +23 -7
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +26 -7
- 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 +249 -41
- 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 +237 -53
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +533 -198
- 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 +44 -72
- 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 +22 -8
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +20 -6
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +15 -12
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +21 -16
- 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/userKeyCascade.d.ts +8 -5
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +7 -6
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +95 -8
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +278 -35
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +117 -16
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +184 -43
- 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 +13 -9
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +12 -8
- 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 +23 -0
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +66 -46
- 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/appKey.d.ts +35 -1
- package/dist/request/appKey.d.ts.map +1 -1
- package/dist/request/appKey.js +29 -10
- package/dist/request/appKey.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,14 +1,15 @@
|
|
|
1
1
|
import { ensurePromotedSpaceController, mintSpaceId } from '../genesis/accountGenesis.js';
|
|
2
|
-
import {
|
|
2
|
+
import { currentLogParameters, keyAgreementCommitment, readPublishedLog } from '../webvh/didWebvh.js';
|
|
3
3
|
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
4
4
|
import { didKeyZcapClient } from '../webvh/zcap.js';
|
|
5
|
-
import { delegateLogWrite,
|
|
5
|
+
import { delegateLogWrite, recordedDelegationFields } from '../recovery/recoveryDelegation.js';
|
|
6
6
|
import { mintUserKey } from '../keys/index.js';
|
|
7
7
|
import { attributeLadderRung } from './ladder.js';
|
|
8
8
|
import { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
|
|
9
|
-
import { clientAnnexDidParts,
|
|
9
|
+
import { clientAnnexDidParts, mintDelegatedClientsDelegation, mintPointedClientAnnexGeneration, setDelegatedClientsPointer } from './log.js';
|
|
10
10
|
import { ladderSignedGenerationDelegationMinter, pointerEntryUpdateKeys, resolveClientAnnexSpaceId } from './heal.js';
|
|
11
11
|
import { ensureCredentialAnchoredAccountGenesis } from './credentialAnchoredGenesis.js';
|
|
12
|
+
import { CONTROLLER_PROMOTION_STAGE } from './stages.js';
|
|
12
13
|
import { ensureRosterDeliveredEpochs } from './rosterDeliveredEpochs.js';
|
|
13
14
|
import { stageNotifier } from '../log.js';
|
|
14
15
|
/**
|
|
@@ -75,11 +76,19 @@ import { stageNotifier } from '../log.js';
|
|
|
75
76
|
* establishment's root window omits it
|
|
76
77
|
* @param [options.pinStore] {ResourceLogPinStore} chain-head pins; slot
|
|
77
78
|
* keys are derived here per log
|
|
79
|
+
* @param [options.published] {PublishedWebvhLog} the same account head as
|
|
80
|
+
* `account`, complete with the ETag its read carried, when the caller holds
|
|
81
|
+
* one. The pointer entry's first attempt then builds on it -- one saved
|
|
82
|
+
* read of the log the caller just read or published -- and a lost
|
|
83
|
+
* compare-and-swap falls through to a fresh pinned read
|
|
78
84
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
79
85
|
* @returns {Promise<object>} the pointed (or freshly minted) annex DID,
|
|
80
|
-
* the generation delegation when one was installed here,
|
|
86
|
+
* the generation delegation when one was installed here, what ran, and --
|
|
87
|
+
* on `accountLog` -- the account head this block leaves standing: the
|
|
88
|
+
* post-pointer-entry one when it wrote, the supplied `published` verbatim
|
|
89
|
+
* when the document already pointed at a generation
|
|
81
90
|
*/
|
|
82
|
-
export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl, accountSpaceId, ladderSeed, was, mintController, mintGenerationDelegation, idStore, updateKeys, delegatedClients, invocation, logOnly, pinStore, now }) {
|
|
91
|
+
export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl, accountSpaceId, ladderSeed, was, mintController, mintGenerationDelegation, idStore, updateKeys, delegatedClients, invocation, logOnly, pinStore, published, now }) {
|
|
83
92
|
const { pointer, annexSpaceId } = resolveClientAnnexSpaceId({
|
|
84
93
|
doc: account.doc,
|
|
85
94
|
...(delegatedClients !== undefined ? { delegatedClients } : {})
|
|
@@ -88,7 +97,9 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
88
97
|
return {
|
|
89
98
|
clientAnnexDid: pointer,
|
|
90
99
|
generationMinted: false,
|
|
91
|
-
spaceMinted: false
|
|
100
|
+
spaceMinted: false,
|
|
101
|
+
// Nothing was written, so the caller's head is still the standing one.
|
|
102
|
+
...(published !== undefined ? { accountLog: published } : {})
|
|
92
103
|
};
|
|
93
104
|
}
|
|
94
105
|
// The pre-flight attribution precedes the mint (never mint a generation
|
|
@@ -98,10 +109,11 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
98
109
|
(await pointerEntryUpdateKeys({ ladderSeed, log: account.log }));
|
|
99
110
|
const pointGeneration = async (clientAnnexDid) => setDelegatedClientsPointer({
|
|
100
111
|
idStore,
|
|
101
|
-
updateKeys: entryKeys,
|
|
112
|
+
signer: { kind: 'client', updateKeys: entryKeys },
|
|
102
113
|
clientAnnexDid,
|
|
103
114
|
expectedDid: account.did,
|
|
104
115
|
...(logOnly !== undefined ? { logOnly } : {}),
|
|
116
|
+
...(published !== undefined ? { published } : {}),
|
|
105
117
|
...(pinStore !== undefined
|
|
106
118
|
? { pinStore, logId: accountLogPinId({ spaceId: accountSpaceId }) }
|
|
107
119
|
: {})
|
|
@@ -110,97 +122,77 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
110
122
|
// account-controlled, its writes ride the supplied capability, and no
|
|
111
123
|
// flip runs (heal's existing-Space pattern).
|
|
112
124
|
if (annexSpaceId !== undefined && invocation !== undefined) {
|
|
113
|
-
const
|
|
125
|
+
const generation = await mintPointedClientAnnexGeneration({
|
|
114
126
|
was: invocation.was,
|
|
115
127
|
wasServerUrl,
|
|
116
128
|
spaceId: annexSpaceId,
|
|
117
129
|
controller: account.did,
|
|
118
130
|
ladderSeed,
|
|
119
|
-
capability: invocation.capability
|
|
120
|
-
});
|
|
121
|
-
const ensured = await ensureGenerationDelegationCurrent({
|
|
122
|
-
store: clientAnnexLogStore({
|
|
123
|
-
was: invocation.was,
|
|
124
|
-
spaceId: annexSpaceId,
|
|
125
|
-
generationId: minted.generationId,
|
|
126
|
-
capability: invocation.capability
|
|
127
|
-
}),
|
|
128
|
-
ladderSeed,
|
|
129
|
-
generationId: minted.generationId,
|
|
131
|
+
capability: invocation.capability,
|
|
130
132
|
mintGenerationDelegation,
|
|
131
|
-
|
|
132
|
-
...(pinStore !== undefined
|
|
133
|
-
? {
|
|
134
|
-
pinStore,
|
|
135
|
-
logId: clientAnnexLogPinId({
|
|
136
|
-
spaceId: annexSpaceId,
|
|
137
|
-
generationId: minted.generationId
|
|
138
|
-
})
|
|
139
|
-
}
|
|
140
|
-
: {}),
|
|
133
|
+
point: pointGeneration,
|
|
134
|
+
...(pinStore !== undefined ? { pinStore } : {}),
|
|
141
135
|
...(now !== undefined ? { now } : {})
|
|
142
136
|
});
|
|
143
|
-
await pointGeneration(minted.did);
|
|
144
137
|
return {
|
|
145
|
-
clientAnnexDid:
|
|
146
|
-
generationDelegation:
|
|
138
|
+
clientAnnexDid: generation.clientAnnexDid,
|
|
139
|
+
generationDelegation: generation.generationDelegation,
|
|
147
140
|
generationMinted: true,
|
|
148
|
-
spaceMinted: false
|
|
141
|
+
spaceMinted: false,
|
|
142
|
+
accountLog: generation.pointed.published
|
|
149
143
|
};
|
|
150
144
|
}
|
|
151
145
|
// The bootstrap arm: mint, embed the delegation while the Space still
|
|
152
146
|
// answers to its creation controller, flip, then the pointer entry.
|
|
153
147
|
const bootstrapArm = async ({ spaceId, spaceMinted }) => {
|
|
154
|
-
const
|
|
148
|
+
const generation = await mintPointedClientAnnexGeneration({
|
|
155
149
|
was,
|
|
156
150
|
wasServerUrl,
|
|
157
151
|
spaceId,
|
|
158
152
|
controller: mintController,
|
|
159
|
-
ladderSeed
|
|
160
|
-
});
|
|
161
|
-
const ensured = await ensureGenerationDelegationCurrent({
|
|
162
|
-
store: clientAnnexLogStore({
|
|
163
|
-
was,
|
|
164
|
-
spaceId,
|
|
165
|
-
generationId: minted.generationId
|
|
166
|
-
}),
|
|
167
153
|
ladderSeed,
|
|
168
|
-
generationId: minted.generationId,
|
|
169
154
|
mintGenerationDelegation,
|
|
170
|
-
|
|
171
|
-
...(pinStore !== undefined
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
155
|
+
point: pointGeneration,
|
|
156
|
+
...(pinStore !== undefined ? { pinStore } : {}),
|
|
157
|
+
...(now !== undefined ? { now } : {}),
|
|
158
|
+
// The controller flip. ONLY an authorization-class refusal is
|
|
159
|
+
// swallowed: this Space may be a sibling-named one a concurrent run
|
|
160
|
+
// already flipped, so it no longer answers to this client. (The
|
|
161
|
+
// transient visit's fresh-Space flip in `heal.ts` has no such case --
|
|
162
|
+
// its Space id is freshly minted and no other run can hold it -- so it
|
|
163
|
+
// swallows nothing.) A transport failure aborts BEFORE the pointer
|
|
164
|
+
// entry -- publishing a pointer at a generation whose Space still
|
|
165
|
+
// answers to the bare ladder did:key would leave it unreachable
|
|
166
|
+
// forever, with nothing downstream ever re-running the flip.
|
|
167
|
+
//
|
|
168
|
+
// The mint's own ensure just read or wrote this Space Description, and
|
|
169
|
+
// nothing since then has written one (the collection create, the
|
|
170
|
+
// genesis publish, and the delegation embed all write collection
|
|
171
|
+
// resources), so it rides along as `current` instead of a second
|
|
172
|
+
// describe.
|
|
173
|
+
beforePointerEntry: async ({ minted }) => {
|
|
174
|
+
try {
|
|
175
|
+
await was.space(spaceId).configure({
|
|
176
|
+
...(minted.spaceDescription !== undefined
|
|
177
|
+
? { current: minted.spaceDescription }
|
|
178
|
+
: {}),
|
|
179
|
+
controller: account.did,
|
|
180
|
+
force: true
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
if (!authorizationRefusal(err)) {
|
|
185
|
+
throw err;
|
|
186
|
+
}
|
|
178
187
|
}
|
|
179
|
-
: {}),
|
|
180
|
-
...(now !== undefined ? { now } : {})
|
|
181
|
-
});
|
|
182
|
-
// The controller flip. ONLY an authorization-class refusal is swallowed
|
|
183
|
-
// (a concurrent run flipped first, so the Space no longer answers to
|
|
184
|
-
// this client); a transport failure aborts BEFORE the pointer entry --
|
|
185
|
-
// publishing a pointer at a generation whose Space still answers to the
|
|
186
|
-
// bare ladder did:key would leave it unreachable forever, with nothing
|
|
187
|
-
// downstream ever re-running the flip.
|
|
188
|
-
try {
|
|
189
|
-
await was
|
|
190
|
-
.space(spaceId)
|
|
191
|
-
.configure({ controller: account.did, force: true });
|
|
192
|
-
}
|
|
193
|
-
catch (err) {
|
|
194
|
-
if (!authorizationRefusal(err)) {
|
|
195
|
-
throw err;
|
|
196
188
|
}
|
|
197
|
-
}
|
|
198
|
-
await pointGeneration(minted.did);
|
|
189
|
+
});
|
|
199
190
|
return {
|
|
200
|
-
clientAnnexDid:
|
|
201
|
-
generationDelegation:
|
|
191
|
+
clientAnnexDid: generation.clientAnnexDid,
|
|
192
|
+
generationDelegation: generation.generationDelegation,
|
|
202
193
|
generationMinted: true,
|
|
203
|
-
spaceMinted
|
|
194
|
+
spaceMinted,
|
|
195
|
+
accountLog: generation.pointed.published
|
|
204
196
|
};
|
|
205
197
|
};
|
|
206
198
|
if (annexSpaceId !== undefined) {
|
|
@@ -268,10 +260,12 @@ function authorizationRefusal(err) {
|
|
|
268
260
|
* @param options.bindRecord {CredentialAnchoredBindRecordHook} REQUIRED:
|
|
269
261
|
* the unlock-record codec closure (see its type doc for the hook's
|
|
270
262
|
* standing-layout and freshness-floor obligations)
|
|
271
|
-
* @param options.rosterStoreFor {Function} REQUIRED: `({ did }) =>
|
|
263
|
+
* @param options.rosterStoreFor {Function} REQUIRED: `({ did, log }) =>
|
|
272
264
|
* EncryptionDescriptorStore` -- the user-key roster's store, with a
|
|
273
265
|
* LADDER-signed log signer (the ceremony-tail license's first-entry
|
|
274
|
-
* shape), invoked as the bootstrap did:key
|
|
266
|
+
* shape), invoked as the bootstrap did:key. `log` is the account log this
|
|
267
|
+
* run adopted or published, so a store resolving its controller view reads
|
|
268
|
+
* it out of this run's own head instead of fetching `did.jsonl` again
|
|
275
269
|
* @param options.bootstrapWasFor {Function} REQUIRED:
|
|
276
270
|
* `({ keyAgent }) => WasClient` -- the storage client wiring, signing as
|
|
277
271
|
* the ladder VM's bare did:key (the agent is derived here from the seed)
|
|
@@ -297,10 +291,15 @@ function authorizationRefusal(err) {
|
|
|
297
291
|
* delegation, when the caller holds one -- threaded into stage 3's Space
|
|
298
292
|
* resolution; under this ceremony's bootstrap-only authority a
|
|
299
293
|
* sibling-named Space it can no longer write falls back to a fresh mint
|
|
300
|
-
* @param [options.
|
|
301
|
-
* Promise<
|
|
302
|
-
* KMS
|
|
303
|
-
*
|
|
294
|
+
* @param [options.provideKmsAuthentication] {Function} `({ spaceReady }) =>
|
|
295
|
+
* Promise<KmsAuthenticationBinding | undefined>` -- the caller's opaque
|
|
296
|
+
* best-effort KMS thunk, started in stage 2 alongside the Space
|
|
297
|
+
* provisioning it reports through `spaceReady` (the caller owns its body
|
|
298
|
+
* and its timeout); a throw is the collected non-fatal `kmsAuthentication`
|
|
299
|
+
* failure. The thunk's obligation, since the genesis takes
|
|
300
|
+
* `authentication.vmId` verbatim into the world-readable entry: it adopts a
|
|
301
|
+
* served `keys.json` only after checking that `vmId`'s multibase against
|
|
302
|
+
* its own keystore listing, and mints otherwise
|
|
304
303
|
* @param [options.promoteKeystore] {Function} `({ did }) => Promise<void>`
|
|
305
304
|
* -- the best-effort keystore-controller promotion, called after the
|
|
306
305
|
* Space's own promotion; the caller's closure no-ops when its KMS stage
|
|
@@ -315,15 +314,16 @@ function authorizationRefusal(err) {
|
|
|
315
314
|
* client-local one when a remembered caller seeds its own pin)
|
|
316
315
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
317
316
|
* @param [options.onStage] {StageNotifier} observational: called as each
|
|
318
|
-
* stage finishes, so a caller can time them
|
|
319
|
-
* `
|
|
320
|
-
* `
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
* `
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
*
|
|
317
|
+
* stage finishes, so a caller can time them, in the order of
|
|
318
|
+
* `CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGES` (`clientAnnex/stages.ts`).
|
|
319
|
+
* `interim-bind` is skipped with `priorCreatedAt`; `account-log-read` is
|
|
320
|
+
* kept as the stage-3 preamble's name, its span near-zero whenever the
|
|
321
|
+
* genesis's own head is reused instead of read; and the adopted-roster arm
|
|
322
|
+
* reports `roster-delivered-epochs` in place of `collection-epochs` (see
|
|
323
|
+
* `CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGE_ALIASES` beside it). The two
|
|
324
|
+
* stages whose body is the caller's own closure -- `beforePromotion` and
|
|
325
|
+
* `promoteKeystore` -- are left for the caller to mark inside them, since
|
|
326
|
+
* only the caller can name what its closure does
|
|
327
327
|
* @returns {Promise<CredentialAnchoredEstablishment>}
|
|
328
328
|
* @throws {TypeError} synchronously, when a required hook is missing
|
|
329
329
|
* @throws {Error} when the genesis's roster or epoch stage did not land
|
|
@@ -354,7 +354,7 @@ export function establishCredentialAnchoredAccount(options) {
|
|
|
354
354
|
* @param options {object} see {@link establishCredentialAnchoredAccount}
|
|
355
355
|
* @returns {Promise<CredentialAnchoredEstablishment>}
|
|
356
356
|
*/
|
|
357
|
-
async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId, ladderSeed, standing, bindRecord, rosterStoreFor, bootstrapWasFor, idStore, expectedDid, lowEntropy, priorCreatedAt, delegatedClients,
|
|
357
|
+
async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId, ladderSeed, standing, bindRecord, rosterStoreFor, bootstrapWasFor, idStore, expectedDid, lowEntropy, priorCreatedAt, delegatedClients, provideKmsAuthentication, promoteKeystore, beforePromotion, pinStore, now, onStage }) {
|
|
358
358
|
const stage = stageNotifier(onStage);
|
|
359
359
|
const bootstrapAgent = await ladderVmAgent({ ladderSeed });
|
|
360
360
|
const bootstrapZcap = didKeyZcapClient({ keyAgent: bootstrapAgent });
|
|
@@ -409,18 +409,18 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
409
409
|
idStore,
|
|
410
410
|
rosterStoreFor,
|
|
411
411
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
412
|
-
...(
|
|
412
|
+
...(provideKmsAuthentication ? { provideKmsAuthentication } : {}),
|
|
413
413
|
...(pinStore !== undefined ? { accountLogPinStore: pinStore } : {}),
|
|
414
414
|
promoteController: false,
|
|
415
415
|
...(onStage !== undefined ? { onStage } : {})
|
|
416
416
|
});
|
|
417
417
|
// The KMS stage stays best-effort: a failed thunk is the ceremony's
|
|
418
|
-
// collected `
|
|
419
|
-
// the account proceeds keystore-less
|
|
420
|
-
//
|
|
418
|
+
// collected `kmsAuthentication` stage, reported on the result and never
|
|
419
|
+
// fatal -- the account proceeds keystore-less. The landing check below
|
|
420
|
+
// deliberately ignores this stage.
|
|
421
421
|
for (const entry of genesis.failed) {
|
|
422
|
-
if (entry.stage === '
|
|
423
|
-
failed.push({ stage: '
|
|
422
|
+
if (entry.stage === 'kmsAuthentication') {
|
|
423
|
+
failed.push({ stage: 'kmsAuthentication', error: entry.error });
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
426
|
const did = genesis.did;
|
|
@@ -442,7 +442,7 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
442
442
|
let userKey = candidateUserKey;
|
|
443
443
|
if (genesis.rosterDescriptor.currentEpoch !== candidateUserKey.id) {
|
|
444
444
|
const delivered = await ensureRosterDeliveredEpochs({
|
|
445
|
-
store: rosterStoreFor({ did }),
|
|
445
|
+
store: rosterStoreFor({ did, log: genesis.published.log }),
|
|
446
446
|
candidateUserKey,
|
|
447
447
|
clientKeyAgreementKey: standing.keyAgreementKey,
|
|
448
448
|
was: bootstrapWas,
|
|
@@ -459,13 +459,35 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
459
459
|
// 3. The annex generation block, so the very next login can enroll a
|
|
460
460
|
// transient client: reuse the pointed one; resolve, mint, embed the
|
|
461
461
|
// delegation, flip the auxiliary Space's controller, and point otherwise.
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
462
|
+
// The genesis stage already read or published this exact head, and nothing
|
|
463
|
+
// between it and here writes the account log (the KMS thunk runs inside
|
|
464
|
+
// the genesis, before its did:webvh stage; the adopted-roster arm writes
|
|
465
|
+
// only the roster log). Two conditions decide whether it is reused.
|
|
466
|
+
//
|
|
467
|
+
// It must be a head this run MINTED. What stage 3 reads off the document
|
|
468
|
+
// is the `#DelegatedClients` completion test, which no ETag protects: a
|
|
469
|
+
// stale "no pointer yet" answer makes this run mint a generation the
|
|
470
|
+
// account already has, and the CAS that then refuses the pointer entry
|
|
471
|
+
// arrives far too late -- the Space is minted, nothing names it, and no
|
|
472
|
+
// deleter exists. On the adopt branch (the heal re-run) the account is
|
|
473
|
+
// live and a concurrent transient login can point a generation during the
|
|
474
|
+
// roster genesis and the epoch fan-out, so this stage re-reads exactly as
|
|
475
|
+
// it did before the head was threaded, keeping that window at its old
|
|
476
|
+
// width. A minted head has no such window: the account did not exist a
|
|
477
|
+
// moment ago, so no other writer can hold it.
|
|
478
|
+
//
|
|
479
|
+
// And it must carry an ETag, since the pointer entry below publishes under
|
|
480
|
+
// a compare-and-swap and a head with no validator would degrade that to an
|
|
481
|
+
// unconditional write.
|
|
482
|
+
const published = genesis.logMinted && genesis.published.etag !== undefined
|
|
483
|
+
? genesis.published
|
|
484
|
+
: await readPublishedLog({
|
|
485
|
+
idStore,
|
|
486
|
+
expectedDid: did,
|
|
487
|
+
...(pinStore !== undefined
|
|
488
|
+
? { pinStore, logId: accountLogPinId({ spaceId }) }
|
|
489
|
+
: {})
|
|
490
|
+
});
|
|
469
491
|
if (published === undefined) {
|
|
470
492
|
throw new Error('The account log the genesis published could not be read.');
|
|
471
493
|
}
|
|
@@ -501,6 +523,7 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
501
523
|
...(now !== undefined ? { now } : {})
|
|
502
524
|
}),
|
|
503
525
|
idStore,
|
|
526
|
+
published,
|
|
504
527
|
...(delegatedClients !== undefined ? { delegatedClients } : {}),
|
|
505
528
|
...(pinStore !== undefined ? { pinStore } : {}),
|
|
506
529
|
...(now !== undefined ? { now } : {})
|
|
@@ -511,61 +534,36 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
511
534
|
// promotion, which the interim did:key-signed bridge cannot), and the
|
|
512
535
|
// re-bind: full pointer, both delegations, the management zcap to the
|
|
513
536
|
// account DID.
|
|
514
|
-
const
|
|
515
|
-
|
|
516
|
-
zcapClient: ladderZcap,
|
|
537
|
+
const { bridge, sibling, rebind } = await rebindCredentialAnchoredRecord({
|
|
538
|
+
accountDid: did,
|
|
517
539
|
pointer: fullPointer,
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
const sibling = await mintDelegatedClientsDelegation({
|
|
521
|
-
zcapClient: ladderZcap,
|
|
522
|
-
wasServerUrl,
|
|
540
|
+
ladderSeed,
|
|
541
|
+
standingClientDid: standing.clientDid,
|
|
523
542
|
clientAnnexSpaceId: clientAnnex.spaceId,
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
});
|
|
527
|
-
const rebind = await bindRecord({
|
|
528
|
-
controller: bootstrapAgent.id,
|
|
529
|
-
pointer: fullPointer,
|
|
530
|
-
delegation: bridge,
|
|
531
|
-
delegatedClients: sibling,
|
|
532
|
-
delegateManagementTo: did,
|
|
543
|
+
bindRecord,
|
|
544
|
+
stage: 're-bind',
|
|
533
545
|
...(firstBindCreatedAt !== undefined
|
|
534
546
|
? { priorCreatedAt: firstBindCreatedAt }
|
|
535
|
-
: {})
|
|
547
|
+
: {}),
|
|
548
|
+
...(now !== undefined ? { now } : {})
|
|
536
549
|
});
|
|
537
|
-
assertBindResult({ bind: rebind, stage: 're-bind' });
|
|
538
550
|
stage('record-rebind');
|
|
539
|
-
const delegationKeyId = delegationProofKeyId(bridge);
|
|
540
|
-
const delegatedClientsKeyId = delegationProofKeyId(sibling);
|
|
541
551
|
const establishment = {
|
|
542
552
|
did,
|
|
553
|
+
// The pointer entry's post-publish head when stage 3 wrote one; the head
|
|
554
|
+
// it stood on when the document already pointed at a generation.
|
|
555
|
+
accountLog: generation.accountLog ?? published,
|
|
543
556
|
unlockSpaceId: rebind.unlockSpaceId,
|
|
544
557
|
...(rebind.manageCapability
|
|
545
558
|
? { manageCapability: rebind.manageCapability }
|
|
546
559
|
: {}),
|
|
547
|
-
standingFields: {
|
|
548
|
-
|
|
549
|
-
keyAgreementKeyMultibase: standing.keyAgreementKeyMultibase,
|
|
560
|
+
standingFields: credentialAnchoredStandingFields({
|
|
561
|
+
standing,
|
|
550
562
|
updateKeyMultibase: attributed.rung.keyMultibase,
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
: {}),
|
|
556
|
-
...(delegatedClientsKeyId ? { delegatedClientsKeyId } : {}),
|
|
557
|
-
...(zcapExpires(sibling)
|
|
558
|
-
? { delegatedClientsExpires: zcapExpires(sibling) }
|
|
559
|
-
: {}),
|
|
560
|
-
...(rebind.unlockKeyAgreementKeyId
|
|
561
|
-
? { unlockKeyAgreementKeyId: rebind.unlockKeyAgreementKeyId }
|
|
562
|
-
: {}),
|
|
563
|
-
...(rebind.unlockKeyAgreementKeyMultibase
|
|
564
|
-
? {
|
|
565
|
-
unlockKeyAgreementKeyMultibase: rebind.unlockKeyAgreementKeyMultibase
|
|
566
|
-
}
|
|
567
|
-
: {})
|
|
568
|
-
},
|
|
563
|
+
bridge,
|
|
564
|
+
sibling,
|
|
565
|
+
unlock: rebind
|
|
566
|
+
}),
|
|
569
567
|
...(genesis.epochsSkipped ? { epochsSkipped: genesis.epochsSkipped } : {}),
|
|
570
568
|
failed
|
|
571
569
|
};
|
|
@@ -592,7 +590,7 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
592
590
|
spaceId,
|
|
593
591
|
did
|
|
594
592
|
});
|
|
595
|
-
stage(
|
|
593
|
+
stage(CONTROLLER_PROMOTION_STAGE);
|
|
596
594
|
// The keystore half of the promotion, best-effort like every KMS touch
|
|
597
595
|
// here: the caller's closure no-ops when its KMS stage bound no keystore
|
|
598
596
|
// this run, and a throw is collected, never fatal -- the keystore's KMS
|
|
@@ -609,24 +607,93 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
609
607
|
return establishment;
|
|
610
608
|
}
|
|
611
609
|
/**
|
|
612
|
-
* The
|
|
613
|
-
* the
|
|
610
|
+
* The re-bind every credential-anchored path ends on (the establishment's
|
|
611
|
+
* stage 4, and the mend's record-downgrade re-bind): the ladder-VM-signed
|
|
612
|
+
* bridge and `delegatedClients` sibling delegations, then the record
|
|
613
|
+
* re-bound through the caller's `bindRecord` hook with the full pointer, both
|
|
614
|
+
* delegations, and the management delegation to the account DID. The
|
|
615
|
+
* delegations are ladder-VM-signed because they must survive promotion,
|
|
616
|
+
* which the interim did:key-signed bridge cannot.
|
|
614
617
|
*
|
|
615
|
-
* @param
|
|
616
|
-
* @
|
|
618
|
+
* @param options {object}
|
|
619
|
+
* @param options.accountDid {string} the published account DID
|
|
620
|
+
* @param options.pointer {AccountPointer} the full pointer, naming that DID
|
|
621
|
+
* @param options.ladderSeed {Uint8Array}
|
|
622
|
+
* @param options.standingClientDid {string} the credential's standing
|
|
623
|
+
* client did:key, the delegations' controller
|
|
624
|
+
* @param options.clientAnnexSpaceId {string} the pointed generation's Space
|
|
625
|
+
* (the sibling delegation's target)
|
|
626
|
+
* @param options.bindRecord {CredentialAnchoredBindRecordHook}
|
|
627
|
+
* @param options.stage {string} the bind's name in the result assertion
|
|
628
|
+
* @param [options.priorCreatedAt] {string} the earlier bind's stamp, when
|
|
629
|
+
* one stands
|
|
630
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
631
|
+
* @returns {Promise<{ bridge: IZcap, sibling: IZcap,
|
|
632
|
+
* rebind: CredentialAnchoredBindResult }>}
|
|
617
633
|
*/
|
|
618
|
-
export function
|
|
619
|
-
|
|
620
|
-
|
|
634
|
+
export async function rebindCredentialAnchoredRecord({ accountDid, pointer, ladderSeed, standingClientDid, clientAnnexSpaceId, bindRecord, stage, priorCreatedAt, now }) {
|
|
635
|
+
// The record's controller field is the ladder VM's bare did:key, derived
|
|
636
|
+
// from the same seed the delegations sign under so the two cannot diverge.
|
|
637
|
+
const controller = (await ladderVmAgent({ ladderSeed })).id;
|
|
638
|
+
const ladderZcap = await ladderVmZcapClient({ accountDid, ladderSeed });
|
|
639
|
+
const bridge = await delegateLogWrite({
|
|
640
|
+
zcapClient: ladderZcap,
|
|
641
|
+
pointer,
|
|
642
|
+
recoveryClientDid: standingClientDid
|
|
643
|
+
});
|
|
644
|
+
const sibling = await mintDelegatedClientsDelegation({
|
|
645
|
+
zcapClient: ladderZcap,
|
|
646
|
+
wasServerUrl: pointer.host,
|
|
647
|
+
clientAnnexSpaceId,
|
|
648
|
+
controller: standingClientDid,
|
|
649
|
+
...(now !== undefined ? { now } : {})
|
|
650
|
+
});
|
|
651
|
+
const rebind = await bindRecord({
|
|
652
|
+
controller,
|
|
653
|
+
pointer,
|
|
654
|
+
delegation: bridge,
|
|
655
|
+
delegatedClients: sibling,
|
|
656
|
+
delegateManagementTo: accountDid,
|
|
657
|
+
...(priorCreatedAt !== undefined ? { priorCreatedAt } : {})
|
|
658
|
+
});
|
|
659
|
+
assertBindResult({ bind: rebind, stage });
|
|
660
|
+
return { bridge, sibling, rebind };
|
|
621
661
|
}
|
|
622
662
|
/**
|
|
623
|
-
*
|
|
663
|
+
* The one builder of the standing fields a registry entry records, shared
|
|
664
|
+
* by the establishment (from the delegations it just minted and the re-bind
|
|
665
|
+
* it just ran) and the mend's registry arm (from the caller's standing
|
|
666
|
+
* record). Optional members are present iff their source is.
|
|
624
667
|
*
|
|
625
|
-
* @param
|
|
626
|
-
* @
|
|
668
|
+
* @param options {object}
|
|
669
|
+
* @param options.standing {object} the credential's standing client:
|
|
670
|
+
* `clientDid`, `keyAgreementKeyMultibase`, `recipientKid`
|
|
671
|
+
* @param options.updateKeyMultibase {string} the attributed revealed rung
|
|
672
|
+
* @param [options.bridge] {IZcap} the record's bridge delegation
|
|
673
|
+
* @param [options.sibling] {IZcap} the record's `delegatedClients` sibling
|
|
674
|
+
* @param [options.unlock] {object} the unlock key-agreement members, from
|
|
675
|
+
* the bind result or the standing record
|
|
676
|
+
* @returns {CredentialAnchoredStandingFields}
|
|
627
677
|
*/
|
|
628
|
-
export function
|
|
629
|
-
return
|
|
678
|
+
export function credentialAnchoredStandingFields({ standing, updateKeyMultibase, bridge, sibling, unlock }) {
|
|
679
|
+
return {
|
|
680
|
+
rosterKid: standing.recipientKid,
|
|
681
|
+
keyAgreementKeyMultibase: standing.keyAgreementKeyMultibase,
|
|
682
|
+
updateKeyMultibase,
|
|
683
|
+
unlockClientDid: standing.clientDid,
|
|
684
|
+
...recordedDelegationFields({
|
|
685
|
+
...(bridge ? { delegation: bridge } : {}),
|
|
686
|
+
...(sibling ? { delegatedClients: sibling } : {})
|
|
687
|
+
}),
|
|
688
|
+
...(unlock?.unlockKeyAgreementKeyId
|
|
689
|
+
? { unlockKeyAgreementKeyId: unlock.unlockKeyAgreementKeyId }
|
|
690
|
+
: {}),
|
|
691
|
+
...(unlock?.unlockKeyAgreementKeyMultibase
|
|
692
|
+
? {
|
|
693
|
+
unlockKeyAgreementKeyMultibase: unlock.unlockKeyAgreementKeyMultibase
|
|
694
|
+
}
|
|
695
|
+
: {})
|
|
696
|
+
};
|
|
630
697
|
}
|
|
631
698
|
/**
|
|
632
699
|
* Asserts a `bindRecord` result carries the members the ceremony reads --
|
|
@@ -655,8 +722,8 @@ export function assertBindResult({ bind, stage }) {
|
|
|
655
722
|
* `epochs.failed` (a collection the fan-out could not epoch) rather than
|
|
656
723
|
* throwing, and on a credential-anchored account no login-time sweep ever
|
|
657
724
|
* finishes them -- the establishment re-run is the only mender, so the
|
|
658
|
-
* establishment must stop here for it to be reached. A failed
|
|
659
|
-
* stage is deliberately NOT refused: the KMS stage is best-effort (reported
|
|
725
|
+
* establishment must stop here for it to be reached. A failed
|
|
726
|
+
* `kmsAuthentication` stage is deliberately NOT refused: the KMS stage is best-effort (reported
|
|
660
727
|
* on the result), and a keystore-less account is complete.
|
|
661
728
|
*
|
|
662
729
|
* @param options {object}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"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"}
|