From c4c47d9665e7a4afef2adc7b717f29996fc96f59 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Thu, 23 Aug 2018 17:28:27 +0100 Subject: Stop nesting interfaces and add necessary type exports --- packages/ethereum-types/src/index.ts | 43 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) (limited to 'packages/ethereum-types/src/index.ts') diff --git a/packages/ethereum-types/src/index.ts b/packages/ethereum-types/src/index.ts index 2b878ca53..3b6fdc77b 100644 --- a/packages/ethereum-types/src/index.ts +++ b/packages/ethereum-types/src/index.ts @@ -326,24 +326,21 @@ export interface ContractNetworkData { export interface StandardContractOutput { abi: ContractAbi; - evm: { - bytecode: { - object: string; - sourceMap: string; - }; - deployedBytecode: { - object: string; - sourceMap: string; - }; - }; + evm: EvmOutput; +} + +export interface EvmOutput { + bytecode: EvmBytecodeOutput; + deployedBytecode: EvmBytecodeOutput; +} + +export interface EvmBytecodeOutput { + object: string; + sourceMap: string; } export interface ContractVersionData { - compiler: { - name: 'solc'; - version: string; - settings: CompilerSettings; - }; + compiler: CompilerOpts; sources: { [sourceName: string]: { id: number; @@ -356,6 +353,12 @@ export interface ContractVersionData { compilerOutput: StandardContractOutput; } +export interface CompilerOpts { + name: 'solc'; + version: string; + settings: CompilerSettings; +} + /** * This type defines the schema of the artifact.json file generated by Sol-compiler * schemaVersion: The version of the artifact schema @@ -384,10 +387,7 @@ export interface GeneratedCompilerOptions { // Copied from the solc.js library types export interface CompilerSettings { remappings?: string[]; - optimizer?: { - enabled: boolean; - runs?: number; - }; + optimizer?: OptimizerSettings; evmVersion?: 'homestead' | 'tangerineWhistle' | 'spuriousDragon' | 'byzantium' | 'constantinople'; metadata?: CompilerSettingsMetadata; libraries?: { @@ -406,6 +406,11 @@ export interface CompilerSettingsMetadata { useLiteralContent: true; } +export interface OptimizerSettings { + enabled: boolean; + runs?: number; +} + export interface Source { id: number; } -- cgit v1.2.3