@account-kit/wallet-client 0.1.0-alpha.1 → 0.1.0-alpha.3
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/capabilities/index.d.ts +5 -2
- package/dist/esm/capabilities/index.js +1 -1
- package/dist/esm/capabilities/index.js.map +1 -1
- package/dist/esm/capabilities/overrides.js +8 -8
- package/dist/esm/capabilities/overrides.js.map +1 -1
- package/dist/esm/capabilities/permissions/index.d.ts +10 -3
- package/dist/esm/capabilities/permissions/index.js +11 -2
- package/dist/esm/capabilities/permissions/index.js.map +1 -1
- package/dist/esm/capabilities/permissions/mav2.d.ts +3 -3
- package/dist/esm/capabilities/permissions/mav2.js +9 -1
- package/dist/esm/capabilities/permissions/mav2.js.map +1 -1
- package/dist/esm/client/actions/createAccount.d.ts +27 -2
- package/dist/esm/client/actions/createAccount.js +25 -0
- package/dist/esm/client/actions/createAccount.js.map +1 -1
- package/dist/esm/client/actions/getCallsStatus.d.ts +21 -2
- package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
- package/dist/esm/client/actions/grantPermissions.d.ts +114 -2
- package/dist/esm/client/actions/grantPermissions.js +1 -0
- package/dist/esm/client/actions/grantPermissions.js.map +1 -1
- package/dist/esm/client/actions/listAccounts.d.ts +26 -2
- package/dist/esm/client/actions/listAccounts.js +24 -0
- package/dist/esm/client/actions/listAccounts.js.map +1 -1
- package/dist/esm/client/actions/prepareCalls.d.ts +28 -2
- package/dist/esm/client/actions/prepareCalls.js.map +1 -1
- package/dist/esm/client/actions/requestAccount.d.ts +21 -2
- package/dist/esm/client/actions/requestAccount.js +15 -4
- package/dist/esm/client/actions/requestAccount.js.map +1 -1
- package/dist/esm/client/actions/sendPreparedCalls.d.ts +39 -2
- package/dist/esm/client/actions/sendPreparedCalls.js +37 -0
- package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/client/actions/signMessage.d.ts +22 -2
- package/dist/esm/client/actions/signMessage.js +4 -2
- package/dist/esm/client/actions/signMessage.js.map +1 -1
- package/dist/esm/client/actions/signSignatureRequest.d.ts +34 -0
- package/dist/esm/client/actions/signSignatureRequest.js +22 -1
- package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
- package/dist/esm/client/actions/signTypedData.d.ts +35 -2
- package/dist/esm/client/actions/signTypedData.js +3 -1
- package/dist/esm/client/actions/signTypedData.js.map +1 -1
- package/dist/esm/client/client.e2e-test.js +112 -30
- package/dist/esm/client/client.e2e-test.js.map +1 -1
- package/dist/esm/client/decorator.d.ts +7 -5
- package/dist/esm/client/decorator.js +1 -1
- package/dist/esm/client/decorator.js.map +1 -1
- package/dist/esm/client/index.d.ts +4 -4
- package/dist/esm/client/index.js +29 -3
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/exports/index.d.ts +1 -0
- package/dist/esm/exports/index.js +1 -0
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/internal.d.ts +1 -1
- package/dist/esm/exports/internal.js.map +1 -1
- package/dist/esm/internal/decorator.d.ts +2 -0
- package/dist/esm/internal/decorator.js +10 -0
- package/dist/esm/internal/decorator.js.map +1 -0
- package/dist/esm/isomorphic/actions/createSession.js +25 -7
- package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
- package/dist/esm/isomorphic/actions/prepareCalls.js +35 -12
- package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js +26 -6
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/isomorphic/client.d.ts +11 -5
- package/dist/esm/isomorphic/utils/7702.d.ts +11 -0
- package/dist/esm/isomorphic/utils/7702.js +26 -0
- package/dist/esm/isomorphic/utils/7702.js.map +1 -0
- package/dist/esm/isomorphic/utils/createAccount.d.ts +2 -1
- package/dist/esm/isomorphic/utils/createAccount.js +30 -5
- package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
- package/dist/esm/isomorphic/utils/createDummySigner.js +3 -3
- package/dist/esm/isomorphic/utils/createDummySigner.js.map +1 -1
- package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +2 -1
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js +17 -5
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +1 -1
- package/dist/esm/local/client.d.ts +1 -1
- package/dist/esm/local/client.js +10 -2
- package/dist/esm/local/client.js.map +1 -1
- package/dist/esm/remote/client.d.ts +1 -1
- package/dist/esm/remote/client.js +12 -3
- package/dist/esm/remote/client.js.map +1 -1
- package/dist/esm/rpc/examples.d.ts +230 -0
- package/dist/esm/rpc/examples.js +314 -0
- package/dist/esm/rpc/examples.js.map +1 -0
- package/dist/esm/rpc/request.d.ts +48 -17
- package/dist/esm/rpc/request.js +53 -14
- package/dist/esm/rpc/request.js.map +1 -1
- package/dist/esm/rpc/schema.d.ts +43 -12
- package/dist/esm/schemas.d.ts +29 -7
- package/dist/esm/schemas.js +120 -38
- package/dist/esm/schemas.js.map +1 -1
- package/dist/esm/types.d.ts +15 -4
- package/dist/esm/types.js.map +1 -1
- package/dist/types/capabilities/index.d.ts +5 -2
- package/dist/types/capabilities/index.d.ts.map +1 -1
- package/dist/types/capabilities/overrides.d.ts.map +1 -1
- package/dist/types/capabilities/permissions/index.d.ts +10 -3
- package/dist/types/capabilities/permissions/index.d.ts.map +1 -1
- package/dist/types/capabilities/permissions/mav2.d.ts +3 -3
- package/dist/types/capabilities/permissions/mav2.d.ts.map +1 -1
- package/dist/types/client/actions/createAccount.d.ts +27 -2
- package/dist/types/client/actions/createAccount.d.ts.map +1 -1
- package/dist/types/client/actions/getCallsStatus.d.ts +21 -2
- package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/types/client/actions/grantPermissions.d.ts +114 -2
- package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
- package/dist/types/client/actions/listAccounts.d.ts +26 -2
- package/dist/types/client/actions/listAccounts.d.ts.map +1 -1
- package/dist/types/client/actions/prepareCalls.d.ts +28 -2
- package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/client/actions/requestAccount.d.ts +21 -2
- package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
- package/dist/types/client/actions/sendPreparedCalls.d.ts +39 -2
- package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/client/actions/signMessage.d.ts +22 -2
- package/dist/types/client/actions/signMessage.d.ts.map +1 -1
- package/dist/types/client/actions/signSignatureRequest.d.ts +34 -0
- package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
- package/dist/types/client/actions/signTypedData.d.ts +35 -2
- package/dist/types/client/actions/signTypedData.d.ts.map +1 -1
- package/dist/types/client/decorator.d.ts +7 -5
- package/dist/types/client/decorator.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +4 -4
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +1 -0
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/exports/internal.d.ts +1 -1
- package/dist/types/exports/internal.d.ts.map +1 -1
- package/dist/types/internal/decorator.d.ts +3 -0
- package/dist/types/internal/decorator.d.ts.map +1 -0
- package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/client.d.ts +11 -5
- package/dist/types/isomorphic/client.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/7702.d.ts +12 -0
- package/dist/types/isomorphic/utils/7702.d.ts.map +1 -0
- package/dist/types/isomorphic/utils/createAccount.d.ts +2 -1
- package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +2 -1
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +1 -1
- package/dist/types/local/client.d.ts +1 -1
- package/dist/types/local/client.d.ts.map +1 -1
- package/dist/types/remote/client.d.ts +1 -1
- package/dist/types/remote/client.d.ts.map +1 -1
- package/dist/types/rpc/examples.d.ts +231 -0
- package/dist/types/rpc/examples.d.ts.map +1 -0
- package/dist/types/rpc/request.d.ts +48 -17
- package/dist/types/rpc/request.d.ts.map +1 -1
- package/dist/types/rpc/schema.d.ts +43 -12
- package/dist/types/rpc/schema.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +29 -7
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/types.d.ts +15 -4
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/capabilities/index.ts +5 -8
- package/src/capabilities/overrides.ts +23 -8
- package/src/capabilities/permissions/index.ts +21 -5
- package/src/capabilities/permissions/mav2.ts +13 -3
- package/src/client/actions/createAccount.ts +27 -2
- package/src/client/actions/getCallsStatus.ts +21 -2
- package/src/client/actions/grantPermissions.ts +114 -2
- package/src/client/actions/listAccounts.ts +26 -2
- package/src/client/actions/prepareCalls.ts +28 -2
- package/src/client/actions/requestAccount.ts +41 -7
- package/src/client/actions/sendPreparedCalls.ts +39 -2
- package/src/client/actions/signMessage.ts +24 -4
- package/src/client/actions/signSignatureRequest.ts +61 -2
- package/src/client/actions/signTypedData.ts +39 -3
- package/src/client/client.e2e-test.ts +134 -32
- package/src/client/decorator.ts +10 -12
- package/src/client/index.ts +41 -10
- package/src/exports/index.ts +1 -0
- package/src/exports/internal.ts +1 -1
- package/src/internal/decorator.ts +12 -0
- package/src/isomorphic/actions/createSession.ts +28 -7
- package/src/isomorphic/actions/prepareCalls.ts +38 -11
- package/src/isomorphic/actions/sendPreparedCalls.ts +47 -20
- package/src/isomorphic/utils/7702.ts +58 -0
- package/src/isomorphic/utils/createAccount.ts +38 -6
- package/src/isomorphic/utils/createDummySigner.ts +3 -2
- package/src/isomorphic/utils/parsePermissionsContext.ts +23 -7
- package/src/local/client.ts +54 -45
- package/src/remote/client.ts +22 -7
- package/src/rpc/examples.ts +343 -0
- package/src/rpc/request.ts +75 -26
- package/src/schemas.ts +218 -87
- package/src/types.ts +18 -4
package/dist/esm/rpc/schema.d.ts
CHANGED
|
@@ -4,6 +4,9 @@ export declare const WalletServerRpcSchema: {
|
|
|
4
4
|
capabilities?: {
|
|
5
5
|
permissions?: {
|
|
6
6
|
context: `0x${string}`;
|
|
7
|
+
} | {
|
|
8
|
+
signature: `0x${string}`;
|
|
9
|
+
sessionId: `0x${string}`;
|
|
7
10
|
} | undefined;
|
|
8
11
|
paymasterService?: {
|
|
9
12
|
policyId: string;
|
|
@@ -43,7 +46,7 @@ export declare const WalletServerRpcSchema: {
|
|
|
43
46
|
method: "wallet_prepareCalls";
|
|
44
47
|
};
|
|
45
48
|
ReturnType: {
|
|
46
|
-
type: "user-operation-
|
|
49
|
+
type: "user-operation-v070" | "user-operation-v060";
|
|
47
50
|
chainId: `0x${string}`;
|
|
48
51
|
data: {
|
|
49
52
|
sender: `0x${string}`;
|
|
@@ -72,7 +75,7 @@ export declare const WalletServerRpcSchema: {
|
|
|
72
75
|
maxFeePerGas: `0x${string}`;
|
|
73
76
|
maxPriorityFeePerGas: `0x${string}`;
|
|
74
77
|
};
|
|
75
|
-
signatureRequest: {
|
|
78
|
+
signatureRequest: ({
|
|
76
79
|
type: "personal_sign";
|
|
77
80
|
data: string | {
|
|
78
81
|
raw: `0x${string}`;
|
|
@@ -81,8 +84,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
81
84
|
type: "eth_signTypedData_v4";
|
|
82
85
|
data: {
|
|
83
86
|
domain?: {
|
|
84
|
-
salt?: `0x${string}` | undefined;
|
|
85
87
|
chainId?: number | undefined;
|
|
88
|
+
salt?: `0x${string}` | undefined;
|
|
86
89
|
name?: string | undefined;
|
|
87
90
|
verifyingContract?: `0x${string}` | undefined;
|
|
88
91
|
version?: string | undefined;
|
|
@@ -98,17 +101,34 @@ export declare const WalletServerRpcSchema: {
|
|
|
98
101
|
[x: string]: unknown;
|
|
99
102
|
};
|
|
100
103
|
};
|
|
104
|
+
}) & {
|
|
105
|
+
authorizationRequest?: {
|
|
106
|
+
nonce: number;
|
|
107
|
+
chainId: number;
|
|
108
|
+
address: `0x${string}`;
|
|
109
|
+
} | undefined;
|
|
101
110
|
};
|
|
102
111
|
};
|
|
103
112
|
} | {
|
|
104
113
|
Request: {
|
|
105
114
|
params: [{
|
|
115
|
+
signedAuthorization?: {
|
|
116
|
+
nonce: `0x${string}`;
|
|
117
|
+
chainId: `0x${string}`;
|
|
118
|
+
address: `0x${string}`;
|
|
119
|
+
r: `0x${string}`;
|
|
120
|
+
s: `0x${string}`;
|
|
121
|
+
yParity: `0x${string}`;
|
|
122
|
+
} | undefined;
|
|
106
123
|
capabilities?: {
|
|
107
|
-
permissions
|
|
124
|
+
permissions?: {
|
|
108
125
|
context: `0x${string}`;
|
|
109
|
-
}
|
|
126
|
+
} | {
|
|
127
|
+
signature: `0x${string}`;
|
|
128
|
+
sessionId: `0x${string}`;
|
|
129
|
+
} | undefined;
|
|
110
130
|
} | undefined;
|
|
111
|
-
type: "user-operation-
|
|
131
|
+
type: "user-operation-v070" | "user-operation-v060";
|
|
112
132
|
signature: {
|
|
113
133
|
type: "ecdsa";
|
|
114
134
|
signature: `0x${string}`;
|
|
@@ -154,6 +174,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
154
174
|
creationOptions?: {
|
|
155
175
|
salt?: `0x${string}` | undefined;
|
|
156
176
|
accountType?: "sma-b" | undefined;
|
|
177
|
+
} | {
|
|
178
|
+
accountType: "7702";
|
|
157
179
|
} | undefined;
|
|
158
180
|
signerAddress: `0x${string}`;
|
|
159
181
|
}];
|
|
@@ -170,6 +192,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
170
192
|
creationHint?: {
|
|
171
193
|
salt?: `0x${string}` | undefined;
|
|
172
194
|
accountType?: "sma-b" | undefined;
|
|
195
|
+
} | {
|
|
196
|
+
accountType: "7702";
|
|
173
197
|
} | undefined;
|
|
174
198
|
includeCounterfactualInfo?: boolean | undefined;
|
|
175
199
|
signerAddress: `0x${string}`;
|
|
@@ -185,6 +209,7 @@ export declare const WalletServerRpcSchema: {
|
|
|
185
209
|
factoryAddress: `0x${string}`;
|
|
186
210
|
factoryType: "unknown" | "LightAccountV2.0.0" | "LightAccountV1.1.0" | "LightAccountV1.0.2" | "LightAccountV1.0.1" | "MAv1.0.0-MultiOwner" | "LightAccountV2.0.0-MultiOwner" | "MAv1.0.0-MultiSig" | "MAv2.0.0-sma-b" | "MAv2.0.0-ma-ssv" | "MAv2.0.0-ma-webauthn";
|
|
187
211
|
} | undefined;
|
|
212
|
+
delegation?: `0x${string}` | undefined;
|
|
188
213
|
accountAddress: `0x${string}`;
|
|
189
214
|
id: string;
|
|
190
215
|
};
|
|
@@ -224,8 +249,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
224
249
|
} | {
|
|
225
250
|
type: "erc20-token-transfer";
|
|
226
251
|
data: {
|
|
227
|
-
allowance: `0x${string}`;
|
|
228
252
|
address: `0x${string}`;
|
|
253
|
+
allowance: `0x${string}`;
|
|
229
254
|
};
|
|
230
255
|
} | {
|
|
231
256
|
type: "gas-limit";
|
|
@@ -263,7 +288,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
263
288
|
method: "wallet_createSession";
|
|
264
289
|
};
|
|
265
290
|
ReturnType: {
|
|
266
|
-
|
|
291
|
+
sessionId: `0x${string}`;
|
|
292
|
+
signatureRequest: ({
|
|
267
293
|
type: "personal_sign";
|
|
268
294
|
data: string | {
|
|
269
295
|
raw: `0x${string}`;
|
|
@@ -272,8 +298,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
272
298
|
type: "eth_signTypedData_v4";
|
|
273
299
|
data: {
|
|
274
300
|
domain?: {
|
|
275
|
-
salt?: `0x${string}` | undefined;
|
|
276
301
|
chainId?: number | undefined;
|
|
302
|
+
salt?: `0x${string}` | undefined;
|
|
277
303
|
name?: string | undefined;
|
|
278
304
|
verifyingContract?: `0x${string}` | undefined;
|
|
279
305
|
version?: string | undefined;
|
|
@@ -289,8 +315,13 @@ export declare const WalletServerRpcSchema: {
|
|
|
289
315
|
[x: string]: unknown;
|
|
290
316
|
};
|
|
291
317
|
};
|
|
318
|
+
}) & {
|
|
319
|
+
authorizationRequest?: {
|
|
320
|
+
nonce: number;
|
|
321
|
+
chainId: number;
|
|
322
|
+
address: `0x${string}`;
|
|
323
|
+
} | undefined;
|
|
292
324
|
};
|
|
293
|
-
sessionId: `0x${string}`;
|
|
294
325
|
};
|
|
295
326
|
} | {
|
|
296
327
|
Request: {
|
|
@@ -301,8 +332,8 @@ export declare const WalletServerRpcSchema: {
|
|
|
301
332
|
receipts?: {
|
|
302
333
|
status: `0x${string}`;
|
|
303
334
|
logs: {
|
|
304
|
-
data: `0x${string}`;
|
|
305
335
|
address: `0x${string}`;
|
|
336
|
+
data: `0x${string}`;
|
|
306
337
|
topics: `0x${string}`[];
|
|
307
338
|
}[];
|
|
308
339
|
blockHash: `0x${string}`;
|
|
@@ -313,7 +344,7 @@ export declare const WalletServerRpcSchema: {
|
|
|
313
344
|
chainId: `0x${string}`;
|
|
314
345
|
id: `0x${string}`;
|
|
315
346
|
atomic: boolean;
|
|
316
|
-
status:
|
|
347
|
+
status: 200 | 100 | 400 | 500 | 600;
|
|
317
348
|
};
|
|
318
349
|
};
|
|
319
350
|
export type WalletServerRpcSchemaType = typeof WalletServerRpcSchema;
|
package/dist/esm/schemas.d.ts
CHANGED
|
@@ -35,6 +35,19 @@ export declare const TypeUserOperationRequest_v7: import("@sinclair/typebox").TO
|
|
|
35
35
|
paymasterPostOpGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
36
36
|
signature: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
37
37
|
}>;
|
|
38
|
+
export declare const TypeEip7702AuthRequest: import("@sinclair/typebox").TObject<{
|
|
39
|
+
chainId: import("@sinclair/typebox").TInteger;
|
|
40
|
+
address: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
41
|
+
nonce: import("@sinclair/typebox").TInteger;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const TypeEip7702AuthExtendedFields: import("@sinclair/typebox").TObject<{
|
|
44
|
+
chainId: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
45
|
+
nonce: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
46
|
+
address: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
47
|
+
r: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
48
|
+
s: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
49
|
+
yParity: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
50
|
+
}>;
|
|
38
51
|
export declare const TypeWebAuthnPublicKey: import("@sinclair/typebox").TObject<{
|
|
39
52
|
x: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TString, bigint>;
|
|
40
53
|
y: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TString, bigint>;
|
|
@@ -123,12 +136,15 @@ export declare const TypeCounterfactualInfo: import("@sinclair/typebox").TInters
|
|
|
123
136
|
}>]>]>]>;
|
|
124
137
|
}>]>, import("@sinclair/typebox").TObject<{
|
|
125
138
|
type: import("@sinclair/typebox").TLiteral<"7702">;
|
|
139
|
+
implementationAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
126
140
|
}>]>]>;
|
|
127
141
|
export type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;
|
|
128
|
-
export declare const TypeCreationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
142
|
+
export declare const TypeCreationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
129
143
|
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
|
|
130
144
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
131
|
-
}
|
|
145
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
146
|
+
accountType: import("@sinclair/typebox").TLiteral<"7702">;
|
|
147
|
+
}>]>>;
|
|
132
148
|
export type TypeCreationOptions = Static<typeof TypeCreationOptions>;
|
|
133
149
|
export type TypeAccountType = Exclude<Static<typeof TypeCreationOptions>, undefined>["accountType"];
|
|
134
150
|
export declare const KeySigner: import("@sinclair/typebox").TObject<{
|
|
@@ -138,7 +154,7 @@ export declare const KeySigner: import("@sinclair/typebox").TObject<{
|
|
|
138
154
|
export type KeySigner = Static<typeof KeySigner>;
|
|
139
155
|
export declare const TTypedDataDefinition: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TObject<{
|
|
140
156
|
domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
141
|
-
chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").
|
|
157
|
+
chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
142
158
|
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
143
159
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
144
160
|
verifyingContract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
@@ -152,8 +168,8 @@ export declare const TTypedDataDefinition: import("@sinclair/typebox").TTransfor
|
|
|
152
168
|
message: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
|
|
153
169
|
}>, {
|
|
154
170
|
domain?: {
|
|
155
|
-
salt?: `0x${string}` | undefined;
|
|
156
171
|
chainId?: number | undefined;
|
|
172
|
+
salt?: `0x${string}` | undefined;
|
|
157
173
|
name?: string | undefined;
|
|
158
174
|
verifyingContract?: `0x${string}` | undefined;
|
|
159
175
|
version?: string | undefined;
|
|
@@ -169,7 +185,7 @@ export declare const TTypedDataDefinition: import("@sinclair/typebox").TTransfor
|
|
|
169
185
|
[x: string]: unknown;
|
|
170
186
|
};
|
|
171
187
|
}>;
|
|
172
|
-
export declare const TypeSignatureRequest: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
188
|
+
export declare const TypeSignatureRequest: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
173
189
|
type: import("@sinclair/typebox").TLiteral<"personal_sign">;
|
|
174
190
|
data: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
|
|
175
191
|
raw: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
@@ -178,7 +194,7 @@ export declare const TypeSignatureRequest: import("@sinclair/typebox").TUnion<[i
|
|
|
178
194
|
type: import("@sinclair/typebox").TLiteral<"eth_signTypedData_v4">;
|
|
179
195
|
data: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TObject<{
|
|
180
196
|
domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
181
|
-
chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").
|
|
197
|
+
chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
182
198
|
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
183
199
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
184
200
|
verifyingContract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
@@ -192,8 +208,8 @@ export declare const TypeSignatureRequest: import("@sinclair/typebox").TUnion<[i
|
|
|
192
208
|
message: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
|
|
193
209
|
}>, {
|
|
194
210
|
domain?: {
|
|
195
|
-
salt?: `0x${string}` | undefined;
|
|
196
211
|
chainId?: number | undefined;
|
|
212
|
+
salt?: `0x${string}` | undefined;
|
|
197
213
|
name?: string | undefined;
|
|
198
214
|
verifyingContract?: `0x${string}` | undefined;
|
|
199
215
|
version?: string | undefined;
|
|
@@ -209,6 +225,12 @@ export declare const TypeSignatureRequest: import("@sinclair/typebox").TUnion<[i
|
|
|
209
225
|
[x: string]: unknown;
|
|
210
226
|
};
|
|
211
227
|
}>;
|
|
228
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
229
|
+
authorizationRequest: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
230
|
+
chainId: import("@sinclair/typebox").TInteger;
|
|
231
|
+
address: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
232
|
+
nonce: import("@sinclair/typebox").TInteger;
|
|
233
|
+
}>>;
|
|
212
234
|
}>]>;
|
|
213
235
|
export declare const TypeCallId: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, {
|
|
214
236
|
chainId: `0x${string}`;
|
package/dist/esm/schemas.js
CHANGED
|
@@ -4,30 +4,48 @@ const UUID_V4_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[
|
|
|
4
4
|
FormatRegistry.Set("uuid", (value) => UUID_V4_REGEX.test(value));
|
|
5
5
|
const BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)
|
|
6
6
|
FormatRegistry.Set("base64url", (value) => BASE_64_URL_REGEX.test(value));
|
|
7
|
-
export const TypeHex = (options) => Type.TemplateLiteral("0x${string}",
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export const TypeHex = (options) => Type.TemplateLiteral("0x${string}", {
|
|
8
|
+
...options,
|
|
9
|
+
});
|
|
10
|
+
export const TypeAddress = Type.TemplateLiteral("0x${string}", {});
|
|
11
|
+
export const TypeUuid = Type.String({
|
|
12
|
+
format: "uuid",
|
|
13
|
+
});
|
|
10
14
|
export const TypeBase64UrlEncodedString = Type.String({
|
|
11
15
|
format: "base64url",
|
|
12
16
|
});
|
|
13
17
|
// BigInt is not json-serializable, so it must be encoded as a string.
|
|
14
|
-
export const TypeU256 = Type.Transform(Type.String())
|
|
18
|
+
export const TypeU256 = Type.Transform(Type.String({}))
|
|
15
19
|
.Decode((value) => BigInt(value))
|
|
16
20
|
.Encode((value) => toHex(value));
|
|
17
|
-
export const TypeU32 = Type.Transform(Type.String())
|
|
21
|
+
export const TypeU32 = Type.Transform(Type.String({}))
|
|
18
22
|
.Decode((value) => Number.parseInt(value, 16))
|
|
19
23
|
.Encode((value) => toHex(value));
|
|
20
24
|
export const TypeUserOperationRequest_v6 = Type.Object({
|
|
21
25
|
sender: TypeAddress,
|
|
22
26
|
nonce: TypeHex(),
|
|
23
|
-
initCode: Type.Union([
|
|
27
|
+
initCode: Type.Union([
|
|
28
|
+
TypeHex({
|
|
29
|
+
title: "Present",
|
|
30
|
+
}),
|
|
31
|
+
Type.Literal("0x", {
|
|
32
|
+
title: "Absent",
|
|
33
|
+
}),
|
|
34
|
+
]),
|
|
24
35
|
callData: TypeHex(),
|
|
25
36
|
callGasLimit: TypeHex(),
|
|
26
37
|
verificationGasLimit: TypeHex(),
|
|
27
38
|
preVerificationGas: TypeHex(),
|
|
28
39
|
maxFeePerGas: TypeHex(),
|
|
29
40
|
maxPriorityFeePerGas: TypeHex(),
|
|
30
|
-
paymasterAndData: Type.Union([
|
|
41
|
+
paymasterAndData: Type.Union([
|
|
42
|
+
TypeHex({
|
|
43
|
+
title: "Present",
|
|
44
|
+
}),
|
|
45
|
+
Type.Literal("0x", {
|
|
46
|
+
title: "Absent",
|
|
47
|
+
}),
|
|
48
|
+
]),
|
|
31
49
|
signature: TypeHex(),
|
|
32
50
|
});
|
|
33
51
|
export const TypeUserOperationRequest_v7 = Type.Object({
|
|
@@ -47,6 +65,19 @@ export const TypeUserOperationRequest_v7 = Type.Object({
|
|
|
47
65
|
paymasterPostOpGasLimit: Type.Optional(TypeHex()),
|
|
48
66
|
signature: TypeHex(),
|
|
49
67
|
});
|
|
68
|
+
export const TypeEip7702AuthRequest = Type.Object({
|
|
69
|
+
chainId: Type.Integer(),
|
|
70
|
+
address: TypeAddress,
|
|
71
|
+
nonce: Type.Integer(),
|
|
72
|
+
});
|
|
73
|
+
export const TypeEip7702AuthExtendedFields = Type.Object({
|
|
74
|
+
chainId: TypeHex(),
|
|
75
|
+
nonce: TypeHex(),
|
|
76
|
+
address: TypeAddress,
|
|
77
|
+
r: TypeHex(),
|
|
78
|
+
s: TypeHex(),
|
|
79
|
+
yParity: TypeHex(),
|
|
80
|
+
});
|
|
50
81
|
export const TypeWebAuthnPublicKey = Type.Object({
|
|
51
82
|
x: TypeU256,
|
|
52
83
|
y: TypeU256,
|
|
@@ -55,8 +86,10 @@ export const TypePersistedInitcode = Type.Object({
|
|
|
55
86
|
factoryAddress: TypeAddress,
|
|
56
87
|
initcode: Type.Union([
|
|
57
88
|
Type.Object({
|
|
58
|
-
factoryType: Type.Literal("unknown"),
|
|
59
|
-
factoryData: TypeHex(),
|
|
89
|
+
factoryType: Type.Literal("unknown", { title: "Unknown factory type" }),
|
|
90
|
+
factoryData: TypeHex({}),
|
|
91
|
+
}, {
|
|
92
|
+
title: "Unknown factory type",
|
|
60
93
|
}),
|
|
61
94
|
Type.Object({
|
|
62
95
|
factoryType: Type.Union([
|
|
@@ -67,6 +100,8 @@ export const TypePersistedInitcode = Type.Object({
|
|
|
67
100
|
]),
|
|
68
101
|
salt: TypeU256,
|
|
69
102
|
initialOwner: TypeAddress,
|
|
103
|
+
}, {
|
|
104
|
+
title: "Light Account",
|
|
70
105
|
}),
|
|
71
106
|
Type.Object({
|
|
72
107
|
factoryType: Type.Union([
|
|
@@ -75,12 +110,16 @@ export const TypePersistedInitcode = Type.Object({
|
|
|
75
110
|
]),
|
|
76
111
|
salt: TypeU256,
|
|
77
112
|
initialOwners: Type.Array(TypeAddress),
|
|
113
|
+
}, {
|
|
114
|
+
title: "Multi-Owner Modular Account",
|
|
78
115
|
}),
|
|
79
116
|
Type.Object({
|
|
80
117
|
factoryType: Type.Literal("MAv1.0.0-MultiSig"),
|
|
81
118
|
salt: TypeU256,
|
|
82
119
|
initialOwners: Type.Array(TypeAddress),
|
|
83
120
|
threshold: TypeU256,
|
|
121
|
+
}, {
|
|
122
|
+
title: "Multi-Sig Modular Account",
|
|
84
123
|
}),
|
|
85
124
|
Type.Intersect([
|
|
86
125
|
Type.Object({
|
|
@@ -92,15 +131,21 @@ export const TypePersistedInitcode = Type.Object({
|
|
|
92
131
|
mav2type: Type.Literal("ma-ssv"),
|
|
93
132
|
initialOwner: TypeAddress,
|
|
94
133
|
entityId: TypeU32,
|
|
134
|
+
}, {
|
|
135
|
+
title: "Modular Account V2 SSV",
|
|
95
136
|
}),
|
|
96
137
|
Type.Object({
|
|
97
138
|
mav2type: Type.Literal("sma-b"),
|
|
98
139
|
initialOwner: TypeAddress,
|
|
140
|
+
}, {
|
|
141
|
+
title: "Modular Account V2 SMA-B",
|
|
99
142
|
}),
|
|
100
143
|
Type.Object({
|
|
101
144
|
mav2type: Type.Literal("ma-webauthn"),
|
|
102
145
|
initialOwner: TypeWebAuthnPublicKey,
|
|
103
146
|
entityId: TypeU32,
|
|
147
|
+
}, {
|
|
148
|
+
title: "Modular Account V2 WebAuthn",
|
|
104
149
|
}),
|
|
105
150
|
]),
|
|
106
151
|
]),
|
|
@@ -108,20 +153,32 @@ export const TypePersistedInitcode = Type.Object({
|
|
|
108
153
|
});
|
|
109
154
|
export const TypeSerializedInitcode = Type.Object({
|
|
110
155
|
factoryType: Type.Union([
|
|
111
|
-
Type.Literal("LightAccountV1.0.1"),
|
|
112
|
-
Type.Literal("LightAccountV1.0.2"),
|
|
113
|
-
Type.Literal("LightAccountV1.1.0"),
|
|
114
|
-
Type.Literal("LightAccountV2.0.0"),
|
|
115
|
-
Type.Literal("LightAccountV2.0.0-MultiOwner"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
Type.Literal("
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
Type.Literal("
|
|
156
|
+
Type.Literal("LightAccountV1.0.1", { title: "Light Account v1.0.1" }),
|
|
157
|
+
Type.Literal("LightAccountV1.0.2", { title: "Light Account v1.0.2" }),
|
|
158
|
+
Type.Literal("LightAccountV1.1.0", { title: "Light Account v1.1.0" }),
|
|
159
|
+
Type.Literal("LightAccountV2.0.0", { title: "Light Account v2.0.0" }),
|
|
160
|
+
Type.Literal("LightAccountV2.0.0-MultiOwner", {
|
|
161
|
+
title: "Light Account v2.0.0 MultiOwner",
|
|
162
|
+
}),
|
|
163
|
+
Type.Literal("MAv1.0.0-MultiOwner", {
|
|
164
|
+
title: "Modular Account v1.0.0 MultiOwner",
|
|
165
|
+
}),
|
|
166
|
+
Type.Literal("MAv1.0.0-MultiSig", {
|
|
167
|
+
title: "Modular Account v1.0.0 MultiSig",
|
|
168
|
+
}),
|
|
169
|
+
Type.Literal("MAv2.0.0-sma-b", {
|
|
170
|
+
title: "Modular Account v2.0.0 SMA-B",
|
|
171
|
+
}),
|
|
172
|
+
Type.Literal("MAv2.0.0-ma-ssv", {
|
|
173
|
+
title: "Modular Account v2.0.0 SSV",
|
|
174
|
+
}),
|
|
175
|
+
Type.Literal("MAv2.0.0-ma-webauthn", {
|
|
176
|
+
title: "Modular Account v2.0.0 WebAuthn",
|
|
177
|
+
}),
|
|
178
|
+
Type.Literal("unknown", { title: "Unknown factory type" }),
|
|
122
179
|
]),
|
|
123
180
|
factoryAddress: TypeAddress,
|
|
124
|
-
factoryData: TypeHex(),
|
|
181
|
+
factoryData: TypeHex({}),
|
|
125
182
|
});
|
|
126
183
|
export const TypeCounterfactualInfo = Type.Intersect([
|
|
127
184
|
Type.Object({
|
|
@@ -133,9 +190,14 @@ export const TypeCounterfactualInfo = Type.Intersect([
|
|
|
133
190
|
type: Type.Literal("sca"),
|
|
134
191
|
}),
|
|
135
192
|
TypePersistedInitcode,
|
|
136
|
-
]
|
|
193
|
+
], {
|
|
194
|
+
title: "Smart Contract Account",
|
|
195
|
+
}),
|
|
137
196
|
Type.Object({
|
|
138
197
|
type: Type.Literal("7702"),
|
|
198
|
+
implementationAddress: TypeAddress,
|
|
199
|
+
}, {
|
|
200
|
+
title: "7702 Account",
|
|
139
201
|
}),
|
|
140
202
|
]),
|
|
141
203
|
]);
|
|
@@ -144,16 +206,30 @@ export const TypeCreationOptions = Type.Optional(Type.Union([
|
|
|
144
206
|
// Optional b/c `sma-b` is the default if no accountType is specified.
|
|
145
207
|
accountType: Type.Optional(Type.Literal("sma-b")),
|
|
146
208
|
salt: Type.Optional(TypeHex()),
|
|
209
|
+
}, {
|
|
210
|
+
title: "SMA-B account type",
|
|
211
|
+
}),
|
|
212
|
+
Type.Object({
|
|
213
|
+
accountType: Type.Literal("7702"),
|
|
214
|
+
// TODO: Add support for specifying a delegation address.
|
|
215
|
+
// Currently we only support delegating to MAv2, and it's important
|
|
216
|
+
// that wallet applications maintain a strict shortlist of well-known
|
|
217
|
+
// accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189
|
|
218
|
+
// delegation: TypeAddress,
|
|
219
|
+
}, {
|
|
220
|
+
title: "7702 account type",
|
|
147
221
|
}),
|
|
148
|
-
// TODO: add more options after v0.
|
|
149
222
|
]));
|
|
150
223
|
export const KeySigner = Type.Object({
|
|
151
|
-
type: Type.Union([
|
|
152
|
-
|
|
224
|
+
type: Type.Union([
|
|
225
|
+
Type.Literal("secp256k1", { title: "Secp256k1" }),
|
|
226
|
+
Type.Literal("contract", { title: "Contract" }),
|
|
227
|
+
]),
|
|
228
|
+
publicKey: TypeHex({}),
|
|
153
229
|
});
|
|
154
230
|
export const TTypedDataDefinition = Type.Transform(Type.Object({
|
|
155
231
|
domain: Type.Optional(Type.Object({
|
|
156
|
-
chainId: Type.Optional(Type.
|
|
232
|
+
chainId: Type.Optional(Type.Integer()),
|
|
157
233
|
name: Type.Optional(Type.String()),
|
|
158
234
|
salt: Type.Optional(TypeHex()),
|
|
159
235
|
verifyingContract: Type.Optional(TypeAddress),
|
|
@@ -182,19 +258,25 @@ export const TTypedDataDefinition = Type.Transform(Type.Object({
|
|
|
182
258
|
message: JSON.parse(JSON.stringify(message, (_, v) => typeof v === "bigint" ? toHex(v) : v)),
|
|
183
259
|
};
|
|
184
260
|
});
|
|
185
|
-
|
|
186
|
-
Type.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
261
|
+
const TypePersonalSignSignatureRequest = Type.Object({
|
|
262
|
+
type: Type.Literal("personal_sign"),
|
|
263
|
+
data: Type.Union([
|
|
264
|
+
Type.String({ minLength: 1, title: "Message" }),
|
|
265
|
+
Type.Object({
|
|
266
|
+
raw: TypeHex(),
|
|
267
|
+
}, { title: "Raw message" }),
|
|
268
|
+
]),
|
|
269
|
+
}, { title: "Personal sign" });
|
|
270
|
+
const TypeTypedDataSignatureRequest = Type.Object({
|
|
271
|
+
type: Type.Literal("eth_signTypedData_v4"),
|
|
272
|
+
data: TTypedDataDefinition,
|
|
273
|
+
}, {
|
|
274
|
+
title: "Typed data",
|
|
275
|
+
});
|
|
276
|
+
export const TypeSignatureRequest = Type.Intersect([
|
|
277
|
+
Type.Union([TypePersonalSignSignatureRequest, TypeTypedDataSignatureRequest]),
|
|
195
278
|
Type.Object({
|
|
196
|
-
|
|
197
|
-
data: TTypedDataDefinition,
|
|
279
|
+
authorizationRequest: Type.Optional(TypeEip7702AuthRequest),
|
|
198
280
|
}),
|
|
199
281
|
]);
|
|
200
282
|
export const TypeCallId = Type.Transform(TypeHex())
|
package/dist/esm/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { toHex, slice, pad, concat, hexToBigInt } from \"viem\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", options);\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\");\nexport const TypeUuid = Type.String({ format: \"uuid\" });\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String())\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String())\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([TypeHex(), Type.Literal(\"0x\")]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([TypeHex(), Type.Literal(\"0x\")]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object({\n factoryType: Type.Literal(\"unknown\"),\n factoryData: TypeHex(),\n }),\n Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n }),\n Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n }),\n Type.Object({\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n }),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object({\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n }),\n Type.Object({\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n }),\n Type.Object({\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n }),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"MAv1.0.0-MultiSig\"),\n Type.Literal(\"MAv2.0.0-sma-b\"),\n Type.Literal(\"MAv2.0.0-ma-ssv\"),\n Type.Literal(\"MAv2.0.0-ma-webauthn\"),\n Type.Literal(\"unknown\"),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex(),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect([\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ]),\n Type.Object({\n type: Type.Literal(\"7702\"),\n }),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object({\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(Type.Literal(\"sma-b\")),\n salt: Type.Optional(TypeHex()),\n }),\n // TODO: add more options after v0.\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\nexport type TypeAccountType = Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"];\n\nexport const KeySigner = Type.Object({\n type: Type.Union([Type.Literal(\"secp256k1\"), Type.Literal(\"contract\")]),\n publicKey: TypeHex(),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Number()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypeSignatureRequest = Type.Union([\n Type.Object({\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1 }),\n Type.Object({\n raw: TypeHex(),\n }),\n ]),\n }),\n Type.Object({\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n }),\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n"]}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { toHex, slice, pad, concat, hexToBigInt } from \"viem\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", {\n ...options,\n });\n\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\", {});\n\nexport const TypeUuid = Type.String({\n format: \"uuid\",\n});\n\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String({}))\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String({}))\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([\n TypeHex({\n title: \"Present\",\n }),\n Type.Literal(\"0x\", {\n title: \"Absent\",\n }),\n ]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([\n TypeHex({\n title: \"Present\",\n }),\n Type.Literal(\"0x\", {\n title: \"Absent\",\n }),\n ]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeEip7702AuthRequest = Type.Object({\n chainId: Type.Integer(),\n address: TypeAddress,\n nonce: Type.Integer(),\n});\n\nexport const TypeEip7702AuthExtendedFields = Type.Object({\n chainId: TypeHex(),\n nonce: TypeHex(),\n address: TypeAddress,\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n});\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object(\n {\n factoryType: Type.Literal(\"unknown\", { title: \"Unknown factory type\" }),\n factoryData: TypeHex({}),\n },\n {\n title: \"Unknown factory type\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n },\n {\n title: \"Light Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n },\n {\n title: \"Multi-Owner Modular Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n },\n {\n title: \"Multi-Sig Modular Account\",\n },\n ),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n },\n {\n title: \"Modular Account V2 SSV\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n },\n {\n title: \"Modular Account V2 SMA-B\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n },\n {\n title: \"Modular Account V2 WebAuthn\",\n },\n ),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\", { title: \"Light Account v1.0.1\" }),\n Type.Literal(\"LightAccountV1.0.2\", { title: \"Light Account v1.0.2\" }),\n Type.Literal(\"LightAccountV1.1.0\", { title: \"Light Account v1.1.0\" }),\n Type.Literal(\"LightAccountV2.0.0\", { title: \"Light Account v2.0.0\" }),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\", {\n title: \"Light Account v2.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiOwner\", {\n title: \"Modular Account v1.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiSig\", {\n title: \"Modular Account v1.0.0 MultiSig\",\n }),\n Type.Literal(\"MAv2.0.0-sma-b\", {\n title: \"Modular Account v2.0.0 SMA-B\",\n }),\n Type.Literal(\"MAv2.0.0-ma-ssv\", {\n title: \"Modular Account v2.0.0 SSV\",\n }),\n Type.Literal(\"MAv2.0.0-ma-webauthn\", {\n title: \"Modular Account v2.0.0 WebAuthn\",\n }),\n Type.Literal(\"unknown\", { title: \"Unknown factory type\" }),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex({}),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect(\n [\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ],\n {\n title: \"Smart Contract Account\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"7702\"),\n implementationAddress: TypeAddress,\n },\n {\n title: \"7702 Account\",\n },\n ),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object(\n {\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(Type.Literal(\"sma-b\")),\n salt: Type.Optional(TypeHex()),\n },\n {\n title: \"SMA-B account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"7702\"),\n // TODO: Add support for specifying a delegation address.\n // Currently we only support delegating to MAv2, and it's important\n // that wallet applications maintain a strict shortlist of well-known\n // accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189\n // delegation: TypeAddress,\n },\n {\n title: \"7702 account type\",\n },\n ),\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\nexport type TypeAccountType = Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"];\n\nexport const KeySigner = Type.Object({\n type: Type.Union([\n Type.Literal(\"secp256k1\", { title: \"Secp256k1\" }),\n Type.Literal(\"contract\", { title: \"Contract\" }),\n ]),\n publicKey: TypeHex({}),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Integer()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nconst TypePersonalSignSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1, title: \"Message\" }),\n Type.Object(\n {\n raw: TypeHex(),\n },\n { title: \"Raw message\" },\n ),\n ]),\n },\n { title: \"Personal sign\" },\n);\n\nconst TypeTypedDataSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n },\n {\n title: \"Typed data\",\n },\n);\n\nexport const TypeSignatureRequest = Type.Intersect([\n Type.Union([TypePersonalSignSignatureRequest, TypeTypedDataSignatureRequest]),\n Type.Object({\n authorizationRequest: Type.Optional(TypeEip7702AuthRequest),\n }),\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n"]}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
|
|
1
2
|
import type { AlchemyTransport } from "@account-kit/infra";
|
|
2
3
|
import type { Address, Chain, Client, Hex, IsUndefined, JsonRpcAccount, Transport } from "viem";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { GrantPermissionsParams, GrantPermissionsResult } from "./client/actions/grantPermissions.ts";
|
|
5
|
+
import type { RequestAccountParams } from "./client/actions/requestAccount.ts";
|
|
6
|
+
import type { WalletServerViemRpcSchema } from "./rpc/schema.ts";
|
|
6
7
|
export type CreateInnerClientParams<TAccount extends JsonRpcAccount<Address> | undefined = JsonRpcAccount<Address> | undefined> = {
|
|
7
8
|
chain: Chain;
|
|
8
9
|
transport: AlchemyTransport;
|
|
@@ -24,4 +25,14 @@ export type InnerClientActions = {
|
|
|
24
25
|
chainId: Hex;
|
|
25
26
|
}) => Promise<GrantPermissionsResult>;
|
|
26
27
|
};
|
|
27
|
-
export type
|
|
28
|
+
export type CachedAccount = {
|
|
29
|
+
account: SmartContractAccount;
|
|
30
|
+
requestParams: RequestAccountParams;
|
|
31
|
+
};
|
|
32
|
+
export type InternalState = {
|
|
33
|
+
setAccount: (account: CachedAccount) => void;
|
|
34
|
+
getAccount: () => CachedAccount | undefined;
|
|
35
|
+
};
|
|
36
|
+
export type InnerWalletApiClient<TAccount extends JsonRpcAccount<Address> | undefined = JsonRpcAccount<Address> | undefined> = InnerWalletApiClientBase<TAccount, InnerClientActions & {
|
|
37
|
+
internal: InternalState;
|
|
38
|
+
}>;
|