@aa-sdk/core 4.12.1-alpha.0 → 4.13.1-alpha.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/esm/account/smartContractAccount.d.ts +3 -1
  2. package/dist/esm/account/smartContractAccount.js +26 -24
  3. package/dist/esm/account/smartContractAccount.js.map +1 -1
  4. package/dist/esm/entrypoint/0.6.d.ts +1 -1
  5. package/dist/esm/entrypoint/0.7.d.ts +1 -1
  6. package/dist/esm/errors/client.d.ts +10 -0
  7. package/dist/esm/errors/client.js +17 -0
  8. package/dist/esm/errors/client.js.map +1 -1
  9. package/dist/esm/index.d.ts +3 -1
  10. package/dist/esm/index.js +3 -1
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/middleware/defaults/7702gasEstimator.d.ts +36 -0
  13. package/dist/esm/middleware/defaults/7702gasEstimator.js +62 -0
  14. package/dist/esm/middleware/defaults/7702gasEstimator.js.map +1 -0
  15. package/dist/esm/middleware/defaults/7702signer.d.ts +37 -0
  16. package/dist/esm/middleware/defaults/7702signer.js +86 -0
  17. package/dist/esm/middleware/defaults/7702signer.js.map +1 -0
  18. package/dist/esm/signer/local-account.d.ts +21 -0
  19. package/dist/esm/signer/local-account.js +22 -0
  20. package/dist/esm/signer/local-account.js.map +1 -1
  21. package/dist/esm/signer/types.d.ts +2 -0
  22. package/dist/esm/signer/types.js.map +1 -1
  23. package/dist/esm/signer/wallet-client.js +10 -2
  24. package/dist/esm/signer/wallet-client.js.map +1 -1
  25. package/dist/esm/types.d.ts +12 -2
  26. package/dist/esm/types.js.map +1 -1
  27. package/dist/esm/utils/types.d.ts +1 -0
  28. package/dist/esm/utils/types.js.map +1 -1
  29. package/dist/esm/version.d.ts +1 -1
  30. package/dist/esm/version.js +1 -1
  31. package/dist/esm/version.js.map +1 -1
  32. package/dist/types/account/smartContractAccount.d.ts +3 -1
  33. package/dist/types/account/smartContractAccount.d.ts.map +1 -1
  34. package/dist/types/entrypoint/0.6.d.ts +1 -1
  35. package/dist/types/entrypoint/0.7.d.ts +1 -1
  36. package/dist/types/errors/client.d.ts +10 -0
  37. package/dist/types/errors/client.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +3 -1
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/middleware/defaults/7702gasEstimator.d.ts +37 -0
  41. package/dist/types/middleware/defaults/7702gasEstimator.d.ts.map +1 -0
  42. package/dist/types/middleware/defaults/7702signer.d.ts +38 -0
  43. package/dist/types/middleware/defaults/7702signer.d.ts.map +1 -0
  44. package/dist/types/signer/local-account.d.ts +21 -0
  45. package/dist/types/signer/local-account.d.ts.map +1 -1
  46. package/dist/types/signer/types.d.ts +2 -0
  47. package/dist/types/signer/types.d.ts.map +1 -1
  48. package/dist/types/signer/wallet-client.d.ts.map +1 -1
  49. package/dist/types/types.d.ts +12 -2
  50. package/dist/types/types.d.ts.map +1 -1
  51. package/dist/types/utils/types.d.ts +1 -0
  52. package/dist/types/utils/types.d.ts.map +1 -1
  53. package/dist/types/version.d.ts +1 -1
  54. package/package.json +3 -3
  55. package/src/account/smartContractAccount.ts +39 -30
  56. package/src/errors/client.ts +14 -0
  57. package/src/index.ts +3 -0
  58. package/src/middleware/defaults/7702gasEstimator.ts +77 -0
  59. package/src/middleware/defaults/7702signer.ts +105 -0
  60. package/src/signer/local-account.ts +28 -0
  61. package/src/signer/types.ts +5 -0
  62. package/src/signer/wallet-client.ts +11 -1
  63. package/src/types.ts +17 -4
  64. package/src/utils/types.ts +4 -0
  65. package/src/version.ts +1 -1
@@ -5,6 +5,7 @@ import type {
5
5
  TypedData,
6
6
  TypedDataDefinition,
7
7
  } from "viem";
8
+ import type { Authorization } from "viem/experimental";
8
9
 
9
10
  // [!region SmartAccountAuthenticator]
10
11
  /**
@@ -42,5 +43,9 @@ export interface SmartAccountSigner<Inner = any> {
42
43
  >(
43
44
  params: TypedDataDefinition<TTypedData, TPrimaryType>
44
45
  ) => Promise<Hex>;
46
+
47
+ signAuthorization?: (
48
+ unsignedAuthorization: Authorization<number, false>
49
+ ) => Promise<Authorization<number, true>>;
45
50
  }
46
51
  // [!endregion SmartAccountSigner]
@@ -1,4 +1,5 @@
1
1
  import {
2
+ bytesToHex,
2
3
  getAddress,
3
4
  type Hex,
4
5
  type SignableMessage,
@@ -97,7 +98,16 @@ export class WalletClientSigner implements SmartAccountSigner<WalletClient> {
97
98
  async (message) => {
98
99
  const account = this.inner.account ?? (await this.getAddress());
99
100
 
100
- return this.inner.signMessage({ message, account });
101
+ // Seems Wallet Connect only supports signing string messages.
102
+ return this.inner.signMessage({
103
+ message:
104
+ typeof message === "string"
105
+ ? message
106
+ : typeof message.raw === "string"
107
+ ? message.raw
108
+ : bytesToHex(message.raw),
109
+ account,
110
+ });
101
111
  };
102
112
 
103
113
  /**
package/src/types.ts CHANGED
@@ -201,15 +201,27 @@ export interface UserOperationRequest_v7 {
201
201
  }
202
202
  // [!endregion UserOperationRequest_v7]
203
203
 
204
+ export type Eip7702ExtendedFields = {
205
+ eip7702Auth?: {
206
+ chainId: Hex;
207
+ nonce: Hex;
208
+ address: Address;
209
+ r: Hex;
210
+ s: Hex;
211
+ yParity: Hex;
212
+ };
213
+ };
214
+
204
215
  // [!region UserOperationRequest]
205
216
  // Reference: https://eips.ethereum.org/EIPS/eip-4337#definitions
206
217
  export type UserOperationRequest<
207
218
  TEntryPointVersion extends EntryPointVersion = EntryPointVersion
208
- > = TEntryPointVersion extends "0.6.0"
219
+ > = (TEntryPointVersion extends "0.6.0"
209
220
  ? UserOperationRequest_v6
210
221
  : TEntryPointVersion extends "0.7.0"
211
222
  ? UserOperationRequest_v7
212
- : never;
223
+ : never) &
224
+ Eip7702ExtendedFields;
213
225
 
214
226
  // [!endregion UserOperationRequest]
215
227
 
@@ -347,9 +359,10 @@ export interface UserOperationStruct_v7 {
347
359
  // [!region UserOperationStruct]
348
360
  export type UserOperationStruct<
349
361
  TEntryPointVersion extends EntryPointVersion = EntryPointVersion
350
- > = TEntryPointVersion extends "0.6.0"
362
+ > = (TEntryPointVersion extends "0.6.0"
351
363
  ? UserOperationStruct_v6
352
364
  : TEntryPointVersion extends "0.7.0"
353
365
  ? UserOperationStruct_v7
354
- : never;
366
+ : never) &
367
+ Eip7702ExtendedFields;
355
368
  // [!endregion UserOperationStruct]
@@ -92,3 +92,7 @@ export type OneOf<T1, T2> = IsOneOf<T1, T2> extends true ? T1 : never;
92
92
  export type RecordableKeys<T> = {
93
93
  [K in keyof T]: T[K] extends string | number | symbol ? K : never;
94
94
  }[keyof T];
95
+
96
+ // Marks a subset of the fields of T as optional.
97
+ export type OptionalFields<T, K extends keyof T> = Pick<Partial<T>, K> &
98
+ Omit<T, K>;
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // This file is autogenerated by inject-version.ts. Any changes will be
2
2
  // overwritten on commit!
3
- export const VERSION = "4.12.1-alpha.0";
3
+ export const VERSION = "4.13.1-alpha.0";