@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
385 lines (384 loc) • 17.2 kB
TypeScript
import { z } from 'zod';
export declare const ExtendedPaymentRequirementsSchema: z.ZodObject<{
scheme: z.ZodEnum<["exact"]>;
network: z.ZodEnum<["base-sepolia", "base", "avalanche-fuji", "avalanche", "iotex"]>;
maxAmountRequired: z.ZodEffects<z.ZodString, string, string>;
resource: z.ZodString;
description: z.ZodString;
mimeType: z.ZodString;
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
payTo: z.ZodString;
maxTimeoutSeconds: z.ZodNumber;
asset: z.ZodString;
extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
} & {
x402Version: z.ZodLiteral<1>;
requestId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
}, "strip", z.ZodTypeAny, {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
}, {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
}>;
export type ExtendedPaymentRequirements = z.infer<typeof ExtendedPaymentRequirementsSchema>;
export declare const PaymentRequiredRequestSchema: z.ZodObject<{
jsonrpc: z.ZodLiteral<"2.0">;
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
} & {
method: z.ZodLiteral<"x402/payment_required">;
params: z.ZodObject<{
scheme: z.ZodEnum<["exact"]>;
network: z.ZodEnum<["base-sepolia", "base", "avalanche-fuji", "avalanche", "iotex"]>;
maxAmountRequired: z.ZodEffects<z.ZodString, string, string>;
resource: z.ZodString;
description: z.ZodString;
mimeType: z.ZodString;
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
payTo: z.ZodString;
maxTimeoutSeconds: z.ZodNumber;
asset: z.ZodString;
extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
} & {
x402Version: z.ZodLiteral<1>;
requestId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
}, "strip", z.ZodTypeAny, {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
}, {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
}>;
}, "strip", z.ZodTypeAny, {
method?: "x402/payment_required";
params?: {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
};
jsonrpc?: "2.0";
id?: string | number;
}, {
method?: "x402/payment_required";
params?: {
requestId?: string | number;
extra?: Record<string, any>;
x402Version?: 1;
scheme?: "exact";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
maxAmountRequired?: string;
resource?: string;
description?: string;
mimeType?: string;
outputSchema?: Record<string, any>;
payTo?: string;
maxTimeoutSeconds?: number;
asset?: string;
};
jsonrpc?: "2.0";
id?: string | number;
}>;
export type PaymentRequiredRequest = z.infer<typeof PaymentRequiredRequestSchema>;
export declare const PaymentRequiredResponseSchema: z.ZodObject<{
jsonrpc: z.ZodLiteral<"2.0">;
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
} & {
result: z.ZodObject<{
_meta: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
} & {
payment: z.ZodObject<{
x402Version: z.ZodEffects<z.ZodNumber, number, number>;
scheme: z.ZodEnum<["exact"]>;
network: z.ZodEnum<["base-sepolia", "base", "avalanche-fuji", "avalanche", "iotex"]>;
payload: z.ZodObject<{
signature: z.ZodString;
authorization: z.ZodObject<{
from: z.ZodString;
to: z.ZodString;
value: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
validAfter: z.ZodEffects<z.ZodString, string, string>;
validBefore: z.ZodEffects<z.ZodString, string, string>;
nonce: z.ZodString;
}, "strip", z.ZodTypeAny, {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
}, {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
}>;
}, "strip", z.ZodTypeAny, {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
}, {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
}>;
}, "strip", z.ZodTypeAny, {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
}, {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
}>;
}, "strip", z.ZodTypeAny, {
_meta?: {} & {
[k: string]: unknown;
};
payment?: {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
};
}, {
_meta?: {} & {
[k: string]: unknown;
};
payment?: {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
};
}>;
}, "strip", z.ZodTypeAny, {
jsonrpc?: "2.0";
id?: string | number;
result?: {
_meta?: {} & {
[k: string]: unknown;
};
payment?: {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
};
};
}, {
jsonrpc?: "2.0";
id?: string | number;
result?: {
_meta?: {} & {
[k: string]: unknown;
};
payment?: {
scheme: "exact";
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
x402Version: number;
payload: {
signature: string;
authorization: {
from: string;
to: string;
value: string;
validAfter: string;
validBefore: string;
nonce: string;
};
};
};
};
}>;
export type PaymentRequiredResponse = z.infer<typeof PaymentRequiredResponseSchema>;
export declare const PaymentResultSchema: z.ZodObject<{
success: z.ZodBoolean;
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_network", "invalid_payload", "invalid_payment_requirements", "invalid_scheme", "unsupported_scheme", "invalid_x402_version", "invalid_transaction_state", "unexpected_verify_error", "unexpected_settle_error"]>>;
payer: z.ZodOptional<z.ZodString>;
transaction: z.ZodString;
network: z.ZodEnum<["base-sepolia", "base", "avalanche-fuji", "avalanche", "iotex"]>;
}, "strip", z.ZodTypeAny, {
transaction: string;
success: boolean;
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined;
}, {
transaction: string;
success: boolean;
network: "base-sepolia" | "avalanche-fuji" | "base" | "avalanche" | "iotex";
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error" | undefined;
}>;
export type PaymentResult = z.infer<typeof PaymentResultSchema>;
export declare const PaymentResultNotificationSchema: z.ZodObject<{
jsonrpc: z.ZodLiteral<"2.0">;
} & {
method: z.ZodLiteral<"x402/payment_result">;
params: z.ZodObject<{
success: z.ZodBoolean;
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_network", "invalid_payload", "invalid_payment_requirements", "invalid_scheme", "unsupported_scheme", "invalid_x402_version", "invalid_transaction_state", "unexpected_verify_error", "unexpected_settle_error"]>>;
payer: z.ZodOptional<z.ZodString>;
transaction: z.ZodString;
network: z.ZodEnum<["base-sepolia", "base", "avalanche-fuji", "avalanche", "iotex"]>;
} & {
requestId: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
}, "strip", z.ZodTypeAny, {
requestId?: string | number;
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
success?: boolean;
payer?: string;
transaction?: string;
}, {
requestId?: string | number;
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
success?: boolean;
payer?: string;
transaction?: string;
}>;
}, "strip", z.ZodTypeAny, {
method?: "x402/payment_result";
params?: {
requestId?: string | number;
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
success?: boolean;
payer?: string;
transaction?: string;
};
jsonrpc?: "2.0";
}, {
method?: "x402/payment_result";
params?: {
requestId?: string | number;
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_network" | "invalid_payload" | "invalid_payment_requirements" | "invalid_scheme" | "unsupported_scheme" | "invalid_x402_version" | "invalid_transaction_state" | "unexpected_verify_error" | "unexpected_settle_error";
network?: "base-sepolia" | "base" | "avalanche-fuji" | "avalanche" | "iotex";
success?: boolean;
payer?: string;
transaction?: string;
};
jsonrpc?: "2.0";
}>;
export type PaymentResultNotification = z.infer<typeof PaymentResultNotificationSchema>;