import { Contract, ProxyAdminProject, AppProject, BuildArtifacts, App, TxParams } from 'zos-lib'; import { AppProjectDeployer, ProxyAdminProjectDeployer } from './ProjectDeployer'; import LocalController from '../local/LocalController'; import ZosNetworkFile, { ProxyInterface } from '../files/ZosNetworkFile'; import ZosPackageFile from '../files/ZosPackageFile'; import { ProxyType } from '../../scripts/interfaces'; declare type Project = ProxyAdminProject | AppProject; declare type ProjectDeployer = ProxyAdminProjectDeployer | AppProjectDeployer; export default class NetworkController { localController: LocalController; txParams: TxParams; network: string; networkFile: ZosNetworkFile; project: Project; private contractManager; constructor(network: string, txParams: TxParams, networkFile?: ZosNetworkFile); readonly packageFile: ZosPackageFile; readonly packageVersion: string; readonly currentVersion: string; readonly currentZosversion: string; readonly packageAddress: string; readonly proxyAdminAddress: string; readonly proxyFactoryAddress: string; checkNotFrozen(): void | never; fetchOrDeploy(requestedVersion: string): Promise; push(reupload?: boolean, force?: boolean): Promise; deployProxyFactory(): Promise; deployProxyAdmin(): Promise; private _checkVersion; private _newVersionRequired; private _contractsListForPush; private _solidityLibsForPush; uploadSolidityLibs(libs: Contract[]): Promise; private _uploadSolidityLib; uploadContracts(contracts: [string, Contract][]): Promise; uploadContract(contractAlias: string, contract: Contract): Promise; private _setSolidityLibs; private _unsetSolidityLibs; private _unsetSolidityLib; private _hasChangedLibraries; private _getAllSolidityLibNames; unsetContracts(): Promise; unsetContract(contractAlias: string): Promise; validateContracts(contracts: [string, Contract][], buildArtifacts: BuildArtifacts): boolean; validateContract(contractAlias: string, contract: Contract, buildArtifacts: BuildArtifacts): boolean; checkContractDeployed(packageName: string, contractAlias: string, throwIfFail?: boolean): void; checkLocalContractsDeployed(throwIfFail?: boolean): void; private _errorForLocalContractsDeployed; checkLocalContractDeployed(contractAlias: string, throwIfFail?: boolean): void; private _errorForLocalContractDeployed; private _handleErrorMessage; private _hasSolidityLibChanged; hasContractChanged(contractAlias: string, contract?: Contract): boolean; isLocalContract(contractAlias: string): boolean; isContractDefined(contractAlias: string): boolean; isContractDeployed(contractAlias: string): boolean; verifyAndPublishContract(contractAlias: string, optimizer: boolean, optimizerRuns: string, remote: string, apiKey: string): Promise; writeNetworkPackageIfNeeded(): void; freeze(): Promise; readonly isPublished: boolean; getDeployer(requestedVersion: string): ProjectDeployer; readonly appAddress: string; readonly app: App | null; private _migrate; private _migrateZosversionIfNeeded; publish(): Promise; createProxy(packageName: string, contractAlias: string, initMethod: string, initArgs: string[], admin?: string, salt?: string, signature?: string, kind?: ProxyType): Promise; private createProxyInstance; getProxyDeploymentAddress(salt: string, sender?: string): Promise; getProxySignedDeployment(salt: string, signature: string, packageName: string, contractAlias: string, initMethod?: string, initArgs?: string[], admin?: string): Promise<{ address: string; signer: string; }>; private _checkDeploymentAddress; private _tryRegisterProxyAdmin; private _tryRegisterProxyFactory; checkInitialization(contract: Contract, calledInitMethod: string): void; private _updateTruffleDeployedInformation; setProxiesAdmin(packageName: string, contractAlias: string, proxyAddress: string, newAdmin: string): Promise; setProxyAdminOwner(newAdminOwner: string): Promise; private _changeProxiesAdmin; upgradeProxies(packageName: string, contractAlias: string, proxyAddress: string, initMethod: string, initArgs: string[]): Promise; private _upgradeProxy; private _fetchOwnedProxies; deployDependencies(): Promise; deployDependencyIfNeeded(depName: string, depVersion: string): Promise; handleDependenciesLink(): Promise; unlinkDependency(depName: string): Promise; linkDependency(depName: string, depVersion: string): Promise; private _errorForContractDeployed; private _updateZosVersionsIfNeeded; } export {};