@rhinestone/sdk 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
@@ -158,7 +158,7 @@ function getModuleInstallationCalls(config, module) {
158
158
  return [(0, startale_1.getInstallData)(module)];
159
159
  }
160
160
  case 'passport': {
161
- throw new error_1.ModuleInstallationNotSupportedError(account.type);
161
+ return [(0, passport_1.getInstallData)(module)];
162
162
  }
163
163
  case 'eoa': {
164
164
  throw new error_1.ModuleInstallationNotSupportedError(account.type);
@@ -545,6 +545,9 @@ async function getSmartSessionSmartAccount(config, client, chain, session, enabl
545
545
  case 'kernel': {
546
546
  return (0, kernel_1.getSessionSmartAccount)(client, address, session, smartSessionValidator.address, enableData, signFn);
547
547
  }
548
+ case 'passport': {
549
+ return (0, passport_1.getSessionSmartAccount)(client, address, session, smartSessionValidator.address, enableData, signFn);
550
+ }
548
551
  case 'startale': {
549
552
  return (0, startale_1.getSessionSmartAccount)(client, address, session, smartSessionValidator.address, enableData, signFn);
550
553
  }
@@ -1,7 +1,12 @@
1
- import type { Hex } from 'viem';
2
- import type { RhinestoneAccountConfig } from '../types';
1
+ import type { Abi, Address, Hex, PublicClient } from 'viem';
2
+ import { SmartAccount, SmartAccountImplementation } from 'viem/account-abstraction';
3
+ import { Module } from '../modules/common';
4
+ import { EnableSessionData } from '../modules/validators/smart-sessions';
5
+ import type { RhinestoneAccountConfig, Session } from '../types';
3
6
  import { ValidatorConfig } from './utils';
4
7
  declare function getAddress(config: RhinestoneAccountConfig): `0x${string}`;
5
8
  declare function packSignature(signature: Hex, validator: ValidatorConfig, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>;
6
- export { getAddress, packSignature };
9
+ declare function getSessionSmartAccount(client: PublicClient, address: Address, session: Session, validatorAddress: Address, enableData: EnableSessionData | null, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
10
+ declare function getInstallData(module: Module): `0x${string}`;
11
+ export { getAddress, packSignature, getSessionSmartAccount, getInstallData };
7
12
  //# sourceMappingURL=passport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../../../accounts/passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,GAAG,EAAE,MAAM,MAAM,CAAA;AASjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAWzC,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAsBlD;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAoCD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../../../accounts/passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAW,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAWpE,OAAO,EAIL,YAAY,EACZ,0BAA0B,EAE3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,OAAO,EACL,iBAAiB,EAIlB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAoC,eAAe,EAAE,MAAM,SAAS,CAAA;AAW3E,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAsBlD;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAuClC;AAmHD,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAA"}
@@ -2,7 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAddress = getAddress;
4
4
  exports.packSignature = packSignature;
5
+ exports.getSessionSmartAccount = getSessionSmartAccount;
6
+ exports.getInstallData = getInstallData;
5
7
  const viem_1 = require("viem");
8
+ const account_abstraction_1 = require("viem/account-abstraction");
9
+ const validators_1 = require("../modules/validators");
10
+ const smart_sessions_1 = require("../modules/validators/smart-sessions");
11
+ const utils_1 = require("./utils");
6
12
  const CREATION_CODE = '0x6054600f3d396034805130553df3fe63906111273d3560e01c14602b57363d3d373d3d3d3d369030545af43d82803e156027573d90f35b3d90fd5b30543d5260203df3';
7
13
  const PASSPORT_FACTORY_ADDRESS = '0xD70C6386Ca012CDeb249B4E46C53d3507D9CBB87';
8
14
  const PASSPORT_MAIN_MODULE = '0x0d1Bf2f4Ab334324665aeb8d481fF92CdE289439';
@@ -33,6 +39,92 @@ async function packSignature(signature, validator, transformSignature = (signatu
33
39
  const packedSig = (0, viem_1.encodePacked)(['address', 'bytes'], [validatorAddress, transformSignature(signature)]);
34
40
  return packedSig;
35
41
  }
42
+ async function getSessionSmartAccount(client, address, session, validatorAddress, enableData, sign) {
43
+ return await getBaseSmartAccount(address, client, validatorAddress, async () => {
44
+ const dummyOpSignature = (0, validators_1.getMockSignature)(session.owners);
45
+ if (enableData) {
46
+ return (0, validators_1.encodeSmartSessionSignature)(smart_sessions_1.SMART_SESSION_MODE_ENABLE, (0, smart_sessions_1.getPermissionId)(session), dummyOpSignature, enableData);
47
+ }
48
+ return (0, validators_1.encodeSmartSessionSignature)(smart_sessions_1.SMART_SESSION_MODE_USE, (0, smart_sessions_1.getPermissionId)(session), dummyOpSignature);
49
+ }, async (hash) => {
50
+ const signature = await sign(hash);
51
+ if (enableData) {
52
+ return (0, validators_1.encodeSmartSessionSignature)(smart_sessions_1.SMART_SESSION_MODE_ENABLE, (0, smart_sessions_1.getPermissionId)(session), signature, enableData);
53
+ }
54
+ return (0, validators_1.encodeSmartSessionSignature)(smart_sessions_1.SMART_SESSION_MODE_USE, (0, smart_sessions_1.getPermissionId)(session), signature);
55
+ });
56
+ }
57
+ async function getBaseSmartAccount(address, client, nonceValidatorAddress, getStubSignature, signUserOperation) {
58
+ return await (0, account_abstraction_1.toSmartAccount)({
59
+ client,
60
+ entryPoint: {
61
+ abi: account_abstraction_1.entryPoint07Abi,
62
+ address: account_abstraction_1.entryPoint07Address,
63
+ version: '0.7',
64
+ },
65
+ async decodeCalls() {
66
+ throw new Error('Not implemented');
67
+ },
68
+ async encodeCalls(calls) {
69
+ return (0, utils_1.encode7579Calls)({
70
+ mode: {
71
+ type: calls.length > 1 ? 'batchcall' : 'call',
72
+ revertOnError: false,
73
+ selector: '0x',
74
+ context: '0x',
75
+ },
76
+ callData: calls,
77
+ });
78
+ },
79
+ async getAddress() {
80
+ return address;
81
+ },
82
+ async getFactoryArgs() {
83
+ return {};
84
+ },
85
+ async getNonce(args) {
86
+ const validatorAddress = nonceValidatorAddress;
87
+ const TIMESTAMP_ADJUSTMENT = 16777215n; // max value for size 3
88
+ const defaultedKey = (args?.key ?? 0n) % TIMESTAMP_ADJUSTMENT;
89
+ const defaultedValidationMode = '0x00';
90
+ const key = (0, viem_1.concat)([
91
+ (0, viem_1.toHex)(defaultedKey, { size: 3 }),
92
+ defaultedValidationMode,
93
+ validatorAddress,
94
+ ]);
95
+ return (0, utils_1.getAccountNonce)(client, {
96
+ address,
97
+ entryPointAddress: account_abstraction_1.entryPoint07Address,
98
+ key: BigInt(key),
99
+ });
100
+ },
101
+ async getStubSignature() {
102
+ return getStubSignature();
103
+ },
104
+ async signMessage() {
105
+ throw new Error('Not implemented');
106
+ },
107
+ async signTypedData() {
108
+ throw new Error('Not implemented');
109
+ },
110
+ async signUserOperation(parameters) {
111
+ const { chainId = client.chain?.id, ...userOperation } = parameters;
112
+ if (!chainId)
113
+ throw new Error('Chain id not found');
114
+ const hash = (0, account_abstraction_1.getUserOperationHash)({
115
+ userOperation: {
116
+ ...userOperation,
117
+ sender: userOperation.sender ?? (await this.getAddress()),
118
+ signature: '0x',
119
+ },
120
+ entryPointAddress: account_abstraction_1.entryPoint07Address,
121
+ entryPointVersion: '0.7',
122
+ chainId: chainId,
123
+ });
124
+ return await signUserOperation(hash);
125
+ },
126
+ });
127
+ }
36
128
  function encodeImageHash(threshold, accounts) {
37
129
  const sorted = accounts.sort((a, b) => a.account.address.toLowerCase() < b.account.address.toLowerCase() ? -1 : 1);
38
130
  let imageHash = (0, viem_1.encodePacked)(['uint256'], [BigInt(threshold)]);
@@ -51,3 +143,31 @@ function encodeImageHash(threshold, accounts) {
51
143
  }
52
144
  return imageHash;
53
145
  }
146
+ function getInstallData(module) {
147
+ return (0, viem_1.encodeFunctionData)({
148
+ abi: [
149
+ {
150
+ type: 'function',
151
+ name: 'installModule',
152
+ inputs: [
153
+ {
154
+ type: 'uint256',
155
+ name: 'moduleTypeId',
156
+ },
157
+ {
158
+ type: 'address',
159
+ name: 'module',
160
+ },
161
+ {
162
+ type: 'bytes',
163
+ name: 'initData',
164
+ },
165
+ ],
166
+ outputs: [],
167
+ stateMutability: 'nonpayable',
168
+ },
169
+ ],
170
+ functionName: 'installModule',
171
+ args: [module.type, module.address, module.initData],
172
+ });
173
+ }
@@ -0,0 +1,23 @@
1
+ import { type Hex } from 'viem';
2
+ import type { SessionDetails } from '../execution/smart-session';
3
+ import { Session } from '../types';
4
+ /**
5
+ * Enable a smart session
6
+ * @param session session to enable
7
+ * @returns Calls to enable the smart session
8
+ */
9
+ declare function enableSession(session: Session): {
10
+ resolve(): Promise<{
11
+ to: `0x${string}`;
12
+ data: `0x${string}`;
13
+ }>;
14
+ };
15
+ /**
16
+ * Encode a smart session signature
17
+ * @param sessionDetails Session details
18
+ * @param sessionSignature Session signature
19
+ * @returns Encoded smart session signature
20
+ */
21
+ declare function encodeSmartSessionSignature(sessionDetails: SessionDetails, sessionSignature: Hex): `0x${string}`;
22
+ export { enableSession, encodeSmartSessionSignature };
23
+ //# sourceMappingURL=smart-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAKhE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC;;;;GAIG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,OAAO;;;;;EAMtC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,GAAG,iBAQtB;AAED,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,CAAA"}
@@ -1,7 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableSession = enableSession;
3
4
  exports.encodeSmartSessionSignature = encodeSmartSessionSignature;
4
5
  const smart_sessions_1 = require("../modules/validators/smart-sessions");
6
+ /**
7
+ * Enable a smart session
8
+ * @param session session to enable
9
+ * @returns Calls to enable the smart session
10
+ */
11
+ function enableSession(session) {
12
+ return {
13
+ async resolve() {
14
+ return (0, smart_sessions_1.getEnableSessionCall)(session);
15
+ },
16
+ };
17
+ }
5
18
  /**
6
19
  * Encode a smart session signature
7
20
  * @param sessionDetails Session details
@@ -1 +1 @@
1
- {"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAmBb,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAGV,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAA;AAGjB,UAAU,cAAc;IACtB,oBAAoB,EAAE,GAAG,CAAA;IACzB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAgGD,iBAAS,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAgC7D;AAiLD,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,iBA+BjB;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACrE,YAAY,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAmBb,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAGV,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAA;AAGjB,UAAU,cAAc;IACtB,oBAAoB,EAAE,GAAG,CAAA;IACzB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,cAAc,CAAC,CA4BzB;AA4FD,iBAAS,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAgC7D;AAiLD,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,iBA2BjB;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACrE,YAAY,EAAE,cAAc,EAAE,CAAA"}
@@ -40,7 +40,7 @@ async function getEnableSessionDetails(accountType, sessions, sessionIndex, acco
40
40
  transport: (0, utils_1.createTransport)(sessionChain, provider),
41
41
  });
42
42
  const sessionNonce = await getSessionNonce(publicClient, accountAddress, permissionId);
43
- const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, session, provider);
43
+ const sessionData = await (0, smart_sessions_1.getSessionData)(session);
44
44
  const sessionDigest = await getSessionDigest(publicClient, accountAddress, sessionData, permissionId, validators_1.SMART_SESSION_MODE_ENABLE);
45
45
  chainDigests.push({
46
46
  chainId: BigInt(sessionChain.id),
@@ -73,7 +73,7 @@ async function getEnableSessionDetails(accountType, sessions, sessionIndex, acco
73
73
  if (!sessionChain) {
74
74
  throw new error_1.SessionChainRequiredError();
75
75
  }
76
- const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, sessionToEnable, provider);
76
+ const sessionData = await (0, smart_sessions_1.getSessionData)(sessionToEnable);
77
77
  return {
78
78
  permissionEnableHash,
79
79
  mode: validators_1.SMART_SESSION_MODE_ENABLE,
@@ -280,7 +280,7 @@ async function enableSmartSession(chain, config, session) {
280
280
  if (isEnabled) {
281
281
  return;
282
282
  }
283
- const enableSessionCall = await (0, validators_1.getEnableSessionCall)(chain, session, config.provider);
283
+ const enableSessionCall = await (0, validators_1.getEnableSessionCall)(session);
284
284
  const smartAccount = await (0, accounts_1.getSmartAccount)(config, publicClient, chain);
285
285
  const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
286
286
  const opHash = await bundlerClient.sendUserOperation({
@@ -1,7 +1,6 @@
1
1
  import type { Address, Chain, HashTypedDataParameters, Hex, SignableMessage, SignedAuthorizationList, TypedData } from 'viem';
2
2
  import type { UserOperationReceipt } from 'viem/account-abstraction';
3
3
  import { walletClientToAccount } from './accounts/walletClient';
4
- import { encodeSmartSessionSignature } from './actions/smart-session';
5
4
  import { type TransactionResult, type TransactionStatus, type UserOperationResult } from './execution';
6
5
  import { type BatchPermit2Result, checkERC20AllowanceDirect, getPermit2Address, type MultiChainPermit2Config, type MultiChainPermit2Result, signPermit2Batch, signPermit2Sequential } from './execution/permit2';
7
6
  import { type SessionDetails } from './execution/smart-session';
@@ -56,6 +55,6 @@ declare class RhinestoneSDK {
56
55
  });
57
56
  createAccount(config: RhinestoneAccountConfig): Promise<RhinestoneAccount>;
58
57
  }
59
- export { RhinestoneSDK, walletClientToAccount, encodeSmartSessionSignature, getSupportedTokens, getTokenAddress, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
58
+ export { RhinestoneSDK, walletClientToAccount, getSupportedTokens, getTokenAddress, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
60
59
  export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementLayer, SignedIntentOp, Portfolio, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
61
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signPermit2Sequential = exports.signPermit2Batch = exports.getPermit2Address = exports.checkERC20AllowanceDirect = exports.getTokenAddress = exports.getSupportedTokens = exports.encodeSmartSessionSignature = exports.walletClientToAccount = exports.RhinestoneSDK = void 0;
3
+ exports.signPermit2Sequential = exports.signPermit2Batch = exports.getPermit2Address = exports.checkERC20AllowanceDirect = exports.getTokenAddress = exports.getSupportedTokens = exports.walletClientToAccount = exports.RhinestoneSDK = void 0;
4
4
  const accounts_1 = require("./accounts");
5
5
  const walletClient_1 = require("./accounts/walletClient");
6
6
  Object.defineProperty(exports, "walletClientToAccount", { enumerable: true, get: function () { return walletClient_1.walletClientToAccount; } });
7
- const smart_session_1 = require("./actions/smart-session");
8
- Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return smart_session_1.encodeSmartSessionSignature; } });
9
7
  const execution_1 = require("./execution");
10
8
  const permit2_1 = require("./execution/permit2");
11
9
  Object.defineProperty(exports, "checkERC20AllowanceDirect", { enumerable: true, get: function () { return permit2_1.checkERC20AllowanceDirect; } });
12
10
  Object.defineProperty(exports, "getPermit2Address", { enumerable: true, get: function () { return permit2_1.getPermit2Address; } });
13
11
  Object.defineProperty(exports, "signPermit2Batch", { enumerable: true, get: function () { return permit2_1.signPermit2Batch; } });
14
12
  Object.defineProperty(exports, "signPermit2Sequential", { enumerable: true, get: function () { return permit2_1.signPermit2Sequential; } });
15
- const smart_session_2 = require("./execution/smart-session");
13
+ const smart_session_1 = require("./execution/smart-session");
16
14
  const utils_1 = require("./execution/utils");
17
15
  const modules_1 = require("./modules");
18
16
  const orchestrator_1 = require("./orchestrator");
@@ -211,7 +209,7 @@ async function createRhinestoneAccount(config) {
211
209
  return (0, modules_1.getValidators)(accountType, account, chain, config.provider);
212
210
  }
213
211
  function getSessionDetails(sessions, sessionIndex, signature) {
214
- return (0, smart_session_2.getSessionDetails)(config, sessions, sessionIndex, signature);
212
+ return (0, smart_session_1.getSessionDetails)(config, sessions, sessionIndex, signature);
215
213
  }
216
214
  /**
217
215
  * Check ERC20 allowance for the account owner and token (using Permit2 as spender)
@@ -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 === '0x00000000002b0ecfbd0496ee71e01257da0e37de');
51
+ const smartSessionValidator = setup.validators.find((validator) => validator.address === '0x00000000008bdaba73cd9815d79069c247eb4bda');
52
52
  if (!smartSessionValidator) {
53
53
  return;
54
54
  }
@@ -1,5 +1,5 @@
1
- import { type Address, type Chain, type Hex, type PublicClient } from 'viem';
2
- import type { AccountType, ProviderConfig, RhinestoneAccountConfig, Session } from '../../types';
1
+ import { type Address, type Hex, type PublicClient } from 'viem';
2
+ import type { AccountType, RhinestoneAccountConfig, Session } from '../../types';
3
3
  import { type Module } from '../common';
4
4
  interface SessionData {
5
5
  sessionValidator: Address;
@@ -82,8 +82,8 @@ 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, provider?: ProviderConfig): Promise<SessionData>;
86
- declare function getEnableSessionCall(chain: Chain, session: Session, provider?: ProviderConfig): Promise<{
85
+ declare function getSessionData(session: Session): Promise<SessionData>;
86
+ declare function getEnableSessionCall(session: Session): Promise<{
87
87
  to: `0x${string}`;
88
88
  data: `0x${string}`;
89
89
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
@@ -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 = '0x00000000002b0ecfbd0496ee71e01257da0e37de';
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;
@@ -37,25 +34,11 @@ const ACTION_CONDITION_GREATER_THAN_OR_EQUAL = 3;
37
34
  const ACTION_CONDITION_LESS_THAN_OR_EQUAL = 4;
38
35
  const ACTION_CONDITION_NOT_EQUAL = 5;
39
36
  const ACTION_CONDITION_IN_RANGE = 6;
40
- async function getSessionData(chain, session, provider) {
41
- const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
42
- const allowedERC7739Content = [
43
- {
44
- appDomainSeparator,
45
- contentName: [contentsType],
46
- },
47
- ];
48
- return getSmartSessionData(chain, session, allowedERC7739Content);
37
+ async function getSessionData(session) {
38
+ return getSmartSessionData(session);
49
39
  }
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);
40
+ async function getEnableSessionCall(session) {
41
+ const sessionData = getSmartSessionData(session);
59
42
  return {
60
43
  to: SMART_SESSIONS_VALIDATOR_ADDRESS,
61
44
  data: (0, viem_1.encodeFunctionData)({
@@ -65,50 +48,7 @@ async function getEnableSessionCall(chain, session, provider) {
65
48
  }),
66
49
  };
67
50
  }
68
- function getOmniAccountActions(chain) {
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);
51
+ function getSmartSessionData(session) {
112
52
  const sessionValidator = (0, core_1.getValidator)(session.owners);
113
53
  const userOpPolicies = (session.policies || [
114
54
  {
@@ -128,8 +68,7 @@ function getSmartSessionData(chain, session, allowedERC7739Content) {
128
68
  target: SMART_SESSIONS_FALLBACK_TARGET_FLAG,
129
69
  selector: SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG,
130
70
  },
131
- ])
132
- .map((action) => {
71
+ ]).map((action) => {
133
72
  const actionPolicies = (action.policies || [
134
73
  {
135
74
  type: 'sudo',
@@ -142,11 +81,10 @@ function getSmartSessionData(chain, session, allowedERC7739Content) {
142
81
  actionTarget: action.target,
143
82
  actionPolicies,
144
83
  };
145
- })
146
- .concat(omniActions),
84
+ }),
147
85
  erc7739Policies: {
148
- allowedERC7739Content,
149
- erc1271Policies: [getPolicyData({ type: 'sudo' })],
86
+ allowedERC7739Content: [],
87
+ erc1271Policies: [],
150
88
  },
151
89
  permitERC4337Paymaster: true,
152
90
  };
@@ -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)(chains_1.mainnet, {
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)(chains_1.mainnet, {
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)(chains_1.mainnet, {
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)(chains_1.mainnet, {
157
+ const call = await (0, smart_sessions_2.getEnableSessionCall)({
159
158
  owners: {
160
159
  type: 'ecdsa',
161
160
  accounts: [consts_1.accountA],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "End-to-end chain abstraction and modularity toolkit",
5
5
  "author": {
6
6
  "name": "Rhinestone",
@@ -45,6 +45,11 @@
45
45
  "import": "./dist/src/actions/passkeys.js",
46
46
  "require": "./dist/src/actions/passkeys.js"
47
47
  },
48
+ "./actions/smart-sessions": {
49
+ "types": "./dist/src/actions/smart-sessions.d.ts",
50
+ "import": "./dist/src/actions/smart-sessions.js",
51
+ "require": "./dist/src/actions/smart-sessions.js"
52
+ },
48
53
  "./actions/recovery": {
49
54
  "types": "./dist/src/actions/recovery.d.ts",
50
55
  "import": "./dist/src/actions/recovery.js",
@@ -85,6 +90,11 @@
85
90
  "import": "./dist/src/actions/passkeys.js",
86
91
  "require": "./dist/src/actions/passkeys.js"
87
92
  },
93
+ "./dist/src/actions/smart-sessions": {
94
+ "types": "./dist/src/actions/smart-sessions.d.ts",
95
+ "import": "./dist/src/actions/smart-sessions.js",
96
+ "require": "./dist/src/actions/smart-sessions.js"
97
+ },
88
98
  "./dist/src/actions/recovery": {
89
99
  "types": "./dist/src/actions/recovery.d.ts",
90
100
  "import": "./dist/src/actions/recovery.js",
@@ -1,11 +0,0 @@
1
- import type { Hex } from 'viem';
2
- import type { SessionDetails } from '../execution/smart-session';
3
- /**
4
- * Encode a smart session signature
5
- * @param sessionDetails Session details
6
- * @param sessionSignature Session signature
7
- * @returns Encoded smart session signature
8
- */
9
- declare function encodeSmartSessionSignature(sessionDetails: SessionDetails, sessionSignature: Hex): `0x${string}`;
10
- export { encodeSmartSessionSignature };
11
- //# sourceMappingURL=smart-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../actions/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,GAAG,iBAQtB;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAA"}