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

96 lines • 3.74 kB
import { DeployMetadata, SourceCodeLicense } from '@openzeppelin/defender-sdk-deploy-client'; import { DeployOpts, ProxyKindOption, StandaloneValidationOptions, ValidationOptions } from '@openzeppelin/upgrades-core'; import { ContractFactory, Overrides } from 'ethers'; import { EthersOrDefenderDeployment } from './deploy.js'; /** * Options for customizing the factory or deploy functions */ export type DeployFactoryOpts = { /** * Allows to customize the ethers ContractFactory of the proxy to deploy, instead of using the ones defined in utils/factories.ts */ proxyFactory?: ContractFactory; /** * Allows to customize the deploy function used instead of utils/deploy.ts:deploy */ deployFunction?: () => Promise<EthersOrDefenderDeployment>; }; /** * Options for functions that can deploy an implementation contract. */ export type StandaloneOptions = StandaloneValidationOptions & DeployOpts & EthersDeployOptions & { constructorArgs?: unknown[]; /** * @deprecated Use `redeployImplementation = 'never'` instead. */ useDeployedImplementation?: boolean; redeployImplementation?: 'always' | 'never' | 'onchange'; }; /** * Options for functions that can deploy a new version of an implementation contract for upgrading. */ export type UpgradeOptions = ValidationOptions & StandaloneOptions; export declare function withDefaults(opts?: UpgradeOptions): Required<UpgradeOptions>; /** * Option for functions that support getting a transaction response. */ export type GetTxResponse = { getTxResponse?: boolean; }; export type Initializer = { initializer?: string | false; }; /** * Option to enable or disable Defender deployments. */ export type DefenderDeploy = { useDefenderDeploy?: boolean; }; /** * Options for functions that support Defender deployments. */ export type DefenderDeployOptions = DefenderDeploy & { verifySourceCode?: boolean; relayerId?: string; salt?: string; createFactoryAddress?: string; licenseType?: SourceCodeLicense; skipLicenseType?: boolean; metadata?: DeployMetadata; }; /** * Options for functions that support deployments through ethers.js. */ export type EthersDeployOptions = { /** * Overrides for the transaction sent to deploy a contract. */ txOverrides?: Overrides; }; export type InitialOwner = { initialOwner?: string; /** * Skips checking the `initialOwner` option when deploying a transparent proxy. */ unsafeSkipProxyAdminCheck?: boolean; }; export type DeployBeaconProxyOptions = EthersDeployOptions & DeployOpts & DeployFactoryOpts & ProxyKindOption & Initializer & DefenderDeployOptions; export type DeployBeaconOptions = StandaloneOptions & InitialOwner & DefenderDeploy; export type DeployImplementationOptions = StandaloneOptions & GetTxResponse & DefenderDeployOptions; export type DeployContractOptions = Omit<StandaloneOptions, 'txOverrides'> & // ethers deployment not supported for deployContract GetTxResponse & DefenderDeployOptions & { unsafeAllowDeployContract?: boolean; }; export type DeployProxyOptions = StandaloneOptions & DeployFactoryOpts & Initializer & InitialOwner & DefenderDeployOptions; export type ForceImportOptions = ProxyKindOption; export type PrepareUpgradeOptions = UpgradeOptions & GetTxResponse & DefenderDeployOptions; export type UpgradeBeaconOptions = UpgradeOptions & DefenderDeploy; export type UpgradeProxyOptions = UpgradeOptions & { call?: { fn: string; args?: unknown[]; } | string; } & DefenderDeploy; export type ValidateImplementationOptions = StandaloneValidationOptions; export type ValidateUpgradeOptions = ValidationOptions; //# sourceMappingURL=options.d.ts.map