Skip to content

Commit 9ce9c53

Browse files
committed
feat(providers): validation for mina_signFieldsWithPassphrase
1 parent 188a048 commit 9ce9c53

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

apps/docs/src/components/test-zkapp.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createStore } from "@mina-js/connect";
22
import { useLocalStorage, useObjectState } from "@uidotdev/usehooks";
33
import { clsx } from "clsx";
44
import { useState, useSyncExternalStore } from "react";
5-
import { sampleCredential1, samplePresentationRequest } from "./sample-data";
5+
import { sampleCredential, samplePresentationRequest } from "./sample-data";
66

77
const store = createStore();
88

@@ -14,7 +14,7 @@ export const TestZkApp = () => {
1414
const [message, setMessage] = useState("A message to sign");
1515
const [fields, setFields] = useState('["1", "2", "3"]');
1616
const [credentialInput, setCredentialInput] = useState(
17-
JSON.stringify(sampleCredential1, null, 2),
17+
JSON.stringify(sampleCredential, null, 2),
1818
);
1919
const [presentationRequest, setPresentationRequest] = useState(
2020
JSON.stringify(samplePresentationRequest, null, 2),

packages/providers/src/validation.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {
22
FieldSchema,
3+
FieldsAndPassphraseSchema,
34
JsonSchema,
45
NetworkId,
56
NullifierSchema,
@@ -59,6 +60,10 @@ export const SignFieldsRequestParamsSchema = RequestWithContext.extend({
5960
method: z.literal("mina_signFields"),
6061
params: z.array(z.array(FieldSchema)),
6162
}).strict();
63+
export const signFieldsWithPassphraseParamsSchema = RequestWithContext.extend({
64+
method: z.literal("mina_signFieldsWithPassphrase"),
65+
params: z.array(FieldsAndPassphraseSchema),
66+
});
6267
export const SignTransactionRequestParamsSchema = RequestWithContext.extend({
6368
method: z.literal("mina_signTransaction"),
6469
params: z.array(z.union([TransactionPayloadSchema, ZkAppCommandPayload])),
@@ -140,6 +145,10 @@ export const SignFieldsRequestReturnSchema = z
140145
result: SignedFieldsSchema,
141146
})
142147
.strict();
148+
export const signFieldsWithPassphraseRequestReturnSchema = z.object({
149+
method: z.literal("mina_signFieldsWithPassphrase"),
150+
result: SignedFieldsSchema,
151+
});
143152
export const SignTransactionRequestReturnSchema = z
144153
.object({
145154
method: z.literal("mina_signTransaction"),
@@ -212,6 +221,7 @@ export const RpcReturnTypesUnion = z.discriminatedUnion("method", [
212221
GetStateRequestReturnSchema,
213222
StorePrivateCredentialReturnSchema,
214223
PresentationRequestReturnSchema,
224+
signFieldsWithPassphraseRequestReturnSchema,
215225
]);
216226

217227
export const ProviderRequestParamsUnion = z.discriminatedUnion("method", [
@@ -231,6 +241,7 @@ export const ProviderRequestParamsUnion = z.discriminatedUnion("method", [
231241
GetStateRequestParamsSchema,
232242
StorePrivateCredentialRequestParamsSchema,
233243
PresentationRequestParamsSchema,
244+
signFieldsWithPassphraseParamsSchema,
234245
]);
235246
export type RpcReturnTypesUnionType = z.infer<typeof RpcReturnTypesUnion>;
236247
export type ResultType<M extends string> = {

packages/utils/src/validation.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ export const ZkAppCommandPayload = z
7979
})
8080
.strict();
8181

82+
export const FieldsAndPassphraseSchema = z
83+
.object({
84+
fields: z.array(FieldSchema),
85+
passphrase: z.string(),
86+
})
87+
.strict();
88+
8289
/**
8390
* Return type schemas
8491
*/

0 commit comments

Comments
 (0)