From db3324d207d493d5b0ea3b1bbd06be9b66c960ef Mon Sep 17 00:00:00 2001 From: Michael Tsitrin Date: Sat, 13 Apr 2024 23:55:09 +0300 Subject: [PATCH 1/2] removed unneeded state-index query --- go.mod | 2 +- go.sum | 2 -- settlement/dymension/dymension.go | 16 +++++----------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index b4d8fad81..34ddd493c 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,6 @@ require ( github.com/libp2p/go-libp2p-kad-dht v0.21.1 github.com/libp2p/go-libp2p-pubsub v0.9.3 github.com/multiformats/go-multiaddr v0.11.0 - github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.16.0 github.com/rollkit/celestia-openrpc v0.0.0-00010101000000-000000000000 github.com/rs/cors v1.9.0 @@ -270,6 +269,7 @@ require ( github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/linxGnu/grocksdb v1.8.12 // indirect + github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/common v0.42.0 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect diff --git a/go.sum b/go.sum index 679f4f31d..43f9988a0 100644 --- a/go.sum +++ b/go.sum @@ -304,8 +304,6 @@ github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQx github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/dymensionxyz/cosmosclient v0.4.2-beta h1:sokBefcN1tIOlUKmB8Q2E9XMJ93LueqtFThiM/kA4DI= github.com/dymensionxyz/cosmosclient v0.4.2-beta/go.mod h1:GQQu3ITEjWfi5ULR2B6X2i2YZNennY1yzcT5qdL4MGI= -github.com/dymensionxyz/dymension/v3 v3.1.0-rc01.0.20240402213116-e5302877e497 h1:hxo94dtPQc4A3CB8RuIFGcdMS2vIL483HR/dBUhP8po= -github.com/dymensionxyz/dymension/v3 v3.1.0-rc01.0.20240402213116-e5302877e497/go.mod h1:3Pfrr8j/BR9ztNKztGfC5PqDiO6CcrzMLCJtFtPEVW4= github.com/dymensionxyz/dymension/v3 v3.1.0-rc03.0.20240411195658-f7cd96f53b56 h1:cmpJYdRviuUfmlJdHrcAND8Jd6JIY4rp63bWAQzPr54= github.com/dymensionxyz/dymension/v3 v3.1.0-rc03.0.20240411195658-f7cd96f53b56/go.mod h1:3Pfrr8j/BR9ztNKztGfC5PqDiO6CcrzMLCJtFtPEVW4= github.com/dymensionxyz/evmos/v12 v12.1.6-dymension-v0.3 h1:vmAdUGUc4rTIiO3Phezr7vGq+0uPDVKSA4WAe8+yl6w= diff --git a/settlement/dymension/dymension.go b/settlement/dymension/dymension.go index 7cf7daf67..5d387f310 100644 --- a/settlement/dymension/dymension.go +++ b/settlement/dymension/dymension.go @@ -286,12 +286,11 @@ func (d *HubClient) PostBatch(batch *types.Batch, daClient da.Client, daResult * // GetLatestBatch returns the latest batch from the Dymension Hub. func (d *HubClient) GetLatestBatch(rollappID string) (*settlement.ResultRetrieveBatch, error) { - var latestStateInfoIndexResp *rollapptypes.QueryGetLatestStateIndexResponse - + var stateInfoResp *rollapptypes.QueryGetStateInfoResponse err := d.RunWithRetry(func() error { var err error - latestStateInfoIndexResp, err = d.rollappQueryClient.LatestStateIndex(d.ctx, - &rollapptypes.QueryGetLatestStateIndexRequest{RollappId: d.config.RollappID}) + stateInfoResp, err = d.rollappQueryClient.StateInfo(d.ctx, + &rollapptypes.QueryGetStateInfoRequest{RollappId: d.config.RollappID}) if status.Code(err) == codes.NotFound { return retry.Unrecoverable(settlement.ErrBatchNotFound) @@ -302,17 +301,12 @@ func (d *HubClient) GetLatestBatch(rollappID string) (*settlement.ResultRetrieve if err != nil { return nil, err } - // not supposed to happen, but just in case - if latestStateInfoIndexResp == nil { + if stateInfoResp == nil { return nil, settlement.ErrEmptyResponse } - latestBatch, err := d.GetBatchAtIndex(rollappID, latestStateInfoIndexResp.StateIndex.Index) - if err != nil { - return nil, err - } - return latestBatch, nil + return d.convertStateInfoToResultRetrieveBatch(&stateInfoResp.StateInfo) } // GetBatchAtIndex returns the batch at the given index from the Dymension Hub. From 18e51c1a89cf3d54b6b6b402667bd1beeccc867b Mon Sep 17 00:00:00 2001 From: Michael Tsitrin Date: Sun, 14 Apr 2024 10:19:08 +0300 Subject: [PATCH 2/2] fixed UT --- settlement/dymension/dymension_test.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/settlement/dymension/dymension_test.go b/settlement/dymension/dymension_test.go index 783a0ccb7..f619e77fe 100644 --- a/settlement/dymension/dymension_test.go +++ b/settlement/dymension/dymension_test.go @@ -164,7 +164,6 @@ func TestPostBatch(t *testing.T) { wg.Add(eventsCount) // Reset the mock functions testutil.UnsetMockFn(cosmosClientMock.On("BroadcastTx")) - testutil.UnsetMockFn(rollappQueryClientMock.On("LatestStateIndex")) testutil.UnsetMockFn(rollappQueryClientMock.On("StateInfo")) // Set the mock logic based on the test case if !c.isBatchSubmitSuccess { @@ -174,8 +173,6 @@ func TestPostBatch(t *testing.T) { } if c.shouldMockBatchIncluded { if c.isBatchIncludedSuccess { - rollappQueryClientMock.On("LatestStateIndex", mock.Anything, mock.Anything).Return( - &rollapptypes.QueryGetLatestStateIndexResponse{StateIndex: rollapptypes.StateInfoIndex{Index: 1}}, nil) daMetaData := &da.DASubmitMetaData{ Height: 1, Client: da.Mock, @@ -186,7 +183,7 @@ func TestPostBatch(t *testing.T) { }}, nil) } else { - rollappQueryClientMock.On("LatestStateIndex", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("error")) + rollappQueryClientMock.On("StateInfo", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("error")) } } hubClient, err := newDymensionHubClient(settlement.Config{}, pubsubServer, log.TestingLogger(), options...)