UNPKG

dop-stick

Version:

Source control tooling for versionable-upgradeable smart contracts

74 lines 3.14 kB
import { DiamondCutActionType } from '../types/diamond'; import { ExtendedFacetCut, ModuleBatchValidationResult } from '../types/upgrade'; import { DopStickConfig, UpgradeConfig } from '../types/config'; import { BatchedModuleFunctions } from '../types/upgrade'; /** * UpgradeProcessor handles the processing and validation of diamond contract upgrades. * It manages the upgrade workflow including file loading, validation, and preparation of diamond cuts. */ export declare class UpgradeProcessor { private readonly config; private batchProcessor; private readonly mode; private parallelBatchLogger; private validationTimeline; private executionSummary; private lastValidatedModules; /** * Creates a new UpgradeProcessor instance * @param config - Configuration object containing upgrade settings and modes */ constructor(config: DopStickConfig); /** * Loads and validates the upgrade configuration file * @returns Promise resolving to parsed and validated upgrade configuration * @throws Error if file is not found or has invalid format */ loadUpgradeFile(): Promise<UpgradeConfig>; /** * Processes upgrades using the batch processing system * @param upgradeConfig - Configuration containing upgrade specifications * @returns Object containing processed modules, actions, selectors, and final cuts * @throws Error if validation fails in strict mode */ processUpgrades(upgradeConfig: UpgradeConfig): Promise<{ modules: string[]; actions: DiamondCutActionType[]; selectors: string[][]; finalCuts: ExtendedFacetCut[]; validatedModules: ModuleBatchValidationResult[]; }>; createBatches(upgradeConfig: UpgradeConfig, isParallel?: boolean): Promise<BatchedModuleFunctions[]>; /** * Consolidates multiple batches of the same module into a single batch * @param batches Original array of batches * @returns Consolidated array of batches with unique module names * @private */ private consolidateBatches; private validateBatches; /** * Processes upgrades in parallel for improved performance * @param upgradeConfig - Configuration containing upgrade specifications * @returns Object containing processed modules and final cuts * @throws Error if parallel processing fails */ processUpgradesParallel(upgradeConfig: UpgradeConfig): Promise<{ modules: string[]; actions: DiamondCutActionType[]; selectors: string[][]; finalCuts: ExtendedFacetCut[]; validatedModules: ModuleBatchValidationResult[]; }>; /** * Prepares final diamond cuts from validated modules * @param validatedModules - Array of validation results for each module * @returns Object containing individual and grouped cuts * @private */ private prepareFinalCuts; private handleExecutionSummaryInteraction; private getValidatedModules; extractModuleCuts(upgradeConfig: UpgradeConfig): Promise<ExtendedFacetCut[]>; } //# sourceMappingURL=upgradeProcessor.d.ts.map