@interop/wallet-core 0.68.0 → 0.70.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 +31 -41
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +12 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +9 -2
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +10 -0
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +14 -2
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +103 -57
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +254 -335
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +10 -5
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +19 -4
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +83 -35
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +3 -15
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +22 -3
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -14
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +12 -12
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clients/grantState.d.ts +67 -0
- package/dist/clients/grantState.d.ts.map +1 -0
- package/dist/clients/grantState.js +72 -0
- package/dist/clients/grantState.js.map +1 -0
- package/dist/clients/index.d.ts +7 -0
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +6 -0
- package/dist/clients/index.js.map +1 -1
- package/dist/descriptors/index.d.ts +21 -46
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +21 -45
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +45 -56
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +64 -74
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/connectCode.d.ts +4 -3
- package/dist/enrollment/connectCode.d.ts.map +1 -1
- package/dist/enrollment/connectCode.js +4 -3
- package/dist/enrollment/connectCode.js.map +1 -1
- package/dist/enrollment/index.d.ts +2 -2
- package/dist/enrollment/index.js +2 -2
- package/dist/enrollment/onboardingInvite.d.ts +1 -1
- package/dist/enrollment/onboardingInvite.js +1 -1
- package/dist/enrollment/onboardingResponse.js +1 -1
- package/dist/genesis/accountGenesis.d.ts +13 -1
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +11 -2
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/identity/index.d.ts +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/keyring/kdf.d.ts +33 -19
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +36 -25
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keys/collectionLogStore.d.ts +73 -0
- package/dist/keys/collectionLogStore.d.ts.map +1 -0
- package/dist/keys/collectionLogStore.js +60 -0
- package/dist/keys/collectionLogStore.js.map +1 -0
- package/dist/keys/index.d.ts +18 -6
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +18 -6
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +44 -6
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +51 -238
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +2 -1
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +67 -34
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +80 -30
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +26 -1
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +29 -2
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +5 -0
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +5 -0
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +54 -16
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +50 -22
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +5 -4
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +14 -13
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/resourceLog/controller.d.ts +18 -6
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +5 -3
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/document.d.ts +10 -2
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +1 -2
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/resourceLog/errors.d.ts +17 -43
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +17 -50
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +4 -1
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +4 -1
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/logClass.d.ts +69 -0
- package/dist/resourceLog/logClass.d.ts.map +1 -0
- package/dist/resourceLog/logClass.js +43 -0
- package/dist/resourceLog/logClass.js.map +1 -0
- package/dist/space/collections.d.ts +22 -2
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +18 -0
- package/dist/space/collections.js.map +1 -1
- package/dist/space/index.d.ts +8 -5
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +8 -5
- package/dist/space/index.js.map +1 -1
- package/dist/space/provisioning.d.ts +16 -6
- package/dist/space/provisioning.d.ts.map +1 -1
- package/dist/space/provisioning.js +11 -7
- package/dist/space/provisioning.js.map +1 -1
- package/dist/space/wasLink.d.ts +13 -2
- package/dist/space/wasLink.d.ts.map +1 -1
- package/dist/space/wasLink.js +28 -2
- package/dist/space/wasLink.js.map +1 -1
- package/dist/sync/engine.d.ts +4 -2
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -6
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -5
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts +0 -29
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +30 -28
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/types.d.ts +39 -21
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +13 -7
- 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.map +1 -1
- package/dist/unlock/retire.d.ts +8 -1
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +8 -1
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +81 -19
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +170 -30
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/did.d.ts +2 -4
- package/dist/webvh/did.d.ts.map +1 -1
- package/dist/webvh/did.js +2 -4
- package/dist/webvh/did.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +3 -2
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +2 -1
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +13 -7
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +14 -7
- package/dist/webvh/revokeClient.js.map +1 -1
- package/package.json +4 -19
- package/dist/descriptors/acquire.d.ts +0 -122
- package/dist/descriptors/acquire.d.ts.map +0 -1
- package/dist/descriptors/acquire.js +0 -100
- package/dist/descriptors/acquire.js.map +0 -1
- package/dist/descriptors/cipher.d.ts +0 -71
- package/dist/descriptors/cipher.d.ts.map +0 -1
- package/dist/descriptors/cipher.js +0 -109
- package/dist/descriptors/cipher.js.map +0 -1
- package/dist/descriptors/errors.d.ts +0 -44
- package/dist/descriptors/errors.d.ts.map +0 -1
- package/dist/descriptors/errors.js +0 -46
- package/dist/descriptors/errors.js.map +0 -1
- package/dist/descriptors/refresh.d.ts +0 -62
- package/dist/descriptors/refresh.d.ts.map +0 -1
- package/dist/descriptors/refresh.js +0 -69
- package/dist/descriptors/refresh.js.map +0 -1
- package/dist/request/appKey.d.ts +0 -295
- package/dist/request/appKey.d.ts.map +0 -1
- package/dist/request/appKey.js +0 -516
- package/dist/request/appKey.js.map +0 -1
- package/dist/request/capabilityRequest.d.ts +0 -41
- package/dist/request/capabilityRequest.d.ts.map +0 -1
- package/dist/request/capabilityRequest.js +0 -46
- package/dist/request/capabilityRequest.js.map +0 -1
- package/dist/request/classify.d.ts +0 -226
- package/dist/request/classify.d.ts.map +0 -1
- package/dist/request/classify.js +0 -416
- package/dist/request/classify.js.map +0 -1
- package/dist/request/composeVp.d.ts +0 -52
- package/dist/request/composeVp.d.ts.map +0 -1
- package/dist/request/composeVp.js +0 -176
- package/dist/request/composeVp.js.map +0 -1
- package/dist/request/ephemeralExchange.d.ts +0 -100
- package/dist/request/ephemeralExchange.d.ts.map +0 -1
- package/dist/request/ephemeralExchange.js +0 -230
- package/dist/request/ephemeralExchange.js.map +0 -1
- package/dist/request/exchangeClient.d.ts +0 -142
- package/dist/request/exchangeClient.d.ts.map +0 -1
- package/dist/request/exchangeClient.js +0 -241
- package/dist/request/exchangeClient.js.map +0 -1
- package/dist/request/index.d.ts +0 -59
- package/dist/request/index.d.ts.map +0 -1
- package/dist/request/index.js +0 -59
- package/dist/request/index.js.map +0 -1
- package/dist/request/interactionRequest.d.ts +0 -23
- package/dist/request/interactionRequest.d.ts.map +0 -1
- package/dist/request/interactionRequest.js +0 -46
- package/dist/request/interactionRequest.js.map +0 -1
- package/dist/request/interactionUrl.d.ts +0 -42
- package/dist/request/interactionUrl.d.ts.map +0 -1
- package/dist/request/interactionUrl.js +0 -104
- package/dist/request/interactionUrl.js.map +0 -1
- package/dist/request/matching.d.ts +0 -95
- package/dist/request/matching.d.ts.map +0 -1
- package/dist/request/matching.js +0 -205
- package/dist/request/matching.js.map +0 -1
- package/dist/request/onboarding.d.ts +0 -94
- package/dist/request/onboarding.d.ts.map +0 -1
- package/dist/request/onboarding.js +0 -167
- package/dist/request/onboarding.js.map +0 -1
- package/dist/request/parse.d.ts +0 -63
- package/dist/request/parse.d.ts.map +0 -1
- package/dist/request/parse.js +0 -153
- package/dist/request/parse.js.map +0 -1
- package/dist/request/presentationSuite.d.ts +0 -71
- package/dist/request/presentationSuite.d.ts.map +0 -1
- package/dist/request/presentationSuite.js +0 -143
- package/dist/request/presentationSuite.js.map +0 -1
- package/dist/request/processRequest.d.ts +0 -45
- package/dist/request/processRequest.d.ts.map +0 -1
- package/dist/request/processRequest.js +0 -147
- package/dist/request/processRequest.js.map +0 -1
- package/dist/request/queryPredicates.d.ts +0 -98
- package/dist/request/queryPredicates.d.ts.map +0 -1
- package/dist/request/queryPredicates.js +0 -107
- package/dist/request/queryPredicates.js.map +0 -1
- package/dist/request/types.d.ts +0 -257
- package/dist/request/types.d.ts.map +0 -1
- package/dist/request/types.js +0 -2
- package/dist/request/types.js.map +0 -1
- package/dist/request/walletInput.d.ts +0 -93
- package/dist/request/walletInput.d.ts.map +0 -1
- package/dist/request/walletInput.js +0 -179
- package/dist/request/walletInput.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"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"}
|
package/dist/request/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import type { WalletApiMessage } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* What a piece of wallet input turned out to be. Every variant carries the
|
|
4
|
-
* trimmed `text` it was classified from, plus whatever the classification
|
|
5
|
-
* already parsed (a classifier that recognized a grammar has usually parsed
|
|
6
|
-
* enough of it that re-parsing in the handler would be waste and drift).
|
|
7
|
-
*/
|
|
8
|
-
export type WalletInput = {
|
|
9
|
-
kind: 'was-link';
|
|
10
|
-
text: string;
|
|
11
|
-
} | {
|
|
12
|
-
kind: 'connect-code';
|
|
13
|
-
text: string;
|
|
14
|
-
} | {
|
|
15
|
-
kind: 'legacy-request';
|
|
16
|
-
text: string;
|
|
17
|
-
params: Record<string, string>;
|
|
18
|
-
} | {
|
|
19
|
-
kind: 'interaction-url';
|
|
20
|
-
text: string;
|
|
21
|
-
} | {
|
|
22
|
-
kind: 'deep-link';
|
|
23
|
-
text: string;
|
|
24
|
-
} | {
|
|
25
|
-
kind: 'wallet-api-message';
|
|
26
|
-
text: string;
|
|
27
|
-
message: WalletApiMessage;
|
|
28
|
-
} | {
|
|
29
|
-
kind: 'credentials';
|
|
30
|
-
text: string;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Classifies one piece of wallet input. See the module doc for the order and
|
|
34
|
-
* why each branch sits where it does.
|
|
35
|
-
*
|
|
36
|
-
* @param text {string} the scanned, pasted, or opened text
|
|
37
|
-
* @param [options] {object}
|
|
38
|
-
* @param [options.deepLinkSchemes] {string[]} the link prefixes this app has
|
|
39
|
-
* registered (custom protocols and universal app links). Empty, the
|
|
40
|
-
* deep-link and legacy-request branches never match -- a wallet with no
|
|
41
|
-
* registered links has nothing to route them to
|
|
42
|
-
* @returns {WalletInput}
|
|
43
|
-
*/
|
|
44
|
-
export declare function classifyWalletInput(text: string, { deepLinkSchemes }?: {
|
|
45
|
-
deepLinkSchemes?: string[];
|
|
46
|
-
}): WalletInput;
|
|
47
|
-
/**
|
|
48
|
-
* The handlers a caller injects, one per classified kind. Every handler is
|
|
49
|
-
* optional: an input whose kind has no handler throws, which is what keeps a
|
|
50
|
-
* wallet that does not implement a grammar from silently doing the wrong thing
|
|
51
|
-
* with it.
|
|
52
|
-
*/
|
|
53
|
-
export interface WalletInputHandlers<T> {
|
|
54
|
-
wasLink?: (input: {
|
|
55
|
-
text: string;
|
|
56
|
-
}) => T | Promise<T>;
|
|
57
|
-
connectCode?: (input: {
|
|
58
|
-
text: string;
|
|
59
|
-
}) => T | Promise<T>;
|
|
60
|
-
legacyRequest?: (input: {
|
|
61
|
-
text: string;
|
|
62
|
-
params: Record<string, string>;
|
|
63
|
-
}) => T | Promise<T>;
|
|
64
|
-
interactionUrl?: (input: {
|
|
65
|
-
text: string;
|
|
66
|
-
}) => T | Promise<T>;
|
|
67
|
-
deepLink?: (input: {
|
|
68
|
-
text: string;
|
|
69
|
-
}) => T | Promise<T>;
|
|
70
|
-
walletApiMessage?: (input: {
|
|
71
|
-
text: string;
|
|
72
|
-
message: WalletApiMessage;
|
|
73
|
-
}) => T | Promise<T>;
|
|
74
|
-
credentials?: (input: {
|
|
75
|
-
text: string;
|
|
76
|
-
}) => T | Promise<T>;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Classifies input and dispatches it to the matching handler.
|
|
80
|
-
*
|
|
81
|
-
* @param options {object}
|
|
82
|
-
* @param options.text {string} the scanned, pasted, or opened text
|
|
83
|
-
* @param [options.deepLinkSchemes] {string[]} this app's registered link
|
|
84
|
-
* prefixes
|
|
85
|
-
* @param options.handlers {WalletInputHandlers} the injected handlers
|
|
86
|
-
* @returns {Promise<*>} whatever the matching handler resolves to
|
|
87
|
-
*/
|
|
88
|
-
export declare function handleWalletInput<T>({ text, deepLinkSchemes, handlers }: {
|
|
89
|
-
text: string;
|
|
90
|
-
deepLinkSchemes?: string[];
|
|
91
|
-
handlers: WalletInputHandlers<T>;
|
|
92
|
-
}): Promise<T>;
|
|
93
|
-
//# sourceMappingURL=walletInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletInput.d.ts","sourceRoot":"","sources":["../../src/request/walletInput.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAwCzC;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,EAAE,eAAoB,EAAE,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC5D,WAAW,CA2Cb;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACrD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC/B,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,gBAAgB,CAAA;KAC1B,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAC1D;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,EACzC,IAAI,EACJ,eAAe,EACf,QAAQ,EACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CACjC,GAAG,OAAO,CAAC,CAAC,CAAC,CAkBb"}
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The universal wallet-input classifier: one ordered discrimination for every
|
|
6
|
-
* place a wallet accepts arbitrary text -- a QR scan, a paste box, a file
|
|
7
|
-
* drop, an opened deep link. Each wallet had grown its own ladder, so a
|
|
8
|
-
* grammar one wallet routed the other silently mis-handled (a connect code
|
|
9
|
-
* read as a credential URL, a connection payload read as nothing at all).
|
|
10
|
-
*
|
|
11
|
-
* Classification only: nothing here fetches, navigates, or stores. The caller
|
|
12
|
-
* supplies the handlers ({@link handleWalletInput}) or switches on the
|
|
13
|
-
* discriminated result itself.
|
|
14
|
-
*
|
|
15
|
-
* The order is the whole design, because several grammars are subsets of
|
|
16
|
-
* others. Most specific first:
|
|
17
|
-
*
|
|
18
|
-
* 1. **`was-link`** -- the wallet-connection QR payload, a non-URL JSON blob
|
|
19
|
-
* (deliberately not a link, so no OS handler ever routes it). Checked first
|
|
20
|
-
* because it is JSON that would otherwise fall through to the credential
|
|
21
|
-
* branch.
|
|
22
|
-
* 2. **`connect-code`** -- a `freewallet-connect:` client-enrollment code,
|
|
23
|
-
* recognized by prefix.
|
|
24
|
-
* 3. **`legacy-request`** -- the legacy credential-request link: a registered
|
|
25
|
-
* deep link carrying both `vc_request_url` and `issuer`. Necessarily ahead
|
|
26
|
-
* of the generic deep-link branch, which it would otherwise be swallowed by.
|
|
27
|
-
* 4. **`interaction-url`** -- a VCALM interaction URL (`interaction:` scheme,
|
|
28
|
-
* or `iuv=1`), the indirection that resolves to a protocols map.
|
|
29
|
-
* 5. **`deep-link`** -- any other link on one of the app's registered schemes,
|
|
30
|
-
* routed by the app's own link handling.
|
|
31
|
-
* 6. **`wallet-api-message`** -- a wallet API message, either as raw JSON or
|
|
32
|
-
* carried in a `request` query parameter of a link that is NOT on a
|
|
33
|
-
* registered scheme (a plain `https:` QR from a site that has one). The
|
|
34
|
-
* parameter form is checked before the raw-JSON form so the message is
|
|
35
|
-
* handed back parsed either way.
|
|
36
|
-
* 7. **`credentials`** -- the fallback: raw VC/VP JSON, or a URL to fetch one
|
|
37
|
-
* from. Deliberately last, since it is the only branch that cannot be
|
|
38
|
-
* recognized positively.
|
|
39
|
-
*
|
|
40
|
-
* Nothing is classified as "unrecognized": the credential branch is where
|
|
41
|
-
* unrecognized text lands, and the resolver a caller runs there is what
|
|
42
|
-
* produces the honest error message.
|
|
43
|
-
*/
|
|
44
|
-
import { isConnectCode } from '../enrollment/connectCode.js';
|
|
45
|
-
import { WAS_LINK_TYPE } from '../space/wasLink.js';
|
|
46
|
-
import { isInteractionUrl } from './interactionUrl.js';
|
|
47
|
-
import { isWalletApiMessage, parseWalletApiMessage, parseWalletApiUrl } from './parse.js';
|
|
48
|
-
/**
|
|
49
|
-
* The query parameters of a link, whatever its scheme. Uses the substring
|
|
50
|
-
* after the first `?` rather than `new URL`, so a custom-protocol link parses
|
|
51
|
-
* the same way an `https:` one does.
|
|
52
|
-
*
|
|
53
|
-
* @param text {string}
|
|
54
|
-
* @returns {URLSearchParams}
|
|
55
|
-
*/
|
|
56
|
-
function queryParamsOf(text) {
|
|
57
|
-
const start = text.indexOf('?');
|
|
58
|
-
return new URLSearchParams(start === -1 ? '' : text.slice(start + 1));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Whether the text parses as a `was-link` connection payload's JSON shape.
|
|
62
|
-
* Matched structurally on the `t` member rather than by calling the parser, so
|
|
63
|
-
* an unrelated JSON blob is not refused with a connection-code error message.
|
|
64
|
-
*
|
|
65
|
-
* @param text {string}
|
|
66
|
-
* @returns {boolean}
|
|
67
|
-
*/
|
|
68
|
-
function isWasLinkPayload(text) {
|
|
69
|
-
if (!text.startsWith('{')) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
let parsed;
|
|
73
|
-
try {
|
|
74
|
-
parsed = JSON.parse(text);
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
return (parsed !== null &&
|
|
80
|
-
typeof parsed === 'object' &&
|
|
81
|
-
parsed.t === WAS_LINK_TYPE);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Classifies one piece of wallet input. See the module doc for the order and
|
|
85
|
-
* why each branch sits where it does.
|
|
86
|
-
*
|
|
87
|
-
* @param text {string} the scanned, pasted, or opened text
|
|
88
|
-
* @param [options] {object}
|
|
89
|
-
* @param [options.deepLinkSchemes] {string[]} the link prefixes this app has
|
|
90
|
-
* registered (custom protocols and universal app links). Empty, the
|
|
91
|
-
* deep-link and legacy-request branches never match -- a wallet with no
|
|
92
|
-
* registered links has nothing to route them to
|
|
93
|
-
* @returns {WalletInput}
|
|
94
|
-
*/
|
|
95
|
-
export function classifyWalletInput(text, { deepLinkSchemes = [] } = {}) {
|
|
96
|
-
const trimmed = text.trim();
|
|
97
|
-
if (isWasLinkPayload(trimmed)) {
|
|
98
|
-
return { kind: 'was-link', text: trimmed };
|
|
99
|
-
}
|
|
100
|
-
if (isConnectCode(trimmed)) {
|
|
101
|
-
return { kind: 'connect-code', text: trimmed };
|
|
102
|
-
}
|
|
103
|
-
const isDeepLink = deepLinkSchemes.some(scheme => trimmed.startsWith(scheme));
|
|
104
|
-
if (isDeepLink) {
|
|
105
|
-
const params = queryParamsOf(trimmed);
|
|
106
|
-
if (params.has('vc_request_url') && params.has('issuer')) {
|
|
107
|
-
return {
|
|
108
|
-
kind: 'legacy-request',
|
|
109
|
-
text: trimmed,
|
|
110
|
-
params: Object.fromEntries(params.entries())
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (isInteractionUrl(trimmed)) {
|
|
115
|
-
return { kind: 'interaction-url', text: trimmed };
|
|
116
|
-
}
|
|
117
|
-
if (isDeepLink) {
|
|
118
|
-
return { kind: 'deep-link', text: trimmed };
|
|
119
|
-
}
|
|
120
|
-
// A link on an unregistered scheme can still carry a wallet API message in
|
|
121
|
-
// its `request` parameter (a site's own QR code).
|
|
122
|
-
const carried = parseWalletApiUrl({ url: trimmed });
|
|
123
|
-
const message = carried
|
|
124
|
-
? parseWalletApiMessage({ messageObject: carried })
|
|
125
|
-
: isWalletApiMessage(trimmed)
|
|
126
|
-
? parseWalletApiMessage({
|
|
127
|
-
messageObject: JSON.parse(trimmed)
|
|
128
|
-
})
|
|
129
|
-
: undefined;
|
|
130
|
-
if (message) {
|
|
131
|
-
return { kind: 'wallet-api-message', text: trimmed, message };
|
|
132
|
-
}
|
|
133
|
-
return { kind: 'credentials', text: trimmed };
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Classifies input and dispatches it to the matching handler.
|
|
137
|
-
*
|
|
138
|
-
* @param options {object}
|
|
139
|
-
* @param options.text {string} the scanned, pasted, or opened text
|
|
140
|
-
* @param [options.deepLinkSchemes] {string[]} this app's registered link
|
|
141
|
-
* prefixes
|
|
142
|
-
* @param options.handlers {WalletInputHandlers} the injected handlers
|
|
143
|
-
* @returns {Promise<*>} whatever the matching handler resolves to
|
|
144
|
-
*/
|
|
145
|
-
export async function handleWalletInput({ text, deepLinkSchemes, handlers }) {
|
|
146
|
-
const input = classifyWalletInput(text, { deepLinkSchemes });
|
|
147
|
-
switch (input.kind) {
|
|
148
|
-
case 'was-link':
|
|
149
|
-
return dispatch({ handler: handlers.wasLink, input });
|
|
150
|
-
case 'connect-code':
|
|
151
|
-
return dispatch({ handler: handlers.connectCode, input });
|
|
152
|
-
case 'legacy-request':
|
|
153
|
-
return dispatch({ handler: handlers.legacyRequest, input });
|
|
154
|
-
case 'interaction-url':
|
|
155
|
-
return dispatch({ handler: handlers.interactionUrl, input });
|
|
156
|
-
case 'deep-link':
|
|
157
|
-
return dispatch({ handler: handlers.deepLink, input });
|
|
158
|
-
case 'wallet-api-message':
|
|
159
|
-
return dispatch({ handler: handlers.walletApiMessage, input });
|
|
160
|
-
default:
|
|
161
|
-
return dispatch({ handler: handlers.credentials, input });
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Runs one handler, or refuses because this wallet does not implement the
|
|
166
|
-
* grammar the input turned out to be.
|
|
167
|
-
*
|
|
168
|
-
* @param options {object}
|
|
169
|
-
* @param [options.handler] {Function}
|
|
170
|
-
* @param options.input {WalletInput}
|
|
171
|
-
* @returns {Promise<*>}
|
|
172
|
-
*/
|
|
173
|
-
async function dispatch({ handler, input }) {
|
|
174
|
-
if (!handler) {
|
|
175
|
-
throw new Error(`Unhandled wallet input of kind "${input.kind}".`);
|
|
176
|
-
}
|
|
177
|
-
return handler(input);
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=walletInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletInput.js","sourceRoot":"","sources":["../../src/request/walletInput.ts"],"names":[],"mappings":"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"}
|