import { z } from 'mppx'; /** * Bridge charge method for MPP — shared schema used by both server and client. * * Enables cross-chain payments: the client pays on a source chain (e.g. Base), * the bridge settles on the merchant's target chain (e.g. SKALE). * * Composable with direct evm/charge methods via Mppx.compose() — the client * receives both challenges and picks direct payment if it has the right wallet, * or bridge if it needs cross-chain routing. */ declare const charge: { readonly intent: "charge"; readonly name: "bridge"; readonly schema: { readonly credential: { readonly payload: z.ZodMiniObject<{ /** "settled" = client called bridge settle, targetTxHash is proof */ type: z.ZodMiniString; /** Target chain tx hash (0x-prefixed) — server verifies on-chain */ targetTxHash: z.ZodMiniOptional>; /** Source chain tx hash/signature (for auditing) */ sourceTxHash: z.ZodMiniOptional>; /** CAIP-2 source chain used */ sourceChain: z.ZodMiniOptional>; }, z.core.$strip>; }; readonly request: z.ZodMiniObject<{ /** Amount in target token base units */ amount: z.ZodMiniString; /** Target ERC-20 token contract address */ currency: z.ZodMiniString; /** Target chain recipient address (merchant) */ recipient: z.ZodMiniString; /** Human-readable description */ description: z.ZodMiniOptional>; methodDetails: z.ZodMiniObject<{ /** Target chain ID (where the merchant gets paid) */ targetChainId: z.ZodMiniNumber; /** Human-readable target network name (e.g. "skale-base") */ targetNetwork: z.ZodMiniOptional>; /** Target chain RPC URL (for server-side verification) */ targetRpcUrl: z.ZodMiniOptional>; /** Target token decimals */ targetDecimals: z.ZodMiniOptional>; /** Bridge settle endpoint URL */ settleEndpoint: z.ZodMiniString; /** Supported source chains (CAIP-2 format, e.g. ["eip155:8453", "solana:5eykt4..."]) */ supportedSourceChains: z.ZodMiniArray>; /** Supported source token addresses */ supportedSourceAssets: z.ZodMiniOptional>>; /** Bridge receiver addresses per source chain: { [caip2]: address } */ payToMap: z.ZodMiniRecord, z.ZodMiniString>; /** Solana fee payer address (bridge facilitator sponsors gas) */ feePayerSvm: z.ZodMiniOptional>; /** Bridge fee in basis points */ feeBps: z.ZodMiniOptional>; /** Payment facilitator URL */ paymentFacilitator: z.ZodMiniOptional>; /** Unique reference ID (for replay protection) */ reference: z.ZodMiniString; }, z.core.$strip>; }, z.core.$strip>; }; }; export { charge };