refactor(evidence): remove bech32 global (#15825)

This commit is contained in:
Marko
2023-04-13 11:11:21 +00:00
committed by GitHub
parent 495ef01f71
commit 42f03c369f
7 changed files with 16 additions and 5 deletions
+1 -1
View File
@@ -370,7 +370,7 @@ func NewSimApp(
// create evidence keeper with router
evidenceKeeper := evidencekeeper.NewKeeper(
appCodec, keys[evidencetypes.StoreKey], app.StakingKeeper, app.SlashingKeeper,
appCodec, keys[evidencetypes.StoreKey], app.StakingKeeper, app.SlashingKeeper, app.AccountKeeper.GetAddressCodec(),
)
// If evidence needs to be handled for the app, set routes in router here and seal
app.EvidenceKeeper = *evidenceKeeper
+4
View File
@@ -29,3 +29,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
* (x/evidence) [14724](https://github.com/cosmos/cosmos-sdk/pull/14724) The `x/evidence` module is extracted to have a separate go.mod file which allows it be a standalone module.
* (keeper) [#15420](https://github.com/cosmos/cosmos-sdk/pull/15420) Move `BeginBlocker` to the keeper folder & make HandleEquivocation private
### API Breaking Changes
* (keeper) [#15825](https://github.com/cosmos/cosmos-sdk/pull/15825) Evidence constructor now requires an `address.Codec` (`import "cosmossdk.io/core/address"`)
+4 -1
View File
@@ -5,6 +5,7 @@ import (
"fmt"
"strings"
"cosmossdk.io/core/address"
"cosmossdk.io/log"
"cosmossdk.io/x/evidence/exported"
"cosmossdk.io/x/evidence/types"
@@ -26,18 +27,20 @@ type Keeper struct {
router types.Router
stakingKeeper types.StakingKeeper
slashingKeeper types.SlashingKeeper
addressCodec address.Codec
}
// NewKeeper creates a new Keeper object.
func NewKeeper(
cdc codec.BinaryCodec, storeKey storetypes.StoreKey, stakingKeeper types.StakingKeeper,
slashingKeeper types.SlashingKeeper,
slashingKeeper types.SlashingKeeper, ac address.Codec,
) *Keeper {
return &Keeper{
cdc: cdc,
storeKey: storeKey,
stakingKeeper: stakingKeeper,
slashingKeeper: slashingKeeper,
addressCodec: ac,
}
}
+2
View File
@@ -17,6 +17,7 @@ import (
storetypes "cosmossdk.io/store/types"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/testutil"
@@ -101,6 +102,7 @@ func (suite *KeeperTestSuite) SetupTest() {
key,
stakingKeeper,
slashingKeeper,
address.NewBech32Codec("cosmos"),
)
suite.stakingKeeper = stakingKeeper
+1 -1
View File
@@ -24,7 +24,7 @@ var _ types.MsgServer = msgServer{}
// SubmitEvidence implements the MsgServer.SubmitEvidence method.
func (ms msgServer) SubmitEvidence(goCtx context.Context, msg *types.MsgSubmitEvidence) (*types.MsgSubmitEvidenceResponse, error) {
if _, err := sdk.AccAddressFromBech32(msg.Submitter); err != nil {
if _, err := ms.addressCodec.StringToBytes(msg.Submitter); err != nil {
return nil, sdkerrors.ErrInvalidAddress.Wrapf("invalid submitter address: %s", err)
}
+1 -1
View File
@@ -42,7 +42,7 @@ func (s *KeeperTestSuite) TestSubmitEvidence() {
name: "invalid address",
req: &types.MsgSubmitEvidence{},
expErr: true,
expErrMsg: "invalid submitter address: empty address string is not allowed: invalid address",
expErrMsg: "invalid submitter address: decoding bech32 failed: invalid bech32 string length 0",
},
{
name: "missing evidence",
+3 -1
View File
@@ -11,6 +11,7 @@ import (
"google.golang.org/grpc"
modulev1 "cosmossdk.io/api/cosmos/evidence/module/v1"
"cosmossdk.io/core/address"
"cosmossdk.io/core/appmodule"
"cosmossdk.io/depinject"
@@ -207,6 +208,7 @@ type ModuleInputs struct {
StakingKeeper types.StakingKeeper
SlashingKeeper types.SlashingKeeper
AddressCodec address.Codec
}
type ModuleOutputs struct {
@@ -217,7 +219,7 @@ type ModuleOutputs struct {
}
func ProvideModule(in ModuleInputs) ModuleOutputs {
k := keeper.NewKeeper(in.Cdc, in.Key, in.StakingKeeper, in.SlashingKeeper)
k := keeper.NewKeeper(in.Cdc, in.Key, in.StakingKeeper, in.SlashingKeeper, in.AddressCodec)
m := NewAppModule(*k)
return ModuleOutputs{EvidenceKeeper: *k, Module: m}