@interop/wallet-core 0.66.0 → 0.68.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 +12 -8
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +6 -10
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +34 -56
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +46 -29
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +111 -86
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +7 -16
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +13 -24
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +33 -129
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +43 -182
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +26 -12
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +60 -57
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +75 -18
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +79 -147
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +8 -8
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +5 -5
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +51 -4
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +283 -47
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +62 -73
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +103 -117
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +123 -125
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +174 -233
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +0 -4
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +50 -51
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +25 -13
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +80 -303
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +6 -10
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +13 -18
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/zcap.d.ts +19 -0
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +80 -12
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/index.d.ts +3 -2
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -2
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +33 -15
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/policy.d.ts +18 -0
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +22 -8
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +18 -30
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +12 -27
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +6 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +27 -30
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/errors.d.ts +6 -5
- package/dist/descriptors/errors.d.ts.map +1 -1
- package/dist/descriptors/errors.js +6 -5
- package/dist/descriptors/errors.js.map +1 -1
- package/dist/descriptors/index.d.ts +7 -3
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +7 -3
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +28 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +33 -7
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +3 -7
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +11 -16
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +43 -47
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/genesis/kmsAuthentication.d.ts +50 -0
- package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
- package/dist/genesis/kmsAuthentication.js +49 -0
- package/dist/genesis/kmsAuthentication.js.map +1 -0
- package/dist/keyring/kdf.d.ts +16 -20
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +2 -2
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +8 -30
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +8 -31
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/clientKeyRecord.d.ts +2 -1
- package/dist/keys/clientKeyRecord.d.ts.map +1 -1
- package/dist/keys/clientKeyRecord.js +28 -11
- package/dist/keys/clientKeyRecord.js.map +1 -1
- package/dist/keys/index.d.ts +6 -2
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +5 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +14 -5
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +92 -3
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +110 -4
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +30 -3
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +90 -15
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +5 -1
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +250 -0
- package/dist/recovery/continuation.d.ts.map +1 -0
- package/dist/recovery/continuation.js +467 -0
- package/dist/recovery/continuation.js.map +1 -0
- 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/recoveryDelegation.d.ts +23 -126
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +1 -266
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +52 -107
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +54 -403
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/classify.d.ts +3 -14
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +19 -40
- package/dist/request/classify.js.map +1 -1
- package/dist/request/index.d.ts +1 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +1 -0
- package/dist/request/index.js.map +1 -1
- package/dist/request/onboarding.d.ts.map +1 -1
- package/dist/request/onboarding.js +19 -27
- package/dist/request/onboarding.js.map +1 -1
- package/dist/request/parse.d.ts +5 -3
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +7 -6
- package/dist/request/parse.js.map +1 -1
- package/dist/request/processRequest.d.ts.map +1 -1
- package/dist/request/processRequest.js +2 -1
- package/dist/request/processRequest.js.map +1 -1
- package/dist/request/queryPredicates.d.ts +98 -0
- package/dist/request/queryPredicates.d.ts.map +1 -0
- package/dist/request/queryPredicates.js +107 -0
- package/dist/request/queryPredicates.js.map +1 -0
- package/dist/resourceLog/document.d.ts +39 -0
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +41 -0
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/resourceLog/index.d.ts +2 -2
- package/dist/resourceLog/index.js +2 -2
- package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
- package/dist/resourceLog/ladderRungs.js +3 -2
- package/dist/resourceLog/ladderRungs.js.map +1 -1
- package/dist/sync/contactsConflict.d.ts.map +1 -1
- package/dist/sync/contactsConflict.js +8 -2
- package/dist/sync/contactsConflict.js.map +1 -1
- package/dist/sync/engine.d.ts +38 -23
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +36 -5
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -12
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +1 -2
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/remint.d.ts +0 -31
- package/dist/sync/remint.d.ts.map +1 -1
- package/dist/sync/remint.js +32 -1
- package/dist/sync/remint.js.map +1 -1
- package/dist/sync/types.d.ts +4 -41
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +4 -47
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +16 -64
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +7 -86
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +27 -61
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +40 -92
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +69 -44
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +68 -19
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +117 -37
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +24 -13
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +40 -11
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +91 -86
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +117 -142
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +2 -8
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +22 -31
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +12 -8
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +10 -7
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +102 -65
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/mergeMethods.d.ts +84 -0
- package/dist/webvh/mergeMethods.d.ts.map +1 -0
- package/dist/webvh/mergeMethods.js +46 -0
- package/dist/webvh/mergeMethods.js.map +1 -0
- package/dist/webvh/revokeClient.d.ts +15 -11
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +130 -57
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +45 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +62 -21
- package/dist/webvh/verifyLog.js.map +1 -1
- package/dist/webvh/wasIdStore.d.ts +16 -3
- package/dist/webvh/wasIdStore.d.ts.map +1 -1
- package/dist/webvh/wasIdStore.js +18 -3
- package/dist/webvh/wasIdStore.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { ensurePromotedSpaceController, mintSpaceId } from '../genesis/accountGenesis.js';
|
|
2
2
|
import { currentLogParameters, keyAgreementCommitment, readPublishedLog } from '../webvh/didWebvh.js';
|
|
3
|
-
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
4
3
|
import { didKeyZcapClient } from '../webvh/zcap.js';
|
|
5
4
|
import { delegateLogWrite, recordedDelegationFields } from '../recovery/recoveryDelegation.js';
|
|
6
5
|
import { mintUserKey } from '../keys/index.js';
|
|
7
6
|
import { attributeLadderRung } from './ladder.js';
|
|
8
|
-
import { ladderVmAgent,
|
|
7
|
+
import { ladderVmAgent, ladderVmSigners } from './zcap.js';
|
|
9
8
|
import { clientAnnexDidParts, mintDelegatedClientsDelegation, mintPointedClientAnnexGeneration, setDelegatedClientsPointer } from './log.js';
|
|
10
|
-
import { ladderSignedGenerationDelegationMinter,
|
|
9
|
+
import { ladderSignedGenerationDelegationMinter, movePointerAsLadder, rawRequestStatus, resolveClientAnnexSpaceId } from './heal.js';
|
|
11
10
|
import { ensureCredentialAnchoredAccountGenesis } from './credentialAnchoredGenesis.js';
|
|
12
11
|
import { CONTROLLER_PROMOTION_STAGE } from './stages.js';
|
|
13
12
|
import { ensureRosterDeliveredEpochs } from './rosterDeliveredEpochs.js';
|
|
@@ -23,9 +22,15 @@ import { stageNotifier } from '../log.js';
|
|
|
23
22
|
* delegation while the Space still answers to its creation controller, flip
|
|
24
23
|
* the Space's controller to the account DID, then append the pointer entry
|
|
25
24
|
* -- strictly last in the block, so pointer-present implies every prior
|
|
26
|
-
* sub-step landed. The pointer entry signs
|
|
27
|
-
*
|
|
28
|
-
* pin
|
|
25
|
+
* sub-step landed. The pointer entry signs on the arm the caller states: an
|
|
26
|
+
* enrolled client's own update keys, or the ladder (attributed, revealed,
|
|
27
|
+
* and signed per attempt); every log touch rides the caller's chain-head pin
|
|
28
|
+
* store. On the ladder arm the rung is attributed BEFORE anything is minted,
|
|
29
|
+
* the pre-flight every pointer-moving arm runs: a ladder the log carries no
|
|
30
|
+
* rung of, and an ambiguous attribution, throw the ladder's own
|
|
31
|
+
* `LadderAttributionError` with no Space or generation minted, so a torn
|
|
32
|
+
* establishment never orphans an annex Space on an account that no longer
|
|
33
|
+
* anchors this ladder.
|
|
29
34
|
*
|
|
30
35
|
* Two invocation authorities, heal's pattern. A caller holding a standing
|
|
31
36
|
* invocation authority (`invocation`: an enrolled client's storage handle
|
|
@@ -50,8 +55,6 @@ import { stageNotifier } from '../log.js';
|
|
|
50
55
|
* @param options.account {object} the VERIFIED account log view
|
|
51
56
|
* (`{ did, doc, log }`; never re-fetched here)
|
|
52
57
|
* @param options.wasServerUrl {string} the account pointer's host
|
|
53
|
-
* @param options.accountSpaceId {string} the ACCOUNT Space's id (the
|
|
54
|
-
* generation delegation's target subtree, and the account-log pin slot)
|
|
55
58
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
56
59
|
* @param options.was {WasClient} the bootstrap storage client (the ladder
|
|
57
60
|
* VM's bare did:key), used by the fresh-mint arm
|
|
@@ -61,9 +64,18 @@ import { stageNotifier } from '../log.js';
|
|
|
61
64
|
* `({ clientAnnexDid }) => Promise<IZcap>` -- the generation-delegation
|
|
62
65
|
* minter (ladder-VM-signed on a ladder-anchored account)
|
|
63
66
|
* @param options.idStore {WebvhIdStore} the ACCOUNT log's store
|
|
64
|
-
* @param
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
+
* @param options.signer {object} who signs the pointer entry:
|
|
68
|
+
* `{ kind: 'client', updateKeys }`, an enrolled client's own update keys
|
|
69
|
+
* (freewallet's remembered-login fold), or `{ kind: 'ladder' }`, under
|
|
70
|
+
* which the entry is moved as the ladder with the supplied `ladderSeed`
|
|
71
|
+
* (`movePointerAsLadder`): every attempt of its conflict retry attributes
|
|
72
|
+
* the ladder's current rung from the head it reads, reveals it when only
|
|
73
|
+
* its hash stands committed, and signs with it -- so a racing ceremony that
|
|
74
|
+
* spends the rung is climbed past. A pair fixed by the caller could not be,
|
|
75
|
+
* since the client arm's not-authorized refusal is not a conflict the retry
|
|
76
|
+
* re-runs on. Stated explicitly rather than read off `updateKeys`'
|
|
77
|
+
* absence, since the ladder arm reveals a rung into the world-readable
|
|
78
|
+
* `updateKeys` and an omission must not select it silently
|
|
67
79
|
* @param [options.delegatedClients] {IZcap} the record's sibling
|
|
68
80
|
* delegation, for the Space resolution's settled order
|
|
69
81
|
* @param [options.invocation] {object} a standing invocation authority for
|
|
@@ -74,8 +86,6 @@ import { stageNotifier } from '../log.js';
|
|
|
74
86
|
* @param [options.logOnly] {boolean} pointer entries publish the log only
|
|
75
87
|
* (a bridge-delegated writer has no `did.json` projection rights); the
|
|
76
88
|
* establishment's root window omits it
|
|
77
|
-
* @param [options.pinStore] {ResourceLogPinStore} chain-head pins; slot
|
|
78
|
-
* keys are derived here per log
|
|
79
89
|
* @param [options.published] {PublishedWebvhLog} the same account head as
|
|
80
90
|
* `account`, complete with the ETag its read carried, when the caller holds
|
|
81
91
|
* one. The pointer entry's first attempt then builds on it -- one saved
|
|
@@ -83,12 +93,29 @@ import { stageNotifier } from '../log.js';
|
|
|
83
93
|
* compare-and-swap falls through to a fresh pinned read
|
|
84
94
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
85
95
|
* @returns {Promise<object>} the pointed (or freshly minted) annex DID,
|
|
86
|
-
* the generation delegation when one was installed here, what ran,
|
|
87
|
-
*
|
|
96
|
+
* the generation delegation when one was installed here, what ran, on
|
|
97
|
+
* `accountLog` the account head this block leaves standing (the
|
|
88
98
|
* post-pointer-entry one when it wrote, the supplied `published` verbatim
|
|
89
|
-
* when the document already pointed at a generation
|
|
99
|
+
* when the document already pointed at a generation), and on the ladder
|
|
100
|
+
* arm `rung`: the rung the pointer entry was signed with when this call
|
|
101
|
+
* wrote one, else the ladder's currently attributed rung
|
|
90
102
|
*/
|
|
91
|
-
export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl,
|
|
103
|
+
export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl, ladderSeed, was, mintController, mintGenerationDelegation, idStore, signer, delegatedClients, invocation, logOnly, published, now }) {
|
|
104
|
+
// The ladder arm's pre-flight, before the pointer test and before anything
|
|
105
|
+
// is minted: the ladder's current rung, attributed from the account log's
|
|
106
|
+
// current parameters (rung 0, revealed, on a fresh establishment; a
|
|
107
|
+
// committed-only rung after a sibling self-enrolled). An account whose
|
|
108
|
+
// document no longer anchors this ladder throws here, with no Space or
|
|
109
|
+
// generation minted and, in the establishment, while the record is still
|
|
110
|
+
// in its pre-re-bind shape. A pre-flight only: the pointer entry
|
|
111
|
+
// attributes again per attempt inside its own retry and reveals a
|
|
112
|
+
// committed rung itself.
|
|
113
|
+
const attributed = signer.kind === 'ladder'
|
|
114
|
+
? await attributeLadderRung({
|
|
115
|
+
ladderSeed,
|
|
116
|
+
published: currentLogParameters(account)
|
|
117
|
+
})
|
|
118
|
+
: undefined;
|
|
92
119
|
const { pointer, annexSpaceId } = resolveClientAnnexSpaceId({
|
|
93
120
|
doc: account.doc,
|
|
94
121
|
...(delegatedClients !== undefined ? { delegatedClients } : {})
|
|
@@ -99,23 +126,36 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
99
126
|
generationMinted: false,
|
|
100
127
|
spaceMinted: false,
|
|
101
128
|
// Nothing was written, so the caller's head is still the standing one.
|
|
102
|
-
...(published !== undefined ? { accountLog: published } : {})
|
|
129
|
+
...(published !== undefined ? { accountLog: published } : {}),
|
|
130
|
+
...(attributed !== undefined ? { rung: attributed.rung } : {})
|
|
103
131
|
};
|
|
104
132
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
133
|
+
const pointGeneration = async (clientAnnexDid) => signer.kind === 'client'
|
|
134
|
+
? setDelegatedClientsPointer({
|
|
135
|
+
idStore,
|
|
136
|
+
signer,
|
|
137
|
+
clientAnnexDid,
|
|
138
|
+
expectedDid: account.did,
|
|
139
|
+
...(logOnly !== undefined ? { logOnly } : {}),
|
|
140
|
+
...(published !== undefined ? { published } : {})
|
|
141
|
+
})
|
|
142
|
+
: movePointerAsLadder({
|
|
143
|
+
idStore,
|
|
144
|
+
ladderSeed,
|
|
145
|
+
clientAnnexDid,
|
|
146
|
+
accountDid: account.did,
|
|
147
|
+
...(logOnly !== undefined ? { logOnly } : {}),
|
|
148
|
+
...(published !== undefined ? { published } : {})
|
|
149
|
+
});
|
|
150
|
+
// The one outcome shape both minting arms hand back.
|
|
151
|
+
const pointedOutcome = (generation, spaceMinted) => ({
|
|
152
|
+
clientAnnexDid: generation.clientAnnexDid,
|
|
153
|
+
generationDelegation: generation.generationDelegation,
|
|
154
|
+
generationMinted: true,
|
|
155
|
+
spaceMinted,
|
|
156
|
+
accountLog: generation.pointed.published,
|
|
157
|
+
...(generation.pointed.rung !== undefined
|
|
158
|
+
? { rung: generation.pointed.rung }
|
|
119
159
|
: {})
|
|
120
160
|
});
|
|
121
161
|
// The standing-authority arm: the sibling-named Space is already
|
|
@@ -131,16 +171,10 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
131
171
|
capability: invocation.capability,
|
|
132
172
|
mintGenerationDelegation,
|
|
133
173
|
point: pointGeneration,
|
|
134
|
-
|
|
174
|
+
pinStore: idStore.pin.store,
|
|
135
175
|
...(now !== undefined ? { now } : {})
|
|
136
176
|
});
|
|
137
|
-
return
|
|
138
|
-
clientAnnexDid: generation.clientAnnexDid,
|
|
139
|
-
generationDelegation: generation.generationDelegation,
|
|
140
|
-
generationMinted: true,
|
|
141
|
-
spaceMinted: false,
|
|
142
|
-
accountLog: generation.pointed.published
|
|
143
|
-
};
|
|
177
|
+
return pointedOutcome(generation, false);
|
|
144
178
|
}
|
|
145
179
|
// The bootstrap arm: mint, embed the delegation while the Space still
|
|
146
180
|
// answers to its creation controller, flip, then the pointer entry.
|
|
@@ -153,7 +187,7 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
153
187
|
ladderSeed,
|
|
154
188
|
mintGenerationDelegation,
|
|
155
189
|
point: pointGeneration,
|
|
156
|
-
|
|
190
|
+
pinStore: idStore.pin.store,
|
|
157
191
|
...(now !== undefined ? { now } : {}),
|
|
158
192
|
// The controller flip. ONLY an authorization-class refusal is
|
|
159
193
|
// swallowed: this Space may be a sibling-named one a concurrent run
|
|
@@ -187,13 +221,7 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
|
|
|
187
221
|
}
|
|
188
222
|
}
|
|
189
223
|
});
|
|
190
|
-
return
|
|
191
|
-
clientAnnexDid: generation.clientAnnexDid,
|
|
192
|
-
generationDelegation: generation.generationDelegation,
|
|
193
|
-
generationMinted: true,
|
|
194
|
-
spaceMinted,
|
|
195
|
-
accountLog: generation.pointed.published
|
|
196
|
-
};
|
|
224
|
+
return pointedOutcome(generation, spaceMinted);
|
|
197
225
|
};
|
|
198
226
|
if (annexSpaceId !== undefined) {
|
|
199
227
|
// A sibling-named Space under bootstrap authority alone: writable only
|
|
@@ -228,11 +256,11 @@ function authorizationRefusal(err) {
|
|
|
228
256
|
if (candidate === null || typeof candidate !== 'object') {
|
|
229
257
|
continue;
|
|
230
258
|
}
|
|
231
|
-
const
|
|
232
|
-
const status = carried.status ?? carried.response?.status;
|
|
259
|
+
const status = rawRequestStatus(candidate);
|
|
233
260
|
if (status === 401 || status === 403) {
|
|
234
261
|
return true;
|
|
235
262
|
}
|
|
263
|
+
const carried = candidate;
|
|
236
264
|
if (carried.name === 'NotAllowedError' ||
|
|
237
265
|
carried.name === 'ForbiddenError' ||
|
|
238
266
|
carried.name === 'UnauthorizedError') {
|
|
@@ -309,9 +337,6 @@ function authorizationRefusal(err) {
|
|
|
309
337
|
* invocation under the bootstrap did:key works (the signup's registry
|
|
310
338
|
* write). NOT swallowed here: a throw fails the establishment, so a hook
|
|
311
339
|
* that must be best-effort swallows its own failures
|
|
312
|
-
* @param [options.pinStore] {ResourceLogPinStore} the chain-head pin store
|
|
313
|
-
* for every log read here (a transient visit's in-memory handle, or a
|
|
314
|
-
* client-local one when a remembered caller seeds its own pin)
|
|
315
340
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
316
341
|
* @param [options.onStage] {StageNotifier} observational: called as each
|
|
317
342
|
* stage finishes, so a caller can time them, in the order of
|
|
@@ -354,7 +379,7 @@ export function establishCredentialAnchoredAccount(options) {
|
|
|
354
379
|
* @param options {object} see {@link establishCredentialAnchoredAccount}
|
|
355
380
|
* @returns {Promise<CredentialAnchoredEstablishment>}
|
|
356
381
|
*/
|
|
357
|
-
async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId, ladderSeed, standing, bindRecord, rosterStoreFor, bootstrapWasFor, idStore, expectedDid, lowEntropy, priorCreatedAt, delegatedClients, provideKmsAuthentication, promoteKeystore, beforePromotion,
|
|
382
|
+
async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId, ladderSeed, standing, bindRecord, rosterStoreFor, bootstrapWasFor, idStore, expectedDid, lowEntropy, priorCreatedAt, delegatedClients, provideKmsAuthentication, promoteKeystore, beforePromotion, now, onStage }) {
|
|
358
383
|
const stage = stageNotifier(onStage);
|
|
359
384
|
const bootstrapAgent = await ladderVmAgent({ ladderSeed });
|
|
360
385
|
const bootstrapZcap = didKeyZcapClient({ keyAgent: bootstrapAgent });
|
|
@@ -410,7 +435,6 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
410
435
|
rosterStoreFor,
|
|
411
436
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
412
437
|
...(provideKmsAuthentication ? { provideKmsAuthentication } : {}),
|
|
413
|
-
...(pinStore !== undefined ? { accountLogPinStore: pinStore } : {}),
|
|
414
438
|
promoteController: false,
|
|
415
439
|
...(onStage !== undefined ? { onStage } : {})
|
|
416
440
|
});
|
|
@@ -438,15 +462,25 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
438
462
|
// 2c. The adopted-roster arm: a re-run that adopted an earlier run's
|
|
439
463
|
// roster recovers the real user key from the credential's standing wrap
|
|
440
464
|
// and completes the collection epochs under it -- the one installer,
|
|
441
|
-
// through the shared mint-policy stage.
|
|
465
|
+
// through the shared mint-policy stage. The stage's mint guard is the
|
|
466
|
+
// genesis's own observation: it adopted a PRESENT roster a moment ago, so
|
|
467
|
+
// a decide-read now serving it absent is a host contradicting itself, and
|
|
468
|
+
// minting there would be a single-recipient roster genesis over a roster
|
|
469
|
+
// that exists. Refused outright; nothing else licenses the mint here.
|
|
442
470
|
let userKey = candidateUserKey;
|
|
443
471
|
if (genesis.rosterDescriptor.currentEpoch !== candidateUserKey.id) {
|
|
472
|
+
const adoptedEpoch = genesis.rosterDescriptor.currentEpoch;
|
|
444
473
|
const delivered = await ensureRosterDeliveredEpochs({
|
|
445
474
|
store: rosterStoreFor({ did, log: genesis.published.log }),
|
|
446
475
|
candidateUserKey,
|
|
447
476
|
clientKeyAgreementKey: standing.keyAgreementKey,
|
|
448
477
|
was: bootstrapWas,
|
|
449
|
-
spaceId
|
|
478
|
+
spaceId,
|
|
479
|
+
beforeMint: async () => {
|
|
480
|
+
throw new Error('The user-key roster the genesis adopted (current epoch ' +
|
|
481
|
+
`${String(adoptedEpoch)}) is now served absent; refusing to ` +
|
|
482
|
+
'mint a fresh roster over it.');
|
|
483
|
+
}
|
|
450
484
|
});
|
|
451
485
|
if (delivered.outcome === 'no-wrap') {
|
|
452
486
|
throw new Error('The adopted user-key roster could not be read back with this ' +
|
|
@@ -481,38 +515,23 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
481
515
|
// unconditional write.
|
|
482
516
|
const published = genesis.logMinted && genesis.published.etag !== undefined
|
|
483
517
|
? genesis.published
|
|
484
|
-
: await readPublishedLog({
|
|
485
|
-
idStore,
|
|
486
|
-
expectedDid: did,
|
|
487
|
-
...(pinStore !== undefined
|
|
488
|
-
? { pinStore, logId: accountLogPinId({ spaceId }) }
|
|
489
|
-
: {})
|
|
490
|
-
});
|
|
518
|
+
: await readPublishedLog({ idStore, expectedDid: did });
|
|
491
519
|
if (published === undefined) {
|
|
492
520
|
throw new Error('The account log the genesis published could not be read.');
|
|
493
521
|
}
|
|
494
|
-
// The bind-time REVEALED rung, attributed from the published log's current
|
|
495
|
-
// parameters (rung 0 on a fresh establishment) -- resolved HERE, before
|
|
496
|
-
// stage 3 and strictly before the re-bind: on an account whose document no
|
|
497
|
-
// longer anchors this ladder (a struck ladder VM), the attribution throws
|
|
498
|
-
// while the record is still in its pre-re-bind shape, rather than after a
|
|
499
|
-
// re-bind that would leave a rebound record with no registry entry and no
|
|
500
|
-
// mender. A committed-only rung refuses too: it cannot sign, and recording
|
|
501
|
-
// it as the registry's update key would misstate the standing rung.
|
|
502
|
-
const attributed = await attributeLadderRung({
|
|
503
|
-
ladderSeed,
|
|
504
|
-
published: currentLogParameters(published)
|
|
505
|
-
});
|
|
506
|
-
if (attributed.state !== 'revealed') {
|
|
507
|
-
throw new Error("No revealed rung of this credential's ladder stands in the account " +
|
|
508
|
-
"log's current update keys; the establishment cannot proceed.");
|
|
509
|
-
}
|
|
510
522
|
stage('account-log-read');
|
|
523
|
+
// Stage 3 on the ladder arm. Its pre-mint attribution is what refuses an
|
|
524
|
+
// account whose document no longer anchors this ladder (a struck ladder
|
|
525
|
+
// VM) while the record is still in its pre-re-bind shape, rather than
|
|
526
|
+
// after a re-bind that would leave a rebound record with no registry entry
|
|
527
|
+
// and no mender. The pointer entry rides the root-invoking store in this
|
|
528
|
+
// window, so it republishes the `did:web` projection beside itself.
|
|
511
529
|
const generation = await ensurePointedClientAnnexGeneration({
|
|
512
530
|
account: published,
|
|
513
531
|
wasServerUrl,
|
|
514
|
-
accountSpaceId: spaceId,
|
|
515
532
|
ladderSeed,
|
|
533
|
+
signer: { kind: 'ladder' },
|
|
534
|
+
logOnly: false,
|
|
516
535
|
was: bootstrapWas,
|
|
517
536
|
mintController: bootstrapAgent.id,
|
|
518
537
|
mintGenerationDelegation: ladderSignedGenerationDelegationMinter({
|
|
@@ -525,7 +544,6 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
525
544
|
idStore,
|
|
526
545
|
published,
|
|
527
546
|
...(delegatedClients !== undefined ? { delegatedClients } : {}),
|
|
528
|
-
...(pinStore !== undefined ? { pinStore } : {}),
|
|
529
547
|
...(now !== undefined ? { now } : {})
|
|
530
548
|
});
|
|
531
549
|
stage('annex-generation');
|
|
@@ -559,7 +577,11 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
559
577
|
: {}),
|
|
560
578
|
standingFields: credentialAnchoredStandingFields({
|
|
561
579
|
standing,
|
|
562
|
-
|
|
580
|
+
// The rung the pointer entry was signed with when stage 3 wrote one (a
|
|
581
|
+
// lost race may have climbed past the pre-flight's answer), else the
|
|
582
|
+
// rung stage 3's pre-flight found standing. The ladder arm always
|
|
583
|
+
// reports one.
|
|
584
|
+
updateKeyMultibase: generation.rung.keyMultibase,
|
|
563
585
|
bridge,
|
|
564
586
|
sibling,
|
|
565
587
|
unlock: rebind
|
|
@@ -634,8 +656,11 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
|
|
|
634
656
|
export async function rebindCredentialAnchoredRecord({ accountDid, pointer, ladderSeed, standingClientDid, clientAnnexSpaceId, bindRecord, stage, priorCreatedAt, now }) {
|
|
635
657
|
// The record's controller field is the ladder VM's bare did:key, derived
|
|
636
658
|
// from the same seed the delegations sign under so the two cannot diverge.
|
|
637
|
-
const
|
|
638
|
-
|
|
659
|
+
const { agent: ladderAgent, zcapClient: ladderZcap } = await ladderVmSigners({
|
|
660
|
+
accountDid,
|
|
661
|
+
ladderSeed
|
|
662
|
+
});
|
|
663
|
+
const controller = ladderAgent.id;
|
|
639
664
|
const bridge = await delegateLogWrite({
|
|
640
665
|
zcapClient: ladderZcap,
|
|
641
666
|
pointer,
|
|
@@ -668,7 +693,7 @@ export async function rebindCredentialAnchoredRecord({ accountDid, pointer, ladd
|
|
|
668
693
|
* @param options {object}
|
|
669
694
|
* @param options.standing {object} the credential's standing client:
|
|
670
695
|
* `clientDid`, `keyAgreementKeyMultibase`, `recipientKid`
|
|
671
|
-
* @param options.updateKeyMultibase {string} the attributed
|
|
696
|
+
* @param options.updateKeyMultibase {string} the ladder's attributed rung
|
|
672
697
|
* @param [options.bridge] {IZcap} the record's bridge delegation
|
|
673
698
|
* @param [options.sibling] {IZcap} the record's `delegatedClients` sibling
|
|
674
699
|
* @param [options.unlock] {object} the unlock key-agreement members, from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"AA+FA,OAAO,EACL,6BAA6B,EAC7B,WAAW,EAEZ,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAInD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,sCAAsC,EACtC,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAA;AACvF,OAAO,EACL,0BAA0B,EAE3B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,aAAa,EAAsB,MAAM,WAAW,CAAA;AAoF7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,EACvD,OAAO,EACP,YAAY,EACZ,cAAc,EACd,UAAU,EACV,GAAG,EACH,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,EAmBJ;IAOC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,yBAAyB,CAAC;QAC1D,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAA;IACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,cAAc,EAAE,OAAO;YACvB,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,KAAK;YAClB,uEAAuE;YACvE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAA;IACH,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,uBAAuB;IACvB,MAAM,SAAS,GACb,UAAU;QACV,CAAC,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAElE,MAAM,eAAe,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE,CACvD,0BAA0B,CAAC;QACzB,OAAO;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;QACjD,cAAc;QACd,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IAEJ,iEAAiE;IACjE,sEAAsE;IACtE,6CAA6C;IAC7C,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC;YACxD,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,YAAY;YACZ,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,OAAO,CAAC,GAAG;YACvB,UAAU;YACV,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,wBAAwB;YACxB,KAAK,EAAE,eAAe;YACtB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,OAAO;YACL,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS;SACzC,CAAA;IACH,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,YAAY,GAAG,KAAK,EAAE,EAC1B,OAAO,EACP,WAAW,EAIZ,EAAE,EAAE;QACH,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC;YACxD,GAAG;YACH,YAAY;YACZ,OAAO;YACP,UAAU,EAAE,cAAc;YAC1B,UAAU;YACV,wBAAwB;YACxB,KAAK,EAAE,eAAe;YACtB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,8DAA8D;YAC9D,oEAAoE;YACpE,gEAAgE;YAChE,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,kEAAkE;YAClE,gEAAgE;YAChE,6DAA6D;YAC7D,EAAE;YACF,uEAAuE;YACvE,iEAAiE;YACjE,iEAAiE;YACjE,iEAAiE;YACjE,YAAY;YACZ,kBAAkB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;wBACjC,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;4BACvC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;wBACP,UAAU,EAAE,OAAO,CAAC,GAAG;wBACvB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,GAAG,CAAA;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QACF,OAAO;YACL,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;YACrD,gBAAgB,EAAE,IAAI;YACtB,WAAW;YACX,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS;SACzC,CAAA;IACH,CAAC,CAAA;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,qCAAqC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAG,GAAkC,EAAE,KAAK,CAAC,CAAA;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxD,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,SAIf,CAAA;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IACE,OAAO,CAAC,IAAI,KAAK,iBAAiB;YAClC,OAAO,CAAC,IAAI,KAAK,gBAAgB;YACjC,OAAO,CAAC,IAAI,KAAK,mBAAmB,EACpC,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAmClD;IACC,sEAAsE;IACtE,uEAAuE;IACvE,6BAA6B;IAC7B,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CACjB,qEAAqE;YACnE,2DAA2D,CAC9D,CAAA;IACH,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CACjB,kEAAkE;YAChE,mDAAmD,CACtD,CAAA;IACH,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,qEAAqE;YACnE,4DAA4D,CAC/D,CAAA;IACH,CAAC;IACD,OAAO,yCAAyC,CAAC,OAAO,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,yCAAyC,CAAC,EACvD,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,eAAe,EACf,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,QAAQ,EACR,GAAG,EACH,OAAO,EAGL;IACF,MAAM,KAAK,GAAG,aAAa,CAA2C,OAAO,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;IACpE,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;IAClE,MAAM,OAAO,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;IAC/D,MAAM,MAAM,GAA8C,EAAE,CAAA;IAE5D,mEAAmE;IACnE,kEAAkE;IAClE,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,YAAY,GAChB,UAAU,KAAK,KAAK;QAClB,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,wBAAwB,EAAE;QAC3D,CAAC,CAAC;YACE,UAAU,EAAE,MAAM,sBAAsB,CAAC;gBACvC,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;aAC5D,CAAC;SACH,CAAA;IAEP,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,qBAAqB;IACrB,IAAI,kBAAkB,GAAG,cAAc,CAAA;IACvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YAC3C,UAAU,EAAE,aAAa;YACzB,OAAO;YACP,iBAAiB,EAAE,QAAQ,CAAC,SAAS;SACtC,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC;YACjC,UAAU,EAAE,cAAc,CAAC,EAAE;YAC7B,OAAO;YACP,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAA;QACF,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAC1D,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAA;QACxC,KAAK,CAAC,cAAc,CAAC,CAAA;IACvB,CAAC;IAED,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,MAAM,WAAW,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,MAAM,sCAAsC,CAAC;QAC3D,GAAG,EAAE,YAAY;QACjB,YAAY;QACZ,OAAO;QACP,UAAU;QACV,YAAY;QACZ,iBAAiB,EAAE;YACjB,EAAE,EAAE,QAAQ,CAAC,YAAY;YACzB,kBAAkB,EAAE,QAAQ,CAAC,wBAAwB;SACtD;QACD,OAAO,EAAE,gBAAgB;QACzB,OAAO;QACP,cAAc;QACd,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,iBAAiB,EAAE,KAAK;QACxB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAA;IACF,oEAAoE;IACpE,wEAAwE;IACxE,uEAAuE;IACvE,mCAAmC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;IACvB,MAAM,WAAW,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAA;IACxE,iEAAiE;IACjE,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACvE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,qEAAqE;IACrE,wCAAwC;IACxC,IAAI,OAAO,GAAY,gBAAgB,CAAA;IACvC,IAAI,OAAO,CAAC,gBAAgB,CAAC,YAAY,KAAK,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC;YAClD,KAAK,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAC1D,gBAAgB;YAChB,qBAAqB,EAAE,QAAQ,CAAC,eAAe;YAC/C,GAAG,EAAE,YAAY;YACjB,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,+DAA+D;gBAC7D,aAAa,EACf,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAC3B,CAAA;QACH,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;QAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7D,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAClC,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,oEAAoE;IACpE,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,8CAA8C;IAC9C,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,uBAAuB;IACvB,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS;QACvD,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,MAAM,gBAAgB,CAAC;YACrB,OAAO;YACP,WAAW,EAAE,GAAG;YAChB,GAAG,CAAC,QAAQ,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAA;IACR,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC;QAC3C,UAAU;QACV,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;KAC3C,CAAC,CAAA;IACF,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,8DAA8D,CACjE,CAAA;IACH,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,MAAM,kCAAkC,CAAC;QAC1D,OAAO,EAAE,SAAS;QAClB,YAAY;QACZ,cAAc,EAAE,OAAO;QACvB,UAAU;QACV,GAAG,EAAE,YAAY;QACjB,cAAc,EAAE,cAAc,CAAC,EAAE;QACjC,wBAAwB,EAAE,sCAAsC,CAAC;YAC/D,UAAU,EAAE,GAAG;YACf,UAAU;YACV,YAAY;YACZ,OAAO;YACP,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,OAAO;QACP,SAAS;QACT,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;IACF,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACzB,MAAM,WAAW,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAA;IAE3E,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,eAAe;IACf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,8BAA8B,CAAC;QACvE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,WAAW;QACpB,UAAU;QACV,iBAAiB,EAAE,QAAQ,CAAC,SAAS;QACrC,kBAAkB,EAAE,WAAW,CAAC,OAAO;QACvC,UAAU;QACV,KAAK,EAAE,SAAS;QAChB,GAAG,CAAC,kBAAkB,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;IACF,KAAK,CAAC,eAAe,CAAC,CAAA;IAEtB,MAAM,aAAa,GAAoC;QACrD,GAAG;QACH,yEAAyE;QACzE,iEAAiE;QACjE,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,SAAS;QAC9C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,CAAC,MAAM,CAAC,gBAAgB;YACzB,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,cAAc,EAAE,gCAAgC,CAAC;YAC/C,QAAQ;YACR,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY;YAChD,MAAM;YACN,OAAO;YACP,MAAM,EAAE,MAAM;SACf,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM;KACP,CAAA;IAED,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC;YACpB,GAAG,EAAE,YAAY;YACjB,UAAU,EAAE,aAAa;YACzB,GAAG;YACH,OAAO;YACP,aAAa;SACd,CAAC,CAAA;IACJ,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,6CAA6C;IAC7C,MAAM,6BAA6B,CAAC;QAClC,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,YAAY;QACzB,OAAO;QACP,GAAG;KACJ,CAAC,CAAA;IACF,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAEjC,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,gBAAgB;IAChB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,UAAU,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,cAAc,EACd,GAAG,EAWJ;IAKC,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,UAAU,EAAE,UAAU;QACtB,OAAO;QACP,iBAAiB,EAAE,iBAAiB;KACrC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC;QACnD,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,OAAO,CAAC,IAAI;QAC1B,kBAAkB;QAClB,UAAU,EAAE,iBAAiB;QAC7B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC9B,UAAU;QACV,OAAO;QACP,UAAU,EAAE,MAAM;QAClB,gBAAgB,EAAE,OAAO;QACzB,oBAAoB,EAAE,UAAU;QAChC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAA;IACF,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAC/C,QAAQ,EACR,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,MAAM,EAcP;IACC,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,YAAY;QAChC,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;QAC3D,kBAAkB;QAClB,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,GAAG,wBAAwB,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QACF,GAAG,CAAC,MAAM,EAAE,uBAAuB;YACjC,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,EAAE,8BAA8B;YACxC,CAAC,CAAC;gBACE,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;aACtE;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EAIN;IACC,IAAI,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,SAAS,CACjB,yBAAyB,KAAK,oCAAoC;YAChE,iCAAiC,CACpC,CAAA;IACH,CAAC;IACD,IACE,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;QACtC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,yBAAyB,KAAK,kCAAkC;YAC9D,oCAAoC,CACvC,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,MAAM,EAIP;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAC9D,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,CAAC,KAAK,gBAAgB,EAChE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CACvB,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mEAAmE;YACjE,eAAe,UAAU,CAAC,YAAY,IAAI,EAC5C,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAC5B,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,6 @@ import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
|
69
69
|
import type { CollectionEncryption } from '@interop/was-client';
|
|
70
70
|
import type { EncryptionDescriptorStore } from '@interop/was-client/edv';
|
|
71
71
|
import type { WebvhIdStore } from '../webvh/didWebvh.js';
|
|
72
|
-
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
73
72
|
import type { RevokedClientKeys } from '../webvh/revokeClient.js';
|
|
74
73
|
import { type CascadeCollections, type UserKey, type UserKeyAdoptedHook, type UserKeyCascadeResult } from '../keys/index.js';
|
|
75
74
|
import type { UnlockLogStore } from '../unlock/standingWebvh.js';
|
|
@@ -98,22 +97,16 @@ export interface EnrolledClientForgetResult {
|
|
|
98
97
|
* @param options {object}
|
|
99
98
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
100
99
|
* `did.jsonl` bridge store; also serves the ceremony's public pre-edit
|
|
101
|
-
* read
|
|
100
|
+
* read. Every read the ceremony makes -- the pre-edit read the roster
|
|
101
|
+
* rotation's recipient document comes from, and the removal entry's own
|
|
102
|
+
* read inside its conflict-retry loop -- is checked against the store's
|
|
103
|
+
* chain-head pin, so a served truncated prefix is refused
|
|
104
|
+
* (`ResourceLogContinuityError`, `rollback`) before any roster append or
|
|
105
|
+
* log publish, and the pin advances to the head the removal entry publishes
|
|
102
106
|
* @param options.clientLogStore {object} the account's `id` collection
|
|
103
107
|
* store invoked under THIS (still-standing) enrolled client's root
|
|
104
108
|
* authority. Used for one thing: the post-removal `did:web` projection PUT
|
|
105
109
|
* that precedes the removal entry (see stage 3 in the module doc)
|
|
106
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
107
|
-
* pins. Every read the ceremony makes -- the pre-edit read the roster
|
|
108
|
-
* rotation's recipient document comes from, and the removal entry's own
|
|
109
|
-
* read inside its conflict-retry loop -- is checked against the pinned
|
|
110
|
-
* head, so a served truncated prefix is refused (`ResourceLogContinuityError`,
|
|
111
|
-
* `rollback`) before any roster append or log publish, and the pin
|
|
112
|
-
* advances to the head the removal entry publishes. Without it the
|
|
113
|
-
* ceremony checks `expectedDid` only
|
|
114
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
115
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
116
|
-
* supplied
|
|
117
110
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
118
111
|
* @param options.forgottenClient {RevokedClientKeys} this client's public
|
|
119
112
|
* halves; an `updateKeyMultibase` the log does not authorize (stale, or the
|
|
@@ -140,11 +133,9 @@ export interface EnrolledClientForgetResult {
|
|
|
140
133
|
* @param options.collections {CascadeCollections} the fan-out's work
|
|
141
134
|
* @returns {Promise<EnrolledClientForgetResult>}
|
|
142
135
|
*/
|
|
143
|
-
export declare function forgetEnrolledClient({ logStore, clientLogStore,
|
|
136
|
+
export declare function forgetEnrolledClient({ logStore, clientLogStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStore, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections }: {
|
|
144
137
|
logStore: UnlockLogStore;
|
|
145
138
|
clientLogStore: Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
|
|
146
|
-
pinStore?: ResourceLogPinStore;
|
|
147
|
-
logId?: string;
|
|
148
139
|
ladderSeed: Uint8Array;
|
|
149
140
|
forgottenClient: RevokedClientKeys;
|
|
150
141
|
forgottenKeyAgreementKeyMultibase: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,EAAE;IACD,QAAQ,EAAE,cAAc,CAAA;IACxB,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAA;IACxE,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,iBAAiB,CAAA;IAClC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,yBAAyB,CAAA;IACtC,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,WAAW,EAAE,kBAAkB,CAAA;CAChC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA+DtC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { relationIds } from '../resourceLog/document.js';
|
|
2
1
|
import { readPublishedLogOrThrow } from '../webvh/didWebvh.js';
|
|
3
2
|
import { retireRosterRecipientAndCascade, rosterRecipientKid } from '../keys/index.js';
|
|
4
|
-
import { forgetWebvhClient, LastEnrolledClientForgetError } from './ladderAnchored.js';
|
|
3
|
+
import { forgetWebvhClient, isSoleEnrolledClient, LastEnrolledClientForgetError } from './ladderAnchored.js';
|
|
5
4
|
/**
|
|
6
5
|
* Forgets one enrolled client -- this browser's own -- from its
|
|
7
6
|
* account. See the module doc for the stage order (rotation and fan-out
|
|
@@ -11,22 +10,16 @@ import { forgetWebvhClient, LastEnrolledClientForgetError } from './ladderAnchor
|
|
|
11
10
|
* @param options {object}
|
|
12
11
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
13
12
|
* `did.jsonl` bridge store; also serves the ceremony's public pre-edit
|
|
14
|
-
* read
|
|
13
|
+
* read. Every read the ceremony makes -- the pre-edit read the roster
|
|
14
|
+
* rotation's recipient document comes from, and the removal entry's own
|
|
15
|
+
* read inside its conflict-retry loop -- is checked against the store's
|
|
16
|
+
* chain-head pin, so a served truncated prefix is refused
|
|
17
|
+
* (`ResourceLogContinuityError`, `rollback`) before any roster append or
|
|
18
|
+
* log publish, and the pin advances to the head the removal entry publishes
|
|
15
19
|
* @param options.clientLogStore {object} the account's `id` collection
|
|
16
20
|
* store invoked under THIS (still-standing) enrolled client's root
|
|
17
21
|
* authority. Used for one thing: the post-removal `did:web` projection PUT
|
|
18
22
|
* that precedes the removal entry (see stage 3 in the module doc)
|
|
19
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
20
|
-
* pins. Every read the ceremony makes -- the pre-edit read the roster
|
|
21
|
-
* rotation's recipient document comes from, and the removal entry's own
|
|
22
|
-
* read inside its conflict-retry loop -- is checked against the pinned
|
|
23
|
-
* head, so a served truncated prefix is refused (`ResourceLogContinuityError`,
|
|
24
|
-
* `rollback`) before any roster append or log publish, and the pin
|
|
25
|
-
* advances to the head the removal entry publishes. Without it the
|
|
26
|
-
* ceremony checks `expectedDid` only
|
|
27
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
28
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
29
|
-
* supplied
|
|
30
23
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
31
24
|
* @param options.forgottenClient {RevokedClientKeys} this client's public
|
|
32
25
|
* halves; an `updateKeyMultibase` the log does not authorize (stale, or the
|
|
@@ -53,7 +46,7 @@ import { forgetWebvhClient, LastEnrolledClientForgetError } from './ladderAnchor
|
|
|
53
46
|
* @param options.collections {CascadeCollections} the fan-out's work
|
|
54
47
|
* @returns {Promise<EnrolledClientForgetResult>}
|
|
55
48
|
*/
|
|
56
|
-
export async function forgetEnrolledClient({ logStore, clientLogStore,
|
|
49
|
+
export async function forgetEnrolledClient({ logStore, clientLogStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStore, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections }) {
|
|
57
50
|
// The pre-edit read, doing double duty: the last-client refusal must fire
|
|
58
51
|
// BEFORE the rotation (or a refused forget would already have retired this
|
|
59
52
|
// client's wrap), and the rotation's recipient resolver needs the pre-edit
|
|
@@ -61,14 +54,12 @@ export async function forgetEnrolledClient({ logStore, clientLogStore, pinStore,
|
|
|
61
54
|
const published = await readPublishedLogOrThrow({
|
|
62
55
|
idStore: logStore,
|
|
63
56
|
expectedDid,
|
|
64
|
-
...(pinStore ? { pinStore } : {}),
|
|
65
|
-
...(logId !== undefined ? { logId } : {}),
|
|
66
57
|
missingMessage: 'did:webvh: did.jsonl is missing; nothing to forget from.'
|
|
67
58
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
59
|
+
if (isSoleEnrolledClient({
|
|
60
|
+
doc: published.doc,
|
|
61
|
+
vmId: `${published.did}#${forgottenClient.signingKeyMultibase}`
|
|
62
|
+
})) {
|
|
72
63
|
throw new LastEnrolledClientForgetError();
|
|
73
64
|
}
|
|
74
65
|
// Stages 1 and 2: the roster rotation off this client's wrap and the
|
|
@@ -102,9 +93,7 @@ export async function forgetEnrolledClient({ logStore, clientLogStore, pinStore,
|
|
|
102
93
|
ladderSeed,
|
|
103
94
|
forgottenClient,
|
|
104
95
|
...(knownLatentHashes ? { knownLatentHashes } : {}),
|
|
105
|
-
expectedDid
|
|
106
|
-
...(pinStore ? { pinStore } : {}),
|
|
107
|
-
...(logId !== undefined ? { logId } : {})
|
|
96
|
+
expectedDid
|
|
108
97
|
});
|
|
109
98
|
return {
|
|
110
99
|
rotated: tail.rotated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAKnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAA;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EAeZ;IACC,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;QAC9C,OAAO,EAAE,QAAQ;QACjB,WAAW;QACX,cAAc,EAAE,0DAA0D;KAC3E,CAAC,CAAA;IACF,IACE,oBAAoB,CAAC;QACnB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE;KAChE,CAAC,EACF,CAAC;QACD,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAC3C,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAAC;QACjD,WAAW;QACX,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,iBAAiB,EAAE,kBAAkB,CAAC;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,wBAAwB,EAAE,iCAAiC;SAC5D,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,uBAAuB,EAAE,yBAAyB;QAClD,aAAa;QACb,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,WAAW;KACZ,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,KAAK,EAAE,QAAQ;QACf,eAAe,EAAE,cAAc;QAC/B,UAAU;QACV,eAAe;QACf,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,WAAW;KACZ,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB;YACvC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC"}
|