UNPKG

dop-stick

Version:

Source control tooling for versionable-upgradeable smart contracts

78 lines 2.37 kB
import { BigNumber } from 'ethers'; import { DiamondCutActionType } from '../types/diamond'; export interface ParallelValidationResult { moduleName: string; passed: boolean; errors: string[]; warnings: string[]; shouldProceed: boolean; finalCuts: ParallelFacetCut[]; } export interface ParallelFacetCut { moduleName: string; facetAddress: string; action: DiamondCutActionType; functionSelectors: string[]; } export interface ParallelDeploymentResult { moduleName: string; address: string; deploymentTime: number; gasUsed: BigNumber; costInEth: string; error?: string; } export interface ParallelPromptResult { shouldProceed: boolean; finalCuts: ParallelFacetCut[]; userResponses: Map<string, boolean>; } export interface ParallelModuleGroup { moduleName: string; cuts: ParallelFacetCut[]; validationResult?: ParallelValidationResult; deploymentResult?: ParallelDeploymentResult; } export interface ParallelProcessingContext { startTime: number; moduleGroups: Map<string, ParallelModuleGroup>; validationResults: ParallelValidationResult[]; deploymentResults: Map<string, ParallelDeploymentResult>; errors: string[]; warnings: string[]; } export interface ParallelDeploymentConfig { enabled: boolean; maxConcurrentDeployments?: number; timeoutPerModule?: number; returnFundsToMain?: boolean; minFundingAmount?: string; } export interface ParallelizationConfig { enabled: boolean; maxThreads: number; strategy: 'pre-validation' | 'queue-based' | 'batch-prompting'; parallelDeployment?: ParallelDeploymentConfig; validationConcurrency?: number; timeoutPerModule?: number; retryAttempts?: number; infoProcessing?: { minBatchSize?: number; maxBatchSize?: number; maxConcurrentBatches?: number; adaptiveBatching?: boolean; selectorBatchSize?: number; processingTimeout?: number; retryDelay?: number; }; } export declare const DEFAULT_INFO_PROCESSING_CONFIG: { readonly minBatchSize: 5; readonly maxBatchSize: 50; readonly maxConcurrentBatches: 3; readonly adaptiveBatching: true; readonly selectorBatchSize: 20; readonly processingTimeout: 30000; readonly retryDelay: 1000; }; //# sourceMappingURL=parallelTypes.d.ts.map