@charterlabs/rhinestone-sdk 0.1.0 → 0.1.2
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 +74 -181
- package/dist/src/accounts/error.d.ts +69 -0
- package/dist/src/accounts/error.d.ts.map +1 -0
- package/dist/src/accounts/error.js +109 -0
- package/dist/{accounts → src/accounts}/index.d.ts +14 -21
- package/dist/src/accounts/index.d.ts.map +1 -0
- package/dist/src/accounts/index.js +469 -0
- package/dist/src/accounts/index.test.d.ts +2 -0
- package/dist/src/accounts/index.test.d.ts.map +1 -0
- package/dist/src/accounts/index.test.js +36 -0
- package/dist/{accounts → src/accounts}/kernel.d.ts +7 -9
- package/dist/src/accounts/kernel.d.ts.map +1 -0
- package/dist/{accounts → src/accounts}/kernel.js +0 -8
- package/dist/src/accounts/kernel.test.d.ts +2 -0
- package/dist/src/accounts/kernel.test.d.ts.map +1 -0
- package/dist/src/accounts/kernel.test.js +105 -0
- package/dist/{accounts → src/accounts}/nexus.d.ts +14 -13
- package/dist/src/accounts/nexus.d.ts.map +1 -0
- package/dist/{accounts → src/accounts}/nexus.js +92 -88
- package/dist/src/accounts/nexus.test.d.ts +2 -0
- package/dist/src/accounts/nexus.test.d.ts.map +1 -0
- package/dist/src/accounts/nexus.test.js +87 -0
- package/dist/{accounts → src/accounts}/safe.d.ts +4 -6
- package/dist/src/accounts/safe.d.ts.map +1 -0
- package/dist/{accounts → src/accounts}/safe.js +20 -29
- package/dist/src/accounts/safe.test.d.ts +2 -0
- package/dist/src/accounts/safe.test.d.ts.map +1 -0
- package/dist/src/accounts/safe.test.js +87 -0
- package/dist/src/accounts/startale.d.ts +20 -0
- package/dist/src/accounts/startale.d.ts.map +1 -0
- package/dist/src/accounts/startale.js +100 -0
- package/dist/src/accounts/startale.test.d.ts +2 -0
- package/dist/src/accounts/startale.test.d.ts.map +1 -0
- package/dist/src/accounts/startale.test.js +99 -0
- package/dist/{accounts → src/accounts}/utils.d.ts +4 -3
- package/dist/src/accounts/utils.d.ts.map +1 -0
- package/dist/{accounts → src/accounts}/utils.js +44 -0
- package/dist/src/accounts/utils.test.d.ts +2 -0
- package/dist/src/accounts/utils.test.d.ts.map +1 -0
- package/dist/src/accounts/utils.test.js +49 -0
- package/dist/src/actions/index.d.ts +39 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/{actions → src/actions}/index.js +108 -15
- package/dist/src/actions/index.test.d.ts +2 -0
- package/dist/src/actions/index.test.d.ts.map +1 -0
- package/dist/src/actions/index.test.js +302 -0
- package/dist/{actions → src/actions}/smart-session.d.ts +2 -2
- package/dist/src/actions/smart-session.d.ts.map +1 -0
- package/dist/src/execution/compact.d.ts +8 -0
- package/dist/src/execution/compact.d.ts.map +1 -0
- package/dist/src/execution/compact.js +105 -0
- package/dist/src/execution/error.d.ts +54 -0
- package/dist/src/execution/error.d.ts.map +1 -0
- package/dist/src/execution/error.js +78 -0
- package/dist/{execution → src/execution}/index.d.ts +7 -6
- package/dist/src/execution/index.d.ts.map +1 -0
- package/dist/src/execution/index.js +150 -0
- package/dist/src/execution/smart-session.d.ts +15 -0
- package/dist/src/execution/smart-session.d.ts.map +1 -0
- package/dist/{execution → src/execution}/smart-session.js +16 -77
- package/dist/src/execution/smart-session.test.d.ts +2 -0
- package/dist/src/execution/smart-session.test.d.ts.map +1 -0
- package/dist/src/execution/smart-session.test.js +34 -0
- package/dist/src/execution/utils.d.ts +45 -0
- package/dist/src/execution/utils.d.ts.map +1 -0
- package/dist/src/execution/utils.js +433 -0
- package/dist/src/index.d.ts +41 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +154 -0
- package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
- package/dist/src/modules/common.d.ts.map +1 -0
- package/dist/{modules → src/modules}/index.d.ts +3 -11
- package/dist/src/modules/index.d.ts.map +1 -0
- package/dist/{modules → src/modules}/index.js +3 -45
- package/dist/src/modules/index.test.d.ts +2 -0
- package/dist/src/modules/index.test.d.ts.map +1 -0
- package/dist/src/modules/index.test.js +107 -0
- package/dist/src/modules/omni-account.d.ts +7 -0
- package/dist/src/modules/omni-account.d.ts.map +1 -0
- package/dist/src/modules/omni-account.js +11 -0
- package/dist/src/modules/read.d.ts +9 -0
- package/dist/src/modules/read.d.ts.map +1 -0
- package/dist/{modules → src/modules}/read.js +6 -37
- package/dist/{modules → src/modules}/validators/core.d.ts +6 -7
- package/dist/src/modules/validators/core.d.ts.map +1 -0
- package/dist/{modules → src/modules}/validators/core.js +83 -8
- package/dist/src/modules/validators/core.test.d.ts +2 -0
- package/dist/src/modules/validators/core.test.d.ts.map +1 -0
- package/dist/src/modules/validators/core.test.js +108 -0
- package/dist/src/modules/validators/index.d.ts +4 -0
- package/dist/src/modules/validators/index.d.ts.map +1 -0
- package/dist/{modules → src/modules}/validators/index.js +1 -3
- package/dist/{modules → src/modules}/validators/smart-sessions.d.ts +4 -15
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
- package/dist/{modules → src/modules}/validators/smart-sessions.js +7 -61
- package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
- package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions.test.js +226 -0
- package/dist/src/orchestrator/client.d.ts +21 -0
- package/dist/src/orchestrator/client.d.ts.map +1 -0
- package/dist/src/orchestrator/client.js +284 -0
- package/dist/src/orchestrator/consts.d.ts +5 -0
- package/dist/src/orchestrator/consts.d.ts.map +1 -0
- package/dist/src/orchestrator/consts.js +9 -0
- package/dist/src/orchestrator/error.d.ts +96 -0
- package/dist/src/orchestrator/error.d.ts.map +1 -0
- package/dist/src/orchestrator/error.js +132 -0
- package/dist/src/orchestrator/index.d.ts +11 -0
- package/dist/src/orchestrator/index.d.ts.map +1 -0
- package/dist/src/orchestrator/index.js +42 -0
- package/dist/src/orchestrator/registry.d.ts +39 -0
- package/dist/src/orchestrator/registry.d.ts.map +1 -0
- package/dist/src/orchestrator/registry.js +121 -0
- package/dist/src/orchestrator/registry.json +365 -0
- package/dist/src/orchestrator/registry.test.d.ts +2 -0
- package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
- package/dist/src/orchestrator/registry.test.js +137 -0
- package/dist/src/orchestrator/types.d.ts +275 -0
- package/dist/src/orchestrator/types.d.ts.map +1 -0
- package/dist/src/orchestrator/types.js +19 -0
- package/dist/src/orchestrator/utils.d.ts +5 -0
- package/dist/src/orchestrator/utils.d.ts.map +1 -0
- package/dist/src/orchestrator/utils.js +126 -0
- package/dist/{types.d.ts → src/types.d.ts} +42 -21
- package/dist/src/types.d.ts.map +1 -0
- package/dist/test/consts.d.ts +10 -0
- package/dist/test/consts.d.ts.map +1 -0
- package/dist/test/consts.js +22 -0
- package/package.json +11 -20
- package/dist/accounts/index.d.ts.map +0 -1
- package/dist/accounts/index.js +0 -419
- package/dist/accounts/kernel.d.ts.map +0 -1
- package/dist/accounts/nexus.d.ts.map +0 -1
- package/dist/accounts/safe.d.ts.map +0 -1
- package/dist/accounts/utils.d.ts.map +0 -1
- package/dist/actions/index.d.ts +0 -29
- package/dist/actions/index.d.ts.map +0 -1
- package/dist/actions/registry.d.ts +0 -7
- package/dist/actions/registry.d.ts.map +0 -1
- package/dist/actions/registry.js +0 -7
- package/dist/actions/smart-session.d.ts.map +0 -1
- package/dist/execution/index.d.ts.map +0 -1
- package/dist/execution/index.js +0 -149
- package/dist/execution/smart-session.d.ts +0 -23
- package/dist/execution/smart-session.d.ts.map +0 -1
- package/dist/execution/utils.d.ts +0 -68
- package/dist/execution/utils.d.ts.map +0 -1
- package/dist/execution/utils.js +0 -482
- package/dist/index.d.ts +0 -38
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -119
- package/dist/modules/abi/smart-sessions.d.ts.map +0 -1
- package/dist/modules/common.d.ts.map +0 -1
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/omni-account.d.ts +0 -9
- package/dist/modules/omni-account.d.ts.map +0 -1
- package/dist/modules/omni-account.js +0 -15
- package/dist/modules/read.d.ts +0 -10
- package/dist/modules/read.d.ts.map +0 -1
- package/dist/modules/registry.d.ts +0 -9
- package/dist/modules/registry.d.ts.map +0 -1
- package/dist/modules/registry.js +0 -60
- package/dist/modules/validators/core.d.ts.map +0 -1
- package/dist/modules/validators/index.d.ts +0 -4
- package/dist/modules/validators/index.d.ts.map +0 -1
- package/dist/modules/validators/smart-sessions.d.ts.map +0 -1
- package/dist/orchestrator/client.d.ts +0 -29
- package/dist/orchestrator/client.d.ts.map +0 -1
- package/dist/orchestrator/client.js +0 -250
- package/dist/orchestrator/consts.d.ts +0 -5
- package/dist/orchestrator/consts.d.ts.map +0 -1
- package/dist/orchestrator/consts.js +0 -9
- package/dist/orchestrator/error.d.ts +0 -18
- package/dist/orchestrator/error.d.ts.map +0 -1
- package/dist/orchestrator/error.js +0 -33
- package/dist/orchestrator/index.d.ts +0 -11
- package/dist/orchestrator/index.d.ts.map +0 -1
- package/dist/orchestrator/index.js +0 -40
- package/dist/orchestrator/registry.d.ts +0 -20
- package/dist/orchestrator/registry.d.ts.map +0 -1
- package/dist/orchestrator/registry.js +0 -444
- package/dist/orchestrator/types.d.ts +0 -242
- package/dist/orchestrator/types.d.ts.map +0 -1
- package/dist/orchestrator/types.js +0 -19
- package/dist/orchestrator/utils.d.ts +0 -29
- package/dist/orchestrator/utils.d.ts.map +0 -1
- package/dist/orchestrator/utils.js +0 -319
- package/dist/types.d.ts.map +0 -1
- /package/dist/{actions → src/actions}/smart-session.js +0 -0
- /package/dist/{modules → src/modules}/abi/smart-sessions.d.ts +0 -0
- /package/dist/{modules → src/modules}/abi/smart-sessions.js +0 -0
- /package/dist/{modules → src/modules}/common.d.ts +0 -0
- /package/dist/{modules → src/modules}/common.js +0 -0
- /package/dist/{types.js → src/types.js} +0 -0
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
3
|
+
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;
|
|
7
|
+
exports.getMultiFactorValidator = getMultiFactorValidator;
|
|
7
8
|
exports.getSocialRecoveryValidator = getSocialRecoveryValidator;
|
|
8
9
|
exports.getValidator = getValidator;
|
|
9
10
|
exports.getMockSignature = getMockSignature;
|
|
10
11
|
const viem_1 = require("viem");
|
|
11
12
|
const common_1 = require("../common");
|
|
12
|
-
const OWNABLE_VALIDATOR_ADDRESS = '
|
|
13
|
+
const OWNABLE_VALIDATOR_ADDRESS = '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9';
|
|
13
14
|
exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
|
|
14
|
-
const WEBAUTHN_VALIDATOR_ADDRESS = '
|
|
15
|
+
const WEBAUTHN_VALIDATOR_ADDRESS = '0x0000000000578c4cB0e472a5462da43C495C3F33';
|
|
15
16
|
exports.WEBAUTHN_VALIDATOR_ADDRESS = WEBAUTHN_VALIDATOR_ADDRESS;
|
|
16
17
|
const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xA04D053b3C8021e8D5bF641816c42dAA75D8b597';
|
|
18
|
+
const MULTI_FACTOR_VALIDATOR_ADDRESS = '0xf6bDf42c9BE18cEcA5C06c42A43DAf7FBbe7896b';
|
|
19
|
+
exports.MULTI_FACTOR_VALIDATOR_ADDRESS = MULTI_FACTOR_VALIDATOR_ADDRESS;
|
|
17
20
|
const ECDSA_MOCK_SIGNATURE = '0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b';
|
|
18
21
|
const WEBAUTHN_MOCK_SIGNATURE = '0x00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001635bc6d0f68ff895cae8a288ecf7542a6a9cd555df784b73e1e2ea7e9104b1db15e9015d280cb19527881c625fee43fd3a405d5b0d199a8c8e6589a7381209e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97631d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22746278584e465339585f3442797231634d77714b724947422d5f3330613051685a36793775634d30424f45222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a33303030222c2263726f73734f726967696e223a66616c73652c20226f746865725f6b6579735f63616e5f62655f61646465645f68657265223a22646f206e6f7420636f6d7061726520636c69656e74446174614a534f4e20616761696e737420612074656d706c6174652e205365652068747470733a2f2f676f6f2e676c2f796162506578227d000000000000000000000000';
|
|
19
22
|
function getOwnerValidator(config) {
|
|
@@ -28,23 +31,52 @@ function getMockSignature(ownerSet) {
|
|
|
28
31
|
}
|
|
29
32
|
case 'passkey':
|
|
30
33
|
return WEBAUTHN_MOCK_SIGNATURE;
|
|
34
|
+
case 'multi-factor': {
|
|
35
|
+
const mockValidators = ownerSet.validators.map((validator, index) => {
|
|
36
|
+
const validatorModule = getValidator(validator);
|
|
37
|
+
const signature = getMockSignature(validator);
|
|
38
|
+
return {
|
|
39
|
+
packedValidatorAndId: (0, viem_1.encodePacked)(['bytes12', 'address'], [
|
|
40
|
+
(0, viem_1.pad)((0, viem_1.toHex)(index), {
|
|
41
|
+
size: 12,
|
|
42
|
+
}),
|
|
43
|
+
validatorModule.address,
|
|
44
|
+
]),
|
|
45
|
+
data: signature,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
return (0, viem_1.encodeAbiParameters)([
|
|
49
|
+
{
|
|
50
|
+
components: [
|
|
51
|
+
{
|
|
52
|
+
internalType: 'bytes32',
|
|
53
|
+
name: 'packedValidatorAndId',
|
|
54
|
+
type: 'bytes32',
|
|
55
|
+
},
|
|
56
|
+
{ internalType: 'bytes', name: 'data', type: 'bytes' },
|
|
57
|
+
],
|
|
58
|
+
name: 'validators',
|
|
59
|
+
type: 'tuple[]',
|
|
60
|
+
},
|
|
61
|
+
], [mockValidators]);
|
|
62
|
+
}
|
|
31
63
|
}
|
|
32
64
|
}
|
|
33
65
|
function getValidator(owners) {
|
|
34
66
|
switch (owners.type) {
|
|
35
67
|
case 'ecdsa':
|
|
36
|
-
return getOwnableValidator(
|
|
37
|
-
threshold: owners.threshold ?? 1,
|
|
38
|
-
owners: owners.accounts.map((account) => account.address),
|
|
39
|
-
});
|
|
68
|
+
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address));
|
|
40
69
|
case 'passkey':
|
|
41
70
|
return getWebAuthnValidator({
|
|
42
71
|
pubKey: owners.account.publicKey,
|
|
43
72
|
authenticatorId: owners.account.id,
|
|
44
73
|
});
|
|
74
|
+
case 'multi-factor': {
|
|
75
|
+
return getMultiFactorValidator(owners.threshold ?? 1, owners.validators);
|
|
76
|
+
}
|
|
45
77
|
}
|
|
46
78
|
}
|
|
47
|
-
function getOwnableValidator(
|
|
79
|
+
function getOwnableValidator(threshold, owners) {
|
|
48
80
|
return {
|
|
49
81
|
address: OWNABLE_VALIDATOR_ADDRESS,
|
|
50
82
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
@@ -102,6 +134,49 @@ function getWebAuthnValidator(webAuthnCredential) {
|
|
|
102
134
|
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
103
135
|
};
|
|
104
136
|
}
|
|
137
|
+
function getMultiFactorValidator(threshold, validators) {
|
|
138
|
+
return {
|
|
139
|
+
address: MULTI_FACTOR_VALIDATOR_ADDRESS,
|
|
140
|
+
initData: (0, viem_1.encodePacked)(['uint8', 'bytes'], [
|
|
141
|
+
threshold,
|
|
142
|
+
(0, viem_1.encodeAbiParameters)([
|
|
143
|
+
{
|
|
144
|
+
components: [
|
|
145
|
+
{
|
|
146
|
+
internalType: 'bytes32',
|
|
147
|
+
name: 'packedValidatorAndId',
|
|
148
|
+
type: 'bytes32',
|
|
149
|
+
},
|
|
150
|
+
{ internalType: 'bytes', name: 'data', type: 'bytes' },
|
|
151
|
+
],
|
|
152
|
+
name: 'validators',
|
|
153
|
+
type: 'tuple[]',
|
|
154
|
+
},
|
|
155
|
+
], [
|
|
156
|
+
validators
|
|
157
|
+
.map((validator, index) => {
|
|
158
|
+
if (validator === null) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
const validatorModule = getValidator(validator);
|
|
162
|
+
return {
|
|
163
|
+
packedValidatorAndId: (0, viem_1.concat)([
|
|
164
|
+
(0, viem_1.pad)((0, viem_1.toHex)(index), {
|
|
165
|
+
size: 12,
|
|
166
|
+
}),
|
|
167
|
+
validatorModule.address,
|
|
168
|
+
]),
|
|
169
|
+
data: validatorModule.initData,
|
|
170
|
+
};
|
|
171
|
+
})
|
|
172
|
+
.filter((validator) => validator !== null),
|
|
173
|
+
]),
|
|
174
|
+
]),
|
|
175
|
+
deInitData: '0x',
|
|
176
|
+
additionalContext: '0x',
|
|
177
|
+
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
105
180
|
function getSocialRecoveryValidator(guardians, threshold = 1) {
|
|
106
181
|
const guardianAddresses = guardians.map((guardian) => guardian.address);
|
|
107
182
|
guardianAddresses.sort();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.test.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const viem_1 = require("viem");
|
|
4
|
+
const vitest_1 = require("vitest");
|
|
5
|
+
const consts_1 = require("../../../test/consts");
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
const core_1 = require("./core");
|
|
8
|
+
(0, vitest_1.describe)('Validators Core', () => {
|
|
9
|
+
(0, vitest_1.describe)('Validator', () => {
|
|
10
|
+
(0, vitest_1.test)('ECDSA: single address', () => {
|
|
11
|
+
const validator = (0, core_1.getValidator)({
|
|
12
|
+
type: 'ecdsa',
|
|
13
|
+
accounts: [consts_1.accountA],
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
16
|
+
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
17
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
|
|
18
|
+
(0, vitest_1.expect)(validator.initData).toEqual('0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.test)('ECDSA: two addresses', () => {
|
|
21
|
+
const validator = (0, core_1.getValidator)({
|
|
22
|
+
type: 'ecdsa',
|
|
23
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
24
|
+
});
|
|
25
|
+
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
26
|
+
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
27
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
|
|
28
|
+
(0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.test)('ECDSA: three addresses, custom threshold', () => {
|
|
31
|
+
const validator = (0, core_1.getValidator)({
|
|
32
|
+
type: 'ecdsa',
|
|
33
|
+
accounts: [consts_1.accountA, consts_1.accountB, consts_1.accountC],
|
|
34
|
+
threshold: 2,
|
|
35
|
+
});
|
|
36
|
+
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
37
|
+
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
38
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
|
|
39
|
+
(0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000c27b7578151c5ef713c62c65db09763d57ac3596000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.test)('Passkey', () => {
|
|
42
|
+
const validator = (0, core_1.getValidator)({
|
|
43
|
+
type: 'passkey',
|
|
44
|
+
account: consts_1.passkeyAccount,
|
|
45
|
+
credentialIds: ['0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'],
|
|
46
|
+
});
|
|
47
|
+
(0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
48
|
+
(0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
|
|
49
|
+
(0, vitest_1.expect)(validator.address).toEqual('0x0000000000578c4cB0e472a5462da43C495C3F33');
|
|
50
|
+
(0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000001' +
|
|
51
|
+
'0000000000000000000000000000000000000000000000000000000000000040' +
|
|
52
|
+
'0000000000000000000000000000000000000000000000000000000000000001' +
|
|
53
|
+
'580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d373763' +
|
|
54
|
+
'7d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1' +
|
|
55
|
+
'0000000000000000000000000000000000000000000000000000000000000000');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
(0, vitest_1.describe)('Mock Signature', () => {
|
|
59
|
+
(0, vitest_1.test)('ECDSA: single address', () => {
|
|
60
|
+
const signature = (0, core_1.getMockSignature)({
|
|
61
|
+
type: 'ecdsa',
|
|
62
|
+
accounts: [consts_1.accountA],
|
|
63
|
+
});
|
|
64
|
+
(0, vitest_1.expect)((0, viem_1.size)(signature)).toEqual(65);
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.test)('ECDSA: multiple addresses', () => {
|
|
67
|
+
const signature = (0, core_1.getMockSignature)({
|
|
68
|
+
type: 'ecdsa',
|
|
69
|
+
accounts: [consts_1.accountA, consts_1.accountB, consts_1.accountC],
|
|
70
|
+
});
|
|
71
|
+
(0, vitest_1.expect)((0, viem_1.size)(signature)).toEqual(3 * 65);
|
|
72
|
+
});
|
|
73
|
+
(0, vitest_1.test)('Passkey', () => {
|
|
74
|
+
const signature = (0, core_1.getMockSignature)({
|
|
75
|
+
type: 'passkey',
|
|
76
|
+
account: consts_1.passkeyAccount,
|
|
77
|
+
credentialIds: ['0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'],
|
|
78
|
+
});
|
|
79
|
+
// Should have the proper schema
|
|
80
|
+
(0, viem_1.decodeAbiParameters)([
|
|
81
|
+
{
|
|
82
|
+
type: 'bytes',
|
|
83
|
+
name: 'authenticatorData',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'string',
|
|
87
|
+
name: 'clientDataJSON',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'uint256',
|
|
91
|
+
name: 'challengeIndex',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'uint256',
|
|
95
|
+
name: 'typeIndex',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'uint256',
|
|
99
|
+
name: 'r',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'uint256',
|
|
103
|
+
name: 's',
|
|
104
|
+
},
|
|
105
|
+
], signature);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { getMockSignature, getOwnerValidator } from './core';
|
|
2
|
+
import { encodeSmartSessionSignature, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, SMART_SESSION_MODE_ENABLE, SMART_SESSION_MODE_USE, SMART_SESSIONS_VALIDATOR_ADDRESS } from './smart-sessions';
|
|
3
|
+
export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, encodeSmartSessionSignature, getPermissionId, getMockSignature, isSessionEnabled, };
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,CAAA"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isSessionEnabled = exports.getMockSignature = exports.getPermissionId = exports.encodeSmartSessionSignature = exports.getEnableSessionCall = exports.getSmartSessionValidator = exports.getOwnerValidator = exports.SMART_SESSIONS_VALIDATOR_ADDRESS = exports.SMART_SESSION_MODE_ENABLE = exports.SMART_SESSION_MODE_USE = void 0;
|
|
4
4
|
const core_1 = require("./core");
|
|
5
5
|
Object.defineProperty(exports, "getMockSignature", { enumerable: true, get: function () { return core_1.getMockSignature; } });
|
|
6
6
|
Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: function () { return core_1.getOwnerValidator; } });
|
|
7
7
|
const smart_sessions_1 = require("./smart-sessions");
|
|
8
8
|
Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return smart_sessions_1.encodeSmartSessionSignature; } });
|
|
9
|
-
Object.defineProperty(exports, "getAccountEIP712Domain", { enumerable: true, get: function () { return smart_sessions_1.getAccountEIP712Domain; } });
|
|
10
9
|
Object.defineProperty(exports, "getEnableSessionCall", { enumerable: true, get: function () { return smart_sessions_1.getEnableSessionCall; } });
|
|
11
10
|
Object.defineProperty(exports, "getPermissionId", { enumerable: true, get: function () { return smart_sessions_1.getPermissionId; } });
|
|
12
|
-
Object.defineProperty(exports, "getSessionAllowedERC7739Content", { enumerable: true, get: function () { return smart_sessions_1.getSessionAllowedERC7739Content; } });
|
|
13
11
|
Object.defineProperty(exports, "getSmartSessionValidator", { enumerable: true, get: function () { return smart_sessions_1.getSmartSessionValidator; } });
|
|
14
12
|
Object.defineProperty(exports, "isSessionEnabled", { enumerable: true, get: function () { return smart_sessions_1.isSessionEnabled; } });
|
|
15
13
|
Object.defineProperty(exports, "SMART_SESSION_MODE_ENABLE", { enumerable: true, get: function () { return smart_sessions_1.SMART_SESSION_MODE_ENABLE; } });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type Chain, type Hex, type PublicClient } from 'viem';
|
|
2
|
-
import type { AccountType, RhinestoneAccountConfig, Session } from '../../types';
|
|
2
|
+
import type { AccountType, ProviderConfig, RhinestoneAccountConfig, Session } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
4
|
interface SessionData {
|
|
5
5
|
sessionValidator: Address;
|
|
@@ -82,26 +82,15 @@ declare const SMART_SESSIONS_VALIDATOR_ADDRESS: Address;
|
|
|
82
82
|
declare const SMART_SESSION_MODE_USE = "0x00";
|
|
83
83
|
declare const SMART_SESSION_MODE_ENABLE = "0x01";
|
|
84
84
|
declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
|
|
85
|
-
declare function getSessionData(chain: Chain, session: Session): Promise<SessionData>;
|
|
86
|
-
declare function getEnableSessionCall(chain: Chain, session: Session): Promise<{
|
|
85
|
+
declare function getSessionData(chain: Chain, session: Session, provider?: ProviderConfig): Promise<SessionData>;
|
|
86
|
+
declare function getEnableSessionCall(chain: Chain, session: Session, provider?: ProviderConfig): Promise<{
|
|
87
87
|
to: `0x${string}`;
|
|
88
88
|
data: `0x${string}`;
|
|
89
89
|
}>;
|
|
90
|
-
declare function getSessionAllowedERC7739Content(chain: Chain): Promise<{
|
|
91
|
-
appDomainSeparator: `0x${string}`;
|
|
92
|
-
contentsType: string;
|
|
93
|
-
}>;
|
|
94
90
|
declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
|
|
95
91
|
declare function isSessionEnabled(client: PublicClient, address: Address, permissionId: Hex): Promise<boolean>;
|
|
96
92
|
declare function encodeSmartSessionSignature(mode: SmartSessionModeType, permissionId: Hex, signature: Hex, enableSessionData?: EnableSessionData): `0x${string}`;
|
|
97
93
|
declare function getPermissionId(session: Session): `0x${string}`;
|
|
98
|
-
|
|
99
|
-
name: string;
|
|
100
|
-
version: string;
|
|
101
|
-
chainId: bigint;
|
|
102
|
-
verifyingContract: `0x${string}`;
|
|
103
|
-
salt: `0x${string}`;
|
|
104
|
-
}>;
|
|
105
|
-
export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS, getSessionData, getSmartSessionValidator, getEnableSessionCall, encodeSmartSessionSignature, getPermissionId, getAccountEIP712Domain, isSessionEnabled, getSessionAllowedERC7739Content, };
|
|
94
|
+
export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS, getSessionData, getSmartSessionValidator, getEnableSessionCall, encodeSmartSessionSignature, getPermissionId, isSessionEnabled, };
|
|
106
95
|
export type { EnableSessionData, ChainSession, ChainDigest, SessionData, SmartSessionModeType, };
|
|
107
96
|
//# sourceMappingURL=smart-sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,10 @@ exports.getSmartSessionValidator = getSmartSessionValidator;
|
|
|
6
6
|
exports.getEnableSessionCall = getEnableSessionCall;
|
|
7
7
|
exports.encodeSmartSessionSignature = encodeSmartSessionSignature;
|
|
8
8
|
exports.getPermissionId = getPermissionId;
|
|
9
|
-
exports.getAccountEIP712Domain = getAccountEIP712Domain;
|
|
10
9
|
exports.isSessionEnabled = isSessionEnabled;
|
|
11
|
-
exports.getSessionAllowedERC7739Content = getSessionAllowedERC7739Content;
|
|
12
10
|
const solady_1 = require("solady");
|
|
13
11
|
const viem_1 = require("viem");
|
|
12
|
+
const utils_1 = require("../../accounts/utils");
|
|
14
13
|
const orchestrator_1 = require("../../orchestrator");
|
|
15
14
|
const smart_sessions_1 = require("../abi/smart-sessions");
|
|
16
15
|
const common_1 = require("../common");
|
|
@@ -38,8 +37,8 @@ const ACTION_CONDITION_GREATER_THAN_OR_EQUAL = 3;
|
|
|
38
37
|
const ACTION_CONDITION_LESS_THAN_OR_EQUAL = 4;
|
|
39
38
|
const ACTION_CONDITION_NOT_EQUAL = 5;
|
|
40
39
|
const ACTION_CONDITION_IN_RANGE = 6;
|
|
41
|
-
async function getSessionData(chain, session) {
|
|
42
|
-
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain);
|
|
40
|
+
async function getSessionData(chain, session, provider) {
|
|
41
|
+
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
|
|
43
42
|
const allowedERC7739Content = [
|
|
44
43
|
{
|
|
45
44
|
appDomainSeparator,
|
|
@@ -48,8 +47,8 @@ async function getSessionData(chain, session) {
|
|
|
48
47
|
];
|
|
49
48
|
return getSmartSessionData(chain, session, allowedERC7739Content);
|
|
50
49
|
}
|
|
51
|
-
async function getEnableSessionCall(chain, session) {
|
|
52
|
-
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain);
|
|
50
|
+
async function getEnableSessionCall(chain, session, provider) {
|
|
51
|
+
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
|
|
53
52
|
const allowedERC7739Content = [
|
|
54
53
|
{
|
|
55
54
|
appDomainSeparator,
|
|
@@ -92,10 +91,10 @@ function getOmniAccountActions(chain) {
|
|
|
92
91
|
];
|
|
93
92
|
return omniActions;
|
|
94
93
|
}
|
|
95
|
-
async function getSessionAllowedERC7739Content(chain) {
|
|
94
|
+
async function getSessionAllowedERC7739Content(chain, provider) {
|
|
96
95
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
97
96
|
chain,
|
|
98
|
-
transport: (0,
|
|
97
|
+
transport: (0, utils_1.createTransport)(chain, provider),
|
|
99
98
|
});
|
|
100
99
|
const appDomainSeparator = await publicClient.readContract({
|
|
101
100
|
address: omni_account_1.HOOK_ADDRESS,
|
|
@@ -543,56 +542,3 @@ function getPermissionId(session) {
|
|
|
543
542
|
session.salt ?? viem_1.zeroHash,
|
|
544
543
|
]));
|
|
545
544
|
}
|
|
546
|
-
async function getAccountEIP712Domain(client, account) {
|
|
547
|
-
const data = await client.readContract({
|
|
548
|
-
address: account,
|
|
549
|
-
abi: [
|
|
550
|
-
{
|
|
551
|
-
type: 'function',
|
|
552
|
-
name: 'eip712Domain',
|
|
553
|
-
inputs: [],
|
|
554
|
-
outputs: [
|
|
555
|
-
{
|
|
556
|
-
type: 'bytes1',
|
|
557
|
-
name: 'fields,',
|
|
558
|
-
},
|
|
559
|
-
{
|
|
560
|
-
type: 'string',
|
|
561
|
-
name: 'name',
|
|
562
|
-
},
|
|
563
|
-
{
|
|
564
|
-
type: 'string',
|
|
565
|
-
name: 'version',
|
|
566
|
-
},
|
|
567
|
-
{
|
|
568
|
-
type: 'uint256',
|
|
569
|
-
name: 'chainId',
|
|
570
|
-
},
|
|
571
|
-
{
|
|
572
|
-
type: 'address',
|
|
573
|
-
name: 'verifyingContract',
|
|
574
|
-
},
|
|
575
|
-
{
|
|
576
|
-
type: 'bytes32',
|
|
577
|
-
name: 'salt',
|
|
578
|
-
},
|
|
579
|
-
{
|
|
580
|
-
type: 'uint256[]',
|
|
581
|
-
name: 'extensions',
|
|
582
|
-
},
|
|
583
|
-
],
|
|
584
|
-
stateMutability: 'view',
|
|
585
|
-
constant: true,
|
|
586
|
-
},
|
|
587
|
-
],
|
|
588
|
-
functionName: 'eip712Domain',
|
|
589
|
-
args: [],
|
|
590
|
-
});
|
|
591
|
-
return {
|
|
592
|
-
name: data[1],
|
|
593
|
-
version: data[2],
|
|
594
|
-
chainId: data[3],
|
|
595
|
-
verifyingContract: data[4],
|
|
596
|
-
salt: data[5],
|
|
597
|
-
};
|
|
598
|
-
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-sessions.test.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.test.ts"],"names":[],"mappings":""}
|