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

34 lines • 2.66 kB
import { createRequire } from 'node:module'; /** * Client-neutral access to the proxy and proxy-admin artifacts vendored in * `@openzeppelin/upgrades-core`. Returns plain `{ abi, bytecode }` and ABIs, leaving the * construction of client objects (ethers `ContractFactory`, viem encoders) to the bindings. */ const require = createRequire(import.meta.url); const ERC1967Proxy = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json'); const BeaconProxy = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/beacon/BeaconProxy.sol/BeaconProxy.json'); const UpgradeableBeacon = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json'); const TransparentUpgradeableProxy = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json'); const ITransparentUpgradeableProxyV5 = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json'); const ITransparentUpgradeableProxyV4 = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json'); const ProxyAdminV5 = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json'); const ProxyAdminV4 = require('@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json'); export function getProxyContractInfo() { return { abi: ERC1967Proxy.abi, bytecode: ERC1967Proxy.bytecode }; } export function getTransparentUpgradeableProxyContractInfo() { return { abi: TransparentUpgradeableProxy.abi, bytecode: TransparentUpgradeableProxy.bytecode }; } export function getBeaconProxyContractInfo() { return { abi: BeaconProxy.abi, bytecode: BeaconProxy.bytecode }; } export function getUpgradeableBeaconContractInfo() { return { abi: UpgradeableBeacon.abi, bytecode: UpgradeableBeacon.bytecode }; } // ABIs of the interfaces used to encode upgrade and admin calls. export const iTransparentUpgradeableProxyV5Abi = ITransparentUpgradeableProxyV5.abi; export const iTransparentUpgradeableProxyV4Abi = ITransparentUpgradeableProxyV4.abi; export const proxyAdminV5Abi = ProxyAdminV5.abi; export const proxyAdminV4Abi = ProxyAdminV4.abi; export const upgradeableBeaconAbi = UpgradeableBeacon.abi; //# sourceMappingURL=artifacts.js.map