@rhinestone/sdk 1.13.2 → 1.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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":"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"}
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;AAEb,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,8 +4,10 @@ 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");
10
+ const ordering_1 = require("../../modules/validators/ordering");
9
11
  function parsePublicKey(publicKey) {
10
12
  const bytes = typeof publicKey === 'string' ? (0, viem_1.hexToBytes)(publicKey) : publicKey;
11
13
  const offset = bytes.length === 65 ? 1 : 0;
@@ -44,7 +46,7 @@ function packSignature(credIds, usePrecompile, webAuthns) {
44
46
  credId,
45
47
  webAuthn: webAuthns[index],
46
48
  }));
47
- credIdsAndWebAuthns.sort((a, b) => a.credId.localeCompare(b.credId));
49
+ credIdsAndWebAuthns.sort((a, b) => (0, ordering_1.compareHexValues)(a.credId, b.credId));
48
50
  credIds = credIdsAndWebAuthns.map(({ credId }) => credId);
49
51
  webAuthns = credIdsAndWebAuthns.map(({ webAuthn }) => webAuthn);
50
52
  // Encode
@@ -89,6 +91,39 @@ function packSignature(credIds, usePrecompile, webAuthns) {
89
91
  },
90
92
  ], [credIds, usePrecompile, webAuthns]);
91
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
+ }
92
127
  function packSignatureV0(webauthn, usePrecompiled) {
93
128
  return (0, viem_1.encodeAbiParameters)([
94
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 +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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"}
@@ -283,7 +283,7 @@ async function signTypedDataWithSession(config, chain, validator, session, param
283
283
  verifyingContract,
284
284
  salt,
285
285
  },
286
- }, (signature) => {
286
+ }, session.owners, (signature) => {
287
287
  const erc7739Signature = (0, erc7739_1.wrapTypedDataSignature)({
288
288
  domain: parameters.domain,
289
289
  primaryType: parameters.primaryType,
@@ -24,9 +24,10 @@ declare function getValidator(owners: OwnerSet): Module;
24
24
  declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
25
25
  declare function getENSValidator(threshold: number, owners: Address[], ownerExpirations: number[]): Module;
26
26
  declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[], address?: Address): Module;
27
+ declare function getStatelessValidatorData(validator: OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig): Hex;
27
28
  declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig | null)[], address?: Address): Module;
28
29
  declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
29
30
  declare function supportsEip712(validator: Module): boolean;
30
- export { OWNABLE_VALIDATOR_ADDRESS, ENS_HCA_MODULE, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, ownerSetUsesEns, };
31
+ export { OWNABLE_VALIDATOR_ADDRESS, ENS_HCA_MODULE, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getStatelessValidatorData, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, ownerSetUsesEns, };
31
32
  export type { WebauthnCredential };
32
33
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAMb,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,QAAA,MAAM,kCAAkC,EAAE,OACI,CAAA;AAC9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,cAAc,EAAE,OAAsD,CAAA;AAC5E,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAU9C,iBAAS,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAMlD;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAazD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAmDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAiCrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,eAAe,CACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAoCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,EACH,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAUxC;AAED,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAMZ,KAAK,GAAG,EAOT,MAAM,MAAM,CAAA;AAMb,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAGjE,QAAA,MAAM,kCAAkC,EAAE,OACI,CAAA;AAC9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,cAAc,EAAE,OAAsD,CAAA;AAC5E,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAS9C,iBAAS,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAMlD;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAazD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAsDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAiCrC;AA2BD,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,eAAe,CACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAsCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,yBAAyB,CAChC,SAAS,EACL,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GAC1B,GAAG,CAgFL;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,EACH,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAyBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAUxC;AAED,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
@@ -6,6 +6,7 @@ exports.getOwnableValidator = getOwnableValidator;
6
6
  exports.getENSValidator = getENSValidator;
7
7
  exports.getWebAuthnValidator = getWebAuthnValidator;
8
8
  exports.getMultiFactorValidator = getMultiFactorValidator;
9
+ exports.getStatelessValidatorData = getStatelessValidatorData;
9
10
  exports.getSocialRecoveryValidator = getSocialRecoveryValidator;
10
11
  exports.getValidator = getValidator;
11
12
  exports.getMockSignature = getMockSignature;
@@ -14,6 +15,7 @@ exports.ownerSetUsesEns = ownerSetUsesEns;
14
15
  const viem_1 = require("viem");
15
16
  const error_1 = require("../../accounts/error");
16
17
  const common_1 = require("../common");
18
+ const ordering_1 = require("./ordering");
17
19
  const SMART_SESSION_EMISSARY_ADDRESS_DEV = '0x60731de80d78548875f8a67c4fec2a8660194e0c';
18
20
  exports.SMART_SESSION_EMISSARY_ADDRESS_DEV = SMART_SESSION_EMISSARY_ADDRESS_DEV;
19
21
  const SMART_SESSION_EMISSARY_ADDRESS = '0xad568b3f825a8d5ffc06dd3253526b64d810ae89';
@@ -34,9 +36,8 @@ const WEBAUTHN_V0_VALIDATOR_ADDRESS = '0x0000000000578c4cb0e472a5462da43c495c3f3
34
36
  exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = WEBAUTHN_V0_VALIDATOR_ADDRESS;
35
37
  const ECDSA_MOCK_SIGNATURE = '0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b';
36
38
  const WEBAUTHN_MOCK_SIGNATURE = '0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001b9b86eb98fda3ed4d797d9e690588dfadf17b329a76a47cec935bebf92d7ddc80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000019b2e9410bb6850f9f660a03d609d5a844fb96bcdc87a15139b03ee22c70f469100d2b865a215c3bf786387064effa8fcedcb1d625b5148f8a1236d5e3ff11acf000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d9763050000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000867b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22396a4546696a75684557724d34534f572d7443684a625545484550343456636a634a2d42716f3166544d38222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a38303830222c2263726f73734f726967696e223a66616c73657d0000000000000000000000000000000000000000000000000000';
37
- // ENS validation is only available on HCA accounts (its validator default is
38
- // the HCA module). True for a direct ENS owner set or an ENS sub-validator
39
- // nested in a multi-factor config.
39
+ // True for a direct ENS owner set or an ENS sub-validator nested in a
40
+ // multi-factor config. Smart Sessions use this to reject both shapes.
40
41
  function ownerSetUsesEns(owners) {
41
42
  return (owners.type === 'ens' ||
42
43
  (owners.type === 'multi-factor' &&
@@ -46,9 +47,9 @@ function getOwnerValidator(config) {
46
47
  if (!config.owners) {
47
48
  throw new error_1.OwnersFieldRequiredError();
48
49
  }
49
- // ENS owners resolve to the HCA module, which is only valid for HCA accounts.
50
- // Other account types would silently install/sign against the wrong validator.
51
- if (ownerSetUsesEns(config.owners) && config.account?.type !== 'hca') {
50
+ // Direct ENS owners resolve to the HCA module, which is only valid for HCA
51
+ // accounts. Nested ENS factors use the module's stateless validation path.
52
+ if (config.owners.type === 'ens' && config.account?.type !== 'hca') {
52
53
  throw new error_1.AccountConfigurationNotSupportedError('ENS owners are only supported on HCA accounts', config.account?.type ?? 'nexus');
53
54
  }
54
55
  return getValidator(config.owners);
@@ -67,7 +68,9 @@ function getMockSignature(ownerSet) {
67
68
  case 'multi-factor': {
68
69
  const mockValidators = ownerSet.validators.map((validator, index) => {
69
70
  const validatorModule = getValidator(validator);
70
- const signature = getMockSignature(validator);
71
+ const signature = validator.type === 'passkey'
72
+ ? getStatelessWebAuthnMockSignature()
73
+ : getMockSignature(validator);
71
74
  return {
72
75
  packedValidatorAndId: (0, viem_1.encodePacked)(['bytes12', 'address'], [
73
76
  (0, viem_1.pad)((0, viem_1.toHex)(index), {
@@ -113,6 +116,26 @@ function getValidator(owners) {
113
116
  }
114
117
  }
115
118
  }
119
+ const WEBAUTHN_AUTH_ABI = {
120
+ type: 'tuple[]',
121
+ name: 'webAuthns',
122
+ components: [
123
+ { type: 'bytes', name: 'authenticatorData' },
124
+ { type: 'string', name: 'clientDataJSON' },
125
+ { type: 'uint256', name: 'challengeIndex' },
126
+ { type: 'uint256', name: 'typeIndex' },
127
+ { type: 'uint256', name: 'r' },
128
+ { type: 'uint256', name: 's' },
129
+ ],
130
+ };
131
+ function getStatelessWebAuthnMockSignature() {
132
+ const [, , webAuthns] = (0, viem_1.decodeAbiParameters)([
133
+ { type: 'bytes32[]', name: 'credIds' },
134
+ { type: 'bool', name: 'usePrecompile' },
135
+ WEBAUTHN_AUTH_ABI,
136
+ ], WEBAUTHN_MOCK_SIGNATURE);
137
+ return (0, viem_1.encodeAbiParameters)([WEBAUTHN_AUTH_ABI], [webAuthns]);
138
+ }
116
139
  function getOwnableValidator(threshold, owners, address) {
117
140
  return {
118
141
  address: address ?? OWNABLE_VALIDATOR_ADDRESS,
@@ -136,7 +159,7 @@ function getENSValidator(threshold, owners, ownerExpirations) {
136
159
  expiration: ownerExpirations[index] ?? viem_1.maxUint48,
137
160
  }));
138
161
  // Sort by address to match ENS validator's expectations
139
- const sortedPairs = ownerPairs.sort((a, b) => a.addr.localeCompare(b.addr));
162
+ const sortedPairs = ownerPairs.sort((a, b) => (0, ordering_1.compareHexValues)(a.addr, b.addr));
140
163
  const ownersWithExpiration = sortedPairs;
141
164
  const initData = (0, viem_1.encodeAbiParameters)([
142
165
  { name: 'threshold', type: 'uint256' },
@@ -212,6 +235,70 @@ function getWebAuthnValidator(threshold, webAuthnCredentials, address) {
212
235
  type: common_1.MODULE_TYPE_ID_VALIDATOR,
213
236
  };
214
237
  }
238
+ function getStatelessValidatorData(validator) {
239
+ switch (validator.type) {
240
+ case 'ecdsa':
241
+ return getOwnableValidator(validator.threshold ?? 1, validator.accounts.map((account) => account.address)).initData;
242
+ case 'ens':
243
+ return (0, viem_1.encodeAbiParameters)([
244
+ { name: 'threshold', type: 'uint256' },
245
+ { name: 'owners', type: 'address[]' },
246
+ ], [
247
+ BigInt(validator.threshold ?? 1),
248
+ validator.accounts
249
+ .map((account) => account.address.toLowerCase())
250
+ .sort((a, b) => (0, ordering_1.compareHexValues)(a, b)),
251
+ ]);
252
+ case 'passkey': {
253
+ const credentials = validator.accounts
254
+ .map((account) => {
255
+ const publicKey = parsePublicKey(account.publicKey);
256
+ if (publicKey.prefix && publicKey.prefix !== 4) {
257
+ throw new Error('Only uncompressed public keys are supported');
258
+ }
259
+ const credentialId = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'uint256' }, { type: 'address' }], [publicKey.x, publicKey.y, viem_1.zeroAddress]));
260
+ return {
261
+ credentialId,
262
+ credentialData: {
263
+ pubKeyX: publicKey.x,
264
+ pubKeyY: publicKey.y,
265
+ requireUV: false,
266
+ },
267
+ };
268
+ })
269
+ .sort((a, b) => (0, ordering_1.compareHexValues)(a.credentialId, b.credentialId));
270
+ return (0, viem_1.encodeAbiParameters)([
271
+ {
272
+ name: 'context',
273
+ type: 'tuple',
274
+ components: [
275
+ { name: 'usePrecompile', type: 'bool' },
276
+ { name: 'threshold', type: 'uint256' },
277
+ { name: 'credentialIds', type: 'bytes32[]' },
278
+ {
279
+ name: 'credentialData',
280
+ type: 'tuple[]',
281
+ components: [
282
+ { name: 'pubKeyX', type: 'uint256' },
283
+ { name: 'pubKeyY', type: 'uint256' },
284
+ { name: 'requireUV', type: 'bool' },
285
+ ],
286
+ },
287
+ ],
288
+ },
289
+ { name: 'account', type: 'address' },
290
+ ], [
291
+ {
292
+ usePrecompile: false,
293
+ threshold: BigInt(validator.threshold ?? 1),
294
+ credentialIds: credentials.map(({ credentialId }) => credentialId),
295
+ credentialData: credentials.map(({ credentialData }) => credentialData),
296
+ },
297
+ viem_1.zeroAddress,
298
+ ]);
299
+ }
300
+ }
301
+ }
215
302
  function getMultiFactorValidator(threshold, validators, address) {
216
303
  return {
217
304
  address: address ?? MULTI_FACTOR_VALIDATOR_ADDRESS,
@@ -244,7 +331,7 @@ function getMultiFactorValidator(threshold, validators, address) {
244
331
  }),
245
332
  validatorModule.address,
246
333
  ]),
247
- data: validatorModule.initData,
334
+ data: getStatelessValidatorData(validator),
248
335
  };
249
336
  })
250
337
  .filter((validator) => validator !== null),
@@ -256,8 +343,11 @@ function getMultiFactorValidator(threshold, validators, address) {
256
343
  };
257
344
  }
258
345
  function getSocialRecoveryValidator(guardians, threshold = 1) {
259
- const guardianAddresses = guardians.map((guardian) => guardian.address);
260
- guardianAddresses.sort();
346
+ // Lowercase before sorting: checksum casing would otherwise order `0xB5…`
347
+ // before `0xb4…`, which the validator rejects as unsorted.
348
+ const guardianAddresses = guardians
349
+ .map((guardian) => guardian.address.toLowerCase())
350
+ .sort();
261
351
  return {
262
352
  type: common_1.MODULE_TYPE_ID_VALIDATOR,
263
353
  address: SOCIAL_RECOVERY_VALIDATOR_ADDRESS,
@@ -0,0 +1,4 @@
1
+ import type { Hex } from 'viem';
2
+ declare function compareHexValues(left: Hex, right: Hex): number;
3
+ export { compareHexValues };
4
+ //# sourceMappingURL=ordering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../../../modules/validators/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAK/B,iBAAS,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAOvD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareHexValues = compareHexValues;
4
+ // Order by value, never by host collation: `localeCompare` sorts `0xaa…` after
5
+ // `0xb1…` on Danish-family locales, which would change derived addresses and
6
+ // break the validators' ascending-order requirement.
7
+ function compareHexValues(left, right) {
8
+ const leftValue = BigInt(left);
9
+ const rightValue = BigInt(right);
10
+ if (leftValue === rightValue) {
11
+ return 0;
12
+ }
13
+ return leftValue < rightValue ? -1 : 1;
14
+ }
@@ -1,6 +1,6 @@
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 = "1.13.2";
3
+ declare const SDK_VERSION = "1.13.4";
4
4
  declare const API_VERSION = "2026-01.alps";
5
5
  export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION, API_VERSION, };
6
6
  //# sourceMappingURL=consts.d.ts.map
@@ -5,7 +5,7 @@ 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 = '1.13.2';
8
+ const SDK_VERSION = '1.13.4';
9
9
  exports.SDK_VERSION = SDK_VERSION;
10
10
  const API_VERSION = '2026-01.alps';
11
11
  exports.API_VERSION = API_VERSION;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "1.13.2",
3
+ "version": "1.13.4",
4
4
  "description": "End-to-end chain abstraction and modularity toolkit",
5
5
  "author": {
6
6
  "name": "Rhinestone",
@@ -166,7 +166,7 @@
166
166
  "access": "public"
167
167
  },
168
168
  "dependencies": {
169
- "@rhinestone/shared-configs": "1.11.2",
169
+ "@rhinestone/shared-configs": "2.9.4",
170
170
  "solady": "^0.1.26"
171
171
  },
172
172
  "peerDependencies": {