import React from 'react'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@openzeppelin/ui-components'; import { AdvancedInfo } from './AdvancedInfo'; import { CustomGasParameters } from './CustomGasParameters'; import { SpeedSelection } from './SpeedSelection'; import { useEvmRelayerOptions } from './useEvmRelayerOptions'; /** * EVM-specific relayer transaction options component. * * Provides configuration for gas pricing strategies: * - Speed presets: Use predefined gas pricing levels (OpenZeppelin Relayer API) * - Custom: Manual gas parameter configuration for precise control * * We default to Speed mode with FAST preset to ensure valid API requests. * The OpenZeppelin Relayer API requires exactly one pricing strategy to be provided. */ export const EvmRelayerOptions: React.FC<{ options: Record; onChange: (options: Record) => void; }> = ({ options, onChange }) => { const [showAdvancedInfo, setShowAdvancedInfo] = React.useState(false); const { control, formValues, configMode, gasType, handleSpeedChange, handleModeChange, handleGasTypeSwitch, } = useEvmRelayerOptions({ options, onChange }); return (
setShowAdvancedInfo(!showAdvancedInfo)} /> Speed Custom
); };