@charterlabs/rhinestone-sdk 0.2.9 → 0.3.1
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/error.d.ts +8 -1
- package/dist/src/accounts/error.d.ts.map +1 -1
- package/dist/src/accounts/error.js +10 -1
- package/dist/src/accounts/index.d.ts +11 -11
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +71 -53
- package/dist/src/accounts/kernel.d.ts +3 -5
- package/dist/src/accounts/kernel.d.ts.map +1 -1
- package/dist/src/accounts/kernel.js +10 -18
- package/dist/src/accounts/kernel.test.js +10 -3
- package/dist/src/accounts/nexus.d.ts +5 -7
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/nexus.js +112 -59
- package/dist/src/accounts/nexus.test.js +10 -3
- package/dist/src/accounts/passport.d.ts +4 -7
- package/dist/src/accounts/passport.d.ts.map +1 -1
- package/dist/src/accounts/passport.js +0 -91
- package/dist/src/accounts/safe.d.ts +9 -4
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +110 -39
- package/dist/src/accounts/safe.test.js +10 -3
- package/dist/src/accounts/signing/common.d.ts +3 -3
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +36 -3
- package/dist/src/accounts/signing/message.js +2 -2
- package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
- package/dist/src/accounts/signing/typedData.js +3 -3
- package/dist/src/accounts/startale.d.ts +2 -4
- package/dist/src/accounts/startale.d.ts.map +1 -1
- package/dist/src/accounts/startale.js +2 -5
- package/dist/src/accounts/utils.d.ts.map +1 -1
- package/dist/src/accounts/utils.js +10 -3
- package/dist/src/accounts/walletClient.d.ts.map +1 -1
- package/dist/src/accounts/walletClient.js +6 -0
- package/dist/src/actions/compact.d.ts +3 -2
- package/dist/src/actions/compact.d.ts.map +1 -1
- package/dist/src/actions/compact.js +1 -0
- package/dist/src/actions/deployment.d.ts +19 -0
- package/dist/src/actions/deployment.d.ts.map +1 -0
- package/dist/src/actions/deployment.js +78 -0
- package/dist/src/actions/index.d.ts +4 -11
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +12 -0
- package/dist/src/actions/smart-sessions.d.ts +7 -8
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +7 -4
- package/dist/src/errors/index.d.ts +2 -2
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +2 -1
- package/dist/src/execution/compact.d.ts +12 -17
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +10 -16
- package/dist/src/execution/index.d.ts +6 -6
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +16 -27
- package/dist/src/execution/permit2.d.ts +12 -17
- package/dist/src/execution/permit2.d.ts.map +1 -1
- package/dist/src/execution/permit2.js +10 -16
- package/dist/src/execution/singleChainOps.d.ts +15 -3
- package/dist/src/execution/singleChainOps.d.ts.map +1 -1
- package/dist/src/execution/singleChainOps.js +17 -3
- package/dist/src/execution/utils.d.ts +32 -10
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +121 -108
- package/dist/src/index.d.ts +23 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +36 -6
- package/dist/src/modules/abi/smart-session-emissary.d.ts +696 -0
- package/dist/src/modules/abi/smart-session-emissary.d.ts.map +1 -0
- package/dist/src/modules/abi/smart-session-emissary.js +565 -0
- package/dist/src/modules/chain-abstraction.d.ts +5 -0
- package/dist/src/modules/chain-abstraction.d.ts.map +1 -0
- package/dist/src/modules/chain-abstraction.js +7 -0
- package/dist/src/modules/common.d.ts +10 -2
- package/dist/src/modules/common.d.ts.map +1 -1
- package/dist/src/modules/common.js +10 -0
- package/dist/src/modules/index.d.ts +3 -9
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +24 -8
- package/dist/src/modules/index.test.js +3 -9
- package/dist/src/modules/legacy.d.ts +10 -0
- package/dist/src/modules/legacy.d.ts.map +1 -0
- package/dist/src/modules/legacy.js +65 -0
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +2 -0
- package/dist/src/modules/validators/index.d.ts +2 -2
- package/dist/src/modules/validators/index.d.ts.map +1 -1
- package/dist/src/modules/validators/index.js +1 -6
- package/dist/src/modules/validators/smart-sessions.d.ts +105 -20
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +199 -435
- package/dist/src/orchestrator/client.d.ts +7 -3
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +3 -13
- package/dist/src/orchestrator/index.d.ts +2 -2
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +2 -1
- package/dist/src/orchestrator/registry.d.ts +2 -1
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +28 -8
- package/dist/src/orchestrator/registry.test.js +13 -0
- package/dist/src/orchestrator/types.d.ts +11 -12
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/orchestrator/types.js +1 -7
- package/dist/src/types.d.ts +47 -25
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +24 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +58 -0
- package/dist/test/utils/utils.d.ts +5 -0
- package/dist/test/utils/utils.d.ts.map +1 -0
- package/dist/test/utils/utils.js +20 -0
- package/package.json +33 -3
- package/dist/src/execution/smart-session.d.ts +0 -13
- package/dist/src/execution/smart-session.d.ts.map +0 -1
- package/dist/src/execution/smart-session.js +0 -178
- package/dist/src/modules/omni-account.d.ts +0 -8
- package/dist/src/modules/omni-account.d.ts.map +0 -1
- package/dist/src/modules/omni-account.js +0 -13
- package/dist/src/modules/validators/smart-sessions.test.d.ts +0 -2
- package/dist/src/modules/validators/smart-sessions.test.d.ts.map +0 -1
- package/dist/src/modules/validators/smart-sessions.test.js +0 -222
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getSessionDetails = exports.getValidators = exports.getOwners = exports.getOwnerValidator = void 0;
|
|
4
4
|
exports.getSetup = getSetup;
|
|
5
5
|
exports.getIntentExecutor = getIntentExecutor;
|
|
6
6
|
exports.isRip7212SupportedNetwork = isRip7212SupportedNetwork;
|
|
7
7
|
const viem_1 = require("viem");
|
|
8
8
|
const chains_1 = require("viem/chains");
|
|
9
|
+
const chain_abstraction_1 = require("./chain-abstraction");
|
|
9
10
|
const common_1 = require("./common");
|
|
10
|
-
const omni_account_1 = require("./omni-account");
|
|
11
|
-
Object.defineProperty(exports, "HOOK_ADDRESS", { enumerable: true, get: function () { return omni_account_1.HOOK_ADDRESS; } });
|
|
12
11
|
const read_1 = require("./read");
|
|
13
12
|
Object.defineProperty(exports, "getOwners", { enumerable: true, get: function () { return read_1.getOwners; } });
|
|
14
13
|
Object.defineProperty(exports, "getValidators", { enumerable: true, get: function () { return read_1.getValidators; } });
|
|
15
14
|
const validators_1 = require("./validators");
|
|
16
15
|
Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: function () { return validators_1.getOwnerValidator; } });
|
|
17
16
|
const core_1 = require("./validators/core");
|
|
17
|
+
const smart_sessions_1 = require("./validators/smart-sessions");
|
|
18
|
+
Object.defineProperty(exports, "getSessionDetails", { enumerable: true, get: function () { return smart_sessions_1.getSessionDetails; } });
|
|
18
19
|
const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
|
|
19
20
|
function getSetup(config) {
|
|
20
21
|
const ownerValidator = (0, validators_1.getOwnerValidator)(config);
|
|
@@ -31,10 +32,11 @@ function getSetup(config) {
|
|
|
31
32
|
const executors = [intentExecutor];
|
|
32
33
|
const fallbacks = [];
|
|
33
34
|
// Some accounts (e.g. Safe) need a fallback method to support smart sessions
|
|
34
|
-
if (config.
|
|
35
|
-
|
|
35
|
+
if (config.experimental_sessions) {
|
|
36
|
+
const { enabled, compatibilityFallback } = config.experimental_sessions;
|
|
37
|
+
if (enabled && config.account && config.account.type === 'safe') {
|
|
36
38
|
fallbacks.push({
|
|
37
|
-
address: SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS,
|
|
39
|
+
address: compatibilityFallback ?? SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS,
|
|
38
40
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
39
41
|
{ name: 'selector', type: 'bytes4' },
|
|
40
42
|
{ name: 'flags', type: 'bytes1' },
|
|
@@ -47,6 +49,20 @@ function getSetup(config) {
|
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
const hooks = [];
|
|
52
|
+
if (config.modules) {
|
|
53
|
+
validators.push(...config.modules
|
|
54
|
+
.filter((m) => m.type === common_1.MODULE_TYPE_VALIDATOR)
|
|
55
|
+
.map((m) => (0, common_1.getModule)(m)));
|
|
56
|
+
executors.push(...config.modules
|
|
57
|
+
.filter((m) => m.type === common_1.MODULE_TYPE_EXECUTOR)
|
|
58
|
+
.map((m) => (0, common_1.getModule)(m)));
|
|
59
|
+
fallbacks.push(...config.modules
|
|
60
|
+
.filter((m) => m.type === common_1.MODULE_TYPE_FALLBACK)
|
|
61
|
+
.map((m) => (0, common_1.getModule)(m)));
|
|
62
|
+
hooks.push(...config.modules
|
|
63
|
+
.filter((m) => m.type === common_1.MODULE_TYPE_HOOK)
|
|
64
|
+
.map((m) => (0, common_1.getModule)(m)));
|
|
65
|
+
}
|
|
50
66
|
return {
|
|
51
67
|
validators,
|
|
52
68
|
executors,
|
|
@@ -56,8 +72,8 @@ function getSetup(config) {
|
|
|
56
72
|
}
|
|
57
73
|
function getIntentExecutor(config) {
|
|
58
74
|
const intentExecutorAddress = config.useDevContracts === true
|
|
59
|
-
?
|
|
60
|
-
:
|
|
75
|
+
? chain_abstraction_1.INTENT_EXECUTOR_ADDRESS_DEV
|
|
76
|
+
: chain_abstraction_1.INTENT_EXECUTOR_ADDRESS;
|
|
61
77
|
return {
|
|
62
78
|
address: intentExecutorAddress,
|
|
63
79
|
initData: '0x',
|
|
@@ -61,15 +61,9 @@ const index_1 = require("./index");
|
|
|
61
61
|
accounts: [consts_1.accountA],
|
|
62
62
|
threshold: 1,
|
|
63
63
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
type: 'ecdsa',
|
|
68
|
-
accounts: [consts_1.accountB],
|
|
69
|
-
threshold: 1,
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
],
|
|
64
|
+
experimental_sessions: {
|
|
65
|
+
enabled: true,
|
|
66
|
+
},
|
|
73
67
|
account: {
|
|
74
68
|
type: 'safe',
|
|
75
69
|
},
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Address } from 'viem';
|
|
2
|
+
import type { RhinestoneAccountConfig } from '../types';
|
|
3
|
+
import { type ModeleSetup } from './common';
|
|
4
|
+
declare function getV0Attesters(): {
|
|
5
|
+
addresses: Address[];
|
|
6
|
+
threshold: number;
|
|
7
|
+
};
|
|
8
|
+
declare function getV0Setup(config: RhinestoneAccountConfig): ModeleSetup;
|
|
9
|
+
export { getV0Attesters, getV0Setup };
|
|
10
|
+
//# sourceMappingURL=legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../modules/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,MAAM,CAAA;AACxD,OAAO,KAAK,EAAe,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,UAAU,CAAA;AAYjB,iBAAS,cAAc,IAAI;IACzB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAQA;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAuDhE;AAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getV0Attesters = getV0Attesters;
|
|
4
|
+
exports.getV0Setup = getV0Setup;
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const _1 = require(".");
|
|
7
|
+
const common_1 = require("./common");
|
|
8
|
+
const OMNI_ACCOUNT_MOCK_ATTESTER_ADDRESS = '0x6D0515e8E499468DCe9583626f0cA15b887f9d03';
|
|
9
|
+
const RHINESTONE_ATTESTER_ADDRESS = '0x000000333034E9f539ce08819E12c1b8Cb29084d';
|
|
10
|
+
const HOOK_ADDRESS = '0x0000000000f6Ed8Be424d673c63eeFF8b9267420';
|
|
11
|
+
const TARGET_MODULE_ADDRESS = '0x0000000000E5a37279A001301A837a91b5de1D5E';
|
|
12
|
+
const SAME_CHAIN_MODULE_ADDRESS = '0x000000000043ff16d5776c7F0f65Ec485C17Ca04';
|
|
13
|
+
function getV0Attesters() {
|
|
14
|
+
return {
|
|
15
|
+
addresses: [
|
|
16
|
+
RHINESTONE_ATTESTER_ADDRESS,
|
|
17
|
+
OMNI_ACCOUNT_MOCK_ATTESTER_ADDRESS,
|
|
18
|
+
],
|
|
19
|
+
threshold: 1,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function getV0Setup(config) {
|
|
23
|
+
const defaultSetup = (0, _1.getSetup)(config);
|
|
24
|
+
// Define v0 modules
|
|
25
|
+
const v0ModuleInputs = [
|
|
26
|
+
// Same Chain Module
|
|
27
|
+
{
|
|
28
|
+
type: 'executor',
|
|
29
|
+
address: SAME_CHAIN_MODULE_ADDRESS,
|
|
30
|
+
},
|
|
31
|
+
// Target Module
|
|
32
|
+
{
|
|
33
|
+
type: 'executor',
|
|
34
|
+
address: TARGET_MODULE_ADDRESS,
|
|
35
|
+
},
|
|
36
|
+
// "Hook" Executor
|
|
37
|
+
{
|
|
38
|
+
type: 'executor',
|
|
39
|
+
address: HOOK_ADDRESS,
|
|
40
|
+
},
|
|
41
|
+
// Fallback
|
|
42
|
+
{
|
|
43
|
+
type: 'fallback',
|
|
44
|
+
address: TARGET_MODULE_ADDRESS,
|
|
45
|
+
initData: (0, viem_1.encodeAbiParameters)([
|
|
46
|
+
{ name: 'selector', type: 'bytes4' },
|
|
47
|
+
{ name: 'flags', type: 'bytes1' },
|
|
48
|
+
{ name: 'data', type: 'bytes' },
|
|
49
|
+
], ['0x3a5be8cb', '0x00', '0x']),
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
// Convert and categorize v0 modules once
|
|
53
|
+
const v0Modules = v0ModuleInputs.map((m) => (0, common_1.getModule)(m));
|
|
54
|
+
const v0Validators = v0Modules.filter((m) => m.type === common_1.MODULE_TYPE_ID_VALIDATOR);
|
|
55
|
+
const v0Executors = v0Modules.filter((m) => m.type === common_1.MODULE_TYPE_ID_EXECUTOR);
|
|
56
|
+
const v0Fallbacks = v0Modules.filter((m) => m.type === common_1.MODULE_TYPE_ID_FALLBACK);
|
|
57
|
+
const v0Hooks = v0Modules.filter((m) => m.type === common_1.MODULE_TYPE_ID_HOOK);
|
|
58
|
+
// Merge directly with default setup
|
|
59
|
+
return {
|
|
60
|
+
validators: [...v0Validators, ...defaultSetup.validators],
|
|
61
|
+
executors: [...v0Executors, ...defaultSetup.executors],
|
|
62
|
+
fallbacks: [...v0Fallbacks, ...defaultSetup.fallbacks],
|
|
63
|
+
hooks: [...v0Hooks, ...defaultSetup.hooks],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -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;AAGb,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;
|
|
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;AAGb,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;AAGjE,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,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,CAmDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UA2BrC;AAED,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,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,GACF,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WASxC;AAED,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -13,6 +13,7 @@ exports.supportsEip712 = supportsEip712;
|
|
|
13
13
|
const viem_1 = require("viem");
|
|
14
14
|
const error_1 = require("../../accounts/error");
|
|
15
15
|
const common_1 = require("../common");
|
|
16
|
+
const smart_sessions_1 = require("./smart-sessions");
|
|
16
17
|
const OWNABLE_VALIDATOR_ADDRESS = '0x000000000013fdb5234e4e3162a810f54d9f7e98';
|
|
17
18
|
exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
|
|
18
19
|
const ENS_VALIDATOR_ADDRESS = '0xdc38f07b060374b6480c4bf06231e7d10955bca4';
|
|
@@ -271,6 +272,7 @@ function supportsEip712(validator) {
|
|
|
271
272
|
switch (validator.address.toLowerCase()) {
|
|
272
273
|
case OWNABLE_BETA_VALIDATOR_ADDRESS: // Ownable Validator V1-beta
|
|
273
274
|
case OWNABLE_V0_VALIDATOR_ADDRESS: // Ownable Validator V0
|
|
275
|
+
case smart_sessions_1.SMART_SESSION_EMISSARY_ADDRESS: // Smart Sessions (not yet supported)
|
|
274
276
|
return false;
|
|
275
277
|
default:
|
|
276
278
|
return true;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { getMockSignature, getOwnerValidator } from './core';
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { getEnableSessionCall, getPermissionId, getSmartSessionValidator } from './smart-sessions';
|
|
3
|
+
export { getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, };
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +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,
|
|
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,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,CAAA"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getMockSignature = exports.getPermissionId = exports.getEnableSessionCall = exports.getSmartSessionValidator = exports.getOwnerValidator = 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
|
-
Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return smart_sessions_1.encodeSmartSessionSignature; } });
|
|
9
8
|
Object.defineProperty(exports, "getEnableSessionCall", { enumerable: true, get: function () { return smart_sessions_1.getEnableSessionCall; } });
|
|
10
9
|
Object.defineProperty(exports, "getPermissionId", { enumerable: true, get: function () { return smart_sessions_1.getPermissionId; } });
|
|
11
10
|
Object.defineProperty(exports, "getSmartSessionValidator", { enumerable: true, get: function () { return smart_sessions_1.getSmartSessionValidator; } });
|
|
12
|
-
Object.defineProperty(exports, "isSessionEnabled", { enumerable: true, get: function () { return smart_sessions_1.isSessionEnabled; } });
|
|
13
|
-
Object.defineProperty(exports, "SMART_SESSION_MODE_ENABLE", { enumerable: true, get: function () { return smart_sessions_1.SMART_SESSION_MODE_ENABLE; } });
|
|
14
|
-
Object.defineProperty(exports, "SMART_SESSION_MODE_USE", { enumerable: true, get: function () { return smart_sessions_1.SMART_SESSION_MODE_USE; } });
|
|
15
|
-
Object.defineProperty(exports, "SMART_SESSIONS_VALIDATOR_ADDRESS", { enumerable: true, get: function () { return smart_sessions_1.SMART_SESSIONS_VALIDATOR_ADDRESS; } });
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
import { type Address, type Hex, type
|
|
1
|
+
import { type Address, type Hex, type TypedDataDefinition } from 'viem';
|
|
2
2
|
import type { RhinestoneAccountConfig, Session } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
4
|
interface SessionData {
|
|
5
5
|
sessionValidator: Address;
|
|
6
6
|
sessionValidatorInitData: Hex;
|
|
7
7
|
salt: Hex;
|
|
8
|
-
userOpPolicies: readonly UserOpPolicy[];
|
|
9
8
|
erc7739Policies: {
|
|
10
9
|
allowedERC7739Content: readonly AllowedERC7739Content[];
|
|
11
10
|
erc1271Policies: readonly ERC1271Policy[];
|
|
12
11
|
};
|
|
13
12
|
actions: readonly ActionData[];
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
interface UserOpPolicy {
|
|
17
|
-
policy: Address;
|
|
18
|
-
initData: Hex;
|
|
13
|
+
claimPolicies: readonly PolicyData[];
|
|
19
14
|
}
|
|
20
15
|
interface ERC1271Policy {
|
|
21
16
|
policy: Address;
|
|
@@ -23,7 +18,7 @@ interface ERC1271Policy {
|
|
|
23
18
|
}
|
|
24
19
|
interface AllowedERC7739Content {
|
|
25
20
|
appDomainSeparator: Hex;
|
|
26
|
-
|
|
21
|
+
contentNames: readonly string[];
|
|
27
22
|
}
|
|
28
23
|
interface ActionData {
|
|
29
24
|
actionTargetSelector: Hex;
|
|
@@ -69,28 +64,118 @@ interface ERC7739Context {
|
|
|
69
64
|
appDomainSeparator: Hex;
|
|
70
65
|
contentName: readonly string[];
|
|
71
66
|
}
|
|
72
|
-
interface
|
|
73
|
-
|
|
67
|
+
interface SessionDetails {
|
|
68
|
+
nonces: bigint[];
|
|
74
69
|
hashesAndChainIds: ChainDigest[];
|
|
75
|
-
|
|
76
|
-
signature: Hex;
|
|
70
|
+
data: TypedDataDefinition<typeof types, 'MultiChainSession'>;
|
|
77
71
|
}
|
|
78
|
-
declare const
|
|
72
|
+
declare const types: {
|
|
73
|
+
readonly PolicyData: readonly [{
|
|
74
|
+
readonly name: "policy";
|
|
75
|
+
readonly type: "address";
|
|
76
|
+
}, {
|
|
77
|
+
readonly name: "initData";
|
|
78
|
+
readonly type: "bytes";
|
|
79
|
+
}];
|
|
80
|
+
readonly ActionData: readonly [{
|
|
81
|
+
readonly name: "actionTargetSelector";
|
|
82
|
+
readonly type: "bytes4";
|
|
83
|
+
}, {
|
|
84
|
+
readonly name: "actionTarget";
|
|
85
|
+
readonly type: "address";
|
|
86
|
+
}, {
|
|
87
|
+
readonly name: "actionPolicies";
|
|
88
|
+
readonly type: "PolicyData[]";
|
|
89
|
+
}];
|
|
90
|
+
readonly ERC7739Context: readonly [{
|
|
91
|
+
readonly name: "appDomainSeparator";
|
|
92
|
+
readonly type: "bytes32";
|
|
93
|
+
}, {
|
|
94
|
+
readonly name: "contentName";
|
|
95
|
+
readonly type: "string[]";
|
|
96
|
+
}];
|
|
97
|
+
readonly ERC7739Data: readonly [{
|
|
98
|
+
readonly name: "allowedERC7739Content";
|
|
99
|
+
readonly type: "ERC7739Context[]";
|
|
100
|
+
}, {
|
|
101
|
+
readonly name: "erc1271Policies";
|
|
102
|
+
readonly type: "PolicyData[]";
|
|
103
|
+
}];
|
|
104
|
+
readonly LockTagData: readonly [{
|
|
105
|
+
readonly name: "lockTag";
|
|
106
|
+
readonly type: "bytes12";
|
|
107
|
+
}, {
|
|
108
|
+
readonly name: "claimPolicies";
|
|
109
|
+
readonly type: "PolicyData[]";
|
|
110
|
+
}];
|
|
111
|
+
readonly SignedPermissions: readonly [{
|
|
112
|
+
readonly name: "actions";
|
|
113
|
+
readonly type: "ActionData[]";
|
|
114
|
+
}, {
|
|
115
|
+
readonly name: "erc7739Policies";
|
|
116
|
+
readonly type: "ERC7739Data";
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "lockTagPolicies";
|
|
119
|
+
readonly type: "LockTagData";
|
|
120
|
+
}, {
|
|
121
|
+
readonly name: "permitGenericPolicy";
|
|
122
|
+
readonly type: "bool";
|
|
123
|
+
}];
|
|
124
|
+
readonly SignedSession: readonly [{
|
|
125
|
+
readonly name: "account";
|
|
126
|
+
readonly type: "address";
|
|
127
|
+
}, {
|
|
128
|
+
readonly name: "expires";
|
|
129
|
+
readonly type: "uint256";
|
|
130
|
+
}, {
|
|
131
|
+
readonly name: "nonce";
|
|
132
|
+
readonly type: "uint256";
|
|
133
|
+
}, {
|
|
134
|
+
readonly name: "permissions";
|
|
135
|
+
readonly type: "SignedPermissions";
|
|
136
|
+
}, {
|
|
137
|
+
readonly name: "salt";
|
|
138
|
+
readonly type: "bytes32";
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "sessionValidator";
|
|
141
|
+
readonly type: "address";
|
|
142
|
+
}, {
|
|
143
|
+
readonly name: "sessionValidatorInitData";
|
|
144
|
+
readonly type: "bytes";
|
|
145
|
+
}, {
|
|
146
|
+
readonly name: "smartSessionEmissary";
|
|
147
|
+
readonly type: "address";
|
|
148
|
+
}];
|
|
149
|
+
readonly ChainSession: readonly [{
|
|
150
|
+
readonly name: "chainId";
|
|
151
|
+
readonly type: "uint64";
|
|
152
|
+
}, {
|
|
153
|
+
readonly name: "session";
|
|
154
|
+
readonly type: "SignedSession";
|
|
155
|
+
}];
|
|
156
|
+
readonly MultiChainSession: readonly [{
|
|
157
|
+
readonly name: "sessionsAndChainIds";
|
|
158
|
+
readonly type: "ChainSession[]";
|
|
159
|
+
}];
|
|
160
|
+
};
|
|
161
|
+
declare const SMART_SESSION_EMISSARY_ADDRESS: Address;
|
|
79
162
|
declare const SMART_SESSION_MODE_USE = "0x00";
|
|
80
163
|
declare const SMART_SESSION_MODE_ENABLE = "0x01";
|
|
81
164
|
declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
|
|
82
165
|
declare const SMART_SESSIONS_FALLBACK_TARGET_FLAG: Address;
|
|
83
166
|
declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG: Hex;
|
|
84
167
|
declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION: Hex;
|
|
85
|
-
declare function
|
|
168
|
+
declare function getSessionDetails(account: Address, sessions: Session[]): Promise<SessionDetails>;
|
|
169
|
+
declare function getEnableSessionCall(account: Address, session: Session, enableSessionSignature: Hex, hashesAndChainIds: {
|
|
170
|
+
chainId: bigint;
|
|
171
|
+
sessionDigest: Hex;
|
|
172
|
+
}[], sessionToEnableIndex: number): Promise<{
|
|
86
173
|
to: `0x${string}`;
|
|
87
174
|
data: `0x${string}`;
|
|
88
175
|
}>;
|
|
89
|
-
declare function
|
|
90
|
-
declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
|
|
91
|
-
declare function isSessionEnabled(client: PublicClient, address: Address, permissionId: Hex): Promise<boolean>;
|
|
92
|
-
declare function encodeSmartSessionSignature(mode: SmartSessionModeType, permissionId: Hex, signature: Hex, enableSessionData?: EnableSessionData): `0x${string}`;
|
|
176
|
+
declare function getSessionData(session: Session): SessionData;
|
|
93
177
|
declare function getPermissionId(session: Session): `0x${string}`;
|
|
94
|
-
|
|
95
|
-
export
|
|
178
|
+
declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
|
|
179
|
+
export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, getSessionData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, };
|
|
180
|
+
export type { ChainSession, ChainDigest, SessionData, SmartSessionModeType, SessionDetails, };
|
|
96
181
|
//# sourceMappingURL=smart-sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
|