UNPKG

@bit-gpt/h402

Version:

BitGPT's 402 open protocol for blockchain-native payments

541 lines 23.7 kB
import { z } from "zod"; export declare const schemes: readonly ["exact"]; export declare const h402Versions: readonly [1]; export declare const ErrorReasons: readonly ["insufficient_funds", "invalid_exact_evm_payload_authorization_valid_after", "invalid_exact_evm_payload_authorization_valid_before", "invalid_exact_evm_payload_authorization_value", "invalid_exact_evm_payload_signature", "invalid_exact_evm_payload_recipient_mismatch", "invalid_exact_solana_payload_authorization_valid_after", "invalid_exact_solana_payload_authorization_valid_before", "invalid_exact_solana_payload_authorization_value", "invalid_exact_solana_payload_signature", "invalid_exact_solana_payload_recipient_mismatch", "invalid_network", "invalid_payload", "invalid_payment_requirements", "invalid_scheme", "unsupported_scheme", "invalid_h402_version", "invalid_transaction_state", "unexpected_verify_error", "unexpected_settle_error"]; declare const NamespaceSchema: z.ZodEnum<["evm", "solana"]>; declare const AmountFormatSchema: z.ZodEnum<["humanReadable", "smallestUnit"]>; export declare const BasePaymentRequirementsSchema: z.ZodObject<{ namespace: z.ZodEnum<["evm", "solana"]>; tokenAddress: z.ZodString; tokenDecimals: z.ZodOptional<z.ZodNumber>; tokenSymbol: z.ZodOptional<z.ZodString>; amountRequired: z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>; amountRequiredFormat: z.ZodEnum<["humanReadable", "smallestUnit"]>; payToAddress: z.ZodString; networkId: z.ZodString; description: z.ZodOptional<z.ZodString>; resource: z.ZodOptional<z.ZodString>; scheme: z.ZodEnum<["exact"]>; mimeType: z.ZodOptional<z.ZodString>; outputSchema: z.ZodOptional<z.ZodAny>; estimatedProcessingTime: z.ZodOptional<z.ZodNumber>; extra: z.ZodOptional<z.ZodAny>; maxAmountRequired: z.ZodOptional<z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>>; requiredDeadlineSeconds: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; tokenSymbol?: string | undefined; tokenDecimals?: number | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }, { scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; tokenSymbol?: string | undefined; tokenDecimals?: number | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }>; export declare const EnrichedPaymentRequirementsSchema: z.ZodObject<{ namespace: z.ZodEnum<["evm", "solana"]>; tokenAddress: z.ZodString; amountRequired: z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>; amountRequiredFormat: z.ZodEnum<["humanReadable", "smallestUnit"]>; payToAddress: z.ZodString; networkId: z.ZodString; description: z.ZodOptional<z.ZodString>; resource: z.ZodOptional<z.ZodString>; scheme: z.ZodEnum<["exact"]>; mimeType: z.ZodOptional<z.ZodString>; outputSchema: z.ZodOptional<z.ZodAny>; estimatedProcessingTime: z.ZodOptional<z.ZodNumber>; extra: z.ZodOptional<z.ZodAny>; maxAmountRequired: z.ZodOptional<z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>>; requiredDeadlineSeconds: z.ZodOptional<z.ZodNumber>; } & { tokenDecimals: z.ZodNumber; tokenSymbol: z.ZodString; }, "strip", z.ZodTypeAny, { tokenSymbol: string; tokenDecimals: number; scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }, { tokenSymbol: string; tokenDecimals: number; scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }>; export declare const PaymentRequirementsSchema: z.ZodObject<{ namespace: z.ZodEnum<["evm", "solana"]>; tokenAddress: z.ZodString; tokenDecimals: z.ZodOptional<z.ZodNumber>; tokenSymbol: z.ZodOptional<z.ZodString>; amountRequired: z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>; amountRequiredFormat: z.ZodEnum<["humanReadable", "smallestUnit"]>; payToAddress: z.ZodString; networkId: z.ZodString; description: z.ZodOptional<z.ZodString>; resource: z.ZodOptional<z.ZodString>; scheme: z.ZodEnum<["exact"]>; mimeType: z.ZodOptional<z.ZodString>; outputSchema: z.ZodOptional<z.ZodAny>; estimatedProcessingTime: z.ZodOptional<z.ZodNumber>; extra: z.ZodOptional<z.ZodAny>; maxAmountRequired: z.ZodOptional<z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>>; requiredDeadlineSeconds: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; tokenSymbol?: string | undefined; tokenDecimals?: number | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }, { scheme: "exact"; namespace: "solana" | "evm"; tokenAddress: string; amountRequired: number | bigint; amountRequiredFormat: "humanReadable" | "smallestUnit"; payToAddress: string; networkId: string; description?: string | undefined; tokenSymbol?: string | undefined; tokenDecimals?: number | undefined; resource?: string | undefined; mimeType?: string | undefined; outputSchema?: any; estimatedProcessingTime?: number | undefined; extra?: any; maxAmountRequired?: number | bigint | undefined; requiredDeadlineSeconds?: number | undefined; }>; export type BasePaymentRequirements = z.infer<typeof BasePaymentRequirementsSchema>; export type EnrichedPaymentRequirements = z.infer<typeof EnrichedPaymentRequirementsSchema>; export type PaymentRequirements = z.infer<typeof PaymentRequirementsSchema>; export type Namespace = z.infer<typeof NamespaceSchema>; export type AmountFormat = z.infer<typeof AmountFormatSchema>; export declare function createPaymentPayloadSchema<T extends z.ZodType>(payloadSchema: T): z.ZodObject<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: T; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: T; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: T; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }>, any>[k]; } : never, z.baseObjectInputType<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: T; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: T; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }>[k_1]; } : never>; export declare const EvmPaymentPayloadSchema: z.ZodObject<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"authorization">; signature: z.ZodString; authorization: z.ZodObject<{ from: z.ZodString; to: z.ZodString; value: z.ZodBigInt; validAfter: z.ZodBigInt; validBefore: z.ZodBigInt; nonce: z.ZodString; version: z.ZodString; }, "strip", z.ZodTypeAny, { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }, { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }>; }, "strip", z.ZodTypeAny, { type: "authorization"; signature: string; authorization: { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }; }, { type: "authorization"; signature: string; authorization: { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }; }>, z.ZodObject<{ type: z.ZodLiteral<"signAndSendTransaction">; signedMessage: z.ZodString; transactionHash: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signAndSendTransaction"; transactionHash: string; signedMessage: string; }, { type: "signAndSendTransaction"; transactionHash: string; signedMessage: string; }>, z.ZodObject<{ type: z.ZodLiteral<"signedTransaction">; signedTransaction: z.ZodString; signedMessage: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: "signedTransaction"; signedTransaction: string; signedMessage?: string | undefined; }, { type: "signedTransaction"; signedTransaction: string; signedMessage?: string | undefined; }>]>; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { scheme: "exact"; namespace: "solana" | "evm"; networkId: string; h402Version: number; payload: { type: "authorization"; signature: string; authorization: { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }; } | { type: "signAndSendTransaction"; transactionHash: string; signedMessage: string; } | { type: "signedTransaction"; signedTransaction: string; signedMessage?: string | undefined; }; resource?: string | undefined; }, { scheme: "exact"; namespace: "solana" | "evm"; networkId: string; h402Version: number; payload: { type: "authorization"; signature: string; authorization: { value: bigint; from: string; to: string; validAfter: bigint; validBefore: bigint; nonce: string; version: string; }; } | { type: "signAndSendTransaction"; transactionHash: string; signedMessage: string; } | { type: "signedTransaction"; signedTransaction: string; signedMessage?: string | undefined; }; resource?: string | undefined; }>; export declare const SolanaPaymentPayloadSchema: z.ZodObject<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; payload: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"signAndSendTransaction">; signature: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signAndSendTransaction"; signature: string; }, { type: "signAndSendTransaction"; signature: string; }>, z.ZodObject<{ type: z.ZodLiteral<"signTransaction">; signature: z.ZodString; transaction: z.ZodString; }, "strip", z.ZodTypeAny, { type: "signTransaction"; signature: string; transaction: string; }, { type: "signTransaction"; signature: string; transaction: string; }>, z.ZodObject<{ type: z.ZodLiteral<"signMessage">; signature: z.ZodString; message: z.ZodObject<{ message: z.ZodString; signature: z.ZodString; }, "strip", z.ZodTypeAny, { message: string; signature: string; }, { message: string; signature: string; }>; }, "strip", z.ZodTypeAny, { message: { message: string; signature: string; }; type: "signMessage"; signature: string; }, { message: { message: string; signature: string; }; type: "signMessage"; signature: string; }>]>; namespace: z.ZodEnum<["evm", "solana"]>; networkId: z.ZodString; resource: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { scheme: "exact"; namespace: "solana" | "evm"; networkId: string; h402Version: number; payload: { type: "signAndSendTransaction"; signature: string; } | { type: "signTransaction"; signature: string; transaction: string; } | { message: { message: string; signature: string; }; type: "signMessage"; signature: string; }; resource?: string | undefined; }, { scheme: "exact"; namespace: "solana" | "evm"; networkId: string; h402Version: number; payload: { type: "signAndSendTransaction"; signature: string; } | { type: "signTransaction"; signature: string; transaction: string; } | { message: { message: string; signature: string; }; type: "signMessage"; signature: string; }; resource?: string | undefined; }>; export type EvmPaymentPayload = z.infer<typeof EvmPaymentPayloadSchema>; export type SolanaPaymentPayload = z.infer<typeof SolanaPaymentPayloadSchema>; export declare const VerifyResponseSchema: z.ZodObject<{ isValid: z.ZodBoolean; invalidReason: z.ZodOptional<z.ZodEnum<["insufficient_funds", "invalid_exact_evm_payload_authorization_valid_after", "invalid_exact_evm_payload_authorization_valid_before", "invalid_exact_evm_payload_authorization_value", "invalid_exact_evm_payload_signature", "invalid_exact_evm_payload_recipient_mismatch", "invalid_exact_solana_payload_authorization_valid_after", "invalid_exact_solana_payload_authorization_valid_before", "invalid_exact_solana_payload_authorization_value", "invalid_exact_solana_payload_signature", "invalid_exact_solana_payload_recipient_mismatch", "invalid_network", "invalid_payload", "invalid_payment_requirements", "invalid_scheme", "unsupported_scheme", "invalid_h402_version", "invalid_transaction_state", "unexpected_verify_error", "unexpected_settle_error"]>>; payer: z.ZodOptional<z.ZodString>; errorMessage: z.ZodOptional<z.ZodString>; txHash: z.ZodOptional<z.ZodString>; type: z.ZodOptional<z.ZodEnum<["payload", "transaction"]>>; }, "strip", z.ZodTypeAny, { isValid: boolean; type?: "transaction" | "payload" | undefined; invalidReason?: "insufficient_funds" | "invalid_exact_evm_payload_authorization_valid_after" | "invalid_exact_evm_payload_authorization_valid_before" | "invalid_exact_evm_payload_authorization_value" | "invalid_exact_evm_payload_signature" | "invalid_exact_evm_payload_recipient_mismatch" | "invalid_exact_solana_payload_authorization_valid_after" | "invalid_exact_solana_payload_authorization_valid_before" | "invalid_exact_solana_payload_authorization_value" | "invalid_exact_solana_payload_signature" | "invalid_exact_solana_payload_recipient_mismatch" | "invalid_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_h402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined; payer?: string | undefined; errorMessage?: string | undefined; txHash?: string | undefined; }, { isValid: boolean; type?: "transaction" | "payload" | undefined; invalidReason?: "insufficient_funds" | "invalid_exact_evm_payload_authorization_valid_after" | "invalid_exact_evm_payload_authorization_valid_before" | "invalid_exact_evm_payload_authorization_value" | "invalid_exact_evm_payload_signature" | "invalid_exact_evm_payload_recipient_mismatch" | "invalid_exact_solana_payload_authorization_valid_after" | "invalid_exact_solana_payload_authorization_valid_before" | "invalid_exact_solana_payload_authorization_value" | "invalid_exact_solana_payload_signature" | "invalid_exact_solana_payload_recipient_mismatch" | "invalid_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_h402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined; payer?: string | undefined; errorMessage?: string | undefined; txHash?: string | undefined; }>; export type VerifyResponse = z.infer<typeof VerifyResponseSchema>; export declare const SettleResponseSchema: z.ZodObject<{ success: z.ZodBoolean; transaction: z.ZodString; namespace: z.ZodOptional<z.ZodEnum<["evm", "solana"]>>; errorReason: z.ZodOptional<z.ZodEnum<["insufficient_funds", "invalid_exact_evm_payload_authorization_valid_after", "invalid_exact_evm_payload_authorization_valid_before", "invalid_exact_evm_payload_authorization_value", "invalid_exact_evm_payload_signature", "invalid_exact_evm_payload_recipient_mismatch", "invalid_exact_solana_payload_authorization_valid_after", "invalid_exact_solana_payload_authorization_valid_before", "invalid_exact_solana_payload_authorization_value", "invalid_exact_solana_payload_signature", "invalid_exact_solana_payload_recipient_mismatch", "invalid_network", "invalid_payload", "invalid_payment_requirements", "invalid_scheme", "unsupported_scheme", "invalid_h402_version", "invalid_transaction_state", "unexpected_verify_error", "unexpected_settle_error"]>>; payer: z.ZodOptional<z.ZodString>; error: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { transaction: string; success: boolean; error?: string | undefined; namespace?: "solana" | "evm" | undefined; payer?: string | undefined; errorReason?: "insufficient_funds" | "invalid_exact_evm_payload_authorization_valid_after" | "invalid_exact_evm_payload_authorization_valid_before" | "invalid_exact_evm_payload_authorization_value" | "invalid_exact_evm_payload_signature" | "invalid_exact_evm_payload_recipient_mismatch" | "invalid_exact_solana_payload_authorization_valid_after" | "invalid_exact_solana_payload_authorization_valid_before" | "invalid_exact_solana_payload_authorization_value" | "invalid_exact_solana_payload_signature" | "invalid_exact_solana_payload_recipient_mismatch" | "invalid_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_h402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined; }, { transaction: string; success: boolean; error?: string | undefined; namespace?: "solana" | "evm" | undefined; payer?: string | undefined; errorReason?: "insufficient_funds" | "invalid_exact_evm_payload_authorization_valid_after" | "invalid_exact_evm_payload_authorization_valid_before" | "invalid_exact_evm_payload_authorization_value" | "invalid_exact_evm_payload_signature" | "invalid_exact_evm_payload_recipient_mismatch" | "invalid_exact_solana_payload_authorization_valid_after" | "invalid_exact_solana_payload_authorization_valid_before" | "invalid_exact_solana_payload_authorization_value" | "invalid_exact_solana_payload_signature" | "invalid_exact_solana_payload_recipient_mismatch" | "invalid_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_h402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined; }>; export type SettleResponse = z.infer<typeof SettleResponseSchema>; export declare const SupportedPaymentKindSchema: z.ZodObject<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; network: z.ZodUnion<[z.ZodEnum<["bsc"]>, z.ZodEnum<["solana"]>]>; }, "strip", z.ZodTypeAny, { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }, { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }>; export type SupportedPaymentKind = z.infer<typeof SupportedPaymentKindSchema>; export declare const SupportedPaymentKindsResponseSchema: z.ZodObject<{ kinds: z.ZodArray<z.ZodObject<{ h402Version: z.ZodEffects<z.ZodNumber, number, number>; scheme: z.ZodEnum<["exact"]>; network: z.ZodUnion<[z.ZodEnum<["bsc"]>, z.ZodEnum<["solana"]>]>; }, "strip", z.ZodTypeAny, { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }, { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }>, "many">; }, "strip", z.ZodTypeAny, { kinds: { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }[]; }, { kinds: { scheme: "exact"; h402Version: number; network: "bsc" | "solana"; }[]; }>; export type SupportedPaymentKindsResponse = z.infer<typeof SupportedPaymentKindsResponseSchema>; export {}; //# sourceMappingURL=h402Specs.d.ts.map