@rhinestone/sdk 1.2.19-alpha.0 → 1.4.0

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 (35) hide show
  1. package/dist/src/accounts/index.d.ts +5 -3
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/signing/common.d.ts +2 -3
  4. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  5. package/dist/src/accounts/signing/message.d.ts +3 -1
  6. package/dist/src/accounts/signing/message.d.ts.map +1 -1
  7. package/dist/src/accounts/startale.d.ts +2 -1
  8. package/dist/src/accounts/startale.d.ts.map +1 -1
  9. package/dist/src/accounts/startale.js +71 -18
  10. package/dist/src/accounts/startale.test.js +77 -22
  11. package/dist/src/execution/utils.d.ts +23 -4
  12. package/dist/src/execution/utils.d.ts.map +1 -1
  13. package/dist/src/execution/utils.js +180 -26
  14. package/dist/src/execution/utils.test.js +156 -0
  15. package/dist/src/index.d.ts +2 -2
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/modules/validators/index.d.ts +2 -2
  18. package/dist/src/modules/validators/index.d.ts.map +1 -1
  19. package/dist/src/modules/validators/index.js +3 -1
  20. package/dist/src/modules/validators/smart-sessions.d.ts +18 -5
  21. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  22. package/dist/src/modules/validators/smart-sessions.js +84 -3
  23. package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
  24. package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
  25. package/dist/src/modules/validators/smart-sessions.test.js +61 -0
  26. package/dist/src/orchestrator/consts.d.ts +1 -1
  27. package/dist/src/orchestrator/consts.js +1 -1
  28. package/dist/src/orchestrator/registry.d.ts +2 -1
  29. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  30. package/dist/src/orchestrator/registry.js +9 -0
  31. package/dist/src/orchestrator/types.d.ts +24 -1
  32. package/dist/src/orchestrator/types.d.ts.map +1 -1
  33. package/dist/src/types.d.ts +23 -8
  34. package/dist/src/types.d.ts.map +1 -1
  35. package/package.json +2 -2
@@ -20,10 +20,14 @@ exports.getTokenRequests = getTokenRequests;
20
20
  exports.resolveCallInputs = resolveCallInputs;
21
21
  exports.getIntentAccount = getIntentAccount;
22
22
  exports.getTargetExecutionSignature = getTargetExecutionSignature;
23
+ exports.hashErc7739TypedDataForSolady = hashErc7739TypedDataForSolady;
24
+ exports.resolveSessionForChain = resolveSessionForChain;
23
25
  const viem_1 = require("viem");
24
26
  const account_abstraction_1 = require("viem/account-abstraction");
25
27
  const erc7739_1 = require("viem/experimental/erc7739");
26
28
  const accounts_1 = require("../accounts");
29
+ const common_1 = require("../accounts/signing/common");
30
+ const startale_1 = require("../accounts/startale");
27
31
  const utils_1 = require("../accounts/utils");
28
32
  const modules_1 = require("../modules");
29
33
  const validators_1 = require("../modules/validators");
@@ -35,6 +39,33 @@ const compact_1 = require("./compact");
35
39
  const error_1 = require("./error");
36
40
  const permit2_1 = require("./permit2");
37
41
  const singleChainOps_1 = require("./singleChainOps");
42
+ function isResolvedSessionSignerSet(signers) {
43
+ return (signers?.type === 'experimental_session' && 'verifyExecutions' in signers);
44
+ }
45
+ async function resolveSignersForChain(config, signers, chainId) {
46
+ if (signers?.type !== 'experimental_session') {
47
+ return signers;
48
+ }
49
+ const resolved = resolveSessionForChain(signers, chainId);
50
+ const enabled = await (0, validators_1.isSessionEnabled)((0, accounts_1.getAddress)(config), config.provider, resolved.session, config.useDevContracts);
51
+ const enableData = enabled ? undefined : resolved.enableData;
52
+ return {
53
+ type: 'experimental_session',
54
+ session: resolved.session,
55
+ enableData,
56
+ verifyExecutions: !!enableData,
57
+ };
58
+ }
59
+ function resolveSessionForChain(signers, chainId) {
60
+ if ('sessions' in signers) {
61
+ const config = signers.sessions[chainId];
62
+ if (!config) {
63
+ throw new Error(`No session configured for chain ${chainId}`);
64
+ }
65
+ return config;
66
+ }
67
+ return { session: signers.session, enableData: signers.enableData };
68
+ }
38
69
  async function prepareTransaction(config, transaction) {
39
70
  const { sourceChains, targetChain, tokenRequests, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, auxiliaryFunds, account, recipient, } = getTransactionParams(transaction);
40
71
  const accountAddress = (0, accounts_1.getAddress)(config);
@@ -103,6 +134,7 @@ async function getTargetExecutionSignature(config, intentOp, targetChain, signer
103
134
  if (signers?.type !== 'experimental_session') {
104
135
  return undefined;
105
136
  }
137
+ const resolvedSigners = await resolveSignersForChain(config, signers, targetChain.id);
106
138
  const destination = getTargetExecutionMessage(config, intentOp);
107
139
  const validator = getValidator(config, signers);
108
140
  if (!validator) {
@@ -110,7 +142,7 @@ async function getTargetExecutionSignature(config, intentOp, targetChain, signer
110
142
  }
111
143
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
112
144
  const isRoot = validator.address === ownerValidator.address;
113
- const signature = await getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, [], true);
145
+ const signature = await getDestinationSignature(config, resolvedSigners, validator, isRoot, targetChain, destination, [], true);
114
146
  return signature;
115
147
  }
116
148
  async function signUserOperation(config, preparedUserOperation) {
@@ -151,10 +183,23 @@ async function signTypedData(config, parameters, chain, signers, options) {
151
183
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
152
184
  const isRoot = validator.address === ownerValidator.address;
153
185
  if (signers?.type === 'experimental_session') {
186
+ const resolved = resolveSessionForChain(signers, chain.id);
154
187
  return await signTypedDataWithSession(config, chain, {
155
188
  address: validator.address,
156
189
  isRoot,
157
- }, signers, parameters);
190
+ }, resolved.session, parameters);
191
+ }
192
+ const account = (0, accounts_1.getAccountProvider)(config);
193
+ if (account.type === 'startale' && (0, core_1.supportsEip712)(validator)) {
194
+ const isK1 = validator.address.toLowerCase() ===
195
+ startale_1.K1_DEFAULT_VALIDATOR_ADDRESS.toLowerCase();
196
+ if (isK1) {
197
+ const sig = await signErc7739TypedData(config, signers, validator, isRoot, parameters, chain);
198
+ if (!options?.skipErc6492) {
199
+ return await (0, accounts_1.toErc6492Signature)(config, sig, chain);
200
+ }
201
+ return sig;
202
+ }
158
203
  }
159
204
  const signature = await (0, accounts_1.getTypedDataPackedSignature)(config, signers, chain, {
160
205
  address: validator.address,
@@ -165,8 +210,9 @@ async function signTypedData(config, parameters, chain, signers, options) {
165
210
  }
166
211
  return signature;
167
212
  }
168
- async function signTypedDataWithSession(config, chain, validator, signers, parameters) {
213
+ async function signTypedDataWithSession(config, chain, validator, session, parameters) {
169
214
  const { name, version, chainId, verifyingContract, salt } = (0, accounts_1.getEip712Domain)(config, chain);
215
+ const signers = (0, common_1.convertOwnerSetToSignerSet)(session.owners);
170
216
  const signature = await (0, accounts_1.getTypedDataPackedSignature)(config, signers, chain, validator, {
171
217
  domain: parameters.domain,
172
218
  primaryType: 'TypedDataSign',
@@ -197,7 +243,7 @@ async function signTypedDataWithSession(config, chain, validator, signers, param
197
243
  message: parameters.message,
198
244
  signature,
199
245
  });
200
- return (0, viem_1.encodePacked)(['bytes32', 'bytes'], [(0, validators_1.getPermissionId)(signers.session), erc7739Signature]);
246
+ return (0, viem_1.encodePacked)(['bytes32', 'bytes'], [(0, validators_1.getPermissionId)(session), erc7739Signature]);
201
247
  });
202
248
  return await (0, accounts_1.toErc6492Signature)(config, signature, chain);
203
249
  }
@@ -349,7 +395,12 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
349
395
  }
350
396
  return getIntentAccount(recipient, eip7702InitSignature, account);
351
397
  }
352
- const intentAccount = getIntentAccount(config, eip7702InitSignature, account);
398
+ const intentAccount = {
399
+ ...getIntentAccount(config, eip7702InitSignature, account),
400
+ ...(signers?.type === 'experimental_session' && {
401
+ mockSignature: (0, validators_1.buildMockSignature)(resolveSessionForChain(signers, targetChain.id).session, config.useDevContracts, sourceChains?.length),
402
+ }),
403
+ };
353
404
  const recipient = getRecipient(recipientInput);
354
405
  const signatureMode = signers?.type === 'experimental_session'
355
406
  ? types_1.SIG_MODE_EMISSARY_EXECUTION_ERC1271
@@ -422,42 +473,43 @@ async function signIntent(config, intentOp, targetChain, signers, targetExecutio
422
473
  const originSignatures = [];
423
474
  for (const typedData of origin) {
424
475
  const chain = (0, registry_1.getChainById)(typedData.domain?.chainId);
425
- // For same chain transactions, we need to modify the origin signers
426
- // Specifically, we need to remove the enable data in this case
427
- const matchesTargetChain = chain.id === targetChain.id;
428
- const originSigners = signers?.type === 'experimental_session'
429
- ? {
430
- type: 'experimental_session',
431
- session: signers.session,
432
- verifyExecutions: matchesTargetChain
433
- ? signers.verifyExecutions
434
- : undefined,
435
- enableData: matchesTargetChain ? signers.enableData : undefined,
436
- }
437
- : signers;
476
+ const originSigners = await resolveSignersForChain(config, signers, chain.id);
438
477
  const signature = await signIntentTypedData(config, originSigners, validator, isRoot, typedData, chain, targetExecution ?? false);
439
478
  originSignatures.push(signature);
440
479
  }
441
- const destinationSignature = await getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, originSignatures, targetExecution ?? false);
480
+ const destinationSigners = await resolveSignersForChain(config, signers, targetChain.id);
481
+ const destinationSignature = await getDestinationSignature(config, destinationSigners, validator, isRoot, targetChain, destination, originSignatures, targetExecution ?? false);
442
482
  return {
443
483
  originSignatures,
444
484
  destinationSignature,
445
485
  };
446
486
  }
447
487
  async function getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, originSignatures, targetExecution) {
448
- // For smart sessions, we need to provide a separate destination signature for the target chain
488
+ // Smart sessions require a separate destination signature because the
489
+ // session enable data differs per chain
449
490
  if (signers?.type === 'experimental_session') {
450
- const destinationChain = (0, registry_1.getChainById)(targetChain.id);
451
- const destinationSignatures = await signIntentTypedData(config, signers, validator, isRoot, destination, destinationChain, targetExecution);
452
- return typeof destinationSignatures === 'object'
453
- ? destinationSignatures.preClaimSig
454
- : (destinationSignatures ?? '0x');
491
+ return await signDestinationSeparately(config, signers, validator, isRoot, targetChain, destination, targetExecution);
492
+ }
493
+ // ERC-7739 with K1 validator requires a separate destination signature because
494
+ // the account's eip712Domain() returns the target chain's chainId, which differs
495
+ // from the origin chain used for the last origin signature
496
+ const isK1Validator = validator.address.toLowerCase() ===
497
+ startale_1.K1_DEFAULT_VALIDATOR_ADDRESS.toLowerCase();
498
+ if (isK1Validator && (0, core_1.supportsEip712)(validator)) {
499
+ return await signDestinationSeparately(config, signers, validator, isRoot, targetChain, destination, targetExecution);
455
500
  }
456
501
  const lastOriginSignature = originSignatures.at(-1);
457
502
  return typeof lastOriginSignature === 'object'
458
503
  ? lastOriginSignature.preClaimSig
459
504
  : (lastOriginSignature ?? '0x');
460
505
  }
506
+ async function signDestinationSeparately(config, signers, validator, isRoot, targetChain, destination, targetExecution) {
507
+ const destinationChain = (0, registry_1.getChainById)(targetChain.id);
508
+ const destinationSignatures = await signIntentTypedData(config, signers, validator, isRoot, destination, destinationChain, targetExecution);
509
+ return typeof destinationSignatures === 'object'
510
+ ? destinationSignatures.preClaimSig
511
+ : (destinationSignatures ?? '0x');
512
+ }
461
513
  function getIntentMessages(config, intentOp) {
462
514
  const address = (0, accounts_1.getAddress)(config);
463
515
  const intentExecutor = (0, modules_1.getIntentExecutor)(config);
@@ -499,13 +551,18 @@ function getTargetExecutionMessage(config, intentOp) {
499
551
  }
500
552
  async function signIntentTypedData(config, signers, validator, isRoot, parameters, chain, targetExecution) {
501
553
  if ((0, core_1.supportsEip712)(validator)) {
554
+ const isK1Validator = validator.address.toLowerCase() ===
555
+ startale_1.K1_DEFAULT_VALIDATOR_ADDRESS.toLowerCase();
556
+ if (isK1Validator) {
557
+ return await signErc7739TypedData(config, signers, validator, isRoot, parameters, chain);
558
+ }
502
559
  return await (0, accounts_1.getTypedDataPackedSignature)(config, signers, chain, {
503
560
  address: validator.address,
504
561
  isRoot,
505
562
  }, parameters);
506
563
  }
507
564
  const hash = (0, viem_1.hashTypedData)(parameters);
508
- if (signers?.type === 'experimental_session' && signers.verifyExecutions) {
565
+ if (isResolvedSessionSignerSet(signers) && signers.verifyExecutions) {
509
566
  if (targetExecution) {
510
567
  return await (0, accounts_1.getEmissarySignature)(config, {
511
568
  type: 'experimental_session',
@@ -780,3 +837,100 @@ function validateTokenSymbols(chain, tokenAddressOrSymbols) {
780
837
  }
781
838
  }
782
839
  }
840
+ // Signs typed data using ERC-7739 nested EIP-712 for Startale accounts.
841
+ // Uses a Solady-compatible TypedDataSign hash and wraps the signature with
842
+ // the app domain separator and contents hash for on-chain verification.
843
+ async function signErc7739TypedData(config, signers, validator, isRoot, parameters, chain) {
844
+ const verifierDomain = (0, accounts_1.getEip712Domain)(config, chain);
845
+ const hash = hashErc7739TypedDataForSolady({
846
+ domain: parameters.domain,
847
+ types: parameters.types,
848
+ primaryType: parameters.primaryType,
849
+ message: parameters.message,
850
+ verifierDomain,
851
+ });
852
+ return await (0, accounts_1.getEip1271Signature)(config, signers, chain, {
853
+ address: validator.address,
854
+ isRoot,
855
+ }, hash, (signature) => (0, erc7739_1.wrapTypedDataSignature)({
856
+ domain: parameters.domain,
857
+ primaryType: parameters.primaryType,
858
+ types: parameters.types,
859
+ message: parameters.message,
860
+ signature,
861
+ }));
862
+ }
863
+ // Computes an ERC-7739 TypedDataSign hash compatible with Solady's ERC1271
864
+ // on-chain verification. Solady constructs the TypedDataSign type string by
865
+ // appending the contentsType directly after the TypedDataSign definition,
866
+ // which differs from viem's standard EIP-712 encodeType that re-sorts all
867
+ // referenced types alphabetically.
868
+ function hashErc7739TypedDataForSolady({ domain, types, primaryType, message, verifierDomain, }) {
869
+ // Standard EIP-712 encodeType for the original content type
870
+ function encodeTypeString(primary, allTypes) {
871
+ const deps = new Set();
872
+ function findDeps(t) {
873
+ const match = t.match(/^\w*/);
874
+ const typeName = match?.[0];
875
+ if (!typeName || deps.has(typeName) || !allTypes[typeName])
876
+ return;
877
+ deps.add(typeName);
878
+ for (const field of allTypes[typeName])
879
+ findDeps(field.type);
880
+ }
881
+ findDeps(primary);
882
+ deps.delete(primary);
883
+ const sorted = [primary, ...Array.from(deps).sort()];
884
+ return sorted
885
+ .map((t) => `${t}(${allTypes[t].map((f) => `${f.type} ${f.name}`).join(',')})`)
886
+ .join('');
887
+ }
888
+ const contentsType = encodeTypeString(primaryType, types);
889
+ const contentsName = primaryType;
890
+ // Construct TypedDataSign type string matching Solady's on-chain encoding:
891
+ // TypedDataSign(<contentsName> contents,...salt) + contentsType
892
+ const typedDataSignTypeString = `TypedDataSign(${contentsName} contents,string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)${contentsType}`;
893
+ const typedDataSignTypeHash = (0, viem_1.keccak256)((0, viem_1.toHex)(typedDataSignTypeString));
894
+ // Hash the original content struct
895
+ const contentsHash = (0, viem_1.hashStruct)({
896
+ data: message,
897
+ primaryType,
898
+ types: types,
899
+ });
900
+ // Compute the TypedDataSign struct hash
901
+ const structHash = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
902
+ { type: 'bytes32' },
903
+ { type: 'bytes32' },
904
+ { type: 'bytes32' },
905
+ { type: 'bytes32' },
906
+ { type: 'uint256' },
907
+ { type: 'address' },
908
+ { type: 'bytes32' },
909
+ ], [
910
+ typedDataSignTypeHash,
911
+ contentsHash,
912
+ (0, viem_1.keccak256)((0, viem_1.toHex)(verifierDomain.name)),
913
+ (0, viem_1.keccak256)((0, viem_1.toHex)(verifierDomain.version)),
914
+ BigInt(verifierDomain.chainId),
915
+ verifierDomain.verifyingContract,
916
+ verifierDomain.salt,
917
+ ]));
918
+ // Compute the app domain separator
919
+ const domainTypes = [];
920
+ if (domain.name)
921
+ domainTypes.push({ name: 'name', type: 'string' });
922
+ if (domain.version)
923
+ domainTypes.push({ name: 'version', type: 'string' });
924
+ if (domain.chainId)
925
+ domainTypes.push({ name: 'chainId', type: 'uint256' });
926
+ if (domain.verifyingContract)
927
+ domainTypes.push({ name: 'verifyingContract', type: 'address' });
928
+ if (domain.salt)
929
+ domainTypes.push({ name: 'salt', type: 'bytes32' });
930
+ const appDomainSeparator = (0, viem_1.hashDomain)({
931
+ domain,
932
+ types: { EIP712Domain: domainTypes },
933
+ });
934
+ // Final hash: keccak256("\x19\x01" || appDomainSep || structHash)
935
+ return (0, viem_1.keccak256)((0, viem_1.concat)(['0x1901', appDomainSeparator, structHash]));
936
+ }
@@ -11,6 +11,107 @@ vitest_1.vi.mock('../orchestrator', () => ({
11
11
  getIntentRoute: mockGetIntentRoute,
12
12
  }),
13
13
  }));
14
+ (0, vitest_1.describe)('hashErc7739TypedDataForSolady', () => {
15
+ const verifierDomain = {
16
+ name: 'Startale',
17
+ version: '1.0.0',
18
+ chainId: 421614,
19
+ verifyingContract: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
20
+ salt: '0x0000000000000000000000000000000000000000000000000000000000000000',
21
+ };
22
+ (0, vitest_1.test)('simple typed data', () => {
23
+ const hash = (0, utils_1.hashErc7739TypedDataForSolady)({
24
+ domain: {
25
+ name: 'TestApp',
26
+ version: '1',
27
+ chainId: 421614,
28
+ verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
29
+ },
30
+ types: {
31
+ Greeting: [
32
+ { name: 'text', type: 'string' },
33
+ { name: 'value', type: 'uint256' },
34
+ ],
35
+ },
36
+ primaryType: 'Greeting',
37
+ message: {
38
+ text: 'Hello',
39
+ value: 42n,
40
+ },
41
+ verifierDomain,
42
+ });
43
+ (0, vitest_1.expect)(hash).toEqual('0xacd2d65e9986501bb617b90505f4b527ee4eac3c29ac4fea21bb74d8e754e61b');
44
+ });
45
+ (0, vitest_1.test)('nested types', () => {
46
+ const hash = (0, utils_1.hashErc7739TypedDataForSolady)({
47
+ domain: {
48
+ name: 'TestApp',
49
+ version: '1',
50
+ chainId: 84532,
51
+ verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
52
+ },
53
+ types: {
54
+ Order: [
55
+ { name: 'sender', type: 'address' },
56
+ { name: 'amount', type: 'uint256' },
57
+ { name: 'detail', type: 'Detail' },
58
+ ],
59
+ Detail: [
60
+ { name: 'nonce', type: 'uint256' },
61
+ { name: 'deadline', type: 'uint256' },
62
+ ],
63
+ },
64
+ primaryType: 'Order',
65
+ message: {
66
+ sender: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
67
+ amount: 1000000n,
68
+ detail: {
69
+ nonce: 1n,
70
+ deadline: 1700000000n,
71
+ },
72
+ },
73
+ verifierDomain: {
74
+ ...verifierDomain,
75
+ chainId: 84532,
76
+ },
77
+ });
78
+ (0, vitest_1.expect)(hash).toEqual('0x1ea8d31e9198ac601c92ab8f54b7ff1ff41a7d4956566c1a0825a5ade5d5d045');
79
+ });
80
+ (0, vitest_1.test)('different verifier chainId produces different hash', () => {
81
+ const params = {
82
+ domain: {
83
+ name: 'TestApp',
84
+ version: '1',
85
+ chainId: 421614,
86
+ verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
87
+ },
88
+ types: {
89
+ Greeting: [
90
+ { name: 'text', type: 'string' },
91
+ { name: 'value', type: 'uint256' },
92
+ ],
93
+ },
94
+ primaryType: 'Greeting',
95
+ message: {
96
+ text: 'Hello',
97
+ value: 42n,
98
+ },
99
+ };
100
+ const hashSameChain = (0, utils_1.hashErc7739TypedDataForSolady)({
101
+ ...params,
102
+ verifierDomain,
103
+ });
104
+ const hashCrossChain = (0, utils_1.hashErc7739TypedDataForSolady)({
105
+ ...params,
106
+ verifierDomain: {
107
+ ...verifierDomain,
108
+ chainId: 84532,
109
+ },
110
+ });
111
+ (0, vitest_1.expect)(hashSameChain).not.toEqual(hashCrossChain);
112
+ (0, vitest_1.expect)(hashCrossChain).toEqual('0x685f60853ef1d5fcbb3021db370b6f3c1c099f1fb42f08f9ba4e6b9b7c8c941a');
113
+ });
114
+ });
14
115
  (0, vitest_1.describe)('prepareTransactionAsIntent', () => {
15
116
  (0, vitest_1.beforeEach)(() => {
16
117
  mockGetIntentRoute.mockReset();
@@ -47,3 +148,58 @@ vitest_1.vi.mock('../orchestrator', () => ({
47
148
  (0, vitest_1.expect)(intentInput.options.auxiliaryFunds).toBeUndefined();
48
149
  });
49
150
  });
151
+ const makeSession = (chainId) => ({
152
+ chain: { id: chainId },
153
+ owners: {
154
+ type: 'ecdsa',
155
+ accounts: [consts_1.accountA],
156
+ threshold: 1,
157
+ },
158
+ });
159
+ (0, vitest_1.describe)('resolveSessionForChain', () => {
160
+ (0, vitest_1.test)('single session returns session for any chain', () => {
161
+ const signers = {
162
+ type: 'experimental_session',
163
+ session: makeSession(chains_1.mainnet.id),
164
+ };
165
+ const result = (0, utils_1.resolveSessionForChain)(signers, chains_1.optimism.id);
166
+ (0, vitest_1.expect)(result).toBeDefined();
167
+ (0, vitest_1.expect)(result.session).toBe(signers.session);
168
+ });
169
+ (0, vitest_1.test)('single session with enableData returns enableData', () => {
170
+ const enableData = {
171
+ userSignature: '0x00',
172
+ hashesAndChainIds: [],
173
+ sessionToEnableIndex: 0,
174
+ };
175
+ const signers = {
176
+ type: 'experimental_session',
177
+ session: makeSession(chains_1.mainnet.id),
178
+ enableData,
179
+ };
180
+ const result = (0, utils_1.resolveSessionForChain)(signers, chains_1.mainnet.id);
181
+ (0, vitest_1.expect)(result.enableData).toBe(enableData);
182
+ });
183
+ (0, vitest_1.test)('per-chain sessions returns correct session per chain', () => {
184
+ const mainnetSession = makeSession(chains_1.mainnet.id);
185
+ const optimismSession = makeSession(chains_1.optimism.id);
186
+ const signers = {
187
+ type: 'experimental_session',
188
+ sessions: {
189
+ [chains_1.mainnet.id]: { session: mainnetSession },
190
+ [chains_1.optimism.id]: { session: optimismSession },
191
+ },
192
+ };
193
+ (0, vitest_1.expect)((0, utils_1.resolveSessionForChain)(signers, chains_1.mainnet.id).session).toBe(mainnetSession);
194
+ (0, vitest_1.expect)((0, utils_1.resolveSessionForChain)(signers, chains_1.optimism.id).session).toBe(optimismSession);
195
+ });
196
+ (0, vitest_1.test)('per-chain sessions throws for missing chain', () => {
197
+ const signers = {
198
+ type: 'experimental_session',
199
+ sessions: {
200
+ [chains_1.mainnet.id]: { session: makeSession(chains_1.mainnet.id) },
201
+ },
202
+ };
203
+ (0, vitest_1.expect)(() => (0, utils_1.resolveSessionForChain)(signers, chains_1.optimism.id)).toThrow(`No session configured for chain ${chains_1.optimism.id}`);
204
+ });
205
+ });
@@ -8,7 +8,7 @@ import { type IntentRoute, type PreparedTransactionData, type PreparedUserOperat
8
8
  import { MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS } from './modules';
9
9
  import { type SessionDetails } from './modules/validators/smart-sessions';
10
10
  import { type ApprovalRequired, type AuxiliaryFunds, getAllSupportedChainsAndTokens, getSupportedTokens, getTokenAddress, getTokenDecimals, type IntentInput, type IntentOp, type IntentOpStatus, type Portfolio, type SettlementLayer, type SignedIntentOp, type SplitIntentsInput, type SplitIntentsResult, type TokenRequirements, type WrapRequired } from './orchestrator';
11
- import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, RhinestoneConfig, RhinestoneSDKConfig, Session, SignerSet, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
11
+ import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, ChainSessionConfig, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, RhinestoneConfig, RhinestoneSDKConfig, Session, SignerSet, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
12
12
  interface RhinestoneAccount {
13
13
  config: RhinestoneAccountConfig;
14
14
  deploy: (chain: Chain, params?: {
@@ -75,5 +75,5 @@ declare class RhinestoneSDK {
75
75
  splitIntents(input: SplitIntentsInput): Promise<SplitIntentsResult>;
76
76
  }
77
77
  export { RhinestoneSDK, createRhinestoneAccount, deployAccountsForOwners, walletClientToAccount, wrapParaAccount, OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getSupportedTokens, getTokenAddress, getTokenDecimals, getAllSupportedChainsAndTokens, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
78
- export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, AuxiliaryFunds, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementLayer, SignedIntentOp, SplitIntentsInput, SplitIntentsResult, Portfolio, TokenRequirements, WrapRequired, ApprovalRequired, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
78
+ export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, ChainSessionConfig, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, AuxiliaryFunds, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementLayer, SignedIntentOp, SplitIntentsInput, SplitIntentsResult, Portfolio, TokenRequirements, WrapRequired, ApprovalRequired, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
79
79
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -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 { getEnableSessionCall, getPermissionId, getSmartSessionValidator } from './smart-sessions';
3
- export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, };
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, };
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,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,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,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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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; } });
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "OWNABLE_VALIDATOR_ADDRESS", { enumerable: true,
9
9
  Object.defineProperty(exports, "SMART_SESSION_EMISSARY_ADDRESS", { enumerable: true, get: function () { return core_1.SMART_SESSION_EMISSARY_ADDRESS; } });
10
10
  Object.defineProperty(exports, "WEBAUTHN_VALIDATOR_ADDRESS", { enumerable: true, get: function () { return core_1.WEBAUTHN_VALIDATOR_ADDRESS; } });
11
11
  const smart_sessions_1 = require("./smart-sessions");
12
+ Object.defineProperty(exports, "buildMockSignature", { enumerable: true, get: function () { return smart_sessions_1.buildMockSignature; } });
12
13
  Object.defineProperty(exports, "getEnableSessionCall", { enumerable: true, get: function () { return smart_sessions_1.getEnableSessionCall; } });
13
14
  Object.defineProperty(exports, "getPermissionId", { enumerable: true, get: function () { return smart_sessions_1.getPermissionId; } });
14
15
  Object.defineProperty(exports, "getSmartSessionValidator", { enumerable: true, get: function () { return smart_sessions_1.getSmartSessionValidator; } });
16
+ Object.defineProperty(exports, "isSessionEnabled", { enumerable: true, get: function () { return smart_sessions_1.isSessionEnabled; } });
@@ -1,5 +1,5 @@
1
1
  import { type Address, type Hex, type TypedDataDefinition } from 'viem';
2
- import type { ProviderConfig, RhinestoneAccountConfig, RhinestoneConfig, Session, SignerSet } from '../../types';
2
+ import type { 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,9 +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 function packSignature(signers: SignerSet & {
167
+ interface ResolvedSessionSignerSet {
168
168
  type: 'experimental_session';
169
- }, validatorSignature: Hex): Hex;
169
+ session: Session;
170
+ enableData?: SessionEnableData;
171
+ verifyExecutions: boolean;
172
+ }
173
+ declare function packSignature(signers: ResolvedSessionSignerSet, validatorSignature: Hex): Hex;
170
174
  declare function getSessionDetails(account: Address, sessions: Session[], provider: ProviderConfig | undefined, useDevContracts?: boolean): Promise<SessionDetails>;
171
175
  declare function isSessionEnabled(account: Address, provider: ProviderConfig | undefined, session: Session, useDevContracts?: boolean): Promise<boolean>;
172
176
  declare function signEnableSession(config: RhinestoneAccountConfig, details: SessionDetails): Promise<Hex>;
@@ -180,6 +184,15 @@ declare function getEnableSessionCall(account: Address, session: Session, enable
180
184
  declare function getSessionData(session: Session): SessionData;
181
185
  declare function getPermissionId(session: Session): `0x${string}`;
182
186
  declare function getSmartSessionValidator(config: RhinestoneConfig): Module | null;
183
- 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, };
184
- export type { ChainSession, ChainDigest, SessionData, SmartSessionModeType, SessionDetails, };
187
+ /**
188
+ * Builds a mockSignature for SSX validation gas estimation.
189
+ * Format: emissaryAddress (20 bytes) + enable-mode sigData.
190
+ * Uses real session data (policies/actions from the user's session config) with dummy
191
+ * sigs and hashes — the mock emissary skips sig verification and only writes storage.
192
+ * The orchestrator slices off the first 20 bytes to identify the validator, then
193
+ * simulates verifyExecution with the mock emissary to estimate gas before the user signs.
194
+ */
195
+ 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, };
197
+ export type { ChainSession, ChainDigest, ResolvedSessionSignerSet, SessionData, SmartSessionModeType, SessionDetails, };
185
198
  //# 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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"}