# Interface Contract

Represents a contract in a compilation.

#### Hierarchy

- Contract

- Defined in codec/lib/compilations/types.ts:97

#####
Index

### Properties

abi
bytecode?
compiler?
contractName
deployedBytecode?
deployedGeneratedSources?
deployedSourceMap?
generatedSources?
immutableReferences?
primarySourceId?
settings?
sourceMap?

## Properties

### abi

abi: Abi

The contract's ABI.

- Defined in codec/lib/compilations/types.ts:125

### `Optional` bytecode

bytecode?: string | Bytecode

The contract's constructor bytecode; may be given either as a string in the old artifacts format, or as a bytecode object in the new compilation format.

- Defined in codec/lib/compilations/types.ts:107

### `Optional` compiler

compiler?: CompilerVersion

This field is a compatibility hack only intended for internal use. (It allows the compiler to be set on a source if none is set on the compilation as a whole; please don't do that.)

- Defined in codec/lib/compilations/types.ts:136

### contractName

contractName: string

The contract's name.

- Defined in codec/lib/compilations/types.ts:101

### `Optional` deployedBytecode

deployedBytecode?: string | Bytecode

The contract's deployed bytecode; may be given either as a string in the old artifacts format, or as a bytecode object in the new compilation format.

- Defined in codec/lib/compilations/types.ts:113

### `Optional` deployedGeneratedSources

deployedGeneratedSources?: Source[]

The contract's deployed generated sources object as output by Solidity 0.7.2 or later. Note that this will be a sparse array.

- Defined in codec/lib/compilations/types.ts:156

### `Optional` deployedSourceMap

deployedSourceMap?: string | VyperSourceMap

The contract's deployed source map.

- Defined in codec/lib/compilations/types.ts:121

### `Optional` generatedSources

generatedSources?: Source[]

The contract's generated sources object as output by Solidity 0.7.2 or later. Note that this will be a sparse array.

- Defined in codec/lib/compilations/types.ts:151

### `Optional` immutableReferences

immutableReferences?: ImmutableReferences

The contract's immutable references object as output by Solidity 0.6.5 or later.

- Defined in codec/lib/compilations/types.ts:130

### `Optional` primarySourceId

primarySourceId?: string

The ID of the contract's primary source.

- Defined in codec/lib/compilations/types.ts:146

### `Optional` settings

settings?: Settings

This field is a compatibility hack only intended for internal use. (It allows the settings to be set on a source if none is set on the compilation as a whole; please don't do that.)

- Defined in codec/lib/compilations/types.ts:142

### `Optional` sourceMap

sourceMap?: string | VyperSourceMap

The contract's constructor source map.

- Defined in codec/lib/compilations/types.ts:117

Generated using TypeDoc