@broxus/locklift-deploy
Version:
Locklift plugin for replicable deployments and easy testing
64 lines (63 loc) • 2.7 kB
TypeScript
import { FactoryType } from "locklift/internal/factory";
import { Address, Contract, Locklift } from "locklift";
import { AccountWithSigner, CreateAccountParamsWithoutPk, DeployContractParams, DeployContractResponse, SaveAccount, TagFile } from "./types";
export declare class Deployments<T extends FactoryType = FactoryType> {
private readonly locklift;
private readonly tags;
private readonly network;
private readonly networkId;
deploymentsStore: Record<string, Contract<any>>;
accountsStore: Record<string, AccountWithSigner>;
private deployTypeSettings;
private readonly pathToNetworkFolder;
private readonly logger;
constructor(locklift: Locklift<T>, tags: Array<TagFile>, network: string, networkId: number);
private getLogContent;
private getAccountOrContractFilePath;
private writeDeployInfo;
needToRedeploy: (deploymentsName: string, type: "Contract" | "Account") => boolean;
deploy: ({ deployConfig, deploymentName, enableLogs, }: {
deployConfig: DeployContractParams<T>;
deploymentName: string;
enableLogs?: boolean | undefined;
}) => Promise<DeployContractResponse<T>>;
saveContract: ({ deploymentName, address, contractName, }: {
deploymentName: string;
address: string | Address;
contractName: keyof T;
}, enableLogs?: boolean) => Promise<void>;
private setContractToStore;
getContract: <T_1>(contractName: string) => Contract<T_1>;
deployAccounts: (accounts: Array<{
deploymentName: string;
accountSettings: CreateAccountParamsWithoutPk<T>;
signerId: string;
}>, enableLogs?: boolean) => Promise<Array<AccountWithSigner>>;
getAccount: (accountName: string) => AccountWithSigner;
saveAccount: <T_1 extends {
type: import("locklift").WalletTypes.WalletV3 | import("locklift").WalletTypes.HighLoadWalletV2;
publicKey: string;
} | {
type: import("locklift").WalletTypes.EverWallet;
address: Address;
} | {
type: import("locklift").WalletTypes.MsigAccount;
publicKey?: string | undefined;
address: Address;
mSigType: "SafeMultisig" | "multisig2";
}>({ deploymentName, signerId, address, accountSettings, }: {
accountSettings: SaveAccount<T_1>;
signerId: string;
deploymentName: string;
address: string;
}, enableLogs?: boolean) => Promise<void>;
private setAccountToStore;
reset: () => void;
load: () => Promise<void>;
fixture: (fixtureConfig?: {
include?: Array<string>;
exclude?: Array<string>;
}) => Promise<void>;
private deployTags;
private _deployTags;
}