/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { safeParse } from "../lib/schemas.js"; import * as openEnums from "../types/enums.js"; import { OpenEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import * as types from "../types/primitives.js"; import { SDKValidationError } from "./errors/sdk-validation-error.js"; export const PaymentRequirementsScheme = { Exact: "exact", Upto: "upto", BatchSettlement: "batch-settlement", } as const; export type PaymentRequirementsScheme = OpenEnum< typeof PaymentRequirementsScheme >; export type PaymentRequirements = { scheme: PaymentRequirementsScheme; network: string; /** * Non-negative integer amount in USDC atomic units. */ amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: { [k: string]: any } | null | undefined; }; /** @internal */ export const PaymentRequirementsScheme$inboundSchema: z.ZodMiniType< PaymentRequirementsScheme, unknown > = openEnums.inboundSchema(PaymentRequirementsScheme); /** @internal */ export const PaymentRequirementsScheme$outboundSchema: z.ZodMiniType< string, PaymentRequirementsScheme > = openEnums.outboundSchema(PaymentRequirementsScheme); /** @internal */ export const PaymentRequirements$inboundSchema: z.ZodMiniType< PaymentRequirements, unknown > = z.object({ scheme: PaymentRequirementsScheme$inboundSchema, network: types.string(), amount: types.string(), asset: types.string(), payTo: types.string(), maxTimeoutSeconds: types.number(), extra: z.optional(z.nullable(z.record(z.string(), z.any()))), }); /** @internal */ export type PaymentRequirements$Outbound = { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: { [k: string]: any } | null | undefined; }; /** @internal */ export const PaymentRequirements$outboundSchema: z.ZodMiniType< PaymentRequirements$Outbound, PaymentRequirements > = z.object({ scheme: PaymentRequirementsScheme$outboundSchema, network: z.string(), amount: z.string(), asset: z.string(), payTo: z.string(), maxTimeoutSeconds: z.int(), extra: z.optional(z.nullable(z.record(z.string(), z.any()))), }); export function paymentRequirementsToJSON( paymentRequirements: PaymentRequirements, ): string { return JSON.stringify( PaymentRequirements$outboundSchema.parse(paymentRequirements), ); } export function paymentRequirementsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PaymentRequirements$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PaymentRequirements' from JSON`, ); }