Skip to content

Commit bd62778

Browse files
committed
#303 Upgrade Cosmos-SDK to v0.47.3
- Modify BroadcastTx method - Enable external access of REST and gRPC endpoints Signed-off-by: Abdulbois <abdulbois.tursunov@dsr-corporation.com> Signed-off-by: Abdulbois <abdulbois123@gmail.com>
1 parent 2552f31 commit bd62778

File tree

4 files changed

+35
-14
lines changed

4 files changed

+35
-14
lines changed

cmd/dcld/cmd/root.go

-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,6 @@ func initRootCmd(
184184
txCommand(),
185185
keys.Commands(app.DefaultNodeHome),
186186
)
187-
188187
}
189188

190189
// queryCommand returns the sub-command to send queries to the app.

genlocalnetconfig.sh

+4
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ for node_name in node0 node1 node2 node3 observer0; do
173173
if [[ -d "$LOCALNET_DIR/${node_name}" ]]; then
174174
# Make RPC endpoints available externally
175175
sed -i $SED_EXT 's/laddr = "tcp:\/\/127.0.0.1:26657"/laddr = "tcp:\/\/0.0.0.0:26657"/g' "$LOCALNET_DIR/${node_name}/config/config.toml"
176+
# Make REST endpoints available externally
177+
sed -i $SED_EXT 's/address = "tcp:\/\/localhost:1317"/address = "tcp:\/\/0.0.0.0:1317"/g' "$LOCALNET_DIR/${node_name}/config/app.toml"
178+
# Make gRPC endpoints available externally
179+
sed -i $SED_EXT 's/address = "localhost:9090"/address = "0.0.0.0:9090"/g' "$LOCALNET_DIR/${node_name}/config/app.toml"
176180

177181
# sets proper moniker
178182
sed -i $SED_EXT "s/moniker = .*/moniker = \"$node_name\"/g" "$LOCALNET_DIR/${node_name}/config/config.toml"

integration_tests/run-all.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ init_pool() {
7676
make localnet_start &>${DETAILED_OUTPUT_TARGET}
7777

7878
log "-> Waiting for the second block (needed to request proofs)" >${DETAILED_OUTPUT_TARGET}
79-
sleep 10
79+
sleep 20
8080
wait_for_height 2 20
8181
}
8282

integration_tests/utils/grpc_rest.go

+30-12
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@ import (
2121
"fmt"
2222
"os"
2323
"path/filepath"
24+
"strings"
2425
"testing"
26+
"time"
2527

26-
//nolint:staticcheck
27-
"github.com/golang/protobuf/proto"
28+
"github.com/cosmos/gogoproto/proto"
2829
"github.com/stretchr/testify/require"
2930
"google.golang.org/grpc"
3031
"google.golang.org/grpc/credentials/insecure"
3132

3233
sdkerrors "cosmossdk.io/errors"
3334
clienttx "github.com/cosmos/cosmos-sdk/client/tx"
35+
"github.com/cosmos/cosmos-sdk/codec"
3436
"github.com/cosmos/cosmos-sdk/crypto/keyring"
3537
sdk "github.com/cosmos/cosmos-sdk/types"
3638
"github.com/cosmos/cosmos-sdk/types/tx"
@@ -59,6 +61,7 @@ func (suite *TestSuite) GetGRPCConn() *grpc.ClientConn {
5961
grpcConn, err := grpc.Dial(
6062
"127.0.0.1:26630", // Or your gRPC server address.
6163
grpc.WithTransportCredentials(insecure.NewCredentials()), // The SDK doesn't support any transport security mechanism.
64+
grpc.WithDefaultCallOptions(grpc.ForceCodec(codec.NewProtoCodec(suite.EncodingConfig.InterfaceRegistry).GRPCCodec())),
6265
)
6366
require.NoError(suite.T, err)
6467

@@ -144,21 +147,30 @@ func (suite *TestSuite) BroadcastTx(txBytes []byte) (*sdk.TxResponse, error) {
144147
TxBytes: txBytes,
145148
}
146149

147-
if suite.Rest {
148-
var _resp tx.GetTxResponse
150+
if suite.Rest { //nolint:nestif
151+
var _getResp tx.GetTxResponse
152+
var _brdResp tx.BroadcastTxResponse
149153

150154
bodyBytes, err := suite.EncodingConfig.Codec.MarshalJSON(&body)
151155
require.NoError(suite.T, err)
152156

153-
_, err = SendPostRequest("/cosmos/tx/v1beta1/txs", bodyBytes, "", "")
157+
respBytes, err := SendPostRequest("/cosmos/tx/v1beta1/txs", bodyBytes, "", "")
158+
require.NoError(suite.T, err)
159+
require.NoError(suite.T, suite.EncodingConfig.Codec.UnmarshalJSON(respBytes, &_brdResp))
160+
161+
for i := 1; i <= 10; i++ {
162+
respBytes, err = SendGetRequest(fmt.Sprintf("/cosmos/tx/v1beta1/txs/%s", _brdResp.GetTxResponse().TxHash))
163+
if err == nil {
164+
require.NoError(suite.T, suite.EncodingConfig.Codec.UnmarshalJSON(respBytes, &_getResp))
165+
166+
break
167+
}
168+
time.Sleep(2 * time.Second)
169+
}
154170
if err != nil {
155171
return nil, err
156172
}
157-
158-
respBytes, err := SendGetRequest(fmt.Sprintf("/cosmos/tx/v1beta1/txs/%s", _resp.GetTxResponse().TxHash))
159-
require.NoError(suite.T, err)
160-
require.NoError(suite.T, suite.EncodingConfig.Codec.UnmarshalJSON(respBytes, &_resp))
161-
txResponse = &_resp
173+
txResponse = &_getResp
162174
} else {
163175
grpcConn := suite.GetGRPCConn()
164176
defer grpcConn.Close()
@@ -171,7 +183,13 @@ func (suite *TestSuite) BroadcastTx(txBytes []byte) (*sdk.TxResponse, error) {
171183
return nil, err
172184
}
173185

174-
txResponse, err = txClient.GetTx(context.Background(), &tx.GetTxRequest{Hash: broadCastResponse.GetTxResponse().TxHash})
186+
for i := 1; i <= 10; i++ {
187+
txResponse, err = txClient.GetTx(context.Background(), &tx.GetTxRequest{Hash: broadCastResponse.GetTxResponse().TxHash})
188+
if err == nil && !strings.Contains(txResponse.TxResponse.RawLog, "tx not found") {
189+
break
190+
}
191+
time.Sleep(2 * time.Second)
192+
}
175193
if err != nil {
176194
return nil, err
177195
}
@@ -209,7 +227,7 @@ func (suite *TestSuite) QueryREST(uri string, resp proto.Message) error {
209227

210228
func (suite *TestSuite) AssertNotFound(err error) {
211229
require.Error(suite.T, err)
212-
require.Contains(suite.T, err.Error(), "rpc error: code = NotFound desc = not found")
230+
require.Contains(suite.T, err.Error(), "not found")
213231

214232
if suite.Rest {
215233
var resterr *RESTError

0 commit comments

Comments
 (0)