@charterlabs/rhinestone-sdk 0.4.1 → 0.4.3
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/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +21 -7
- package/dist/src/accounts/signing/mfa-webauthn.d.ts +30 -0
- package/dist/src/accounts/signing/mfa-webauthn.d.ts.map +1 -0
- package/dist/src/accounts/signing/mfa-webauthn.js +119 -0
- package/dist/src/actions/mfa.d.ts +6 -2
- package/dist/src/actions/mfa.d.ts.map +1 -1
- package/dist/src/actions/mfa.js +14 -4
- package/dist/src/modules/validators/core.d.ts +6 -2
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +46 -21
- package/dist/src/modules/validators/webauthn-contract.d.ts +1 -5
- package/dist/src/modules/validators/webauthn-contract.d.ts.map +1 -1
- package/dist/src/modules/validators/webauthn-contract.js +2 -4
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAMV,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAQ/D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const viem_1 = require("viem");
|
|
|
9
9
|
const modules_1 = require("../../modules");
|
|
10
10
|
const core_1 = require("../../modules/validators/core");
|
|
11
11
|
const smart_sessions_1 = require("../../modules/validators/smart-sessions");
|
|
12
|
+
const mfa_webauthn_1 = require("./mfa-webauthn");
|
|
12
13
|
const passkeys_1 = require("./passkeys");
|
|
13
14
|
function convertOwnerSetToSignerSet(owners) {
|
|
14
15
|
switch (owners.type) {
|
|
@@ -75,14 +76,27 @@ function convertOwnerSetToSignerSet(owners) {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
async function signMfaSubValidator(validator, chain, address, params, isUserOpHash, signMain) {
|
|
80
|
+
if (validator === null) {
|
|
81
|
+
return '0x';
|
|
82
|
+
}
|
|
83
|
+
if (validator.type === 'passkey') {
|
|
84
|
+
const signature = await signMain({
|
|
85
|
+
type: 'owner',
|
|
86
|
+
kind: 'passkey',
|
|
87
|
+
accounts: validator.accounts,
|
|
88
|
+
}, chain, address, params, isUserOpHash);
|
|
89
|
+
return (0, mfa_webauthn_1.encodeMfaWebAuthnSignatureForAccounts)({
|
|
90
|
+
passkeySignature: signature,
|
|
91
|
+
accounts: validator.accounts,
|
|
92
|
+
accountAddress: address,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
const validatorSigners = convertOwnerSetToSignerSet(validator);
|
|
96
|
+
return signMain(validatorSigners, chain, address, params, isUserOpHash);
|
|
97
|
+
}
|
|
78
98
|
async function signWithMultiFactorAuth(signers, chain, address, params, isUserOpHash, signMain) {
|
|
79
|
-
const signatures = await Promise.all(signers.validators.map(
|
|
80
|
-
if (validator === null) {
|
|
81
|
-
return '0x';
|
|
82
|
-
}
|
|
83
|
-
const validatorSigners = convertOwnerSetToSignerSet(validator);
|
|
84
|
-
return signMain(validatorSigners, chain, address, params, isUserOpHash);
|
|
85
|
-
}));
|
|
99
|
+
const signatures = await Promise.all(signers.validators.map((validator) => signMfaSubValidator(validator, chain, address, params, isUserOpHash, signMain)));
|
|
86
100
|
const data = (0, viem_1.encodeAbiParameters)([
|
|
87
101
|
{
|
|
88
102
|
components: [
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Address, type Hex } from 'viem';
|
|
2
|
+
import type { WebAuthnAccount } from 'viem/account-abstraction';
|
|
3
|
+
import { type WebAuthnSignature } from './passkeys';
|
|
4
|
+
type WebAuthnCredentialData = {
|
|
5
|
+
pubKeyX: bigint;
|
|
6
|
+
pubKeyY: bigint;
|
|
7
|
+
requireUV?: boolean;
|
|
8
|
+
};
|
|
9
|
+
type DecodedPasskeySignature = {
|
|
10
|
+
credIds: Hex[];
|
|
11
|
+
usePrecompile: boolean;
|
|
12
|
+
webAuthns: WebAuthnSignature[];
|
|
13
|
+
};
|
|
14
|
+
declare function generateMfaWebAuthnCredentialId(pubKeyX: bigint, pubKeyY: bigint): Hex;
|
|
15
|
+
declare function encodeMfaWebAuthnValidatorData(input: {
|
|
16
|
+
usePrecompile: boolean;
|
|
17
|
+
threshold: number;
|
|
18
|
+
credentials: WebAuthnCredentialData[];
|
|
19
|
+
}): Hex;
|
|
20
|
+
declare function decodePasskeySignature(signature: Hex): DecodedPasskeySignature;
|
|
21
|
+
declare function encodeMfaWebAuthnSignature(webAuthns: WebAuthnSignature[]): Hex;
|
|
22
|
+
declare function extractMfaWebAuthnSignatureFromPasskeySignature(signature: Hex): Hex;
|
|
23
|
+
declare function encodeMfaWebAuthnSignatureForAccounts(input: {
|
|
24
|
+
passkeySignature: Hex;
|
|
25
|
+
accounts: WebAuthnAccount[];
|
|
26
|
+
accountAddress: Address;
|
|
27
|
+
}): Hex;
|
|
28
|
+
export { decodePasskeySignature, encodeMfaWebAuthnSignature, encodeMfaWebAuthnSignatureForAccounts, encodeMfaWebAuthnValidatorData, extractMfaWebAuthnSignatureFromPasskeySignature, generateMfaWebAuthnCredentialId, };
|
|
29
|
+
export type { WebAuthnCredentialData };
|
|
30
|
+
//# sourceMappingURL=mfa-webauthn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfa-webauthn.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/mfa-webauthn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAET,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AAEnB,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,iBAAiB,EAAE,CAAA;CAC/B,CAAA;AAwCD,iBAAS,+BAA+B,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,GAAG,CAcL;AAED,iBAAS,8BAA8B,CAAC,KAAK,EAAE;IAC7C,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,sBAAsB,EAAE,CAAA;CACtC,GAAG,GAAG,CA8BN;AAED,iBAAS,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,uBAAuB,CAkBvE;AAED,iBAAS,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAEvE;AAED,iBAAS,+CAA+C,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAE5E;AAED,iBAAS,qCAAqC,CAAC,KAAK,EAAE;IACpD,gBAAgB,EAAE,GAAG,CAAA;IACrB,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,EAAE,OAAO,CAAA;CACxB,GAAG,GAAG,CAgCN;AAED,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qCAAqC,EACrC,8BAA8B,EAC9B,+CAA+C,EAC/C,+BAA+B,GAChC,CAAA;AACD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodePasskeySignature = decodePasskeySignature;
|
|
4
|
+
exports.encodeMfaWebAuthnSignature = encodeMfaWebAuthnSignature;
|
|
5
|
+
exports.encodeMfaWebAuthnSignatureForAccounts = encodeMfaWebAuthnSignatureForAccounts;
|
|
6
|
+
exports.encodeMfaWebAuthnValidatorData = encodeMfaWebAuthnValidatorData;
|
|
7
|
+
exports.extractMfaWebAuthnSignatureFromPasskeySignature = extractMfaWebAuthnSignatureFromPasskeySignature;
|
|
8
|
+
exports.generateMfaWebAuthnCredentialId = generateMfaWebAuthnCredentialId;
|
|
9
|
+
const viem_1 = require("viem");
|
|
10
|
+
const passkeys_1 = require("./passkeys");
|
|
11
|
+
const webAuthnAuthAbiParameter = {
|
|
12
|
+
type: 'tuple[]',
|
|
13
|
+
name: 'webAuthns',
|
|
14
|
+
components: [
|
|
15
|
+
{ type: 'bytes', name: 'authenticatorData' },
|
|
16
|
+
{ type: 'string', name: 'clientDataJSON' },
|
|
17
|
+
{ type: 'uint256', name: 'challengeIndex' },
|
|
18
|
+
{ type: 'uint256', name: 'typeIndex' },
|
|
19
|
+
{ type: 'uint256', name: 'r' },
|
|
20
|
+
{ type: 'uint256', name: 's' },
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
const passkeySignatureAbiParameters = [
|
|
24
|
+
{ type: 'bytes32[]', name: 'credIds' },
|
|
25
|
+
{ type: 'bool', name: 'usePrecompile' },
|
|
26
|
+
webAuthnAuthAbiParameter,
|
|
27
|
+
];
|
|
28
|
+
const webAuthnMfaContextAbiParameter = {
|
|
29
|
+
type: 'tuple',
|
|
30
|
+
name: 'context',
|
|
31
|
+
components: [
|
|
32
|
+
{ type: 'bool', name: 'usePrecompile' },
|
|
33
|
+
{ type: 'uint256', name: 'threshold' },
|
|
34
|
+
{ type: 'bytes32[]', name: 'credentialIds' },
|
|
35
|
+
{
|
|
36
|
+
type: 'tuple[]',
|
|
37
|
+
name: 'credentialData',
|
|
38
|
+
components: [
|
|
39
|
+
{ type: 'uint256', name: 'pubKeyX' },
|
|
40
|
+
{ type: 'uint256', name: 'pubKeyY' },
|
|
41
|
+
{ type: 'bool', name: 'requireUV' },
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
function generateMfaWebAuthnCredentialId(pubKeyX, pubKeyY) {
|
|
47
|
+
return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
|
|
48
|
+
{
|
|
49
|
+
type: 'uint256',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: 'uint256',
|
|
53
|
+
},
|
|
54
|
+
], [pubKeyX, pubKeyY]));
|
|
55
|
+
}
|
|
56
|
+
function encodeMfaWebAuthnValidatorData(input) {
|
|
57
|
+
const credentials = input.credentials
|
|
58
|
+
.map((credential) => ({
|
|
59
|
+
credentialId: generateMfaWebAuthnCredentialId(credential.pubKeyX, credential.pubKeyY),
|
|
60
|
+
credentialData: {
|
|
61
|
+
pubKeyX: credential.pubKeyX,
|
|
62
|
+
pubKeyY: credential.pubKeyY,
|
|
63
|
+
requireUV: credential.requireUV ?? false,
|
|
64
|
+
},
|
|
65
|
+
}))
|
|
66
|
+
.sort((left, right) => left.credentialId < right.credentialId ? -1 : 1);
|
|
67
|
+
return (0, viem_1.encodeAbiParameters)([webAuthnMfaContextAbiParameter], [
|
|
68
|
+
{
|
|
69
|
+
usePrecompile: input.usePrecompile,
|
|
70
|
+
threshold: BigInt(input.threshold),
|
|
71
|
+
credentialIds: credentials.map((credential) => credential.credentialId),
|
|
72
|
+
credentialData: credentials.map((credential) => credential.credentialData),
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
function decodePasskeySignature(signature) {
|
|
77
|
+
const [credIds, usePrecompile, webAuthns] = (0, viem_1.decodeAbiParameters)(passkeySignatureAbiParameters, signature);
|
|
78
|
+
return {
|
|
79
|
+
credIds: [...credIds],
|
|
80
|
+
usePrecompile,
|
|
81
|
+
webAuthns: webAuthns.map((webAuthn) => ({
|
|
82
|
+
authenticatorData: webAuthn.authenticatorData,
|
|
83
|
+
clientDataJSON: webAuthn.clientDataJSON,
|
|
84
|
+
challengeIndex: BigInt(webAuthn.challengeIndex),
|
|
85
|
+
typeIndex: BigInt(webAuthn.typeIndex),
|
|
86
|
+
r: BigInt(webAuthn.r),
|
|
87
|
+
s: BigInt(webAuthn.s),
|
|
88
|
+
})),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function encodeMfaWebAuthnSignature(webAuthns) {
|
|
92
|
+
return (0, viem_1.encodeAbiParameters)([webAuthnAuthAbiParameter], [webAuthns]);
|
|
93
|
+
}
|
|
94
|
+
function extractMfaWebAuthnSignatureFromPasskeySignature(signature) {
|
|
95
|
+
return encodeMfaWebAuthnSignature(decodePasskeySignature(signature).webAuthns);
|
|
96
|
+
}
|
|
97
|
+
function encodeMfaWebAuthnSignatureForAccounts(input) {
|
|
98
|
+
const decoded = decodePasskeySignature(input.passkeySignature);
|
|
99
|
+
const authByStatefulCredentialId = new Map(decoded.credIds.map((credId, index) => [
|
|
100
|
+
credId.toLowerCase(),
|
|
101
|
+
decoded.webAuthns[index],
|
|
102
|
+
]));
|
|
103
|
+
const webAuthns = input.accounts
|
|
104
|
+
.map((account) => {
|
|
105
|
+
const { x, y } = (0, passkeys_1.parsePublicKey)(account.publicKey);
|
|
106
|
+
const statefulCredentialId = (0, passkeys_1.generateCredentialId)(x, y, input.accountAddress).toLowerCase();
|
|
107
|
+
const webAuthn = authByStatefulCredentialId.get(statefulCredentialId);
|
|
108
|
+
if (!webAuthn) {
|
|
109
|
+
throw new Error('Missing WebAuthn signature for MFA credential');
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
credentialId: generateMfaWebAuthnCredentialId(x, y),
|
|
113
|
+
webAuthn,
|
|
114
|
+
};
|
|
115
|
+
})
|
|
116
|
+
.sort((left, right) => left.credentialId < right.credentialId ? -1 : 1)
|
|
117
|
+
.map(({ webAuthn }) => webAuthn);
|
|
118
|
+
return encodeMfaWebAuthnSignature(webAuthns);
|
|
119
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { type Hex } from 'viem';
|
|
1
|
+
import { type Chain, type Hex } from 'viem';
|
|
2
2
|
import type { CalldataInput, LazyCallInput, OwnableValidatorConfig, WebauthnValidatorConfig } from '../types';
|
|
3
|
+
type MfaSubValidatorDataOptions = {
|
|
4
|
+
chain?: Chain;
|
|
5
|
+
useWebAuthnPrecompile?: boolean;
|
|
6
|
+
};
|
|
3
7
|
/**
|
|
4
8
|
* Enable multi-factor authentication
|
|
5
9
|
* @param validators List of validators to use
|
|
@@ -25,7 +29,7 @@ declare function disable(): LazyCallInput;
|
|
|
25
29
|
* @param validator Validator module
|
|
26
30
|
* @returns Call to set the sub-validator
|
|
27
31
|
*/
|
|
28
|
-
declare function setSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig): CalldataInput;
|
|
32
|
+
declare function setSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig, options?: MfaSubValidatorDataOptions): CalldataInput;
|
|
29
33
|
/**
|
|
30
34
|
* Remove a sub-validator (multi-factor)
|
|
31
35
|
* @param id Validator ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;AAY9E,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,KAAK,0BAA0B,GAAG;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AASD;;;;;GAKG;AACH,iBAAS,MAAM,CACb,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,EACvE,SAAS,SAAI,GACZ,aAAa,CASf;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAkB5D;AAED;;;;GAIG;AACH,iBAAS,OAAO,IAAI,aAAa,CAOhC;AAED;;;;;GAKG;AACH,iBAAS,eAAe,CACtB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,EAC3D,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CAkCf;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,GAC1D,aAAa,CA2Bf;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
|
package/dist/src/actions/mfa.js
CHANGED
|
@@ -7,7 +7,12 @@ exports.setSubValidator = setSubValidator;
|
|
|
7
7
|
exports.removeSubValidator = removeSubValidator;
|
|
8
8
|
const viem_1 = require("viem");
|
|
9
9
|
const accounts_1 = require("../accounts");
|
|
10
|
+
const modules_1 = require("../modules");
|
|
10
11
|
const core_1 = require("../modules/validators/core");
|
|
12
|
+
function resolveUseWebAuthnPrecompile(options) {
|
|
13
|
+
return (options?.useWebAuthnPrecompile ??
|
|
14
|
+
(options?.chain ? (0, modules_1.isRip7212SupportedNetwork)(options.chain) : false));
|
|
15
|
+
}
|
|
11
16
|
/**
|
|
12
17
|
* Enable multi-factor authentication
|
|
13
18
|
* @param validators List of validators to use
|
|
@@ -15,9 +20,11 @@ const core_1 = require("../modules/validators/core");
|
|
|
15
20
|
* @returns Calls to enable multi-factor authentication
|
|
16
21
|
*/
|
|
17
22
|
function enable(validators, threshold = 1) {
|
|
18
|
-
const module = (0, core_1.getMultiFactorValidator)(threshold, validators);
|
|
19
23
|
return {
|
|
20
|
-
async resolve({ config }) {
|
|
24
|
+
async resolve({ config, chain }) {
|
|
25
|
+
const module = (0, core_1.getMultiFactorValidator)(threshold, validators, {
|
|
26
|
+
useWebAuthnPrecompile: (0, modules_1.isRip7212SupportedNetwork)(chain),
|
|
27
|
+
});
|
|
21
28
|
return (0, accounts_1.getModuleInstallationCalls)(config, module);
|
|
22
29
|
},
|
|
23
30
|
};
|
|
@@ -65,9 +72,12 @@ function disable() {
|
|
|
65
72
|
* @param validator Validator module
|
|
66
73
|
* @returns Call to set the sub-validator
|
|
67
74
|
*/
|
|
68
|
-
function setSubValidator(id, validator) {
|
|
75
|
+
function setSubValidator(id, validator, options) {
|
|
69
76
|
const validatorId = (0, viem_1.padHex)((0, viem_1.toHex)(id), { size: 12 });
|
|
70
77
|
const validatorModule = (0, core_1.getValidator)(validator);
|
|
78
|
+
const validatorData = (0, core_1.getMultiFactorSubValidatorData)(validator, {
|
|
79
|
+
useWebAuthnPrecompile: resolveUseWebAuthnPrecompile(options),
|
|
80
|
+
});
|
|
71
81
|
return {
|
|
72
82
|
to: core_1.MULTI_FACTOR_VALIDATOR_ADDRESS,
|
|
73
83
|
value: 0n,
|
|
@@ -93,7 +103,7 @@ function setSubValidator(id, validator) {
|
|
|
93
103
|
},
|
|
94
104
|
],
|
|
95
105
|
functionName: 'setValidator',
|
|
96
|
-
args: [validatorModule.address, validatorId,
|
|
106
|
+
args: [validatorModule.address, validatorId, validatorData],
|
|
97
107
|
}),
|
|
98
108
|
};
|
|
99
109
|
}
|
|
@@ -12,6 +12,9 @@ interface WebauthnCredential {
|
|
|
12
12
|
pubKey: PublicKey | Hex | Uint8Array;
|
|
13
13
|
authenticatorId: string;
|
|
14
14
|
}
|
|
15
|
+
type MultiFactorValidatorDataOptions = {
|
|
16
|
+
useWebAuthnPrecompile?: boolean;
|
|
17
|
+
};
|
|
15
18
|
declare const OWNABLE_VALIDATOR_ADDRESS: Address;
|
|
16
19
|
declare const ENS_VALIDATOR_ADDRESS: Address;
|
|
17
20
|
declare const WEBAUTHN_VALIDATOR_ADDRESS: Address;
|
|
@@ -23,9 +26,10 @@ declare function getValidator(owners: OwnerSet): Module;
|
|
|
23
26
|
declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
|
|
24
27
|
declare function getENSValidator(threshold: number, owners: Address[], ownerExpirations: number[], address?: Address): Module;
|
|
25
28
|
declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[], address?: Address): Module;
|
|
26
|
-
declare function
|
|
29
|
+
declare function getMultiFactorSubValidatorData(validator: OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig, options?: MultiFactorValidatorDataOptions): Hex;
|
|
30
|
+
declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig | null)[], options?: MultiFactorValidatorDataOptions): Module;
|
|
27
31
|
declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
|
|
28
32
|
declare function supportsEip712(validator: Module): boolean;
|
|
29
|
-
export { OWNABLE_VALIDATOR_ADDRESS, ENS_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
|
|
33
|
+
export { OWNABLE_VALIDATOR_ADDRESS, ENS_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, getMultiFactorSubValidatorData, supportsEip712, };
|
|
30
34
|
export type { WebauthnCredential };
|
|
31
35
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAOb,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,QAAA,MAAM,kCAAkC,EAAE,OACI,CAAA;AAC9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,KAAK,+BAA+B,GAAG;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,qBAAqB,EAAE,OACiB,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAKzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAwDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UA2BrC;AAsBD,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,eAAe,CACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAsCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAwCR;AAqBD,iBAAS,8BAA8B,CACrC,SAAS,EACL,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,EAC3B,OAAO,GAAE,+BAAoC,GAC5C,GAAG,CAaL;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,EACH,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAUxC;AAED,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,8BAA8B,EAC9B,cAAc,GACf,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -9,9 +9,11 @@ exports.getMultiFactorValidator = getMultiFactorValidator;
|
|
|
9
9
|
exports.getSocialRecoveryValidator = getSocialRecoveryValidator;
|
|
10
10
|
exports.getValidator = getValidator;
|
|
11
11
|
exports.getMockSignature = getMockSignature;
|
|
12
|
+
exports.getMultiFactorSubValidatorData = getMultiFactorSubValidatorData;
|
|
12
13
|
exports.supportsEip712 = supportsEip712;
|
|
13
14
|
const viem_1 = require("viem");
|
|
14
15
|
const error_1 = require("../../accounts/error");
|
|
16
|
+
const mfa_webauthn_1 = require("../../accounts/signing/mfa-webauthn");
|
|
15
17
|
const common_1 = require("../common");
|
|
16
18
|
const SMART_SESSION_EMISSARY_ADDRESS_DEV = '0x60731de80d78548875f8a67c4fec2a8660194e0c';
|
|
17
19
|
exports.SMART_SESSION_EMISSARY_ADDRESS_DEV = SMART_SESSION_EMISSARY_ADDRESS_DEV;
|
|
@@ -53,7 +55,9 @@ function getMockSignature(ownerSet) {
|
|
|
53
55
|
case 'multi-factor': {
|
|
54
56
|
const mockValidators = ownerSet.validators.map((validator, index) => {
|
|
55
57
|
const validatorModule = getValidator(validator);
|
|
56
|
-
const signature =
|
|
58
|
+
const signature = validator.type === 'passkey'
|
|
59
|
+
? (0, mfa_webauthn_1.extractMfaWebAuthnSignatureFromPasskeySignature)(getMockSignature(validator))
|
|
60
|
+
: getMockSignature(validator);
|
|
57
61
|
return {
|
|
58
62
|
packedValidatorAndId: (0, viem_1.encodePacked)(['bytes12', 'address'], [
|
|
59
63
|
(0, viem_1.pad)((0, viem_1.toHex)(index), {
|
|
@@ -97,6 +101,22 @@ function getValidator(owners) {
|
|
|
97
101
|
}
|
|
98
102
|
}
|
|
99
103
|
}
|
|
104
|
+
function getPublicKey(webAuthnCredential) {
|
|
105
|
+
if (typeof webAuthnCredential.pubKey === 'string' ||
|
|
106
|
+
webAuthnCredential.pubKey instanceof Uint8Array) {
|
|
107
|
+
// It's a P256Credential
|
|
108
|
+
const { x, y, prefix } = parsePublicKey(webAuthnCredential.pubKey);
|
|
109
|
+
if (prefix && prefix !== 4) {
|
|
110
|
+
throw new Error('Only uncompressed public keys are supported');
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
x,
|
|
114
|
+
y,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
// It's already a PublicKey
|
|
118
|
+
return webAuthnCredential.pubKey;
|
|
119
|
+
}
|
|
100
120
|
function getOwnableValidator(threshold, owners, address) {
|
|
101
121
|
return {
|
|
102
122
|
address: address ?? OWNABLE_VALIDATOR_ADDRESS,
|
|
@@ -143,24 +163,6 @@ function getENSValidator(threshold, owners, ownerExpirations, address) {
|
|
|
143
163
|
};
|
|
144
164
|
}
|
|
145
165
|
function getWebAuthnValidator(threshold, webAuthnCredentials, address) {
|
|
146
|
-
function getPublicKey(webAuthnCredential) {
|
|
147
|
-
if (typeof webAuthnCredential.pubKey === 'string' ||
|
|
148
|
-
webAuthnCredential.pubKey instanceof Uint8Array) {
|
|
149
|
-
// It's a P256Credential
|
|
150
|
-
const { x, y, prefix } = parsePublicKey(webAuthnCredential.pubKey);
|
|
151
|
-
if (prefix && prefix !== 4) {
|
|
152
|
-
throw new Error('Only uncompressed public keys are supported');
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
x,
|
|
156
|
-
y,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
// It's already a PublicKey
|
|
161
|
-
return webAuthnCredential.pubKey;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
166
|
const publicKeys = webAuthnCredentials.map(getPublicKey);
|
|
165
167
|
return {
|
|
166
168
|
address: address ?? WEBAUTHN_VALIDATOR_ADDRESS,
|
|
@@ -197,7 +199,30 @@ function getWebAuthnValidator(threshold, webAuthnCredentials, address) {
|
|
|
197
199
|
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
198
200
|
};
|
|
199
201
|
}
|
|
200
|
-
function
|
|
202
|
+
function getWebAuthnMfaValidatorData(threshold, webAuthnCredentials, options = {}) {
|
|
203
|
+
return (0, mfa_webauthn_1.encodeMfaWebAuthnValidatorData)({
|
|
204
|
+
usePrecompile: options.useWebAuthnPrecompile ?? false,
|
|
205
|
+
threshold,
|
|
206
|
+
credentials: webAuthnCredentials.map((credential) => {
|
|
207
|
+
const publicKey = getPublicKey(credential);
|
|
208
|
+
return {
|
|
209
|
+
pubKeyX: publicKey.x,
|
|
210
|
+
pubKeyY: publicKey.y,
|
|
211
|
+
requireUV: false,
|
|
212
|
+
};
|
|
213
|
+
}),
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function getMultiFactorSubValidatorData(validator, options = {}) {
|
|
217
|
+
if (validator.type === 'passkey') {
|
|
218
|
+
return getWebAuthnMfaValidatorData(validator.threshold ?? 1, validator.accounts.map((account) => ({
|
|
219
|
+
pubKey: account.publicKey,
|
|
220
|
+
authenticatorId: account.id,
|
|
221
|
+
})), options);
|
|
222
|
+
}
|
|
223
|
+
return getValidator(validator).initData;
|
|
224
|
+
}
|
|
225
|
+
function getMultiFactorValidator(threshold, validators, options = {}) {
|
|
201
226
|
return {
|
|
202
227
|
address: MULTI_FACTOR_VALIDATOR_ADDRESS,
|
|
203
228
|
initData: (0, viem_1.encodePacked)(['uint8', 'bytes'], [
|
|
@@ -229,7 +254,7 @@ function getMultiFactorValidator(threshold, validators) {
|
|
|
229
254
|
}),
|
|
230
255
|
validatorModule.address,
|
|
231
256
|
]),
|
|
232
|
-
data:
|
|
257
|
+
data: getMultiFactorSubValidatorData(validator, options),
|
|
233
258
|
};
|
|
234
259
|
})
|
|
235
260
|
.filter((validator) => validator !== null),
|
|
@@ -12,9 +12,6 @@ declare const WEBAUTHN_VALIDATOR_ABI: readonly [{
|
|
|
12
12
|
}, {
|
|
13
13
|
readonly name: "pubKeyY";
|
|
14
14
|
readonly type: "uint256";
|
|
15
|
-
}, {
|
|
16
|
-
readonly name: "account";
|
|
17
|
-
readonly type: "address";
|
|
18
15
|
}];
|
|
19
16
|
readonly outputs: readonly [{
|
|
20
17
|
readonly name: "";
|
|
@@ -140,12 +137,11 @@ declare const WEBAUTHN_VALIDATOR_ABI: readonly [{
|
|
|
140
137
|
* Generates a deterministic credential ID for a WebAuthn credential
|
|
141
138
|
* @param pubKeyX X coordinate of the public key
|
|
142
139
|
* @param pubKeyY Y coordinate of the public key
|
|
143
|
-
* @param accountAddress Address of the account
|
|
144
140
|
* @param chain Chain to query on
|
|
145
141
|
* @param provider Optional provider configuration
|
|
146
142
|
* @returns Promise resolving to the credential ID
|
|
147
143
|
*/
|
|
148
|
-
declare function generateCredentialId(pubKeyX: bigint, pubKeyY: bigint,
|
|
144
|
+
declare function generateCredentialId(pubKeyX: bigint, pubKeyY: bigint, chain: Chain, provider?: ProviderConfig): Promise<Hex>;
|
|
149
145
|
/**
|
|
150
146
|
* Gets all credential IDs for an account
|
|
151
147
|
* @param accountAddress Address of the account
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webauthn-contract.d.ts","sourceRoot":"","sources":["../../../../modules/validators/webauthn-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,GAAG,EACT,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD;;GAEG;AACH,QAAA,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"webauthn-contract.d.ts","sourceRoot":"","sources":["../../../../modules/validators/webauthn-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,GAAG,EACT,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD;;GAEG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFlB,CAAA;AAEV;;;;;;;GAOG;AACH,iBAAe,oBAAoB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,GAAG,CAAC,CAcd;AAED;;;;;;GAMG;AACH,iBAAe,gBAAgB,CAC7B,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,GAAG,EAAE,CAAC,CAchB;AAED;;;;;;;GAOG;AACH,iBAAe,iBAAiB,CAC9B,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;;;GAQG;AACH,iBAAe,aAAa,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;GAMG;AACH,iBAAS,aAAa,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,UAAQ,GAChB,IAAI,CAUN;AAED;;;;;GAKG;AACH,iBAAS,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUhE;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAU7C;AAED;;;;;;;GAOG;AACH,iBAAe,iBAAiB,CAC9B,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAeD;AAED;;;;;;GAMG;AACH,iBAAe,YAAY,CACzB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;;;GAMG;AACH,iBAAe,cAAc,CAC3B,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CACR,KAAK,CAAC;IACJ,YAAY,EAAE,GAAG,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CACH,CAqBA;AAED,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,GACvB,CAAA"}
|
|
@@ -24,7 +24,6 @@ const WEBAUTHN_VALIDATOR_ABI = [
|
|
|
24
24
|
inputs: [
|
|
25
25
|
{ name: 'pubKeyX', type: 'uint256' },
|
|
26
26
|
{ name: 'pubKeyY', type: 'uint256' },
|
|
27
|
-
{ name: 'account', type: 'address' },
|
|
28
27
|
],
|
|
29
28
|
outputs: [{ name: '', type: 'bytes32' }],
|
|
30
29
|
stateMutability: 'pure',
|
|
@@ -112,12 +111,11 @@ exports.WEBAUTHN_VALIDATOR_ABI = WEBAUTHN_VALIDATOR_ABI;
|
|
|
112
111
|
* Generates a deterministic credential ID for a WebAuthn credential
|
|
113
112
|
* @param pubKeyX X coordinate of the public key
|
|
114
113
|
* @param pubKeyY Y coordinate of the public key
|
|
115
|
-
* @param accountAddress Address of the account
|
|
116
114
|
* @param chain Chain to query on
|
|
117
115
|
* @param provider Optional provider configuration
|
|
118
116
|
* @returns Promise resolving to the credential ID
|
|
119
117
|
*/
|
|
120
|
-
async function generateCredentialId(pubKeyX, pubKeyY,
|
|
118
|
+
async function generateCredentialId(pubKeyX, pubKeyY, chain, provider) {
|
|
121
119
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
122
120
|
chain,
|
|
123
121
|
transport: (0, utils_1.createTransport)(chain, provider),
|
|
@@ -126,7 +124,7 @@ async function generateCredentialId(pubKeyX, pubKeyY, accountAddress, chain, pro
|
|
|
126
124
|
abi: WEBAUTHN_VALIDATOR_ABI,
|
|
127
125
|
address: core_1.WEBAUTHN_VALIDATOR_ADDRESS,
|
|
128
126
|
functionName: 'generateCredentialId',
|
|
129
|
-
args: [pubKeyX, pubKeyY
|
|
127
|
+
args: [pubKeyX, pubKeyY],
|
|
130
128
|
});
|
|
131
129
|
return result;
|
|
132
130
|
}
|
package/dist/src/types.d.ts
CHANGED
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
|