From 63ad6d538426373df57521729f0e4a6889e761c1 Mon Sep 17 00:00:00 2001 From: Rim Dinov Date: Sun, 21 Dec 2025 12:47:59 +0500 Subject: [PATCH 1/2] Update eigenda_client.go --- api/clients/eigenda_client.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/clients/eigenda_client.go b/api/clients/eigenda_client.go index 14f3b0267c..7e9a0ab900 100644 --- a/api/clients/eigenda_client.go +++ b/api/clients/eigenda_client.go @@ -30,6 +30,7 @@ type IEigenDAClient interface { GetBlob(ctx context.Context, batchHeaderHash []byte, blobIndex uint32) ([]byte, error) PutBlob(ctx context.Context, txData []byte) (*grpcdisperser.BlobInfo, error) GetCodec() codecs.BlobCodec + CheckConnectivity(ctx context.Context) error // <--- ДОБАВИТЬ ЭТУ СТРОКУ Close() error } @@ -82,7 +83,24 @@ func NewEigenDAClient(log logging.Logger, config EigenDAClientConfig) (*EigenDAC if err != nil { return nil, err } +func (m *EigenDAClient) CheckConnectivity(ctx context.Context) error { + m.Log.Info("Performing architectural connectivity checks...") + _, err := m.ethClient.BlockNumber(ctx) + if err != nil { + return fmt.Errorf("ethereum rpc unreachable: %w", err) + } + m.Log.Info("Ethereum RPC: Connected") + + _, err = m.Client.GetBlobStatus(ctx, make([]byte, 32)) + if err != nil { + + m.Log.Warn("EigenDA Disperser handshake check failed, but this might be expected for dummy ID", "err", err) + } + + m.Log.Info("All architectural connectivity guards passed") + return nil +} var ethClient *ethclient.Client var edasmCaller *edasm.ContractEigenDAServiceManagerCaller ethClient, err = geth.SafeDial(context.Background(), config.EthRpcUrl) From ffd52e3d71b4b5e285ecd2b98f8375d1cf06b795 Mon Sep 17 00:00:00 2001 From: Rim Dinov Date: Mon, 29 Dec 2025 11:31:20 +0500 Subject: [PATCH 2/2] Update eigenda_client.go --- api/clients/eigenda_client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/clients/eigenda_client.go b/api/clients/eigenda_client.go index 7e9a0ab900..b881eb2ee4 100644 --- a/api/clients/eigenda_client.go +++ b/api/clients/eigenda_client.go @@ -30,7 +30,7 @@ type IEigenDAClient interface { GetBlob(ctx context.Context, batchHeaderHash []byte, blobIndex uint32) ([]byte, error) PutBlob(ctx context.Context, txData []byte) (*grpcdisperser.BlobInfo, error) GetCodec() codecs.BlobCodec - CheckConnectivity(ctx context.Context) error // <--- ДОБАВИТЬ ЭТУ СТРОКУ + CheckConnectivity(ctx context.Context) error Close() error }