Documentation
¶
Overview ¶
Package solc provides bindings for the Solidity compiler.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Versions []Version
Versions is a list of all available solc versions.
Functions ¶
Types ¶
type Compiler ¶
type Compiler struct {
// contains filtered or unexported fields
}
func (*Compiler) Compile ¶
Compile all contracts in the given directory and return the contract code of the contract with the given name.
func (*Compiler) MustCompile ¶
MustCompile is like Compiler.Compile but panics on error.
type Contract ¶
type Contract struct { Runtime []byte // The runtime bytecode of the contract. Constructor []byte // The constructor bytecode of the contract. Code []byte // Deprecated: The bytecode of the contract after deployment. DeployCode []byte // Deprecated: The bytecode to deploy the contract. }
Contract represents a compiled contract.
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 ¶ added in v0.3.3
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 ¶ added in v0.5.0
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 )