UNPKG

@broxus/locklift-deploy

Version:

Locklift plugin for replicable deployments and easy testing

64 lines (63 loc) 2.7 kB
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; }