Documentation
¶
Overview ¶
Package solc provides bindings for the Solidity compiler.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultLang = langSolidity DefaultRemappings []string = nil DefaultOptimizer = &Optimizer{Enabled: true, Runs: 200} DefaultViaIR = false DefaultOutputSelection = map[string]map[string][]string{ "*": { "*": {"evm.bytecode.object", "evm.deployedBytecode.object", "abi"}, }, } DefaultEVMVersions = map[Version]EVMVersion{ "0.5.0": EVMVersionByzantium, "0.5.1": EVMVersionByzantium, "0.5.2": EVMVersionByzantium, "0.5.3": EVMVersionByzantium, "0.5.4": EVMVersionByzantium, "0.5.5": EVMVersionPetersburg, "0.5.6": EVMVersionPetersburg, "0.5.7": EVMVersionPetersburg, "0.5.8": EVMVersionPetersburg, "0.5.9": EVMVersionPetersburg, "0.5.10": EVMVersionPetersburg, "0.5.11": EVMVersionPetersburg, "0.5.12": EVMVersionPetersburg, "0.5.13": EVMVersionPetersburg, "0.5.14": EVMVersionIstanbul, "0.5.15": EVMVersionIstanbul, "0.5.16": EVMVersionIstanbul, "0.5.17": EVMVersionIstanbul, "0.6.0": EVMVersionIstanbul, "0.6.1": EVMVersionIstanbul, "0.6.2": EVMVersionIstanbul, "0.6.3": EVMVersionIstanbul, "0.6.4": EVMVersionIstanbul, "0.6.5": EVMVersionIstanbul, "0.6.6": EVMVersionIstanbul, "0.6.7": EVMVersionIstanbul, "0.6.8": EVMVersionIstanbul, "0.6.9": EVMVersionIstanbul, "0.6.10": EVMVersionIstanbul, "0.6.11": EVMVersionIstanbul, "0.6.12": EVMVersionIstanbul, "0.7.0": EVMVersionIstanbul, "0.7.1": EVMVersionIstanbul, "0.7.2": EVMVersionIstanbul, "0.7.3": EVMVersionIstanbul, "0.7.4": EVMVersionIstanbul, "0.7.5": EVMVersionIstanbul, "0.7.6": EVMVersionIstanbul, "0.8.0": EVMVersionIstanbul, "0.8.1": EVMVersionIstanbul, "0.8.2": EVMVersionIstanbul, "0.8.3": EVMVersionIstanbul, "0.8.4": EVMVersionIstanbul, "0.8.5": EVMVersionBerlin, "0.8.6": EVMVersionBerlin, "0.8.7": EVMVersionLondon, "0.8.8": EVMVersionLondon, "0.8.9": EVMVersionLondon, "0.8.10": EVMVersionLondon, "0.8.11": EVMVersionLondon, "0.8.12": EVMVersionLondon, "0.8.13": EVMVersionLondon, "0.8.14": EVMVersionLondon, "0.8.15": EVMVersionLondon, "0.8.16": EVMVersionLondon, "0.8.17": EVMVersionLondon, "0.8.18": EVMVersionParis, "0.8.19": EVMVersionParis, "0.8.20": EVMVersionShanghai, "0.8.21": EVMVersionShanghai, "0.8.22": EVMVersionShanghai, "0.8.23": EVMVersionShanghai, "0.8.24": EVMVersionShanghai, "0.8.25": EVMVersionCancun, "0.8.26": EVMVersionCancun, "0.8.27": EVMVersionCancun, "0.8.28": EVMVersionCancun, "0.8.29": EVMVersionCancun, "0.8.30": EVMVersionPrague, } )
default settings options
View Source
var (
MaxRetryDownloadAttempts = 2
)
View Source
var Versions []Version
Versions is a list of all available solc versions.
Functions ¶
Types ¶
type Compiler ¶
type Compiler struct {
// contains filtered or unexported fields
}
type Contract ¶
type Contract struct { ABI []json.RawMessage `json:"abi"` Metadata string `json:"metadata"` UserDoc json.RawMessage `json:"userdoc"` DevDoc json.RawMessage `json:"devdoc"` IR string `json:"ir"` EVM evm `json:"evm"` }
type EVMVersion ¶
type EVMVersion string
EVMVersion represents the EVM version to compile for.
const ( EVMVersionPrague EVMVersion = "prague" EVMVersionCancun EVMVersion = "cancun" EVMVersionShanghai EVMVersion = "shanghai" EVMVersionParis EVMVersion = "paris" EVMVersionLondon EVMVersion = "london" EVMVersionBerlin EVMVersion = "berlin" EVMVersionIstanbul EVMVersion = "istanbul" EVMVersionPetersburg EVMVersion = "petersburg" EVMVersionByzantium EVMVersion = "byzantium" EVMVersionOsaka EVMVersion = "osaka" )
type Option ¶
type Option func(*Settings)
An Option configures the compilation Settings.
func WithEVMVersion ¶
func WithEVMVersion(evmVersion EVMVersion) Option
WithEVMVersion configures the compilation Settings to set the given EVM version.
func WithOptimizer ¶
WithOptimizer configures the compilation Settings to set the given Optimizer.
func WithRemappings ¶
WithRemappings configures the compilation Settings to set the remmappings options. Each remapping is in standard format {src}={dst}. Destination path needs to be absolute.
type Settings ¶
type Settings struct { Remappings []string `json:"remappings,omitempty"` Optimizer *Optimizer `json:"optimizer"` ViaIR bool `json:"viaIR,omitempty"` EVMVersion EVMVersion `json:"evmVersion"` OutputSelection map[string]map[string][]string `json:"outputSelection"` // contains filtered or unexported fields }
Settings for the compilation.
type Version ¶
type Version string
Version represents a solc version.
const ( Version0_5_0 Version = "0.5.0" Version0_5_1 Version = "0.5.1" Version0_5_2 Version = "0.5.2" Version0_5_3 Version = "0.5.3" Version0_5_4 Version = "0.5.4" Version0_5_5 Version = "0.5.5" Version0_5_6 Version = "0.5.6" Version0_5_7 Version = "0.5.7" Version0_5_8 Version = "0.5.8" Version0_5_9 Version = "0.5.9" Version0_5_10 Version = "0.5.10" Version0_5_11 Version = "0.5.11" Version0_5_12 Version = "0.5.12" Version0_5_13 Version = "0.5.13" Version0_5_14 Version = "0.5.14" Version0_5_15 Version = "0.5.15" Version0_5_16 Version = "0.5.16" Version0_5_17 Version = "0.5.17" Version0_6_0 Version = "0.6.0" Version0_6_1 Version = "0.6.1" Version0_6_2 Version = "0.6.2" Version0_6_3 Version = "0.6.3" Version0_6_4 Version = "0.6.4" Version0_6_5 Version = "0.6.5" Version0_6_6 Version = "0.6.6" Version0_6_7 Version = "0.6.7" Version0_6_8 Version = "0.6.8" Version0_6_9 Version = "0.6.9" Version0_6_10 Version = "0.6.10" Version0_6_11 Version = "0.6.11" Version0_6_12 Version = "0.6.12" Version0_7_0 Version = "0.7.0" Version0_7_1 Version = "0.7.1" Version0_7_2 Version = "0.7.2" Version0_7_3 Version = "0.7.3" Version0_7_4 Version = "0.7.4" Version0_7_5 Version = "0.7.5" Version0_7_6 Version = "0.7.6" Version0_8_0 Version = "0.8.0" Version0_8_1 Version = "0.8.1" Version0_8_2 Version = "0.8.2" Version0_8_3 Version = "0.8.3" Version0_8_4 Version = "0.8.4" Version0_8_5 Version = "0.8.5" Version0_8_6 Version = "0.8.6" Version0_8_7 Version = "0.8.7" Version0_8_8 Version = "0.8.8" Version0_8_9 Version = "0.8.9" Version0_8_10 Version = "0.8.10" Version0_8_11 Version = "0.8.11" Version0_8_12 Version = "0.8.12" Version0_8_13 Version = "0.8.13" Version0_8_14 Version = "0.8.14" Version0_8_15 Version = "0.8.15" Version0_8_16 Version = "0.8.16" Version0_8_17 Version = "0.8.17" Version0_8_18 Version = "0.8.18" Version0_8_19 Version = "0.8.19" Version0_8_20 Version = "0.8.20" Version0_8_21 Version = "0.8.21" Version0_8_22 Version = "0.8.22" Version0_8_23 Version = "0.8.23" Version0_8_24 Version = "0.8.24" Version0_8_25 Version = "0.8.25" Version0_8_26 Version = "0.8.26" Version0_8_27 Version = "0.8.27" Version0_8_28 Version = "0.8.28" Version0_8_29 Version = "0.8.29" Version0_8_30 Version = "0.8.30" // Latest version of solc. VersionLatest = Version0_8_30 )
Source Files
¶
Click to show internal directories.
Click to hide internal directories.