Documentation ¶
Index ¶
- type Ast
- type CompilerInput
- type CompilerInputMetadata
- type CompilerOutput
- type CompilerOutputBytecode
- type CompilerOutputContract
- type CompilerOutputContracts
- type CompilerOutputEvm
- type CompilerOutputSource
- type CompilerOutputSources
- type CompilerSettings
- type ImmutableReference
- type ImmutableReferences
- type LinkReference
- type LinkReferenceOffset
- type LinkReferences
- type OptimizerSettings
- type StorageLayout
- type StorageLayoutEntry
- type StorageLayoutType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompilerInput ¶
type CompilerInput struct { Language string `json:"language"` Sources map[string]map[string]string `json:"sources"` Settings CompilerSettings `json:"settings"` }
type CompilerInputMetadata ¶
type CompilerInputMetadata struct {
UseLiteralContent bool `json:"useLiteralContent"`
}
type CompilerOutput ¶
type CompilerOutput struct { Contracts map[string]CompilerOutputContracts `json:"contracts"` Sources CompilerOutputSources `json:"sources"` }
type CompilerOutputBytecode ¶
type CompilerOutputBytecode struct { Object string `json:"object"` Opcodes string `json:"opcodes"` SourceMap string `json:"sourceMap"` LinkReferences LinkReferences `json:"linkReferences"` ImmutableReferences ImmutableReferences `json:"immutableReferences"` }
Object must be a string because its not guaranteed to be a hex string
type CompilerOutputContract ¶
type CompilerOutputContract struct { Abi abi.ABI `json:"abi"` Evm CompilerOutputEvm `json:"evm"` Metadata string `json:"metadata"` StorageLayout StorageLayout `json:"storageLayout"` }
CompilerOutputContract represents the solc compiler output for a contract. Ignoring some fields such as devdoc and userdoc.
type CompilerOutputContracts ¶
type CompilerOutputContracts map[string]CompilerOutputContract
type CompilerOutputEvm ¶
type CompilerOutputEvm struct { Bytecode CompilerOutputBytecode `json:"bytecode"` DeployedBytecode CompilerOutputBytecode `json:"deployedBytecode"` GasEstimates map[string]map[string]string `json:"gasEstimates"` MethodIdentifiers map[string]string `json:"methodIdentifiers"` }
type CompilerOutputSource ¶
type CompilerOutputSources ¶
type CompilerOutputSources map[string]CompilerOutputSource
type CompilerSettings ¶
type CompilerSettings struct { Optimizer OptimizerSettings `json:"optimizer"` Metadata CompilerInputMetadata `json:"metadata"` OutputSelection map[string]map[string][]string `json:"outputSelection"` EvmVersion string `json:"evmVersion,omitempty"` Libraries map[string]map[string]string `json:"libraries,omitempty"` }
type ImmutableReference ¶
type ImmutableReferences ¶
type ImmutableReferences map[string][]ImmutableReference
type LinkReference ¶
type LinkReference map[string][]LinkReferenceOffset
type LinkReferenceOffset ¶
type LinkReferences ¶
type LinkReferences map[string]LinkReference
type OptimizerSettings ¶
type StorageLayout ¶
type StorageLayout struct { Storage []StorageLayoutEntry `json:"storage"` Types map[string]StorageLayoutType `json:"types"` }
StorageLayout represents the solc compilers output storage layout for a contract.
func (*StorageLayout) GetStorageLayoutEntry ¶
func (s *StorageLayout) GetStorageLayoutEntry(name string) (StorageLayoutEntry, error)
GetStorageLayoutEntry returns the StorageLayoutEntry where the label matches the provided name.
func (*StorageLayout) GetStorageLayoutType ¶
func (s *StorageLayout) GetStorageLayoutType(name string) (StorageLayoutType, error)
GetStorageLayoutType returns the StorageLayoutType where the label matches the provided name.
type StorageLayoutEntry ¶
type StorageLayoutType ¶
type StorageLayoutType struct { Encoding string `json:"encoding"` Label string `json:"label"` NumberOfBytes uint `json:"numberOfBytes,string"` Key string `json:"key,omitempty"` Value string `json:"value,omitempty"` Base string `json:"base,omitempty"` Members []StorageLayoutEntry `json:"members,omitempty"` }
Click to show internal directories.
Click to hide internal directories.