Skip to content

Commit c2ea674

Browse files
committed
fix: validate tokenMint as base58 Solana public key
1 parent 39e284b commit c2ea674

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

backend/src/schemas/subscribe.schema.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ export const subscribeSchema = z.object({
2121
}),
2222

2323
planId: z.uuid("Invalid plan ID"),
24-
tokenMint: z.string().min(1, "Token mint required"),
24+
tokenMint: z
25+
.string()
26+
.regex(
27+
/^[1-9A-HJ-NP-Za-km-z]{32,44}$/,
28+
"Token mint must be a valid base58 Solana public key"
29+
),
2530

2631
delegateTxSignature: z.string().min(1, "Transaction signature required"),
2732
delegateAuthority: z.string().min(1, "Delegate authority required"),

backend/src/schemas/subscription.schema.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ import z from "zod";
2727
export const createSubscriptionSchema = z.object({
2828
planId: z.string().uuid("Invalid plan ID"),
2929
payerId: z.string().uuid("Invalid payer ID"),
30-
tokenMint: z.string().min(1, "Token mint required"),
30+
tokenMint: z
31+
.string()
32+
.regex(
33+
/^[1-9A-HJ-NP-Za-km-z]{32,44}$/,
34+
"Token mint must be a valid base58 Solana public key"
35+
),
3136
delegateTxSignature: z.string().min(1, "Transaction signature required"),
3237
delegateAuthority: z.string().min(1, "Delegate authority required"),
3338
delegateApprovedAt: z.string().datetime("Invalid datetime"),

0 commit comments

Comments
 (0)