@rhinestone/sdk 1.13.3 → 1.14.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 (65) hide show
  1. package/dist/src/accounts/index.d.ts +1 -1
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/index.js +7 -7
  4. package/dist/src/accounts/signing/common.d.ts +5 -3
  5. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  6. package/dist/src/accounts/signing/common.js +47 -23
  7. package/dist/src/accounts/signing/message.d.ts +2 -2
  8. package/dist/src/accounts/signing/message.d.ts.map +1 -1
  9. package/dist/src/accounts/signing/message.js +2 -2
  10. package/dist/src/accounts/signing/passkeys.d.ts +6 -1
  11. package/dist/src/accounts/signing/passkeys.d.ts.map +1 -1
  12. package/dist/src/accounts/signing/passkeys.js +34 -0
  13. package/dist/src/accounts/signing/typedData.d.ts +2 -2
  14. package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
  15. package/dist/src/accounts/signing/typedData.js +2 -2
  16. package/dist/src/actions/mfa.d.ts +5 -4
  17. package/dist/src/actions/mfa.d.ts.map +1 -1
  18. package/dist/src/actions/mfa.js +5 -1
  19. package/dist/src/actions/smart-sessions.d.ts +2 -1
  20. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  21. package/dist/src/actions/smart-sessions.js +6 -0
  22. package/dist/src/execution/index.d.ts +2 -1
  23. package/dist/src/execution/index.d.ts.map +1 -1
  24. package/dist/src/execution/index.js +5 -4
  25. package/dist/src/execution/quoters.d.ts +7 -0
  26. package/dist/src/execution/quoters.d.ts.map +1 -0
  27. package/dist/src/execution/quoters.js +55 -0
  28. package/dist/src/execution/utils.d.ts +2 -2
  29. package/dist/src/execution/utils.d.ts.map +1 -1
  30. package/dist/src/execution/utils.js +25 -6
  31. package/dist/src/index.d.ts +3 -3
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/modules/validators/core.d.ts +2 -1
  34. package/dist/src/modules/validators/core.d.ts.map +1 -1
  35. package/dist/src/modules/validators/core.js +94 -8
  36. package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts +3 -0
  37. package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts.map +1 -0
  38. package/dist/src/modules/validators/smart-sessions/swap/abi.js +67 -0
  39. package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts +92 -0
  40. package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts.map +1 -0
  41. package/dist/src/modules/validators/smart-sessions/swap/fynd.js +106 -0
  42. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts +147 -0
  43. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts.map +1 -0
  44. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.js +311 -0
  45. package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts +73 -0
  46. package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts.map +1 -0
  47. package/dist/src/modules/validators/smart-sessions/swap/rules.js +112 -0
  48. package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts +18 -0
  49. package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts.map +1 -0
  50. package/dist/src/modules/validators/smart-sessions/swap/scope.js +124 -0
  51. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts +143 -0
  52. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts.map +1 -0
  53. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.js +170 -0
  54. package/dist/src/modules/validators/smart-sessions.d.ts +9 -3
  55. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  56. package/dist/src/modules/validators/smart-sessions.js +229 -89
  57. package/dist/src/orchestrator/consts.d.ts +1 -1
  58. package/dist/src/orchestrator/consts.js +1 -1
  59. package/dist/src/orchestrator/index.d.ts +2 -2
  60. package/dist/src/orchestrator/index.d.ts.map +1 -1
  61. package/dist/src/orchestrator/types.d.ts +12 -1
  62. package/dist/src/orchestrator/types.d.ts.map +1 -1
  63. package/dist/src/types.d.ts +62 -3
  64. package/dist/src/types.d.ts.map +1 -1
  65. package/package.json +2 -2
@@ -36,7 +36,7 @@ declare function getAddress(config: RhinestoneConfig): `0x${string}`;
36
36
  declare function checkAddress(config: RhinestoneConfig): boolean;
37
37
  declare function getEip1271Signature(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
38
38
  declare function getEmissarySignature(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
39
- declare function getTypedDataPackedSignature<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, parameters: HashTypedDataParameters<typedData, primaryType>, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
39
+ declare function getTypedDataPackedSignature<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, signers: InternalSignerSet | undefined, chain: Chain, validator: ValidatorConfig, parameters: HashTypedDataParameters<typedData, primaryType>, configuredOwners?: OwnerSet, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
40
40
  declare function isDeployed(config: RhinestoneConfig, chain: Chain): Promise<boolean>;
41
41
  declare function deploy(config: RhinestoneConfig, chain: Chain, params?: {
42
42
  sponsored?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
@@ -359,7 +359,7 @@ async function getEip1271Signature(config, signers, chain, validator, hash, tran
359
359
  throw new error_1.EoaSigningNotSupportedError('packed signatures');
360
360
  }
361
361
  signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
362
- const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
362
+ const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, false);
363
363
  const account = getAccountProvider(config);
364
364
  const address = getAddress(config);
365
365
  switch (account.type) {
@@ -400,18 +400,18 @@ async function getEmissarySignature(config, signers, chain, hash, transformSigna
400
400
  }
401
401
  signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
402
402
  const address = getAddress(config);
403
- const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
403
+ const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, false);
404
404
  const signature = await signFn(hash);
405
405
  return transformSignature(signature);
406
406
  }
407
407
  // Signs and packs a signature to be EIP-1271 compatible
408
- async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, transformSignature = (signature) => signature) {
408
+ async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, configuredOwners = config.owners, transformSignature = (signature) => signature) {
409
409
  if (config.account?.type === 'eoa') {
410
410
  throw new error_1.EoaSigningNotSupportedError('packed signatures');
411
411
  }
412
412
  const address = getAddress(config);
413
413
  signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
414
- const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, address, parameters);
414
+ const signFn = (parameters) => (0, typedData_1.sign)(signers, configuredOwners, chain, address, parameters);
415
415
  const account = getAccountProvider(config);
416
416
  switch (account.type) {
417
417
  case 'safe': {
@@ -429,7 +429,7 @@ async function getTypedDataPackedSignature(config, signers, chain, validator, pa
429
429
  }
430
430
  case 'kernel': {
431
431
  const address = getAddress(config);
432
- const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, false);
432
+ const signMessageFn = (hash) => (0, message_1.sign)(signers, configuredOwners, chain, address, hash, false);
433
433
  const signature = await signMessageFn((0, kernel_1.wrapMessageHash)((0, viem_1.hashTypedData)(parameters), address));
434
434
  return (0, kernel_1.packSignature)(signature, validator, transformSignature);
435
435
  }
@@ -653,7 +653,7 @@ async function getSmartAccount(config, client, chain) {
653
653
  const address = getAddress(config);
654
654
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
655
655
  const signers = (0, common_1.convertOwnerSetToSignerSet)(config.owners);
656
- const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, true);
656
+ const signFn = (hash) => (0, message_1.sign)(signers, config.owners, chain, address, hash, true);
657
657
  switch (account.type) {
658
658
  case 'safe': {
659
659
  return (0, safe_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
@@ -684,7 +684,7 @@ async function getGuardianSmartAccount(config, client, chain, guardians) {
684
684
  type: 'guardians',
685
685
  guardians: accounts,
686
686
  };
687
- const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash, true);
687
+ const signFn = (hash) => (0, message_1.sign)(signers, guardians, chain, address, hash, true);
688
688
  const account = getAccountProvider(config);
689
689
  switch (account.type) {
690
690
  case 'safe': {
@@ -20,13 +20,15 @@ type SigningFunctions<T> = {
20
20
  declare function signWithMultiFactorAuth<T>(signers: SignerSet & {
21
21
  type: 'owner';
22
22
  kind: 'multi-factor';
23
- }, chain: Chain, address: Address, params: T, isUserOpHash: boolean, signMain: (signers: SignerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean) => Promise<Hex>): Promise<Hex>;
24
- declare function signWithSession(signers: ResolvedSessionSignerSet, chain: Chain, address: Address, hash: Hex, signMain: (signers: SignerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean) => Promise<Hex>): Promise<Hex>;
23
+ }, configuredOwners: OwnerSet & {
24
+ type: 'multi-factor';
25
+ }, chain: Chain, address: Address, params: T, isUserOpHash: boolean, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean, statelessPasskey?: boolean) => Promise<Hex>): Promise<Hex>;
26
+ declare function signWithSession(signers: ResolvedSessionSignerSet, chain: Chain, address: Address, hash: Hex, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean) => Promise<Hex>): Promise<Hex>;
25
27
  declare function signWithGuardians<T>(signers: SignerSet & {
26
28
  type: 'guardians';
27
29
  }, params: T, signingFunctions: SigningFunctions<T>): Promise<Hex>;
28
30
  declare function signWithOwners<T>(signers: SignerSet & {
29
31
  type: 'owner';
30
- }, chain: Chain, address: Address, params: T, signingFunctions: SigningFunctions<T>, isUserOpHash: boolean, signMain: (signers: SignerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean) => Promise<Hex>): Promise<Hex>;
32
+ }, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, signingFunctions: SigningFunctions<T>, isUserOpHash: boolean, signMain: (signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean, statelessPasskey?: boolean) => Promise<Hex>, statelessPasskey?: boolean): Promise<Hex>;
31
33
  export { convertOwnerSetToSignerSet, signWithMultiFactorAuth, signWithSession, signWithGuardians, signWithOwners, type SigningFunctions, };
32
34
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAMV,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAQ/D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAStD,iBAAS,0BAA0B,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAmE/D;AAED,KAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/C,CAAA;AAED,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACzB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1E,WAAW,EAAE,CACX,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,CAAC,KACN,OAAO,CAAC;QACX,QAAQ,EAAE,oBAAoB,CAAA;QAC9B,SAAS,EAAE,GAAG,CAAA;KACf,CAAC,CAAA;CACH,CAAA;AAED,iBAAe,uBAAuB,CAAC,CAAC,EACtC,OAAO,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,EAC5D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,CACR,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,KAClB,OAAO,CAAC,GAAG,CAAC,GAChB,OAAO,CAAC,GAAG,CAAC,CA0Cd;AAED,iBAAe,eAAe,CAC5B,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,CACR,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,OAAO,KAClB,OAAO,CAAC,GAAG,CAAC,GAChB,OAAO,CAAC,GAAG,CAAC,CAiBd;AAED,iBAAe,iBAAiB,CAAC,CAAC,EAChC,OAAO,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,EAC1C,MAAM,EAAE,CAAC,EACT,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,GAAG,CAAC,CAOd;AAED,iBAAe,cAAc,CAAC,CAAC,EAC7B,OAAO,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EACtC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,CACR,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,KAClB,OAAO,CAAC,GAAG,CAAC,GAChB,OAAO,CAAC,GAAG,CAAC,CAqFd;AAED,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,KAAK,gBAAgB,GACtB,CAAA"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/common.ts"],"names":[],"mappings":"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"}
@@ -76,15 +76,36 @@ function convertOwnerSetToSignerSet(owners) {
76
76
  }
77
77
  }
78
78
  }
79
- async function signWithMultiFactorAuth(signers, chain, address, params, isUserOpHash, signMain) {
80
- const signatures = await Promise.all(signers.validators.map(async (validator) => {
81
- if (validator === null) {
82
- return '0x';
79
+ async function signWithMultiFactorAuth(signers, configuredOwners, chain, address, params, isUserOpHash, signMain) {
80
+ const configuredValidators = signers.validators.map((validator) => {
81
+ const configuredValidator = configuredOwners.validators[Number(BigInt(validator.id))];
82
+ if (!configuredValidator) {
83
+ throw new Error(`Unknown multi-factor validator ID ${validator.id}`);
83
84
  }
84
- const validatorSigners = convertOwnerSetToSignerSet(validator);
85
- return signMain(validatorSigners, chain, address, params, isUserOpHash);
85
+ if (validator.type !== configuredValidator.type &&
86
+ !(validator.type === 'ecdsa' && configuredValidator.type === 'ens')) {
87
+ throw new Error(`Multi-factor validator ID ${validator.id} has wrong type`);
88
+ }
89
+ return configuredValidator;
90
+ });
91
+ const signatures = await Promise.all(signers.validators.map((validator, index) => {
92
+ const configuredValidator = configuredValidators[index];
93
+ const validatorSigners = validator.type === 'passkey'
94
+ ? {
95
+ type: 'owner',
96
+ kind: 'passkey',
97
+ accounts: validator.accounts,
98
+ module: (0, core_1.getValidator)(configuredValidator).address,
99
+ }
100
+ : {
101
+ type: 'owner',
102
+ kind: 'ecdsa',
103
+ accounts: validator.accounts,
104
+ module: (0, core_1.getValidator)(configuredValidator).address,
105
+ };
106
+ return signMain(validatorSigners, configuredValidator, chain, address, params, isUserOpHash, configuredValidator.type === 'passkey');
86
107
  }));
87
- const data = (0, viem_1.encodeAbiParameters)([
108
+ return (0, viem_1.encodeAbiParameters)([
88
109
  {
89
110
  components: [
90
111
  {
@@ -98,20 +119,14 @@ async function signWithMultiFactorAuth(signers, chain, address, params, isUserOp
98
119
  type: 'tuple[]',
99
120
  },
100
121
  ], [
101
- signers.validators.map((validator, index) => {
102
- const validatorModule = (0, core_1.getValidator)(validator);
103
- return {
104
- packedValidatorAndId: (0, viem_1.concat)([
105
- (0, viem_1.pad)((0, viem_1.toHex)(validator.id), {
106
- size: 12,
107
- }),
108
- validatorModule.address,
109
- ]),
110
- data: signatures[index],
111
- };
112
- }),
122
+ signers.validators.map((validator, index) => ({
123
+ packedValidatorAndId: (0, viem_1.concat)([
124
+ (0, viem_1.pad)((0, viem_1.toHex)(validator.id), { size: 12 }),
125
+ (0, core_1.getValidator)(configuredValidators[index]).address,
126
+ ]),
127
+ data: signatures[index],
128
+ })),
113
129
  ]);
114
- return data;
115
130
  }
116
131
  async function signWithSession(signers, chain, address, hash, signMain) {
117
132
  const sessionSigners = convertOwnerSetToSignerSet(signers.session.owners);
@@ -120,14 +135,14 @@ async function signWithSession(signers, chain, address, hash, signMain) {
120
135
  : (0, viem_1.hashMessage)({
121
136
  raw: (0, viem_1.encodePacked)(['bytes32', 'bytes32'], [(0, viem_1.padHex)(address), hash]),
122
137
  });
123
- const validatorSignature = await signMain(sessionSigners, chain, address, signedHash, false);
138
+ const validatorSignature = await signMain(sessionSigners, signers.session.owners, chain, address, signedHash, false);
124
139
  return (0, smart_sessions_1.packSignature)(signers, validatorSignature);
125
140
  }
126
141
  async function signWithGuardians(signers, params, signingFunctions) {
127
142
  const signatures = await Promise.all(signers.guardians.map((account) => signingFunctions.signEcdsa(account, params, false)));
128
143
  return (0, viem_1.concat)(signatures);
129
144
  }
130
- async function signWithOwners(signers, chain, address, params, signingFunctions, isUserOpHash, signMain) {
145
+ async function signWithOwners(signers, configuredOwners, chain, address, params, signingFunctions, isUserOpHash, signMain, statelessPasskey = false) {
131
146
  async function signEcdsWithChain(account, params, updateV, chain) {
132
147
  const client = account.client;
133
148
  const transport = client?.transport;
@@ -176,13 +191,22 @@ async function signWithOwners(signers, chain, address, params, signingFunctions,
176
191
  s,
177
192
  };
178
193
  });
194
+ if (statelessPasskey) {
195
+ if (configuredOwners.type !== 'passkey') {
196
+ throw new Error('Passkey factor configuration is missing');
197
+ }
198
+ return (0, passkeys_1.packStatelessSignature)(signers.accounts, configuredOwners.accounts, webAuthns);
199
+ }
179
200
  if (signers.module?.toLowerCase() === core_1.WEBAUTHN_V0_VALIDATOR_ADDRESS) {
180
201
  return (0, passkeys_1.packSignatureV0)(webAuthns[0], usePrecompile);
181
202
  }
182
203
  return (0, passkeys_1.packSignature)(credIds, usePrecompile, webAuthns);
183
204
  }
184
205
  case 'multi-factor': {
185
- return signWithMultiFactorAuth(signers, chain, address, params, isUserOpHash, signMain);
206
+ if (configuredOwners.type !== 'multi-factor') {
207
+ throw new Error('Multi-factor owner configuration is missing');
208
+ }
209
+ return signWithMultiFactorAuth(signers, configuredOwners, chain, address, params, isUserOpHash, signMain);
186
210
  }
187
211
  default: {
188
212
  throw new Error('Unsupported owner kind');
@@ -1,7 +1,7 @@
1
1
  import { type Address, type Chain, type Hex } from 'viem';
2
2
  import type { ResolvedSessionSignerSet } from '../../modules/validators/smart-sessions';
3
- import type { SignerSet } from '../../types';
3
+ import type { OwnerSet, SignerSet } from '../../types';
4
4
  type InternalSignerSet = SignerSet | ResolvedSessionSignerSet;
5
- declare function sign(signers: InternalSignerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean): Promise<Hex>;
5
+ declare function sign(signers: InternalSignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean, statelessPasskey?: boolean): Promise<Hex>;
6
6
  export { sign };
7
7
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAS5C,KAAK,iBAAiB,GAAG,SAAS,GAAG,wBAAwB,CAAA;AAE7D,iBAAe,IAAI,CACjB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,GAAG,CAAC,CA+Bd;AA4BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAStD,KAAK,iBAAiB,GAAG,SAAS,GAAG,wBAAwB,CAAA;AAE7D,iBAAe,IAAI,CACjB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,OAAO,EACrB,gBAAgB,UAAQ,GACvB,OAAO,CAAC,GAAG,CAAC,CAiCd;AA4BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -4,14 +4,14 @@ exports.sign = sign;
4
4
  const viem_1 = require("viem");
5
5
  const error_1 = require("../error");
6
6
  const common_1 = require("./common");
7
- async function sign(signers, chain, address, hash, isUserOpHash) {
7
+ async function sign(signers, configuredOwners, chain, address, hash, isUserOpHash, statelessPasskey = false) {
8
8
  const signingFunctions = {
9
9
  signEcdsa: (account, hash, updateV) => signEcdsa(account, hash, updateV),
10
10
  signPasskey: (account, hash) => signPasskey(account, hash),
11
11
  };
12
12
  switch (signers.type) {
13
13
  case 'owner': {
14
- return (0, common_1.signWithOwners)(signers, chain, address, hash, signingFunctions, isUserOpHash, sign);
14
+ return (0, common_1.signWithOwners)(signers, configuredOwners, chain, address, hash, signingFunctions, isUserOpHash, sign, statelessPasskey);
15
15
  }
16
16
  case 'experimental_session': {
17
17
  return (0, common_1.signWithSession)(signers, chain, address, hash, sign);
@@ -24,6 +24,11 @@ declare function packSignature(credIds: Hex[], usePrecompile: boolean, webAuthns
24
24
  r: bigint;
25
25
  s: bigint;
26
26
  }[]): Hex;
27
+ declare function packStatelessSignature(accounts: readonly {
28
+ publicKey: Hex;
29
+ }[], configuredAccounts: readonly {
30
+ publicKey: Hex;
31
+ }[], webAuthns: WebAuthnSignature[]): Hex;
27
32
  declare function packSignatureV0(webauthn: {
28
33
  authenticatorData: Hex;
29
34
  clientDataJSON: string;
@@ -31,6 +36,6 @@ declare function packSignatureV0(webauthn: {
31
36
  r: bigint;
32
37
  s: bigint;
33
38
  }, usePrecompiled: boolean): `0x${string}`;
34
- export { parsePublicKey, parseSignature, generateCredentialId, packSignature, packSignatureV0, };
39
+ export { parsePublicKey, parseSignature, generateCredentialId, packSignature, packStatelessSignature, packSignatureV0, };
35
40
  export type { WebAuthnSignature };
36
41
  //# sourceMappingURL=passkeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAIb,UAAU,iBAAiB;IACzB,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAUA;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CASA;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,iBAkBjB;AAED,iBAAS,aAAa,CACpB,OAAO,EAAE,GAAG,EAAE,EACd,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE;IACT,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EAAE,GACF,GAAG,CAqDL;AAED,iBAAS,eAAe,CACtB,QAAQ,EAAE;IACR,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EACD,cAAc,EAAE,OAAO,iBAqCxB;AAED,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAIb,UAAU,iBAAiB;IACzB,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAUA;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,GAAG;IACpD,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CASA;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,iBAkBjB;AAED,iBAAS,aAAa,CACpB,OAAO,EAAE,GAAG,EAAE,EACd,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE;IACT,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EAAE,GACF,GAAG,CAqDL;AAED,iBAAS,sBAAsB,CAC7B,QAAQ,EAAE,SAAS;IAAE,SAAS,EAAE,GAAG,CAAA;CAAE,EAAE,EACvC,kBAAkB,EAAE,SAAS;IAAE,SAAS,EAAE,GAAG,CAAA;CAAE,EAAE,EACjD,SAAS,EAAE,iBAAiB,EAAE,GAC7B,GAAG,CA0CL;AAED,iBAAS,eAAe,CACtB,QAAQ,EAAE;IACR,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,EACD,cAAc,EAAE,OAAO,iBAqCxB;AAED,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
@@ -4,6 +4,7 @@ exports.parsePublicKey = parsePublicKey;
4
4
  exports.parseSignature = parseSignature;
5
5
  exports.generateCredentialId = generateCredentialId;
6
6
  exports.packSignature = packSignature;
7
+ exports.packStatelessSignature = packStatelessSignature;
7
8
  exports.packSignatureV0 = packSignatureV0;
8
9
  const viem_1 = require("viem");
9
10
  const ordering_1 = require("../../modules/validators/ordering");
@@ -90,6 +91,39 @@ function packSignature(credIds, usePrecompile, webAuthns) {
90
91
  },
91
92
  ], [credIds, usePrecompile, webAuthns]);
92
93
  }
94
+ function packStatelessSignature(accounts, configuredAccounts, webAuthns) {
95
+ const credentialId = (account) => {
96
+ const { x, y } = parsePublicKey(account.publicKey);
97
+ return generateCredentialId(x, y, viem_1.zeroAddress);
98
+ };
99
+ const configuredIds = configuredAccounts
100
+ .map(credentialId)
101
+ .sort(ordering_1.compareHexValues);
102
+ const ordered = accounts
103
+ .map((account, index) => ({
104
+ credentialId: credentialId(account),
105
+ webAuthn: webAuthns[index],
106
+ }))
107
+ .sort((a, b) => (0, ordering_1.compareHexValues)(a.credentialId, b.credentialId));
108
+ const expectedIds = configuredIds.slice(0, ordered.length);
109
+ if (ordered.some(({ credentialId }, index) => credentialId !== expectedIds[index])) {
110
+ throw new Error('A passkey factor pairs each signature with the credential at the same position, so a partial signer set must be the lowest-ordered credentials of that factor');
111
+ }
112
+ return (0, viem_1.encodeAbiParameters)([
113
+ {
114
+ type: 'tuple[]',
115
+ name: 'webAuthns',
116
+ components: [
117
+ { type: 'bytes', name: 'authenticatorData' },
118
+ { type: 'string', name: 'clientDataJSON' },
119
+ { type: 'uint256', name: 'challengeIndex' },
120
+ { type: 'uint256', name: 'typeIndex' },
121
+ { type: 'uint256', name: 'r' },
122
+ { type: 'uint256', name: 's' },
123
+ ],
124
+ },
125
+ ], [ordered.map(({ webAuthn }) => webAuthn)]);
126
+ }
93
127
  function packSignatureV0(webauthn, usePrecompiled) {
94
128
  return (0, viem_1.encodeAbiParameters)([
95
129
  { type: 'bytes', name: 'authenticatorData' },
@@ -1,5 +1,5 @@
1
1
  import type { Address, Chain, HashTypedDataParameters, Hex, TypedData } from 'viem';
2
- import type { SignerSet } from '../../types';
3
- declare function sign<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(signers: SignerSet, chain: Chain, address: Address, parameters: HashTypedDataParameters<typedData, primaryType>): Promise<Hex>;
2
+ import type { OwnerSet, SignerSet } from '../../types';
3
+ declare function sign<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(signers: SignerSet, configuredOwners: OwnerSet, chain: Chain, address: Address, parameters: HashTypedDataParameters<typedData, primaryType>, _isUserOpHash?: boolean, statelessPasskey?: boolean): Promise<Hex>;
4
4
  export { sign };
5
5
  //# sourceMappingURL=typedData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,SAAS,EACV,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQ5C,iBAAe,IAAI,CACjB,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjE,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,GAC1D,OAAO,CAAC,GAAG,CAAC,CA2Bd;AA6BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../../../accounts/signing/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,SAAS,EACV,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQtD,iBAAe,IAAI,CACjB,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjE,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,OAAO,EAAE,SAAS,EAClB,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3D,aAAa,UAAQ,EACrB,gBAAgB,UAAQ,GACvB,OAAO,CAAC,GAAG,CAAC,CA6Bd;AA6BD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sign = sign;
4
4
  const error_1 = require("../error");
5
5
  const common_1 = require("./common");
6
- async function sign(signers, chain, address, parameters) {
6
+ async function sign(signers, configuredOwners, chain, address, parameters, _isUserOpHash = false, statelessPasskey = false) {
7
7
  const signingFunctions = {
8
8
  signEcdsa: (account, params) => signEcdsa(account, params),
9
9
  signPasskey: (account, params) => signPasskey(account, params),
10
10
  };
11
11
  switch (signers.type) {
12
12
  case 'owner': {
13
- return (0, common_1.signWithOwners)(signers, chain, address, parameters, signingFunctions, false, sign);
13
+ return (0, common_1.signWithOwners)(signers, configuredOwners, chain, address, parameters, signingFunctions, false, sign, statelessPasskey);
14
14
  }
15
15
  case 'guardians': {
16
16
  return (0, common_1.signWithGuardians)(signers, parameters, signingFunctions);
@@ -1,12 +1,13 @@
1
1
  import { type Hex } from 'viem';
2
- import type { CalldataInput, LazyCallInput, OwnableValidatorConfig, WebauthnValidatorConfig } from '../types';
2
+ import type { CalldataInput, ENSValidatorConfig, LazyCallInput, OwnableValidatorConfig, WebauthnValidatorConfig } from '../types';
3
+ type MfaFactor = OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig;
3
4
  /**
4
5
  * Enable multi-factor authentication
5
6
  * @param validators List of validators to use
6
7
  * @param threshold Threshold for the validators
7
8
  * @returns Calls to enable multi-factor authentication
8
9
  */
9
- declare function enable(validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[], threshold?: number): LazyCallInput;
10
+ declare function enable(validators: (MfaFactor | null)[], threshold?: number): LazyCallInput;
10
11
  /**
11
12
  * Change the multi-factor threshold
12
13
  * @param newThreshold New threshold
@@ -25,13 +26,13 @@ declare function disable(): LazyCallInput;
25
26
  * @param validator Validator module
26
27
  * @returns Call to set the sub-validator
27
28
  */
28
- declare function setSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig): CalldataInput;
29
+ declare function setSubValidator(id: Hex | number, validator: MfaFactor): CalldataInput;
29
30
  /**
30
31
  * Remove a sub-validator (multi-factor)
31
32
  * @param id Validator ID
32
33
  * @param validator Validator module
33
34
  * @returns Call to remove the sub-validator
34
35
  */
35
- declare function removeSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig): CalldataInput;
36
+ declare function removeSubValidator(id: Hex | number, validator: MfaFactor): CalldataInput;
36
37
  export { enable, changeThreshold, disable, setSubValidator, removeSubValidator };
37
38
  //# sourceMappingURL=mfa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;AAUlE,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB;;;;;GAKG;AACH,iBAAS,MAAM,CACb,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,EACvE,SAAS,SAAI,GACZ,aAAa,CAOf;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAkB5D;AAED;;;;GAIG;AACH,iBAAS,OAAO,IAAI,aAAa,CAOhC;AAED;;;;;GAKG;AACH,iBAAS,eAAe,CACtB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,GAC1D,aAAa,CA+Bf;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,GAC1D,aAAa,CA2Bf;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"mfa.d.ts","sourceRoot":"","sources":["../../../actions/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAiB,MAAM,MAAM,CAAA;AAWlE,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,KAAK,SAAS,GACV,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,CAAA;AAE3B;;;;;GAKG;AACH,iBAAS,MAAM,CACb,UAAU,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAChC,SAAS,SAAI,GACZ,aAAa,CAOf;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAkB5D;AAED;;;;GAIG;AACH,iBAAS,OAAO,IAAI,aAAa,CAOhC;AAED;;;;;GAKG;AACH,iBAAS,eAAe,CACtB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,CAmCf;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,CA2Bf;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
@@ -93,7 +93,11 @@ function setSubValidator(id, validator) {
93
93
  },
94
94
  ],
95
95
  functionName: 'setValidator',
96
- args: [validatorModule.address, validatorId, validatorModule.initData],
96
+ args: [
97
+ validatorModule.address,
98
+ validatorId,
99
+ (0, core_1.getStatelessValidatorData)(validator),
100
+ ],
97
101
  }),
98
102
  };
99
103
  }
@@ -1,4 +1,5 @@
1
1
  import type { Hex } from 'viem';
2
+ import { fynd, resolveZeroExSettler, rhinestoneSwap, toSession, zeroEx } from '../modules/validators/smart-sessions';
2
3
  import type { LazyCallInput, SessionInput } from '../types';
3
4
  /**
4
5
  * Enable smart sessions
@@ -19,5 +20,5 @@ declare function experimental_enableSession(session: SessionInput, enableSession
19
20
  chainId: bigint;
20
21
  sessionDigest: Hex;
21
22
  }[], sessionToEnableIndex: number): LazyCallInput;
22
- export { experimental_disable, experimental_enable, experimental_enableSession };
23
+ export { experimental_disable, experimental_enable, experimental_enableSession, fynd, resolveZeroExSettler, rhinestoneSwap, toSession, zeroEx, };
23
24
  //# sourceMappingURL=smart-sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAS/B,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE3D;;;GAGG;AACH,iBAAS,mBAAmB,IAAI,aAAa,CAU5C;AAED;;;GAGG;AACH,iBAAS,oBAAoB,IAAI,aAAa,CAU7C;AAED;;;;GAIG;AACH,iBAAS,0BAA0B,CACjC,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAgBf;AAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAK/B,OAAO,EACL,IAAI,EAGJ,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,MAAM,EACP,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE3D;;;GAGG;AACH,iBAAS,mBAAmB,IAAI,aAAa,CAU5C;AAED;;;GAGG;AACH,iBAAS,oBAAoB,IAAI,aAAa,CAU7C;AAED;;;;GAIG;AACH,iBAAS,0BAA0B,CACjC,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAgBf;AAED,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,IAAI,EACJ,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,MAAM,GACP,CAAA"}
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zeroEx = exports.toSession = exports.rhinestoneSwap = exports.resolveZeroExSettler = exports.fynd = void 0;
3
4
  exports.experimental_disable = experimental_disable;
4
5
  exports.experimental_enable = experimental_enable;
5
6
  exports.experimental_enableSession = experimental_enableSession;
6
7
  const accounts_1 = require("../accounts");
7
8
  const smart_sessions_1 = require("../modules/validators/smart-sessions");
9
+ Object.defineProperty(exports, "fynd", { enumerable: true, get: function () { return smart_sessions_1.fynd; } });
10
+ Object.defineProperty(exports, "resolveZeroExSettler", { enumerable: true, get: function () { return smart_sessions_1.resolveZeroExSettler; } });
11
+ Object.defineProperty(exports, "rhinestoneSwap", { enumerable: true, get: function () { return smart_sessions_1.rhinestoneSwap; } });
12
+ Object.defineProperty(exports, "toSession", { enumerable: true, get: function () { return smart_sessions_1.toSession; } });
13
+ Object.defineProperty(exports, "zeroEx", { enumerable: true, get: function () { return smart_sessions_1.zeroEx; } });
8
14
  /**
9
15
  * Enable smart sessions
10
16
  * @returns Calls to enable smart sessions
@@ -2,7 +2,7 @@ import { type Address, type Chain, type Hex } from 'viem';
2
2
  import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
3
3
  import { type AuthProvider } from '../auth/provider';
4
4
  import { type IntentOpStatus, type SplitIntentsInput } from '../orchestrator';
5
- import type { AppFeeRate, ProtocolFeeRate, SettlementLayer } from '../orchestrator/types';
5
+ import type { AppFeeRate, ProtocolFeeRate, SettlementLayer, SwapQuoterFilter } from '../orchestrator/types';
6
6
  import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
7
7
  import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, InvalidSourceCallsError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SignerNotSupportedError } from './error';
8
8
  import type { TransactionResult, UserOperationResult } from './utils';
@@ -28,6 +28,7 @@ declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains:
28
28
  sponsored?: Sponsorship;
29
29
  eip7702InitSignature?: Hex;
30
30
  settlementLayers?: SettlementLayer[];
31
+ quoters?: SwapQuoterFilter;
31
32
  sourceAssets?: SourceAssetInput;
32
33
  lockFunds?: boolean;
33
34
  feeAsset?: Address | TokenSymbol;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAML,KAAK,cAAc,EAGnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,wBAAwB,EACzB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoBrE,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BA0CzB;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,wBAAwB,gCAetC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE;IACP,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IACrC,SAAS,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAA;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAChC,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B,8BAuCF;AAED,iBAAe,yBAAyB,CACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,gCA4BpB;AA6ED,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,EAC/C,uBAAuB,EAAE,OAAO,GAC/B,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,CAwGnD;AAED,iBAAe,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,gDAgBxE;AAED,iBAAe,eAAe,CAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CACR,iBAAiB,GAAG;IAClB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACjC,CACF,CAcA;AAED,iBAAe,YAAY,CACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,yDAIjC;AAED,iBAAe,iBAAiB,CAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qDAIjC;AAED,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACzE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAEvB,gBAAgB,EAChB,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,GACjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ const POLL_ERROR_BACKOFF_MAX_MS = 10000;
35
35
  async function sendTransaction(config, transaction) {
36
36
  const sourceChains = 'chain' in transaction ? [transaction.chain] : transaction.sourceChains;
37
37
  const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
38
- const { calls, sourceCalls, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, } = transaction;
38
+ const { calls, sourceCalls, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, quoters, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, } = transaction;
39
39
  const isUserOpSigner = signers?.type === 'guardians';
40
40
  if (isUserOpSigner) {
41
41
  throw new error_1.SignerNotSupportedError();
@@ -50,6 +50,7 @@ async function sendTransaction(config, transaction) {
50
50
  sponsored,
51
51
  eip7702InitSignature,
52
52
  settlementLayers,
53
+ quoters,
53
54
  sourceAssets,
54
55
  feeAsset,
55
56
  appFees,
@@ -71,7 +72,7 @@ async function sendTransactionInternal(config, sourceChains, targetChain, option
71
72
  throw new error_1.SignerNotSupportedError();
72
73
  }
73
74
  else {
74
- return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset, options.lockFunds, options.sourceCalls, options.appFees, options.customDeadline, options.protocolFees);
75
+ return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset, options.lockFunds, options.sourceCalls, options.appFees, options.customDeadline, options.protocolFees, options.quoters);
75
76
  }
76
77
  }
77
78
  async function sendUserOperationInternal(config, chain, callInputs, signers) {
@@ -97,8 +98,8 @@ async function sendUserOperationInternal(config, chain, callInputs, signers) {
97
98
  chain: chain.id,
98
99
  };
99
100
  }
100
- async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, sourceCalls, appFees, customDeadline, protocolFees) {
101
- const prepared = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined, undefined, signers, sourceCalls, appFees, customDeadline, protocolFees);
101
+ async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, sourceCalls, appFees, customDeadline, protocolFees, quoters) {
102
+ const prepared = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined, undefined, signers, sourceCalls, appFees, customDeadline, protocolFees, quoters);
102
103
  if (!prepared) {
103
104
  throw new error_1.OrderPathRequiredForIntentsError();
104
105
  }
@@ -0,0 +1,7 @@
1
+ import type { SwapQuoter, SwapQuoterFilter } from '../orchestrator/types';
2
+ import type { Session, SignerSet } from '../types';
3
+ declare function venuesForSession(session: Session | undefined): Set<SwapQuoter> | null;
4
+ declare function quoterPinFromSession(signers: SignerSet | undefined, chainIds: readonly number[]): SwapQuoterFilter | undefined;
5
+ declare function narrowQuoterPin(derived: SwapQuoterFilter | undefined, explicit: SwapQuoterFilter | undefined): SwapQuoterFilter | undefined;
6
+ export { narrowQuoterPin, quoterPinFromSession, venuesForSession };
7
+ //# sourceMappingURL=quoters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quoters.d.ts","sourceRoot":"","sources":["../../../execution/quoters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAElD,iBAAS,gBAAgB,CACvB,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAYxB;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,gBAAgB,GAAG,SAAS,CAuB9B;AAED,iBAAS,eAAe,CACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,gBAAgB,GAAG,SAAS,CAU9B;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA"}