import { z } from 'mppx'; /** * EVM charge method for MPP — shared schema used by both server and client. * * Supports ERC-20 token transfers on any EVM chain (SKALE, Base, Polygon, etc.). * The client sends a tx hash after broadcasting, and the server verifies the * Transfer event on-chain. * * SKALE chains are gas-free, making them ideal for MPP micropayments. */ declare const charge: { readonly intent: "charge"; readonly name: "evm"; readonly schema: { readonly credential: { readonly payload: z.ZodMiniObject<{ /** "hash" = client already broadcast, server verifies on-chain */ type: z.ZodMiniString; /** Transaction hash (0x-prefixed) */ hash: z.ZodMiniOptional>; }, z.core.$strip>; }; readonly request: z.ZodMiniObject<{ /** Amount in token base units (e.g. "10000" for $0.01 USDC with 6 decimals) */ amount: z.ZodMiniString; /** ERC-20 token contract address */ currency: z.ZodMiniString; /** Recipient EVM address */ recipient: z.ZodMiniString; /** Human-readable description */ description: z.ZodMiniOptional>; methodDetails: z.ZodMiniObject<{ /** EVM chain ID */ chainId: z.ZodMiniNumber; /** Human-readable network name (e.g. "skale-base") */ network: z.ZodMiniOptional>; /** Token decimals */ decimals: z.ZodMiniOptional>; /** RPC URL for the chain (optional, server provides for client convenience) */ rpcUrl: z.ZodMiniOptional>; /** Unique reference ID */ reference: z.ZodMiniString; }, z.core.$strip>; }, z.core.$strip>; }; }; export { charge };