UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

15 lines (14 loc) 1.24 kB
/** * Renames all contract and interface files in a given directory (recursively) by appending the provided version (e.g., V1). * Also updates the file contents to reflect the new contract names and handles import statements accordingly. * Skips files that are in the whitelist. * * @param {string} directoryPath - Relative path to the directory containing the contracts/interfaces. * @param {string} version - The version to append to the contract/interface names (e.g., "1" for V1). * @param {string[]} contractsWhitelist - Array of contract names to skip from renaming (without file extensions, e.g., ["B3TR"]). * @param {string[]} interfacesWhitelist - Array of interface names to skip from renaming (without file extensions, e.g., ["IERC6372"]). * @param {string[]} usagesToUpdate - Array of contract/interface names that should be updated in the codebase (e.g., ["IVoterRewards"]) even if they are not renamed through imports. * * @throws Will throw an error if the directory does not exist or if a file read/write fails. */ export declare function renameContractsAndInterfaces(directoryPath: string, version: string, contractsWhitelist: string[], interfacesWhitelist: string[], usagesToUpdate: string[]): Promise<void>;