From 158df927651aff59d2307d73905932af1ded3ae5 Mon Sep 17 00:00:00 2001 From: Urix <43704209+uri-99@users.noreply.github.com> Date: Mon, 13 Jan 2025 18:52:44 -0300 Subject: [PATCH 1/3] feat: import 2 versions of eigensdk, and try both versions in NewAvsReaderFromConfig --- core/chainio/avs_reader.go | 41 +++++++++++++++++++++++++++++++------- go.mod | 5 ++++- go.sum | 2 ++ 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/core/chainio/avs_reader.go b/core/chainio/avs_reader.go index ae2ea0a9da..c9a4347b77 100644 --- a/core/chainio/avs_reader.go +++ b/core/chainio/avs_reader.go @@ -12,7 +12,9 @@ import ( contractERC20Mock "github.com/yetanotherco/aligned_layer/contracts/bindings/ERC20Mock" "github.com/yetanotherco/aligned_layer/core/config" - "github.com/Layr-Labs/eigensdk-go/chainio/clients" + eigenClients "github.com/Layr-Labs/eigensdk-go/chainio/clients" + eigenClientsV0113 "github.com/Layr-Labs/eigensdk-go-v0.1.13/chainio/clients" + sdkavsregistry "github.com/Layr-Labs/eigensdk-go/chainio/clients/avsregistry" "github.com/Layr-Labs/eigensdk-go/logging" ) @@ -25,8 +27,8 @@ type AvsReader struct { } func NewAvsReaderFromConfig(baseConfig *config.BaseConfig) (*AvsReader, error) { - - buildAllConfig := clients.BuildAllConfig{ + + buildAllConfig_v0113 := eigenClientsV0113.BuildAllConfig{ EthHttpUrl: baseConfig.EthRpcUrl, EthWsUrl: baseConfig.EthWsUrl, RegistryCoordinatorAddr: baseConfig.AlignedLayerDeploymentConfig.AlignedLayerRegistryCoordinatorAddr.String(), @@ -35,12 +37,37 @@ func NewAvsReaderFromConfig(baseConfig *config.BaseConfig) (*AvsReader, error) { PromMetricsIpPortAddress: baseConfig.EigenMetricsIpPortAddress, } - clients, err := clients.BuildReadClients(buildAllConfig, baseConfig.Logger) + clients_v0113, err := eigenClientsV0113.BuildReadClients(buildAllConfig_v0113, baseConfig.Logger) if err != nil { - return nil, err - } + // v0.1.13 failed, + // We build the V0.2.0-beta.1 clients + buildAllConfig := eigenClients.BuildAllConfig{ + EthHttpUrl: baseConfig.EthRpcUrl, + EthWsUrl: baseConfig.EthWsUrl, + RegistryCoordinatorAddr: baseConfig.AlignedLayerDeploymentConfig.AlignedLayerRegistryCoordinatorAddr.String(), + OperatorStateRetrieverAddr: baseConfig.AlignedLayerDeploymentConfig.AlignedLayerOperatorStateRetrieverAddr.String(), + AvsName: "AlignedLayer", + PromMetricsIpPortAddress: baseConfig.EigenMetricsIpPortAddress, + } + clients, err := eigenClients.BuildReadClients(buildAllConfig, baseConfig.Logger) + if err != nil { + return nil, err + } + chainReader := clients.AvsRegistryChainReader + + avsServiceBindings, err := NewAvsServiceBindings(baseConfig.AlignedLayerDeploymentConfig.AlignedLayerServiceManagerAddr, baseConfig.AlignedLayerDeploymentConfig.AlignedLayerOperatorStateRetrieverAddr, baseConfig.EthRpcClient, baseConfig.EthRpcClientFallback, baseConfig.Logger) + if err != nil { + return nil, err + } - chainReader := clients.AvsRegistryChainReader + return &AvsReader{ + ChainReader: chainReader, + AvsContractBindings: avsServiceBindings, + AlignedLayerServiceManagerAddr: baseConfig.AlignedLayerDeploymentConfig.AlignedLayerServiceManagerAddr, + logger: baseConfig.Logger, + }, nil + } + chainReader := clients_v0113.AvsRegistryChainReader avsServiceBindings, err := NewAvsServiceBindings(baseConfig.AlignedLayerDeploymentConfig.AlignedLayerServiceManagerAddr, baseConfig.AlignedLayerDeploymentConfig.AlignedLayerOperatorStateRetrieverAddr, baseConfig.EthRpcClient, baseConfig.EthRpcClientFallback, baseConfig.Logger) if err != nil { diff --git a/go.mod b/go.mod index 5fb347c132..73bd079846 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,16 @@ module github.com/yetanotherco/aligned_layer go 1.22.2 require ( - github.com/Layr-Labs/eigensdk-go v0.1.13 + github.com/Layr-Labs/eigensdk-go v0.2.0-beta.1 + github.com/Layr-Labs/eigensdk-go-v0.1.13 v0.1.13 github.com/ethereum/go-ethereum v1.14.0 github.com/prometheus/client_golang v1.19.1 github.com/urfave/cli/v2 v2.27.1 golang.org/x/crypto v0.22.0 ) +replace github.com/Layr-Labs/eigensdk-go-v0.1.13 => github.com/Layr-Labs/eigensdk-go v0.1.13 + require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 github.com/cenkalti/backoff/v4 v4.3.0 diff --git a/go.sum b/go.sum index ec49688fb8..8eaf0358ca 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Layr-Labs/eigensdk-go v0.1.13 h1:llaDZW52AgrezJUpfqCzzgYuf47DK1HUOQLnI3jcVrA= github.com/Layr-Labs/eigensdk-go v0.1.13/go.mod h1:aYdNURUhaqeYOS+Cq12TfSdPbjFfiLaHkxPdR4Exq/s= +github.com/Layr-Labs/eigensdk-go v0.2.0-beta.1 h1:vW7AKcvt7fGlIeOMl2Ft9Au/ib8Z9ush8fSrpFSVr10= +github.com/Layr-Labs/eigensdk-go v0.2.0-beta.1/go.mod h1:G4yqiK+5NfUuEMVGGncOEm7QskuGRPmKA7bKxpPzPT4= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= From 39b5a42d0c30ea0e363dbf038e0ed8e4465e09cb Mon Sep 17 00:00:00 2001 From: Urix <43704209+uri-99@users.noreply.github.com> Date: Mon, 13 Jan 2025 18:58:34 -0300 Subject: [PATCH 2/3] chore: warning log when using the other version --- core/chainio/avs_reader.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/chainio/avs_reader.go b/core/chainio/avs_reader.go index c9a4347b77..0658bda0a2 100644 --- a/core/chainio/avs_reader.go +++ b/core/chainio/avs_reader.go @@ -8,12 +8,13 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" ethcommon "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/log" servicemanager "github.com/yetanotherco/aligned_layer/contracts/bindings/AlignedLayerServiceManager" contractERC20Mock "github.com/yetanotherco/aligned_layer/contracts/bindings/ERC20Mock" "github.com/yetanotherco/aligned_layer/core/config" - eigenClients "github.com/Layr-Labs/eigensdk-go/chainio/clients" eigenClientsV0113 "github.com/Layr-Labs/eigensdk-go-v0.1.13/chainio/clients" + eigenClients "github.com/Layr-Labs/eigensdk-go/chainio/clients" sdkavsregistry "github.com/Layr-Labs/eigensdk-go/chainio/clients/avsregistry" "github.com/Layr-Labs/eigensdk-go/logging" @@ -39,6 +40,7 @@ func NewAvsReaderFromConfig(baseConfig *config.BaseConfig) (*AvsReader, error) { clients_v0113, err := eigenClientsV0113.BuildReadClients(buildAllConfig_v0113, baseConfig.Logger) if err != nil { + log.Warn("Failed to build v0.1.13 clients, trying to build v0.2.0-beta.1 clients", "err", err) // v0.1.13 failed, // We build the V0.2.0-beta.1 clients buildAllConfig := eigenClients.BuildAllConfig{ From 6eee157c3a5d6bde49d631237c0c59d327242dc7 Mon Sep 17 00:00:00 2001 From: Urix <43704209+uri-99@users.noreply.github.com> Date: Tue, 14 Jan 2025 11:25:44 -0300 Subject: [PATCH 3/3] chore: comments and logs --- core/chainio/avs_reader.go | 5 ++--- go.mod | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/chainio/avs_reader.go b/core/chainio/avs_reader.go index 0658bda0a2..223ad821b9 100644 --- a/core/chainio/avs_reader.go +++ b/core/chainio/avs_reader.go @@ -8,7 +8,6 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" ethcommon "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/log" servicemanager "github.com/yetanotherco/aligned_layer/contracts/bindings/AlignedLayerServiceManager" contractERC20Mock "github.com/yetanotherco/aligned_layer/contracts/bindings/ERC20Mock" "github.com/yetanotherco/aligned_layer/core/config" @@ -28,7 +27,7 @@ type AvsReader struct { } func NewAvsReaderFromConfig(baseConfig *config.BaseConfig) (*AvsReader, error) { - + buildAllConfig_v0113 := eigenClientsV0113.BuildAllConfig{ EthHttpUrl: baseConfig.EthRpcUrl, EthWsUrl: baseConfig.EthWsUrl, @@ -40,7 +39,7 @@ func NewAvsReaderFromConfig(baseConfig *config.BaseConfig) (*AvsReader, error) { clients_v0113, err := eigenClientsV0113.BuildReadClients(buildAllConfig_v0113, baseConfig.Logger) if err != nil { - log.Warn("Failed to build v0.1.13 clients, trying to build v0.2.0-beta.1 clients", "err", err) + baseConfig.Logger.Warn("Failed to build v0.1.13 clients, trying to build v0.2.0-beta.1 clients", "err", err) // v0.1.13 failed, // We build the V0.2.0-beta.1 clients buildAllConfig := eigenClients.BuildAllConfig{ diff --git a/go.mod b/go.mod index 73bd079846..be854862e4 100644 --- a/go.mod +++ b/go.mod @@ -4,13 +4,14 @@ go 1.22.2 require ( github.com/Layr-Labs/eigensdk-go v0.2.0-beta.1 - github.com/Layr-Labs/eigensdk-go-v0.1.13 v0.1.13 + github.com/Layr-Labs/eigensdk-go-v0.1.13 v0.1.13 // We make GO believe this library exists github.com/ethereum/go-ethereum v1.14.0 github.com/prometheus/client_golang v1.19.1 github.com/urfave/cli/v2 v2.27.1 golang.org/x/crypto v0.22.0 ) +// And we make a replace of it to a specific version. replace github.com/Layr-Labs/eigensdk-go-v0.1.13 => github.com/Layr-Labs/eigensdk-go v0.1.13 require (