UNPKG

@openzeppelin/hardhat-upgrades

Version:

[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/upgrades-plugins/hardhat-upgrades) [![NPM Package](https://img.shields.io/npm/v/@openzeppelin/hardhat-upgrades.svg)](https://www.npmjs.org/package/@openzeppelin/h

18 lines • 1.06 kB
import { ContractFactory } from 'ethers'; import { getContractAddress } from './utils/index.js'; import { makeEthersBinding, contractInfo } from './ethers-binding.js'; import { validateUpgrade as engineValidateUpgrade } from './engine/validate.js'; export function makeValidateUpgrade(hre, connection) { return async function validateUpgrade(referenceAddressOrImplFactory, newImplFactory, opts = {}) { const binding = makeEthersBinding(hre, connection, newImplFactory.runner, opts); const newImplInfo = contractInfo(newImplFactory); if (referenceAddressOrImplFactory instanceof ContractFactory) { await engineValidateUpgrade(binding, { kind: 'info', info: contractInfo(referenceAddressOrImplFactory) }, newImplInfo, opts); } else { const referenceAddress = await getContractAddress(referenceAddressOrImplFactory); await engineValidateUpgrade(binding, { kind: 'address', address: referenceAddress }, newImplInfo, opts); } }; } //# sourceMappingURL=validate-upgrade.js.map