@interop/wallet-core 0.27.1 → 0.28.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 +6 -4
- package/dist/enrollment/index.d.ts +6 -0
- package/dist/enrollment/index.d.ts.map +1 -1
- package/dist/enrollment/index.js +5 -0
- package/dist/enrollment/index.js.map +1 -1
- package/dist/enrollment/onboardingResponse.d.ts +60 -0
- package/dist/enrollment/onboardingResponse.d.ts.map +1 -0
- package/dist/enrollment/onboardingResponse.js +132 -0
- package/dist/enrollment/onboardingResponse.js.map +1 -0
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +4 -3
- package/dist/request/classify.js.map +1 -1
- package/dist/request/index.d.ts +5 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +5 -0
- package/dist/request/index.js.map +1 -1
- package/dist/request/onboarding.d.ts +79 -0
- package/dist/request/onboarding.d.ts.map +1 -0
- package/dist/request/onboarding.js +95 -0
- package/dist/request/onboarding.js.map +1 -0
- package/dist/request/types.d.ts +21 -0
- package/dist/request/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,9 +54,10 @@ The subpaths:
|
|
|
54
54
|
negotiation, `composeVp` (signer and holder injected), the pure
|
|
55
55
|
`processRequest` (consent runs in the caller; zcap / App Connect processing
|
|
56
56
|
injected), the App Connect app-key credential module (query validation,
|
|
57
|
-
matching, minting, store-time refusal, legacy re-issue), the
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
matching, minting, store-time refusal, legacy re-issue), the
|
|
58
|
+
`WalletOnboardingQuery` transport vocabulary (compose and classification), the
|
|
59
|
+
VC-API exchange client, and VCALM `interaction:` URL handling. The VPR type
|
|
60
|
+
vocabulary lives in
|
|
60
61
|
[`@interop/data-integrity-core`](https://npm.im/@interop/data-integrity-core)
|
|
61
62
|
and is re-exported here.
|
|
62
63
|
|
|
@@ -123,7 +124,8 @@ The subpaths:
|
|
|
123
124
|
lifecycle.
|
|
124
125
|
|
|
125
126
|
- **`@interop/wallet-core/enrollment`** -- the client enrollment ceremony
|
|
126
|
-
(connect code, approval, completion)
|
|
127
|
+
(connect code, approval, completion) plus the onboarding-response envelope
|
|
128
|
+
that carries a connect code back over an exchange.
|
|
127
129
|
|
|
128
130
|
- **`@interop/wallet-core/recovery`** -- recovery codes on the roster identity
|
|
129
131
|
model: a code as a minimal always-enrolled wallet client (format and
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
* `enrollmentRecipientKid` -- the connect-code channel layer.
|
|
14
14
|
* - `approveEnrollment` -- the enrolling client's half, in the push order
|
|
15
15
|
* (roster wrap, then the two did:webvh log entries).
|
|
16
|
+
* - `encodeOnboardingResponse` / `parseOnboardingResponse` -- the onboarding-
|
|
17
|
+
* response envelope, the transport that carries a connect code (verbatim)
|
|
18
|
+
* plus a suggested display label back over an exchange whose request asked
|
|
19
|
+
* with a `WalletOnboardingQuery` (`@interop/wallet-core/request`).
|
|
16
20
|
* - `completeEnrollmentCore` -- the enrollee's half: verify from the published
|
|
17
21
|
* log, read the roster, hand back the user key and the epoch to pin. Persisting
|
|
18
22
|
* the key set stays with the caller's own unlock layer.
|
|
@@ -20,4 +24,6 @@
|
|
|
20
24
|
export { approveEnrollment, completeEnrollmentCore, encodeEnrollmentRequest, EnrollmentPendingError, enrollmentClientDid, enrollmentRecipientKid, mintEnrollmentRequest, parseEnrollmentRequest } from './enrollment.js';
|
|
21
25
|
export type { EnrollmentRequest } from './enrollment.js';
|
|
22
26
|
export { CONNECT_CODE_PREFIX, isConnectCode } from './connectCode.js';
|
|
27
|
+
export { encodeOnboardingResponse, ONBOARDING_LABEL_MAX_LENGTH, ONBOARDING_RESPONSE_VERSION, parseOnboardingResponse } from './onboardingResponse.js';
|
|
28
|
+
export type { WalletOnboardingResponse } from './onboardingResponse.js';
|
|
23
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA"}
|
package/dist/enrollment/index.js
CHANGED
|
@@ -13,10 +13,15 @@
|
|
|
13
13
|
* `enrollmentRecipientKid` -- the connect-code channel layer.
|
|
14
14
|
* - `approveEnrollment` -- the enrolling client's half, in the push order
|
|
15
15
|
* (roster wrap, then the two did:webvh log entries).
|
|
16
|
+
* - `encodeOnboardingResponse` / `parseOnboardingResponse` -- the onboarding-
|
|
17
|
+
* response envelope, the transport that carries a connect code (verbatim)
|
|
18
|
+
* plus a suggested display label back over an exchange whose request asked
|
|
19
|
+
* with a `WalletOnboardingQuery` (`@interop/wallet-core/request`).
|
|
16
20
|
* - `completeEnrollmentCore` -- the enrollee's half: verify from the published
|
|
17
21
|
* log, read the roster, hand back the user key and the epoch to pin. Persisting
|
|
18
22
|
* the key set stays with the caller's own unlock layer.
|
|
19
23
|
*/
|
|
20
24
|
export { approveEnrollment, completeEnrollmentCore, encodeEnrollmentRequest, EnrollmentPendingError, enrollmentClientDid, enrollmentRecipientKid, mintEnrollmentRequest, parseEnrollmentRequest } from './enrollment.js';
|
|
21
25
|
export { CONNECT_CODE_PREFIX, isConnectCode } from './connectCode.js';
|
|
26
|
+
export { encodeOnboardingResponse, ONBOARDING_LABEL_MAX_LENGTH, ONBOARDING_RESPONSE_VERSION, parseOnboardingResponse } from './onboardingResponse.js';
|
|
22
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { EnrollmentRequest } from './enrollment.js';
|
|
2
|
+
/**
|
|
3
|
+
* The onboarding-response envelope version this build mints and accepts.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ONBOARDING_RESPONSE_VERSION = 1;
|
|
6
|
+
/**
|
|
7
|
+
* The longest suggested display label an onboarding response may carry, in
|
|
8
|
+
* code points, after control characters are stripped and whitespace trimmed.
|
|
9
|
+
*/
|
|
10
|
+
export declare const ONBOARDING_LABEL_MAX_LENGTH = 64;
|
|
11
|
+
/**
|
|
12
|
+
* The onboarding-response envelope as it travels: the versioned wrapper, the
|
|
13
|
+
* connect code verbatim, and the enrollee's optional suggested display label.
|
|
14
|
+
*/
|
|
15
|
+
export type WalletOnboardingResponse = {
|
|
16
|
+
walletOnboarding: {
|
|
17
|
+
v: number;
|
|
18
|
+
code: string;
|
|
19
|
+
label?: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* ENROLLEE: builds the response envelope for a connect code it just minted.
|
|
24
|
+
* The code is validated with the ceremony's own parser (a code this side
|
|
25
|
+
* cannot parse is one the inviter would refuse), and the label is sanitized by
|
|
26
|
+
* the same rule the parse side applies, so an envelope this call produces is
|
|
27
|
+
* always one {@link parseOnboardingResponse} accepts.
|
|
28
|
+
*
|
|
29
|
+
* @param options {object}
|
|
30
|
+
* @param options.code {string} the `freewallet-connect:` connect code
|
|
31
|
+
* @param [options.label] {string} a display label to suggest for this client
|
|
32
|
+
* @returns {WalletOnboardingResponse}
|
|
33
|
+
*/
|
|
34
|
+
export declare function encodeOnboardingResponse({ code, label }: {
|
|
35
|
+
code: string;
|
|
36
|
+
label?: string;
|
|
37
|
+
}): WalletOnboardingResponse;
|
|
38
|
+
/**
|
|
39
|
+
* INVITER: validates a received onboarding-response body and hands back what
|
|
40
|
+
* the approval screen needs -- the parsed enrollment request (so the
|
|
41
|
+
* fingerprint renders without a second parse), the code verbatim (so
|
|
42
|
+
* `approveEnrollment` receives exactly what the enrollee minted), and the
|
|
43
|
+
* sanitized label, if any. Anything malformed throws: a body that is not an
|
|
44
|
+
* object, a missing or mis-shaped envelope, an unsupported version, a
|
|
45
|
+
* non-string or unparseable code, or a label that is not a string or exceeds
|
|
46
|
+
* the cap. The remedy for every one of them is the same -- generate a new code
|
|
47
|
+
* and try again.
|
|
48
|
+
*
|
|
49
|
+
* @param options {object}
|
|
50
|
+
* @param options.body {unknown} the received JSON body
|
|
51
|
+
* @returns {object} the parsed request, the code verbatim, and the label
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseOnboardingResponse({ body }: {
|
|
54
|
+
body: unknown;
|
|
55
|
+
}): {
|
|
56
|
+
request: EnrollmentRequest;
|
|
57
|
+
code: string;
|
|
58
|
+
label?: string;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=onboardingResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingResponse.d.ts","sourceRoot":"","sources":["../../src/enrollment/onboardingResponse.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAY7C;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE;QAChB,CAAC,EAAE,MAAM,CAAA;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF,CAAA;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,wBAAwB,CAU3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IACpE,OAAO,EAAE,iBAAiB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAsBA"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The onboarding-response envelope: what a fresh wallet (the enrollee) POSTs
|
|
6
|
+
* back to an ephemeral exchange whose request carried a
|
|
7
|
+
* `WalletOnboardingQuery` (`@interop/wallet-core/request`). It is transport
|
|
8
|
+
* vocabulary only -- the enrollment ceremony is untouched.
|
|
9
|
+
*
|
|
10
|
+
* The envelope carries an ordinary connect code VERBATIM as its payload, so
|
|
11
|
+
* the ceremony's strict validation applies unchanged and the inviter hands the
|
|
12
|
+
* string it receives straight to `approveEnrollment`; the connect-code payload
|
|
13
|
+
* version is deliberately NOT bumped by this transport. Beside it rides an
|
|
14
|
+
* optional display label the enrollee suggests for itself. The label lives in
|
|
15
|
+
* the envelope rather than in the code because its durable home is the
|
|
16
|
+
* account's client-labels record, which the approving client writes -- the
|
|
17
|
+
* code stays the ceremony's own artifact.
|
|
18
|
+
*
|
|
19
|
+
* The label is attacker-adjacent free text that renders on the approver's
|
|
20
|
+
* consent screen, so it is stripped of control characters, trimmed, and
|
|
21
|
+
* length-capped, and an over-cap label is REFUSED rather than silently
|
|
22
|
+
* truncated: a truncated label would be a silently different name for a client
|
|
23
|
+
* the person is about to authorize, where a refusal costs only a fresh code.
|
|
24
|
+
*/
|
|
25
|
+
import { parseEnrollmentRequest } from './enrollment.js';
|
|
26
|
+
/**
|
|
27
|
+
* The onboarding-response envelope version this build mints and accepts.
|
|
28
|
+
*/
|
|
29
|
+
export const ONBOARDING_RESPONSE_VERSION = 1;
|
|
30
|
+
/**
|
|
31
|
+
* The longest suggested display label an onboarding response may carry, in
|
|
32
|
+
* code points, after control characters are stripped and whitespace trimmed.
|
|
33
|
+
*/
|
|
34
|
+
export const ONBOARDING_LABEL_MAX_LENGTH = 64;
|
|
35
|
+
/**
|
|
36
|
+
* Characters stripped from a suggested label before it is measured: the C0 and
|
|
37
|
+
* C1 control ranges (including DEL) plus the bidirectional formatting and
|
|
38
|
+
* isolate controls, none of which a display name needs and all of which can
|
|
39
|
+
* reorder or hide what a consent screen shows.
|
|
40
|
+
*/
|
|
41
|
+
const LABEL_STRIPPED_CHARACTERS =
|
|
42
|
+
// eslint-disable-next-line no-control-regex
|
|
43
|
+
/[\u0000-\u001f\u007f-\u009f\u200e\u200f\u202a-\u202e\u2066-\u2069]/gu;
|
|
44
|
+
/**
|
|
45
|
+
* Sanitizes a suggested display label: strips the control and bidi characters
|
|
46
|
+
* above, trims surrounding whitespace, and refuses anything still longer than
|
|
47
|
+
* {@link ONBOARDING_LABEL_MAX_LENGTH}. A label that sanitizes to nothing at
|
|
48
|
+
* all is absent rather than empty, so no consent screen renders a blank name.
|
|
49
|
+
*
|
|
50
|
+
* @param options {object}
|
|
51
|
+
* @param options.label {unknown} the envelope's `label` member, if any
|
|
52
|
+
* @returns {string | undefined}
|
|
53
|
+
*/
|
|
54
|
+
function sanitizedOnboardingLabel({ label }) {
|
|
55
|
+
if (label === undefined || label === null) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
if (typeof label !== 'string') {
|
|
59
|
+
throw new Error('An onboarding response label must be a string.');
|
|
60
|
+
}
|
|
61
|
+
const sanitized = label.replace(LABEL_STRIPPED_CHARACTERS, '').trim();
|
|
62
|
+
if (sanitized.length === 0) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
if ([...sanitized].length > ONBOARDING_LABEL_MAX_LENGTH) {
|
|
66
|
+
throw new Error(`An onboarding response label may be at most ` +
|
|
67
|
+
`${ONBOARDING_LABEL_MAX_LENGTH} characters.`);
|
|
68
|
+
}
|
|
69
|
+
return sanitized;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* ENROLLEE: builds the response envelope for a connect code it just minted.
|
|
73
|
+
* The code is validated with the ceremony's own parser (a code this side
|
|
74
|
+
* cannot parse is one the inviter would refuse), and the label is sanitized by
|
|
75
|
+
* the same rule the parse side applies, so an envelope this call produces is
|
|
76
|
+
* always one {@link parseOnboardingResponse} accepts.
|
|
77
|
+
*
|
|
78
|
+
* @param options {object}
|
|
79
|
+
* @param options.code {string} the `freewallet-connect:` connect code
|
|
80
|
+
* @param [options.label] {string} a display label to suggest for this client
|
|
81
|
+
* @returns {WalletOnboardingResponse}
|
|
82
|
+
*/
|
|
83
|
+
export function encodeOnboardingResponse({ code, label }) {
|
|
84
|
+
parseEnrollmentRequest({ code });
|
|
85
|
+
const suggested = sanitizedOnboardingLabel({ label });
|
|
86
|
+
return {
|
|
87
|
+
walletOnboarding: {
|
|
88
|
+
v: ONBOARDING_RESPONSE_VERSION,
|
|
89
|
+
code,
|
|
90
|
+
...(suggested !== undefined && { label: suggested })
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* INVITER: validates a received onboarding-response body and hands back what
|
|
96
|
+
* the approval screen needs -- the parsed enrollment request (so the
|
|
97
|
+
* fingerprint renders without a second parse), the code verbatim (so
|
|
98
|
+
* `approveEnrollment` receives exactly what the enrollee minted), and the
|
|
99
|
+
* sanitized label, if any. Anything malformed throws: a body that is not an
|
|
100
|
+
* object, a missing or mis-shaped envelope, an unsupported version, a
|
|
101
|
+
* non-string or unparseable code, or a label that is not a string or exceeds
|
|
102
|
+
* the cap. The remedy for every one of them is the same -- generate a new code
|
|
103
|
+
* and try again.
|
|
104
|
+
*
|
|
105
|
+
* @param options {object}
|
|
106
|
+
* @param options.body {unknown} the received JSON body
|
|
107
|
+
* @returns {object} the parsed request, the code verbatim, and the label
|
|
108
|
+
*/
|
|
109
|
+
export function parseOnboardingResponse({ body }) {
|
|
110
|
+
if (body === null || typeof body !== 'object') {
|
|
111
|
+
throw new Error('The onboarding response is malformed.');
|
|
112
|
+
}
|
|
113
|
+
const { walletOnboarding } = body;
|
|
114
|
+
if (walletOnboarding === null || typeof walletOnboarding !== 'object') {
|
|
115
|
+
throw new Error('The onboarding response carries no walletOnboarding.');
|
|
116
|
+
}
|
|
117
|
+
const { v, code, label } = walletOnboarding;
|
|
118
|
+
if (v !== ONBOARDING_RESPONSE_VERSION) {
|
|
119
|
+
throw new Error(`Unsupported onboarding response version "${String(v)}".`);
|
|
120
|
+
}
|
|
121
|
+
if (typeof code !== 'string') {
|
|
122
|
+
throw new Error('The onboarding response carries no connect code.');
|
|
123
|
+
}
|
|
124
|
+
const request = parseEnrollmentRequest({ code });
|
|
125
|
+
const suggested = sanitizedOnboardingLabel({ label });
|
|
126
|
+
return {
|
|
127
|
+
request,
|
|
128
|
+
code,
|
|
129
|
+
...(suggested !== undefined && { label: suggested })
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=onboardingResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingResponse.js","sourceRoot":"","sources":["../../src/enrollment/onboardingResponse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,yBAAyB;AAC7B,4CAA4C;AAC5C,sEAAsE,CAAA;AAcxE;;;;;;;;;GASG;AACH,SAAS,wBAAwB,CAAC,EAChC,KAAK,EAGN;IACC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,8CAA8C;YAC5C,GAAG,2BAA2B,cAAc,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EAIN;IACC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO;QACL,gBAAgB,EAAE;YAChB,CAAC,EAAE,2BAA2B;YAC9B,IAAI;YACJ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACrD;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAE,IAAI,EAAqB;IAKjE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAA+B,CAAA;IAC5D,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,gBAA2C,CAAA;IACtE,IAAI,CAAC,KAAK,2BAA2B,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACrD,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EAGf,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAEhB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAOR;AA0DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,uBAAuB,GACpC,qBAAqB,EAAE,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,OAAO,CAQV;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,EAAE,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAoB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CA4BT;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EACP,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EAGf,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAEhB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAOR;AA0DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,uBAAuB,GACpC,qBAAqB,EAAE,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,OAAO,CAQV;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,EAAE,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAoB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CA4BT;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EACP,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,GAAG,IAAI,CAoD5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAS1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAMpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAQpE"}
|
package/dist/request/classify.js
CHANGED
|
@@ -258,10 +258,11 @@ export function appConnectRequestOf({ queries, origin }) {
|
|
|
258
258
|
}
|
|
259
259
|
const mixed = queries.some(query => query.type === 'QueryByExample' ||
|
|
260
260
|
query.type === 'AuthorizationCapabilityQuery' ||
|
|
261
|
-
query.type === 'ZcapQuery'
|
|
261
|
+
query.type === 'ZcapQuery' ||
|
|
262
|
+
query.type === 'WalletOnboardingQuery');
|
|
262
263
|
if (mixed) {
|
|
263
|
-
throw new Error('An AppConnectQuery cannot be combined with QueryByExample
|
|
264
|
-
'standalone capability queries.');
|
|
264
|
+
throw new Error('An AppConnectQuery cannot be combined with QueryByExample, ' +
|
|
265
|
+
'standalone capability queries, or a WalletOnboardingQuery.');
|
|
265
266
|
}
|
|
266
267
|
const { app, capabilityQuery } = appConnectQueries[0];
|
|
267
268
|
if (!app || typeof app.name !== 'string' || typeof app.appUrl !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"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"}
|
package/dist/request/index.d.ts
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
* typed message and dispatch on what it asks for.
|
|
14
14
|
* - `matching` filters stored credentials against a QueryByExample (both the
|
|
15
15
|
* jsonpath deep matcher and the type/issuer matcher).
|
|
16
|
+
* - `onboarding` is the `WalletOnboardingQuery` transport vocabulary: the
|
|
17
|
+
* inviter's compose helper and the enrollee's classification (the response
|
|
18
|
+
* envelope itself lives in `@interop/wallet-core/enrollment`, beside the
|
|
19
|
+
* connect code it carries).
|
|
16
20
|
* - `appKey` is the App Connect app-key credential module: the wire constants,
|
|
17
21
|
* the matching / minting / legacy re-issue paths, and the store-time
|
|
18
22
|
* refusal policy.
|
|
@@ -32,6 +36,7 @@
|
|
|
32
36
|
export * from './types.js';
|
|
33
37
|
export * from './parse.js';
|
|
34
38
|
export * from './classify.js';
|
|
39
|
+
export * from './onboarding.js';
|
|
35
40
|
export * from './matching.js';
|
|
36
41
|
export * from './appKey.js';
|
|
37
42
|
export * from './presentationSuite.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
package/dist/request/index.js
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
* typed message and dispatch on what it asks for.
|
|
14
14
|
* - `matching` filters stored credentials against a QueryByExample (both the
|
|
15
15
|
* jsonpath deep matcher and the type/issuer matcher).
|
|
16
|
+
* - `onboarding` is the `WalletOnboardingQuery` transport vocabulary: the
|
|
17
|
+
* inviter's compose helper and the enrollee's classification (the response
|
|
18
|
+
* envelope itself lives in `@interop/wallet-core/enrollment`, beside the
|
|
19
|
+
* connect code it carries).
|
|
16
20
|
* - `appKey` is the App Connect app-key credential module: the wire constants,
|
|
17
21
|
* the matching / minting / legacy re-issue paths, and the store-time
|
|
18
22
|
* refusal policy.
|
|
@@ -32,6 +36,7 @@
|
|
|
32
36
|
export * from './types.js';
|
|
33
37
|
export * from './parse.js';
|
|
34
38
|
export * from './classify.js';
|
|
39
|
+
export * from './onboarding.js';
|
|
35
40
|
export * from './matching.js';
|
|
36
41
|
export * from './appKey.js';
|
|
37
42
|
export * from './presentationSuite.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The `WalletOnboardingQuery` transport vocabulary: the VPR half of "connect a
|
|
6
|
+
* new wallet client over an exchange". An already-enrolled client (the
|
|
7
|
+
* inviter) composes a request body carrying the query and stores it on an
|
|
8
|
+
* ephemeral exchange; a fresh wallet (the enrollee) scans the exchange's
|
|
9
|
+
* interaction URL, classifies the query here, and answers with the onboarding
|
|
10
|
+
* response envelope (`@interop/wallet-core/enrollment`).
|
|
11
|
+
*
|
|
12
|
+
* Vocabulary only -- the enrollment ceremony itself is untouched, and nothing
|
|
13
|
+
* but public key multibases and a display label ever crosses the channel. The
|
|
14
|
+
* query carries exactly one member, `host`: the WAS server base URL, so the
|
|
15
|
+
* enrollee's server field is prefilled instead of typed. It names no account
|
|
16
|
+
* and authorizes nothing.
|
|
17
|
+
*
|
|
18
|
+
* A wallet that predates the query type finds nothing it can satisfy in such a
|
|
19
|
+
* request (`classifyRequest` reports no DID Auth, no credential queries, and
|
|
20
|
+
* no capability requests) and refuses, rather than degrading into a partial
|
|
21
|
+
* generic flow.
|
|
22
|
+
*/
|
|
23
|
+
import type { IVPRDetails, IVPRQuery, IWalletOnboardingRequest } from './types.js';
|
|
24
|
+
/**
|
|
25
|
+
* Validates a wallet-onboarding `host` and returns its serialized form. The
|
|
26
|
+
* value must parse as an absolute URL and must be `http:` or `https:` (it is
|
|
27
|
+
* dereferenced as a WAS server base URL) and must not carry a fragment; any
|
|
28
|
+
* violation throws. Compose and classification share this one rule, so the
|
|
29
|
+
* spelling the inviter publishes is the spelling the enrollee resolves, and
|
|
30
|
+
* URLs differing only in a default port, percent-encoding case, or dot
|
|
31
|
+
* segments do not name distinct servers.
|
|
32
|
+
*
|
|
33
|
+
* There is no attested origin to compare against here -- an exchange has no
|
|
34
|
+
* CHAPI requesting origin -- so unlike an App Connect `appUrl` the check is
|
|
35
|
+
* shape only. The channel's trust comes from the point-to-point fingerprint
|
|
36
|
+
* comparison of the enrollment ceremony, not from this value.
|
|
37
|
+
*
|
|
38
|
+
* The fragment check reads the serialized URL rather than `url.hash`: a bare
|
|
39
|
+
* trailing `#` sets an empty (non-null) fragment that `hash` reports as `''`.
|
|
40
|
+
*
|
|
41
|
+
* @param options {object}
|
|
42
|
+
* @param options.host {string} - The query's `host`.
|
|
43
|
+
* @returns {string} The parsed URL's serialization.
|
|
44
|
+
*/
|
|
45
|
+
export declare function serializedOnboardingHost({ host }: {
|
|
46
|
+
host: string;
|
|
47
|
+
}): string;
|
|
48
|
+
/**
|
|
49
|
+
* INVITER: the VPR details body to store on the ephemeral exchange -- one
|
|
50
|
+
* `WalletOnboardingQuery` and nothing else, since the query is one mental
|
|
51
|
+
* model per exchange. The `host` is validated and stored in its serialized
|
|
52
|
+
* form ({@link serializedOnboardingHost}).
|
|
53
|
+
*
|
|
54
|
+
* @param options {object}
|
|
55
|
+
* @param options.host {string} - The account's WAS server base URL.
|
|
56
|
+
* @returns {IVPRDetails}
|
|
57
|
+
*/
|
|
58
|
+
export declare function composeWalletOnboardingRequest({ host }: {
|
|
59
|
+
host: string;
|
|
60
|
+
}): IVPRDetails;
|
|
61
|
+
/**
|
|
62
|
+
* ENROLLEE: extracts the wallet-onboarding request from a query set, when one
|
|
63
|
+
* is present. Like an `AppConnectQuery`, a `WalletOnboardingQuery` is one
|
|
64
|
+
* mental model per exchange: at most one may appear, and it must not be
|
|
65
|
+
* combined with `QueryByExample`, standalone capability queries, or an
|
|
66
|
+
* `AppConnectQuery` (a screen that asks the person to connect a wallet must
|
|
67
|
+
* not simultaneously ask them to share credentials or grant capabilities).
|
|
68
|
+
* Its `host` must satisfy the URL rules and is rewritten to its serialized
|
|
69
|
+
* form. Violations throw; classification-time callers surface the throw as a
|
|
70
|
+
* malformed-request state.
|
|
71
|
+
*
|
|
72
|
+
* @param options {object}
|
|
73
|
+
* @param options.queries {IVPRQuery[]}
|
|
74
|
+
* @returns {IWalletOnboardingRequest | null}
|
|
75
|
+
*/
|
|
76
|
+
export declare function walletOnboardingRequestOf({ queries }: {
|
|
77
|
+
queries: IVPRQuery[];
|
|
78
|
+
}): IWalletOnboardingRequest | null;
|
|
79
|
+
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/request/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAsB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,WAAW,CAMd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,wBAAwB,GAAG,IAAI,CA8BlC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates a wallet-onboarding `host` and returns its serialized form. The
|
|
3
|
+
* value must parse as an absolute URL and must be `http:` or `https:` (it is
|
|
4
|
+
* dereferenced as a WAS server base URL) and must not carry a fragment; any
|
|
5
|
+
* violation throws. Compose and classification share this one rule, so the
|
|
6
|
+
* spelling the inviter publishes is the spelling the enrollee resolves, and
|
|
7
|
+
* URLs differing only in a default port, percent-encoding case, or dot
|
|
8
|
+
* segments do not name distinct servers.
|
|
9
|
+
*
|
|
10
|
+
* There is no attested origin to compare against here -- an exchange has no
|
|
11
|
+
* CHAPI requesting origin -- so unlike an App Connect `appUrl` the check is
|
|
12
|
+
* shape only. The channel's trust comes from the point-to-point fingerprint
|
|
13
|
+
* comparison of the enrollment ceremony, not from this value.
|
|
14
|
+
*
|
|
15
|
+
* The fragment check reads the serialized URL rather than `url.hash`: a bare
|
|
16
|
+
* trailing `#` sets an empty (non-null) fragment that `hash` reports as `''`.
|
|
17
|
+
*
|
|
18
|
+
* @param options {object}
|
|
19
|
+
* @param options.host {string} - The query's `host`.
|
|
20
|
+
* @returns {string} The parsed URL's serialization.
|
|
21
|
+
*/
|
|
22
|
+
export function serializedOnboardingHost({ host }) {
|
|
23
|
+
let url;
|
|
24
|
+
try {
|
|
25
|
+
url = new URL(host);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
throw new Error(`A WalletOnboardingQuery "host" must be an absolute URL (got "${host}").`, { cause: err });
|
|
29
|
+
}
|
|
30
|
+
if (url.protocol !== 'https:' && url.protocol !== 'http:') {
|
|
31
|
+
throw new Error(`A WalletOnboardingQuery "host" must be an http(s) URL (got "${host}").`);
|
|
32
|
+
}
|
|
33
|
+
if (url.href.includes('#')) {
|
|
34
|
+
throw new Error(`A WalletOnboardingQuery "host" must not carry a fragment (got ` +
|
|
35
|
+
`"${host}").`);
|
|
36
|
+
}
|
|
37
|
+
return url.href;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* INVITER: the VPR details body to store on the ephemeral exchange -- one
|
|
41
|
+
* `WalletOnboardingQuery` and nothing else, since the query is one mental
|
|
42
|
+
* model per exchange. The `host` is validated and stored in its serialized
|
|
43
|
+
* form ({@link serializedOnboardingHost}).
|
|
44
|
+
*
|
|
45
|
+
* @param options {object}
|
|
46
|
+
* @param options.host {string} - The account's WAS server base URL.
|
|
47
|
+
* @returns {IVPRDetails}
|
|
48
|
+
*/
|
|
49
|
+
export function composeWalletOnboardingRequest({ host }) {
|
|
50
|
+
const query = {
|
|
51
|
+
type: 'WalletOnboardingQuery',
|
|
52
|
+
host: serializedOnboardingHost({ host })
|
|
53
|
+
};
|
|
54
|
+
return { query: [query] };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* ENROLLEE: extracts the wallet-onboarding request from a query set, when one
|
|
58
|
+
* is present. Like an `AppConnectQuery`, a `WalletOnboardingQuery` is one
|
|
59
|
+
* mental model per exchange: at most one may appear, and it must not be
|
|
60
|
+
* combined with `QueryByExample`, standalone capability queries, or an
|
|
61
|
+
* `AppConnectQuery` (a screen that asks the person to connect a wallet must
|
|
62
|
+
* not simultaneously ask them to share credentials or grant capabilities).
|
|
63
|
+
* Its `host` must satisfy the URL rules and is rewritten to its serialized
|
|
64
|
+
* form. Violations throw; classification-time callers surface the throw as a
|
|
65
|
+
* malformed-request state.
|
|
66
|
+
*
|
|
67
|
+
* @param options {object}
|
|
68
|
+
* @param options.queries {IVPRQuery[]}
|
|
69
|
+
* @returns {IWalletOnboardingRequest | null}
|
|
70
|
+
*/
|
|
71
|
+
export function walletOnboardingRequestOf({ queries }) {
|
|
72
|
+
// `WalletOnboardingQuery` extends the spec query union, so it is matched by
|
|
73
|
+
// its `type` string and upcast rather than narrowed via a type predicate.
|
|
74
|
+
const onboardingQueries = queries.filter(query => query.type === 'WalletOnboardingQuery');
|
|
75
|
+
if (onboardingQueries.length === 0) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (onboardingQueries.length > 1) {
|
|
79
|
+
throw new Error('More than one WalletOnboardingQuery found, exiting.');
|
|
80
|
+
}
|
|
81
|
+
const mixed = queries.some(query => query.type === 'QueryByExample' ||
|
|
82
|
+
query.type === 'AuthorizationCapabilityQuery' ||
|
|
83
|
+
query.type === 'ZcapQuery' ||
|
|
84
|
+
query.type === 'AppConnectQuery');
|
|
85
|
+
if (mixed) {
|
|
86
|
+
throw new Error('A WalletOnboardingQuery cannot be combined with QueryByExample, ' +
|
|
87
|
+
'standalone capability queries, or an AppConnectQuery.');
|
|
88
|
+
}
|
|
89
|
+
const { host } = onboardingQueries[0];
|
|
90
|
+
if (typeof host !== 'string') {
|
|
91
|
+
throw new Error('A WalletOnboardingQuery is missing its host.');
|
|
92
|
+
}
|
|
93
|
+
return { host: serializedOnboardingHost({ host }) };
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/request/onboarding.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,IAAI,EAAoB;IACjE,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gEAAgE,IAAI,KAAK,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,+DAA+D,IAAI,KAAK,CACzE,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gEAAgE;YAC9D,IAAI,IAAI,KAAK,CAChB,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC7C,IAAI,EAGL;IACC,MAAM,KAAK,GAA2B;QACpC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;KACzC,CAAA;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,KAA6B,CAAC,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,OAAO,EAGR;IACC,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,KAAK,CAAC,EAAE,CAAE,KAAK,CAAC,IAAe,KAAK,uBAAuB,CACrB,CAAA;IACxC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC/B,KAAK,CAAC,IAAI,KAAK,8BAA8B;QAC7C,KAAK,CAAC,IAAI,KAAK,WAAW;QACzB,KAAK,CAAC,IAAe,KAAK,iBAAiB,CAC/C,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,kEAAkE;YAChE,uDAAuD,CAC1D,CAAA;IACH,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAA;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;AACrD,CAAC"}
|
package/dist/request/types.d.ts
CHANGED
|
@@ -145,6 +145,27 @@ export type IAppConnectRequest = {
|
|
|
145
145
|
app: IAppConnectApp;
|
|
146
146
|
capabilityQueries: IAppConnectCapabilityQuery[];
|
|
147
147
|
};
|
|
148
|
+
/**
|
|
149
|
+
* "Connect a new wallet client to this account" -- the query an already-
|
|
150
|
+
* enrolled wallet client (the inviter) puts in the VPR of an ephemeral
|
|
151
|
+
* exchange for a fresh wallet (the enrollee) to answer. `host` is the WAS
|
|
152
|
+
* server base URL the account lives on, carried so the enrollee's server field
|
|
153
|
+
* is prefilled rather than typed; it names no account and authorizes nothing.
|
|
154
|
+
* The enrollee answers off-band of the VPR vocabulary, with the onboarding
|
|
155
|
+
* response envelope (`@interop/wallet-core/enrollment`), whose payload is an
|
|
156
|
+
* ordinary connect code.
|
|
157
|
+
*/
|
|
158
|
+
export type IWalletOnboardingQuery = {
|
|
159
|
+
type: 'WalletOnboardingQuery';
|
|
160
|
+
host: string;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* A wallet-onboarding request as classified and validated by
|
|
164
|
+
* `walletOnboardingRequestOf`: the `host` already in serialized URL form.
|
|
165
|
+
*/
|
|
166
|
+
export type IWalletOnboardingRequest = {
|
|
167
|
+
host: string;
|
|
168
|
+
};
|
|
148
169
|
/**
|
|
149
170
|
* The authentication signer plus the DID to name as the VP `holder`. Each app
|
|
150
171
|
* resolves this from its own key material (DCW from the selected profile's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/wallet-core",
|
|
3
3
|
"description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.28.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|