From 39ea138b0b67b2f33c382747e86d3acc8ed20476 Mon Sep 17 00:00:00 2001 From: Francisco de Borja Aranda Castillejo Date: Mon, 23 Dec 2024 14:06:42 +0100 Subject: [PATCH] chore: pin abigen version (#353) Pin the abigen version, so generated golang code is deterministically generated. Different versions could introduce changes, and we should avoid pushing generated code with different versions. ## Summary by CodeRabbit - **New Features** - Introduced version pinning for the `abigen` tool to ensure consistent installation. - Added a version check for `abigen` to verify installation integrity. - **Bug Fixes** - Removed the installation command for the `abigen` tool from the script, streamlining the installation process. --- dev/up | 12 +++++++++++- dev/update-tools | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/dev/up b/dev/up index 81a2f4a0..b7675457 100755 --- a/dev/up +++ b/dev/up @@ -12,9 +12,19 @@ if ! which mockery &>/dev/null; then go install github.com/vektra/mockery/v2; fi if ! which sqlc &> /dev/null; then go install github.com/sqlc-dev/sqlc/cmd/sqlc; fi if ! which buf &> /dev/null; then go install github.com/bufbuild/buf/cmd/buf; fi if ! which golines &>/dev/null; then go install github.com/segmentio/golines@latest; fi -if ! which abigen &>/dev/null; then go install github.com/ethereum/go-ethereum/cmd/abigen; fi if ! which jq &>/dev/null; then brew install jq; fi +# Pin abigen version at can introduce breaking changes between releases, rendering different ABIs. +if ! which abigen &>/dev/null; then + go install github.com/ethereum/go-ethereum/cmd/abigen@v1.14.12 +fi + +abigen_version=$(abigen --version | awk '{print $3}') +if [[ ${abigen_version} != "1.14.12-stable" ]]; then + echo "ERROR: abigen version is not 1.14.12. Please install the correct version." + exit 1 +fi + dev/docker/up dev/contracts/deploy-local dev/register-local-node diff --git a/dev/update-tools b/dev/update-tools index da32b8ab..52a4f57b 100755 --- a/dev/update-tools +++ b/dev/update-tools @@ -6,6 +6,5 @@ go mod tidy go install github.com/vektra/mockery/v2 go install github.com/sqlc-dev/sqlc/cmd/sqlc go install github.com/segmentio/golines@latest -go install github.com/ethereum/go-ethereum/cmd/abigen go install github.com/golang-migrate/migrate/v4/cmd/migrate go install github.com/bufbuild/buf/cmd/buf \ No newline at end of file