@rhinestone/sdk 0.0.0-dev-20260330133013 → 0.0.0-dev-20260331130650

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.
@@ -11,7 +11,7 @@ function getAlchemyUrl(chainId, apiKey) {
11
11
  }
12
12
  return urlTemplate
13
13
  .replace('{{chain_param}}', chainParam)
14
- .replace('\$\{ALCHEMY_API_KEY\}', apiKey);
14
+ .replace('${ALCHEMY_API_KEY}', apiKey);
15
15
  }
16
16
  function getCustomUrl(chainId, urls) {
17
17
  return urls[chainId];
@@ -12,7 +12,7 @@ const accountAddress = '0x36C03e7D593F7B2C6b06fC18B5f4E9a4A29C99b0';
12
12
  vitest_1.vi.mock('viem', async (importOriginal) => {
13
13
  const actual = await importOriginal();
14
14
  return {
15
- // @ts-ignore
15
+ // @ts-expect-error
16
16
  ...actual,
17
17
  createPublicClient: vitest_1.vi.fn(),
18
18
  };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=signing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing.test.d.ts","sourceRoot":"","sources":["../../../execution/signing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const chains_1 = require("viem/chains");
5
+ const vitest_1 = require("vitest");
6
+ const consts_1 = require("../../test/consts");
7
+ const utils_1 = require("./utils");
8
+ const { MOCK_EMISSARY, MOCK_EIP1271, MOCK_ACCOUNT, MOCK_EXECUTOR, MOCK_VALIDATOR, mockGetEmissarySignature, mockGetEip1271Signature, mockIsSessionEnabled, MOCK_TYPED_DATA, } = vitest_1.vi.hoisted(() => {
9
+ const MOCK_ACCOUNT = '0x1111111111111111111111111111111111111111';
10
+ const MOCK_EXECUTOR = '0x2222222222222222222222222222222222222222';
11
+ const MOCK_VALIDATOR = '0x3333333333333333333333333333333333333333';
12
+ const MOCK_EMISSARY = `0x${'ee'.repeat(65)}`;
13
+ const MOCK_EIP1271 = `0x${'12'.repeat(65)}`;
14
+ const mockGetEmissarySignature = vitest_1.vi.fn().mockResolvedValue(MOCK_EMISSARY);
15
+ const mockGetEip1271Signature = vitest_1.vi.fn().mockResolvedValue(MOCK_EIP1271);
16
+ const mockIsSessionEnabled = vitest_1.vi.fn().mockResolvedValue(true);
17
+ const MOCK_TYPED_DATA = {
18
+ domain: {
19
+ name: 'Test',
20
+ version: '1',
21
+ chainId: 8453,
22
+ verifyingContract: MOCK_EXECUTOR,
23
+ },
24
+ types: {
25
+ Test: [{ name: 'value', type: 'uint256' }],
26
+ },
27
+ primaryType: 'Test',
28
+ message: { value: 1n },
29
+ };
30
+ return {
31
+ MOCK_EMISSARY: MOCK_EMISSARY,
32
+ MOCK_EIP1271: MOCK_EIP1271,
33
+ MOCK_ACCOUNT: MOCK_ACCOUNT,
34
+ MOCK_EXECUTOR: MOCK_EXECUTOR,
35
+ MOCK_VALIDATOR: MOCK_VALIDATOR,
36
+ mockGetEmissarySignature,
37
+ mockGetEip1271Signature,
38
+ mockIsSessionEnabled,
39
+ MOCK_TYPED_DATA,
40
+ };
41
+ });
42
+ vitest_1.vi.mock('../orchestrator', () => ({
43
+ getOrchestrator: vitest_1.vi.fn(),
44
+ }));
45
+ vitest_1.vi.mock('../accounts', () => ({
46
+ getAddress: vitest_1.vi.fn().mockReturnValue(MOCK_ACCOUNT),
47
+ getEmissarySignature: mockGetEmissarySignature,
48
+ getEip1271Signature: mockGetEip1271Signature,
49
+ getSmartAccount: vitest_1.vi.fn(),
50
+ getEip712Domain: vitest_1.vi.fn(),
51
+ getAccountProvider: vitest_1.vi.fn(),
52
+ getInitCode: vitest_1.vi.fn(),
53
+ getGuardianSmartAccount: vitest_1.vi.fn(),
54
+ getTypedDataPackedSignature: vitest_1.vi.fn(),
55
+ toErc6492Signature: vitest_1.vi.fn(),
56
+ is7702: vitest_1.vi.fn().mockReturnValue(false),
57
+ getEip7702InitCall: vitest_1.vi.fn(),
58
+ EoaAccountMustHaveAccountError: class extends Error {
59
+ },
60
+ EoaSigningMethodNotConfiguredError: class extends Error {
61
+ },
62
+ FactoryArgsNotAvailableError: class extends Error {
63
+ },
64
+ }));
65
+ vitest_1.vi.mock('../accounts/signing/common', () => ({
66
+ convertOwnerSetToSignerSet: vitest_1.vi.fn(),
67
+ }));
68
+ vitest_1.vi.mock('../accounts/startale', () => ({
69
+ K1_DEFAULT_VALIDATOR_ADDRESS: '0x0000000000000000000000000000000000000000',
70
+ }));
71
+ vitest_1.vi.mock('../accounts/utils', () => ({
72
+ createTransport: vitest_1.vi.fn(),
73
+ getBundlerClient: vitest_1.vi.fn(),
74
+ }));
75
+ vitest_1.vi.mock('../modules', () => ({
76
+ getIntentExecutor: vitest_1.vi.fn().mockReturnValue({
77
+ address: MOCK_EXECUTOR,
78
+ type: 7,
79
+ initData: '0x',
80
+ deInitData: '0x',
81
+ additionalContext: '0x',
82
+ }),
83
+ }));
84
+ vitest_1.vi.mock('../modules/validators', () => ({
85
+ isSessionEnabled: mockIsSessionEnabled,
86
+ getOwnerValidator: vitest_1.vi.fn().mockReturnValue({
87
+ address: MOCK_VALIDATOR,
88
+ type: 1,
89
+ initData: '0x',
90
+ deInitData: '0x',
91
+ additionalContext: '0x',
92
+ }),
93
+ buildMockSignature: vitest_1.vi.fn(),
94
+ getPermissionId: vitest_1.vi.fn().mockReturnValue('0x' + 'cc'.repeat(32)),
95
+ getSmartSessionValidator: vitest_1.vi.fn().mockReturnValue({
96
+ address: MOCK_VALIDATOR,
97
+ type: 1,
98
+ initData: '0x',
99
+ deInitData: '0x',
100
+ additionalContext: '0x',
101
+ }),
102
+ }));
103
+ vitest_1.vi.mock('../modules/validators/core', () => ({
104
+ supportsEip712: vitest_1.vi.fn().mockReturnValue(false),
105
+ getMultiFactorValidator: vitest_1.vi.fn(),
106
+ getSocialRecoveryValidator: vitest_1.vi.fn(),
107
+ getWebAuthnValidator: vitest_1.vi.fn(),
108
+ }));
109
+ vitest_1.vi.mock('../orchestrator/registry', () => ({
110
+ getChainById: vitest_1.vi.fn().mockReturnValue(chains_1.base),
111
+ getTokenAddress: vitest_1.vi.fn(),
112
+ resolveTokenAddress: vitest_1.vi.fn(),
113
+ }));
114
+ vitest_1.vi.mock('./singleChainOps', () => ({
115
+ getTypedData: vitest_1.vi.fn().mockReturnValue(MOCK_TYPED_DATA),
116
+ }));
117
+ vitest_1.vi.mock('./compact', () => ({
118
+ getCompactTypedData: vitest_1.vi.fn().mockReturnValue(MOCK_TYPED_DATA),
119
+ }));
120
+ vitest_1.vi.mock('./error', () => ({
121
+ Eip7702InitSignatureRequiredError: class extends Error {
122
+ },
123
+ SignerNotSupportedError: class extends Error {
124
+ },
125
+ }));
126
+ vitest_1.vi.mock('./permit2', () => ({
127
+ getTypedData: vitest_1.vi.fn().mockReturnValue(MOCK_TYPED_DATA),
128
+ }));
129
+ // --- Helpers ---
130
+ const makeElement = (settlementLayer) => ({
131
+ mandate: {
132
+ destinationChainId: chains_1.base.id,
133
+ destinationOps: {
134
+ vt: ('0x' + '00'.repeat(32)),
135
+ ops: [],
136
+ },
137
+ preClaimOps: {
138
+ vt: ('0x' + '00'.repeat(32)),
139
+ ops: [],
140
+ },
141
+ qualifier: {
142
+ settlementContext: {
143
+ settlementLayer,
144
+ fundingMethod: 'NO_FUNDING',
145
+ using7579: true,
146
+ gasRefund: {
147
+ token: viem_1.zeroAddress,
148
+ exchangeRate: 0n,
149
+ overhead: 0n,
150
+ },
151
+ },
152
+ },
153
+ },
154
+ });
155
+ const makeIntentOp = (settlementLayer, targetExecutionNonce = '200') => {
156
+ const layers = Array.isArray(settlementLayer)
157
+ ? settlementLayer
158
+ : [settlementLayer];
159
+ return {
160
+ sponsor: MOCK_ACCOUNT,
161
+ nonce: '100',
162
+ targetExecutionNonce,
163
+ expires: '9999999999',
164
+ elements: layers.map(makeElement),
165
+ serverSignature: '0x',
166
+ signedMetadata: { fees: {} },
167
+ };
168
+ };
169
+ // verifyExecutions auto-derived as true when session.actions is non-empty
170
+ const sessionWithActions = {
171
+ chain: chains_1.base,
172
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
173
+ actions: [{ policies: [{ type: 'usage-limit', limit: 1n }] }],
174
+ };
175
+ // verifyExecutions auto-derived as false when session.actions is absent
176
+ const sessionNoActions = {
177
+ chain: chains_1.base,
178
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
179
+ };
180
+ const config = {
181
+ apiKey: 'test',
182
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
183
+ };
184
+ const makeSessionSigners = (session) => ({
185
+ type: 'experimental_session',
186
+ session,
187
+ });
188
+ const ownerSigners = {
189
+ type: 'owner',
190
+ kind: 'ecdsa',
191
+ accounts: [consts_1.accountA],
192
+ };
193
+ // --- Tests ---
194
+ (0, vitest_1.beforeEach)(() => {
195
+ vitest_1.vi.clearAllMocks();
196
+ mockGetEmissarySignature.mockResolvedValue(MOCK_EMISSARY);
197
+ mockGetEip1271Signature.mockResolvedValue(MOCK_EIP1271);
198
+ mockIsSessionEnabled.mockResolvedValue(true);
199
+ });
200
+ (0, vitest_1.describe)('getTargetExecutionSignature', () => {
201
+ (0, vitest_1.test)('undefined signers returns undefined', async () => {
202
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
203
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, undefined);
204
+ (0, vitest_1.expect)(result).toBeUndefined();
205
+ });
206
+ (0, vitest_1.test)('non-session signers returns undefined', async () => {
207
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
208
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, ownerSigners);
209
+ (0, vitest_1.expect)(result).toBeUndefined();
210
+ });
211
+ (0, vitest_1.test)('no INTENT_EXECUTOR ops (SAME_CHAIN only) returns undefined', async () => {
212
+ // PERMIT2 settlement also uses SAME_CHAIN layer — both are covered by this case
213
+ const intentOp = makeIntentOp('SAME_CHAIN');
214
+ const signers = makeSessionSigners(sessionWithActions);
215
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
216
+ (0, vitest_1.expect)(result).toBeUndefined();
217
+ });
218
+ (0, vitest_1.test)('INTENT_EXECUTOR + verifyExecutions: false (no actions) returns undefined', async () => {
219
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
220
+ const signers = makeSessionSigners(sessionNoActions);
221
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
222
+ (0, vitest_1.expect)(result).toBeUndefined();
223
+ });
224
+ (0, vitest_1.test)('explicit verifyExecutions: false on signers overrides session with actions', async () => {
225
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
226
+ const signers = {
227
+ type: 'experimental_session',
228
+ session: sessionWithActions,
229
+ verifyExecutions: false,
230
+ };
231
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
232
+ (0, vitest_1.expect)(result).toBeUndefined();
233
+ });
234
+ (0, vitest_1.test)('explicit verifyExecutions: true on signers overrides session without actions', async () => {
235
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
236
+ const signers = {
237
+ type: 'experimental_session',
238
+ session: sessionNoActions,
239
+ verifyExecutions: true,
240
+ };
241
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
242
+ (0, vitest_1.expect)(result).toBe(MOCK_EMISSARY);
243
+ });
244
+ (0, vitest_1.test)('session not yet enabled still resolves verifyExecutions from actions', async () => {
245
+ mockIsSessionEnabled.mockResolvedValueOnce(false);
246
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
247
+ const signers = makeSessionSigners(sessionWithActions);
248
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
249
+ (0, vitest_1.expect)(result).toBe(MOCK_EMISSARY);
250
+ });
251
+ (0, vitest_1.test)('mixed INTENT_EXECUTOR + SAME_CHAIN elements returns emissary sig', async () => {
252
+ const intentOp = makeIntentOp(['INTENT_EXECUTOR', 'SAME_CHAIN']);
253
+ const signers = makeSessionSigners(sessionWithActions);
254
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
255
+ (0, vitest_1.expect)(result).toBe(MOCK_EMISSARY);
256
+ });
257
+ (0, vitest_1.test)('INTENT_EXECUTOR + verifyExecutions: true returns emissary sig', async () => {
258
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
259
+ const signers = makeSessionSigners(sessionWithActions);
260
+ const result = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
261
+ (0, vitest_1.expect)(result).toBe(MOCK_EMISSARY);
262
+ (0, vitest_1.expect)(mockGetEmissarySignature).toHaveBeenCalledTimes(1);
263
+ (0, vitest_1.expect)(mockGetEip1271Signature).not.toHaveBeenCalled();
264
+ });
265
+ });
266
+ (0, vitest_1.describe)('signIntent with owner signers', () => {
267
+ (0, vitest_1.test)('gives EIP-1271 destinationSignature, not emissary', async () => {
268
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
269
+ const { destinationSignature, originSignatures } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, ownerSigners);
270
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EIP1271);
271
+ (0, vitest_1.expect)(mockGetEip1271Signature).toHaveBeenCalled();
272
+ (0, vitest_1.expect)(mockGetEmissarySignature).not.toHaveBeenCalled();
273
+ (0, vitest_1.expect)(originSignatures).toHaveLength(1);
274
+ });
275
+ });
276
+ (0, vitest_1.describe)('signIntent destinationSignature', () => {
277
+ (0, vitest_1.test)('verifyExecutions: true + INTENT_EXECUTOR — emissary destinationSignature, both sigs generated', async () => {
278
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
279
+ const signers = makeSessionSigners(sessionWithActions);
280
+ const { destinationSignature, originSignatures } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
281
+ // destinationSignature picks preClaimSig (emissary format) from the { preClaimSig, notarizedClaimSig } pair
282
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EMISSARY);
283
+ // Both emissary and EIP-1271 are produced internally (preClaimSig + notarizedClaimSig)
284
+ (0, vitest_1.expect)(mockGetEmissarySignature).toHaveBeenCalled();
285
+ (0, vitest_1.expect)(mockGetEip1271Signature).toHaveBeenCalled();
286
+ (0, vitest_1.expect)(originSignatures).toHaveLength(1);
287
+ });
288
+ (0, vitest_1.test)('verifyExecutions: false + INTENT_EXECUTOR — EIP-1271 destinationSignature only', async () => {
289
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
290
+ const signers = makeSessionSigners(sessionNoActions);
291
+ const { destinationSignature, originSignatures } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
292
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EIP1271);
293
+ (0, vitest_1.expect)(mockGetEmissarySignature).not.toHaveBeenCalled();
294
+ (0, vitest_1.expect)(originSignatures).toHaveLength(1);
295
+ });
296
+ (0, vitest_1.test)('verifyExecutions: true + SAME_CHAIN — emissary destinationSignature', async () => {
297
+ const intentOp = makeIntentOp('SAME_CHAIN');
298
+ const signers = makeSessionSigners(sessionWithActions);
299
+ const { destinationSignature } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
300
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EMISSARY);
301
+ });
302
+ (0, vitest_1.test)('multi-element op produces one originSignature per element', async () => {
303
+ const intentOp = makeIntentOp(['INTENT_EXECUTOR', 'INTENT_EXECUTOR']);
304
+ const signers = makeSessionSigners(sessionWithActions);
305
+ const { originSignatures } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
306
+ (0, vitest_1.expect)(originSignatures).toHaveLength(2);
307
+ });
308
+ });
309
+ (0, vitest_1.describe)('signIntent + getTargetExecutionSignature routing', () => {
310
+ (0, vitest_1.test)('INTENT_EXECUTOR + verifyExecutions: true — EMISSARY for both', async () => {
311
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
312
+ const signers = makeSessionSigners(sessionWithActions);
313
+ const { destinationSignature } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
314
+ const targetExecutionSignature = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
315
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EMISSARY);
316
+ (0, vitest_1.expect)(targetExecutionSignature).toBe(MOCK_EMISSARY);
317
+ });
318
+ (0, vitest_1.test)('INTENT_EXECUTOR + verifyExecutions: false — EIP-1271 destination, undefined target', async () => {
319
+ const intentOp = makeIntentOp('INTENT_EXECUTOR');
320
+ const signers = makeSessionSigners(sessionNoActions);
321
+ const { destinationSignature } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
322
+ const targetExecutionSignature = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
323
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EIP1271);
324
+ (0, vitest_1.expect)(targetExecutionSignature).toBeUndefined();
325
+ });
326
+ (0, vitest_1.test)('SAME_CHAIN + verifyExecutions: true — EMISSARY destination, undefined target', async () => {
327
+ const intentOp = makeIntentOp('SAME_CHAIN');
328
+ const signers = makeSessionSigners(sessionWithActions);
329
+ const { destinationSignature } = await (0, utils_1.signIntent)(config, intentOp, chains_1.base, signers);
330
+ const targetExecutionSignature = await (0, utils_1.getTargetExecutionSignature)(config, intentOp, chains_1.base, signers);
331
+ (0, vitest_1.expect)(destinationSignature).toBe(MOCK_EMISSARY);
332
+ (0, vitest_1.expect)(targetExecutionSignature).toBeUndefined();
333
+ });
334
+ });
@@ -8,6 +8,7 @@ type InternalSignerSet = Exclude<SignerSet, SessionSignerSet> | ResolvedSessionS
8
8
  declare function resolveSessionForChain(signers: SessionSignerSet, chainId: number): {
9
9
  session: Session;
10
10
  enableData?: SessionEnableData;
11
+ verifyExecutions?: boolean;
11
12
  };
12
13
  interface UserOperationResult {
13
14
  type: 'userop';
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
@@ -49,11 +49,13 @@ async function resolveSignersForChain(config, signers, chainId) {
49
49
  const resolved = resolveSessionForChain(signers, chainId);
50
50
  const enabled = await (0, validators_1.isSessionEnabled)((0, accounts_1.getAddress)(config), config.provider, resolved.session, config.useDevContracts);
51
51
  const enableData = enabled ? undefined : resolved.enableData;
52
+ const hasExplicitActions = !!resolved.session.actions?.length;
53
+ const verifyExecutions = resolved.verifyExecutions ?? signers.verifyExecutions ?? hasExplicitActions;
52
54
  return {
53
55
  type: 'experimental_session',
54
56
  session: resolved.session,
55
57
  enableData,
56
- verifyExecutions: !!enableData,
58
+ verifyExecutions,
57
59
  };
58
60
  }
59
61
  function resolveSessionForChain(signers, chainId) {
@@ -134,7 +136,16 @@ async function getTargetExecutionSignature(config, intentOp, targetChain, signer
134
136
  if (signers?.type !== 'experimental_session') {
135
137
  return undefined;
136
138
  }
139
+ const settlementLayers = intentOp.elements.map((e) => e.mandate.qualifier.settlementContext.settlementLayer);
140
+ const hasIntentExecutorOps = settlementLayers.some((l) => l === 'INTENT_EXECUTOR');
141
+ if (!hasIntentExecutorOps) {
142
+ return undefined;
143
+ }
137
144
  const resolvedSigners = await resolveSignersForChain(config, signers, targetChain.id);
145
+ if (!isResolvedSessionSignerSet(resolvedSigners) ||
146
+ !resolvedSigners.verifyExecutions) {
147
+ return undefined;
148
+ }
138
149
  const destination = getTargetExecutionMessage(config, intentOp);
139
150
  const validator = getValidator(config, signers);
140
151
  if (!validator) {
@@ -564,18 +575,23 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
564
575
  const hash = (0, viem_1.hashTypedData)(parameters);
565
576
  if (isResolvedSessionSignerSet(signers) && signers.verifyExecutions) {
566
577
  if (targetExecution) {
567
- return await (0, accounts_1.getEmissarySignature)(config, {
578
+ const targetSigners = {
568
579
  type: 'experimental_session',
569
580
  session: signers.session,
570
581
  verifyExecutions: true,
571
- }, chain, hash);
582
+ enableData: signers.enableData,
583
+ };
584
+ // signWithSession (called inside getEmissarySignature) already calls packSignature
585
+ // internally, so no transform is needed here
586
+ return await (0, accounts_1.getEmissarySignature)(config, targetSigners, chain, hash);
572
587
  }
573
- const eip1271Signature = await (0, accounts_1.getEip1271Signature)(config, {
588
+ const sessionSignersForEip1271 = {
574
589
  type: 'experimental_session',
575
590
  session: signers.session,
576
591
  verifyExecutions: false,
577
592
  enableData: signers.enableData,
578
- }, chain, {
593
+ };
594
+ const eip1271Signature = await (0, accounts_1.getEip1271Signature)(config, sessionSignersForEip1271, chain, {
579
595
  address: validator.address,
580
596
  isRoot,
581
597
  }, hash);
@@ -590,6 +606,12 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
590
606
  notarizedClaimSig: eip1271Signature,
591
607
  };
592
608
  }
609
+ if (isResolvedSessionSignerSet(signers)) {
610
+ return await (0, accounts_1.getEip1271Signature)(config, signers, chain, {
611
+ address: validator.address,
612
+ isRoot,
613
+ }, hash);
614
+ }
593
615
  return await (0, accounts_1.getEip1271Signature)(config, signers, chain, {
594
616
  address: validator.address,
595
617
  isRoot,
@@ -1,4 +1,4 @@
1
1
  import { getMockSignature, getOwnerValidator, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS } from './core';
2
- import { buildMockSignature, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled } from './smart-sessions';
3
- export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, };
2
+ import { buildMockSignature, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, packSignature } from './smart-sessions';
3
+ export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, packSignature, };
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSessionEnabled = exports.buildMockSignature = exports.getMockSignature = exports.getPermissionId = exports.getEnableSessionCall = exports.getSmartSessionValidator = exports.getOwnerValidator = exports.SMART_SESSION_EMISSARY_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
3
+ exports.packSignature = exports.isSessionEnabled = exports.buildMockSignature = exports.getMockSignature = exports.getPermissionId = exports.getEnableSessionCall = exports.getSmartSessionValidator = exports.getOwnerValidator = exports.SMART_SESSION_EMISSARY_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
4
4
  const core_1 = require("./core");
5
5
  Object.defineProperty(exports, "getMockSignature", { enumerable: true, get: function () { return core_1.getMockSignature; } });
6
6
  Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: function () { return core_1.getOwnerValidator; } });
@@ -14,3 +14,4 @@ Object.defineProperty(exports, "getEnableSessionCall", { enumerable: true, get:
14
14
  Object.defineProperty(exports, "getPermissionId", { enumerable: true, get: function () { return smart_sessions_1.getPermissionId; } });
15
15
  Object.defineProperty(exports, "getSmartSessionValidator", { enumerable: true, get: function () { return smart_sessions_1.getSmartSessionValidator; } });
16
16
  Object.defineProperty(exports, "isSessionEnabled", { enumerable: true, get: function () { return smart_sessions_1.isSessionEnabled; } });
17
+ Object.defineProperty(exports, "packSignature", { enumerable: true, get: function () { return smart_sessions_1.packSignature; } });
@@ -1,5 +1,5 @@
1
1
  import { type Address, type Hex, type TypedDataDefinition } from 'viem';
2
- import type { ProviderConfig, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData } from '../../types';
2
+ import type { Policy, ProviderConfig, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData } from '../../types';
3
3
  import { type Module } from '../common';
4
4
  import { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV } from './core';
5
5
  interface SessionData {
@@ -164,6 +164,13 @@ declare const SMART_SESSION_MODE_ENABLE = "0x01";
164
164
  declare const SMART_SESSIONS_FALLBACK_TARGET_FLAG: Address;
165
165
  declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG: Hex;
166
166
  declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION: Hex;
167
+ declare const SPENDING_LIMITS_POLICY_ADDRESS: Address;
168
+ declare const TIME_FRAME_POLICY_ADDRESS: Address;
169
+ declare const SUDO_POLICY_ADDRESS: Address;
170
+ declare const UNIVERSAL_ACTION_POLICY_ADDRESS: Address;
171
+ declare const USAGE_LIMIT_POLICY_ADDRESS: Address;
172
+ declare const VALUE_LIMIT_POLICY_ADDRESS: Address;
173
+ declare const INTENT_EXECUTION_POLICY_ADDRESS: Address;
167
174
  interface ResolvedSessionSignerSet {
168
175
  type: 'experimental_session';
169
176
  session: Session;
@@ -181,8 +188,9 @@ declare function getEnableSessionCall(account: Address, session: Session, enable
181
188
  to: `0x${string}`;
182
189
  data: `0x${string}`;
183
190
  }>;
184
- declare function getSessionData(session: Session): SessionData;
191
+ declare function getSessionData(session: Session, useDevContracts?: boolean): SessionData;
185
192
  declare function getPermissionId(session: Session): `0x${string}`;
193
+ declare function getPolicyData(policy: Policy, useDevContracts?: boolean): PolicyData;
186
194
  declare function getSmartSessionValidator(config: RhinestoneConfig): Module | null;
187
195
  /**
188
196
  * Builds a mockSignature for SSX validation gas estimation.
@@ -193,6 +201,6 @@ declare function getSmartSessionValidator(config: RhinestoneConfig): Module | nu
193
201
  * simulates verifyExecution with the mock emissary to estimate gas before the user signs.
194
202
  */
195
203
  declare function buildMockSignature(session: Session, useDevContracts?: boolean, chainCount?: number): Hex;
196
- export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, packSignature, getSessionData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
204
+ export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, SPENDING_LIMITS_POLICY_ADDRESS, TIME_FRAME_POLICY_ADDRESS, SUDO_POLICY_ADDRESS, UNIVERSAL_ACTION_POLICY_ADDRESS, USAGE_LIMIT_POLICY_ADDRESS, VALUE_LIMIT_POLICY_ADDRESS, INTENT_EXECUTION_POLICY_ADDRESS, packSignature, getSessionData, getPolicyData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
197
205
  export type { ChainSession, ChainDigest, ResolvedSessionSignerSet, SessionData, SmartSessionModeType, SessionDetails, };
198
206
  //# sourceMappingURL=smart-sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = exports.SMART_SESSIONS_FALLBACK_TARGET_FLAG = exports.SMART_SESSION_EMISSARY_ADDRESS_DEV = exports.SMART_SESSION_EMISSARY_ADDRESS = void 0;
6
+ exports.INTENT_EXECUTION_POLICY_ADDRESS = exports.VALUE_LIMIT_POLICY_ADDRESS = exports.USAGE_LIMIT_POLICY_ADDRESS = exports.UNIVERSAL_ACTION_POLICY_ADDRESS = exports.SUDO_POLICY_ADDRESS = exports.TIME_FRAME_POLICY_ADDRESS = exports.SPENDING_LIMITS_POLICY_ADDRESS = exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = exports.SMART_SESSIONS_FALLBACK_TARGET_FLAG = exports.SMART_SESSION_EMISSARY_ADDRESS_DEV = exports.SMART_SESSION_EMISSARY_ADDRESS = void 0;
7
7
  exports.packSignature = packSignature;
8
8
  exports.getSessionData = getSessionData;
9
+ exports.getPolicyData = getPolicyData;
9
10
  exports.getEnableSessionCall = getEnableSessionCall;
10
11
  exports.getPermissionId = getPermissionId;
11
12
  exports.getSmartSessionValidator = getSmartSessionValidator;
@@ -80,12 +81,20 @@ exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = SMART_SESSIONS_FALLBACK_T
80
81
  const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = '0x00000002';
81
82
  exports.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION;
82
83
  const SPENDING_LIMITS_POLICY_ADDRESS = '0x00000088d48cf102a8cdb0137a9b173f957c6343';
84
+ exports.SPENDING_LIMITS_POLICY_ADDRESS = SPENDING_LIMITS_POLICY_ADDRESS;
83
85
  const TIME_FRAME_POLICY_ADDRESS = '0x8177451511de0577b911c254e9551d981c26dc72';
86
+ exports.TIME_FRAME_POLICY_ADDRESS = TIME_FRAME_POLICY_ADDRESS;
84
87
  const SUDO_POLICY_ADDRESS = '0x0000003111cd8e92337c100f22b7a9dbf8dee301';
88
+ exports.SUDO_POLICY_ADDRESS = SUDO_POLICY_ADDRESS;
85
89
  const UNIVERSAL_ACTION_POLICY_ADDRESS = '0x0000006dda6c463511c4e9b05cfc34c1247fcf1f';
90
+ exports.UNIVERSAL_ACTION_POLICY_ADDRESS = UNIVERSAL_ACTION_POLICY_ADDRESS;
86
91
  const USAGE_LIMIT_POLICY_ADDRESS = '0x1f34ef8311345a3a4a4566af321b313052f51493';
92
+ exports.USAGE_LIMIT_POLICY_ADDRESS = USAGE_LIMIT_POLICY_ADDRESS;
87
93
  const VALUE_LIMIT_POLICY_ADDRESS = '0x730da93267e7e513e932301b47f2ac7d062abc83';
88
- const INTENT_EXECUTION_POLICY_ADDRESS = '0xa09b47de6e510cbdc18b97e9239bedcb44fb4901';
94
+ exports.VALUE_LIMIT_POLICY_ADDRESS = VALUE_LIMIT_POLICY_ADDRESS;
95
+ const INTENT_EXECUTION_POLICY_ADDRESS = '0xe9eA54d063975cDee9e06b7636d5563d95a7A23C';
96
+ exports.INTENT_EXECUTION_POLICY_ADDRESS = INTENT_EXECUTION_POLICY_ADDRESS;
97
+ const INTENT_EXECUTION_POLICY_ADDRESS_DEV = '0xa09b47de6e510cbdc18b97e9239bedcb44fb4901';
89
98
  const ACTION_CONDITION_EQUAL = 0;
90
99
  const ACTION_CONDITION_GREATER_THAN = 1;
91
100
  const ACTION_CONDITION_LESS_THAN = 2;
@@ -241,7 +250,7 @@ function packSignature(signers, validatorSignature) {
241
250
  async function getSessionDetails(account, sessions, provider, useDevContracts) {
242
251
  const lockTag = '0x000000000000000000000000';
243
252
  const sessionNonces = await Promise.all(sessions.map((session) => getSessionNonce(account, session, lockTag, provider, useDevContracts)));
244
- const sessionDatas = sessions.map((session) => getSessionData(session));
253
+ const sessionDatas = sessions.map((session) => getSessionData(session, useDevContracts));
245
254
  const signedSessions = sessionDatas.map((session, index) => getSignedSession(account, lockTag, session, sessionNonces[index], useDevContracts));
246
255
  const chains = sessions.map((session) => session.chain);
247
256
  const hashesAndChainIds = signedSessions.map((session, index) => ({
@@ -370,7 +379,7 @@ function getSignedSession(account, lockTag, session, nonce, useDevContracts) {
370
379
  };
371
380
  }
372
381
  async function getEnableSessionCall(account, session, enableSessionSignature, hashesAndChainIds, sessionToEnableIndex, useDevContracts) {
373
- const sessionData = getSessionData(session);
382
+ const sessionData = getSessionData(session, useDevContracts);
374
383
  const permissionId = getPermissionId(session);
375
384
  return {
376
385
  to: getSmartSessionEmissaryAddress(useDevContracts),
@@ -399,7 +408,7 @@ async function getEnableSessionCall(account, session, enableSessionSignature, ha
399
408
  }),
400
409
  };
401
410
  }
402
- function getSessionData(session) {
411
+ function getSessionData(session, useDevContracts) {
403
412
  const validator = (0, core_1.getValidator)(session.owners);
404
413
  const allowedContent = [
405
414
  {
@@ -426,6 +435,7 @@ function getSessionData(session) {
426
435
  },
427
436
  ],
428
437
  };
438
+ const userHasFallbackAction = session.actions?.some((action) => !('target' in action) && !('selector' in action));
429
439
  const injectedActions = [
430
440
  // Native token wrapping
431
441
  {
@@ -438,13 +448,12 @@ function getSessionData(session) {
438
448
  stateMutability: 'payable',
439
449
  }),
440
450
  },
441
- {
442
- policies: [
443
- {
444
- type: 'intent-execution',
445
- },
446
- ],
447
- },
451
+ // Only inject the intent-execution fallback if the user hasn't defined their own
452
+ // fallback action — otherwise both map to the same actionId and their policies merge,
453
+ // causing IntentExecutionPolicy to be required for all fallback calls
454
+ ...(!userHasFallbackAction
455
+ ? [{ policies: [{ type: 'intent-execution' }] }]
456
+ : []),
448
457
  ];
449
458
  const actions = session.actions
450
459
  ? [...session.actions, ...injectedActions].map((action) => ({
@@ -454,7 +463,7 @@ function getSessionData(session) {
454
463
  actionTarget: 'target' in action
455
464
  ? action.target
456
465
  : SMART_SESSIONS_FALLBACK_TARGET_FLAG,
457
- actionPolicies: action.policies?.map((policy) => getPolicyData(policy)) ?? [
466
+ actionPolicies: action.policies?.map((policy) => getPolicyData(policy, useDevContracts)) ?? [
458
467
  {
459
468
  policy: SUDO_POLICY_ADDRESS,
460
469
  initData: '0x',
@@ -492,7 +501,7 @@ function getPermissionId(session) {
492
501
  sessionData.salt,
493
502
  ]));
494
503
  }
495
- function getPolicyData(policy) {
504
+ function getPolicyData(policy, useDevContracts) {
496
505
  switch (policy.type) {
497
506
  case 'sudo':
498
507
  return {
@@ -501,7 +510,9 @@ function getPolicyData(policy) {
501
510
  };
502
511
  case 'intent-execution':
503
512
  return {
504
- policy: INTENT_EXECUTION_POLICY_ADDRESS,
513
+ policy: useDevContracts
514
+ ? INTENT_EXECUTION_POLICY_ADDRESS_DEV
515
+ : INTENT_EXECUTION_POLICY_ADDRESS,
505
516
  initData: '0x',
506
517
  };
507
518
  case 'universal-action': {
@@ -5,29 +5,249 @@ const chains_1 = require("viem/chains");
5
5
  const vitest_1 = require("vitest");
6
6
  const consts_1 = require("../../../test/consts");
7
7
  const smart_sessions_1 = require("./smart-sessions");
8
- // Minimal session with a single ecdsa owner, no custom actions
8
+ // ---------------------------------------------------------------------------
9
+ // Shared fixtures
10
+ // ---------------------------------------------------------------------------
9
11
  const baseSession = {
10
12
  chain: chains_1.base,
11
- owners: {
12
- type: 'ecdsa',
13
- accounts: [consts_1.accountA],
14
- },
13
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
15
14
  };
16
- // Session with an explicit action + sudo policy
17
15
  const sessionWithAction = {
18
16
  chain: chains_1.base,
19
- owners: {
20
- type: 'ecdsa',
21
- accounts: [consts_1.accountA],
22
- },
17
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
23
18
  actions: [
24
19
  {
25
20
  target: '0x1111111111111111111111111111111111111111',
26
- selector: '0xa9059cbb', // transfer(address,uint256)
21
+ selector: '0xa9059cbb',
27
22
  policies: [{ type: 'sudo' }],
28
23
  },
29
24
  ],
30
25
  };
26
+ const dummySig = `0x${'00'.repeat(65)}`;
27
+ // ---------------------------------------------------------------------------
28
+ // A. Policy encoding
29
+ // ---------------------------------------------------------------------------
30
+ (0, vitest_1.describe)('getPolicyData', () => {
31
+ (0, vitest_1.test)('sudo → SUDO_POLICY_ADDRESS, empty initData', () => {
32
+ const result = (0, smart_sessions_1.getPolicyData)({ type: 'sudo' });
33
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.SUDO_POLICY_ADDRESS);
34
+ (0, vitest_1.expect)(result.initData).toBe('0x');
35
+ });
36
+ (0, vitest_1.test)('intent-execution → INTENT_EXECUTION_POLICY_ADDRESS, empty initData', () => {
37
+ const result = (0, smart_sessions_1.getPolicyData)({ type: 'intent-execution' });
38
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.INTENT_EXECUTION_POLICY_ADDRESS);
39
+ (0, vitest_1.expect)(result.initData).toBe('0x');
40
+ });
41
+ (0, vitest_1.test)('spending-limits encodes token addresses and amounts', () => {
42
+ const token = '0xaabbccdd00000000000000000000000000000001';
43
+ const result = (0, smart_sessions_1.getPolicyData)({
44
+ type: 'spending-limits',
45
+ limits: [{ token, amount: 1000n }],
46
+ });
47
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.SPENDING_LIMITS_POLICY_ADDRESS);
48
+ const expected = (0, viem_1.encodeAbiParameters)([{ type: 'address[]' }, { type: 'uint256[]' }], [[token], [1000n]]);
49
+ (0, vitest_1.expect)(result.initData).toBe(expected);
50
+ });
51
+ (0, vitest_1.test)('time-frame encodes validUntil/validAfter in seconds (ms → s)', () => {
52
+ const validUntil = 1_800_000_000_000;
53
+ const validAfter = 1_700_000_000_000;
54
+ const result = (0, smart_sessions_1.getPolicyData)({ type: 'time-frame', validUntil, validAfter });
55
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.TIME_FRAME_POLICY_ADDRESS);
56
+ const expected = (0, viem_1.encodePacked)(['uint48', 'uint48'], [Math.floor(validUntil / 1000), Math.floor(validAfter / 1000)]);
57
+ (0, vitest_1.expect)(result.initData).toBe(expected);
58
+ });
59
+ (0, vitest_1.test)('usage-limit encodes limit as uint128', () => {
60
+ const result = (0, smart_sessions_1.getPolicyData)({ type: 'usage-limit', limit: 5n });
61
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.USAGE_LIMIT_POLICY_ADDRESS);
62
+ (0, vitest_1.expect)(result.initData).toBe((0, viem_1.encodePacked)(['uint128'], [5n]));
63
+ });
64
+ (0, vitest_1.test)('value-limit encodes limit as uint256', () => {
65
+ const limit = (0, viem_1.parseEther)('1');
66
+ const result = (0, smart_sessions_1.getPolicyData)({ type: 'value-limit', limit });
67
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.VALUE_LIMIT_POLICY_ADDRESS);
68
+ (0, vitest_1.expect)(result.initData).toBe((0, viem_1.encodeAbiParameters)([{ type: 'uint256' }], [limit]));
69
+ });
70
+ (0, vitest_1.test)('universal-action → UNIVERSAL_ACTION_POLICY_ADDRESS, non-empty initData', () => {
71
+ const result = (0, smart_sessions_1.getPolicyData)({
72
+ type: 'universal-action',
73
+ valueLimitPerUse: 0n,
74
+ rules: [
75
+ {
76
+ condition: 'equal',
77
+ calldataOffset: 4n,
78
+ referenceValue: 100n,
79
+ },
80
+ ],
81
+ });
82
+ (0, vitest_1.expect)(result.policy).toBe(smart_sessions_1.UNIVERSAL_ACTION_POLICY_ADDRESS);
83
+ (0, vitest_1.expect)(result.initData.length).toBeGreaterThan(2);
84
+ });
85
+ });
86
+ // ---------------------------------------------------------------------------
87
+ // B. getSessionData
88
+ // ---------------------------------------------------------------------------
89
+ (0, vitest_1.describe)('getSessionData', () => {
90
+ (0, vitest_1.test)('no actions → single sudoAction fallback', () => {
91
+ const data = (0, smart_sessions_1.getSessionData)(baseSession);
92
+ (0, vitest_1.expect)(data.actions).toHaveLength(1);
93
+ (0, vitest_1.expect)(data.actions[0].actionTarget).toBe(smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_FLAG);
94
+ (0, vitest_1.expect)(data.actions[0].actionTargetSelector).toBe(smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG);
95
+ });
96
+ (0, vitest_1.test)('explicit actions → user action + 2 injected (WETH deposit + intent-execution fallback)', () => {
97
+ const data = (0, smart_sessions_1.getSessionData)(sessionWithAction);
98
+ (0, vitest_1.expect)(data.actions).toHaveLength(3);
99
+ (0, vitest_1.expect)(data.actions[0].actionTarget).toBe('0x1111111111111111111111111111111111111111');
100
+ // injected WETH deposit — target is the wrapped token (non-zero address)
101
+ (0, vitest_1.expect)(data.actions[1].actionTarget).not.toBe('0x0000000000000000000000000000000000000000');
102
+ // injected intent-execution fallback
103
+ (0, vitest_1.expect)(data.actions[2].actionTarget).toBe(smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_FLAG);
104
+ });
105
+ (0, vitest_1.test)('multiple policies on one action', () => {
106
+ const session = {
107
+ chain: chains_1.base,
108
+ owners: { type: 'ecdsa', accounts: [consts_1.accountA] },
109
+ actions: [
110
+ {
111
+ target: '0x2222222222222222222222222222222222222222',
112
+ selector: '0x12345678',
113
+ policies: [{ type: 'sudo' }, { type: 'usage-limit', limit: 3n }],
114
+ },
115
+ ],
116
+ };
117
+ const data = (0, smart_sessions_1.getSessionData)(session);
118
+ (0, vitest_1.expect)(data.actions[0].actionPolicies).toHaveLength(2);
119
+ (0, vitest_1.expect)(data.actions[0].actionPolicies[0].policy).toBe(smart_sessions_1.SUDO_POLICY_ADDRESS);
120
+ (0, vitest_1.expect)(data.actions[0].actionPolicies[1].policy).toBe(smart_sessions_1.USAGE_LIMIT_POLICY_ADDRESS);
121
+ });
122
+ (0, vitest_1.test)('salt is always zeroHash', () => {
123
+ (0, vitest_1.expect)((0, smart_sessions_1.getSessionData)(baseSession).salt).toBe(viem_1.zeroHash);
124
+ (0, vitest_1.expect)((0, smart_sessions_1.getSessionData)(sessionWithAction).salt).toBe(viem_1.zeroHash);
125
+ });
126
+ (0, vitest_1.test)('erc7739Policies has sudo erc1271 policy', () => {
127
+ const data = (0, smart_sessions_1.getSessionData)(baseSession);
128
+ (0, vitest_1.expect)(data.erc7739Policies.erc1271Policies[0].policy).toBe(smart_sessions_1.SUDO_POLICY_ADDRESS);
129
+ });
130
+ });
131
+ // ---------------------------------------------------------------------------
132
+ // C. getPermissionId
133
+ // ---------------------------------------------------------------------------
134
+ (0, vitest_1.describe)('getPermissionId', () => {
135
+ (0, vitest_1.test)('deterministic — same session returns same id', () => {
136
+ (0, vitest_1.expect)((0, smart_sessions_1.getPermissionId)(baseSession)).toBe((0, smart_sessions_1.getPermissionId)(baseSession));
137
+ });
138
+ (0, vitest_1.test)('different owners → different permissionId', () => {
139
+ const sessionB = {
140
+ chain: chains_1.base,
141
+ owners: { type: 'ecdsa', accounts: [consts_1.accountB] },
142
+ };
143
+ (0, vitest_1.expect)((0, smart_sessions_1.getPermissionId)(baseSession)).not.toBe((0, smart_sessions_1.getPermissionId)(sessionB));
144
+ });
145
+ (0, vitest_1.test)('actions do not affect permissionId (only validator identity does)', () => {
146
+ // permissionId is derived from sessionValidator + sessionValidatorInitData + salt,
147
+ // NOT from actions — so same owner with different actions yields the same id
148
+ (0, vitest_1.expect)((0, smart_sessions_1.getPermissionId)(baseSession)).toBe((0, smart_sessions_1.getPermissionId)(sessionWithAction));
149
+ });
150
+ (0, vitest_1.test)('returns 32-byte hex string', () => {
151
+ const id = (0, smart_sessions_1.getPermissionId)(baseSession);
152
+ (0, vitest_1.expect)(id).toMatch(/^0x[0-9a-f]{64}$/);
153
+ });
154
+ });
155
+ // ---------------------------------------------------------------------------
156
+ // D. packSignature
157
+ // ---------------------------------------------------------------------------
158
+ (0, vitest_1.describe)('packSignature', () => {
159
+ (0, vitest_1.test)('verifyExecutions: false → MODE_USE (0x00) prefix', () => {
160
+ const signers = {
161
+ type: 'experimental_session',
162
+ session: baseSession,
163
+ verifyExecutions: false,
164
+ };
165
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
166
+ (0, vitest_1.expect)((0, viem_1.slice)(result, 0, 1)).toBe('0x00');
167
+ });
168
+ (0, vitest_1.test)('verifyExecutions: false → bytes 1-32 are the permissionId', () => {
169
+ const signers = {
170
+ type: 'experimental_session',
171
+ session: baseSession,
172
+ verifyExecutions: false,
173
+ };
174
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
175
+ const permissionId = (0, smart_sessions_1.getPermissionId)(baseSession);
176
+ (0, vitest_1.expect)((0, viem_1.slice)(result, 1, 33)).toBe(permissionId);
177
+ });
178
+ (0, vitest_1.test)('verifyExecutions: false → total length > 66 bytes', () => {
179
+ const signers = {
180
+ type: 'experimental_session',
181
+ session: baseSession,
182
+ verifyExecutions: false,
183
+ };
184
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
185
+ const byteLen = (result.length - 2) / 2;
186
+ (0, vitest_1.expect)(byteLen).toBeGreaterThan(66);
187
+ });
188
+ (0, vitest_1.test)('verifyExecutions: true + enableData → MODE_ENABLE (0x01) prefix', () => {
189
+ const signers = {
190
+ type: 'experimental_session',
191
+ session: baseSession,
192
+ verifyExecutions: true,
193
+ enableData: {
194
+ userSignature: dummySig,
195
+ hashesAndChainIds: [
196
+ { chainId: BigInt(chains_1.base.id), sessionDigest: viem_1.zeroHash },
197
+ ],
198
+ sessionToEnableIndex: 0,
199
+ },
200
+ };
201
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
202
+ (0, vitest_1.expect)((0, viem_1.slice)(result, 0, 1)).toBe('0x01');
203
+ });
204
+ (0, vitest_1.test)('verifyExecutions: true + enableData → longer output (has compressed payload)', () => {
205
+ const signers = {
206
+ type: 'experimental_session',
207
+ session: baseSession,
208
+ verifyExecutions: true,
209
+ enableData: {
210
+ userSignature: dummySig,
211
+ hashesAndChainIds: [
212
+ { chainId: BigInt(chains_1.base.id), sessionDigest: viem_1.zeroHash },
213
+ ],
214
+ sessionToEnableIndex: 0,
215
+ },
216
+ };
217
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
218
+ const byteLen = (result.length - 2) / 2;
219
+ (0, vitest_1.expect)(byteLen).toBeGreaterThan(33);
220
+ });
221
+ (0, vitest_1.test)('verifyExecutions: true, no enableData → MODE_USE (0x00) prefix', () => {
222
+ const signers = {
223
+ type: 'experimental_session',
224
+ session: baseSession,
225
+ verifyExecutions: true,
226
+ };
227
+ const result = (0, smart_sessions_1.packSignature)(signers, dummySig);
228
+ (0, vitest_1.expect)((0, viem_1.slice)(result, 0, 1)).toBe('0x00');
229
+ });
230
+ (0, vitest_1.test)('different owners produce different packed bytes', () => {
231
+ const sessionB = {
232
+ chain: chains_1.base,
233
+ owners: { type: 'ecdsa', accounts: [consts_1.accountB] },
234
+ };
235
+ const signersA = {
236
+ type: 'experimental_session',
237
+ session: baseSession,
238
+ verifyExecutions: false,
239
+ };
240
+ const signersB = {
241
+ type: 'experimental_session',
242
+ session: sessionB,
243
+ verifyExecutions: false,
244
+ };
245
+ (0, vitest_1.expect)((0, smart_sessions_1.packSignature)(signersA, dummySig)).not.toBe((0, smart_sessions_1.packSignature)(signersB, dummySig));
246
+ });
247
+ });
248
+ // ---------------------------------------------------------------------------
249
+ // E. buildMockSignature (existing tests preserved + extras)
250
+ // ---------------------------------------------------------------------------
31
251
  (0, vitest_1.describe)('buildMockSignature', () => {
32
252
  (0, vitest_1.test)('first 20 bytes are the emissary address', () => {
33
253
  const sig = (0, smart_sessions_1.buildMockSignature)(baseSession);
@@ -36,26 +256,30 @@ const sessionWithAction = {
36
256
  });
37
257
  (0, vitest_1.test)('byte 20 is SMART_SESSION_MODE_ENABLE (0x01)', () => {
38
258
  const sig = (0, smart_sessions_1.buildMockSignature)(baseSession);
39
- // byte 21 in the sig = index 20 = the mode byte from packSignature
40
259
  const modeByte = (0, viem_1.slice)(sig, 20, 21);
41
260
  (0, vitest_1.expect)(modeByte).toBe('0x01');
42
261
  });
43
262
  (0, vitest_1.test)('total length is larger than just emissary + mode byte (has compressed payload)', () => {
44
263
  const sig = (0, smart_sessions_1.buildMockSignature)(baseSession);
45
- // 20 bytes emissary + 1 mode byte + at least some compressed data
46
- const byteLen = (sig.length - 2) / 2; // strip '0x', convert hex chars to bytes
264
+ const byteLen = (sig.length - 2) / 2;
47
265
  (0, vitest_1.expect)(byteLen).toBeGreaterThan(21);
48
266
  });
49
267
  (0, vitest_1.test)('sessions with different actions produce different sigData', () => {
50
268
  const sigBase = (0, smart_sessions_1.buildMockSignature)(baseSession);
51
269
  const sigWithAction = (0, smart_sessions_1.buildMockSignature)(sessionWithAction);
52
- // The session data (policies, targets) should differ → different compressed payloads
53
270
  (0, vitest_1.expect)(sigBase).not.toBe(sigWithAction);
54
271
  });
55
272
  (0, vitest_1.test)('useDevContracts=true produces different emissary prefix', () => {
56
273
  const sigProd = (0, smart_sessions_1.buildMockSignature)(baseSession, false);
57
274
  const sigDev = (0, smart_sessions_1.buildMockSignature)(baseSession, true);
58
- // First 20 bytes differ because prod vs dev emissary addresses differ
59
275
  (0, vitest_1.expect)((0, viem_1.slice)(sigProd, 0, 20)).not.toBe((0, viem_1.slice)(sigDev, 0, 20));
60
276
  });
277
+ (0, vitest_1.test)('chainCount=2 produces valid output (LibZip may compress smaller than chainCount=1)', () => {
278
+ const sig = (0, smart_sessions_1.buildMockSignature)(baseSession, false, 2);
279
+ // Must be at least emissaryAddress (20) + mode byte (1) + some payload
280
+ const byteLen = (sig.length - 2) / 2;
281
+ (0, vitest_1.expect)(byteLen).toBeGreaterThan(21);
282
+ // Must start with the emissary address
283
+ (0, vitest_1.expect)((0, viem_1.isAddressEqual)((0, viem_1.slice)(sig, 0, 20), smart_sessions_1.SMART_SESSION_EMISSARY_ADDRESS)).toBe(true);
284
+ });
61
285
  });
@@ -1,5 +1,5 @@
1
1
  declare const PROD_ORCHESTRATOR_URL = "https://v1.orchestrator.rhinestone.dev";
2
2
  declare const RHINESTONE_SPOKE_POOL_ADDRESS = "0x000000000060f6e853447881951574cdd0663530";
3
- declare const SDK_VERSION = "0.0.0-dev-20260330133013";
3
+ declare const SDK_VERSION = "0.0.0-dev-20260331130650";
4
4
  export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION };
5
5
  //# sourceMappingURL=consts.d.ts.map
@@ -5,5 +5,5 @@ const PROD_ORCHESTRATOR_URL = 'https://v1.orchestrator.rhinestone.dev';
5
5
  exports.PROD_ORCHESTRATOR_URL = PROD_ORCHESTRATOR_URL;
6
6
  const RHINESTONE_SPOKE_POOL_ADDRESS = '0x000000000060f6e853447881951574cdd0663530';
7
7
  exports.RHINESTONE_SPOKE_POOL_ADDRESS = RHINESTONE_SPOKE_POOL_ADDRESS;
8
- const SDK_VERSION = '0.0.0-dev-20260330133013';
8
+ const SDK_VERSION = '0.0.0-dev-20260331130650';
9
9
  exports.SDK_VERSION = SDK_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,iBAAS,oBAAoB,IAAI,MAAM,EAAE,CAExC;AAMD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAY7C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAQrD;AAED,iBAAS,cAAc,CACrB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAWpB;AAED,iBAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAY3E;AAED,iBAAS,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY3E;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAM5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAO1D;AAED,iBAAS,2BAA2B,CAAC,UAAU,CAAC,EAAE,OAAO;;EAaxD;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,WAAW,GAAG,OAAO,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAKT;AAED,iBAAS,8BAA8B,IAAI;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,EAAE,CAMF;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,8BAA8B,GAC/B,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,iBAAS,oBAAoB,IAAI,MAAM,EAAE,CAExC;AAMD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAY7C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAarD;AAED,iBAAS,cAAc,CACrB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAWpB;AAED,iBAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAY3E;AAED,iBAAS,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY3E;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAM5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAO1D;AAED,iBAAS,2BAA2B,CAAC,UAAU,CAAC,EAAE,OAAO;;EAaxD;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,WAAW,GAAG,OAAO,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAKT;AAED,iBAAS,8BAA8B,IAAI;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,EAAE,CAMF;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,8BAA8B,GAC/B,CAAA"}
@@ -38,7 +38,11 @@ function getWrappedTokenAddress(chain) {
38
38
  if (!chainEntry) {
39
39
  throw new error_1.UnsupportedChainError(chain.id);
40
40
  }
41
- const token = chainEntry.wrappedNativeToken;
41
+ const token = chainEntry.wrappedNativeToken ??
42
+ chainEntry.tokens.find((t) => t.symbol === 'WETH');
43
+ if (!token) {
44
+ throw new error_1.UnsupportedTokenError('WETH', chain.id);
45
+ }
42
46
  return token.address;
43
47
  }
44
48
  function getTokenSymbol(tokenAddress, chainId) {
@@ -257,15 +257,18 @@ interface SessionEnableData {
257
257
  interface ChainSessionConfig {
258
258
  session: Session;
259
259
  enableData?: SessionEnableData;
260
+ verifyExecutions?: boolean;
260
261
  }
261
262
  interface SingleSessionSignerSet {
262
263
  type: 'experimental_session';
263
264
  session: Session;
264
265
  enableData?: SessionEnableData;
266
+ verifyExecutions?: boolean;
265
267
  }
266
268
  interface PerChainSessionSignerSet {
267
269
  type: 'experimental_session';
268
270
  sessions: Record<number, ChainSessionConfig>;
271
+ verifyExecutions?: boolean;
269
272
  }
270
273
  type SessionSignerSet = SingleSessionSignerSet | PerChainSessionSignerSet;
271
274
  interface GuardiansSignerSet {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ exports.assertNotNull = assertNotNull;
5
5
  const chains_1 = require("viem/chains");
6
6
  const vitest_1 = require("vitest");
7
7
  function getForkUrl(chain) {
8
- // @ts-ignore
8
+ // @ts-expect-error
9
9
  const alchemyApiKey = import.meta.env.VITE_ALCHEMY_API_KEY;
10
10
  if (!alchemyApiKey) {
11
11
  throw new Error('VITE_ALCHEMY_API_KEY is not set');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "0.0.0-dev-20260330133013",
3
+ "version": "0.0.0-dev-20260331130650",
4
4
  "description": "End-to-end chain abstraction and modularity toolkit",
5
5
  "author": {
6
6
  "name": "Rhinestone",