@solvprotocol/upgrade-safe-transpiler
Version:
Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.
22 lines • 780 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.layoutGetter = void 0;
const utils_1 = require("solidity-ast/utils");
function layoutGetter(output) {
const map = new Map();
for (const file in output.sources) {
const { ast } = output.sources[file];
for (const contract of (0, utils_1.findAll)('ContractDefinition', ast)) {
map.set(contract.id, output.contracts[file][contract.name].storageLayout);
}
}
return c => {
const layout = map.get(c.id);
if (layout === undefined) {
throw new Error(`Storage layout for contract ${c.name} unavailable`);
}
return layout;
};
}
exports.layoutGetter = layoutGetter;
//# sourceMappingURL=layout-getter.js.map