@rhinestone/sdk 1.0.0-alpha.2 → 1.0.0-alpha.4

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.
Files changed (68) hide show
  1. package/dist/src/accounts/index.d.ts +8 -6
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/index.js +32 -151
  4. package/dist/src/accounts/kernel.d.ts +7 -9
  5. package/dist/src/accounts/kernel.d.ts.map +1 -1
  6. package/dist/src/accounts/kernel.js +0 -9
  7. package/dist/src/accounts/nexus.d.ts +5 -10
  8. package/dist/src/accounts/nexus.d.ts.map +1 -1
  9. package/dist/src/accounts/nexus.js +0 -70
  10. package/dist/src/accounts/safe.d.ts +4 -6
  11. package/dist/src/accounts/safe.d.ts.map +1 -1
  12. package/dist/src/accounts/safe.js +0 -9
  13. package/dist/src/accounts/utils.d.ts +4 -3
  14. package/dist/src/accounts/utils.d.ts.map +1 -1
  15. package/dist/src/accounts/utils.js +44 -0
  16. package/dist/src/actions/index.d.ts +5 -5
  17. package/dist/src/actions/index.d.ts.map +1 -1
  18. package/dist/src/actions/index.js +8 -4
  19. package/dist/src/actions/index.test.js +18 -0
  20. package/dist/src/actions/registry.d.ts +1 -1
  21. package/dist/src/actions/registry.d.ts.map +1 -1
  22. package/dist/src/actions/registry.test.js +1 -2
  23. package/dist/src/actions/smart-session.d.ts +2 -2
  24. package/dist/src/actions/smart-session.d.ts.map +1 -1
  25. package/dist/src/execution/compact.d.ts +2 -2
  26. package/dist/src/execution/compact.d.ts.map +1 -1
  27. package/dist/src/execution/compact.js +3 -1
  28. package/dist/src/execution/index.d.ts.map +1 -1
  29. package/dist/src/execution/index.js +17 -17
  30. package/dist/src/execution/smart-session.d.ts +1 -1
  31. package/dist/src/execution/smart-session.d.ts.map +1 -1
  32. package/dist/src/execution/smart-session.js +10 -10
  33. package/dist/src/execution/utils.d.ts +8 -7
  34. package/dist/src/execution/utils.d.ts.map +1 -1
  35. package/dist/src/execution/utils.js +38 -21
  36. package/dist/src/index.d.ts +8 -8
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +10 -8
  39. package/dist/src/modules/read.d.ts +5 -5
  40. package/dist/src/modules/read.d.ts.map +1 -1
  41. package/dist/src/modules/read.js +7 -6
  42. package/dist/src/modules/registry.d.ts +2 -2
  43. package/dist/src/modules/registry.d.ts.map +1 -1
  44. package/dist/src/modules/validators/core.d.ts +1 -1
  45. package/dist/src/modules/validators/core.d.ts.map +1 -1
  46. package/dist/src/modules/validators/smart-sessions.d.ts +3 -3
  47. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  48. package/dist/src/modules/validators/smart-sessions.js +7 -6
  49. package/dist/src/orchestrator/client.d.ts.map +1 -1
  50. package/dist/src/orchestrator/client.js +69 -39
  51. package/dist/src/orchestrator/index.d.ts +2 -2
  52. package/dist/src/orchestrator/index.d.ts.map +1 -1
  53. package/dist/src/orchestrator/index.js +1 -7
  54. package/dist/src/orchestrator/registry.d.ts +31 -12
  55. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  56. package/dist/src/orchestrator/registry.js +56 -379
  57. package/dist/src/orchestrator/registry.json +356 -0
  58. package/dist/src/orchestrator/registry.test.d.ts +2 -0
  59. package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
  60. package/dist/src/orchestrator/registry.test.js +137 -0
  61. package/dist/src/orchestrator/types.d.ts +9 -6
  62. package/dist/src/orchestrator/types.d.ts.map +1 -1
  63. package/dist/src/orchestrator/utils.d.ts.map +1 -1
  64. package/dist/src/types.d.ts +20 -17
  65. package/dist/src/types.d.ts.map +1 -1
  66. package/dist/test/consts.d.ts +2 -2
  67. package/dist/test/consts.d.ts.map +1 -1
  68. package/package.json +1 -1
@@ -1,20 +1,22 @@
1
1
  import { type Chain, type Hex, type PublicClient } from 'viem';
2
- import { Module } from '../modules/common';
3
- import { EnableSessionData } from '../modules/validators/smart-sessions';
2
+ import type { Module } from '../modules/common';
3
+ import type { EnableSessionData } from '../modules/validators/smart-sessions';
4
4
  import type { AccountProviderConfig, Call, OwnerSet, RhinestoneAccountConfig, Session } from '../types';
5
5
  import { AccountError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, isAccountError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, SmartSessionsNotEnabledError } from './error';
6
- import { ValidatorConfig } from './utils';
6
+ import { type ValidatorConfig } from './utils';
7
+ declare function getInitCode(config: RhinestoneAccountConfig): {
8
+ factory: `0x${string}`;
9
+ factoryData: `0x${string}`;
10
+ } | undefined;
7
11
  declare function getModuleInstallationCalls(config: RhinestoneAccountConfig, module: Module): Call[];
8
12
  declare function getModuleUninstallationCalls(config: RhinestoneAccountConfig, module: Module): Call[];
9
13
  declare function getAddress(config: RhinestoneAccountConfig): `0x${string}`;
10
14
  declare function getPackedSignature(config: RhinestoneAccountConfig, owners: OwnerSet, chain: Chain, validator: ValidatorConfig, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>;
11
15
  declare function isDeployed(chain: Chain, config: RhinestoneAccountConfig): Promise<boolean>;
12
16
  declare function deploy(config: RhinestoneAccountConfig, chain: Chain, session?: Session): Promise<void>;
13
- declare function deploySource(chain: Chain, config: RhinestoneAccountConfig): Promise<void>;
14
- declare function deployTarget(chain: Chain, config: RhinestoneAccountConfig, asUserOp: boolean): Promise<void>;
15
17
  declare function getSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
16
18
  declare function getSmartSessionSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, session: Session, enableData: EnableSessionData | null): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
17
19
  declare function getGuardianSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
18
20
  declare function getAccountProvider(config: RhinestoneAccountConfig): AccountProviderConfig;
19
- export { getModuleInstallationCalls, getModuleUninstallationCalls, getAddress, getAccountProvider, isDeployed, deploy, deploySource, deployTarget, getSmartAccount, getSmartSessionSmartAccount, getGuardianSmartAccount, getPackedSignature, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, };
21
+ export { getModuleInstallationCalls, getModuleUninstallationCalls, getAddress, getAccountProvider, getInitCode, isDeployed, deploy, getSmartAccount, getSmartSessionSmartAccount, getGuardianSmartAccount, getPackedSignature, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, };
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAKV,KAAK,GAAG,EAER,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAA;AAOb,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,KAAK,EACV,qBAAqB,EACrB,IAAI,EACJ,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACR,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,4BAA4B,EAC5B,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAkChB,OAAO,EAAoB,eAAe,EAAE,MAAM,SAAS,CAAA;AAiB3D,iBAAS,0BAA0B,CACjC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,EAAE,CAuBR;AAED,iBAAS,4BAA4B,CACnC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,EAAE,CA6BR;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAmBlD;AAGD,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,GAAG,EACT,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BA2BvE;AAED,iBAAe,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,oBAiBtE;AAED,iBAAe,MAAM,CACnB,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,iBAMlB;AAED,iBAAe,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,iBAMxE;AAED,iBAAe,YAAY,CACzB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,OAAO,iBASlB;AAwID,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,sJAmCb;AAED,iBAAe,2BAA2B,CACxC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,iBAAiB,GAAG,IAAI,sJA0CrC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,sJAwCpB;AA2ED,iBAAS,kBAAkB,CACzB,MAAM,EAAE,uBAAuB,GAC9B,qBAAqB,CAOvB;AAED,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,8BAA8B,EAC9B,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,EAC5B,kCAAkC,EAClC,qCAAqC,EACrC,kCAAkC,GACnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,GAAG,EACR,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAA;AAQb,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,IAAI,EACJ,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACR,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,4BAA4B,EAC5B,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AA4BhB,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAiB/D,iBAAS,WAAW,CAAC,MAAM,EAAE,uBAAuB;;;cAanD;AAED,iBAAS,0BAA0B,CACjC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,EAAE,CAwBR;AAED,iBAAS,4BAA4B,CACnC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,EAAE,CA6BR;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAmBlD;AAGD,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,GAAG,EACT,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BA2BvE;AAED,iBAAe,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,oBAiBtE;AAED,iBAAe,MAAM,CACnB,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,iBAMlB;AAwBD,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,sJAmCb;AAED,iBAAe,2BAA2B,CACxC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,iBAAiB,GAAG,IAAI,sJA0CrC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,sJAwCpB;AAsCD,iBAAS,kBAAkB,CACzB,MAAM,EAAE,uBAAuB,GAC9B,qBAAqB,CAOvB;AAED,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,MAAM,EACN,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,8BAA8B,EAC9B,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,EAC5B,kCAAkC,EAClC,qCAAqC,EACrC,kCAAkC,GACnC,CAAA"}
@@ -5,15 +5,15 @@ exports.getModuleInstallationCalls = getModuleInstallationCalls;
5
5
  exports.getModuleUninstallationCalls = getModuleUninstallationCalls;
6
6
  exports.getAddress = getAddress;
7
7
  exports.getAccountProvider = getAccountProvider;
8
+ exports.getInitCode = getInitCode;
8
9
  exports.isDeployed = isDeployed;
9
10
  exports.deploy = deploy;
10
- exports.deploySource = deploySource;
11
- exports.deployTarget = deployTarget;
12
11
  exports.getSmartAccount = getSmartAccount;
13
12
  exports.getSmartSessionSmartAccount = getSmartSessionSmartAccount;
14
13
  exports.getGuardianSmartAccount = getGuardianSmartAccount;
15
14
  exports.getPackedSignature = getPackedSignature;
16
15
  const viem_1 = require("viem");
16
+ const execution_1 = require("../execution");
17
17
  const smart_session_1 = require("../execution/smart-session");
18
18
  const modules_1 = require("../modules");
19
19
  const validators_1 = require("../modules/validators");
@@ -46,6 +46,21 @@ function getDeployArgs(config) {
46
46
  }
47
47
  }
48
48
  }
49
+ function getInitCode(config) {
50
+ if (is7702(config)) {
51
+ return undefined;
52
+ }
53
+ else {
54
+ const { factory, factoryData } = getDeployArgs(config);
55
+ if (!factory || !factoryData) {
56
+ throw new error_1.FactoryArgsNotAvailableError();
57
+ }
58
+ return {
59
+ factory,
60
+ factoryData,
61
+ };
62
+ }
63
+ }
49
64
  function getModuleInstallationCalls(config, module) {
50
65
  const address = getAddress(config);
51
66
  function getInstallData() {
@@ -65,6 +80,7 @@ function getModuleInstallationCalls(config, module) {
65
80
  const installData = getInstallData();
66
81
  return installData.map((data) => ({
67
82
  to: address,
83
+ value: 0n,
68
84
  data,
69
85
  }));
70
86
  }
@@ -96,7 +112,7 @@ function getModuleUninstallationCalls(config, module) {
96
112
  functionName: 'uninstallModule',
97
113
  args: [module.type, module.address, module.deInitData],
98
114
  });
99
- return [{ to: address, data }];
115
+ return [{ to: address, data, value: 0n }];
100
116
  }
101
117
  function getAddress(config) {
102
118
  if (is7702(config)) {
@@ -138,7 +154,7 @@ async function getPackedSignature(config, owners, chain, validator, hash, transf
138
154
  async function isDeployed(chain, config) {
139
155
  const publicClient = (0, viem_1.createPublicClient)({
140
156
  chain: chain,
141
- transport: (0, viem_1.http)(),
157
+ transport: (0, utils_1.createTransport)(chain, config.provider),
142
158
  });
143
159
  const address = getAddress(config);
144
160
  const code = await publicClient.getCode({
@@ -154,135 +170,31 @@ async function isDeployed(chain, config) {
154
170
  return (0, viem_1.size)(code) > 0;
155
171
  }
156
172
  async function deploy(config, chain, session) {
157
- await deploySource(chain, config);
173
+ await deployWithIntent(chain, config);
158
174
  if (session) {
159
175
  await (0, smart_session_1.enableSmartSession)(chain, config, session);
160
176
  }
161
177
  }
162
- async function deploySource(chain, config) {
163
- if (is7702(config)) {
164
- return deploy7702Self(chain, config);
165
- }
166
- else {
167
- return deployStandalone(chain, config);
168
- }
169
- }
170
- async function deployTarget(chain, config, asUserOp) {
171
- if (is7702(config)) {
172
- return deploy7702WithBundler(chain, config);
173
- }
174
- if (asUserOp) {
175
- return deployStandalone(chain, config);
176
- }
177
- // No need to deploy manually for the intent flow
178
- }
179
- async function deployStandalone(chain, config) {
180
- const deployer = config.deployerAccount;
181
- if (deployer) {
182
- return deployStandaloneWithEoa(chain, config, deployer);
183
- }
184
- return deployStandaloneWithBundler(chain, config);
185
- }
186
- async function deploy7702Self(chain, config) {
187
- if (!config.eoa) {
188
- throw new error_1.Eip7702AccountMustHaveEoaError();
189
- }
190
- const account = getAccountProvider(config);
191
- const { implementation, initializationCallData } = getDeployArgs(config);
192
- if (!initializationCallData) {
193
- throw new Error(`Initialization call data not available for ${account.type}`);
194
- }
195
- const publicClient = (0, viem_1.createPublicClient)({
196
- chain,
197
- transport: (0, viem_1.http)(),
198
- });
199
- const accountClient = (0, viem_1.createWalletClient)({
200
- account: config.eoa,
201
- chain,
202
- transport: (0, viem_1.http)(),
203
- });
204
- const authorization = await accountClient.signAuthorization({
205
- contractAddress: implementation,
206
- executor: 'self',
207
- });
208
- const hash = await accountClient.sendTransaction({
209
- chain,
210
- authorizationList: [authorization],
211
- to: config.eoa.address,
212
- data: initializationCallData,
213
- });
214
- await publicClient.waitForTransactionReceipt({ hash });
215
- }
216
- async function deployStandaloneWithEoa(chain, config, deployer) {
217
- const { factory, factoryData } = getDeployArgs(config);
218
- const publicClient = (0, viem_1.createPublicClient)({
219
- chain: chain,
220
- transport: (0, viem_1.http)(),
221
- });
222
- const client = (0, viem_1.createWalletClient)({
223
- account: deployer,
224
- chain: chain,
225
- transport: (0, viem_1.http)(),
226
- });
227
- const tx = await client.sendTransaction({
228
- to: factory,
229
- data: factoryData,
230
- });
231
- await publicClient.waitForTransactionReceipt({ hash: tx });
232
- }
233
- async function deployStandaloneWithBundler(chain, config) {
178
+ async function deployWithIntent(chain, config) {
234
179
  const publicClient = (0, viem_1.createPublicClient)({
235
180
  chain,
236
- transport: (0, viem_1.http)(),
181
+ transport: (0, utils_1.createTransport)(chain, config.provider),
237
182
  });
238
- const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
239
- const smartAccount = await getSmartAccount(config, publicClient, chain);
240
- const { factory, factoryData } = getDeployArgs(config);
241
- const opHash = await bundlerClient.sendUserOperation({
242
- account: smartAccount,
243
- factory,
244
- factoryData,
183
+ const address = getAddress(config);
184
+ const code = await publicClient.getCode({ address });
185
+ if (code) {
186
+ // Already deployed
187
+ return;
188
+ }
189
+ await (0, execution_1.sendTransaction)(config, {
190
+ targetChain: chain,
245
191
  calls: [
246
192
  {
247
- to: viem_1.zeroHash,
248
- value: 0n,
193
+ to: viem_1.zeroAddress,
249
194
  data: '0x',
250
195
  },
251
196
  ],
252
197
  });
253
- await bundlerClient.waitForUserOperationReceipt({
254
- hash: opHash,
255
- });
256
- }
257
- async function deploy7702WithBundler(chain, config) {
258
- if (!config.eoa) {
259
- throw new error_1.Eip7702AccountMustHaveEoaError();
260
- }
261
- const { implementation } = getDeployArgs(config);
262
- const publicClient = (0, viem_1.createPublicClient)({
263
- chain,
264
- transport: (0, viem_1.http)(),
265
- });
266
- const accountClient = (0, viem_1.createWalletClient)({
267
- account: config.eoa,
268
- chain,
269
- transport: (0, viem_1.http)(),
270
- });
271
- const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
272
- const authorization = await accountClient.signAuthorization({
273
- contractAddress: implementation,
274
- });
275
- // Init the account
276
- const smartAccount = await get7702SmartAccount(config, publicClient);
277
- const initCalls = await get7702InitCalls(config);
278
- const opHash = await bundlerClient.sendUserOperation({
279
- account: smartAccount,
280
- calls: initCalls,
281
- authorization,
282
- });
283
- await bundlerClient.waitForUserOperationReceipt({
284
- hash: opHash,
285
- });
286
198
  }
287
199
  async function getSmartAccount(config, client, chain) {
288
200
  const account = getAccountProvider(config);
@@ -369,37 +281,6 @@ async function signPasskey(account, chain, hash) {
369
281
  });
370
282
  return encodedSignature;
371
283
  }
372
- async function get7702SmartAccount(config, client) {
373
- if (!config.eoa) {
374
- throw new error_1.Eip7702AccountMustHaveEoaError();
375
- }
376
- const account = getAccountProvider(config);
377
- switch (account.type) {
378
- case 'safe': {
379
- return (0, safe_1.get7702SmartAccount)();
380
- }
381
- case 'nexus': {
382
- return (0, nexus_1.get7702SmartAccount)(config.eoa, client);
383
- }
384
- case 'kernel': {
385
- return (0, kernel_1.get7702SmartAccount)();
386
- }
387
- }
388
- }
389
- async function get7702InitCalls(config) {
390
- const account = getAccountProvider(config);
391
- switch (account.type) {
392
- case 'safe': {
393
- return (0, safe_1.get7702InitCalls)();
394
- }
395
- case 'nexus': {
396
- return (0, nexus_1.get7702InitCalls)(config);
397
- }
398
- case 'kernel': {
399
- return (0, kernel_1.get7702InitCalls)();
400
- }
401
- }
402
- }
403
284
  function is7702(config) {
404
285
  return config.eoa !== undefined;
405
286
  }
@@ -1,9 +1,9 @@
1
- import { 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 { OwnerSet, RhinestoneAccountConfig, Session } from '../types';
6
- import { ValidatorConfig } from './utils';
1
+ import { type Abi, type Address, type Hex, type PublicClient } from 'viem';
2
+ import { type SmartAccount, type SmartAccountImplementation } from 'viem/account-abstraction';
3
+ import { type Module } from '../modules/common';
4
+ import type { EnableSessionData } from '../modules/validators/smart-sessions';
5
+ import type { OwnerSet, RhinestoneAccountConfig, Session } from '../types';
6
+ import { type ValidatorConfig } from './utils';
7
7
  declare function getDeployArgs(config: RhinestoneAccountConfig): {
8
8
  factory: `0x${string}`;
9
9
  factoryData: `0x${string}`;
@@ -13,11 +13,9 @@ declare function getDeployArgs(config: RhinestoneAccountConfig): {
13
13
  };
14
14
  declare function getAddress(config: RhinestoneAccountConfig): `0x${string}`;
15
15
  declare function getInstallData(module: Module): Hex[];
16
- declare function get7702InitCalls(): never;
17
- declare function get7702SmartAccount(): never;
18
16
  declare function getPackedSignature(signFn: (message: Hex) => Promise<Hex>, hash: Hex, validator: ValidatorConfig, accountAddress: Address, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>;
19
17
  declare function getSmartAccount(client: PublicClient, address: Address, owners: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
20
18
  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">>>;
21
19
  declare function getGuardianSmartAccount(client: PublicClient, address: Address, guardians: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
22
- export { getInstallData, getAddress, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, get7702InitCalls, get7702SmartAccount, getPackedSignature, };
20
+ export { getInstallData, getAddress, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, getPackedSignature, };
23
21
  //# sourceMappingURL=kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../../accounts/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,OAAO,EAQP,GAAG,EAEH,YAAY,EAMb,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,YAAY,EACZ,0BAA0B,EAE3B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAKL,MAAM,EACP,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAErE,OAAO,EAAoC,eAAe,EAAE,MAAM,SAAS,CAAA;AAgB3E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA4CrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBASlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAsE7C;AAED,iBAAS,gBAAgB,IAAI,KAAK,CAEjC;AAED,iBAAS,mBAAmB,IAAI,KAAK,CAEpC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,cAAc,EAAE,OAAO,EACvB,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAevE;AAwBD,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAYlC;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,iEA0ClC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAclC;AA+ED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../../accounts/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAQZ,KAAK,GAAG,EAER,KAAK,YAAY,EAMlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA4CrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBASlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAsE7C;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,cAAc,EAAE,OAAO,EACvB,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAevE;AAwBD,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAYlC;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,iEA0ClC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAclC;AA+ED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,CAAA"}
@@ -6,15 +6,12 @@ exports.getDeployArgs = getDeployArgs;
6
6
  exports.getSmartAccount = getSmartAccount;
7
7
  exports.getSessionSmartAccount = getSessionSmartAccount;
8
8
  exports.getGuardianSmartAccount = getGuardianSmartAccount;
9
- exports.get7702InitCalls = get7702InitCalls;
10
- exports.get7702SmartAccount = get7702SmartAccount;
11
9
  exports.getPackedSignature = getPackedSignature;
12
10
  const viem_1 = require("viem");
13
11
  const account_abstraction_1 = require("viem/account-abstraction");
14
12
  const modules_1 = require("../modules");
15
13
  const common_1 = require("../modules/common");
16
14
  const validators_1 = require("../modules/validators");
17
- const error_1 = require("./error");
18
15
  const utils_1 = require("./utils");
19
16
  const KERNEL_META_FACTORY_ADDRESS = '0xd703aae79538628d27099b8c4f621be4ccd142d5';
20
17
  const KERNEL_IMPLEMENTATION_ADDRESS = '0xd6CEDDe84be40893d153Be9d467CD6aD37875b28';
@@ -129,12 +126,6 @@ function getInstallData(module) {
129
126
  }
130
127
  }
131
128
  }
132
- function get7702InitCalls() {
133
- throw new error_1.Eip7702NotSupportedForAccountError('kernel');
134
- }
135
- function get7702SmartAccount() {
136
- throw new error_1.Eip7702NotSupportedForAccountError('kernel');
137
- }
138
129
  async function getPackedSignature(signFn, hash, validator, accountAddress, transformSignature = (signature) => signature) {
139
130
  const vId = validator.isRoot ? '0x00' : (0, viem_1.concat)(['0x01', validator.address]);
140
131
  const signature = validator.isRoot
@@ -1,9 +1,9 @@
1
- import type { Abi, Account, Address, Hex, PublicClient } from 'viem';
1
+ import type { Abi, Address, Hex, PublicClient } from 'viem';
2
2
  import { type SmartAccount, type SmartAccountImplementation } from 'viem/account-abstraction';
3
- import { Module } from '../modules/common';
4
- import { EnableSessionData } from '../modules/validators/smart-sessions';
3
+ import type { Module } from '../modules/common';
4
+ import type { EnableSessionData } from '../modules/validators/smart-sessions';
5
5
  import type { OwnerSet, RhinestoneAccountConfig, Session } from '../types';
6
- import { ValidatorConfig } from './utils';
6
+ import { type ValidatorConfig } from './utils';
7
7
  declare function getDeployArgs(config: RhinestoneAccountConfig): {
8
8
  factory: `0x${string}`;
9
9
  factoryData: `0x${string}`;
@@ -17,10 +17,5 @@ declare function getPackedSignature(signFn: (message: Hex) => Promise<Hex>, hash
17
17
  declare function getSmartAccount(client: PublicClient, address: Address, owners: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
18
18
  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">>>;
19
19
  declare function getGuardianSmartAccount(client: PublicClient, address: Address, guardians: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
20
- declare function get7702SmartAccount(account: Account, client: PublicClient): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
21
- declare function get7702InitCalls(config: RhinestoneAccountConfig): {
22
- to: `0x${string}`;
23
- data: `0x${string}`;
24
- }[];
25
- export { getInstallData, getAddress, getPackedSignature, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, get7702SmartAccount, get7702InitCalls, };
20
+ export { getInstallData, getAddress, getPackedSignature, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, };
26
21
  //# sourceMappingURL=nexus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAYpE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAK1E,OAAO,EAAoC,eAAe,EAAE,MAAM,SAAS,CAAA;AAc3E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA6DrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;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;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAalC;AAED,iBAAe,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,iEAkBxE;AAgFD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB;;;IAqDxD;AAED,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,CAAA"}
1
+ {"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAY3D,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAYhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA6DrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;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;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAalC;AAgFD,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,GACxB,CAAA"}
@@ -7,18 +7,14 @@ exports.getDeployArgs = getDeployArgs;
7
7
  exports.getSmartAccount = getSmartAccount;
8
8
  exports.getSessionSmartAccount = getSessionSmartAccount;
9
9
  exports.getGuardianSmartAccount = getGuardianSmartAccount;
10
- exports.get7702SmartAccount = get7702SmartAccount;
11
- exports.get7702InitCalls = get7702InitCalls;
12
10
  const viem_1 = require("viem");
13
11
  const account_abstraction_1 = require("viem/account-abstraction");
14
12
  const modules_1 = require("../modules");
15
13
  const validators_1 = require("../modules/validators");
16
- const error_1 = require("./error");
17
14
  const utils_1 = require("./utils");
18
15
  const NEXUS_IMPLEMENTATION_ADDRESS = '0x000000004f43c49e93c970e84001853a70923b03';
19
16
  const NEXUS_FACTORY_ADDRESS = '0x000000001D1D5004a02bAfAb9de2D6CE5b7B13de';
20
17
  const NEXUS_BOOTSTRAP_ADDRESS = '0x00000000D3254452a909E4eeD47455Af7E27C289';
21
- const K1_MEE_VALIDATOR_ADDRESS = '0x00000000d12897ddadc2044614a9677b191a2d95';
22
18
  const NEXUS_CREATION_CODE = '0x60806040526102aa803803806100148161018c565b92833981016040828203126101885781516001600160a01b03811692909190838303610188576020810151906001600160401b03821161018857019281601f8501121561018857835161006e610069826101c5565b61018c565b9481865260208601936020838301011161018857815f926020809301865e8601015260017f90b772c2cb8a51aa7a8a65fc23543c6d022d5b3f8e2b92eed79fba7eef8293005d823b15610176577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561015e575f8091610146945190845af43d15610156573d91610137610069846101c5565b9283523d5f602085013e6101e0565b505b604051606b908161023f8239f35b6060916101e0565b50505034156101485763b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176101b157604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116101b157601f01601f191660200190565b9061020457508051156101f557805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580610235575b610215575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561020d56fe60806040523615605c575f8073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416368280378136915af43d5f803e156058573d5ff35b3d5ffd5b00fea164736f6c634300081b000a';
23
19
  function getDeployArgs(config) {
24
20
  const salt = (0, viem_1.keccak256)('0x');
@@ -154,19 +150,6 @@ async function getGuardianSmartAccount(client, address, guardians, validatorAddr
154
150
  return await sign(hash);
155
151
  });
156
152
  }
157
- async function get7702SmartAccount(account, client) {
158
- return await getBaseSmartAccount(account.address, client, viem_1.zeroAddress, async () => {
159
- const dynamicPart = K1_MEE_VALIDATOR_ADDRESS.substring(2).padEnd(40, '0');
160
- return `0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000${dynamicPart}000000000000000000000000000000000000000000000000000000000000004181d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b00000000000000000000000000000000000000000000000000000000000000`;
161
- }, async (hash) => {
162
- if (!account.signMessage) {
163
- throw new error_1.SignMessageNotSupportedByAccountError();
164
- }
165
- return await account.signMessage({
166
- message: { raw: hash },
167
- });
168
- });
169
- }
170
153
  async function getBaseSmartAccount(address, client, nonceValidatorAddress, getStubSignature, signUserOperation) {
171
154
  return await (0, account_abstraction_1.toSmartAccount)({
172
155
  client,
@@ -237,56 +220,3 @@ async function getBaseSmartAccount(address, client, nonceValidatorAddress, getSt
237
220
  },
238
221
  });
239
222
  }
240
- function get7702InitCalls(config) {
241
- const eoa = config.eoa;
242
- if (!eoa) {
243
- throw new error_1.Eip7702AccountMustHaveEoaError();
244
- }
245
- const moduleSetup = (0, modules_1.getSetup)(config);
246
- return [
247
- {
248
- to: eoa.address,
249
- data: (0, viem_1.encodeFunctionData)({
250
- abi: (0, viem_1.parseAbi)([
251
- 'function setRegistry(address newRegistry, address[] calldata attesters, uint8 threshold)',
252
- ]),
253
- functionName: 'setRegistry',
254
- args: [
255
- moduleSetup.registry,
256
- moduleSetup.attesters,
257
- moduleSetup.threshold,
258
- ],
259
- }),
260
- },
261
- ...moduleSetup.validators.map((validator) => ({
262
- to: eoa.address,
263
- data: (0, viem_1.encodeFunctionData)({
264
- abi: (0, viem_1.parseAbi)([
265
- 'function installModule(uint256 moduleTypeId, address module, bytes calldata initData)',
266
- ]),
267
- functionName: 'installModule',
268
- args: [validator.type, validator.address, validator.initData],
269
- }),
270
- })),
271
- ...moduleSetup.executors.map((executor) => ({
272
- to: eoa.address,
273
- data: (0, viem_1.encodeFunctionData)({
274
- abi: (0, viem_1.parseAbi)([
275
- 'function installModule(uint256 moduleTypeId, address module, bytes calldata initData)',
276
- ]),
277
- functionName: 'installModule',
278
- args: [executor.type, executor.address, executor.initData],
279
- }),
280
- })),
281
- ...moduleSetup.fallbacks.map((fallback) => ({
282
- to: eoa.address,
283
- data: (0, viem_1.encodeFunctionData)({
284
- abi: (0, viem_1.parseAbi)([
285
- 'function installModule(uint256 moduleTypeId, address module, bytes calldata initData)',
286
- ]),
287
- functionName: 'installModule',
288
- args: [fallback.type, fallback.address, fallback.initData],
289
- }),
290
- })),
291
- ];
292
- }
@@ -1,9 +1,9 @@
1
1
  import { type Abi, type Address, type Hex, type PublicClient } from 'viem';
2
2
  import { type SmartAccount, type SmartAccountImplementation } from 'viem/account-abstraction';
3
- import { Module } from '../modules/common';
4
- import { EnableSessionData } from '../modules/validators/smart-sessions';
3
+ import type { Module } from '../modules/common';
4
+ import type { EnableSessionData } from '../modules/validators/smart-sessions';
5
5
  import type { OwnerSet, RhinestoneAccountConfig, Session } from '../types';
6
- import { ValidatorConfig } from './utils';
6
+ import { type ValidatorConfig } from './utils';
7
7
  declare function getDeployArgs(config: RhinestoneAccountConfig): {
8
8
  factory: `0x${string}`;
9
9
  factoryData: `0x${string}`;
@@ -17,7 +17,5 @@ declare function getPackedSignature(signFn: (message: Hex) => Promise<Hex>, hash
17
17
  declare function getSmartAccount(client: PublicClient, address: Address, owners: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
18
18
  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">>>;
19
19
  declare function getGuardianSmartAccount(client: PublicClient, address: Address, guardians: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
20
- declare function get7702SmartAccount(): never;
21
- declare function get7702InitCalls(): never;
22
- export { getInstallData, getAddress, getPackedSignature, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, get7702InitCalls, get7702SmartAccount, };
20
+ export { getInstallData, getAddress, getPackedSignature, getDeployArgs, getSmartAccount, getSessionSmartAccount, getGuardianSmartAccount, };
23
21
  //# sourceMappingURL=safe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAIZ,KAAK,GAAG,EAER,KAAK,YAAY,EAIlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,eAAe,EAAE,MAAM,SAAS,CAAA;AAc3E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EAsErD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAalD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;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,iEAyClC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAalC;AA0ED,iBAAS,mBAAmB,IAAI,KAAK,CAEpC;AAED,iBAAS,gBAAgB,IAAI,KAAK,CAEjC;AAsBD,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,CAAA"}
1
+ {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAIZ,KAAK,GAAG,EAER,KAAK,YAAY,EAIlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAchF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;EAsErD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAalD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAQvE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;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,iEAyClC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAalC;AA8FD,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,GACxB,CAAA"}
@@ -7,13 +7,10 @@ exports.getDeployArgs = getDeployArgs;
7
7
  exports.getSmartAccount = getSmartAccount;
8
8
  exports.getSessionSmartAccount = getSessionSmartAccount;
9
9
  exports.getGuardianSmartAccount = getGuardianSmartAccount;
10
- exports.get7702InitCalls = get7702InitCalls;
11
- exports.get7702SmartAccount = get7702SmartAccount;
12
10
  const viem_1 = require("viem");
13
11
  const account_abstraction_1 = require("viem/account-abstraction");
14
12
  const modules_1 = require("../modules");
15
13
  const validators_1 = require("../modules/validators");
16
- const error_1 = require("./error");
17
14
  const utils_1 = require("./utils");
18
15
  const SAFE_7579_LAUNCHPAD_ADDRESS = '0x7579011aB74c46090561ea277Ba79D510c6C00ff';
19
16
  const SAFE_7579_ADAPTER_ADDRESS = '0x7579ee8307284f293b1927136486880611f20002';
@@ -217,12 +214,6 @@ async function getBaseSmartAccount(address, client, validatorAddress, getStubSig
217
214
  },
218
215
  });
219
216
  }
220
- function get7702SmartAccount() {
221
- throw new error_1.Eip7702NotSupportedForAccountError('safe');
222
- }
223
- function get7702InitCalls() {
224
- throw new error_1.Eip7702NotSupportedForAccountError('safe');
225
- }
226
217
  function getOwners(config) {
227
218
  const ownerSet = config.owners;
228
219
  switch (ownerSet.type) {
@@ -1,5 +1,5 @@
1
- import type { Address, Client, Hex } from 'viem';
2
- import type { RhinestoneAccountConfig } from '../types';
1
+ import type { Address, Chain, Client, Hex, Transport } from 'viem';
2
+ import type { ProviderConfig, RhinestoneAccountConfig } from '../types';
3
3
  type CallType = 'call' | 'delegatecall' | 'batchcall';
4
4
  interface ValidatorConfig {
5
5
  address: Address;
@@ -27,6 +27,7 @@ interface GetAccountNonceParams {
27
27
  declare function encode7579Calls<callType extends CallType>({ mode, callData, }: EncodeCallDataParams<callType>): Hex;
28
28
  declare function getAccountNonce(client: Client, args: GetAccountNonceParams): Promise<bigint>;
29
29
  declare function getBundlerClient(config: RhinestoneAccountConfig, client: Client): import("viem/account-abstraction").BundlerClient<import("viem").HttpTransport<undefined, false>, undefined, undefined, Client, undefined>;
30
- export { encode7579Calls, getAccountNonce, getBundlerClient };
30
+ declare function createTransport(chain: Chain, provider?: ProviderConfig): Transport;
31
+ export { encode7579Calls, getAccountNonce, getBundlerClient, createTransport };
31
32
  export type { ValidatorConfig };
32
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../accounts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAiBhD,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,KAAK,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAErD,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,UAAU,aAAa,CAAC,QAAQ,SAAS,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,UAAU,oBAAoB,CAAC,QAAQ,SAAS,QAAQ;IACtD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,SAAS;QACjB,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;KACvB,EAAE,CAAA;CACJ;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAkDD,iBAAS,eAAe,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAClD,IAAI,EACJ,QAAQ,GACT,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAuFtC;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,6IAuCxE;AAyBD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../accounts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AA8BlE,OAAO,KAAK,EAGV,cAAc,EACd,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,KAAK,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAErD,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,UAAU,aAAa,CAAC,QAAQ,SAAS,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,UAAU,oBAAoB,CAAC,QAAQ,SAAS,QAAQ;IACtD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,SAAS;QACjB,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;KACvB,EAAE,CAAA;CACJ;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAkDD,iBAAS,eAAe,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAClD,IAAI,EACJ,QAAQ,GACT,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAuFtC;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,6IA2CxE;AAyBD,iBAAS,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAY3E;AA6BD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAA;AAC9E,YAAY,EAAE,eAAe,EAAE,CAAA"}