@@ -3,6 +3,7 @@ package client
3
3
import (
4
4
"context"
5
5
"errors"
6
+ "strings"
6
7
7
8
sdkclient "github.com/cosmos/cosmos-sdk/client"
8
9
"github.com/spf13/pflag"
@@ -24,16 +25,21 @@ func DiscoverClient(ctx context.Context, cctx sdkclient.Context, flags *pflag.Fl
24
25
result := new (Akash )
25
26
params := make (map [string ]interface {})
26
27
_ , err = rpc .Call (ctx , "akash" , params , result )
27
- if err != nil {
28
+ if err != nil && ! strings . Contains ( err . Error (), "Method not found" ) {
28
29
return err
29
30
}
30
31
32
+ // if client info is nil, mostly likely "akash" endpoint is not yet supported on the node
33
+ // fallback to manually set version to v1beta2
34
+ if result .ClientInfo == nil {
35
+ result .ClientInfo = & ClientInfo {ApiVersion : "v1beta2" }
36
+ }
37
+
31
38
var cl interface {}
32
39
33
40
switch result .ClientInfo .ApiVersion {
34
41
case "v1beta2" :
35
42
cl , err = v1beta2 .NewClient (ctx , cctx , flags )
36
- // case "":
37
43
default :
38
44
return ErrUnknownClientVersion
39
45
}
@@ -54,16 +60,19 @@ func DiscoverQueryClient(ctx context.Context, cctx sdkclient.Context, setup func
54
60
result := new (Akash )
55
61
params := make (map [string ]interface {})
56
62
_ , err = rpc .Call (ctx , "akash" , params , result )
57
- if err != nil {
63
+ if err != nil && ! strings . Contains ( err . Error (), "Method not found" ) {
58
64
return err
59
65
}
60
66
67
+ if result .ClientInfo == nil {
68
+ result .ClientInfo = & ClientInfo {ApiVersion : "v1beta2" }
69
+ }
70
+
61
71
var cl interface {}
62
72
63
73
switch result .ClientInfo .ApiVersion {
64
74
case "v1beta2" :
65
75
cl = v1beta2 .NewQueryClient (cctx )
66
- // case "":
67
76
default :
68
77
return ErrUnknownClientVersion
69
78
}
0 commit comments