@rhinestone/sdk 1.0.0-alpha.14 → 1.0.0-alpha.16
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/custom.d.ts +18 -0
- package/dist/src/accounts/custom.d.ts.map +1 -0
- package/dist/src/accounts/custom.js +121 -0
- package/dist/src/accounts/custom.test.d.ts +2 -0
- package/dist/src/accounts/custom.test.d.ts.map +1 -0
- package/dist/src/accounts/custom.test.js +64 -0
- package/dist/src/accounts/index.d.ts +1 -1
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +37 -6
- package/dist/src/accounts/index.test.js +3 -3
- package/dist/src/accounts/json-rpc/index.d.ts +5 -0
- package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.js +16 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.test.js +16 -0
- package/dist/src/accounts/json-rpc/providers.d.ts +4 -0
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.js +14 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.test.js +15 -0
- package/dist/src/accounts/kernel.test.js +8 -8
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/nexus.js +34 -8
- package/dist/src/accounts/nexus.test.js +12 -12
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +2 -0
- package/dist/src/accounts/safe.test.js +8 -8
- package/dist/src/accounts/signing/common.d.ts +10 -6
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +41 -12
- package/dist/src/accounts/signing/message.d.ts +2 -2
- package/dist/src/accounts/signing/message.d.ts.map +1 -1
- package/dist/src/accounts/signing/message.js +7 -11
- package/dist/src/accounts/signing/passkeys.d.ts +29 -0
- package/dist/src/accounts/signing/passkeys.d.ts.map +1 -0
- package/dist/src/accounts/signing/passkeys.js +90 -0
- package/dist/src/accounts/signing/passkeys.test.d.ts +2 -0
- package/dist/src/accounts/signing/passkeys.test.d.ts.map +1 -0
- package/dist/src/accounts/signing/passkeys.test.js +73 -0
- package/dist/src/accounts/signing/typedData.d.ts +2 -2
- package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
- package/dist/src/accounts/signing/typedData.js +7 -11
- package/dist/src/accounts/startale.test.js +8 -8
- package/dist/src/accounts/utils.d.ts +3 -3
- package/dist/src/accounts/utils.d.ts.map +1 -1
- package/dist/src/accounts/utils.js +3 -40
- package/dist/src/actions/index.d.ts +45 -1
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +174 -9
- package/dist/src/actions/index.test.js +16 -16
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +3 -6
- package/dist/src/execution/utils.d.ts +1 -1
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +17 -16
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -1
- package/dist/src/modules/index.d.ts +2 -17
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +4 -55
- package/dist/src/modules/index.test.js +2 -16
- package/dist/src/modules/omni-account.d.ts +2 -1
- package/dist/src/modules/omni-account.d.ts.map +1 -1
- package/dist/src/modules/omni-account.js +3 -1
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +1 -0
- package/dist/src/modules/validators/core.d.ts +4 -3
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +46 -37
- package/dist/src/modules/validators/core.test.js +6 -6
- package/dist/src/modules/validators/smart-sessions.test.js +4 -4
- package/dist/src/orchestrator/consts.d.ts +2 -1
- package/dist/src/orchestrator/consts.d.ts.map +1 -1
- package/dist/src/orchestrator/consts.js +3 -1
- package/dist/src/orchestrator/registry.d.ts +1 -23
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +22 -24
- package/dist/src/orchestrator/registry.test.js +4 -4
- package/dist/src/orchestrator/types.d.ts +1 -6
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +29 -7
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/orchestrator/registry.json +0 -365
|
@@ -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,
|
|
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,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,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,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,QAAA,MAAM,4BAA4B,EAAE,OACU,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAkDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAyBrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,GACxC,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
3
|
+
exports.OWNABLE_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
4
4
|
exports.getOwnerValidator = getOwnerValidator;
|
|
5
5
|
exports.getOwnableValidator = getOwnableValidator;
|
|
6
6
|
exports.getWebAuthnValidator = getWebAuthnValidator;
|
|
@@ -10,21 +10,24 @@ exports.getValidator = getValidator;
|
|
|
10
10
|
exports.getMockSignature = getMockSignature;
|
|
11
11
|
const viem_1 = require("viem");
|
|
12
12
|
const common_1 = require("../common");
|
|
13
|
-
const OWNABLE_VALIDATOR_ADDRESS = '
|
|
13
|
+
const OWNABLE_VALIDATOR_ADDRESS = '0x000000000013fdB5234E4E3162a810F54d9f7E98';
|
|
14
14
|
exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
|
|
15
15
|
const WEBAUTHN_VALIDATOR_ADDRESS = '0x0000000000578c4cB0e472a5462da43C495C3F33';
|
|
16
16
|
exports.WEBAUTHN_VALIDATOR_ADDRESS = WEBAUTHN_VALIDATOR_ADDRESS;
|
|
17
17
|
const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xA04D053b3C8021e8D5bF641816c42dAA75D8b597';
|
|
18
18
|
const MULTI_FACTOR_VALIDATOR_ADDRESS = '0xf6bDf42c9BE18cEcA5C06c42A43DAf7FBbe7896b';
|
|
19
19
|
exports.MULTI_FACTOR_VALIDATOR_ADDRESS = MULTI_FACTOR_VALIDATOR_ADDRESS;
|
|
20
|
+
const OWNABLE_V0_VALIDATOR_ADDRESS = '0x2483DA3A338895199E5e538530213157e931Bf06';
|
|
21
|
+
exports.OWNABLE_V0_VALIDATOR_ADDRESS = OWNABLE_V0_VALIDATOR_ADDRESS;
|
|
20
22
|
const ECDSA_MOCK_SIGNATURE = '0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b';
|
|
21
|
-
const WEBAUTHN_MOCK_SIGNATURE = '
|
|
23
|
+
const WEBAUTHN_MOCK_SIGNATURE = '0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001b9b86eb98fda3ed4d797d9e690588dfadf17b329a76a47cec935bebf92d7ddc80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000019b2e9410bb6850f9f660a03d609d5a844fb96bcdc87a15139b03ee22c70f469100d2b865a215c3bf786387064effa8fcedcb1d625b5148f8a1236d5e3ff11acf000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d9763050000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000867b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22396a4546696a75684557724d34534f572d7443684a625545484550343456636a634a2d42716f3166544d38222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a38303830222c2263726f73734f726967696e223a66616c73657d0000000000000000000000000000000000000000000000000000';
|
|
22
24
|
function getOwnerValidator(config) {
|
|
23
25
|
return getValidator(config.owners);
|
|
24
26
|
}
|
|
25
27
|
function getMockSignature(ownerSet) {
|
|
26
28
|
switch (ownerSet.type) {
|
|
27
|
-
case 'ecdsa':
|
|
29
|
+
case 'ecdsa':
|
|
30
|
+
case 'ecdsa-v0': {
|
|
28
31
|
const owners = ownerSet.accounts.map((account) => account.address);
|
|
29
32
|
const signatures = owners.map(() => ECDSA_MOCK_SIGNATURE);
|
|
30
33
|
return (0, viem_1.concat)(signatures);
|
|
@@ -66,19 +69,21 @@ function getValidator(owners) {
|
|
|
66
69
|
switch (owners.type) {
|
|
67
70
|
case 'ecdsa':
|
|
68
71
|
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address));
|
|
72
|
+
case 'ecdsa-v0':
|
|
73
|
+
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), OWNABLE_V0_VALIDATOR_ADDRESS);
|
|
69
74
|
case 'passkey':
|
|
70
|
-
return getWebAuthnValidator({
|
|
71
|
-
pubKey:
|
|
72
|
-
authenticatorId:
|
|
73
|
-
});
|
|
75
|
+
return getWebAuthnValidator(owners.threshold ?? 1, owners.accounts.map((account) => ({
|
|
76
|
+
pubKey: account.publicKey,
|
|
77
|
+
authenticatorId: account.id,
|
|
78
|
+
})));
|
|
74
79
|
case 'multi-factor': {
|
|
75
80
|
return getMultiFactorValidator(owners.threshold ?? 1, owners.validators);
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
|
-
function getOwnableValidator(threshold, owners) {
|
|
84
|
+
function getOwnableValidator(threshold, owners, address) {
|
|
80
85
|
return {
|
|
81
|
-
address: OWNABLE_VALIDATOR_ADDRESS,
|
|
86
|
+
address: address ?? OWNABLE_VALIDATOR_ADDRESS,
|
|
82
87
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
83
88
|
{ name: 'threshold', type: 'uint256' },
|
|
84
89
|
{ name: 'owners', type: 'address[]' },
|
|
@@ -91,29 +96,33 @@ function getOwnableValidator(threshold, owners) {
|
|
|
91
96
|
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
92
97
|
};
|
|
93
98
|
}
|
|
94
|
-
function getWebAuthnValidator(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
function getWebAuthnValidator(threshold, webAuthnCredentials) {
|
|
100
|
+
function getPublicKey(webAuthnCredential) {
|
|
101
|
+
if (typeof webAuthnCredential.pubKey === 'string' ||
|
|
102
|
+
webAuthnCredential.pubKey instanceof Uint8Array) {
|
|
103
|
+
// It's a P256Credential
|
|
104
|
+
const { x, y, prefix } = parsePublicKey(webAuthnCredential.pubKey);
|
|
105
|
+
if (prefix && prefix !== 4) {
|
|
106
|
+
throw new Error('Only uncompressed public keys are supported');
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
x,
|
|
110
|
+
y,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// It's already a PublicKey
|
|
115
|
+
return webAuthnCredential.pubKey;
|
|
106
116
|
}
|
|
107
117
|
}
|
|
108
|
-
|
|
109
|
-
// It's already a PublicKey
|
|
110
|
-
pubKeyX = webAuthnCredential.pubKey.x;
|
|
111
|
-
pubKeyY = webAuthnCredential.pubKey.y;
|
|
112
|
-
}
|
|
118
|
+
const publicKeys = webAuthnCredentials.map(getPublicKey);
|
|
113
119
|
return {
|
|
114
120
|
address: WEBAUTHN_VALIDATOR_ADDRESS,
|
|
115
121
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
122
|
+
{ name: 'threshold', type: 'uint256' },
|
|
116
123
|
{
|
|
124
|
+
name: 'credentials',
|
|
125
|
+
type: 'tuple[]',
|
|
117
126
|
components: [
|
|
118
127
|
{
|
|
119
128
|
name: 'pubKeyX',
|
|
@@ -123,19 +132,19 @@ function getWebAuthnValidator(webAuthnCredential) {
|
|
|
123
132
|
name: 'pubKeyY',
|
|
124
133
|
type: 'uint256',
|
|
125
134
|
},
|
|
135
|
+
{
|
|
136
|
+
name: 'requireUV',
|
|
137
|
+
type: 'bool',
|
|
138
|
+
},
|
|
126
139
|
],
|
|
127
|
-
type: 'tuple',
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
type: 'bytes32',
|
|
131
|
-
name: 'authenticatorIdHash',
|
|
132
140
|
},
|
|
133
141
|
], [
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
BigInt(threshold),
|
|
143
|
+
publicKeys.map((publicKey) => ({
|
|
144
|
+
pubKeyX: publicKey.x,
|
|
145
|
+
pubKeyY: publicKey.y,
|
|
146
|
+
requireUV: false,
|
|
147
|
+
})),
|
|
139
148
|
]),
|
|
140
149
|
deInitData: '0x',
|
|
141
150
|
additionalContext: '0x',
|
|
@@ -14,7 +14,7 @@ const core_1 = require("./core");
|
|
|
14
14
|
});
|
|
15
15
|
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
16
16
|
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
17
|
-
(0, vitest_1.expect)(validator.address).toEqual('
|
|
17
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdB5234E4E3162a810F54d9f7E98');
|
|
18
18
|
(0, vitest_1.expect)(validator.initData).toEqual('0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
19
19
|
});
|
|
20
20
|
(0, vitest_1.test)('ECDSA: two addresses', () => {
|
|
@@ -24,7 +24,7 @@ const core_1 = require("./core");
|
|
|
24
24
|
});
|
|
25
25
|
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
26
26
|
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
27
|
-
(0, vitest_1.expect)(validator.address).toEqual('
|
|
27
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdB5234E4E3162a810F54d9f7E98');
|
|
28
28
|
(0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
29
29
|
});
|
|
30
30
|
(0, vitest_1.test)('ECDSA: three addresses, custom threshold', () => {
|
|
@@ -35,18 +35,18 @@ const core_1 = require("./core");
|
|
|
35
35
|
});
|
|
36
36
|
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
37
37
|
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
38
|
-
(0, vitest_1.expect)(validator.address).toEqual('
|
|
38
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdB5234E4E3162a810F54d9f7E98');
|
|
39
39
|
(0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000c27b7578151c5ef713c62c65db09763d57ac3596000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
40
40
|
});
|
|
41
41
|
(0, vitest_1.test)('Passkey', () => {
|
|
42
42
|
const validator = (0, core_1.getValidator)({
|
|
43
43
|
type: 'passkey',
|
|
44
|
-
|
|
44
|
+
accounts: [consts_1.passkeyAccount],
|
|
45
45
|
});
|
|
46
46
|
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
47
47
|
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
48
48
|
(0, vitest_1.expect)(validator.address).toEqual('0x0000000000578c4cB0e472a5462da43C495C3F33');
|
|
49
|
-
(0, vitest_1.expect)(validator.initData).toEqual('
|
|
49
|
+
(0, vitest_1.expect)(validator.initData).toEqual('0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d10000000000000000000000000000000000000000000000000000000000000000');
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
52
|
(0, vitest_1.describe)('Mock Signature', () => {
|
|
@@ -67,7 +67,7 @@ const core_1 = require("./core");
|
|
|
67
67
|
(0, vitest_1.test)('Passkey', () => {
|
|
68
68
|
const signature = (0, core_1.getMockSignature)({
|
|
69
69
|
type: 'passkey',
|
|
70
|
-
|
|
70
|
+
accounts: [consts_1.passkeyAccount],
|
|
71
71
|
});
|
|
72
72
|
// Should have the proper schema
|
|
73
73
|
(0, viem_1.decodeAbiParameters)([
|
|
@@ -15,7 +15,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
15
15
|
type: 'ecdsa',
|
|
16
16
|
accounts: [consts_1.accountA, consts_1.accountB],
|
|
17
17
|
},
|
|
18
|
-
})).toBe('
|
|
18
|
+
})).toBe('0xd3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1');
|
|
19
19
|
});
|
|
20
20
|
(0, vitest_1.test)('with salt', () => {
|
|
21
21
|
(0, vitest_1.expect)((0, smart_sessions_2.getPermissionId)({
|
|
@@ -24,7 +24,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
24
24
|
accounts: [consts_1.accountA, consts_1.accountB],
|
|
25
25
|
},
|
|
26
26
|
salt: '0x97340e1cfff3319c76ef22b2bc9d3231071d550125d68c9d4a8972823f166320',
|
|
27
|
-
})).toBe('
|
|
27
|
+
})).toBe('0xeb47b4699298a847a0f6fb7365e56aefcc95630e7d0e3d9ca5917620c7dc3d08');
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
(0, vitest_1.describe)('Smart Session Validator', () => {
|
|
@@ -217,10 +217,10 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
217
217
|
});
|
|
218
218
|
(0, vitest_1.describe)('Encode Smart Session Signature', () => {
|
|
219
219
|
(0, vitest_1.test)('use mode', () => {
|
|
220
|
-
const permissionId = '
|
|
220
|
+
const permissionId = '0xd3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1';
|
|
221
221
|
const signature = '0xabcdef';
|
|
222
222
|
const sessionSignature = (0, smart_sessions_2.encodeSmartSessionSignature)(smart_sessions_2.SMART_SESSION_MODE_USE, permissionId, signature);
|
|
223
|
-
(0, vitest_1.expect)(sessionSignature).toEqual('
|
|
223
|
+
(0, vitest_1.expect)(sessionSignature).toEqual('0x00d3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1abcdef');
|
|
224
224
|
});
|
|
225
225
|
});
|
|
226
226
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
declare const PROD_ORCHESTRATOR_URL = "https://v1.orchestrator.rhinestone.dev";
|
|
2
2
|
declare const STAGING_ORCHESTRATOR_URL = "https://staging.v1.orchestrator.rhinestone.dev";
|
|
3
|
+
declare const DEV_ORCHESTRATOR_URL = "https://dev.v1.orchestrator.rhinestone.dev";
|
|
3
4
|
declare const RHINESTONE_SPOKE_POOL_ADDRESS = "0x000000000060f6e853447881951574cdd0663530";
|
|
4
|
-
export { PROD_ORCHESTRATOR_URL, STAGING_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, };
|
|
5
|
+
export { PROD_ORCHESTRATOR_URL, STAGING_ORCHESTRATOR_URL, DEV_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, };
|
|
5
6
|
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../orchestrator/consts.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,qBAAqB,2CAA2C,CAAA;AACtE,QAAA,MAAM,wBAAwB,mDACoB,CAAA;AAClD,QAAA,MAAM,6BAA6B,+CACW,CAAA;AAE9C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAC9B,CAAA"}
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../orchestrator/consts.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,qBAAqB,2CAA2C,CAAA;AACtE,QAAA,MAAM,wBAAwB,mDACoB,CAAA;AAClD,QAAA,MAAM,oBAAoB,+CAA+C,CAAA;AACzE,QAAA,MAAM,6BAA6B,+CACW,CAAA;AAE9C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,GAC9B,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RHINESTONE_SPOKE_POOL_ADDRESS = exports.STAGING_ORCHESTRATOR_URL = exports.PROD_ORCHESTRATOR_URL = void 0;
|
|
3
|
+
exports.RHINESTONE_SPOKE_POOL_ADDRESS = exports.DEV_ORCHESTRATOR_URL = exports.STAGING_ORCHESTRATOR_URL = exports.PROD_ORCHESTRATOR_URL = void 0;
|
|
4
4
|
const PROD_ORCHESTRATOR_URL = 'https://v1.orchestrator.rhinestone.dev';
|
|
5
5
|
exports.PROD_ORCHESTRATOR_URL = PROD_ORCHESTRATOR_URL;
|
|
6
6
|
const STAGING_ORCHESTRATOR_URL = 'https://staging.v1.orchestrator.rhinestone.dev';
|
|
7
7
|
exports.STAGING_ORCHESTRATOR_URL = STAGING_ORCHESTRATOR_URL;
|
|
8
|
+
const DEV_ORCHESTRATOR_URL = 'https://dev.v1.orchestrator.rhinestone.dev';
|
|
9
|
+
exports.DEV_ORCHESTRATOR_URL = DEV_ORCHESTRATOR_URL;
|
|
8
10
|
const RHINESTONE_SPOKE_POOL_ADDRESS = '0x000000000060f6e853447881951574cdd0663530';
|
|
9
11
|
exports.RHINESTONE_SPOKE_POOL_ADDRESS = RHINESTONE_SPOKE_POOL_ADDRESS;
|
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
import { type Address, type Chain } from 'viem';
|
|
2
2
|
import type { TokenSymbol } from '../types';
|
|
3
3
|
import type { TokenConfig } from './types';
|
|
4
|
-
interface TokenEntry {
|
|
5
|
-
symbol: string;
|
|
6
|
-
address: Address;
|
|
7
|
-
decimals: number;
|
|
8
|
-
balanceSlot: number | null;
|
|
9
|
-
}
|
|
10
|
-
interface ChainContracts {
|
|
11
|
-
spokepool: Address;
|
|
12
|
-
hook: Address;
|
|
13
|
-
originModule: Address;
|
|
14
|
-
targetModule: Address;
|
|
15
|
-
sameChainModule: Address;
|
|
16
|
-
}
|
|
17
|
-
interface ChainEntry {
|
|
18
|
-
name: string;
|
|
19
|
-
contracts: ChainContracts;
|
|
20
|
-
tokens: TokenEntry[];
|
|
21
|
-
}
|
|
22
|
-
interface Registry {
|
|
23
|
-
[chainId: string]: ChainEntry;
|
|
24
|
-
}
|
|
25
4
|
declare function getSupportedChainIds(): number[];
|
|
26
5
|
declare function getWethAddress(chain: Chain): Address;
|
|
27
6
|
declare function getTokenSymbol(tokenAddress: Address, chainId: number): string;
|
|
28
7
|
declare function getTokenAddress(tokenSymbol: TokenSymbol, chainId: number): Address;
|
|
29
|
-
declare function getChainById(chainId: number): Chain
|
|
8
|
+
declare function getChainById(chainId: number): Chain;
|
|
30
9
|
declare function isTestnet(chainId: number): boolean;
|
|
31
10
|
declare function isTokenAddressSupported(address: Address, chainId: number): boolean;
|
|
32
11
|
declare function getSupportedTokens(chainId: number): TokenConfig[];
|
|
@@ -35,5 +14,4 @@ declare function getDefaultAccountAccessList(onTestnets?: boolean): {
|
|
|
35
14
|
};
|
|
36
15
|
declare function resolveTokenAddress(token: TokenSymbol | Address, chainId: number): Address;
|
|
37
16
|
export { getTokenSymbol, getTokenAddress, getWethAddress, getChainById, getSupportedTokens, getSupportedChainIds, isTestnet, isTokenAddressSupported, getDefaultAccountAccessList, resolveTokenAddress, };
|
|
38
|
-
export type { TokenEntry, ChainContracts, ChainEntry, Registry };
|
|
39
17
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,MAAM,CAAA;AAavE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1D,iBAAS,oBAAoB,IAAI,MAAM,EAAE,CAExC;AAMD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAY7C;AAED,iBAAS,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBtE;AAED,iBAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAmB3E;AAMD,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAkB5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAO1D;AAED,iBAAS,2BAA2B,CAAC,UAAU,CAAC,EAAE,OAAO;;EAaxD;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,WAAW,GAAG,OAAO,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAKT;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getTokenSymbol = getTokenSymbol;
|
|
7
4
|
exports.getTokenAddress = getTokenAddress;
|
|
@@ -13,15 +10,14 @@ exports.isTestnet = isTestnet;
|
|
|
13
10
|
exports.isTokenAddressSupported = isTokenAddressSupported;
|
|
14
11
|
exports.getDefaultAccountAccessList = getDefaultAccountAccessList;
|
|
15
12
|
exports.resolveTokenAddress = resolveTokenAddress;
|
|
13
|
+
const shared_configs_1 = require("@rhinestone/shared-configs");
|
|
16
14
|
const viem_1 = require("viem");
|
|
17
15
|
const chains_1 = require("viem/chains");
|
|
18
|
-
const registry_json_1 = __importDefault(require("./registry.json"));
|
|
19
|
-
const registry = registry_json_1.default;
|
|
20
16
|
function getSupportedChainIds() {
|
|
21
|
-
return Object.keys(
|
|
17
|
+
return Object.keys(shared_configs_1.chains).map((chainId) => parseInt(chainId, 10));
|
|
22
18
|
}
|
|
23
19
|
function getChainEntry(chainId) {
|
|
24
|
-
return
|
|
20
|
+
return shared_configs_1.chains[chainId.toString()];
|
|
25
21
|
}
|
|
26
22
|
function getWethAddress(chain) {
|
|
27
23
|
const chainEntry = getChainEntry(chain.id);
|
|
@@ -62,27 +58,29 @@ function getTokenAddress(tokenSymbol, chainId) {
|
|
|
62
58
|
}
|
|
63
59
|
return token.address;
|
|
64
60
|
}
|
|
61
|
+
function isChainIdSupported(chainId) {
|
|
62
|
+
return Object.keys(shared_configs_1.chains).includes(chainId.toString());
|
|
63
|
+
}
|
|
65
64
|
function getChainById(chainId) {
|
|
66
|
-
const
|
|
67
|
-
chains_1.mainnet,
|
|
68
|
-
chains_1.sepolia,
|
|
69
|
-
chains_1.base,
|
|
70
|
-
chains_1.baseSepolia,
|
|
71
|
-
chains_1.arbitrum,
|
|
72
|
-
chains_1.arbitrumSepolia,
|
|
73
|
-
chains_1.optimism,
|
|
74
|
-
chains_1.optimismSepolia,
|
|
75
|
-
chains_1.polygon,
|
|
76
|
-
chains_1.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
65
|
+
const chains = {
|
|
66
|
+
[chains_1.mainnet.id]: chains_1.mainnet,
|
|
67
|
+
[chains_1.sepolia.id]: chains_1.sepolia,
|
|
68
|
+
[chains_1.base.id]: chains_1.base,
|
|
69
|
+
[chains_1.baseSepolia.id]: chains_1.baseSepolia,
|
|
70
|
+
[chains_1.arbitrum.id]: chains_1.arbitrum,
|
|
71
|
+
[chains_1.arbitrumSepolia.id]: chains_1.arbitrumSepolia,
|
|
72
|
+
[chains_1.optimism.id]: chains_1.optimism,
|
|
73
|
+
[chains_1.optimismSepolia.id]: chains_1.optimismSepolia,
|
|
74
|
+
[chains_1.polygon.id]: chains_1.polygon,
|
|
75
|
+
[chains_1.soneium.id]: chains_1.soneium,
|
|
76
|
+
};
|
|
77
|
+
if (!isChainIdSupported(chainId)) {
|
|
78
|
+
throw new Error(`Chain not supported: ${chainId}`);
|
|
79
|
+
}
|
|
80
|
+
return chains[chainId];
|
|
80
81
|
}
|
|
81
82
|
function isTestnet(chainId) {
|
|
82
83
|
const chain = getChainById(chainId);
|
|
83
|
-
if (!chain) {
|
|
84
|
-
throw new Error(`Chain not supported: ${chainId}`);
|
|
85
|
-
}
|
|
86
84
|
return chain.testnet ?? false;
|
|
87
85
|
}
|
|
88
86
|
function isTokenAddressSupported(address, chainId) {
|
|
@@ -69,11 +69,11 @@ const UNSUPPORTED_TOKEN_ADDRESS = '0x1234567890123456789012345678901234567890';
|
|
|
69
69
|
(0, vitest_1.describe)('getChainById', () => {
|
|
70
70
|
(0, vitest_1.test)('returns correct chain for supported ID', () => {
|
|
71
71
|
const chain = (0, registry_1.getChainById)(chains_1.mainnet.id);
|
|
72
|
-
(0, vitest_1.expect)(chain
|
|
73
|
-
(0, vitest_1.expect)(chain
|
|
72
|
+
(0, vitest_1.expect)(chain.id).toBe(chains_1.mainnet.id);
|
|
73
|
+
(0, vitest_1.expect)(chain.name).toBe(chains_1.mainnet.name);
|
|
74
74
|
});
|
|
75
|
-
(0, vitest_1.test)('
|
|
76
|
-
(0, vitest_1.expect)((0, registry_1.getChainById)(UNSUPPORTED_CHAIN_ID)).
|
|
75
|
+
(0, vitest_1.test)('throws error for unsupported chain', () => {
|
|
76
|
+
(0, vitest_1.expect)(() => (0, registry_1.getChainById)(UNSUPPORTED_CHAIN_ID)).toThrow(`Chain not supported: ${UNSUPPORTED_CHAIN_ID}`);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
(0, vitest_1.describe)('isTestnet', () => {
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
+
import type { SupportedChain, SupportedMainnet, SupportedOPStackMainnet, SupportedOPStackTestnet, SupportedTestnet } from '@rhinestone/shared-configs';
|
|
1
2
|
import type { Address, Hex } from 'viem';
|
|
2
3
|
import type { UserOperationReceipt } from 'viem/account-abstraction';
|
|
3
|
-
import type { arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, polygon, sepolia, soneium, zksync } from 'viem/chains';
|
|
4
|
-
type SupportedTestnet = typeof sepolia.id | typeof baseSepolia.id | typeof arbitrumSepolia.id | typeof optimismSepolia.id;
|
|
5
|
-
type SupportedMainnet = typeof mainnet.id | typeof base.id | typeof arbitrum.id | typeof optimism.id | typeof polygon.id | typeof zksync.id | typeof soneium.id;
|
|
6
|
-
type SupportedOPStackMainnet = typeof optimism.id | typeof base.id | typeof soneium.id;
|
|
7
|
-
type SupportedOPStackTestnet = typeof optimismSepolia.id | typeof baseSepolia.id;
|
|
8
|
-
type SupportedChain = SupportedMainnet | SupportedTestnet;
|
|
9
4
|
type SupportedTokenSymbol = 'ETH' | 'WETH' | 'USDC' | 'USDT';
|
|
10
5
|
type SupportedToken = SupportedTokenSymbol | Address;
|
|
11
6
|
type SmartAccountType = 'GENERIC' | 'ERC7579';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../orchestrator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../orchestrator/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
import type { Account, Address, Chain, Hex } from 'viem';
|
|
2
2
|
import type { WebAuthnAccount } from 'viem/account-abstraction';
|
|
3
|
+
import type { ValidatorConfig } from './accounts/utils';
|
|
4
|
+
import type { Module } from './modules/common';
|
|
3
5
|
import type { EnableSessionData } from './modules/validators/smart-sessions';
|
|
4
|
-
type AccountType = 'safe' | 'nexus' | 'kernel' | 'startale';
|
|
6
|
+
type AccountType = 'safe' | 'nexus' | 'kernel' | 'startale' | 'custom';
|
|
5
7
|
interface AccountProviderConfig {
|
|
6
8
|
type: AccountType;
|
|
9
|
+
custom?: CustomAccountProviderConfig;
|
|
10
|
+
}
|
|
11
|
+
interface CustomAccountProviderConfig {
|
|
12
|
+
getDeployArgs: () => {
|
|
13
|
+
factory: Address;
|
|
14
|
+
factoryData: Hex;
|
|
15
|
+
};
|
|
16
|
+
getInstallData: (module: Module) => Hex[];
|
|
17
|
+
getAddress: () => Address;
|
|
18
|
+
getPackedSignature: (signature: Hex, validator: ValidatorConfig, transformSignature: (signature: Hex) => Hex) => Promise<Hex>;
|
|
19
|
+
getSessionStubSignature: (session: Session, enableData: EnableSessionData | null) => Promise<Hex>;
|
|
20
|
+
signSessionUserOperation: (session: Session, enableData: EnableSessionData | null, hash: Hex) => Promise<Hex>;
|
|
21
|
+
getStubSignature: () => Promise<Hex>;
|
|
22
|
+
sign: (hash: Hex) => Promise<Hex>;
|
|
7
23
|
}
|
|
8
24
|
interface OwnableValidatorConfig {
|
|
9
|
-
type: 'ecdsa';
|
|
25
|
+
type: 'ecdsa' | 'ecdsa-v0';
|
|
10
26
|
accounts: Account[];
|
|
11
27
|
threshold?: number;
|
|
12
28
|
}
|
|
13
29
|
interface WebauthnValidatorConfig {
|
|
14
30
|
type: 'passkey';
|
|
15
|
-
|
|
31
|
+
accounts: WebAuthnAccount[];
|
|
32
|
+
threshold?: number;
|
|
16
33
|
}
|
|
17
34
|
interface MultiFactorValidatorConfig {
|
|
18
35
|
type: 'multi-factor';
|
|
@@ -94,6 +111,11 @@ interface RhinestoneAccountConfig {
|
|
|
94
111
|
provider?: ProviderConfig;
|
|
95
112
|
bundler?: BundlerConfig;
|
|
96
113
|
paymaster?: PaymasterConfig;
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
* For internal testing only - do not use
|
|
117
|
+
*/
|
|
118
|
+
useDev?: boolean;
|
|
97
119
|
}
|
|
98
120
|
type TokenSymbol = 'ETH' | 'WETH' | 'USDC' | 'USDT';
|
|
99
121
|
interface CallInput {
|
|
@@ -112,23 +134,23 @@ interface TokenRequest {
|
|
|
112
134
|
}
|
|
113
135
|
type OwnerSignerSet = {
|
|
114
136
|
type: 'owner';
|
|
115
|
-
kind: 'ecdsa';
|
|
137
|
+
kind: 'ecdsa' | 'ecdsa-v0';
|
|
116
138
|
accounts: Account[];
|
|
117
139
|
} | {
|
|
118
140
|
type: 'owner';
|
|
119
141
|
kind: 'passkey';
|
|
120
|
-
|
|
142
|
+
accounts: WebAuthnAccount[];
|
|
121
143
|
} | {
|
|
122
144
|
type: 'owner';
|
|
123
145
|
kind: 'multi-factor';
|
|
124
146
|
validators: ({
|
|
125
|
-
type: 'ecdsa';
|
|
147
|
+
type: 'ecdsa' | 'ecdsa-v0';
|
|
126
148
|
id: number | Hex;
|
|
127
149
|
accounts: Account[];
|
|
128
150
|
} | {
|
|
129
151
|
type: 'passkey';
|
|
130
152
|
id: number | Hex;
|
|
131
|
-
|
|
153
|
+
accounts: WebAuthnAccount[];
|
|
132
154
|
})[];
|
|
133
155
|
};
|
|
134
156
|
interface SessionSignerSet {
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEtE,UAAU,qBAAqB;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE,2BAA2B,CAAA;CACrC;AAED,UAAU,2BAA2B;IACnC,aAAa,EAAE,MAAM;QACnB,OAAO,EAAE,OAAO,CAAA;QAChB,WAAW,EAAE,GAAG,CAAA;KACjB,CAAA;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,EAAE,CAAA;IACzC,UAAU,EAAE,MAAM,OAAO,CAAA;IACzB,kBAAkB,EAAE,CAClB,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAAG,KACxC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,uBAAuB,EAAE,CACvB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,iBAAiB,GAAG,IAAI,KACjC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,wBAAwB,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,IAAI,EAAE,GAAG,KACN,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAClC;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,0BAA0B;IAClC,IAAI,EAAE,cAAc,CAAA;IACpB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,CAAC,EAAE,CAAA;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,QAAQ,GACT,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,CAAA;AAE9B,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,CAAC,8BAA8B,EAAE,GAAG,8BAA8B,EAAE,CAAC,CAAA;CAC7E;AAED,UAAU,8BAA8B;IACtC,SAAS,EAAE,mCAAmC,CAAA;IAC9C,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,GAAG,GAAG,MAAM,CAAA;CAC7B;AAED,KAAK,mCAAmC,GACpC,OAAO,GACP,aAAa,GACb,UAAU,GACV,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,SAAS,CAAA;AAEb,UAAU,oBAAoB;IAC5B,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;CACJ;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,KAAK,MAAM,GACP,UAAU,GACV,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,CAAA;AAEpB,UAAU,MAAM;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;CACjC;AAED,UAAU,OAAO;IACf,MAAM,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/B,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,UAAU,QAAQ;IAChB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,SAAS;IACjB,EAAE,EAAE,OAAO,GAAG,WAAW,CAAA;IACzB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,IAAI;IACZ,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,cAAc,GACf;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,cAAc,CAAA;IACpB,UAAU,EAAE,CACR;QACE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;QAC1B,EAAE,EAAE,MAAM,GAAG,GAAG,CAAA;QAChB,QAAQ,EAAE,OAAO,EAAE,CAAA;KACpB,GACD;QACE,IAAI,EAAE,SAAS,CAAA;QACf,EAAE,EAAE,MAAM,GAAG,GAAG,CAAA;QAChB,QAAQ,EAAE,eAAe,EAAE,CAAA;KAC5B,CACJ,EAAE,CAAA;CACJ,CAAA;AAEL,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,KAAK,SAAS,GAAG,cAAc,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;AAEvE,UAAU,eAAe;IACvB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oBAAoB,CAAC,EAAE,GAAG,CAAA;CAC3B;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD,KAAK,EAAE,KAAK,CAAA;CACb;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;IACtB,WAAW,EAAE,KAAK,CAAA;CACnB;AAED,KAAK,WAAW,GAAG,oBAAoB,GAAG,qBAAqB,CAAA;AAE/D,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,mCAAmC,GACpC,CAAA"}
|