UNPKG

@openzeppelin/upgrade-safe-transpiler

Version:

Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.

27 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addRequiredPublicInitializer = void 0; const utils_1 = require("solidity-ast/utils"); const minimatch_1 = require("minimatch"); const new_function_position_1 = require("./utils/new-function-position"); const build_pulic_initialize_1 = require("./utils/build-pulic-initialize"); function addRequiredPublicInitializer(publicInitializers) { return function* (sourceUnit, tools) { const { getData } = tools; const requested = publicInitializers?.some(p => (0, minimatch_1.minimatch)(sourceUnit.absolutePath, p)) ?? false; for (const contract of (0, utils_1.findAll)('ContractDefinition', sourceUnit)) { if (getData(contract).isUsedInNewStatement || (requested && contract.contractKind === 'contract')) { const start = (0, new_function_position_1.newFunctionPosition)(contract, tools); yield { start, length: 0, kind: 'add-external-initializer', text: (0, build_pulic_initialize_1.buildPublicInitialize)(contract, tools), }; } } }; } exports.addRequiredPublicInitializer = addRequiredPublicInitializer; //# sourceMappingURL=add-required-public-initializers.js.map