@newos/cli
Version:
Command-line interface for the NewOS
102 lines • 5.36 kB
TypeScript
import { Contract, ProxyAdminProject, AppProject, BuildArtifacts, App, TxParams } from '@newos/upgrades';
import { AppProjectDeployer, ProxyAdminProjectDeployer } from './ProjectDeployer';
import LocalController from '../local/LocalController';
import ContractManager from '../local/ContractManager';
import NetworkFile, { ProxyInterface } from '../files/NetworkFile';
import ProjectFile from '../files/ProjectFile';
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: NetworkFile;
project: Project;
contractManager: ContractManager;
constructor(network: string, txParams: TxParams, networkFile?: NetworkFile);
get projectFile(): ProjectFile;
get projectVersion(): string;
get currentVersion(): string;
get currentManifestVersion(): string;
get packageAddress(): string;
get proxyAdminAddress(): string;
get proxyFactoryAddress(): string;
checkNotFrozen(): void | never;
fetchOrDeploy(requestedVersion: string): Promise<Project>;
deployChangedSolidityLibs(contractNames: string): Promise<void>;
push(contracts: string[] | undefined, { reupload, force }?: {
reupload?: boolean;
force?: boolean;
}): Promise<void | never>;
deployProxyFactory(): Promise<void>;
deployProxyAdmin(): Promise<void>;
private checkVersion;
private isNewVersionRequired;
private contractsListForPush;
private getLibsToDeploy;
private solidityLibsForPush;
uploadSolidityLibs(libs: Contract[]): Promise<void>;
private uploadSolidityLib;
uploadContracts(contracts: [string, Contract][]): Promise<void>;
uploadContract(contractName: string, contract: Contract): Promise<void | never>;
private setSolidityLibs;
private unsetSolidityLibs;
private unsetSolidityLib;
private hasChangedLibraries;
private getAllSolidityLibNames;
private populateDependencyGraph;
private getContractDependencies;
unsetMissingContracts(): Promise<void>;
unsetContractAndImplementation(contractName: string): Promise<void | never>;
validateContracts(contracts: [string, Contract][], buildArtifacts: BuildArtifacts): boolean;
validateContract(contractName: string, contract: Contract, buildArtifacts: BuildArtifacts): boolean;
logErrorIfContractPackageIsInvalid(packageName: string, contractName: string, throwIfFail?: boolean): void;
logErrorIfProjectDeploymentIsInvalid(throwIfFail?: boolean): void;
logErrorIfContractDeploymentIsInvalid(contractName: string, throwIfFail?: boolean): void;
private getDeploymentErrorForProject;
private getContractDeploymentError;
private logErrorMessage;
private hasSolidityLibChanged;
hasContractChanged(contractName: string, contract?: Contract): boolean;
isProjectFileContract(contractName: string): boolean;
isNetworkFileContract(contractName: string): boolean;
verifyAndPublishContract(contractName: string, optimizer: boolean, optimizerRuns: string, remote: string, apiKey: string): Promise<void>;
writeNetworkPackageIfNeeded(): void;
freeze(): Promise<void | never>;
get isPublished(): boolean;
getDeployer(requestedVersion: string): ProjectDeployer;
get appAddress(): string;
get app(): App | null;
private migrate;
private migrateManifestVersionIfNeeded;
publish(): Promise<void>;
createProxy(packageName: string, contractName: string, initMethod: string, initArgs: any[], kind?: ProxyType, admin?: string, salt?: string, signature?: string): Promise<Contract>;
createInstance(packageName: string, contractName: string, initArgs: unknown[]): Promise<Contract>;
private createProxyInstance;
getProxyDeploymentAddress(salt: string, sender?: string): Promise<string>;
getProxySignedDeployment(salt: string, signature: string, packageName: string, contractName: 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, contractName: string, proxyAddress: string, newAdmin: string): Promise<ProxyInterface[]>;
setProxyAdminOwner(newAdminOwner: string): Promise<void>;
private changeProxiesAdmin;
upgradeProxies(packageName: string, contractName: string, proxyAddress: string, initMethod: string, initArgs: string[]): Promise<ProxyInterface[]>;
private upgradeProxy;
private fetchOwnedProxies;
deployDependencies(): Promise<void>;
deployDependencyIfNeeded(depName: string, depVersion: string): Promise<void | never>;
handleDependenciesLink(): Promise<void>;
unlinkDependency(depName: string): Promise<void | never>;
linkDependency(depName: string, depVersion: string): Promise<boolean | void | never>;
private getPackageContractError;
private updateManifestVersionsIfNeeded;
}
export {};
//# sourceMappingURL=NetworkController.d.ts.map