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

19 lines • 1.04 kB
import { getContractAddress, getUpgradeableBeaconFactory, } from './utils/index.js'; import { attach, getSigner } from './utils/ethers.js'; import { makeEthersBinding, contractInfo } from './ethers-binding.js'; import { forceImport as engineForceImport } from './engine/force-import.js'; export function makeForceImport(hre, connection) { return async function forceImport(addressOrInstance, ImplFactory, opts = {}) { const binding = makeEthersBinding(hre, connection, ImplFactory.runner, opts); const address = await getContractAddress(addressOrInstance); const classification = await engineForceImport(binding, address, contractInfo(ImplFactory), opts); if (classification === 'beacon') { const UpgradeableBeaconFactory = await getUpgradeableBeaconFactory(connection, getSigner(ImplFactory.runner)); return attach(UpgradeableBeaconFactory, address); } else { return attach(ImplFactory, address); } }; } //# sourceMappingURL=force-import.js.map