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

17 lines • 998 B
import { deployBeaconProxy as engineDeployBeaconProxy } from '../engine/deploy-beacon-proxy.js'; import { asAddress, getAbi, getContractAddress, getViemContractAt, makeBinding, } from './utils.js'; export function makeDeployBeaconProxy(hre, connection) { return async function deployBeaconProxy(beacon, contractName, args = [], opts = {}) { if (!Array.isArray(args)) { opts = args; args = []; } const binding = await makeBinding(hre, connection, opts); // The contract name identifies the beacon's current implementation. Only its ABI is used, // to encode the initializer call. const attachToAbi = await getAbi(hre, contractName); const proxyDeployment = await engineDeployBeaconProxy(binding, getContractAddress(beacon), attachToAbi, args, opts); return getViemContractAt(connection, contractName, asAddress(proxyDeployment.address), opts.client); }; } //# sourceMappingURL=deploy-beacon-proxy.js.map