@rhinestone/sdk 1.0.0-alpha.14 → 1.0.0-alpha.16

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 (87) hide show
  1. package/dist/src/accounts/custom.d.ts +18 -0
  2. package/dist/src/accounts/custom.d.ts.map +1 -0
  3. package/dist/src/accounts/custom.js +121 -0
  4. package/dist/src/accounts/custom.test.d.ts +2 -0
  5. package/dist/src/accounts/custom.test.d.ts.map +1 -0
  6. package/dist/src/accounts/custom.test.js +64 -0
  7. package/dist/src/accounts/index.d.ts +1 -1
  8. package/dist/src/accounts/index.d.ts.map +1 -1
  9. package/dist/src/accounts/index.js +37 -6
  10. package/dist/src/accounts/index.test.js +3 -3
  11. package/dist/src/accounts/json-rpc/index.d.ts +5 -0
  12. package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
  13. package/dist/src/accounts/json-rpc/index.js +16 -0
  14. package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
  15. package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
  16. package/dist/src/accounts/json-rpc/index.test.js +16 -0
  17. package/dist/src/accounts/json-rpc/providers.d.ts +4 -0
  18. package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
  19. package/dist/src/accounts/json-rpc/providers.js +14 -0
  20. package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
  21. package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
  22. package/dist/src/accounts/json-rpc/providers.test.js +15 -0
  23. package/dist/src/accounts/kernel.test.js +8 -8
  24. package/dist/src/accounts/nexus.d.ts.map +1 -1
  25. package/dist/src/accounts/nexus.js +34 -8
  26. package/dist/src/accounts/nexus.test.js +12 -12
  27. package/dist/src/accounts/safe.d.ts.map +1 -1
  28. package/dist/src/accounts/safe.js +2 -0
  29. package/dist/src/accounts/safe.test.js +8 -8
  30. package/dist/src/accounts/signing/common.d.ts +10 -6
  31. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  32. package/dist/src/accounts/signing/common.js +41 -12
  33. package/dist/src/accounts/signing/message.d.ts +2 -2
  34. package/dist/src/accounts/signing/message.d.ts.map +1 -1
  35. package/dist/src/accounts/signing/message.js +7 -11
  36. package/dist/src/accounts/signing/passkeys.d.ts +29 -0
  37. package/dist/src/accounts/signing/passkeys.d.ts.map +1 -0
  38. package/dist/src/accounts/signing/passkeys.js +90 -0
  39. package/dist/src/accounts/signing/passkeys.test.d.ts +2 -0
  40. package/dist/src/accounts/signing/passkeys.test.d.ts.map +1 -0
  41. package/dist/src/accounts/signing/passkeys.test.js +73 -0
  42. package/dist/src/accounts/signing/typedData.d.ts +2 -2
  43. package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
  44. package/dist/src/accounts/signing/typedData.js +7 -11
  45. package/dist/src/accounts/startale.test.js +8 -8
  46. package/dist/src/accounts/utils.d.ts +3 -3
  47. package/dist/src/accounts/utils.d.ts.map +1 -1
  48. package/dist/src/accounts/utils.js +3 -40
  49. package/dist/src/actions/index.d.ts +45 -1
  50. package/dist/src/actions/index.d.ts.map +1 -1
  51. package/dist/src/actions/index.js +174 -9
  52. package/dist/src/actions/index.test.js +16 -16
  53. package/dist/src/execution/index.d.ts.map +1 -1
  54. package/dist/src/execution/index.js +3 -6
  55. package/dist/src/execution/utils.d.ts +1 -1
  56. package/dist/src/execution/utils.d.ts.map +1 -1
  57. package/dist/src/execution/utils.js +17 -16
  58. package/dist/src/index.d.ts +2 -2
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +7 -1
  61. package/dist/src/modules/index.d.ts +2 -17
  62. package/dist/src/modules/index.d.ts.map +1 -1
  63. package/dist/src/modules/index.js +4 -55
  64. package/dist/src/modules/index.test.js +2 -16
  65. package/dist/src/modules/omni-account.d.ts +2 -1
  66. package/dist/src/modules/omni-account.d.ts.map +1 -1
  67. package/dist/src/modules/omni-account.js +3 -1
  68. package/dist/src/modules/read.d.ts.map +1 -1
  69. package/dist/src/modules/read.js +1 -0
  70. package/dist/src/modules/validators/core.d.ts +4 -3
  71. package/dist/src/modules/validators/core.d.ts.map +1 -1
  72. package/dist/src/modules/validators/core.js +46 -37
  73. package/dist/src/modules/validators/core.test.js +6 -6
  74. package/dist/src/modules/validators/smart-sessions.test.js +4 -4
  75. package/dist/src/orchestrator/consts.d.ts +2 -1
  76. package/dist/src/orchestrator/consts.d.ts.map +1 -1
  77. package/dist/src/orchestrator/consts.js +3 -1
  78. package/dist/src/orchestrator/registry.d.ts +1 -23
  79. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  80. package/dist/src/orchestrator/registry.js +22 -24
  81. package/dist/src/orchestrator/registry.test.js +4 -4
  82. package/dist/src/orchestrator/types.d.ts +1 -6
  83. package/dist/src/orchestrator/types.d.ts.map +1 -1
  84. package/dist/src/types.d.ts +29 -7
  85. package/dist/src/types.d.ts.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/src/orchestrator/registry.json +0 -365
@@ -0,0 +1,18 @@
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 { RhinestoneAccountConfig, Session } from '../types';
6
+ import { type ValidatorConfig } from './utils';
7
+ declare function getDeployArgs(config: RhinestoneAccountConfig): {
8
+ factory: Address;
9
+ factoryData: Hex;
10
+ };
11
+ declare function getInstallData(config: RhinestoneAccountConfig, module: Module): Hex[];
12
+ declare function getAddress(config: RhinestoneAccountConfig): Address;
13
+ declare function getPackedSignature(config: RhinestoneAccountConfig, signature: Hex, validator: ValidatorConfig, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>;
14
+ declare function getSessionSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, address: Address, session: Session, validatorAddress: Address, enableData: EnableSessionData | null): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
15
+ declare function getBaseSmartAccount(address: Address, client: PublicClient, validatorAddress: Address, getStubSignature: () => Promise<Hex>, signUserOperation: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, '0.7'>>>;
16
+ declare function getSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, address: Address, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
17
+ export { getDeployArgs, getInstallData, getAddress, getPackedSignature, getSessionSmartAccount, getBaseSmartAccount, getSmartAccount, };
18
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../accounts/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAEhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;EAMrD;AAED,iBAAS,cAAc,CACrB,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,GAAG,EAAE,CAMP;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAM5D;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAWvE;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,iEAyBrC;AAED,iBAAe,mBAAmB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAgE/D;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAelC;AAED,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAChB,CAAA"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDeployArgs = getDeployArgs;
4
+ exports.getInstallData = getInstallData;
5
+ exports.getAddress = getAddress;
6
+ exports.getPackedSignature = getPackedSignature;
7
+ exports.getSessionSmartAccount = getSessionSmartAccount;
8
+ exports.getBaseSmartAccount = getBaseSmartAccount;
9
+ exports.getSmartAccount = getSmartAccount;
10
+ const viem_1 = require("viem");
11
+ const account_abstraction_1 = require("viem/account-abstraction");
12
+ const utils_1 = require("./utils");
13
+ function getDeployArgs(config) {
14
+ if (!config.account || !config.account.custom) {
15
+ throw new Error('Account provider not found');
16
+ }
17
+ return config.account.custom.getDeployArgs();
18
+ }
19
+ function getInstallData(config, module) {
20
+ if (!config.account || !config.account.custom) {
21
+ throw new Error('Account provider not found');
22
+ }
23
+ return config.account.custom.getInstallData(module);
24
+ }
25
+ function getAddress(config) {
26
+ if (!config.account || !config.account.custom) {
27
+ throw new Error('Account provider not found');
28
+ }
29
+ return config.account.custom.getAddress();
30
+ }
31
+ async function getPackedSignature(config, signature, validator, transformSignature = (signature) => signature) {
32
+ if (!config.account || !config.account.custom) {
33
+ throw new Error('Account provider not found');
34
+ }
35
+ return config.account.custom.getPackedSignature(signature, validator, transformSignature);
36
+ }
37
+ async function getSessionSmartAccount(config, client, address, session, validatorAddress, enableData) {
38
+ return await getBaseSmartAccount(address, client, validatorAddress, async () => {
39
+ if (!config.account || !config.account.custom) {
40
+ throw new Error('Account provider not found');
41
+ }
42
+ return config.account.custom.getSessionStubSignature(session, enableData);
43
+ }, async (hash) => {
44
+ if (!config.account || !config.account.custom) {
45
+ throw new Error('Account provider not found');
46
+ }
47
+ return config.account.custom.signSessionUserOperation(session, enableData, hash);
48
+ });
49
+ }
50
+ async function getBaseSmartAccount(address, client, validatorAddress, getStubSignature, signUserOperation) {
51
+ return await (0, account_abstraction_1.toSmartAccount)({
52
+ client,
53
+ entryPoint: {
54
+ abi: account_abstraction_1.entryPoint07Abi,
55
+ address: account_abstraction_1.entryPoint07Address,
56
+ version: '0.7',
57
+ },
58
+ async decodeCalls() {
59
+ throw new Error('Not implemented');
60
+ },
61
+ async encodeCalls(calls) {
62
+ return (0, utils_1.encode7579Calls)({
63
+ mode: {
64
+ type: calls.length > 1 ? 'batchcall' : 'call',
65
+ revertOnError: false,
66
+ selector: '0x',
67
+ context: '0x',
68
+ },
69
+ callData: calls,
70
+ });
71
+ },
72
+ async getAddress() {
73
+ return address;
74
+ },
75
+ async getFactoryArgs() {
76
+ return {};
77
+ },
78
+ async getNonce() {
79
+ const key = (0, viem_1.concat)([validatorAddress, '0x00000000']);
80
+ const nonce = await (0, utils_1.getAccountNonce)(client, {
81
+ address,
82
+ entryPointAddress: account_abstraction_1.entryPoint07Address,
83
+ key: BigInt(key),
84
+ });
85
+ return nonce;
86
+ },
87
+ async getStubSignature() {
88
+ return getStubSignature();
89
+ },
90
+ async signMessage() {
91
+ throw new Error('Not implemented');
92
+ },
93
+ async signTypedData() {
94
+ throw new Error('Not implemented');
95
+ },
96
+ async signUserOperation(parameters) {
97
+ const { chainId = client.chain?.id, ...userOperation } = parameters;
98
+ if (!chainId)
99
+ throw new Error('Chain id not found');
100
+ const hash = (0, account_abstraction_1.getUserOperationHash)({
101
+ userOperation: {
102
+ ...userOperation,
103
+ sender: userOperation.sender ?? (await this.getAddress()),
104
+ signature: '0x',
105
+ },
106
+ entryPointAddress: account_abstraction_1.entryPoint07Address,
107
+ entryPointVersion: '0.7',
108
+ chainId: chainId,
109
+ });
110
+ return await signUserOperation(hash);
111
+ },
112
+ });
113
+ }
114
+ async function getSmartAccount(config, client, address, validatorAddress, sign) {
115
+ return getBaseSmartAccount(address, client, validatorAddress, async () => {
116
+ if (!config.account || !config.account.custom) {
117
+ throw new Error('Account provider not found');
118
+ }
119
+ return config.account.custom.getStubSignature();
120
+ }, sign);
121
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.test.d.ts","sourceRoot":"","sources":["../../../accounts/custom.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const account_abstraction_1 = require("viem/account-abstraction");
5
+ const accounts_1 = require("viem/accounts");
6
+ const chains_1 = require("viem/chains");
7
+ const vitest_1 = require("vitest");
8
+ const __1 = require("..");
9
+ (0, vitest_1.describe)('Custom Accounts', () => {
10
+ (0, vitest_1.describe)('Coinbase, account', async () => {
11
+ const client = (0, viem_1.createPublicClient)({
12
+ chain: chains_1.mainnet,
13
+ transport: (0, viem_1.http)(),
14
+ });
15
+ const owner = (0, accounts_1.privateKeyToAccount)((0, accounts_1.generatePrivateKey)());
16
+ const coinbaseAccount = await (0, account_abstraction_1.toCoinbaseSmartAccount)({
17
+ client,
18
+ owners: [owner],
19
+ });
20
+ (0, vitest_1.test)('Coinbase, getAddress', async () => {
21
+ const account = await (0, __1.createRhinestoneAccount)({
22
+ account: {
23
+ type: 'custom',
24
+ custom: {
25
+ getDeployArgs: () => {
26
+ return {
27
+ factory: '0x',
28
+ factoryData: '0x',
29
+ };
30
+ },
31
+ getInstallData: () => {
32
+ return [];
33
+ },
34
+ getAddress: () => {
35
+ return coinbaseAccount.address;
36
+ },
37
+ getPackedSignature: async () => {
38
+ throw new Error('Not implemented');
39
+ },
40
+ getSessionStubSignature: async () => {
41
+ throw new Error('Not implemented');
42
+ },
43
+ signSessionUserOperation: async () => {
44
+ throw new Error('Not implemented');
45
+ },
46
+ getStubSignature: async () => {
47
+ return coinbaseAccount.getStubSignature();
48
+ },
49
+ sign: async () => {
50
+ throw new Error('Not implemented');
51
+ },
52
+ },
53
+ },
54
+ owners: {
55
+ type: 'ecdsa-v0',
56
+ accounts: [owner],
57
+ threshold: 1,
58
+ },
59
+ rhinestoneApiKey: '',
60
+ });
61
+ (0, vitest_1.expect)(account.getAddress()).toEqual(coinbaseAccount.address);
62
+ });
63
+ });
64
+ });
@@ -23,7 +23,7 @@ declare function deploy(config: RhinestoneAccountConfig, chain: Chain, session?:
23
23
  declare function toErc6492Signature(config: RhinestoneAccountConfig, signature: Hex, chain: Chain): Promise<Hex>;
24
24
  declare function getSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
25
25
  declare function getSmartSessionSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, session: Session, enableData: EnableSessionData | null): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
26
- declare function getGuardianSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
26
+ declare function getGuardianSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | undefined>;
27
27
  declare function getAccountProvider(config: RhinestoneAccountConfig): AccountProviderConfig;
28
28
  export { getModuleInstallationCalls, getModuleUninstallationCalls, getAddress, getAccountProvider, getInitCode, signEip7702InitData, getEip7702InitCall, isDeployed, deploy, toErc6492Signature, getSmartAccount, getSmartSessionSmartAccount, getGuardianSmartAccount, getPackedSignature, getTypedDataPackedSignature, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, };
29
29
  //# sourceMappingURL=index.d.ts.map
@@ -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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"}
@@ -21,6 +21,7 @@ const execution_1 = require("../execution");
21
21
  const smart_session_1 = require("../execution/smart-session");
22
22
  const validators_1 = require("../modules/validators");
23
23
  const core_1 = require("../modules/validators/core");
24
+ const custom_1 = require("./custom");
24
25
  const error_1 = require("./error");
25
26
  Object.defineProperty(exports, "AccountError", { enumerable: true, get: function () { return error_1.AccountError; } });
26
27
  Object.defineProperty(exports, "Eip7702AccountMustHaveEoaError", { enumerable: true, get: function () { return error_1.Eip7702AccountMustHaveEoaError; } });
@@ -54,6 +55,9 @@ function getDeployArgs(config) {
54
55
  case 'startale': {
55
56
  return (0, startale_1.getDeployArgs)(config);
56
57
  }
58
+ case 'custom': {
59
+ return (0, custom_1.getDeployArgs)(config);
60
+ }
57
61
  }
58
62
  }
59
63
  function getInitCode(config) {
@@ -86,6 +90,9 @@ async function signEip7702InitData(config) {
86
90
  case 'startale': {
87
91
  throw new Error(`7702 is not supported for account type ${account.type}`);
88
92
  }
93
+ case 'custom': {
94
+ throw new Error('7702 is not supported for custom account');
95
+ }
89
96
  }
90
97
  }
91
98
  async function getEip7702InitCall(config, signature) {
@@ -99,6 +106,9 @@ async function getEip7702InitCall(config, signature) {
99
106
  case 'startale': {
100
107
  throw new Error(`7702 is not supported for account type ${account.type}`);
101
108
  }
109
+ case 'custom': {
110
+ throw new Error('7702 is not supported for custom account');
111
+ }
102
112
  }
103
113
  }
104
114
  function getModuleInstallationCalls(config, module) {
@@ -118,6 +128,9 @@ function getModuleInstallationCalls(config, module) {
118
128
  case 'startale': {
119
129
  return [(0, startale_1.getInstallData)(module)];
120
130
  }
131
+ case 'custom': {
132
+ return (0, custom_1.getInstallData)(config, module);
133
+ }
121
134
  }
122
135
  }
123
136
  const installData = getInstallData();
@@ -178,12 +191,15 @@ function getAddress(config) {
178
191
  case 'startale': {
179
192
  return (0, startale_1.getAddress)(config);
180
193
  }
194
+ case 'custom': {
195
+ return (0, custom_1.getAddress)(config);
196
+ }
181
197
  }
182
198
  }
183
199
  // Signs and packs a signature to be EIP-1271 compatible
184
200
  async function getPackedSignature(config, signers, chain, validator, hash, transformSignature = (signature) => signature) {
185
201
  signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
186
- const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
202
+ const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
187
203
  const account = getAccountProvider(config);
188
204
  const address = getAddress(config);
189
205
  switch (account.type) {
@@ -203,25 +219,34 @@ async function getPackedSignature(config, signers, chain, validator, hash, trans
203
219
  const signature = await signFn(hash);
204
220
  return (0, startale_1.packSignature)(signature, validator, transformSignature);
205
221
  }
222
+ case 'custom': {
223
+ const signature = await signFn(hash);
224
+ return (0, custom_1.getPackedSignature)(config, signature, validator, transformSignature);
225
+ }
206
226
  }
207
227
  }
208
228
  // Signs and packs a signature to be EIP-1271 compatible
209
229
  async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, transformSignature = (signature) => signature) {
230
+ const address = getAddress(config);
210
231
  signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
211
- const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, parameters);
232
+ const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, address, parameters);
212
233
  const account = getAccountProvider(config);
213
234
  switch (account.type) {
214
235
  case 'safe': {
215
236
  const signature = await signFn(parameters);
216
237
  return (0, safe_1.packSignature)(signature, validator, transformSignature);
217
238
  }
239
+ case 'custom': {
240
+ const signature = await signFn(parameters);
241
+ return (0, custom_1.getPackedSignature)(config, signature, validator, transformSignature);
242
+ }
218
243
  case 'nexus': {
219
244
  const signature = await signFn(parameters);
220
245
  return (0, nexus_1.packSignature)(signature, validator, transformSignature);
221
246
  }
222
247
  case 'kernel': {
223
248
  const address = getAddress(config);
224
- const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, hash);
249
+ const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
225
250
  const signature = await signMessageFn((0, kernel_1.wrapMessageHash)((0, viem_1.hashTypedData)(parameters), address));
226
251
  return (0, kernel_1.packSignature)(signature, validator, transformSignature);
227
252
  }
@@ -303,7 +328,7 @@ async function getSmartAccount(config, client, chain) {
303
328
  const address = getAddress(config);
304
329
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
305
330
  const signers = (0, common_1.convertOwnerSetToSignerSet)(config.owners);
306
- const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
331
+ const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
307
332
  switch (account.type) {
308
333
  case 'safe': {
309
334
  return (0, safe_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
@@ -317,6 +342,9 @@ async function getSmartAccount(config, client, chain) {
317
342
  case 'startale': {
318
343
  return (0, startale_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
319
344
  }
345
+ case 'custom': {
346
+ return (0, custom_1.getSmartAccount)(config, client, address, ownerValidator.address, signFn);
347
+ }
320
348
  }
321
349
  }
322
350
  async function getSmartSessionSmartAccount(config, client, chain, session, enableData) {
@@ -330,7 +358,7 @@ async function getSmartSessionSmartAccount(config, client, chain, session, enabl
330
358
  session,
331
359
  enableData: enableData || undefined,
332
360
  };
333
- const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
361
+ const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
334
362
  const account = getAccountProvider(config);
335
363
  switch (account.type) {
336
364
  case 'safe': {
@@ -345,6 +373,9 @@ async function getSmartSessionSmartAccount(config, client, chain, session, enabl
345
373
  case 'startale': {
346
374
  return (0, startale_1.getSessionSmartAccount)(client, address, session, smartSessionValidator.address, enableData, signFn);
347
375
  }
376
+ case 'custom': {
377
+ return (0, custom_1.getSessionSmartAccount)(config, client, address, session, smartSessionValidator.address, enableData);
378
+ }
348
379
  }
349
380
  }
350
381
  async function getGuardianSmartAccount(config, client, chain, guardians) {
@@ -358,7 +389,7 @@ async function getGuardianSmartAccount(config, client, chain, guardians) {
358
389
  type: 'guardians',
359
390
  guardians: accounts,
360
391
  };
361
- const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
392
+ const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
362
393
  const account = getAccountProvider(config);
363
394
  switch (account.type) {
364
395
  case 'safe': {
@@ -14,17 +14,17 @@ const _1 = require(".");
14
14
  },
15
15
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
16
16
  });
17
- (0, vitest_1.expect)(address).toEqual('0x7fbe9b0796484c06c94968b910a4cf488fd1719b');
17
+ (0, vitest_1.expect)(address).toEqual('0x0681de31e060b384f0b08a3bac99e9bdff302474');
18
18
  });
19
19
  (0, vitest_1.test)('Safe, passkey owner with a session', () => {
20
20
  const address = (0, _1.getAddress)({
21
21
  owners: {
22
22
  type: 'passkey',
23
- account: consts_1.passkeyAccount,
23
+ accounts: [consts_1.passkeyAccount],
24
24
  },
25
25
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
26
26
  });
27
- (0, vitest_1.expect)(address).toEqual('0x82a8a51443c2b8608001bdc4ff5bb31f69e8ed14');
27
+ (0, vitest_1.expect)(address).toEqual('0x894b88c04b4de6abddce81e8bdc91927e37d6ced');
28
28
  });
29
29
  });
30
30
  (0, vitest_1.describe)('Sign', () => {
@@ -0,0 +1,5 @@
1
+ import { type Chain, type Transport } from 'viem';
2
+ import type { ProviderConfig } from '../../types';
3
+ declare function createTransport(chain: Chain, provider?: ProviderConfig): Transport;
4
+ export { createTransport };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAQ,KAAK,SAAS,EAAE,MAAM,MAAM,CAAA;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,iBAAS,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAc3E;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTransport = createTransport;
4
+ const viem_1 = require("viem");
5
+ const providers_1 = require("./providers");
6
+ function createTransport(chain, provider) {
7
+ if (!provider) {
8
+ return (0, viem_1.http)();
9
+ }
10
+ switch (provider.type) {
11
+ case 'alchemy': {
12
+ const alchemyUrl = (0, providers_1.getAlchemyUrl)(chain.id, provider.apiKey);
13
+ return (0, viem_1.http)(alchemyUrl);
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chains_1 = require("viem/chains");
4
+ const vitest_1 = require("vitest");
5
+ const index_1 = require("./index");
6
+ (0, vitest_1.describe)('JSON-RPC', () => {
7
+ (0, vitest_1.describe)('createTransport', () => {
8
+ (0, vitest_1.test)('Alchemy', () => {
9
+ const transport = (0, index_1.createTransport)(chains_1.base, {
10
+ type: 'alchemy',
11
+ apiKey: '123',
12
+ });
13
+ (0, vitest_1.expect)(transport).toBeDefined();
14
+ });
15
+ });
16
+ });
@@ -0,0 +1,4 @@
1
+ import type { SupportedChain } from '../../orchestrator';
2
+ declare function getAlchemyUrl(chainId: SupportedChain, apiKey: string): string;
3
+ export { getAlchemyUrl };
4
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,iBAAS,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAStE;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAlchemyUrl = getAlchemyUrl;
4
+ const shared_configs_1 = require("@rhinestone/shared-configs");
5
+ function getAlchemyUrl(chainId, apiKey) {
6
+ const urlTemplate = shared_configs_1.providers.Alchemy.url_template;
7
+ const chainParam = shared_configs_1.providers.Alchemy.chain_mapping[chainId];
8
+ if (!chainParam) {
9
+ throw new Error(`Unsupported chain: ${chainId}`);
10
+ }
11
+ return urlTemplate
12
+ .replace('{{chain_param}}', chainParam)
13
+ .replace('\$\{ALCHEMY_API_KEY\}', apiKey);
14
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=providers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.test.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/providers.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chains_1 = require("viem/chains");
4
+ const vitest_1 = require("vitest");
5
+ const providers_1 = require("./providers");
6
+ (0, vitest_1.describe)('Providers', () => {
7
+ (0, vitest_1.describe)('Alchemy', () => {
8
+ (0, vitest_1.test)('Network', () => {
9
+ const mockApiKey = '123';
10
+ (0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.mainnet.id, mockApiKey)).toBe('https://eth-mainnet.g.alchemy.com/v2/123');
11
+ (0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.sepolia.id, mockApiKey)).toBe('https://eth-sepolia.g.alchemy.com/v2/123');
12
+ (0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.polygon.id, mockApiKey)).toBe('https://polygon-mainnet.g.alchemy.com/v2/123');
13
+ });
14
+ });
15
+ });
@@ -16,24 +16,24 @@ const MOCK_MODULE_ADDRESS = '0x28de6501fa86f2e6cd0b33c3aabdaeb4a1b93f3f';
16
16
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
17
17
  });
18
18
  (0, vitest_1.expect)(factory).toEqual('0xd703aae79538628d27099b8c4f621be4ccd142d5');
19
- (0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003243c3b752b0120C008719Ba9D8aA14C7d07D122cd5E965aA8da50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
19
+ (0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003243c3b752b01000000000013fdB5234E4E3162a810F54d9f7E980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
20
20
  (0, vitest_1.expect)(salt).toEqual('0x0000000000000000000000000000000000000000000000000000000000000000');
21
21
  (0, vitest_1.expect)(implementation).toEqual('0xd6CEDDe84be40893d153Be9d467CD6aD37875b28');
22
- (0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b0120C008719Ba9D8aA14C7d07D122cd5E965aA8da50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
22
+ (0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b01000000000013fdB5234E4E3162a810F54d9f7E980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
23
23
  });
24
24
  (0, vitest_1.test)('Passkey owner', () => {
25
25
  const { factory, factoryData, salt, implementation, initializationCallData, } = (0, kernel_1.getDeployArgs)({
26
26
  owners: {
27
27
  type: 'passkey',
28
- account: consts_1.passkeyAccount,
28
+ accounts: [consts_1.passkeyAccount],
29
29
  },
30
30
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
31
31
  });
32
32
  (0, vitest_1.expect)(factory).toEqual('0xd703aae79538628d27099b8c4f621be4ccd142d5');
33
- (0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e43c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
33
+ (0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003443c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
34
34
  (0, vitest_1.expect)(salt).toEqual('0x0000000000000000000000000000000000000000000000000000000000000000');
35
35
  (0, vitest_1.expect)(implementation).toEqual('0xd6CEDDe84be40893d153Be9d467CD6aD37875b28');
36
- (0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
36
+ (0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
37
37
  });
38
38
  });
39
39
  (0, vitest_1.describe)('Get Address', () => {
@@ -45,17 +45,17 @@ const MOCK_MODULE_ADDRESS = '0x28de6501fa86f2e6cd0b33c3aabdaeb4a1b93f3f';
45
45
  },
46
46
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
47
47
  });
48
- (0, vitest_1.expect)(address).toEqual('0x43bb2f5505a463c57C9688678cC9DB8d10729747');
48
+ (0, vitest_1.expect)(address).toEqual('0xC3733a544f5246a25405c7446e4D0C6b5762B22e');
49
49
  });
50
50
  (0, vitest_1.test)('Passkey owner', () => {
51
51
  const address = (0, kernel_1.getAddress)({
52
52
  owners: {
53
53
  type: 'passkey',
54
- account: consts_1.passkeyAccount,
54
+ accounts: [consts_1.passkeyAccount],
55
55
  },
56
56
  rhinestoneApiKey: consts_1.MOCK_API_KEY,
57
57
  });
58
- (0, vitest_1.expect)(address).toEqual('0x5a4063A8f32201C84B8e7a073C7494D53D7dFAe7');
58
+ (0, vitest_1.expect)(address).toEqual('0xE48268B1C69528366d8eFaC5DB6fA947a7B52E55');
59
59
  });
60
60
  });
61
61
  (0, vitest_1.describe)('Get Install Data', () => {
@@ -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,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAchF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EAmErD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,EACtE,uBAAuB,GAAE,OAAyC,0BAWnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAYnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAwCnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAcnE;AAqFD,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,EAAE,OAAO,0BA0Bb;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG;;;GAuCf;AAED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
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;AAapE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAchF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA6FrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,EACtE,uBAAuB,GAAE,OAAyC,0BAWnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAYnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAwCnE;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,EACjC,uBAAuB,GAAE,OAAyC,iEAcnE;AAqFD,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,EAAE,OAAO,0BA0Bb;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG;;;GAuCf;AAED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}