Documentation ¶
Overview ¶
package gethwrappers provides infrastructure for generating and verifying go-ethereum wrapper packages for smart contracts. See go_generate.go for more information.
Package gethwrappers provides tools for wrapping solidity contracts with golang packages, using abigen.
Example (BoxOutput) ¶
fmt.Println() fmt.Print(boxOutput("%s is %d", "foo", 17))
Output: ↘↓↓↓↓↓↓↓↓↓↓↓↓↓↙ → ← → README ← → ← → foo is 17 ← → ← → README ← → ← ↗↑↑↑↑↑↑↑↑↑↑↑↑↑↖
Index ¶
- func Abigen(a AbigenArgs)
- func CopyLog(l types.Log) types.Log
- func Exit(msg string, err error)
- func GetProjectRoot() (rootPath string)
- func ImproveAbigenOutput(path string, abiPath string)
- func TempDir(dirPrefix string) (string, func())
- func VersionHash(abiPath string, binPath string) (hash string)
- func WriteVersionsDB(db *IntegratedVersion) error
- type AbigenArgs
- type ContractVersion
- type IntegratedVersion
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Abigen ¶
func Abigen(a AbigenArgs)
Abigen calls Abigen with the given arguments
It might seem like a shame, to shell out to another golang program like this, but the abigen executable is the stable public interface to the geth contract-wrapper machinery.
Check whether native abigen is installed, and has correct version
func GetProjectRoot ¶
func GetProjectRoot() (rootPath string)
GetProjectRoot returns the root of the chainlink project
func ImproveAbigenOutput ¶
func VersionHash ¶
VersionHash is the hash used to detect changes in the underlying contract
func WriteVersionsDB ¶
func WriteVersionsDB(db *IntegratedVersion) error
Types ¶
type AbigenArgs ¶
type AbigenArgs struct {
Bin, ABI, Out, Type, Pkg string
}
AbigenArgs is the arguments to the abigen executable. E.g., Bin is the -bin arg.
type ContractVersion ¶
type ContractVersion struct { // Hash of the artifact at the timem the wrapper was last generated Hash string // Path to compiled abi file AbiPath string // Path to compiled bin file (if exists, this can be empty) BinaryPath string }
ContractVersion records information about the solidity compiler artifact a golang contract wrapper package depends on.
type IntegratedVersion ¶
type IntegratedVersion struct { // Version of geth last used to generate the wrappers GethVersion string // { golang-pkg-name: version_info } ContractVersions map[string]ContractVersion }
IntegratedVersion carries the full versioning information checked in this test
func ReadVersionsDB ¶
func ReadVersionsDB() (*IntegratedVersion, error)
readVersionsDB populates an IntegratedVersion with all the info in the versions DB