@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
TypeScript
/**
* 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>;