Skip to content

Commit f4d34d6

Browse files
committed
feat(providers): add requestAccounts
1 parent 96ad60e commit f4d34d6

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

packages/providers/src/validation.ts

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ZkAppCommandPayload } from "@mina-js/utils";
2+
import { JsonSchema } from "@mina-js/utils";
23
import {
34
FieldSchema,
45
NullifierSchema,
@@ -27,7 +28,12 @@ export const AddChainRequestParams = z
2728

2829
// Params
2930
export const AccountsRequestParamsSchema = z
30-
.object({ method: z.literal("mina_accounts") })
31+
.object({
32+
method: z.union([
33+
z.literal("mina_accounts"),
34+
z.literal("mina_requestAccounts"),
35+
]),
36+
})
3137
.strict();
3238
export const ChainIdRequestParamsSchema = z
3339
.object({ method: z.literal("mina_chainId") })
@@ -80,6 +86,18 @@ export const AddChainRequestParamsSchema = z
8086
params: z.array(AddChainRequestParams),
8187
})
8288
.strict();
89+
export const SetStateRequestParamsSchema = z
90+
.object({
91+
method: z.literal("mina_setState"),
92+
params: z.array(JsonSchema),
93+
})
94+
.strict();
95+
export const GetStateRequestParamsSchema = z
96+
.object({
97+
method: z.literal("mina_getState"),
98+
params: z.array(z.string()),
99+
})
100+
.strict();
83101

84102
// Returns
85103
export const AccountsRequestReturnSchema = z
@@ -148,6 +166,18 @@ export const AddChainRequestReturnSchema = z
148166
result: z.string(),
149167
})
150168
.strict();
169+
export const SetStateRequestReturnSchema = z
170+
.object({
171+
method: z.literal("mina_setState"),
172+
result: z.object({ success: z.boolean() }),
173+
})
174+
.strict();
175+
export const GetStateRequestReturnSchema = z
176+
.object({
177+
method: z.literal("mina_getState"),
178+
result: JsonSchema,
179+
})
180+
.strict();
151181

152182
export const RpcReturnTypesUnion = z.discriminatedUnion("method", [
153183
AccountsRequestReturnSchema,
@@ -161,6 +191,8 @@ export const RpcReturnTypesUnion = z.discriminatedUnion("method", [
161191
CreateNullifierRequestReturnSchema,
162192
SwitchChainRequestReturnSchema,
163193
AddChainRequestReturnSchema,
194+
SetStateRequestReturnSchema,
195+
GetStateRequestReturnSchema,
164196
]);
165197

166198
export const ProviderRequestParamsUnion = z.discriminatedUnion("method", [
@@ -175,6 +207,8 @@ export const ProviderRequestParamsUnion = z.discriminatedUnion("method", [
175207
CreateNullifierRequestParamsSchema,
176208
SwitchChainRequestParamsSchema,
177209
AddChainRequestParamsSchema,
210+
SetStateRequestParamsSchema,
211+
GetStateRequestParamsSchema,
178212
]);
179213
export type RpcReturnTypesUnionType = z.infer<typeof RpcReturnTypesUnion>;
180214
export type ResultType<M extends string> = {

packages/utils/src/validation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export const LiteralSchema = z.union([
1010
z.boolean(),
1111
z.null(),
1212
]);
13-
const JsonSchema: z.ZodType<Json> = z.lazy(() =>
13+
export const JsonSchema: z.ZodType<Json> = z.lazy(() =>
1414
z.union([LiteralSchema, z.array(JsonSchema), z.record(JsonSchema)]),
1515
);
1616

0 commit comments

Comments
 (0)