@charterlabs/rhinestone-sdk 0.2.7-dev.4 → 0.2.9
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 +46 -8
- package/dist/src/accounts/error.d.ts +4 -1
- package/dist/src/accounts/error.d.ts.map +1 -1
- package/dist/src/accounts/error.js +9 -1
- package/dist/src/accounts/index.d.ts +13 -3
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +62 -6
- package/dist/src/accounts/json-rpc/index.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/index.js +4 -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 +33 -0
- package/dist/src/accounts/json-rpc/providers.d.ts +2 -1
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/providers.js +8 -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 +43 -0
- package/dist/src/accounts/kernel.d.ts +9 -2
- package/dist/src/accounts/kernel.d.ts.map +1 -1
- package/dist/src/accounts/kernel.js +13 -0
- package/dist/src/accounts/nexus.d.ts +9 -2
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/nexus.js +15 -1
- package/dist/src/accounts/passport.d.ts +12 -0
- package/dist/src/accounts/passport.d.ts.map +1 -0
- package/dist/src/accounts/passport.js +173 -0
- package/dist/src/accounts/safe.d.ts +9 -2
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +15 -0
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +26 -5
- package/dist/src/accounts/signing/message.js +1 -1
- package/dist/src/accounts/startale.d.ts +9 -2
- package/dist/src/accounts/startale.d.ts.map +1 -1
- package/dist/src/accounts/startale.js +15 -0
- package/dist/src/accounts/walletClient.d.ts +27 -0
- package/dist/src/accounts/walletClient.d.ts.map +1 -1
- package/dist/src/accounts/walletClient.js +77 -0
- package/dist/src/actions/smart-sessions.d.ts +14 -0
- package/dist/src/actions/smart-sessions.d.ts.map +1 -0
- package/dist/src/actions/smart-sessions.js +16 -0
- package/dist/src/errors/index.d.ts +3 -3
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +18 -1
- package/dist/src/execution/compact.d.ts +3 -3
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +3 -3
- package/dist/src/execution/error.d.ts +8 -1
- package/dist/src/execution/error.d.ts.map +1 -1
- package/dist/src/execution/error.js +10 -1
- package/dist/src/execution/index.d.ts +10 -4
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +85 -12
- package/dist/src/execution/permit2.d.ts +2 -2
- package/dist/src/execution/permit2.d.ts.map +1 -1
- package/dist/src/execution/permit2.js +28 -19
- package/dist/src/execution/singleChainOps.d.ts +28 -0
- package/dist/src/execution/singleChainOps.d.ts.map +1 -0
- package/dist/src/execution/singleChainOps.js +32 -0
- package/dist/src/execution/smart-session.d.ts +5 -7
- package/dist/src/execution/smart-session.d.ts.map +1 -1
- package/dist/src/execution/smart-session.js +114 -229
- package/dist/src/execution/types.d.ts +2 -1
- package/dist/src/execution/types.d.ts.map +1 -1
- package/dist/src/execution/utils.d.ts +16 -9
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +151 -76
- package/dist/src/index.d.ts +18 -19
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +22 -25
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +1 -1
- package/dist/src/modules/index.test.js +1 -1
- package/dist/src/modules/read.js +2 -2
- package/dist/src/modules/validators/core.d.ts +5 -3
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +39 -2
- package/dist/src/modules/validators/smart-sessions.d.ts +8 -8
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +29 -80
- package/dist/src/modules/validators/smart-sessions.test.js +4 -5
- package/dist/src/orchestrator/client.d.ts +3 -2
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +230 -172
- package/dist/src/orchestrator/error.d.ts +137 -1
- package/dist/src/orchestrator/error.d.ts.map +1 -1
- package/dist/src/orchestrator/error.js +137 -1
- package/dist/src/orchestrator/index.d.ts +6 -6
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +19 -3
- package/dist/src/orchestrator/registry.d.ts +6 -2
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +16 -64
- package/dist/src/orchestrator/registry.test.js +24 -24
- package/dist/src/orchestrator/types.d.ts +63 -43
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/orchestrator/types.js +9 -5
- package/dist/src/types.d.ts +42 -9
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +5 -0
- package/package.json +4 -4
- package/dist/src/actions/smart-session.d.ts +0 -11
- package/dist/src/actions/smart-session.d.ts.map +0 -1
- package/dist/src/actions/smart-session.js +0 -13
- package/dist/src/execution/smart-session.test.d.ts +0 -2
- package/dist/src/execution/smart-session.test.d.ts.map +0 -1
- package/dist/src/execution/smart-session.test.js +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAuB,MAAM,MAAM,CAAA;AAWpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEzE,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAGb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAM1E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAiD9D;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAuB,MAAM,MAAM,CAAA;AAWpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEzE,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAGb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAM1E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAiD9D;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAY3D;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAW9C;AAED,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,yBAAyB,GAC1B,CAAA"}
|
|
@@ -55,7 +55,7 @@ function getSetup(config) {
|
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
function getIntentExecutor(config) {
|
|
58
|
-
const intentExecutorAddress = config.
|
|
58
|
+
const intentExecutorAddress = config.useDevContracts === true
|
|
59
59
|
? omni_account_1.INTENT_EXECUTOR_ADDRESS_DEV
|
|
60
60
|
: omni_account_1.INTENT_EXECUTOR_ADDRESS;
|
|
61
61
|
return {
|
|
@@ -48,7 +48,7 @@ const index_1 = require("./index");
|
|
|
48
48
|
],
|
|
49
49
|
};
|
|
50
50
|
const setup = (0, index_1.getSetup)(config);
|
|
51
|
-
const smartSessionValidator = setup.validators.find((validator) => validator.address === '
|
|
51
|
+
const smartSessionValidator = setup.validators.find((validator) => validator.address === '0x00000000008bdaba73cd9815d79069c247eb4bda');
|
|
52
52
|
if (!smartSessionValidator) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
package/dist/src/modules/read.js
CHANGED
|
@@ -11,10 +11,10 @@ async function getValidators(accountType, account, chain, provider) {
|
|
|
11
11
|
transport: (0, utils_1.createTransport)(chain, provider),
|
|
12
12
|
});
|
|
13
13
|
switch (accountType) {
|
|
14
|
-
case 'custom':
|
|
15
14
|
case 'safe':
|
|
16
15
|
case 'startale':
|
|
17
|
-
case 'nexus':
|
|
16
|
+
case 'nexus':
|
|
17
|
+
case 'passport': {
|
|
18
18
|
const validators = await publicClient.readContract({
|
|
19
19
|
abi: [
|
|
20
20
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Account, type Address, type Hex } from 'viem';
|
|
2
|
-
import type { OwnableValidatorConfig, OwnerSet, RhinestoneAccountConfig, WebauthnValidatorConfig } from '../../types';
|
|
2
|
+
import type { ENSValidatorConfig, OwnableValidatorConfig, OwnerSet, RhinestoneAccountConfig, WebauthnValidatorConfig } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
4
|
interface PublicKey {
|
|
5
5
|
prefix?: number | undefined;
|
|
@@ -11,6 +11,7 @@ interface WebauthnCredential {
|
|
|
11
11
|
authenticatorId: string;
|
|
12
12
|
}
|
|
13
13
|
declare const OWNABLE_VALIDATOR_ADDRESS: Address;
|
|
14
|
+
declare const ENS_VALIDATOR_ADDRESS: Address;
|
|
14
15
|
declare const WEBAUTHN_VALIDATOR_ADDRESS: Address;
|
|
15
16
|
declare const MULTI_FACTOR_VALIDATOR_ADDRESS: Address;
|
|
16
17
|
declare const WEBAUTHN_V0_VALIDATOR_ADDRESS: Address;
|
|
@@ -18,10 +19,11 @@ declare function getOwnerValidator(config: RhinestoneAccountConfig): Module;
|
|
|
18
19
|
declare function getMockSignature(ownerSet: OwnerSet): Hex;
|
|
19
20
|
declare function getValidator(owners: OwnerSet): Module;
|
|
20
21
|
declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
|
|
22
|
+
declare function getENSValidator(threshold: number, owners: Address[], ownerExpirations: number[], address?: Address): Module;
|
|
21
23
|
declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[], address?: Address): Module;
|
|
22
|
-
declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
|
|
24
|
+
declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
|
|
23
25
|
declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
|
|
24
26
|
declare function supportsEip712(validator: Module): boolean;
|
|
25
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
|
|
27
|
+
export { OWNABLE_VALIDATOR_ADDRESS, ENS_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
|
|
26
28
|
export type { WebauthnCredential };
|
|
27
29
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,
|
|
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;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,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,WAQxC;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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
3
|
+
exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.ENS_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
4
4
|
exports.getOwnerValidator = getOwnerValidator;
|
|
5
5
|
exports.getOwnableValidator = getOwnableValidator;
|
|
6
|
+
exports.getENSValidator = getENSValidator;
|
|
6
7
|
exports.getWebAuthnValidator = getWebAuthnValidator;
|
|
7
8
|
exports.getMultiFactorValidator = getMultiFactorValidator;
|
|
8
9
|
exports.getSocialRecoveryValidator = getSocialRecoveryValidator;
|
|
@@ -14,6 +15,8 @@ const error_1 = require("../../accounts/error");
|
|
|
14
15
|
const common_1 = require("../common");
|
|
15
16
|
const OWNABLE_VALIDATOR_ADDRESS = '0x000000000013fdb5234e4e3162a810f54d9f7e98';
|
|
16
17
|
exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
|
|
18
|
+
const ENS_VALIDATOR_ADDRESS = '0xdc38f07b060374b6480c4bf06231e7d10955bca4';
|
|
19
|
+
exports.ENS_VALIDATOR_ADDRESS = ENS_VALIDATOR_ADDRESS;
|
|
17
20
|
const WEBAUTHN_VALIDATOR_ADDRESS = '0x0000000000578c4cb0e472a5462da43c495c3f33';
|
|
18
21
|
exports.WEBAUTHN_VALIDATOR_ADDRESS = WEBAUTHN_VALIDATOR_ADDRESS;
|
|
19
22
|
const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xa04d053b3c8021e8d5bf641816c42daa75d8b597';
|
|
@@ -34,7 +37,9 @@ function getOwnerValidator(config) {
|
|
|
34
37
|
}
|
|
35
38
|
function getMockSignature(ownerSet) {
|
|
36
39
|
switch (ownerSet.type) {
|
|
37
|
-
case 'ecdsa':
|
|
40
|
+
case 'ecdsa':
|
|
41
|
+
case 'ens': {
|
|
42
|
+
// ENS validator uses same mock signature format as ECDSA for UserOps
|
|
38
43
|
const owners = ownerSet.accounts.map((account) => account.address);
|
|
39
44
|
const signatures = owners.map(() => ECDSA_MOCK_SIGNATURE);
|
|
40
45
|
return (0, viem_1.concat)(signatures);
|
|
@@ -76,6 +81,8 @@ function getValidator(owners) {
|
|
|
76
81
|
switch (owners.type) {
|
|
77
82
|
case 'ecdsa':
|
|
78
83
|
return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), owners.module);
|
|
84
|
+
case 'ens':
|
|
85
|
+
return getENSValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), owners.ownerExpirations, owners.module);
|
|
79
86
|
case 'passkey':
|
|
80
87
|
return getWebAuthnValidator(owners.threshold ?? 1, owners.accounts.map((account) => ({
|
|
81
88
|
pubKey: account.publicKey,
|
|
@@ -101,6 +108,36 @@ function getOwnableValidator(threshold, owners, address) {
|
|
|
101
108
|
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
102
109
|
};
|
|
103
110
|
}
|
|
111
|
+
function getENSValidator(threshold, owners, ownerExpirations, address) {
|
|
112
|
+
// format: (uint256 threshold, Owner[] owners)
|
|
113
|
+
// where Owner is a tuple of (address addr, uint48 expiration)
|
|
114
|
+
const ownerPairs = owners.map((owner, index) => ({
|
|
115
|
+
addr: owner.toLowerCase(),
|
|
116
|
+
expiration: ownerExpirations[index] ?? viem_1.maxUint48,
|
|
117
|
+
}));
|
|
118
|
+
// Sort by address to match ENS validator's expectations
|
|
119
|
+
const sortedPairs = ownerPairs.sort((a, b) => a.addr.localeCompare(b.addr));
|
|
120
|
+
const ownersWithExpiration = sortedPairs;
|
|
121
|
+
const initData = (0, viem_1.encodeAbiParameters)([
|
|
122
|
+
{ name: 'threshold', type: 'uint256' },
|
|
123
|
+
{
|
|
124
|
+
name: 'owners',
|
|
125
|
+
type: 'tuple[]',
|
|
126
|
+
components: [
|
|
127
|
+
{ name: 'addr', type: 'address' },
|
|
128
|
+
{ name: 'expiration', type: 'uint48' },
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
], [BigInt(threshold), ownersWithExpiration]);
|
|
132
|
+
const moduleAddress = address ?? ENS_VALIDATOR_ADDRESS;
|
|
133
|
+
return {
|
|
134
|
+
address: moduleAddress,
|
|
135
|
+
initData,
|
|
136
|
+
deInitData: '0x',
|
|
137
|
+
additionalContext: '0x',
|
|
138
|
+
type: common_1.MODULE_TYPE_ID_VALIDATOR,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
104
141
|
function getWebAuthnValidator(threshold, webAuthnCredentials, address) {
|
|
105
142
|
function getPublicKey(webAuthnCredential) {
|
|
106
143
|
if (typeof webAuthnCredential.pubKey === 'string' ||
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type Address, type
|
|
2
|
-
import type {
|
|
1
|
+
import { type Address, type Hex, type PublicClient } from 'viem';
|
|
2
|
+
import type { RhinestoneAccountConfig, Session } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
4
|
interface SessionData {
|
|
5
5
|
sessionValidator: Address;
|
|
@@ -70,27 +70,27 @@ interface ERC7739Context {
|
|
|
70
70
|
contentName: readonly string[];
|
|
71
71
|
}
|
|
72
72
|
interface EnableSessionData {
|
|
73
|
-
permissionId: Hex;
|
|
74
|
-
accountType: AccountType;
|
|
75
73
|
chainDigestIndex: number;
|
|
76
74
|
hashesAndChainIds: ChainDigest[];
|
|
77
75
|
sessionToEnable: SessionData;
|
|
78
76
|
signature: Hex;
|
|
79
|
-
validator: Address;
|
|
80
77
|
}
|
|
81
78
|
declare const SMART_SESSIONS_VALIDATOR_ADDRESS: Address;
|
|
82
79
|
declare const SMART_SESSION_MODE_USE = "0x00";
|
|
83
80
|
declare const SMART_SESSION_MODE_ENABLE = "0x01";
|
|
84
81
|
declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
|
|
85
|
-
declare
|
|
86
|
-
declare
|
|
82
|
+
declare const SMART_SESSIONS_FALLBACK_TARGET_FLAG: Address;
|
|
83
|
+
declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG: Hex;
|
|
84
|
+
declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION: Hex;
|
|
85
|
+
declare function getEnableSessionCall(session: Session): Promise<{
|
|
87
86
|
to: `0x${string}`;
|
|
88
87
|
data: `0x${string}`;
|
|
89
88
|
}>;
|
|
89
|
+
declare function getSmartSessionData(session: Session): SessionData;
|
|
90
90
|
declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
|
|
91
91
|
declare function isSessionEnabled(client: PublicClient, address: Address, permissionId: Hex): Promise<boolean>;
|
|
92
92
|
declare function encodeSmartSessionSignature(mode: SmartSessionModeType, permissionId: Hex, signature: Hex, enableSessionData?: EnableSessionData): `0x${string}`;
|
|
93
93
|
declare function getPermissionId(session: Session): `0x${string}`;
|
|
94
|
-
export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
94
|
+
export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, getSmartSessionData, getSmartSessionValidator, getEnableSessionCall, encodeSmartSessionSignature, getPermissionId, isSessionEnabled, };
|
|
95
95
|
export type { EnableSessionData, ChainSession, ChainDigest, SessionData, SmartSessionModeType, };
|
|
96
96
|
//# 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":"AACA,OAAO,EACL,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SMART_SESSIONS_VALIDATOR_ADDRESS = exports.SMART_SESSION_MODE_ENABLE = exports.SMART_SESSION_MODE_USE = void 0;
|
|
4
|
-
exports.
|
|
3
|
+
exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = exports.SMART_SESSIONS_FALLBACK_TARGET_FLAG = exports.SMART_SESSIONS_VALIDATOR_ADDRESS = exports.SMART_SESSION_MODE_ENABLE = exports.SMART_SESSION_MODE_USE = void 0;
|
|
4
|
+
exports.getSmartSessionData = getSmartSessionData;
|
|
5
5
|
exports.getSmartSessionValidator = getSmartSessionValidator;
|
|
6
6
|
exports.getEnableSessionCall = getEnableSessionCall;
|
|
7
7
|
exports.encodeSmartSessionSignature = encodeSmartSessionSignature;
|
|
@@ -9,13 +9,10 @@ exports.getPermissionId = getPermissionId;
|
|
|
9
9
|
exports.isSessionEnabled = isSessionEnabled;
|
|
10
10
|
const solady_1 = require("solady");
|
|
11
11
|
const viem_1 = require("viem");
|
|
12
|
-
const utils_1 = require("../../accounts/utils");
|
|
13
|
-
const orchestrator_1 = require("../../orchestrator");
|
|
14
12
|
const smart_sessions_1 = require("../abi/smart-sessions");
|
|
15
13
|
const common_1 = require("../common");
|
|
16
|
-
const omni_account_1 = require("../omni-account");
|
|
17
14
|
const core_1 = require("./core");
|
|
18
|
-
const SMART_SESSIONS_VALIDATOR_ADDRESS = '
|
|
15
|
+
const SMART_SESSIONS_VALIDATOR_ADDRESS = '0x00000000008bdaba73cd9815d79069c247eb4bda';
|
|
19
16
|
exports.SMART_SESSIONS_VALIDATOR_ADDRESS = SMART_SESSIONS_VALIDATOR_ADDRESS;
|
|
20
17
|
const SMART_SESSION_MODE_USE = '0x00';
|
|
21
18
|
exports.SMART_SESSION_MODE_USE = SMART_SESSION_MODE_USE;
|
|
@@ -29,7 +26,11 @@ const UNIVERSAL_ACTION_POLICY_ADDRESS = '0x0000006DDA6c463511C4e9B05CFc34C1247fC
|
|
|
29
26
|
const USAGE_LIMIT_POLICY_ADDRESS = '0x1F34eF8311345A3A4a4566aF321b313052F51493';
|
|
30
27
|
const VALUE_LIMIT_POLICY_ADDRESS = '0x730DA93267E7E513e932301B47F2ac7D062abC83';
|
|
31
28
|
const SMART_SESSIONS_FALLBACK_TARGET_FLAG = '0x0000000000000000000000000000000000000001';
|
|
29
|
+
exports.SMART_SESSIONS_FALLBACK_TARGET_FLAG = SMART_SESSIONS_FALLBACK_TARGET_FLAG;
|
|
32
30
|
const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = '0x00000001';
|
|
31
|
+
exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG;
|
|
32
|
+
const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = '0x00000002';
|
|
33
|
+
exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION;
|
|
33
34
|
const ACTION_CONDITION_EQUAL = 0;
|
|
34
35
|
const ACTION_CONDITION_GREATER_THAN = 1;
|
|
35
36
|
const ACTION_CONDITION_LESS_THAN = 2;
|
|
@@ -37,25 +38,8 @@ const ACTION_CONDITION_GREATER_THAN_OR_EQUAL = 3;
|
|
|
37
38
|
const ACTION_CONDITION_LESS_THAN_OR_EQUAL = 4;
|
|
38
39
|
const ACTION_CONDITION_NOT_EQUAL = 5;
|
|
39
40
|
const ACTION_CONDITION_IN_RANGE = 6;
|
|
40
|
-
async function
|
|
41
|
-
const
|
|
42
|
-
const allowedERC7739Content = [
|
|
43
|
-
{
|
|
44
|
-
appDomainSeparator,
|
|
45
|
-
contentName: [contentsType],
|
|
46
|
-
},
|
|
47
|
-
];
|
|
48
|
-
return getSmartSessionData(chain, session, allowedERC7739Content);
|
|
49
|
-
}
|
|
50
|
-
async function getEnableSessionCall(chain, session, provider) {
|
|
51
|
-
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
|
|
52
|
-
const allowedERC7739Content = [
|
|
53
|
-
{
|
|
54
|
-
appDomainSeparator,
|
|
55
|
-
contentName: [contentsType],
|
|
56
|
-
},
|
|
57
|
-
];
|
|
58
|
-
const sessionData = getSmartSessionData(chain, session, allowedERC7739Content);
|
|
41
|
+
async function getEnableSessionCall(session) {
|
|
42
|
+
const sessionData = getSmartSessionData(session);
|
|
59
43
|
return {
|
|
60
44
|
to: SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
61
45
|
data: (0, viem_1.encodeFunctionData)({
|
|
@@ -65,50 +49,7 @@ async function getEnableSessionCall(chain, session, provider) {
|
|
|
65
49
|
}),
|
|
66
50
|
};
|
|
67
51
|
}
|
|
68
|
-
function
|
|
69
|
-
const wethAddress = (0, orchestrator_1.getWethAddress)(chain);
|
|
70
|
-
const omniActions = [
|
|
71
|
-
{
|
|
72
|
-
actionTarget: orchestrator_1.RHINESTONE_SPOKE_POOL_ADDRESS,
|
|
73
|
-
actionTargetSelector: '0xa2418864', // injected execution
|
|
74
|
-
actionPolicies: [getPolicyData({ type: 'sudo' })],
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
actionTarget: omni_account_1.HOOK_ADDRESS,
|
|
78
|
-
actionTargetSelector: '0x27c777a9', // injected execution
|
|
79
|
-
actionPolicies: [getPolicyData({ type: 'sudo' })],
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
actionTarget: wethAddress,
|
|
83
|
-
actionTargetSelector: '0xd0e30db0', // deposit
|
|
84
|
-
actionPolicies: [getPolicyData({ type: 'sudo' })],
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
actionTarget: wethAddress,
|
|
88
|
-
actionTargetSelector: '0x2e1a7d4d', // widthdraw
|
|
89
|
-
actionPolicies: [getPolicyData({ type: 'sudo' })],
|
|
90
|
-
},
|
|
91
|
-
];
|
|
92
|
-
return omniActions;
|
|
93
|
-
}
|
|
94
|
-
async function getSessionAllowedERC7739Content(chain, provider) {
|
|
95
|
-
const publicClient = (0, viem_1.createPublicClient)({
|
|
96
|
-
chain,
|
|
97
|
-
transport: (0, utils_1.createTransport)(chain, provider),
|
|
98
|
-
});
|
|
99
|
-
const appDomainSeparator = await publicClient.readContract({
|
|
100
|
-
address: omni_account_1.HOOK_ADDRESS,
|
|
101
|
-
abi: (0, viem_1.parseAbi)(['function DOMAIN_SEPARATOR() view returns (bytes32)']),
|
|
102
|
-
functionName: 'DOMAIN_SEPARATOR',
|
|
103
|
-
});
|
|
104
|
-
const contentsType = 'MultichainCompact(address sponsor,uint256 nonce,uint256 expires,Segment[] segments)Segment(address arbiter,uint256 chainId,uint256[2][] idsAndAmounts,Witness witness)Witness(address recipient,uint256[2][] tokenOut,uint256 depositId,uint256 targetChain,uint32 fillDeadline,XchainExec[] execs,bytes32 userOpHash,uint32 maxFeeBps)XchainExec(address to,uint256 value,bytes data)';
|
|
105
|
-
return {
|
|
106
|
-
appDomainSeparator,
|
|
107
|
-
contentsType,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
function getSmartSessionData(chain, session, allowedERC7739Content) {
|
|
111
|
-
const omniActions = getOmniAccountActions(chain);
|
|
52
|
+
function getSmartSessionData(session) {
|
|
112
53
|
const sessionValidator = (0, core_1.getValidator)(session.owners);
|
|
113
54
|
const userOpPolicies = (session.policies || [
|
|
114
55
|
{
|
|
@@ -128,26 +69,34 @@ function getSmartSessionData(chain, session, allowedERC7739Content) {
|
|
|
128
69
|
target: SMART_SESSIONS_FALLBACK_TARGET_FLAG,
|
|
129
70
|
selector: SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG,
|
|
130
71
|
},
|
|
131
|
-
])
|
|
132
|
-
.map((action) => {
|
|
72
|
+
]).map((action) => {
|
|
133
73
|
const actionPolicies = (action.policies || [
|
|
134
74
|
{
|
|
135
75
|
type: 'sudo',
|
|
136
76
|
},
|
|
137
|
-
]).map((policy) =>
|
|
138
|
-
return getPolicyData(policy);
|
|
139
|
-
});
|
|
77
|
+
]).map((policy) => getPolicyData(policy));
|
|
140
78
|
return {
|
|
141
79
|
actionTargetSelector: action.selector,
|
|
142
80
|
actionTarget: action.target,
|
|
143
81
|
actionPolicies,
|
|
144
82
|
};
|
|
145
|
-
})
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
83
|
+
}),
|
|
84
|
+
erc7739Policies: session.signing
|
|
85
|
+
? {
|
|
86
|
+
allowedERC7739Content: session.signing.allowedContent.map((content) => ({
|
|
87
|
+
appDomainSeparator: content.domainSeparator,
|
|
88
|
+
contentName: content.contentName,
|
|
89
|
+
})),
|
|
90
|
+
erc1271Policies: (session.signing.policies || [
|
|
91
|
+
{
|
|
92
|
+
type: 'sudo',
|
|
93
|
+
},
|
|
94
|
+
]).map((policy) => getPolicyData(policy)),
|
|
95
|
+
}
|
|
96
|
+
: {
|
|
97
|
+
allowedERC7739Content: [],
|
|
98
|
+
erc1271Policies: [],
|
|
99
|
+
},
|
|
151
100
|
permitERC4337Paymaster: true,
|
|
152
101
|
};
|
|
153
102
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const viem_1 = require("viem");
|
|
4
|
-
const chains_1 = require("viem/chains");
|
|
5
4
|
const vitest_1 = require("vitest");
|
|
6
5
|
const consts_1 = require("../../../test/consts");
|
|
7
6
|
const smart_sessions_1 = require("../abi/smart-sessions");
|
|
@@ -92,7 +91,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
92
91
|
const FALLBACK_TARGET = '0x0000000000000000000000000000000000000001';
|
|
93
92
|
const FALLBACK_SELECTOR = '0x00000001';
|
|
94
93
|
(0, vitest_1.test)('default', async () => {
|
|
95
|
-
const call = await (0, smart_sessions_2.getEnableSessionCall)(
|
|
94
|
+
const call = await (0, smart_sessions_2.getEnableSessionCall)({
|
|
96
95
|
owners: {
|
|
97
96
|
type: 'ecdsa',
|
|
98
97
|
accounts: [consts_1.accountA],
|
|
@@ -104,7 +103,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
104
103
|
action.actionTargetSelector === FALLBACK_SELECTOR)).toEqual(true);
|
|
105
104
|
});
|
|
106
105
|
(0, vitest_1.test)('with action', async () => {
|
|
107
|
-
const call = await (0, smart_sessions_2.getEnableSessionCall)(
|
|
106
|
+
const call = await (0, smart_sessions_2.getEnableSessionCall)({
|
|
108
107
|
owners: {
|
|
109
108
|
type: 'ecdsa',
|
|
110
109
|
accounts: [consts_1.accountA],
|
|
@@ -125,7 +124,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
125
124
|
action.actionTargetSelector === FALLBACK_SELECTOR)).toEqual(false);
|
|
126
125
|
});
|
|
127
126
|
(0, vitest_1.test)('with policy', async () => {
|
|
128
|
-
const call = await (0, smart_sessions_2.getEnableSessionCall)(
|
|
127
|
+
const call = await (0, smart_sessions_2.getEnableSessionCall)({
|
|
129
128
|
owners: {
|
|
130
129
|
type: 'ecdsa',
|
|
131
130
|
accounts: [consts_1.accountA],
|
|
@@ -155,7 +154,7 @@ const smart_sessions_2 = require("./smart-sessions");
|
|
|
155
154
|
(0, vitest_1.expect)((0, viem_1.isHex)(sessionData.userOpPolicies[1].initData)).toEqual(true);
|
|
156
155
|
});
|
|
157
156
|
(0, vitest_1.test)('with action policy', async () => {
|
|
158
|
-
const call = await (0, smart_sessions_2.getEnableSessionCall)(
|
|
157
|
+
const call = await (0, smart_sessions_2.getEnableSessionCall)({
|
|
159
158
|
owners: {
|
|
160
159
|
type: 'ecdsa',
|
|
161
160
|
accounts: [consts_1.accountA],
|
|
@@ -13,9 +13,10 @@ export declare class Orchestrator {
|
|
|
13
13
|
getMaxTokenAmount(userAddress: Address, destinationChainId: number, destinationTokenAddress: Address, destinationGasUnits: bigint, sponsored: boolean): Promise<bigint>;
|
|
14
14
|
getIntentCost(input: IntentInput): Promise<IntentCost>;
|
|
15
15
|
getIntentRoute(input: IntentInput): Promise<IntentRoute>;
|
|
16
|
-
submitIntent(
|
|
17
|
-
simulateIntent(signedIntentOp: SignedIntentOp): Promise<IntentResult>;
|
|
16
|
+
submitIntent(signedIntentOpUnformatted: SignedIntentOp, dryRun: boolean): Promise<IntentResult>;
|
|
18
17
|
getIntentOpStatus(intentId: bigint): Promise<IntentOpStatus>;
|
|
18
|
+
private getHeaders;
|
|
19
|
+
private fetch;
|
|
19
20
|
private parseError;
|
|
20
21
|
private parseErrorMessage;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,MAAM,CAAA;AAyBhD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEX,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKxC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IA+Cf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IAqDZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAQtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxD,YAAY,CAChB,yBAAyB,EAAE,cAAc,EACzC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC;IAgBlB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IASlE,OAAO,CAAC,UAAU;YAUJ,KAAK;IA4BnB,OAAO,CAAC,UAAU;IA6GlB,OAAO,CAAC,iBAAiB;CAmG1B"}
|