/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * EthPM Manifest Version */ export type Manifest = "ethpm/3"; /** * The name of the package that this release is for */ export type PackageName = string; /** * The version of the package that this release is for */ export type PackageVersion = string; /** * Authors of this package */ export type Authors = string[]; /** * The license that this package and its source are released under */ export type License = string; /** * Description of this package */ export type Description = string; /** * Keywords that apply to this package */ export type Keywords = string[]; /** * Information about a source file included in this package * * This interface was referenced by `Sources`'s JSON-Schema definition * via the `patternProperty` ".*". */ export type Source = { [k: string]: any; }; /** * The name of the contract type */ export type ContractTypeName = string; /** * The compiler versions used in this release */ export type Compilers = CompilerInformation[]; /** * The source ID that corresponds to this contract type */ export type SourceId = string; export type BytecodeObject = { [k: string]: any; }; /** * The ABI for this contract type */ export type Abi = any[]; /** * A 0x-prefixed Ethereum address */ export type Address = ByteString & { [k: string]: any; }; /** * 0x-prefixed hexadecimal string representing bytes */ export type ByteString = string; /** * A 0x-prefixed Ethereum transaction hash */ export type TransactionHash = ByteString & { [k: string]: any; }; /** * An Ethereum block hash */ export type BlockHash = ByteString & { [k: string]: any; }; /** * A value for an individual link reference in a contract's bytecode */ export type LinkValue = | { type?: "literal"; value?: ByteString; [k: string]: any; } | { type?: "reference"; value?: ContractInstanceName | NestedContractInstanceName; [k: string]: any; }; /** * The name of the deployed contract instance */ export type ContractInstanceName = string; /** * Name of a nested contract instance from somewhere down the dependency tree */ export type NestedContractInstanceName = string; /** * The values for the link references found within this contract instances runtime bytecode */ export type LinkDependencies = LinkValue[]; /** * An content addressable URI * * This interface was referenced by `BuildDependencies`'s JSON-Schema definition * via the `patternProperty` "". */ export type ContentUri = string; /** * EthPM Manifest Specification */ export interface PackageManifest { manifest: Manifest; name?: PackageName; version?: PackageVersion; meta?: PackageMeta; sources?: Sources; compilers?: Compilers; contractTypes?: ContractTypes; deployments?: Deployments; buildDependencies?: BuildDependencies; [k: string]: any; } /** * Metadata about the package */ export interface PackageMeta { authors?: Authors; license?: License; description?: Description; keywords?: Keywords; links?: Links; [k: string]: any; } export interface Links { [k: string]: string; } /** * The source files included in this release */ export interface Sources { [k: string]: Source; } /** * Information about the software that was used to compile a contract type or deployment */ export interface CompilerInformation { /** * The name of the compiler */ name: string; /** * The version string for the compiler */ version: string; /** * The settings used for compilation */ settings?: { [k: string]: any; }; /** * The contract types that targeted this compiler. */ contractTypes?: ContractTypeName[]; [k: string]: any; } /** * The contract types included in this release */ export interface ContractTypes { [k: string]: ContractType; } /** * Data for a contract type included in this package * * This interface was referenced by `ContractTypes`'s JSON-Schema definition * via the `patternProperty` "". */ export interface ContractType { contractName?: ContractTypeName; sourceId?: SourceId; deploymentBytecode?: BytecodeObject; runtimeBytecode?: BytecodeObject; abi?: Abi; devdoc?: Devdoc; userdoc?: Userdoc; [k: string]: any; } /** * The dev-doc for this contract */ export interface Devdoc { [k: string]: any; } /** * The user-doc for this contract */ export interface Userdoc { [k: string]: any; } /** * The deployed contract instances in this release */ export interface Deployments { [k: string]: Deployment; } /** * This interface was referenced by `Deployments`'s JSON-Schema definition * via the `patternProperty` "". */ export interface Deployment { [k: string]: ContractInstance; } /** * Data for a deployed instance of a contract * * This interface was referenced by `Deployment`'s JSON-Schema definition * via the `patternProperty` "". */ export interface ContractInstance { contractType: ContractTypeName; address: Address; transaction?: TransactionHash; block?: BlockHash; runtimeBytecode?: BytecodeObject; linkDependencies?: LinkDependencies; [k: string]: any; } export interface BuildDependencies { [k: string]: ContentUri; }