import { SchemeNetworkFacilitator, PaymentPayload, PaymentRequirements, VerifyResponse, SettleResponse } from '@aeon-ai-pay/core/types'; import { F as FacilitatorEvmSigner } from '../../../signer-BlO7K3AE.js'; interface ExactEvmSchemeV1Config { /** * If enabled, the facilitator will deploy ERC-4337 smart wallets * via EIP-6492 when encountering undeployed contract signatures. * * @default false */ deployERC4337WithEIP6492?: boolean; } /** * EVM facilitator implementation for the Exact payment scheme (V1). */ declare class ExactEvmSchemeV1 implements SchemeNetworkFacilitator { private readonly signer; readonly scheme = "exact"; readonly caipFamily = "eip155:*"; private readonly config; /** * Creates a new ExactEvmFacilitatorV1 instance. * * @param signer - The EVM signer for facilitator operations * @param config - Optional configuration for the facilitator */ constructor(signer: FacilitatorEvmSigner, config?: ExactEvmSchemeV1Config); /** * Get mechanism-specific extra data for the supported kinds endpoint. * For EVM, no extra data is needed. * * @param _ - The network identifier (unused for EVM) * @returns undefined (EVM has no extra data) */ getExtra(_: string): Record | undefined; /** * Get signer addresses used by this facilitator. * Returns all addresses this facilitator can use for signing/settling transactions. * * @param _ - The network identifier (unused for EVM, addresses are network-agnostic) * @returns Array of facilitator wallet addresses */ getSigners(_: string): string[]; /** * 获取代币的精度(decimals) * 通过调用ERC20合约的decimals()函数来获取代币精度 * * @param tokenAddress - 代币合约地址 * @returns Promise - 代币精度(通常为6或18) */ private getAssetDecimals; /** * Verifies a payment payload (V1). * * @param payload - The payment payload to verify * @param requirements - The payment requirements * @returns Promise resolving to verification response */ verify(payload: PaymentPayload, requirements: PaymentRequirements): Promise; /** * Settles a payment by executing the transfer (V1). * * @param payload - The payment payload to settle * @param requirements - The payment requirements * @returns Promise resolving to settlement response */ settle(payload: PaymentPayload, requirements: PaymentRequirements): Promise; } export { ExactEvmSchemeV1, type ExactEvmSchemeV1Config };