UNPKG

@solvprotocol/upgrade-safe-transpiler

Version:

Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.

25 lines (21 loc) 688 B
import { ContractDefinition } from 'solidity-ast'; import { TransformerTools } from '../../transform'; import { formatLines } from './format-lines'; import { getConstructor } from '../../solc/ast-utils'; export function buildPublicInitialize( contract: ContractDefinition, tools: TransformerTools, ): string { const ctor = getConstructor(contract); let args = '()'; let argNames = ''; if (ctor) { args = tools.readOriginal(ctor.parameters); argNames = ctor.parameters.parameters.map(p => p.name).join(', '); } return formatLines(1, [ `function initialize${args} public virtual initializer {`, [`__${contract.name}_init(${argNames});`], '}', ]); }