Skip to content

Commit c1a6307

Browse files
authored
Merge pull request #370 from bianjieai/release/v1.6.x
merge irita commit
2 parents c835543 + acba076 commit c1a6307

File tree

11 files changed

+43
-122
lines changed

11 files changed

+43
-122
lines changed

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ go 1.17
44

55
require (
66
github.com/cosmos/cosmos-sdk v0.45.1
7-
github.com/cosmos/ibc-go v1.1.0
87
github.com/gogo/protobuf v1.3.3
98
github.com/golang/protobuf v1.5.2
109
github.com/gorilla/mux v1.8.0

go.sum

Lines changed: 0 additions & 33 deletions
Large diffs are not rendered by default.

modules/farm/client/cli/query.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func GetCmdQueryFarmPools() *cobra.Command {
3838
Example: fmt.Sprintf("$ %s query farm pools", version.AppName),
3939
Short: "Query farm pools by page",
4040
RunE: func(cmd *cobra.Command, args []string) error {
41-
clientCtx, err := client.GetClientTxContext(cmd)
41+
clientCtx, err := client.GetClientQueryContext(cmd)
4242
if err != nil {
4343
return err
4444
}
@@ -71,7 +71,7 @@ func GetCmdQueryFarmPool() *cobra.Command {
7171
Short: "Query a farm pool",
7272
Args: cobra.ExactArgs(1),
7373
RunE: func(cmd *cobra.Command, args []string) error {
74-
clientCtx, err := client.GetClientTxContext(cmd)
74+
clientCtx, err := client.GetClientQueryContext(cmd)
7575
if err != nil {
7676
return err
7777
}
@@ -98,7 +98,7 @@ func GetCmdQueryFarmer() *cobra.Command {
9898
Short: "Query farmer reward",
9999
Args: cobra.ExactArgs(1),
100100
RunE: func(cmd *cobra.Command, args []string) error {
101-
clientCtx, err := client.GetClientTxContext(cmd)
101+
clientCtx, err := client.GetClientQueryContext(cmd)
102102
if err != nil {
103103
return err
104104
}

modules/mt/client/cli/query.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func GetCmdQueryDenoms() *cobra.Command {
3939
Long: "Query all denoms.",
4040
Example: fmt.Sprintf("$ %s query mt denoms", version.AppName),
4141
RunE: func(cmd *cobra.Command, args []string) error {
42-
clientCtx, err := client.GetClientTxContext(cmd)
42+
clientCtx, err := client.GetClientQueryContext(cmd)
4343
if err != nil {
4444
return err
4545
}
@@ -69,7 +69,7 @@ func GetCmdQueryDenom() *cobra.Command {
6969
Example: fmt.Sprintf("$ %s query mt denom <denom-id>", version.AppName),
7070
Args: cobra.ExactArgs(1),
7171
RunE: func(cmd *cobra.Command, args []string) error {
72-
clientCtx, err := client.GetClientTxContext(cmd)
72+
clientCtx, err := client.GetClientQueryContext(cmd)
7373
if err != nil {
7474
return err
7575
}
@@ -98,7 +98,7 @@ func GetCmdQueryMTSupply() *cobra.Command {
9898
Example: fmt.Sprintf("$ %s query mt supply <denom-id> <mt-id>", version.AppName),
9999
Args: cobra.ExactArgs(2),
100100
RunE: func(cmd *cobra.Command, args []string) error {
101-
clientCtx, err := client.GetClientTxContext(cmd)
101+
clientCtx, err := client.GetClientQueryContext(cmd)
102102
if err != nil {
103103
return err
104104
}
@@ -127,7 +127,7 @@ func GetCmdQueryMTs() *cobra.Command {
127127
Example: fmt.Sprintf("$ %s query mt tokens <denom-id>", version.AppName),
128128
Args: cobra.ExactArgs(1),
129129
RunE: func(cmd *cobra.Command, args []string) error {
130-
clientCtx, err := client.GetClientTxContext(cmd)
130+
clientCtx, err := client.GetClientQueryContext(cmd)
131131
if err != nil {
132132
return err
133133
}
@@ -162,7 +162,7 @@ func GetCmdQueryMT() *cobra.Command {
162162
Example: fmt.Sprintf("$ %s query mt token <denom-id> <mt-id>", version.AppName),
163163
Args: cobra.ExactArgs(2),
164164
RunE: func(cmd *cobra.Command, args []string) error {
165-
clientCtx, err := client.GetClientTxContext(cmd)
165+
clientCtx, err := client.GetClientQueryContext(cmd)
166166
if err != nil {
167167
return err
168168
}
@@ -191,7 +191,7 @@ func GetCmdQueryBalances() *cobra.Command {
191191
Example: fmt.Sprintf("$ %s query mt balances <owner> <denom-id>", version.AppName),
192192
Args: cobra.ExactArgs(2),
193193
RunE: func(cmd *cobra.Command, args []string) error {
194-
clientCtx, err := client.GetClientTxContext(cmd)
194+
clientCtx, err := client.GetClientQueryContext(cmd)
195195
if err != nil {
196196
return err
197197
}

modules/nft/client/cli/query.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func GetCmdQuerySupply() *cobra.Command {
4242
Example: fmt.Sprintf("$ %s query nft supply <denom-id>", version.AppName),
4343
Args: cobra.ExactArgs(1),
4444
RunE: func(cmd *cobra.Command, args []string) error {
45-
clientCtx, err := client.GetClientTxContext(cmd)
45+
clientCtx, err := client.GetClientQueryContext(cmd)
4646
if err != nil {
4747
return err
4848
}
@@ -85,7 +85,7 @@ func GetCmdQueryOwner() *cobra.Command {
8585
Example: fmt.Sprintf("$ %s query nft owner <address> --denom-id=<denom-id>", version.AppName),
8686
Args: cobra.ExactArgs(1),
8787
RunE: func(cmd *cobra.Command, args []string) error {
88-
clientCtx, err := client.GetClientTxContext(cmd)
88+
clientCtx, err := client.GetClientQueryContext(cmd)
8989
if err != nil {
9090
return err
9191
}
@@ -128,7 +128,7 @@ func GetCmdQueryCollection() *cobra.Command {
128128
Example: fmt.Sprintf("$ %s query nft collection <denom-id>", version.AppName),
129129
Args: cobra.ExactArgs(1),
130130
RunE: func(cmd *cobra.Command, args []string) error {
131-
clientCtx, err := client.GetClientTxContext(cmd)
131+
clientCtx, err := client.GetClientQueryContext(cmd)
132132
if err != nil {
133133
return err
134134
}
@@ -164,7 +164,7 @@ func GetCmdQueryDenoms() *cobra.Command {
164164
Long: "Query all denominations of all collections of NFTs.",
165165
Example: fmt.Sprintf("$ %s query nft denoms", version.AppName),
166166
RunE: func(cmd *cobra.Command, args []string) error {
167-
clientCtx, err := client.GetClientTxContext(cmd)
167+
clientCtx, err := client.GetClientQueryContext(cmd)
168168
if err != nil {
169169
return err
170170
}
@@ -194,7 +194,7 @@ func GetCmdQueryDenom() *cobra.Command {
194194
Example: fmt.Sprintf("$ %s query nft denom <denom-id>", version.AppName),
195195
Args: cobra.ExactArgs(1),
196196
RunE: func(cmd *cobra.Command, args []string) error {
197-
clientCtx, err := client.GetClientTxContext(cmd)
197+
clientCtx, err := client.GetClientQueryContext(cmd)
198198
if err != nil {
199199
return err
200200
}
@@ -223,7 +223,7 @@ func GetCmdQueryNFT() *cobra.Command {
223223
Example: fmt.Sprintf("$ %s query nft token <denom-id> <nft-id>", version.AppName),
224224
Args: cobra.ExactArgs(2),
225225
RunE: func(cmd *cobra.Command, args []string) error {
226-
clientCtx, err := client.GetClientTxContext(cmd)
226+
clientCtx, err := client.GetClientQueryContext(cmd)
227227
if err != nil {
228228
return err
229229
}

modules/nft/types/genesis.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func NewGenesisState(collections []Collection) *GenesisState {
1515
// error for any failed validation criteria.
1616
func ValidateGenesis(data GenesisState) error {
1717
for _, c := range data.Collections {
18-
if err := ValidateDenomID(c.Denom.Name); err != nil {
18+
if err := ValidateDenomID(c.Denom.Id); err != nil {
1919
return err
2020
}
2121

modules/nft/types/validation.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ var (
2929
// IsBeginWithAlpha only begin with [a-z]
3030
IsBeginWithAlpha = regexp.MustCompile(`^[a-z].*`).MatchString
3131

32+
tokenIdString = `[a-z0-9]{1,128}`
33+
regexpTokenID = regexp.MustCompile(fmt.Sprintf(`^%s$`, tokenIdString)).MatchString
34+
3235
keywords = strings.Join([]string{ReservedPeg, ReservedIBC, ReservedHTLT, ReservedTIBC}, "|")
3336
regexpKeywordsFmt = fmt.Sprintf("^(%s).*", keywords)
3437
regexpKeyword = regexp.MustCompile(regexpKeywordsFmt).MatchString
3538
)
3639

3740
// ValidateDenomID verifies whether the parameters are legal
3841
func ValidateDenomID(denomID string) error {
39-
if len(denomID) < MinDenomLen || len(denomID) > MaxDenomLen {
40-
return sdkerrors.Wrapf(ErrInvalidDenom, "the length of denom(%s) only accepts value [%d, %d]", denomID, MinDenomLen, MaxDenomLen)
41-
}
4242
boolPrifix := strings.HasPrefix(denomID, "tibc-")
4343
if !IsBeginWithAlpha(denomID) || !IsAlphaNumeric(denomID) && !boolPrifix {
4444
return sdkerrors.Wrapf(ErrInvalidDenom, "the denom(%s) only accepts alphanumeric characters, and begin with an english letter", denomID)
@@ -48,11 +48,8 @@ func ValidateDenomID(denomID string) error {
4848

4949
// ValidateTokenID verify that the tokenID is legal
5050
func ValidateTokenID(tokenID string) error {
51-
if len(tokenID) < MinDenomLen || len(tokenID) > MaxDenomLen {
52-
return sdkerrors.Wrapf(ErrInvalidTokenID, "the length of nft id(%s) only accepts value [%d, %d]", tokenID, MinDenomLen, MaxDenomLen)
53-
}
54-
if !IsBeginWithAlpha(tokenID) || !IsAlphaNumeric(tokenID) {
55-
return sdkerrors.Wrapf(ErrInvalidTokenID, "nft id(%s) only accepts alphanumeric characters, and begin with an english letter", tokenID)
51+
if !regexpTokenID(tokenID) {
52+
return sdkerrors.Wrapf(ErrInvalidTokenID, "tokenID can only accept characters that match the regular expression: (%s),but got (%s)", tokenIdString, tokenID)
5653
}
5754
return nil
5855
}

modules/random/keeper/service.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package keeper
22

33
import (
44
"encoding/hex"
5-
"math/rand"
6-
"time"
75

86
"github.com/tidwall/gjson"
97

@@ -38,8 +36,15 @@ func (k Keeper) RequestService(ctx sdk.Context, consumer sdk.AccAddress, service
3836
return nil, sdkerrors.ErrInsufficientFee
3937
}
4038

41-
rand.Seed(time.Now().UnixNano())
42-
provider, _ := sdk.AccAddressFromBech32(bindings[rand.Intn(len(bindings))].Provider)
39+
prng := types.MakePRNG(
40+
ctx.BlockHeader().LastBlockId.Hash,
41+
ctx.BlockHeader().Time.UnixNano(),
42+
consumer, nil, true)
43+
provider, err := sdk.AccAddressFromBech32(bindings[prng.Intn(len(bindings))].Provider)
44+
if err != nil {
45+
return nil, err
46+
}
47+
4348
timeout := k.serviceKeeper.GetParams(ctx).MaxRequestTimeout
4449

4550
return k.serviceKeeper.CreateRequestContext(

modules/random/types/rng.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package types
33
import (
44
"crypto/sha256"
55
"math/big"
6+
"math/rand"
67

78
sdk "github.com/cosmos/cosmos-sdk/types"
89
)
@@ -59,6 +60,11 @@ func (p PRNG) GetRand() *big.Rat {
5960
return random
6061
}
6162

63+
func (p PRNG) Intn(n int) int {
64+
rnd := rand.New(rand.NewSource(p.GetRand().Denom().Int64()))
65+
return rnd.Intn(n)
66+
}
67+
6268
// SHA256 wraps sha256.Sum256 with result converted to slice
6369
func SHA256(data []byte) []byte {
6470
sum := sha256.Sum256(data)

modules/record/client/cli/query.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func GetCmdQueryRecord() *cobra.Command {
3737
Short: "Query a record",
3838
Args: cobra.ExactArgs(1),
3939
RunE: func(cmd *cobra.Command, args []string) error {
40-
clientCtx, err := client.GetClientTxContext(cmd)
40+
clientCtx, err := client.GetClientQueryContext(cmd)
4141
if err != nil {
4242
return err
4343
}

0 commit comments

Comments
 (0)