/** * Capability manifest (`/.well-known/arispay.json`) — build + validate. * * The canonical shape is docs/paygate-v2.md §9, serialized by apps/api's * `buildCapabilityManifest` for hosted merchants. This module mirrors that * contract for ACCOUNT-FREE sellers (`paygate wrap`): the seller hosts its * own manifest on its own origin. The shape is mirrored, not imported — * paygate ships without workspace deps. * * v1 manifests are UNSIGNED. Signing rides the S1 artifact envelope * (docs/specs/artifact-signing-v1.md) and lands with the discovery session; * no seller keypair is generated here (M2M security invariant: no new * payment-key generation, and no signing key until a spec needs one). */ export declare const USDC_BASE_MAINNET = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; export declare const USDC_BASE_SEPOLIA = "0x036CbD53842c5426634e7929541eC2318f3dCF7e"; export declare const EURC_BASE_MAINNET_ADDR = "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42"; export interface ManifestRail { scheme: "x402" | "arispay-metered"; /** CAIP-2, e.g. "eip155:8453". */ network: string; /** Token contract address. */ asset: string; assetName: string; payTo: string; facilitator: string; } export interface ManifestProduct { path: string; method: string; priceCents: number; description?: string; } export interface CapabilityManifestV1 { version: "1"; merchant: { slug: string; name: string; }; trust: { minTier: "any" | "payagent-verified"; }; rails: ManifestRail[]; products?: ManifestProduct[]; updated: string; } export interface BuildSellerManifestOptions { slug: string; name: string; wallet: string; /** CAIP-2 network. */ network: string; asset: string; assetName: string; facilitator: string; products: ManifestProduct[]; /** Injected for reproducible builds; defaults to now. */ updated?: Date; } export declare function buildSellerManifest(opts: BuildSellerManifestOptions): CapabilityManifestV1; export type ManifestValidation = { ok: true; manifest: CapabilityManifestV1; } | { ok: false; errors: string[]; }; /** * Strict structural validation against the canonical §9 contract. Unknown * extra fields are tolerated (the hosted builder may add fields additively); * required fields and shapes are not negotiable. */ export declare function validateCapabilityManifest(value: unknown): ManifestValidation; //# sourceMappingURL=manifest.d.ts.map