Skip to content

Commit 80d26a6

Browse files
committed
feat: update dependencies and improve Gaia GM health tests
1 parent 3327233 commit 80d26a6

4 files changed

Lines changed: 189 additions & 176 deletions

File tree

attester/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ toolchain go1.24.6
66

77
replace (
88
github.com/evstack/ev-abci => ../../../ev-abci
9-
// use local ev-node
109
github.com/evstack/ev-node => ../../../ev-node
1110
)
1211

tests/integration/gm_gaia_health_test.go

Lines changed: 108 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"os"
77
"os/exec"
88
"path/filepath"
9+
"strings"
910
"testing"
1011
"time"
1112

@@ -30,7 +31,7 @@ func TestGaiaGM_Health(t *testing.T) {
3031
repoRoot := projectRoot(t)
3132
ctx := context.Background()
3233

33-
evnodeVersion := getenvDefault("EVNODE_VERSION", "v1.0.0-beta.2.0.20250917144924-05372840f308")
34+
evnodeVersion := getenvDefault("EVNODE_VERSION", "v1.0.0-beta.4")
3435
igniteVersion := getenvDefault("IGNITE_VERSION", "v29.3.1")
3536
igniteEvolveApp := getenvDefault("IGNITE_EVOLVE_APP_VERSION", "main")
3637
celestiaAppVersion := getenvDefault("CELESTIA_APP_VERSION", "v4.0.10")
@@ -87,8 +88,9 @@ func TestGaiaGM_Health(t *testing.T) {
8788
WithImage(gmImg).
8889
WithChainID("gm").
8990
WithBinaryName("gmd").
90-
WithEnv("BLST_PORTABLE=1").
9191
WithAdditionalStartArgs(
92+
"--rollkit.node.aggregator",
93+
"--rollkit.da.address", "http://local-da:7980",
9294
"--rpc.laddr", "tcp://0.0.0.0:26757",
9395
"--grpc.address", "0.0.0.0:9190",
9496
"--api.enable",
@@ -97,18 +99,105 @@ func TestGaiaGM_Health(t *testing.T) {
9799
).
98100
WithNode(evd.NewNodeBuilder().
99101
WithAggregator(true).
100-
WithPostInit(func(ctx context.Context, node *evd.Node) error {
101-
clientToml := []byte("[client]\nnode = \"tcp://127.0.0.1:26757\"\n")
102-
return node.WriteFile(ctx, "config/client.toml", clientToml)
103-
}).
104102
Build()).
105103
Build(ctx)
106104
require.NoError(t, err)
107105

108106
require.NoError(t, chainA.Start(ctx))
109107

110108
gmNode := evChain.GetNodes()[0]
109+
110+
// Execute ignite evolve init (uses default home directory)
111+
gmNode.WithInitOverride(
112+
[]string{
113+
"ignite", "evolve", "init",
114+
},
115+
)
111116
require.NoError(t, gmNode.Init(ctx))
117+
118+
// Get the default gmd home directory
119+
gmHomeOut, _, err := gmNode.Exec(ctx, gmNode.Logger, []string{"gmd", "config", "home"}, nil)
120+
require.NoError(t, err)
121+
gmHome := strings.TrimSpace(string(gmHomeOut))
122+
123+
// Ensure client.toml has the correct RPC node (like init-gm.sh does)
124+
clientTomlPath := fmt.Sprintf("%s/config/client.toml", gmHome)
125+
clientTomlCmd := []string{"sh", "-c", fmt.Sprintf(`
126+
if [ -f "%s" ]; then
127+
sed -i 's|^node *=.*|node = "tcp://127.0.0.1:26757"|' "%s"
128+
else
129+
mkdir -p %s/config
130+
cat > "%s" <<'EOF'
131+
[client]
132+
node = "tcp://127.0.0.1:26757"
133+
EOF
134+
fi`, clientTomlPath, clientTomlPath, gmHome, clientTomlPath)}
135+
_, _, err = gmNode.Exec(ctx, gmNode.Logger, clientTomlCmd, nil)
136+
require.NoError(t, err)
137+
138+
// Add validator key using standard mnemonic
139+
mnemonic := "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
140+
141+
// Debug: Check what files exist before key creation
142+
t.Log("=== DEBUG: Checking files before key creation ===")
143+
lsBeforeCmd := []string{"sh", "-c", fmt.Sprintf("ls -la %s/ || echo 'directory does not exist'", gmHome)}
144+
lsBeforeOutput, _, _ := gmNode.Exec(ctx, gmNode.Logger, lsBeforeCmd, nil)
145+
t.Logf("Files in %s before key creation:\n%s", gmHome, string(lsBeforeOutput))
146+
147+
// Use exactly the same command format as init-gm.sh script
148+
// Echo mnemonic and pipe to gmd keys add with same parameter order as working script
149+
cmd := []string{"sh", "-c", fmt.Sprintf(`echo "%s" | gmd keys add validator --keyring-backend test --home %s --recover --hd-path "m/44'/118'/0'/0/0"`, mnemonic, gmHome)}
150+
keysAddOutput, keysAddStderr, err := gmNode.Exec(ctx, gmNode.Logger, cmd, nil)
151+
t.Logf("Keys add output:\nSTDOUT: %s\nSTDERR: %s", string(keysAddOutput), string(keysAddStderr))
152+
require.NoError(t, err)
153+
154+
// Debug: Check what files exist after key creation
155+
t.Log("=== DEBUG: Checking files after key creation ===")
156+
lsAfterCmd := []string{"sh", "-c", fmt.Sprintf("ls -la %s/ && echo '--- keyring files ---' && ls -la %s/keyring-test-* 2>/dev/null || echo 'no keyring files found'", gmHome, gmHome)}
157+
lsAfterOutput, _, _ := gmNode.Exec(ctx, gmNode.Logger, lsAfterCmd, nil)
158+
t.Logf("Files in %s after key creation:\n%s", gmHome, string(lsAfterOutput))
159+
160+
// Debug: Try to list keys first
161+
t.Log("=== DEBUG: Trying to list keys ===")
162+
listKeysCmd := []string{"gmd", "keys", "list", "--keyring-backend", "test", "--home", gmHome}
163+
listOutput, listStderr, listErr := gmNode.Exec(ctx, gmNode.Logger, listKeysCmd, nil)
164+
t.Logf("Keys list output:\nSTDOUT: %s\nSTDERR: %s\nError: %v", string(listOutput), string(listStderr), listErr)
165+
166+
// Extract validator address directly from keys add output since keys show might not work
167+
var validatorAddr string
168+
lines := strings.Split(string(keysAddOutput), "\n")
169+
for _, line := range lines {
170+
if strings.Contains(line, "address:") {
171+
// Extract address from "- address: gm19rl4cm2hmr8afy4kldpxz3fka4jguq0aj3w9ku"
172+
parts := strings.Split(strings.TrimSpace(line), " ")
173+
if len(parts) >= 2 {
174+
validatorAddr = parts[1]
175+
break
176+
}
177+
}
178+
}
179+
require.NotEmpty(t, validatorAddr, "Could not extract validator address from keys add output")
180+
t.Logf("Extracted validator address from keys add output: %s", validatorAddr)
181+
182+
// Try keys show anyway to see what happens
183+
t.Log("=== DEBUG: Trying keys show anyway ===")
184+
getAddrCmd := []string{"gmd", "keys", "show", "validator", "-a", "--keyring-backend", "test", "--home", gmHome}
185+
validatorAddrBytes, getAddrStderr, getAddrErr := gmNode.Exec(ctx, gmNode.Logger, getAddrCmd, nil)
186+
t.Logf("Keys show output:\nSTDOUT: %s\nSTDERR: %s\nError: %v", string(validatorAddrBytes), string(getAddrStderr), getAddrErr)
187+
188+
if getAddrErr == nil {
189+
showAddr := strings.TrimSpace(string(validatorAddrBytes))
190+
t.Logf("Keys show address: %s", showAddr)
191+
if showAddr != validatorAddr {
192+
t.Logf("WARNING: Address mismatch! keys add: %s, keys show: %s", validatorAddr, showAddr)
193+
}
194+
}
195+
196+
// Add genesis account
197+
addGenesisCmd := []string{"gmd", "--home", gmHome, "genesis", "add-genesis-account", validatorAddr, "100000000stake,10000token"}
198+
_, _, err = gmNode.Exec(ctx, gmNode.Logger, addGenesisCmd, nil)
199+
require.NoError(t, err)
200+
112201
require.NoError(t, gmNode.Start(ctx))
113202

114203
t.Log("Esperando celestia-app altura >= 1...")
@@ -139,15 +228,27 @@ func waitForHeight(t *testing.T, ctx context.Context, chain types.Chain, minHeig
139228
t.Helper()
140229
deadline := time.Now().Add(timeout)
141230
var last int64
231+
var lastErr error
142232
for time.Now().Before(deadline) {
143233
h, err := chain.Height(ctx)
144234
if err == nil && h >= minHeight {
235+
t.Logf("Successfully reached height %d", h)
145236
return
146237
}
238+
if err != nil {
239+
lastErr = err
240+
t.Logf("Error getting height: %v", err)
241+
} else {
242+
t.Logf("Current height: %d, waiting for: %d", h, minHeight)
243+
}
147244
last = h
148245
time.Sleep(3 * time.Second)
149246
}
150-
require.FailNowf(t, "height timeout", "chain did not reach height %d (last=%d) within %s", minHeight, last, timeout)
247+
if lastErr != nil {
248+
require.FailNowf(t, "height timeout", "chain did not reach height %d (last=%d) within %s, last error: %v", minHeight, last, timeout, lastErr)
249+
} else {
250+
require.FailNowf(t, "height timeout", "chain did not reach height %d (last=%d) within %s", minHeight, last, timeout)
251+
}
151252
}
152253

153254
func projectRoot(t *testing.T) string {

tests/integration/go.mod

Lines changed: 25 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
module github.com/evstack/ev-abci/tests/integration
22

3-
go 1.24.1
3+
go 1.24.6
44

55
require (
6-
github.com/celestiaorg/go-square/v2 v2.2.0 // indirect
76
github.com/celestiaorg/tastora v0.3.0
87
github.com/moby/moby v27.5.1+incompatible
9-
github.com/stretchr/testify v1.10.0
8+
github.com/stretchr/testify v1.11.1
109
go.uber.org/zap v1.27.0 // indirect
1110
)
1211

@@ -16,12 +15,10 @@ require (
1615
)
1716

1817
require (
18+
github.com/btcsuite/btcd/btcec/v2 v2.3.5 // indirect
19+
github.com/celestiaorg/go-square/v3 v3.0.0 // indirect
1920
github.com/golang/mock v1.6.0 // indirect
2021
github.com/google/orderedcode v0.0.1 // indirect
21-
github.com/google/uuid v1.6.0 // indirect
22-
github.com/grafana/otel-profiling-go v0.5.1 // indirect
23-
github.com/grafana/pyroscope-go v1.2.0 // indirect
24-
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect
2522
github.com/hashicorp/go-uuid v1.0.2 // indirect
2623
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
2724
github.com/ipfs/go-cid v0.5.0 // indirect
@@ -41,7 +38,6 @@ require (
4138
github.com/spaolacci/murmur3 v1.1.0 // indirect
4239
github.com/ugorji/go/codec v1.2.11 // indirect
4340
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 // indirect
44-
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0 // indirect
4541
lukechampine.com/blake3 v1.4.1 // indirect
4642
)
4743

@@ -61,29 +57,10 @@ require (
6157
github.com/BurntSushi/toml v1.5.0 // indirect
6258
github.com/DataDog/datadog-go v3.2.0+incompatible // indirect
6359
github.com/DataDog/zstd v1.5.5 // indirect
64-
github.com/Microsoft/go-winio v0.6.1 // indirect
60+
github.com/Microsoft/go-winio v0.6.2 // indirect
6561
github.com/avast/retry-go/v4 v4.6.1 // indirect
66-
github.com/aws/aws-sdk-go-v2 v1.36.1 // indirect
67-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.8 // indirect
68-
github.com/aws/aws-sdk-go-v2/config v1.29.6 // indirect
69-
github.com/aws/aws-sdk-go-v2/credentials v1.17.59 // indirect
70-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 // indirect
71-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 // indirect
72-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 // indirect
73-
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect
74-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.32 // indirect
75-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect
76-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.6.0 // indirect
77-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 // indirect
78-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.13 // indirect
79-
github.com/aws/aws-sdk-go-v2/service/s3 v1.76.1 // indirect
80-
github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 // indirect
81-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 // indirect
82-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 // indirect
83-
github.com/aws/smithy-go v1.22.2 // indirect
8462
github.com/beorn7/perks v1.0.1 // indirect
8563
github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect
86-
github.com/celestiaorg/nmt v0.23.0 // indirect
8764
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
8865
github.com/cespare/xxhash/v2 v2.3.0 // indirect
8966
github.com/cockroachdb/errors v1.11.3 // indirect
@@ -98,13 +75,13 @@ require (
9875
github.com/cosmos/btcutil v1.0.5 // indirect
9976
github.com/cosmos/cosmos-db v1.1.1 // indirect
10077
github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect
101-
github.com/cosmos/cosmos-sdk v0.50.9
78+
github.com/cosmos/cosmos-sdk v0.50.14
10279
github.com/cosmos/go-bip39 v1.0.0 // indirect
10380
github.com/cosmos/gogogateway v1.2.0 // indirect
10481
github.com/cosmos/gogoproto v1.7.0 // indirect
10582
github.com/cosmos/iavl v1.2.2 // indirect
10683
github.com/cosmos/ics23/go v0.11.0 // indirect
107-
github.com/cosmos/ledger-cosmos-go v0.14.0 // indirect
84+
github.com/cosmos/ledger-cosmos-go v0.15.0 // indirect
10885
github.com/danieljoos/wincred v1.1.2 // indirect
10986
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
11087
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
@@ -130,8 +107,8 @@ require (
130107
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
131108
github.com/gogo/googleapis v1.4.1 // indirect
132109
github.com/gogo/protobuf v1.3.2 // indirect
133-
github.com/golang/glog v1.2.4 // indirect
134-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
110+
github.com/golang/glog v1.2.5 // indirect
111+
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
135112
github.com/golang/protobuf v1.5.4 // indirect
136113
github.com/golang/snappy v0.0.4 // indirect
137114
github.com/google/btree v1.1.3 // indirect
@@ -177,12 +154,12 @@ require (
177154
github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect
178155
github.com/pkg/errors v0.9.1 // indirect
179156
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
180-
github.com/prometheus/client_golang v1.22.0 // indirect
157+
github.com/prometheus/client_golang v1.23.0 // indirect
181158
github.com/prometheus/client_model v0.6.2 // indirect
182-
github.com/prometheus/common v0.64.0 // indirect
159+
github.com/prometheus/common v0.65.0 // indirect
183160
github.com/prometheus/procfs v0.16.1 // indirect
184161
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
185-
github.com/rogpeppe/go-internal v1.13.1 // indirect
162+
github.com/rogpeppe/go-internal v1.14.1 // indirect
186163
github.com/rs/cors v1.11.1 // indirect
187164
github.com/rs/zerolog v1.33.0 // indirect
188165
github.com/sagikazarmark/locafero v0.4.0 // indirect
@@ -199,30 +176,27 @@ require (
199176
github.com/tendermint/go-amino v0.16.0 // indirect
200177
github.com/tidwall/btree v1.7.0 // indirect
201178
github.com/zondax/hid v0.9.2 // indirect
202-
github.com/zondax/ledger-go v0.14.3 // indirect
179+
github.com/zondax/ledger-go v1.0.0 // indirect
203180
go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect
204181
go.opencensus.io v0.24.0 // indirect
205182
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
206183
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
207184
go.opentelemetry.io/otel v1.37.0 // indirect
208185
go.opentelemetry.io/otel/metric v1.37.0 // indirect
209-
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
210186
go.opentelemetry.io/otel/trace v1.37.0 // indirect
211187
go.uber.org/multierr v1.11.0 // indirect
212-
golang.org/x/crypto v0.39.0 // indirect
188+
golang.org/x/crypto v0.41.0 // indirect
213189
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
214-
golang.org/x/mod v0.25.0 // indirect
215-
golang.org/x/net v0.41.0 // indirect
216-
golang.org/x/sync v0.15.0 // indirect
217-
golang.org/x/sys v0.33.0 // indirect
218-
golang.org/x/term v0.32.0 // indirect
219-
golang.org/x/text v0.26.0 // indirect
220-
golang.org/x/tools v0.34.0 // indirect
190+
golang.org/x/net v0.43.0 // indirect
191+
golang.org/x/sync v0.16.0 // indirect
192+
golang.org/x/sys v0.35.0 // indirect
193+
golang.org/x/term v0.34.0 // indirect
194+
golang.org/x/text v0.28.0 // indirect
221195
google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect
222-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
223-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
224-
google.golang.org/grpc v1.73.0
225-
google.golang.org/protobuf v1.36.6 // indirect
196+
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
197+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 // indirect
198+
google.golang.org/grpc v1.75.0
199+
google.golang.org/protobuf v1.36.9 // indirect
226200
gopkg.in/ini.v1 v1.67.0 // indirect
227201
gopkg.in/yaml.v3 v3.0.1 // indirect
228202
gotest.tools/v3 v3.5.2 // indirect
@@ -233,9 +207,9 @@ require (
233207

234208
replace (
235209
cosmossdk.io/x/upgrade => github.com/celestiaorg/cosmos-sdk/x/upgrade v0.1.0
236-
github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v1.56.1-tm-v0.38.17
237-
github.com/cosmos/cosmos-sdk => github.com/celestiaorg/cosmos-sdk v1.29.4-sdk-v0.50.14
210+
github.com/celestiaorg/tastora => ../../../tastora
238211
github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2
212+
239213
// goleveldb: canonical version
240214
github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
241215
// celestia-core(v0.34.x): used for multiplexing abci v1 requests

0 commit comments

Comments
 (0)