polar-bear-stash-contracts
Version:
Smart contracts for the PolarBearStash (COLD) ERC20 token on the Berachain (test)chain.
30 lines (25 loc) • 716 B
JavaScript
const fs = require('fs');
const format = require('./format-lines');
function getVersion (path) {
try {
return fs
.readFileSync(path, 'utf8')
.match(/\/\/ OpenZeppelin Contracts \(last updated v[^)]+\)/)[0];
} catch (err) {
return null;
}
}
for (const [ file, template ] of Object.entries({
'utils/math/SafeCast.sol': './templates/SafeCast',
'mocks/SafeCastMock.sol': './templates/SafeCastMock',
})) {
const path = `./contracts/${file}`;
const version = getVersion(path);
const content = format(
'// SPDX-License-Identifier: MIT',
(version ? version + ` (${file})\n` : ''),
require(template).trimEnd(),
);
fs.writeFileSync(path, content);
}