mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
remove optimization fields for zkSync contract verification
This commit is contained in:
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 80 KiB |
@@ -1,78 +0,0 @@
|
||||
import { Flex, Select } from '@chakra-ui/react';
|
||||
import React from 'react';
|
||||
import type { ControllerRenderProps } from 'react-hook-form';
|
||||
import { Controller, useFormContext } from 'react-hook-form';
|
||||
|
||||
import type { FormFields } from '../types';
|
||||
import type { SmartContractVerificationConfig } from 'types/client/contract';
|
||||
|
||||
import CheckboxInput from 'ui/shared/CheckboxInput';
|
||||
|
||||
import ContractVerificationFormRow from '../ContractVerificationFormRow';
|
||||
|
||||
interface Props {
|
||||
config: SmartContractVerificationConfig;
|
||||
}
|
||||
|
||||
const ContractVerificationFieldZkOptimization = ({ config }: Props) => {
|
||||
const [ isEnabled, setIsEnabled ] = React.useState(false);
|
||||
const { formState, control } = useFormContext<FormFields>();
|
||||
|
||||
const error = 'optimization_mode' in formState.errors ? formState.errors.optimization_mode : undefined;
|
||||
|
||||
const handleCheckboxChange = React.useCallback(() => {
|
||||
setIsEnabled(prev => !prev);
|
||||
}, []);
|
||||
|
||||
const renderCheckboxControl = React.useCallback(({ field }: {field: ControllerRenderProps<FormFields, 'is_optimization_enabled'>}) => (
|
||||
<Flex flexShrink={ 0 }>
|
||||
<CheckboxInput<FormFields, 'is_optimization_enabled'>
|
||||
text="Optimization enabled"
|
||||
field={ field }
|
||||
onChange={ handleCheckboxChange }
|
||||
isDisabled={ formState.isSubmitting }
|
||||
/>
|
||||
</Flex>
|
||||
), [ formState.isSubmitting, handleCheckboxChange ]);
|
||||
|
||||
const renderInputControl = React.useCallback(({ field }: {field: ControllerRenderProps<FormFields, 'optimization_mode'>}) => {
|
||||
return (
|
||||
<Select
|
||||
size="xs"
|
||||
{ ...field }
|
||||
w="auto"
|
||||
borderRadius="base"
|
||||
isDisabled={ formState.isSubmitting }
|
||||
placeholder="Optimization mode"
|
||||
isInvalid={ Boolean(error) }
|
||||
>
|
||||
{ config.zk_optimization_modes?.map((value) => (
|
||||
<option key={ value } value={ value }>
|
||||
{ value }
|
||||
</option>
|
||||
)) }
|
||||
</Select>
|
||||
);
|
||||
}, [ config.zk_optimization_modes, error, formState.isSubmitting ]);
|
||||
|
||||
return (
|
||||
<ContractVerificationFormRow>
|
||||
<Flex columnGap={ 5 } rowGap={ 2 } h={{ base: 'auto', lg: '32px' }} flexDir={{ base: 'column', lg: 'row' }}>
|
||||
<Controller
|
||||
name="is_optimization_enabled"
|
||||
control={ control }
|
||||
render={ renderCheckboxControl }
|
||||
/>
|
||||
{ isEnabled && (
|
||||
<Controller
|
||||
name="optimization_mode"
|
||||
control={ control }
|
||||
render={ renderInputControl }
|
||||
/>
|
||||
) }
|
||||
</Flex>
|
||||
</ContractVerificationFormRow>
|
||||
);
|
||||
};
|
||||
|
||||
export default React.memo(ContractVerificationFieldZkOptimization);
|
||||
@@ -10,7 +10,6 @@ import ContractVerificationFieldCompiler from '../fields/ContractVerificationFie
|
||||
import ContractVerificationFieldName from '../fields/ContractVerificationFieldName';
|
||||
import ContractVerificationFieldSources from '../fields/ContractVerificationFieldSources';
|
||||
import ContractVerificationFieldZkCompiler from '../fields/ContractVerificationFieldZkCompiler';
|
||||
import ContractVerificationFieldZkOptimization from '../fields/ContractVerificationFieldZkOptimization';
|
||||
|
||||
const FILE_TYPES = [ '.json' as const ];
|
||||
const rollupFeature = config.features.rollup;
|
||||
@@ -27,7 +26,6 @@ const ContractVerificationStandardInput = ({ config }: { config: SmartContractVe
|
||||
hint="Upload the standard input JSON file created during contract compilation."
|
||||
required
|
||||
/>
|
||||
{ rollupFeature.isEnabled && rollupFeature.type === 'zkSync' && <ContractVerificationFieldZkOptimization config={ config }/> }
|
||||
{ !config?.is_rust_verifier_microservice_enabled && <ContractVerificationFieldAutodetectArgs/> }
|
||||
</ContractVerificationMethod>
|
||||
);
|
||||
|
||||
@@ -54,8 +54,6 @@ export interface FormFieldsStandardInputZk {
|
||||
autodetect_constructor_args: boolean;
|
||||
constructor_args: string;
|
||||
license_type: LicenseOption | null;
|
||||
is_optimization_enabled: boolean;
|
||||
optimization_mode: string | undefined;
|
||||
}
|
||||
|
||||
export interface FormFieldsSourcify {
|
||||
|
||||
@@ -250,12 +250,6 @@ export function prepareRequestBody(data: FormFields): FetchParams['body'] {
|
||||
|
||||
// zkSync fields
|
||||
'zk_compiler' in _data && _data.zk_compiler && body.set('zk_compiler_version', _data.zk_compiler.value);
|
||||
if ('is_optimization_enabled' in _data) {
|
||||
body.set('is_optimization_enabled', String(Boolean(_data.is_optimization_enabled)));
|
||||
if (_data.is_optimization_enabled && 'optimization_mode' in _data && _data.optimization_mode) {
|
||||
body.set('optimization_runs', _data.optimization_mode);
|
||||
}
|
||||
}
|
||||
|
||||
return body;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user