UNPKG

locklift-deploy-artifacts

Version:

Locklift plugin that enables you to store build artifacts across contract migration scripts.

52 lines (51 loc) 1.69 kB
export type NetworkName = string; export type ContractName = string; export type AliasName = string; export type VersionName = string; export type Data = Map<NetworkName, Contracts>; export type Contracts = Map<ContractName, Map<AliasName, Map<VersionName, Version>>>; export interface Version { address: string; codeHash: string; initParams: any; constructorParams: any; publicKey?: string; updatedAt?: number; abi: any; tvc: string; code: string; } export interface ContractVersion<ABI> { address: string; codeHash: string; initParams: any; constructorParams: any; publicKey: string; updatedAt: number; abi: ABI; code: string; tvc: string; } export type JournalData = Map<NetworkName, JournalContracts>; export type JournalContracts = Map<ContractName, Map<AliasName, Map<VersionName, JournalVersion>>>; export type JournalVersion = Omit<Version, "abi" | "tvc" | "code">; export declare class Artifacts { private readonly journalPath; private data; private dir; constructor(journalPath: string); addContract(network: string, contractName: string, aliasName: string, versionName: string | undefined, version: Version): void; getDataObj(): Data; reset(): void; private load; private saveJournal; private saveContractArtifacts; private saveTypeDefinitions; private dataToJournalView; private parseArtifactsData; private getContractArtifacts; private getContractNextVersion; private toObject; } export declare function createTypeDefinitions(interfaceName: string, data: Data): string; export declare function stringifyObj(obj: any, indent: number): string;