Documentation ¶
Overview ¶
Package compiler wraps the Solidity and Vyper compiler executables (ylem; vyper).
Package compiler wraps the Solidity and Vyper compiler executables (ylem; vyper).
Package compiler wraps the Solidity and Vyper compiler executables (ylem; vyper).
Index ¶
- func CompileVyper(vyper string, sourcefiles ...string) (map[string]*Contract, error)
- func CompileYlem(ylem string, sourcefiles ...string) (map[string]*Contract, error)
- func CompileYlemString(ylem, source string) (map[string]*Contract, error)
- func ParseCombinedJSON(combinedJSON []byte, source string, languageVersion string, ...) (map[string]*Contract, error)
- func ParseVyperJSON(combinedJSON []byte, source string, languageVersion string, ...) (map[string]*Contract, error)
- type Contract
- type ContractInfo
- type Solidity
- type Vyper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompileVyper ¶
CompileVyper compiles all given Vyper source files.
func CompileYlem ¶ added in v1.0.48
CompileYlem compiles all given Solidity source files.
func CompileYlemString ¶ added in v1.0.48
CompileYlemString builds and returns all the contracts contained within a source string.
func ParseCombinedJSON ¶
func ParseCombinedJSON(combinedJSON []byte, source string, languageVersion string, compilerVersion string, compilerOptions string) (map[string]*Contract, error)
ParseCombinedJSON takes the direct output of a ylem --combined-output run and parses it into a map of string contract name to Contract structs. The provided source, language and compiler version, and compiler options are all passed through into the Contract structs.
The ylem output is expected to contain ABI, source mapping, user docs, and dev docs.
Returns an error if the JSON is malformed or missing data, or if the JSON embedded within the JSON is malformed.
func ParseVyperJSON ¶
func ParseVyperJSON(combinedJSON []byte, source string, languageVersion string, compilerVersion string, compilerOptions string) (map[string]*Contract, error)
ParseVyperJSON takes the direct output of a vyper --f combined_json run and parses it into a map of string contract name to Contract structs. The provided source, language and compiler version, and compiler options are all passed through into the Contract structs.
The vyper output is expected to contain ABI and source mapping.
Returns an error if the JSON is malformed or missing data, or if the JSON embedded within the JSON is malformed.
Types ¶
type Contract ¶
type Contract struct { Code string `json:"code"` RuntimeCode string `json:"runtime-code"` Info ContractInfo `json:"info"` Hashes map[string]string `json:"hashes"` }
Contract contains information about a compiled contract, alongside its code and runtime code.
type ContractInfo ¶
type ContractInfo struct { Source string `json:"source"` Language string `json:"language"` LanguageVersion string `json:"languageVersion"` CompilerVersion string `json:"compilerVersion"` CompilerOptions string `json:"compilerOptions"` SrcMap interface{} `json:"srcMap"` SrcMapRuntime string `json:"srcMapRuntime"` AbiDefinition interface{} `json:"abiDefinition"` UserDoc interface{} `json:"userDoc"` DeveloperDoc interface{} `json:"developerDoc"` Metadata string `json:"metadata"` }
ContractInfo contains information about a compiled contract, including access to the ABI definition, source mapping, user and developer docs, and metadata.
Depending on the source, language version, compiler version, and compiler options will provide information about how the contract was compiled.
type Solidity ¶
Solidity contains information about the solidity compiler.
func SolidityVersion ¶
SolidityVersion runs ylem and parses its version output.