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

128 lines • 4.38 kB
import type { NetworkConnection } from 'hardhat/types/network'; import type { GetContractReturnType, KeyedClient } from '@nomicfoundation/hardhat-viem/types'; import type { Address } from 'viem'; /** * ABI of the UpgradeableBeacon contract from OpenZeppelin Contracts 5.x, which is the beacon * that `deployBeacon` deploys. Exposed as a `const` so that the beacon contract instances * returned by the viem-based API have typed `read` and `write` functions. */ export declare const upgradeableBeaconAbi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "implementation_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialOwner"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; }]; readonly name: "BeaconInvalidImplementation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; }]; readonly name: "Upgraded"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "implementation"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }]; readonly name: "upgradeTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; /** * A viem contract instance for an UpgradeableBeacon contract. */ export type UpgradeableBeaconContract = GetContractReturnType<typeof upgradeableBeaconAbi>; /** * Gets a viem contract instance for the UpgradeableBeacon at the given address. * The beacon contract is not a project artifact, so the instance is created directly with * viem's `getContract` instead of `connection.viem.getContractAt`, using the same clients * that hardhat-viem would use by default. */ export declare function getUpgradeableBeaconContract(connection: NetworkConnection, address: Address, client?: KeyedClient): Promise<UpgradeableBeaconContract>; //# sourceMappingURL=upgradeable-beacon.d.ts.map