@openzeppelin/hardhat-upgrades
Version:
[](https://docs.openzeppelin.com/upgrades-plugins/hardhat-upgrades) [](https://www.npmjs.org/package/@openzeppelin/h
17 lines • 1.01 kB
JavaScript
import { validateUpgrade as engineValidateUpgrade } from '../engine/validate.js';
import { getContractAddress, getContractInfo, isAddress, makeReadBinding } from './utils.js';
export function makeValidateUpgrade(hre, connection) {
return async function validateUpgrade(reference, newContractName, opts = {}) {
const binding = await makeReadBinding(hre, connection);
const newImplInfo = await getContractInfo(hre, newContractName, opts.libraries);
if (typeof reference === 'string' && !isAddress(reference)) {
// The reference is a contract name (contracts-only form)
const origInfo = await getContractInfo(hre, reference, opts.libraries);
await engineValidateUpgrade(binding, { kind: 'info', info: origInfo }, newImplInfo, opts);
}
else {
await engineValidateUpgrade(binding, { kind: 'address', address: getContractAddress(reference) }, newImplInfo, opts);
}
};
}
//# sourceMappingURL=validate-upgrade.js.map