@interop/wallet-core 0.41.0 → 0.43.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 +17 -4
- package/dist/clients/rosterPolicy.d.ts +28 -16
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +51 -26
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/index.d.ts +1 -1
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +1 -1
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +58 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +57 -15
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +14 -26
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/keyring/fetch.d.ts +12 -0
- package/dist/keyring/fetch.d.ts.map +1 -1
- package/dist/keyring/fetch.js +0 -2
- package/dist/keyring/fetch.js.map +1 -1
- package/dist/keyring/index.d.ts +1 -1
- package/dist/keyring/index.d.ts.map +1 -1
- package/dist/keyring/index.js +1 -1
- package/dist/keyring/index.js.map +1 -1
- package/dist/keyring/kdf.d.ts +22 -6
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +9 -14
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keys/index.d.ts +1 -1
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +1 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +4 -1
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +13 -16
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts +13 -1
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +18 -0
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +17 -5
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +38 -13
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/recovery/index.d.ts +14 -12
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +13 -11
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryCode.d.ts +5 -17
- package/dist/recovery/recoveryCode.d.ts.map +1 -1
- package/dist/recovery/recoveryCode.js +4 -14
- package/dist/recovery/recoveryCode.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts +50 -19
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +86 -41
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +13 -22
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +37 -129
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/resourceLog/append.d.ts +12 -3
- package/dist/resourceLog/append.d.ts.map +1 -1
- package/dist/resourceLog/append.js +17 -10
- package/dist/resourceLog/append.js.map +1 -1
- package/dist/resourceLog/index.d.ts +1 -1
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +1 -1
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/pin.d.ts +46 -8
- package/dist/resourceLog/pin.d.ts.map +1 -1
- package/dist/resourceLog/pin.js +32 -7
- package/dist/resourceLog/pin.js.map +1 -1
- package/dist/resourceLog/seal.d.ts +4 -1
- package/dist/resourceLog/seal.d.ts.map +1 -1
- package/dist/resourceLog/seal.js +6 -2
- package/dist/resourceLog/seal.js.map +1 -1
- package/dist/unlock/index.d.ts +40 -0
- package/dist/unlock/index.d.ts.map +1 -0
- package/dist/unlock/index.js +36 -0
- package/dist/unlock/index.js.map +1 -0
- package/dist/unlock/ladder.d.ts +100 -0
- package/dist/unlock/ladder.d.ts.map +1 -0
- package/dist/unlock/ladder.js +144 -0
- package/dist/unlock/ladder.js.map +1 -0
- package/dist/unlock/selfEnroll.d.ts +83 -0
- package/dist/unlock/selfEnroll.d.ts.map +1 -0
- package/dist/unlock/selfEnroll.js +126 -0
- package/dist/unlock/selfEnroll.js.map +1 -0
- package/dist/unlock/standingClient.d.ts +68 -0
- package/dist/unlock/standingClient.d.ts.map +1 -0
- package/dist/unlock/standingClient.js +81 -0
- package/dist/unlock/standingClient.js.map +1 -0
- package/dist/unlock/standingWebvh.d.ts +153 -0
- package/dist/unlock/standingWebvh.d.ts.map +1 -0
- package/dist/unlock/standingWebvh.js +370 -0
- package/dist/unlock/standingWebvh.js.map +1 -0
- package/dist/unlock/unlockRecord.d.ts +207 -0
- package/dist/unlock/unlockRecord.d.ts.map +1 -0
- package/dist/unlock/unlockRecord.js +435 -0
- package/dist/unlock/unlockRecord.js.map +1 -0
- package/dist/webvh/didWebvh.d.ts +94 -6
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +175 -19
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/index.d.ts +7 -2
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +7 -2
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/keyAgreement.d.ts +22 -6
- package/dist/webvh/keyAgreement.d.ts.map +1 -1
- package/dist/webvh/keyAgreement.js +1 -1
- package/dist/webvh/keyAgreement.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +15 -2
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +22 -3
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +11 -5
- package/dist/recovery/recoveryRecord.d.ts +0 -172
- package/dist/recovery/recoveryRecord.d.ts.map +0 -1
- package/dist/recovery/recoveryRecord.js +0 -288
- package/dist/recovery/recoveryRecord.js.map +0 -1
package/dist/webvh/didWebvh.d.ts
CHANGED
|
@@ -64,6 +64,23 @@ export interface WebvhIdStore {
|
|
|
64
64
|
* it.
|
|
65
65
|
*/
|
|
66
66
|
export declare const MULTIKEY_VM_TYPE = "Multikey";
|
|
67
|
+
/**
|
|
68
|
+
* The verification-method type a hash commitment to a key-agreement key is
|
|
69
|
+
* published under, in place of the key itself
|
|
70
|
+
* ({@link keyAgreementCommitment}). It carries `publicKeyCommitment` rather
|
|
71
|
+
* than `publicKeyMultibase`, so a reader keying on `Multikey` never mispairs
|
|
72
|
+
* a commitment with real key material. Wire-level and permanent.
|
|
73
|
+
*/
|
|
74
|
+
export declare const MULTIKEY_COMMITMENT_VM_TYPE = "MultikeyCommitment";
|
|
75
|
+
/**
|
|
76
|
+
* The context URL defining the `MultikeyCommitment` and `publicKeyCommitment`
|
|
77
|
+
* terms. Every account document carries it, so a commitment verification
|
|
78
|
+
* method is a defined term rather than a bare JSON property. The value is
|
|
79
|
+
* byoe-context's `VOCAB_CONTEXT_URL` (`https://w3id.org/byoe/v1`) -- the
|
|
80
|
+
* package whose contexts map backs the bundled document loader -- so the URL
|
|
81
|
+
* written into document bytes can never drift from the loader's coverage.
|
|
82
|
+
*/
|
|
83
|
+
export declare const BYOE_CONTEXT_URL = "https://w3id.org/byoe/v1";
|
|
67
84
|
/**
|
|
68
85
|
* The client-held did:webvh update-key material: 32-byte Ed25519 seeds.
|
|
69
86
|
* `pendingStagedSeed` is present only mid-rotation (minted and persisted
|
|
@@ -125,6 +142,65 @@ export declare function clientKeyAgreementController({ signingKeyMultibase }: {
|
|
|
125
142
|
export declare function keyAgreementTwinMultibase({ signingKeyMultibase }: {
|
|
126
143
|
signingKeyMultibase: string;
|
|
127
144
|
}): string;
|
|
145
|
+
/**
|
|
146
|
+
* The hash commitment of a key-agreement key, as a document publishes it in
|
|
147
|
+
* place of the key itself for a low-entropy-derived standing unlock
|
|
148
|
+
* credential (the `MultikeyCommitment` verification-method convention): a
|
|
149
|
+
* bare multihash -- sha2-256 over the key's DECODED multikey bytes -- encoded
|
|
150
|
+
* base64url-no-pad, with no multibase prefix. The multihash header keeps the
|
|
151
|
+
* algorithm self-describing, so a verifier decodes rather than re-encodes.
|
|
152
|
+
* Deliberately independent of the `nextKeyHashes` rule, which keeps its own
|
|
153
|
+
* base58btc encoding.
|
|
154
|
+
*
|
|
155
|
+
* What the commitment provides is the document-anchored integrity check the
|
|
156
|
+
* roster's recipient resolver runs against a roster-carried key, plus
|
|
157
|
+
* non-disclosure of the key material itself. It does not reduce offline
|
|
158
|
+
* guessing exposure: under a fixed KDF salt a commitment costs one extra
|
|
159
|
+
* sha256 per guess, so that exposure belongs to the standing-credential model
|
|
160
|
+
* and its KDF choice rather than to this encoding. Wire-level and permanent.
|
|
161
|
+
*
|
|
162
|
+
* @param options {object}
|
|
163
|
+
* @param options.keyAgreementKeyMultibase {string}
|
|
164
|
+
* @returns {Promise<string>}
|
|
165
|
+
*/
|
|
166
|
+
export declare function keyAgreementCommitment({ keyAgreementKeyMultibase }: {
|
|
167
|
+
keyAgreementKeyMultibase: string;
|
|
168
|
+
}): Promise<string>;
|
|
169
|
+
/**
|
|
170
|
+
* Whether a candidate key-agreement key is the one a published commitment
|
|
171
|
+
* commits to. Verification DECODES: the commitment's multihash header names
|
|
172
|
+
* the algorithm, the candidate's decoded multikey bytes are hashed with it,
|
|
173
|
+
* and the digests are compared -- so a future algorithm is an additive change
|
|
174
|
+
* rather than a format change. A commitment that does not decode, or names an
|
|
175
|
+
* algorithm with no implementation here, simply does not match.
|
|
176
|
+
*
|
|
177
|
+
* @param options {object}
|
|
178
|
+
* @param options.commitment {string} a published `publicKeyCommitment`
|
|
179
|
+
* @param options.keyAgreementKeyMultibase {string} the candidate key
|
|
180
|
+
* @returns {boolean}
|
|
181
|
+
*/
|
|
182
|
+
export declare function commitmentMatchesKey({ commitment, keyAgreementKeyMultibase }: {
|
|
183
|
+
commitment: string;
|
|
184
|
+
keyAgreementKeyMultibase: string;
|
|
185
|
+
}): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* A pre-decoded matcher over a SET of published commitments, for a caller
|
|
188
|
+
* that checks many candidate keys against the same document (the user key
|
|
189
|
+
* roster's recipient resolver). Each commitment is decoded once up front --
|
|
190
|
+
* duplicates collapsed, one that does not decode or names an algorithm with
|
|
191
|
+
* no implementation here dropped, the {@link commitmentMatchesKey} non-match
|
|
192
|
+
* contract -- and each candidate is hashed once per call, so resolving N
|
|
193
|
+
* roster entries against K commitments costs N hashes rather than N*K
|
|
194
|
+
* decode-and-hash passes.
|
|
195
|
+
*
|
|
196
|
+
* @param options {object}
|
|
197
|
+
* @param options.commitments {string[]} the published `publicKeyCommitment`
|
|
198
|
+
* values
|
|
199
|
+
* @returns {function} `(keyAgreementKeyMultibase: string) => boolean`
|
|
200
|
+
*/
|
|
201
|
+
export declare function commitmentMatcher({ commitments }: {
|
|
202
|
+
commitments: string[];
|
|
203
|
+
}): (keyAgreementKeyMultibase: string) => boolean;
|
|
128
204
|
/**
|
|
129
205
|
* The one builder of a client's published verification-method pair: the
|
|
130
206
|
* account-controlled Ed25519 signing method first, then the X25519
|
|
@@ -376,13 +452,16 @@ export interface PublishedWebvhLog {
|
|
|
376
452
|
* @param options.idStore {WebvhIdStore}
|
|
377
453
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
378
454
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
379
|
-
*
|
|
455
|
+
* pins for the account log
|
|
456
|
+
* @param [options.logId] {string} the account log's pin-slot key, from
|
|
457
|
+
* `accountLogPinId({ spaceId })`; required whenever a `pinStore` is supplied
|
|
380
458
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
381
459
|
*/
|
|
382
|
-
export declare function readPublishedLog({ idStore, expectedDid, pinStore }: {
|
|
460
|
+
export declare function readPublishedLog({ idStore, expectedDid, pinStore, logId }: {
|
|
383
461
|
idStore: WebvhIdStore;
|
|
384
462
|
expectedDid?: string;
|
|
385
463
|
pinStore?: ResourceLogPinStore;
|
|
464
|
+
logId?: string;
|
|
386
465
|
}): Promise<PublishedWebvhLog | undefined>;
|
|
387
466
|
/**
|
|
388
467
|
* The shared tail of every ceremony path that has nothing left to append to
|
|
@@ -478,7 +557,8 @@ export declare function effectiveParameters(log: DIDLog): Array<{
|
|
|
478
557
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
479
558
|
* resolve to, when the caller holds the account pointer
|
|
480
559
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
481
|
-
*
|
|
560
|
+
* pins; the account log's slot is keyed by `accountLogPinId` over the
|
|
561
|
+
* `spaceId` above
|
|
482
562
|
* @returns {Promise<{ did: string }>}
|
|
483
563
|
*/
|
|
484
564
|
export declare function ensureDidWebvh(options: {
|
|
@@ -535,7 +615,10 @@ export declare function ensureDidWebvh(options: {
|
|
|
535
615
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
536
616
|
* resolve to
|
|
537
617
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
538
|
-
*
|
|
618
|
+
* pins for the account log
|
|
619
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
620
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
621
|
+
* `pinStore` is supplied
|
|
539
622
|
* @returns {Promise<{ did: string }>}
|
|
540
623
|
*/
|
|
541
624
|
export declare function rotateWebvhUpdateKey(options: {
|
|
@@ -544,6 +627,7 @@ export declare function rotateWebvhUpdateKey(options: {
|
|
|
544
627
|
persistUpdateKeys: (next: ClientWebvhUpdateKeys) => Promise<void>;
|
|
545
628
|
expectedDid?: string;
|
|
546
629
|
pinStore?: ResourceLogPinStore;
|
|
630
|
+
logId?: string;
|
|
547
631
|
}): Promise<{
|
|
548
632
|
did: string;
|
|
549
633
|
}>;
|
|
@@ -658,13 +742,17 @@ export declare function enrollWebvhClient(options: {
|
|
|
658
742
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
659
743
|
* resolve to
|
|
660
744
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
661
|
-
*
|
|
745
|
+
* pins for the account log
|
|
746
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
747
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
748
|
+
* `pinStore` is supplied
|
|
662
749
|
* @returns {Promise<DidWebKeyMapV2>} the rebuilt, persisted keys.json
|
|
663
750
|
*/
|
|
664
|
-
export declare function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore }: {
|
|
751
|
+
export declare function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore, logId }: {
|
|
665
752
|
keystoreAgent: KeystoreAgent;
|
|
666
753
|
idStore: WebvhIdStore;
|
|
667
754
|
expectedDid?: string;
|
|
668
755
|
pinStore?: ResourceLogPinStore;
|
|
756
|
+
logId?: string;
|
|
669
757
|
}): Promise<DidWebKeyMapV2>;
|
|
670
758
|
//# sourceMappingURL=didWebvh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/didWebvh.js
CHANGED
|
@@ -64,12 +64,17 @@
|
|
|
64
64
|
* reveal the staged key.
|
|
65
65
|
*/
|
|
66
66
|
import { createDID, deriveNextKeyHash, generateParallelDidWeb, logToJsonlString, readLogFromString, resolveDIDFromLog, SCID_PLACEHOLDER, signerFromExternalKey, updateDID } from '@interop/did-method-webvh';
|
|
67
|
+
import { createMultihash, decodeMultihash, decodeMultikey, MultihashAlgorithm, MultikeyCodec } from '@interop/data-integrity-core/multihash';
|
|
67
68
|
import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
|
|
68
69
|
import { x25519RecipientFromDidKey } from '@interop/was-client/edv';
|
|
70
|
+
import { equalBytes } from '@noble/ciphers/utils.js';
|
|
71
|
+
import { sha256 } from '@noble/hashes/sha2.js';
|
|
72
|
+
import { base58, base64urlnopad } from '@scure/base';
|
|
73
|
+
import { VOCAB_CONTEXT_URL } from 'byoe-context';
|
|
69
74
|
import { DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
|
|
70
75
|
import { ResourceLogContinuityError } from '../resourceLog/errors.js';
|
|
71
76
|
import { multibaseOf } from './didWeb.js';
|
|
72
|
-
import { checkAccountLogContinuity } from './verifyLog.js';
|
|
77
|
+
import { accountLogPinId, checkAccountLogContinuity } from './verifyLog.js';
|
|
73
78
|
/**
|
|
74
79
|
* The Multikey verification-method type the did:webvh data model uses for both
|
|
75
80
|
* the Ed25519 (authentication/assertionMethod/capability*) and X25519
|
|
@@ -79,6 +84,23 @@ import { checkAccountLogContinuity } from './verifyLog.js';
|
|
|
79
84
|
* it.
|
|
80
85
|
*/
|
|
81
86
|
export const MULTIKEY_VM_TYPE = 'Multikey';
|
|
87
|
+
/**
|
|
88
|
+
* The verification-method type a hash commitment to a key-agreement key is
|
|
89
|
+
* published under, in place of the key itself
|
|
90
|
+
* ({@link keyAgreementCommitment}). It carries `publicKeyCommitment` rather
|
|
91
|
+
* than `publicKeyMultibase`, so a reader keying on `Multikey` never mispairs
|
|
92
|
+
* a commitment with real key material. Wire-level and permanent.
|
|
93
|
+
*/
|
|
94
|
+
export const MULTIKEY_COMMITMENT_VM_TYPE = 'MultikeyCommitment';
|
|
95
|
+
/**
|
|
96
|
+
* The context URL defining the `MultikeyCommitment` and `publicKeyCommitment`
|
|
97
|
+
* terms. Every account document carries it, so a commitment verification
|
|
98
|
+
* method is a defined term rather than a bare JSON property. The value is
|
|
99
|
+
* byoe-context's `VOCAB_CONTEXT_URL` (`https://w3id.org/byoe/v1`) -- the
|
|
100
|
+
* package whose contexts map backs the bundled document loader -- so the URL
|
|
101
|
+
* written into document bytes can never drift from the loader's coverage.
|
|
102
|
+
*/
|
|
103
|
+
export const BYOE_CONTEXT_URL = VOCAB_CONTEXT_URL;
|
|
82
104
|
/**
|
|
83
105
|
* The byte length of a did:webvh update-key seed (an Ed25519 secret seed).
|
|
84
106
|
*/
|
|
@@ -126,6 +148,118 @@ export function keyAgreementTwinMultibase({ signingKeyMultibase }) {
|
|
|
126
148
|
return x25519RecipientFromDidKey({ did: `did:key:${signingKeyMultibase}` })
|
|
127
149
|
.publicKeyMultibase;
|
|
128
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* The decoded multikey bytes of a base58btc multibase X25519 key-agreement
|
|
153
|
+
* key -- the multicodec prefix plus the raw public key, exactly what
|
|
154
|
+
* `publicKeyMultibase` encodes. The commitment preimage is these bytes rather
|
|
155
|
+
* than the multibase string, so it is independent of how the key happens to
|
|
156
|
+
* be spelled on the wire. The multicodec header is enforced (via
|
|
157
|
+
* `decodeMultikey` with the X25519 expectation), so a commitment over the
|
|
158
|
+
* wrong key kind (an Ed25519 signing key where its X25519 twin was meant)
|
|
159
|
+
* fails at mint time rather than as an opaque wrap error at the next epoch
|
|
160
|
+
* rotation.
|
|
161
|
+
*
|
|
162
|
+
* @param multibase {string} a `z`-prefixed base58btc X25519 multikey
|
|
163
|
+
* @returns {Uint8Array}
|
|
164
|
+
*/
|
|
165
|
+
function decodedMultikeyBytes(multibase) {
|
|
166
|
+
try {
|
|
167
|
+
decodeMultikey({
|
|
168
|
+
multikey: multibase,
|
|
169
|
+
expectedCodec: MultikeyCodec.X25519_PUB
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
throw new Error('did:webvh: not a base58btc multibase X25519 key-agreement multikey ' +
|
|
174
|
+
'(the 0xec multicodec); a commitment is computed over key-agreement ' +
|
|
175
|
+
'keys only.', { cause: err });
|
|
176
|
+
}
|
|
177
|
+
return base58.decode(multibase.slice(1));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* The hash commitment of a key-agreement key, as a document publishes it in
|
|
181
|
+
* place of the key itself for a low-entropy-derived standing unlock
|
|
182
|
+
* credential (the `MultikeyCommitment` verification-method convention): a
|
|
183
|
+
* bare multihash -- sha2-256 over the key's DECODED multikey bytes -- encoded
|
|
184
|
+
* base64url-no-pad, with no multibase prefix. The multihash header keeps the
|
|
185
|
+
* algorithm self-describing, so a verifier decodes rather than re-encodes.
|
|
186
|
+
* Deliberately independent of the `nextKeyHashes` rule, which keeps its own
|
|
187
|
+
* base58btc encoding.
|
|
188
|
+
*
|
|
189
|
+
* What the commitment provides is the document-anchored integrity check the
|
|
190
|
+
* roster's recipient resolver runs against a roster-carried key, plus
|
|
191
|
+
* non-disclosure of the key material itself. It does not reduce offline
|
|
192
|
+
* guessing exposure: under a fixed KDF salt a commitment costs one extra
|
|
193
|
+
* sha256 per guess, so that exposure belongs to the standing-credential model
|
|
194
|
+
* and its KDF choice rather than to this encoding. Wire-level and permanent.
|
|
195
|
+
*
|
|
196
|
+
* @param options {object}
|
|
197
|
+
* @param options.keyAgreementKeyMultibase {string}
|
|
198
|
+
* @returns {Promise<string>}
|
|
199
|
+
*/
|
|
200
|
+
export async function keyAgreementCommitment({ keyAgreementKeyMultibase }) {
|
|
201
|
+
const digest = sha256(decodedMultikeyBytes(keyAgreementKeyMultibase));
|
|
202
|
+
return base64urlnopad.encode(createMultihash(digest, MultihashAlgorithm.SHA2_256));
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Whether a candidate key-agreement key is the one a published commitment
|
|
206
|
+
* commits to. Verification DECODES: the commitment's multihash header names
|
|
207
|
+
* the algorithm, the candidate's decoded multikey bytes are hashed with it,
|
|
208
|
+
* and the digests are compared -- so a future algorithm is an additive change
|
|
209
|
+
* rather than a format change. A commitment that does not decode, or names an
|
|
210
|
+
* algorithm with no implementation here, simply does not match.
|
|
211
|
+
*
|
|
212
|
+
* @param options {object}
|
|
213
|
+
* @param options.commitment {string} a published `publicKeyCommitment`
|
|
214
|
+
* @param options.keyAgreementKeyMultibase {string} the candidate key
|
|
215
|
+
* @returns {boolean}
|
|
216
|
+
*/
|
|
217
|
+
export function commitmentMatchesKey({ commitment, keyAgreementKeyMultibase }) {
|
|
218
|
+
return commitmentMatcher({ commitments: [commitment] })(keyAgreementKeyMultibase);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* A pre-decoded matcher over a SET of published commitments, for a caller
|
|
222
|
+
* that checks many candidate keys against the same document (the user key
|
|
223
|
+
* roster's recipient resolver). Each commitment is decoded once up front --
|
|
224
|
+
* duplicates collapsed, one that does not decode or names an algorithm with
|
|
225
|
+
* no implementation here dropped, the {@link commitmentMatchesKey} non-match
|
|
226
|
+
* contract -- and each candidate is hashed once per call, so resolving N
|
|
227
|
+
* roster entries against K commitments costs N hashes rather than N*K
|
|
228
|
+
* decode-and-hash passes.
|
|
229
|
+
*
|
|
230
|
+
* @param options {object}
|
|
231
|
+
* @param options.commitments {string[]} the published `publicKeyCommitment`
|
|
232
|
+
* values
|
|
233
|
+
* @returns {function} `(keyAgreementKeyMultibase: string) => boolean`
|
|
234
|
+
*/
|
|
235
|
+
export function commitmentMatcher({ commitments }) {
|
|
236
|
+
const digests = [];
|
|
237
|
+
for (const commitment of new Set(commitments)) {
|
|
238
|
+
try {
|
|
239
|
+
const { digest } = decodeMultihash(base64urlnopad.decode(commitment), MultihashAlgorithm.SHA2_256);
|
|
240
|
+
digests.push(digest);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// A commitment that does not decode, or names an algorithm with no
|
|
244
|
+
// implementation here, matches nothing.
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return function matchesKey(keyAgreementKeyMultibase) {
|
|
248
|
+
if (digests.length === 0) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
let candidateDigest;
|
|
252
|
+
try {
|
|
253
|
+
candidateDigest = sha256(decodedMultikeyBytes(keyAgreementKeyMultibase));
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
// equalBytes is @noble/ciphers' no-early-exit comparison, the codebase's
|
|
259
|
+
// one digest-comparison idiom (the unlock record's tag check).
|
|
260
|
+
return digests.some(digest => equalBytes(candidateDigest, digest));
|
|
261
|
+
};
|
|
262
|
+
}
|
|
129
263
|
/**
|
|
130
264
|
* The one builder of a client's published verification-method pair: the
|
|
131
265
|
* account-controlled Ed25519 signing method first, then the X25519
|
|
@@ -345,6 +479,7 @@ async function createWebvhLog({ wasServerUrl, spaceId, didWebKeys, clientKeys, u
|
|
|
345
479
|
const result = await createDID({
|
|
346
480
|
address: host,
|
|
347
481
|
paths: ['space', spaceId, ID_COLLECTION.id],
|
|
482
|
+
additionalContext: [BYOE_CONTEXT_URL],
|
|
348
483
|
signer,
|
|
349
484
|
updateKeys: [updateKeyPublicKeyMultibase],
|
|
350
485
|
nextKeyHashes,
|
|
@@ -540,16 +675,23 @@ async function writeKeysJson({ idStore, didWebKeys, webvh }) {
|
|
|
540
675
|
* @param options.idStore {WebvhIdStore}
|
|
541
676
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
542
677
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
543
|
-
*
|
|
678
|
+
* pins for the account log
|
|
679
|
+
* @param [options.logId] {string} the account log's pin-slot key, from
|
|
680
|
+
* `accountLogPinId({ spaceId })`; required whenever a `pinStore` is supplied
|
|
544
681
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
545
682
|
*/
|
|
546
|
-
export async function readPublishedLog({ idStore, expectedDid, pinStore }) {
|
|
683
|
+
export async function readPublishedLog({ idStore, expectedDid, pinStore, logId }) {
|
|
684
|
+
if (pinStore && logId === undefined) {
|
|
685
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
686
|
+
}
|
|
687
|
+
// The pin slot this read checks against, present only when both halves are.
|
|
688
|
+
const pinned = pinStore && logId !== undefined ? { store: pinStore, logId } : null;
|
|
547
689
|
const read = await idStore.getIdResourceRaw({
|
|
548
690
|
resourceId: DID_LOG_RESOURCE
|
|
549
691
|
});
|
|
550
692
|
if (read === undefined) {
|
|
551
|
-
if (
|
|
552
|
-
const pin = await
|
|
693
|
+
if (pinned) {
|
|
694
|
+
const pin = await pinned.store.read({ logId: pinned.logId });
|
|
553
695
|
if (pin) {
|
|
554
696
|
throw new ResourceLogContinuityError({
|
|
555
697
|
reason: 'rollback',
|
|
@@ -568,13 +710,13 @@ export async function readPublishedLog({ idStore, expectedDid, pinStore }) {
|
|
|
568
710
|
throw new Error('did:webvh: the published did.jsonl resolves to a different DID ' +
|
|
569
711
|
`(${resolved.did}) than expected (${expectedDid}).`);
|
|
570
712
|
}
|
|
571
|
-
if (
|
|
572
|
-
const pin = await
|
|
713
|
+
if (pinned) {
|
|
714
|
+
const pin = await pinned.store.read({ logId: pinned.logId });
|
|
573
715
|
const served = checkAccountLogContinuity({ log, pin });
|
|
574
716
|
// Advanced only when the served head is genuinely ahead of the pin: the
|
|
575
717
|
// check above has already refused everything that is not.
|
|
576
718
|
if (!pin || pin.head !== served.head) {
|
|
577
|
-
await
|
|
719
|
+
await pinned.store.write({ logId: pinned.logId, pin: served });
|
|
578
720
|
}
|
|
579
721
|
}
|
|
580
722
|
return {
|
|
@@ -747,7 +889,8 @@ function advancedSeeds({ published, multibases, updateKeys }) {
|
|
|
747
889
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
748
890
|
* resolve to, when the caller holds the account pointer
|
|
749
891
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
750
|
-
*
|
|
892
|
+
* pins; the account log's slot is keyed by `accountLogPinId` over the
|
|
893
|
+
* `spaceId` above
|
|
751
894
|
* @returns {Promise<{ did: string }>}
|
|
752
895
|
*/
|
|
753
896
|
export async function ensureDidWebvh(options) {
|
|
@@ -764,10 +907,11 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
764
907
|
// else the one keys.json already records. Undefined only on the documented
|
|
765
908
|
// first-contact adoption, which discovers the DID from the log itself.
|
|
766
909
|
const expected = expectedDid ?? didWebKeys?.webvh?.did;
|
|
910
|
+
const logId = accountLogPinId({ spaceId });
|
|
767
911
|
const published = await readPublishedLog({
|
|
768
912
|
idStore,
|
|
769
913
|
...(expected !== undefined ? { expectedDid: expected } : {}),
|
|
770
|
-
...(pinStore ? { pinStore } : {})
|
|
914
|
+
...(pinStore ? { pinStore, logId } : {})
|
|
771
915
|
});
|
|
772
916
|
const multibases = await updateKeyMultibases({ updateKeys });
|
|
773
917
|
if (published) {
|
|
@@ -826,7 +970,7 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
826
970
|
// Trust-on-first-use, established by the creator itself: this run minted the
|
|
827
971
|
// genesis, so the pin it writes needs no served log to be believed.
|
|
828
972
|
if (pinStore) {
|
|
829
|
-
await pinStore.write(pinOfLog(created.log));
|
|
973
|
+
await pinStore.write({ logId, pin: pinOfLog(created.log) });
|
|
830
974
|
}
|
|
831
975
|
if (didWebKeys) {
|
|
832
976
|
await writeKeysJson({
|
|
@@ -879,7 +1023,10 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
879
1023
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
880
1024
|
* resolve to
|
|
881
1025
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
882
|
-
*
|
|
1026
|
+
* pins for the account log
|
|
1027
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
1028
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
1029
|
+
* `pinStore` is supplied
|
|
883
1030
|
* @returns {Promise<{ did: string }>}
|
|
884
1031
|
*/
|
|
885
1032
|
export async function rotateWebvhUpdateKey(options) {
|
|
@@ -892,11 +1039,14 @@ export async function rotateWebvhUpdateKey(options) {
|
|
|
892
1039
|
* @param options {object} see {@link rotateWebvhUpdateKey}
|
|
893
1040
|
* @returns {Promise<{ did: string }>}
|
|
894
1041
|
*/
|
|
895
|
-
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys, expectedDid, pinStore }) {
|
|
1042
|
+
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys, expectedDid, pinStore, logId }) {
|
|
1043
|
+
if (pinStore && logId === undefined) {
|
|
1044
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
1045
|
+
}
|
|
896
1046
|
const published = await readPublishedLog({
|
|
897
1047
|
idStore,
|
|
898
1048
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
899
|
-
...(pinStore ? { pinStore } : {})
|
|
1049
|
+
...(pinStore && logId !== undefined ? { pinStore, logId } : {})
|
|
900
1050
|
});
|
|
901
1051
|
if (!published) {
|
|
902
1052
|
throw new Error('did:webvh: did.jsonl is missing; nothing to rotate.');
|
|
@@ -978,8 +1128,8 @@ async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys
|
|
|
978
1128
|
await publishUpdatedLog({ idStore, updated, ifMatch: published.etag });
|
|
979
1129
|
// Advance the pin to what this ceremony just published, so a host rolling
|
|
980
1130
|
// the log back straight afterwards is refused on the next read.
|
|
981
|
-
if (pinStore) {
|
|
982
|
-
await pinStore.write(pinOfLog(updated.log));
|
|
1131
|
+
if (pinStore && logId !== undefined) {
|
|
1132
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
983
1133
|
}
|
|
984
1134
|
await persistUpdateKeys({
|
|
985
1135
|
updateSeed: updateKeys.stagedSeed,
|
|
@@ -1205,10 +1355,16 @@ async function enrollWebvhClientOnce({ idStore, updateKeys, newClient }) {
|
|
|
1205
1355
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
1206
1356
|
* resolve to
|
|
1207
1357
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
1208
|
-
*
|
|
1358
|
+
* pins for the account log
|
|
1359
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
1360
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
1361
|
+
* `pinStore` is supplied
|
|
1209
1362
|
* @returns {Promise<DidWebKeyMapV2>} the rebuilt, persisted keys.json
|
|
1210
1363
|
*/
|
|
1211
|
-
export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore }) {
|
|
1364
|
+
export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore, logId }) {
|
|
1365
|
+
if (pinStore && logId === undefined) {
|
|
1366
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
1367
|
+
}
|
|
1212
1368
|
const didDoc = (await idStore.getIdResource({
|
|
1213
1369
|
resourceId: DID_DOCUMENT_RESOURCE
|
|
1214
1370
|
}));
|
|
@@ -1269,7 +1425,7 @@ export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, p
|
|
|
1269
1425
|
const published = await readPublishedLog({
|
|
1270
1426
|
idStore,
|
|
1271
1427
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
1272
|
-
...(pinStore ? { pinStore } : {})
|
|
1428
|
+
...(pinStore && logId !== undefined ? { pinStore, logId } : {})
|
|
1273
1429
|
});
|
|
1274
1430
|
if (published) {
|
|
1275
1431
|
repaired.webvh = { did: published.did };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/index.d.ts
CHANGED
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
* - `listEnrolledWebvhClients` -- the enrolled-client listing over a
|
|
20
20
|
* caller-verified log (keyed on `capabilityInvocation`, update keys
|
|
21
21
|
* recovered by log attribution), for a "your wallets" surface.
|
|
22
|
+
* - `keyAgreementCommitment` / `commitmentMatchesKey` -- the
|
|
23
|
+
* `MultikeyCommitment` wire rule: the bare sha2-256 multihash, base64url
|
|
24
|
+
* no-pad, over a key-agreement key's decoded multikey bytes, and the
|
|
25
|
+
* decode-based check that verifies a candidate key against a published
|
|
26
|
+
* commitment.
|
|
22
27
|
* - `delegationKeyInDocument` -- the current-key-set rule for one recorded
|
|
23
28
|
* delegation: does the document still publish the key that signed it (a
|
|
24
29
|
* missing key id reads as "cannot be checked", so: no).
|
|
@@ -38,8 +43,8 @@
|
|
|
38
43
|
* Kept out of the root export: this subpath pulls the did:webvh, ed25519, and
|
|
39
44
|
* ezcap dependency graph (the same isolation pattern as `./identity`).
|
|
40
45
|
*/
|
|
41
|
-
export { clientKeyAgreementController, didWebvhControllerTemplate, ensureDidWebvh, enrollWebvhClient, keyAgreementTwinMultibase, markedVerificationMethodPair, mintClientWebvhUpdateKeys, relationIds, repairKeyBindings, rotateWebvhUpdateKey, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry } from './didWebvh.js';
|
|
42
|
-
export { AccountLogMissingError, verifyAccountLog } from './verifyLog.js';
|
|
46
|
+
export { BYOE_CONTEXT_URL, clientKeyAgreementController, commitmentMatchesKey, didWebvhControllerTemplate, ensureDidWebvh, enrollWebvhClient, keyAgreementCommitment, keyAgreementTwinMultibase, MULTIKEY_COMMITMENT_VM_TYPE, markedVerificationMethodPair, mintClientWebvhUpdateKeys, relationIds, repairKeyBindings, rotateWebvhUpdateKey, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry } from './didWebvh.js';
|
|
47
|
+
export { accountLogPinId, AccountLogMissingError, verifyAccountLog } from './verifyLog.js';
|
|
43
48
|
export { wasWebvhIdStore } from './wasIdStore.js';
|
|
44
49
|
export { attributeClientUpdateKey, delegationKeyInDocument, documentKeyMultibases, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
45
50
|
export type { EnrolledWebvhClient, PublishedKeyDocument } from './listClients.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,eAAe,EAChB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA"}
|