Description

Contributors

Work Started

Work Submitted

Work Paid

All Activity

Funder

Funder :

Email :

Add Skylark Rule For Abigen

prysmaticlabs

geth-sharding, prysmaticlabs, Go, Python, Solidity, Shell

```python
go_abi_library(
name = "my_contract_go_library",
srcs = [
"my_contract.sol",
],
# other options
)
# then this can be used as a go_library
go_library(
name = "go_default_library",
srcs = ["library.go"],
deps = [":my_contract_go_library"],
)
```
This involves writing the skylark rule which leverages the go-ethereum abigen and solidity compiler in the bazel toolchain to generate the go bindings and expose them as a go_library.
https://docs.bazel.build/versions/master/skylark/spec.html
The benefit here is that users will no longer need to regenerate the go-bindings when updating contracts and we can conform to the same version of solidity (solc) for this project.