@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.
- package/dist/esm/account/smartContractAccount.d.ts +3 -1
- package/dist/esm/account/smartContractAccount.js +26 -24
- package/dist/esm/account/smartContractAccount.js.map +1 -1
- package/dist/esm/entrypoint/0.6.d.ts +1 -1
- package/dist/esm/entrypoint/0.7.d.ts +1 -1
- package/dist/esm/errors/client.d.ts +10 -0
- package/dist/esm/errors/client.js +17 -0
- package/dist/esm/errors/client.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/middleware/defaults/7702gasEstimator.d.ts +36 -0
- package/dist/esm/middleware/defaults/7702gasEstimator.js +62 -0
- package/dist/esm/middleware/defaults/7702gasEstimator.js.map +1 -0
- package/dist/esm/middleware/defaults/7702signer.d.ts +37 -0
- package/dist/esm/middleware/defaults/7702signer.js +86 -0
- package/dist/esm/middleware/defaults/7702signer.js.map +1 -0
- package/dist/esm/signer/local-account.d.ts +21 -0
- package/dist/esm/signer/local-account.js +22 -0
- package/dist/esm/signer/local-account.js.map +1 -1
- package/dist/esm/signer/types.d.ts +2 -0
- package/dist/esm/signer/types.js.map +1 -1
- package/dist/esm/signer/wallet-client.js +10 -2
- package/dist/esm/signer/wallet-client.js.map +1 -1
- package/dist/esm/types.d.ts +12 -2
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/types.d.ts +1 -0
- package/dist/esm/utils/types.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/account/smartContractAccount.d.ts +3 -1
- package/dist/types/account/smartContractAccount.d.ts.map +1 -1
- package/dist/types/entrypoint/0.6.d.ts +1 -1
- package/dist/types/entrypoint/0.7.d.ts +1 -1
- package/dist/types/errors/client.d.ts +10 -0
- package/dist/types/errors/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/middleware/defaults/7702gasEstimator.d.ts +37 -0
- package/dist/types/middleware/defaults/7702gasEstimator.d.ts.map +1 -0
- package/dist/types/middleware/defaults/7702signer.d.ts +38 -0
- package/dist/types/middleware/defaults/7702signer.d.ts.map +1 -0
- package/dist/types/signer/local-account.d.ts +21 -0
- package/dist/types/signer/local-account.d.ts.map +1 -1
- package/dist/types/signer/types.d.ts +2 -0
- package/dist/types/signer/types.d.ts.map +1 -1
- package/dist/types/signer/wallet-client.d.ts.map +1 -1
- package/dist/types/types.d.ts +12 -2
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/types.d.ts +1 -0
- package/dist/types/utils/types.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/account/smartContractAccount.ts +39 -30
- package/src/errors/client.ts +14 -0
- package/src/index.ts +3 -0
- package/src/middleware/defaults/7702gasEstimator.ts +77 -0
- package/src/middleware/defaults/7702signer.ts +105 -0
- package/src/signer/local-account.ts +28 -0
- package/src/signer/types.ts +5 -0
- package/src/signer/wallet-client.ts +11 -1
- package/src/types.ts +17 -4
- package/src/utils/types.ts +4 -0
- package/src/version.ts +1 -1
package/src/signer/types.ts
CHANGED
|
@@ -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
|
-
|
|
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]
|
package/src/utils/types.ts
CHANGED
|
@@ -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