Refactor x/staking Validation and Delegation tests based on MsgCreateValidator.Pubkey type change. (#7526)
* testing: refactore Validation and Delegation handling of x/staking This Changeset introduces set of improvements for writing tests. The idea is to create a testing subpackage which will provide functions to make tests more dev-friendly and wrap higher level use-cases. Here is a show-up of of creating a service for staking module for tests. This PR also changes the `x/staking/types.MsgCreateValidator.Pubkey` from string to types.Any. This change motivated the other change to show the pattern I'm describing here. * add validator checks * type change fixes * use deprecated * adding test slashing * new network comment update * working on tests * Fix TestMsgPkDecode test * Add UnpackInterfaces to MsgCreateValidator * Fix tests * Convert bech32 pubkey to proto * Fix test * fix v039/migrate_test/TestMigrate * fix tests * testslashing: rename Service to Helper * file rename * update TestMsgDecode Co-authored-by: blushi <marie.gauthier63@gmail.com> Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com> Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
This commit is contained in:
co-authored by
blushi
Amaury Martiny
Cory Levinson
parent
0f8fdf60df
commit
8eaf2ececc
+4
-16
@@ -14,7 +14,6 @@ import (
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -84,22 +83,11 @@ func (acc BaseAccount) GetPubKey() (pk crypto.PubKey) {
|
||||
|
||||
// SetPubKey - Implements sdk.AccountI.
|
||||
func (acc *BaseAccount) SetPubKey(pubKey crypto.PubKey) error {
|
||||
if pubKey == nil {
|
||||
acc.PubKey = nil
|
||||
} else {
|
||||
protoMsg, ok := pubKey.(proto.Message)
|
||||
if !ok {
|
||||
return sdkerrors.ErrInvalidPubKey
|
||||
}
|
||||
|
||||
any, err := codectypes.NewAnyWithValue(protoMsg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
acc.PubKey = any
|
||||
any, err := codectypes.PackAny(pubKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
acc.PubKey = any
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user