diff --git a/.github/workflows/go-ci.yml b/.github/workflows/go-ci.yml index 12abd7c26..4f3f12106 100644 --- a/.github/workflows/go-ci.yml +++ b/.github/workflows/go-ci.yml @@ -145,7 +145,7 @@ jobs: integration_test: name: Integration Tests -# needs: [go_mod_tidy_check, lint, lint-imports, test_coverage] # TODO(chatton): re-enable dependency on lint + needs: [go_mod_tidy_check, lint, lint-imports, test_coverage] uses: ./.github/workflows/integration-tests.yml with: go-version: ${{ inputs.go-version }} diff --git a/api/rpc_test.go b/api/rpc_test.go index e8f2de96e..627ff4755 100644 --- a/api/rpc_test.go +++ b/api/rpc_test.go @@ -2,13 +2,13 @@ package api import ( "context" - "cosmossdk.io/math" "encoding/json" "reflect" "strconv" "testing" "time" + "cosmossdk.io/math" "github.com/cristalhq/jwt/v5" "github.com/golang/mock/gomock" "github.com/libp2p/go-libp2p/core/network" diff --git a/core/eds.go b/core/eds.go index 12c155c98..3ffb31219 100644 --- a/core/eds.go +++ b/core/eds.go @@ -3,10 +3,10 @@ package core import ( "context" "fmt" - coretypes "github.com/cometbft/cometbft/types" "time" - "github.com/celestiaorg/celestia-app/v4/app" + coretypes "github.com/cometbft/cometbft/types" + "github.com/celestiaorg/celestia-app/v4/pkg/appconsts" "github.com/celestiaorg/celestia-app/v4/pkg/wrapper" libsquare "github.com/celestiaorg/go-square/v2" @@ -20,18 +20,24 @@ import ( "github.com/celestiaorg/celestia-node/store" ) +// isEmptyBlockRef returns true if the application considers the given block data +// empty at a given version. +func isEmptyBlockRef(data *coretypes.Data) bool { + return len(data.Txs) == 0 +} + // extendBlock extends the given block data, returning the resulting // ExtendedDataSquare (EDS). If there are no transactions in the block, // nil is returned in place of the eds. -func extendBlock(data *coretypes.Data, appVersion uint64, options ...nmt.Option) (*rsmt2d.ExtendedDataSquare, error) { - if app.IsEmptyBlockRef(data, appVersion) { +func extendBlock(data *coretypes.Data, options ...nmt.Option) (*rsmt2d.ExtendedDataSquare, error) { + if isEmptyBlockRef(data) { return share.EmptyEDS(), nil } // Construct the data square from the block's transactions square, err := libsquare.Construct( data.Txs.ToSliceOfBytes(), - appconsts.DefaultSquareSizeUpperBound, + appconsts.SquareSizeUpperBound, appconsts.SubtreeRootThreshold, ) if err != nil { diff --git a/core/eds_test.go b/core/eds_test.go index e29763916..8ce9541de 100644 --- a/core/eds_test.go +++ b/core/eds_test.go @@ -4,13 +4,9 @@ import ( "testing" "github.com/cometbft/cometbft/types" - coretypes "github.com/cometbft/cometbft/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/celestiaorg/celestia-app/v4/app" - "github.com/celestiaorg/celestia-app/v4/pkg/appconsts" - "github.com/celestiaorg/celestia-node/share" ) @@ -18,12 +14,12 @@ import ( // txs) will be recognized as empty and return nil from `extendBlock` so that // we do not redundantly store empty EDSes. func TestTrulyEmptySquare(t *testing.T) { - data := coretypes.Data{ + data := types.Data{ Txs: []types.Tx{}, SquareSize: 1, } - eds, err := extendBlock(&data, appconsts.LatestVersion) + eds, err := extendBlock(&data) require.NoError(t, err) require.True(t, eds.Equals(share.EmptyEDS())) } @@ -35,17 +31,18 @@ func TestTrulyEmptySquare(t *testing.T) { // square size do not allow for empty block data. However, should that ever // occur, we need to ensure that the correct data root is generated. func TestEmptySquareWithZeroTxs(t *testing.T) { - data := coretypes.Data{ - Txs: []coretypes.Tx{}, + data := types.Data{ + Txs: []types.Tx{}, } - eds, err := extendBlock(&data, appconsts.LatestVersion) + eds, err := extendBlock(&data) require.NoError(t, err) require.True(t, eds.Equals(share.EmptyEDS())) // force extend the square using an empty block and compare with the min DAH - eds, err = app.ExtendBlock(data) - require.NoError(t, err) + // TODO(chatton): app.ExtendBlock was removed, can we delete? + // eds, err = app.ExtendBlock(data) + // require.NoError(t, err) roots, err := share.NewAxisRoots(eds) require.NoError(t, err) diff --git a/core/exchange.go b/core/exchange.go index 4343d683c..d10e2e806 100644 --- a/core/exchange.go +++ b/core/exchange.go @@ -132,7 +132,7 @@ func (ce *Exchange) Get(ctx context.Context, hash libhead.Hash) (*header.Extende return nil, fmt.Errorf("fetching block info for height %d: %w", &block.Height, err) } - eds, err := extendBlock(&block.Data, block.Header.Version.App) + eds, err := extendBlock(&block.Data) if err != nil { return nil, fmt.Errorf("extending block data for height %d: %w", &block.Height, err) } @@ -170,7 +170,7 @@ func (ce *Exchange) getExtendedHeaderByHeight(ctx context.Context, height int64) } log.Debugw("fetched signed block from core", "height", b.Header.Height) - eds, err := extendBlock(b.Data, b.Header.Version.App) + eds, err := extendBlock(b.Data) if err != nil { return nil, fmt.Errorf("extending block data for height %d: %w", b.Header.Height, err) } diff --git a/core/exchange_test.go b/core/exchange_test.go index f28158526..d90d9d74f 100644 --- a/core/exchange_test.go +++ b/core/exchange_test.go @@ -3,7 +3,7 @@ package core import ( "bytes" "context" - "github.com/celestiaorg/celestia-node/internal" + "net" "testing" "time" @@ -166,7 +166,7 @@ func TestExchange_StoreHistoricIfArchival(t *testing.T) { assert.True(t, has) // ensure .q4 file was not stored if not IsEmptyEDS - // TODO(chatton): verify if this is the correct behaviour. Does the added WaitForHeight + // TODO(chatton): verify if this is the correct behavior. Does the added WaitForHeight // make it so there are some headers that are not empty and so a different code path is followed? has, err = store.HasQ4ByHash(ctx, h.DAH.Hash()) require.NoError(t, err) @@ -180,10 +180,9 @@ func createCoreFetcher(t *testing.T, cfg *testnode.Config) (*BlockFetcher, testn // flakiness with accessing account state) _, err := cctx.WaitForHeightWithTimeout(2, time.Second*2) // TODO @renaynay: configure? require.NoError(t, err) - - client, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) + host, port, err := net.SplitHostPort(cctx.GRPCClient.Target()) require.NoError(t, err) - + client := newTestClient(t, host, port) fetcher, err := NewBlockFetcher(client) require.NoError(t, err) return fetcher, cctx diff --git a/core/fetcher.go b/core/fetcher.go index f541984a1..dd722917a 100644 --- a/core/fetcher.go +++ b/core/fetcher.go @@ -31,13 +31,13 @@ var ( ) type BlockFetcher struct { - client coregrpc.BlockAPIServiceClient + client coregrpc.BlockAPIClient } // NewBlockFetcher returns a new `BlockFetcher`. func NewBlockFetcher(conn *grpc.ClientConn) (*BlockFetcher, error) { return &BlockFetcher{ - client: coregrpc.NewBlockAPIServiceClient(conn), + client: coregrpc.NewBlockAPIClient(conn), }, nil } @@ -179,7 +179,7 @@ func (f *BlockFetcher) SubscribeNewBlockEvent(ctx context.Context) (chan types.E func (f *BlockFetcher) receive( ctx context.Context, signedBlockCh chan types.EventDataSignedBlock, - subscription coregrpc.BlockAPIService_SubscribeNewHeightsClient, + subscription coregrpc.BlockAPI_SubscribeNewHeightsClient, ) error { log.Debug("fetcher: started listening for new blocks") for { @@ -221,7 +221,7 @@ func (f *BlockFetcher) IsSyncing(ctx context.Context) (bool, error) { return resp.SyncInfo.CatchingUp, nil } -func receiveBlockByHeight(streamer coregrpc.BlockAPIService_BlockByHeightClient) ( +func receiveBlockByHeight(streamer coregrpc.BlockAPI_BlockByHeightClient) ( *SignedBlock, error, ) { @@ -264,7 +264,7 @@ func receiveBlockByHeight(streamer coregrpc.BlockAPIService_BlockByHeightClient) }, nil } -func receiveBlockByHash(streamer coregrpc.BlockAPIService_BlockByHashClient) (*types.Block, error) { +func receiveBlockByHash(streamer coregrpc.BlockAPI_BlockByHashClient) (*types.Block, error) { parts := make([]*tmproto.Part, 0) isLast := false for !isLast { diff --git a/core/fetcher_no_race_test.go b/core/fetcher_no_race_test.go index bb8425743..50abb4a7e 100644 --- a/core/fetcher_no_race_test.go +++ b/core/fetcher_no_race_test.go @@ -4,7 +4,7 @@ package core import ( "context" - "github.com/celestiaorg/celestia-node/internal" + "net" "testing" "time" @@ -19,10 +19,10 @@ func TestBlockFetcherHeaderValues(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), time.Second*15) t.Cleanup(cancel) - cfg := DefaultTestConfig() - StartTestNodeWithConfig(t, cfg) - client, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) + node := StartTestNode(t) + host, port, err := net.SplitHostPort(node.GRPCClient.Target()) require.NoError(t, err) + client := newTestClient(t, host, port) fetcher, err := NewBlockFetcher(client) require.NoError(t, err) newBlockChan, err := fetcher.SubscribeNewBlockEvent(ctx) diff --git a/core/fetcher_test.go b/core/fetcher_test.go index 82002bbd0..dec07d81a 100644 --- a/core/fetcher_test.go +++ b/core/fetcher_test.go @@ -2,7 +2,7 @@ package core import ( "context" - "github.com/celestiaorg/celestia-node/internal" + "net" "testing" "time" @@ -14,9 +14,9 @@ func TestBlockFetcher_GetBlock_and_SubscribeNewBlockEvent(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), time.Second*15) t.Cleanup(cancel) - cfg := DefaultTestConfig() - StartTestNodeWithConfig(t, cfg) - client, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) + host, port, err := net.SplitHostPort(StartTestNode(t).GRPCClient.Target()) + require.NoError(t, err) + client := newTestClient(t, host, port) fetcher, err := NewBlockFetcher(client) require.NoError(t, err) // generate some blocks @@ -49,8 +49,9 @@ func TestFetcher_Resubscription(t *testing.T) { cfg := DefaultTestConfig() tn := NewNetwork(t, cfg) require.NoError(t, tn.Start()) - client, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) + host, port, err := net.SplitHostPort(tn.GRPCClient.Target()) require.NoError(t, err) + client := newTestClient(t, host, port) fetcher, err := NewBlockFetcher(client) require.NoError(t, err) @@ -84,15 +85,6 @@ func TestFetcher_Resubscription(t *testing.T) { // on the same address and listen for the new blocks tn = NewNetwork(t, cfg) require.NoError(t, tn.Start()) - - // TODO(chatton): verify the test is still testing what it was originally testing. - client, err = internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) - require.NoError(t, err) - fetcher, err = NewBlockFetcher(client) - require.NoError(t, err) - newBlockChan, err = fetcher.SubscribeNewBlockEvent(ctx) - require.NoError(t, err) - select { case newBlockFromChan := <-newBlockChan: h := newBlockFromChan.Header.Height diff --git a/core/header_test.go b/core/header_test.go index fa5dea96d..6d5d92c22 100644 --- a/core/header_test.go +++ b/core/header_test.go @@ -3,7 +3,7 @@ package core import ( "context" "fmt" - "github.com/celestiaorg/celestia-node/internal" + "net" "testing" "github.com/cometbft/cometbft/libs/rand" @@ -21,12 +21,9 @@ func TestMakeExtendedHeaderForEmptyBlock(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) t.Cleanup(cancel) - cfg := DefaultTestConfig() - StartTestNodeWithConfig(t, cfg) - - client, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) - + host, port, err := net.SplitHostPort(StartTestNode(t).GRPCClient.Target()) require.NoError(t, err) + client := newTestClient(t, host, port) fetcher, err := NewBlockFetcher(client) require.NoError(t, err) sub, err := fetcher.SubscribeNewBlockEvent(ctx) @@ -40,7 +37,7 @@ func TestMakeExtendedHeaderForEmptyBlock(t *testing.T) { comm, val, err := fetcher.GetBlockInfo(ctx, height) require.NoError(t, err) - eds, err := extendBlock(b.Data, b.Header.Version.App) + eds, err := extendBlock(b.Data) require.NoError(t, err) headerExt, err := header.MakeExtendedHeader(b.Header, comm, val, eds) diff --git a/core/listener.go b/core/listener.go index 546544012..2b7236f7d 100644 --- a/core/listener.go +++ b/core/listener.go @@ -177,7 +177,7 @@ func (cl *Listener) handleNewSignedBlock(ctx context.Context, b types.EventDataS attribute.Int64("height", b.Header.Height), ) - eds, err := extendBlock(&b.Data, b.Header.Version.App) + eds, err := extendBlock(&b.Data) if err != nil { return fmt.Errorf("extending block data: %w", err) } diff --git a/core/testing.go b/core/testing.go index ea1e6e2eb..97fea5dd0 100644 --- a/core/testing.go +++ b/core/testing.go @@ -2,18 +2,25 @@ package core import ( "context" - sdklog "cosmossdk.io/log" + "net" "path/filepath" "testing" "time" - "github.com/celestiaorg/celestia-app/v4/test/util/genesis" - "github.com/celestiaorg/celestia-app/v4/test/util/testnode" + sdklog "cosmossdk.io/log" tmrand "github.com/cometbft/cometbft/libs/rand" "github.com/cometbft/cometbft/node" cmthttp "github.com/cometbft/cometbft/rpc/client/http" srvtypes "github.com/cosmos/cosmos-sdk/server/types" + grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry" "github.com/stretchr/testify/require" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/credentials/insecure" + + "github.com/celestiaorg/celestia-app/v4/test/util/genesis" + "github.com/celestiaorg/celestia-app/v4/test/util/testnode" ) const chainID = "private" @@ -77,6 +84,37 @@ func generateRandomAccounts(n int) []string { return accounts } +func newTestClient(t *testing.T, ip, port string) *grpc.ClientConn { + t.Helper() + + retryInterceptor := grpc_retry.UnaryClientInterceptor( + grpc_retry.WithMax(5), + grpc_retry.WithCodes(codes.Unavailable), + grpc_retry.WithBackoff( + grpc_retry.BackoffExponentialWithJitter(time.Second, 2.0)), + ) + retryStreamInterceptor := grpc_retry.StreamClientInterceptor( + grpc_retry.WithMax(5), + grpc_retry.WithCodes(codes.Unavailable), + grpc_retry.WithBackoff( + grpc_retry.BackoffExponentialWithJitter(time.Second, 2.0)), + ) + + opts := []grpc.DialOption{ + grpc.WithUnaryInterceptor(retryInterceptor), + grpc.WithStreamInterceptor(retryStreamInterceptor), + grpc.WithTransportCredentials(insecure.NewCredentials()), + } + endpoint := net.JoinHostPort(ip, port) + client, err := grpc.NewClient(endpoint, opts...) + require.NoError(t, err) + ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) + t.Cleanup(cancel) + ready := client.WaitForStateChange(ctx, connectivity.Ready) + require.True(t, ready) + return client +} + // Network wraps `testnode.Context` allowing to manually stop all underlying connections. // TODO @vgonkivs: remove after https://github.com/celestiaorg/celestia-app/issues/4304 is done. type Network struct { @@ -84,6 +122,7 @@ type Network struct { config *testnode.Config app srvtypes.Application tmNode *node.Node + logger sdklog.Logger stopNode func() error stopGRPC func() error @@ -119,6 +158,7 @@ func NewNetwork(t testing.TB, config *testnode.Config) *Network { config: config, app: app, tmNode: tmNode, + logger: sdklog.NewTestLogger(t), } } @@ -128,8 +168,12 @@ func (n *Network) Start() error { return err } - // TODO: put a real logger - grpcSrv, cctx, cleanupGRPC, err := testnode.StartGRPCServer(sdklog.NewNopLogger(), n.app, n.config.AppConfig, cctx) + coreEnv, err := n.tmNode.ConfigureRPC() + if err != nil { + return err + } + + grpcSrv, cctx, cleanupGRPC, err := testnode.StartGRPCServer(n.logger, n.app, n.config.AppConfig, cctx, coreEnv) if err != nil { return err } diff --git a/go.mod b/go.mod index 090f2a45e..bd2c484b0 100644 --- a/go.mod +++ b/go.mod @@ -3,14 +3,14 @@ module github.com/celestiaorg/celestia-node go 1.23.6 require ( - cosmossdk.io/log v1.5.0 - cosmossdk.io/math v1.5.0 - cosmossdk.io/store v1.1.1 + cosmossdk.io/log v1.5.1 + cosmossdk.io/math v1.5.3 + cosmossdk.io/store v1.1.2 cosmossdk.io/x/feegrant v0.1.1 github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c github.com/alecthomas/jsonschema v0.0.0-20220216202328-9eeeec9d044b github.com/benbjohnson/clock v1.3.5 - github.com/celestiaorg/celestia-app/v4 v4.0.0 + github.com/celestiaorg/celestia-app/v4 v4.0.0-20250415151309-5138040df8a7 github.com/celestiaorg/go-fraud v0.2.1 github.com/celestiaorg/go-header v0.6.4 github.com/celestiaorg/go-libp2p-messenger v0.2.0 @@ -18,7 +18,7 @@ require ( github.com/celestiaorg/go-square/v2 v2.2.0 github.com/celestiaorg/nmt v0.23.0 github.com/celestiaorg/rsmt2d v0.14.0 - github.com/cometbft/cometbft v0.38.12 + github.com/cometbft/cometbft v0.38.17 github.com/cosmos/cosmos-sdk v0.50.13 github.com/cristalhq/jwt/v5 v5.4.0 github.com/dgraph-io/badger/v4 v4.6.0 @@ -73,10 +73,10 @@ require ( go.opentelemetry.io/proto/otlp v1.3.1 go.uber.org/fx v1.23.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.35.0 + golang.org/x/crypto v0.36.0 golang.org/x/sync v0.12.0 - golang.org/x/text v0.22.0 - google.golang.org/grpc v1.71.0 + golang.org/x/text v0.23.0 + google.golang.org/grpc v1.71.1 google.golang.org/protobuf v1.36.6 ) @@ -94,7 +94,7 @@ require ( cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.1 // indirect cosmossdk.io/depinject v1.1.0 // indirect - cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/errors v1.0.2 // indirect cosmossdk.io/x/circuit v0.1.1 // indirect cosmossdk.io/x/evidence v0.1.1 // indirect cosmossdk.io/x/tx v0.13.8 // indirect @@ -128,7 +128,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 // indirect github.com/aws/smithy-go v1.22.2 // indirect - github.com/bcp-innovations/hyperlane-cosmos v0.0.0-20250304103734-261788112522 // indirect + github.com/bcp-innovations/hyperlane-cosmos v1.0.0-beta0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.2.0 // indirect @@ -142,7 +142,6 @@ require ( github.com/cloudwego/base64x v0.1.5 // indirect github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/cockroachdb/apd/v3 v3.2.1 // indirect github.com/cockroachdb/errors v1.11.3 // indirect github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 // indirect github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect @@ -181,7 +180,7 @@ require ( github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect github.com/etclabscore/go-jsonschema-walk v0.0.6 // indirect - github.com/ethereum/go-ethereum v1.15.5 // indirect + github.com/ethereum/go-ethereum v1.15.8 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/filecoin-project/go-clock v0.1.0 // indirect @@ -210,7 +209,7 @@ require ( github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/btree v1.1.3 // indirect github.com/google/flatbuffers v25.2.10+incompatible // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/google/gopacket v1.1.19 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/pprof v0.0.0-20250208200701-d0013a598941 // indirect @@ -229,7 +228,7 @@ require ( github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-metrics v0.5.4 // indirect - github.com/hashicorp/go-plugin v1.6.2 // indirect + github.com/hashicorp/go-plugin v1.6.3 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect @@ -276,7 +275,7 @@ require ( github.com/mailru/easyjson v0.7.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect - github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/miekg/dns v1.1.63 // indirect github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect @@ -332,7 +331,7 @@ require ( github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/zerolog v1.34.0 // indirect github.com/sagikazarmark/locafero v0.7.0 // indirect @@ -362,43 +361,38 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/mock v0.5.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect - golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa // indirect - golang.org/x/mod v0.23.0 // indirect - golang.org/x/net v0.36.0 // indirect + golang.org/x/arch v0.15.0 // indirect + golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect + golang.org/x/mod v0.24.0 // indirect + golang.org/x/net v0.37.0 // indirect golang.org/x/oauth2 v0.25.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/term v0.29.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/term v0.30.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.30.0 // indirect + golang.org/x/tools v0.31.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.215.0 // indirect google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - gotest.tools/v3 v3.5.1 // indirect + gotest.tools/v3 v3.5.2 // indirect lukechampine.com/blake3 v1.4.0 // indirect nhooyr.io/websocket v1.8.17 // indirect - pgregory.net/rapid v1.1.0 // indirect + pgregory.net/rapid v1.2.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) replace ( - //github.com/cosmos/cosmos-sdk => github.com/celestiaorg/cosmos-sdk v1.27.0-sdk-v0.46.16 + cosmossdk.io/x/upgrade => github.com/celestiaorg/cosmos-sdk/x/upgrade v0.0.0-20250320145042-6d8b2a52fbb2 + github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v1.53.0-tm-v0.38.17-rc2 + github.com/cosmos/cosmos-sdk => github.com/celestiaorg/cosmos-sdk v1.29.0-sdk-v0.50.12-rc0 github.com/filecoin-project/dagstore => github.com/celestiaorg/dagstore v0.0.0-20230824094345-537c012aa403 github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 // broken goleveldb needs to be replaced for the cosmos-sdk and celestia-app github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 -) - -replace ( - cosmossdk.io/x/upgrade => github.com/celestiaorg/cosmos-sdk/x/upgrade v0.0.0-20250320145042-6d8b2a52fbb2 - github.com/celestiaorg/celestia-app/v4 => github.com/01builders/celestia-app/v4 v4.0.0-20250327080441-0b12d06a9f94 // sdk 50 branch - github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v1.52.0-tm-v0.38.17 - github.com/cosmos/cosmos-sdk => github.com/01builders/cosmos-sdk v0.0.0-20250326090942-c30caa50cbee github.com/tendermint/tendermint => github.com/celestiaorg/celestia-core v1.47.0-tm-v0.34.35 ) diff --git a/go.sum b/go.sum index cc6eb42a1..6dd83a519 100644 --- a/go.sum +++ b/go.sum @@ -208,14 +208,14 @@ cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= -cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= -cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= -cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= -cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= -cosmossdk.io/math v1.5.0 h1:sbOASxee9Zxdjd6OkzogvBZ25/hP929vdcYcBJQbkLc= -cosmossdk.io/math v1.5.0/go.mod h1:AAwwBmUhqtk2nlku174JwSll+/DepUXW3rWIXN5q+Nw= -cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= -cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= +cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= +cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= +cosmossdk.io/log v1.5.1 h1:wLwiYXmfrort/O+j6EkjF+HvbdrRQd+4cYCPKFSm+zM= +cosmossdk.io/log v1.5.1/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= +cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= +cosmossdk.io/store v1.1.2 h1:3HOZG8+CuThREKv6cn3WSohAc6yccxO3hLzwK6rBC7o= +cosmossdk.io/store v1.1.2/go.mod h1:60rAGzTHevGm592kFhiUVkNC9w7gooSEn5iUBPzHQ6A= cosmossdk.io/x/circuit v0.1.1 h1:KPJCnLChWrxD4jLwUiuQaf5mFD/1m7Omyo7oooefBVQ= cosmossdk.io/x/circuit v0.1.1/go.mod h1:B6f/urRuQH8gjt4eLIXfZJucrbreuYrKh5CSjaOxr+Q= cosmossdk.io/x/evidence v0.1.1 h1:Ks+BLTa3uftFpElLTDp9L76t2b58htjVbSZ86aoK/E4= @@ -232,10 +232,6 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= -github.com/01builders/celestia-app/v4 v4.0.0-20250327080441-0b12d06a9f94 h1:dR4si9uVnlr2aL6fWnMNrYltrKW36cEWba8fZrSnctU= -github.com/01builders/celestia-app/v4 v4.0.0-20250327080441-0b12d06a9f94/go.mod h1:zg9YE7Qbn2XV2/0EQl26wTfQddJ1ezdolgJYeyWnURc= -github.com/01builders/cosmos-sdk v0.0.0-20250326090942-c30caa50cbee h1:D1hCSbu4VvrmjLEpyH/QuxDaMvbIDKd/kGGVz+nXB+E= -github.com/01builders/cosmos-sdk v0.0.0-20250326090942-c30caa50cbee/go.mod h1:GxSHuTXWmqEDevUwKZjOXMn7tQteyAueJtEWXUtTlws= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= @@ -343,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 h1:TzeR06UCMUq+KA3bDkujxK1GVGy github.com/aws/aws-sdk-go-v2/service/sts v1.33.14/go.mod h1:dspXf/oYWGWo6DEvj98wpaTeqt5+DMidZD0A9BYTizc= github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/bcp-innovations/hyperlane-cosmos v0.0.0-20250304103734-261788112522 h1:aIc169myQAwqaf71KsIy8lrfOg8rDY2IWbP5TIWe6S0= -github.com/bcp-innovations/hyperlane-cosmos v0.0.0-20250304103734-261788112522/go.mod h1:0guFCZo8zuiz6Ku1HUWt/PIpnrNX1gNgfd3l0bX/mRQ= +github.com/bcp-innovations/hyperlane-cosmos v1.0.0-beta0 h1:AMGM3BhWHpoGH+u67cu6cBwoDoA+bwqP6KURViAINaM= +github.com/bcp-innovations/hyperlane-cosmos v1.0.0-beta0/go.mod h1:3yfa0io5Ii6GmhHWsWl2LEAOEHsqWuMgw2R02+LPogw= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= @@ -392,8 +388,12 @@ github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFos github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/celestiaorg/boxo v0.29.0-fork h1:gvoKagc3npL+ra8pEtgR+SMGGgeGsirJtzWrYQJ+5cs= github.com/celestiaorg/boxo v0.29.0-fork/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs= -github.com/celestiaorg/celestia-core v1.52.0-tm-v0.38.17 h1:G/Xijs2h3eeCu7wYDMIRMX8Wiyom2HdR/NvqqIgGsDM= -github.com/celestiaorg/celestia-core v1.52.0-tm-v0.38.17/go.mod h1:PiU80T/t0z8FPlz7DRZgvrBux0jJiqxFi9lNBFdGUps= +github.com/celestiaorg/celestia-app/v4 v4.0.0-20250415151309-5138040df8a7 h1:SXb6GcRMkhZ8pNM/026ocDCUguY+Y95zocp/dba/l0o= +github.com/celestiaorg/celestia-app/v4 v4.0.0-20250415151309-5138040df8a7/go.mod h1:0qtHLUkdguuKMBqw6ECFmsEbT6npCZkWXuAR5bFX57E= +github.com/celestiaorg/celestia-core v1.53.0-tm-v0.38.17-rc2 h1:rz2t2z32Fk9HK2sePxyi0FvLlUTx0UXOc1fRWmQiSeE= +github.com/celestiaorg/celestia-core v1.53.0-tm-v0.38.17-rc2/go.mod h1:PiU80T/t0z8FPlz7DRZgvrBux0jJiqxFi9lNBFdGUps= +github.com/celestiaorg/cosmos-sdk v1.29.0-sdk-v0.50.12-rc0 h1:F0E4lBZjQtjo84pXSMN0mt5fItGGlQHRHvmVVP7O1ZA= +github.com/celestiaorg/cosmos-sdk v1.29.0-sdk-v0.50.12-rc0/go.mod h1:U6c31kgMMhM+QxQBQNncap2L9/zg8Kiga/up6TAgbCI= github.com/celestiaorg/cosmos-sdk/x/upgrade v0.0.0-20250320145042-6d8b2a52fbb2 h1:o+cQNLd5GQJdtlD8k7YofVIOJB9wkPX9cIEJz0E3FFg= github.com/celestiaorg/cosmos-sdk/x/upgrade v0.0.0-20250320145042-6d8b2a52fbb2/go.mod h1:GdR2F3YQhICk8j5cEHOoSBdsIkKBDUcznPfjgnDHg5U= github.com/celestiaorg/go-fraud v0.2.1 h1:oYhxI0gM/EpGRgbVQdRI/LSlqyT65g/WhQGSVGfx09w= @@ -456,8 +456,6 @@ github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySe github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= -github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= -github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= @@ -605,8 +603,8 @@ github.com/etclabscore/go-jsonschema-walk v0.0.6 h1:DrNzoKWKd8f8XB5nFGBY00IcjakR github.com/etclabscore/go-jsonschema-walk v0.0.6/go.mod h1:VdfDY72AFAiUhy0ZXEaWSpveGjMT5JcDIm903NGqFwQ= github.com/etclabscore/go-openrpc-reflect v0.0.37 h1:IH0e7JqIvR9OhbbFWi/BHIkXrqbR3Zyia3RJ733eT6c= github.com/etclabscore/go-openrpc-reflect v0.0.37/go.mod h1:0404Ky3igAasAOpyj1eESjstTyneBAIk5PgJFbK4s5E= -github.com/ethereum/go-ethereum v1.15.5 h1:Fo2TbBWC61lWVkFw9tsMoHCNX1ndpuaQBRJ8H6xLUPo= -github.com/ethereum/go-ethereum v1.15.5/go.mod h1:1LG2LnMOx2yPRHR/S+xuipXH29vPr6BIH6GElD8N/fo= +github.com/ethereum/go-ethereum v1.15.8 h1:H6NilvRXFVoHiXZ3zkuTqKW5XcxjLZniV5UjxJt1GJU= +github.com/ethereum/go-ethereum v1.15.8/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -786,8 +784,9 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= @@ -906,8 +905,8 @@ github.com/hashicorp/go-metrics v0.5.4 h1:8mmPiIJkTPPEbAiV97IxdAGNdRdaWwVap1BU6e github.com/hashicorp/go-metrics v0.5.4/go.mod h1:CG5yz4NZ/AI/aQt9Ucm/vdBnbh7fvmv4lxZ350i+QQI= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog= -github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q= +github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= +github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= @@ -1259,8 +1258,9 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -1588,8 +1588,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rollkit/go-da v0.8.0 h1:oJKojC421eRC4mNqbujf40GzLFNp7HapgeB7Z/r0tyc= github.com/rollkit/go-da v0.8.0/go.mod h1:3eHWK5gkv8lhwq6bjOZOi82WwHyS2B9rQOlUrE1GGws= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= @@ -1857,8 +1857,8 @@ go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670 h1:18EFjUmQOcUvxNYSkA6jO9VAiXCnxFY6NyDX0bHDmkU= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= +golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1890,8 +1890,8 @@ golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1903,8 +1903,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa h1:t2QcU6V556bFjYgu4L6C+6VrCPyJZ+eyRsABUPs1mz4= -golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1934,8 +1934,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM= -golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2016,8 +2016,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -2187,8 +2187,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2198,8 +2198,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= -golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2214,8 +2214,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2288,8 +2288,8 @@ golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyj golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= +golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= +golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2479,8 +2479,8 @@ google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -2525,8 +2525,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= -google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI= +google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -2578,8 +2578,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= -gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= +gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2597,8 +2597,8 @@ nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0 nhooyr.io/websocket v1.8.17 h1:KEVeLJkUywCKVsnLIDlD/5gtayKp8VoCkksHCGGfT9Y= nhooyr.io/websocket v1.8.17/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= -pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= -pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/header/headertest/testing.go b/header/headertest/testing.go index 4cc677ec7..b9c84be28 100644 --- a/header/headertest/testing.go +++ b/header/headertest/testing.go @@ -134,7 +134,7 @@ func MakeCommit( return nil, fmt.Errorf("error signing vote: %w", err) } - blockIDFlag := tmproto.BlockIDFlagAbsent + var blockIDFlag tmproto.BlockIDFlag if !vote.BlockID.IsZero() { blockIDFlag = tmproto.BlockIDFlagCommit } else { diff --git a/internal/comet_conn.go b/internal/comet_conn.go deleted file mode 100644 index c64f99922..000000000 --- a/internal/comet_conn.go +++ /dev/null @@ -1,47 +0,0 @@ -package internal - -import ( - "context" - "fmt" - grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/connectivity" - "google.golang.org/grpc/credentials/insecure" - "strings" - "time" -) - -// NewCoreConn creates a new gRPC client connection with retry interceptors and connectivity checks. -func NewCoreConn(endpoint string) (*grpc.ClientConn, error) { - retryInterceptor := grpc_retry.UnaryClientInterceptor( - grpc_retry.WithMax(5), - grpc_retry.WithCodes(codes.Unavailable), - grpc_retry.WithBackoff( - grpc_retry.BackoffExponentialWithJitter(time.Second, 2.0)), - ) - retryStreamInterceptor := grpc_retry.StreamClientInterceptor( - grpc_retry.WithMax(5), - grpc_retry.WithCodes(codes.Unavailable), - grpc_retry.WithBackoff( - grpc_retry.BackoffExponentialWithJitter(time.Second, 2.0)), - ) - - opts := []grpc.DialOption{ - grpc.WithUnaryInterceptor(retryInterceptor), - grpc.WithStreamInterceptor(retryStreamInterceptor), - grpc.WithTransportCredentials(insecure.NewCredentials()), - } - - client, err := grpc.NewClient(strings.TrimPrefix(endpoint, "tcp://"), opts...) - if err != nil { - return nil, err - } - - ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) - defer cancel() - if ready := client.WaitForStateChange(ctx, connectivity.Ready); !ready { - return nil, fmt.Errorf("client is not ready") - } - return client, nil -} diff --git a/nodebuilder/tests/api_test.go b/nodebuilder/tests/api_test.go index 14a044e7b..a43481ca2 100644 --- a/nodebuilder/tests/api_test.go +++ b/nodebuilder/tests/api_test.go @@ -15,7 +15,6 @@ import ( "github.com/libp2p/go-libp2p/core/host" "github.com/libp2p/go-libp2p/core/peer" "github.com/stretchr/testify/require" - "go.uber.org/fx" libshare "github.com/celestiaorg/go-square/v2/share" @@ -38,7 +37,7 @@ func TestNodeModule(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(time.Second)) // start a bridge node - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) @@ -79,7 +78,7 @@ func TestGetByHeight(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(time.Second)) // start a bridge node - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) @@ -108,7 +107,7 @@ func TestBlobRPC(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) // start a bridge node - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) @@ -148,7 +147,7 @@ func TestHeaderSubscription(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) // start a bridge node - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) @@ -190,7 +189,7 @@ func TestSubmitBlobOverHTTP(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(time.Second)) // start a bridge node - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) diff --git a/nodebuilder/tests/blob_test.go b/nodebuilder/tests/blob_test.go index 46ca2b4d0..4b5ad52b2 100644 --- a/nodebuilder/tests/blob_test.go +++ b/nodebuilder/tests/blob_test.go @@ -12,7 +12,6 @@ import ( "github.com/libp2p/go-libp2p/core/peer" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.uber.org/fx" libshare "github.com/celestiaorg/go-square/v2/share" @@ -35,14 +34,14 @@ func TestBlobModule(t *testing.T) { blobs, err := blob.ToNodeBlobs(append(libBlobs0, libBlobs1...)...) require.NoError(t, err) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() require.NoError(t, bridge.Start(ctx)) addrs, err := peer.AddrInfoToP2pAddrs(host.InfoFromHost(bridge.Host)) require.NoError(t, err) fullCfg := sw.DefaultTestConfig(node.Full) fullCfg.Header.TrustedPeers = append(fullCfg.Header.TrustedPeers, addrs[0].String()) - fullNode := sw.NewNodeWithConfig(node.Full, fullCfg, fx.Replace(sw.BlockFetcher())) + fullNode := sw.NewNodeWithConfig(node.Full, fullCfg) require.NoError(t, fullNode.Start(ctx)) addrsFull, err := peer.AddrInfoToP2pAddrs(host.InfoFromHost(fullNode.Host)) diff --git a/nodebuilder/tests/da_test.go b/nodebuilder/tests/da_test.go index 4e4bb97b6..478b14917 100644 --- a/nodebuilder/tests/da_test.go +++ b/nodebuilder/tests/da_test.go @@ -14,7 +14,6 @@ import ( "github.com/celestiaorg/celestia-app/v4/pkg/appconsts" libshare "github.com/celestiaorg/go-square/v2/share" - "go.uber.org/fx" "github.com/celestiaorg/celestia-node/blob" "github.com/celestiaorg/celestia-node/nodebuilder/da" @@ -51,7 +50,7 @@ func TestDaModule(t *testing.T) { } require.NoError(t, err) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() require.NoError(t, bridge.Start(ctx)) addrs, err := peer.AddrInfoToP2pAddrs(host.InfoFromHost(bridge.Host)) diff --git a/nodebuilder/tests/nd_test.go b/nodebuilder/tests/nd_test.go index d7c0e07d1..668abb71c 100644 --- a/nodebuilder/tests/nd_test.go +++ b/nodebuilder/tests/nd_test.go @@ -38,7 +38,7 @@ func TestShrexNDFromLights(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) fillDn := swamp.FillBlocks(ctx, sw.ClientContext, sw.Accounts[0], bsize, blocks) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) cfg := nodebuilder.DefaultConfig(node.Light) @@ -100,7 +100,7 @@ func TestShrexNDFromLightsWithBadFulls(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) fillDn := swamp.FillBlocks(ctx, sw.ClientContext, sw.Accounts[0], bsize, blocks) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // create full nodes with basic stream.reset handler diff --git a/nodebuilder/tests/p2p_test.go b/nodebuilder/tests/p2p_test.go index 511c89a2c..4f7e87b5f 100644 --- a/nodebuilder/tests/p2p_test.go +++ b/nodebuilder/tests/p2p_test.go @@ -17,7 +17,6 @@ import ( "github.com/celestiaorg/celestia-node/nodebuilder" "github.com/celestiaorg/celestia-node/nodebuilder/node" "github.com/celestiaorg/celestia-node/nodebuilder/tests/swamp" - "go.uber.org/fx" ) /* @@ -42,8 +41,8 @@ func TestBridgeNodeAsBootstrapper(t *testing.T) { addr := host.InfoFromHost(bridge.Host) - full := sw.NewFullNode(nodebuilder.WithBootstrappers([]peer.AddrInfo{*addr}), fx.Replace(sw.BlockFetcher())) - light := sw.NewLightNode(nodebuilder.WithBootstrappers([]peer.AddrInfo{*addr}), fx.Replace(sw.BlockFetcher())) + full := sw.NewFullNode(nodebuilder.WithBootstrappers([]peer.AddrInfo{*addr})) + light := sw.NewLightNode(nodebuilder.WithBootstrappers([]peer.AddrInfo{*addr})) for _, nd := range []*nodebuilder.Node{full, light} { // start node and ensure that BN is correctly set as bootstrapper diff --git a/nodebuilder/tests/prune_test.go b/nodebuilder/tests/prune_test.go index 4aa388697..d3f6af08c 100644 --- a/nodebuilder/tests/prune_test.go +++ b/nodebuilder/tests/prune_test.go @@ -45,7 +45,6 @@ import ( // spin up 3 pruning FNs, connect // spin up 1 LN that syncs historic blobs func TestArchivalBlobSync(t *testing.T) { - t.Skip("TODO(chatton): error with fx.Replace") const ( blocks = 50 btime = time.Millisecond * 300 @@ -58,7 +57,7 @@ func TestArchivalBlobSync(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) fillDn := swamp.FillBlocks(ctx, sw.ClientContext, sw.Accounts[0], bsize, blocks) - archivalBN := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + archivalBN := sw.NewBridgeNode() sw.SetBootstrapper(t, archivalBN) err := archivalBN.Start(ctx) diff --git a/nodebuilder/tests/reconstruct_test.go b/nodebuilder/tests/reconstruct_test.go index 80bc1d9dc..36cdf3a6d 100644 --- a/nodebuilder/tests/reconstruct_test.go +++ b/nodebuilder/tests/reconstruct_test.go @@ -13,7 +13,6 @@ import ( "github.com/libp2p/go-libp2p/core/peer" ma "github.com/multiformats/go-multiaddr" "github.com/stretchr/testify/require" - "go.uber.org/fx" "golang.org/x/sync/errgroup" "github.com/celestiaorg/celestia-node/nodebuilder" @@ -49,7 +48,7 @@ func TestFullReconstructFromBridge(t *testing.T) { sw := swamp.NewSwamp(t, swamp.WithBlockTime(btime)) fillDn := swamp.FillBlocks(ctx, sw.ClientContext, sw.Accounts[0], bsize, blocks) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() err := bridge.Start(ctx) require.NoError(t, err) bridgeClient := getAdminClient(ctx, bridge, t) @@ -108,7 +107,7 @@ func TestFullReconstructFromFulls(t *testing.T) { fillDn := swamp.FillBlocks(ctx, sw.ClientContext, sw.Accounts[0], bsize, blocks) const defaultTimeInterval = time.Second * 5 - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) require.NoError(t, bridge.Start(ctx)) @@ -283,7 +282,7 @@ func TestFullReconstructFromLights(t *testing.T) { cfg := nodebuilder.DefaultConfig(node.Full) setTimeInterval(cfg, defaultTimeInterval) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() addrsBridge, err := peer.AddrInfoToP2pAddrs(host.InfoFromHost(bridge.Host)) require.NoError(t, err) diff --git a/nodebuilder/tests/share_test.go b/nodebuilder/tests/share_test.go index a6ed95831..551b0d9c6 100644 --- a/nodebuilder/tests/share_test.go +++ b/nodebuilder/tests/share_test.go @@ -11,7 +11,6 @@ import ( "github.com/libp2p/go-libp2p/core/peer" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.uber.org/fx" libshare "github.com/celestiaorg/go-square/v2/share" @@ -34,7 +33,7 @@ func TestShareModule(t *testing.T) { nodeBlob, err := blob.ToNodeBlobs(libBlob[0]) require.NoError(t, err) - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() require.NoError(t, bridge.Start(ctx)) addrs, err := peer.AddrInfoToP2pAddrs(host.InfoFromHost(bridge.Host)) require.NoError(t, err) diff --git a/nodebuilder/tests/swamp/swamp.go b/nodebuilder/tests/swamp/swamp.go index 3cd35f793..eb0815220 100644 --- a/nodebuilder/tests/swamp/swamp.go +++ b/nodebuilder/tests/swamp/swamp.go @@ -4,7 +4,6 @@ import ( "context" "crypto/rand" "fmt" - "github.com/celestiaorg/celestia-node/internal" "maps" "net" "slices" @@ -63,9 +62,6 @@ type Swamp struct { nodes map[*nodebuilder.Node]struct{} genesis *header.ExtendedHeader - - // BlockFetcher should be constructed with a gRPC connection using the comet GRPCListenAddress - blockFetcher *core.BlockFetcher } // NewSwamp creates a new instance of Swamp. @@ -84,13 +80,6 @@ func NewSwamp(t *testing.T, options ...Option) *Swamp { // instead we are assigning all created BNs to 1 Core from the swamp ic.WithChainID("private") cctx := core.StartTestNodeWithConfig(t, ic) - - cometConn, err := internal.NewCoreConn(ic.TmConfig.RPC.GRPCListenAddress) - require.NoError(t, err) - - fetcher, err := core.NewBlockFetcher(cometConn) - require.NoError(t, err) - swp := &Swamp{ t: t, cfg: ic, @@ -98,7 +87,6 @@ func NewSwamp(t *testing.T, options ...Option) *Swamp { ClientContext: cctx, Accounts: getAccounts(ic), nodes: map[*nodebuilder.Node]struct{}{}, - blockFetcher: fetcher, } swp.t.Cleanup(swp.cleanup) @@ -106,10 +94,6 @@ func NewSwamp(t *testing.T, options ...Option) *Swamp { return swp } -func (s *Swamp) BlockFetcher() *core.BlockFetcher { - return s.blockFetcher -} - func getAccounts(config *testnode.Config) (accounts []string) { for _, account := range config.Genesis.Accounts() { accounts = append(accounts, account.Name) @@ -135,9 +119,9 @@ func (s *Swamp) cleanup() { // GetCoreBlockHashByHeight returns a tendermint block's hash by provided height func (s *Swamp) GetCoreBlockHashByHeight(ctx context.Context, height int64) libhead.Hash { - c, _, err := s.blockFetcher.GetBlockInfo(ctx, height) + b, err := s.ClientContext.Client.Block(ctx, &height) require.NoError(s.t, err) - return libhead.Hash(c.BlockID.Hash) + return libhead.Hash(b.BlockID.Hash) } // WaitTillHeight holds the test execution until the given amount of blocks @@ -154,7 +138,7 @@ func (s *Swamp) WaitTillHeight(ctx context.Context, height int64) libhead.Hash { latest, err := s.ClientContext.LatestHeight() require.NoError(s.t, err) if latest >= height { - res, _, err := s.blockFetcher.GetBlockInfo(ctx, latest) + res, err := s.ClientContext.Client.Block(ctx, &latest) require.NoError(s.t, err) return libhead.Hash(res.BlockID.Hash) } @@ -198,8 +182,19 @@ func (s *Swamp) setupGenesis() { store, err := store.NewStore(store.DefaultParameters(), s.t.TempDir()) require.NoError(s.t, err) + host, port, err := net.SplitHostPort(s.ClientContext.GRPCClient.Target()) + require.NoError(s.t, err) + addr := net.JoinHostPort(host, port) + con, err := grpc.NewClient( + addr, + grpc.WithTransportCredentials(insecure.NewCredentials()), + ) + require.NoError(s.t, err) + fetcher, err := core.NewBlockFetcher(con) + require.NoError(s.t, err) + ex, err := core.NewExchange( - s.blockFetcher, + fetcher, store, header.MakeExtendedHeader, ) @@ -300,7 +295,7 @@ func (s *Swamp) NewNodeWithStore( switch tp { case node.Bridge: - host, port, err := net.SplitHostPort(s.ClientContext.GRPCClient.Target()) // TODO(chatton) should this be comet address or app address? + host, port, err := net.SplitHostPort(s.ClientContext.GRPCClient.Target()) if err != nil { return nil, err } diff --git a/nodebuilder/tests/swamp/swamp_tx.go b/nodebuilder/tests/swamp/swamp_tx.go index 5988a9ed0..62db147ec 100644 --- a/nodebuilder/tests/swamp/swamp_tx.go +++ b/nodebuilder/tests/swamp/swamp_tx.go @@ -2,11 +2,11 @@ package swamp import ( "context" - sdk "github.com/cosmos/cosmos-sdk/types" - authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" "time" "github.com/cosmos/cosmos-sdk/client/flags" + sdk "github.com/cosmos/cosmos-sdk/types" + authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" "github.com/celestiaorg/celestia-app/v4/test/util/testnode" ) @@ -22,7 +22,7 @@ func FillBlocks(ctx context.Context, cctx testnode.Context, account string, bsiz var err error for i := 0; i < blocks; i++ { var resp *sdk.TxResponse - resp, err = cctx.FillBlock(bsize, account, flags.BroadcastSync) // TODO(chatton) this will likley cause problems was BroadcastBlock. + resp, err = cctx.FillBlock(bsize, account, flags.BroadcastSync) if err != nil { break } diff --git a/nodebuilder/tests/sync_test.go b/nodebuilder/tests/sync_test.go index 12052abea..48de6376a 100644 --- a/nodebuilder/tests/sync_test.go +++ b/nodebuilder/tests/sync_test.go @@ -4,7 +4,6 @@ package tests import ( "context" - "go.uber.org/fx" "testing" "time" @@ -54,7 +53,7 @@ func TestSyncAgainstBridge_NonEmptyChain(t *testing.T) { sw.WaitTillHeight(ctx, numBlocks) // create a bridge node and set it as the bootstrapper for the suite - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // start bridge and wait for it to sync to 20 err := bridge.Start(ctx) @@ -145,7 +144,7 @@ func TestSyncAgainstBridge_EmptyChain(t *testing.T) { sw.WaitTillHeight(ctx, numBlocks) // create bridge node and set it as the bootstrapper for the suite - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // start bridge and wait for it to sync to 20 err := bridge.Start(ctx) @@ -227,7 +226,7 @@ func TestSyncStartStopLightWithBridge(t *testing.T) { sw.WaitTillHeight(ctx, numBlocks) // create bridge and set it as a bootstrapper - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // and let bridge node sync up 20 blocks err := bridge.Start(ctx) @@ -295,7 +294,7 @@ func TestSyncLightAgainstFull(t *testing.T) { sw.WaitTillHeight(ctx, numBlocks) // create bridge and set it as a bootstrapper - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // start a bridge node and wait for it to sync up 20 blocks err := bridge.Start(ctx) @@ -373,7 +372,7 @@ func TestSyncLightWithTrustedPeers(t *testing.T) { sw.WaitTillHeight(ctx, numBlocks) // create a BN and set as a bootstrapper - bridge := sw.NewBridgeNode(fx.Replace(sw.BlockFetcher())) + bridge := sw.NewBridgeNode() sw.SetBootstrapper(t, bridge) // let it sync to network head err := bridge.Start(ctx) diff --git a/share/eds/edstest/testing.go b/share/eds/edstest/testing.go index 942a5ef2f..5fbeee030 100644 --- a/share/eds/edstest/testing.go +++ b/share/eds/edstest/testing.go @@ -135,7 +135,7 @@ func GenerateTestBlock( txs = append(txs, coreTxs...) square, err := libSquare.Construct( txs.ToSliceOfBytes(), - appconsts.DefaultSquareSizeUpperBound, + appconsts.SquareSizeUpperBound, appconsts.SubtreeRootThreshold, ) require.NoError(t, err) diff --git a/share/share.go b/share/share.go index 651c58aef..00cba87b7 100644 --- a/share/share.go +++ b/share/share.go @@ -9,4 +9,4 @@ var DefaultRSMT2DCodec = appconsts.DefaultCodec // MaxSquareSize is currently the maximum size supported for unerasured data in // rsmt2d.ExtendedDataSquare. -var MaxSquareSize = appconsts.DefaultSquareSizeUpperBound +var MaxSquareSize = appconsts.SquareSizeUpperBound diff --git a/state/core_access.go b/state/core_access.go index 76df572a8..d9b33ec48 100644 --- a/state/core_access.go +++ b/state/core_access.go @@ -2,14 +2,12 @@ package state import ( "context" - sdkmath "cosmossdk.io/math" "errors" "fmt" - "github.com/celestiaorg/celestia-app/v4/pkg/appconsts" - v2bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v2" "sync" "time" + sdkmath "cosmossdk.io/math" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/feegrant" "github.com/cometbft/cometbft/crypto/merkle" @@ -18,6 +16,7 @@ import ( nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node" "github.com/cosmos/cosmos-sdk/crypto/keyring" sdktypes "github.com/cosmos/cosmos-sdk/types" + v2bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v2" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" logging "github.com/ipfs/go-log/v2" @@ -26,6 +25,7 @@ import ( "github.com/celestiaorg/celestia-app/v4/app" "github.com/celestiaorg/celestia-app/v4/app/encoding" apperrors "github.com/celestiaorg/celestia-app/v4/app/errors" + "github.com/celestiaorg/celestia-app/v4/pkg/appconsts" "github.com/celestiaorg/celestia-app/v4/pkg/user" libhead "github.com/celestiaorg/go-header" libshare "github.com/celestiaorg/go-square/v2/share" @@ -63,7 +63,6 @@ type CoreAccessor struct { prt *merkle.ProofRuntime coreConn *grpc.ClientConn - appConn *grpc.ClientConn network string estimator *estimator @@ -110,7 +109,6 @@ func NewCoreAccessor( getter: getter, prt: prt, coreConn: conn, - appConn: nil, // TODO(chatton): figure out what this should look like. network: network, estimator: &estimator{estimatorAddress: estimatorAddress, defaultClientConn: conn}, } @@ -120,9 +118,8 @@ func NewCoreAccessor( func (ca *CoreAccessor) Start(ctx context.Context) error { ca.ctx, ca.cancel = context.WithCancel(context.Background()) // create the staking query client - // TODO(chatton): the tests seem to pass with either ca.appConn or ca.coreConn, which should be used? - ca.stakingCli = stakingtypes.NewQueryClient(ca.appConn) - ca.feeGrantCli = feegrant.NewQueryClient(ca.appConn) + ca.stakingCli = stakingtypes.NewQueryClient(ca.coreConn) + ca.feeGrantCli = feegrant.NewQueryClient(ca.coreConn) // create ABCI query client ca.abciQueryCli = tmservice.NewServiceClient(ca.coreConn) resp, err := ca.abciQueryCli.GetNodeInfo(ctx, &tmservice.GetNodeInfoRequest{}) @@ -222,7 +219,7 @@ func (ca *CoreAccessor) SubmitPayForBlob( response, err := client.SubmitPayForBlobWithAccount(ctx, accName, libBlobs, opts...) // Network min gas price can be updated through governance in app // If that's the case, we parse the insufficient min gas price error message and update the gas price - if apperrors.IsInsufficientMinGasPrice(err) { + if apperrors.IsInsufficientFee(err) { // The error message contains enough information to parse the new min gas price gasPrice, err = apperrors.ParseInsufficientMinGasPrice(err, gasPrice, gas) if err != nil { diff --git a/state/core_access_test.go b/state/core_access_test.go index d4215f7ad..2df7d5e37 100644 --- a/state/core_access_test.go +++ b/state/core_access_test.go @@ -4,11 +4,11 @@ package state import ( "context" - "cosmossdk.io/math" "errors" "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/grpc" @@ -271,7 +271,7 @@ func buildAccessor(t *testing.T) (*CoreAccessor, []string) { WithGenesis(g) cctx, _, grpcAddr := testnode.NewNetwork(t, config) - + conn, err := grpc.NewClient(grpcAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) require.NoError(t, err) ca, err := NewCoreAccessor(cctx.Keyring, accounts[0].Name, nil, conn, chainID, "") diff --git a/state/integration_test.go b/state/integration_test.go index 73b5f9e2d..4ea89bbb5 100644 --- a/state/integration_test.go +++ b/state/integration_test.go @@ -2,14 +2,13 @@ package state import ( "context" - sdkmath "cosmossdk.io/math" "encoding/json" - "github.com/celestiaorg/celestia-node/internal" - "github.com/cosmos/cosmos-sdk/client" "os" "testing" + sdkmath "cosmossdk.io/math" abci "github.com/cometbft/cometbft/abci/types" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" tmservice "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" sdk "github.com/cosmos/cosmos-sdk/types" @@ -54,15 +53,12 @@ func (s *IntegrationTestSuite) SetupSuite() { s.Require().Greater(len(s.accounts), 0) accountName := s.accounts[0].Name - coreConn, err := internal.NewCoreConn(cfg.TmConfig.RPC.GRPCListenAddress) - require.NoError(s.T(), err) - accessor, err := NewCoreAccessor(s.cctx.Keyring, accountName, localHeader{s.cctx.Client}, nil, "", "") require.NoError(s.T(), err) ctx, cancel := context.WithCancel(context.Background()) accessor.ctx = ctx accessor.cancel = cancel - setClients(accessor, s.cctx.GRPCClient, coreConn) + setClients(accessor, s.cctx.GRPCClient) s.accessor = accessor // required to ensure the Head request is non-nil @@ -70,13 +66,12 @@ func (s *IntegrationTestSuite) SetupSuite() { require.NoError(s.T(), err) } -func setClients(ca *CoreAccessor, appConn, coreConn *grpc.ClientConn) { - ca.coreConn = coreConn - ca.appConn = appConn +func setClients(ca *CoreAccessor, conn *grpc.ClientConn) { + ca.coreConn = conn // create the staking query client - ca.stakingCli = stakingtypes.NewQueryClient(ca.appConn) + ca.stakingCli = stakingtypes.NewQueryClient(ca.coreConn) - ca.abciQueryCli = tmservice.NewServiceClient(ca.appConn) + ca.abciQueryCli = tmservice.NewServiceClient(ca.coreConn) } func (s *IntegrationTestSuite) TearDownSuite() {