UNPKG

@solvprotocol/upgrade-safe-transpiler

Version:

Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.

31 lines 1.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addRequiredPublicInitializer = void 0; const utils_1 = require("solidity-ast/utils"); const minimatch_1 = __importDefault(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) { var _a; const { getData } = tools; const requested = (_a = publicInitializers === null || publicInitializers === void 0 ? void 0 : publicInitializers.some(p => (0, minimatch_1.default)(sourceUnit.absolutePath, p))) !== null && _a !== void 0 ? _a : 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