Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R4R: Remove KV marshalling split #3230

Merged
merged 4 commits into from
Jan 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions PENDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ BREAKING CHANGES

* SDK
* [stake] \#2513 Validator power type from Dec -> Int
* [stake] \#3233 key and value now contain duplicate fields to simplify code
* [\#3064](https://github.com/cosmos/cosmos-sdk/issues/3064) Sanitize `sdk.Coin` denom. Coins denoms are now case insensitive, i.e. 100fooToken equals to 100FOOTOKEN.

* Tendermint
Expand Down
18 changes: 8 additions & 10 deletions x/stake/client/cli/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func GetCmdQueryValidator(storeName string, cdc *codec.Codec) *cobra.Command {
return fmt.Errorf("No validator found with address %s", args[0])
}

validator := types.MustUnmarshalValidator(cdc, addr, res)
validator := types.MustUnmarshalValidator(cdc, res)

switch viper.Get(cli.OutputFlag) {
case "text":
Expand Down Expand Up @@ -81,8 +81,7 @@ func GetCmdQueryValidators(storeName string, cdc *codec.Codec) *cobra.Command {
// parse out the validators
var validators []stake.Validator
for _, kv := range resKVs {
addr := kv.Key[1:]
validator := types.MustUnmarshalValidator(cdc, addr, kv.Value)
validator := types.MustUnmarshalValidator(cdc, kv.Value)
validators = append(validators, validator)
}

Expand Down Expand Up @@ -209,8 +208,7 @@ func GetCmdQueryDelegation(storeName string, cdc *codec.Codec) *cobra.Command {
}

// parse out the delegation

delegation, err := types.UnmarshalDelegation(cdc, key, res)
delegation, err := types.UnmarshalDelegation(cdc, res)
if err != nil {
return err
}
Expand Down Expand Up @@ -267,7 +265,7 @@ func GetCmdQueryDelegations(storeName string, cdc *codec.Codec) *cobra.Command {
// parse out the validators
var delegations []stake.Delegation
for _, kv := range resKVs {
delegation := types.MustUnmarshalDelegation(cdc, kv.Key, kv.Value)
delegation := types.MustUnmarshalDelegation(cdc, kv.Value)
delegations = append(delegations, delegation)
}

Expand Down Expand Up @@ -347,7 +345,7 @@ func GetCmdQueryUnbondingDelegation(storeName string, cdc *codec.Codec) *cobra.C
}

// parse out the unbonding delegation
ubd := types.MustUnmarshalUBD(cdc, key, res)
ubd := types.MustUnmarshalUBD(cdc, res)

switch viper.Get(cli.OutputFlag) {
case "text":
Expand Down Expand Up @@ -401,7 +399,7 @@ func GetCmdQueryUnbondingDelegations(storeName string, cdc *codec.Codec) *cobra.
// parse out the unbonding delegations
var ubds []stake.UnbondingDelegation
for _, kv := range resKVs {
ubd := types.MustUnmarshalUBD(cdc, kv.Key, kv.Value)
ubd := types.MustUnmarshalUBD(cdc, kv.Value)
ubds = append(ubds, ubd)
}

Expand Down Expand Up @@ -451,7 +449,7 @@ func GetCmdQueryRedelegation(storeName string, cdc *codec.Codec) *cobra.Command
}

// parse out the unbonding delegation
red := types.MustUnmarshalRED(cdc, key, res)
red := types.MustUnmarshalRED(cdc, res)

switch viper.Get(cli.OutputFlag) {
case "text":
Expand Down Expand Up @@ -505,7 +503,7 @@ func GetCmdQueryRedelegations(storeName string, cdc *codec.Codec) *cobra.Command
// parse out the validators
var reds []stake.Redelegation
for _, kv := range resKVs {
red := types.MustUnmarshalRED(cdc, kv.Key, kv.Value)
red := types.MustUnmarshalRED(cdc, kv.Value)
reds = append(reds, red)
}

Expand Down
2 changes: 1 addition & 1 deletion x/stake/client/cli/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func getShares(
return sharesAmount, errors.Errorf("cannot find delegation to determine percent Error: %v", err)
}

delegation, err := types.UnmarshalDelegation(cdc, key, resQuery)
delegation, err := types.UnmarshalDelegation(cdc, resQuery)
if err != nil {
return sdk.ZeroDec(), err
}
Expand Down
24 changes: 12 additions & 12 deletions x/stake/keeper/delegation.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func (k Keeper) GetDelegation(ctx sdk.Context,
return delegation, false
}

delegation = types.MustUnmarshalDelegation(k.cdc, key, value)
delegation = types.MustUnmarshalDelegation(k.cdc, value)
return delegation, true
}

Expand All @@ -31,7 +31,7 @@ func (k Keeper) GetAllDelegations(ctx sdk.Context) (delegations []types.Delegati
defer iterator.Close()

for ; iterator.Valid(); iterator.Next() {
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Key(), iterator.Value())
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Value())
delegations = append(delegations, delegation)
}
return delegations
Expand All @@ -44,7 +44,7 @@ func (k Keeper) GetValidatorDelegations(ctx sdk.Context, valAddr sdk.ValAddress)
defer iterator.Close()

for ; iterator.Valid(); iterator.Next() {
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Key(), iterator.Value())
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Value())
if delegation.GetValidatorAddr().Equals(valAddr) {
delegations = append(delegations, delegation)
}
Expand All @@ -65,7 +65,7 @@ func (k Keeper) GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddres

i := 0
for ; iterator.Valid() && i < int(maxRetrieve); iterator.Next() {
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Key(), iterator.Value())
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Value())
delegations[i] = delegation
i++
}
Expand Down Expand Up @@ -101,7 +101,7 @@ func (k Keeper) GetUnbondingDelegations(ctx sdk.Context, delegator sdk.AccAddres

i := 0
for ; iterator.Valid() && i < int(maxRetrieve); iterator.Next() {
unbondingDelegation := types.MustUnmarshalUBD(k.cdc, iterator.Key(), iterator.Value())
unbondingDelegation := types.MustUnmarshalUBD(k.cdc, iterator.Value())
unbondingDelegations[i] = unbondingDelegation
i++
}
Expand All @@ -119,7 +119,7 @@ func (k Keeper) GetUnbondingDelegation(ctx sdk.Context,
return ubd, false
}

ubd = types.MustUnmarshalUBD(k.cdc, key, value)
ubd = types.MustUnmarshalUBD(k.cdc, value)
return ubd, true
}

Expand All @@ -132,7 +132,7 @@ func (k Keeper) GetUnbondingDelegationsFromValidator(ctx sdk.Context, valAddr sd
for ; iterator.Valid(); iterator.Next() {
key := GetUBDKeyFromValIndexKey(iterator.Key())
value := store.Get(key)
ubd := types.MustUnmarshalUBD(k.cdc, key, value)
ubd := types.MustUnmarshalUBD(k.cdc, value)
ubds = append(ubds, ubd)
}
return ubds
Expand All @@ -145,7 +145,7 @@ func (k Keeper) IterateUnbondingDelegations(ctx sdk.Context, fn func(index int64
defer iterator.Close()

for i := int64(0); iterator.Valid(); iterator.Next() {
ubd := types.MustUnmarshalUBD(k.cdc, iterator.Key(), iterator.Value())
ubd := types.MustUnmarshalUBD(k.cdc, iterator.Value())
if stop := fn(i, ubd); stop {
break
}
Expand Down Expand Up @@ -235,7 +235,7 @@ func (k Keeper) GetRedelegations(ctx sdk.Context, delegator sdk.AccAddress,

i := 0
for ; iterator.Valid() && i < int(maxRetrieve); iterator.Next() {
redelegation := types.MustUnmarshalRED(k.cdc, iterator.Key(), iterator.Value())
redelegation := types.MustUnmarshalRED(k.cdc, iterator.Value())
redelegations[i] = redelegation
i++
}
Expand All @@ -253,7 +253,7 @@ func (k Keeper) GetRedelegation(ctx sdk.Context,
return red, false
}

red = types.MustUnmarshalRED(k.cdc, key, value)
red = types.MustUnmarshalRED(k.cdc, value)
return red, true
}

Expand All @@ -266,7 +266,7 @@ func (k Keeper) GetRedelegationsFromValidator(ctx sdk.Context, valAddr sdk.ValAd
for ; iterator.Valid(); iterator.Next() {
key := GetREDKeyFromValSrcIndexKey(iterator.Key())
value := store.Get(key)
red := types.MustUnmarshalRED(k.cdc, key, value)
red := types.MustUnmarshalRED(k.cdc, value)
reds = append(reds, red)
}
return reds
Expand Down Expand Up @@ -305,7 +305,7 @@ func (k Keeper) IterateRedelegations(ctx sdk.Context, fn func(index int64, red t
defer iterator.Close()

for i := int64(0); iterator.Valid(); iterator.Next() {
red := types.MustUnmarshalRED(k.cdc, iterator.Key(), iterator.Value())
red := types.MustUnmarshalRED(k.cdc, iterator.Value())
if stop := fn(i, red); stop {
break
}
Expand Down
9 changes: 4 additions & 5 deletions x/stake/keeper/query_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ func (k Keeper) GetDelegatorValidators(ctx sdk.Context, delegatorAddr sdk.AccAdd

i := 0
for ; iterator.Valid() && i < int(maxRetrieve); iterator.Next() {
addr := iterator.Key()
delegation := types.MustUnmarshalDelegation(k.cdc, addr, iterator.Value())
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Value())

validator, found := k.GetValidator(ctx, delegation.ValidatorAddr)
if !found {
Expand Down Expand Up @@ -59,7 +58,7 @@ func (k Keeper) GetAllDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAdd

i := 0
for ; iterator.Valid(); iterator.Next() {
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Key(), iterator.Value())
delegation := types.MustUnmarshalDelegation(k.cdc, iterator.Value())
delegations = append(delegations, delegation)
i++
}
Expand All @@ -77,7 +76,7 @@ func (k Keeper) GetAllUnbondingDelegations(ctx sdk.Context, delegator sdk.AccAdd

i := 0
for ; iterator.Valid(); iterator.Next() {
unbondingDelegation := types.MustUnmarshalUBD(k.cdc, iterator.Key(), iterator.Value())
unbondingDelegation := types.MustUnmarshalUBD(k.cdc, iterator.Value())
unbondingDelegations = append(unbondingDelegations, unbondingDelegation)
i++
}
Expand All @@ -95,7 +94,7 @@ func (k Keeper) GetAllRedelegations(ctx sdk.Context, delegator sdk.AccAddress, s
dstValFilter := !(dstValAddress.Empty() || dstValAddress == nil)

for ; iterator.Valid(); iterator.Next() {
redelegation := types.MustUnmarshalRED(k.cdc, iterator.Key(), iterator.Value())
redelegation := types.MustUnmarshalRED(k.cdc, iterator.Value())
if srcValFilter && !(srcValAddress.Equals(redelegation.ValidatorSrcAddr)) {
continue
}
Expand Down
5 changes: 2 additions & 3 deletions x/stake/keeper/sdk_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ func (k Keeper) IterateValidators(ctx sdk.Context, fn func(index int64, validato
iterator := sdk.KVStorePrefixIterator(store, ValidatorsKey)
i := int64(0)
for ; iterator.Valid(); iterator.Next() {
addr := iterator.Key()[1:]
validator := types.MustUnmarshalValidator(k.cdc, addr, iterator.Value())
validator := types.MustUnmarshalValidator(k.cdc, iterator.Value())
stop := fn(i, validator) // XXX is this safe will the validator unexposed fields be able to get written to?
if stop {
break
Expand Down Expand Up @@ -136,7 +135,7 @@ func (k Keeper) IterateDelegations(ctx sdk.Context, delAddr sdk.AccAddress,
delegatorPrefixKey := GetDelegationsKey(delAddr)
iterator := sdk.KVStorePrefixIterator(store, delegatorPrefixKey) //smallest to largest
for i := int64(0); iterator.Valid(); iterator.Next() {
del := types.MustUnmarshalDelegation(k.cdc, iterator.Key(), iterator.Value())
del := types.MustUnmarshalDelegation(k.cdc, iterator.Value())
stop := fn(i, del)
if stop {
break
Expand Down
10 changes: 4 additions & 6 deletions x/stake/keeper/validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func (k Keeper) GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator ty
}

// amino bytes weren't found in cache, so amino unmarshal and add it to the cache
validator = types.MustUnmarshalValidator(k.cdc, addr, value)
validator = types.MustUnmarshalValidator(k.cdc, value)
cachedVal := cachedValidator{validator, strValue}
k.validatorCache[strValue] = cachedValidator{validator, strValue}
k.validatorCacheList.PushBack(cachedVal)
Expand All @@ -47,7 +47,7 @@ func (k Keeper) GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator ty
delete(k.validatorCache, valToRemove.marshalled)
}

validator = types.MustUnmarshalValidator(k.cdc, addr, value)
validator = types.MustUnmarshalValidator(k.cdc, value)
return validator, true
}

Expand Down Expand Up @@ -217,8 +217,7 @@ func (k Keeper) GetAllValidators(ctx sdk.Context) (validators []types.Validator)
defer iterator.Close()

for ; iterator.Valid(); iterator.Next() {
addr := iterator.Key()[1:]
validator := types.MustUnmarshalValidator(k.cdc, addr, iterator.Value())
validator := types.MustUnmarshalValidator(k.cdc, iterator.Value())
validators = append(validators, validator)
}
return validators
Expand All @@ -234,8 +233,7 @@ func (k Keeper) GetValidators(ctx sdk.Context, maxRetrieve uint16) (validators [

i := 0
for ; iterator.Valid() && i < int(maxRetrieve); iterator.Next() {
addr := iterator.Key()[1:]
validator := types.MustUnmarshalValidator(k.cdc, addr, iterator.Value())
validator := types.MustUnmarshalValidator(k.cdc, iterator.Value())
validators[i] = validator
i++
}
Expand Down
Loading