@openzeppelin/hardhat-upgrades
Version:
[](https://docs.openzeppelin.com/upgrades-plugins/hardhat-upgrades) [](https://www.npmjs.org/package/@openzeppelin/h
13 lines • 810 B
JavaScript
import { upgradeProxy as engineUpgradeProxy } from '../engine/upgrade-proxy.js';
import { getContractAddress, getContractInfo, getViemContractAt, makeBinding, } from './utils.js';
export function makeUpgradeProxy(hre, connection) {
return async function upgradeProxy(proxy, contractName, opts = {}) {
const proxyAddress = getContractAddress(proxy);
const binding = await makeBinding(hre, connection, opts);
const implInfo = await getContractInfo(hre, contractName, opts.libraries);
// The viem binding waits for the upgrade transaction's receipt before returning.
await engineUpgradeProxy(binding, proxyAddress, implInfo, opts);
return getViemContractAt(connection, contractName, proxyAddress, opts.client);
};
}
//# sourceMappingURL=upgrade-proxy.js.map