chore(types): add MustAccAddressFromBech32 util func (backport #12201) (#12205)

This commit is contained in:
mergify[bot] 2022-06-09 15:01:04 -04:00 committed by GitHub
parent 48c2f77a27
commit a3f8a83ec4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 105 additions and 202 deletions

View File

@ -66,6 +66,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Improvements
* (types) [\#12201](https://github.com/cosmos/cosmos-sdk/pull/12201) Add `MustAccAddressFromBech32` util function
* [\#11693](https://github.com/cosmos/cosmos-sdk/pull/11693) Add validation for gentx cmd.
* [\#11686](https://github.com/cosmos/cosmos-sdk/pull/11686) Update the min required Golang version to `1.17`.
* (x/auth/vesting) [\#11652](https://github.com/cosmos/cosmos-sdk/pull/11652) Add util functions for `Period(s)`

View File

@ -212,7 +212,6 @@ func (c converter) UnsignedTx(ops []*rosettatypes.Operation) (tx authsigning.Tx,
}
return builder.GetTx(), nil
}
// Msg unmarshals the rosetta metadata to the given sdk.Msg
@ -334,7 +333,6 @@ func (c converter) BalanceOps(status string, events []abci.Event) []*rosettatype
// has changed and rosetta needs to reflect those changes too.
// The balance operations are multiple, one for each denom.
func sdkEventToBalanceOperations(status string, event abci.Event) (operations []*rosettatypes.Operation, isBalanceEvent bool) {
var (
accountIdentifier string
coinChange sdk.Coins
@ -345,10 +343,7 @@ func sdkEventToBalanceOperations(status string, event abci.Event) (operations []
default:
return nil, false
case banktypes.EventTypeCoinSpent:
spender, err := sdk.AccAddressFromBech32((string)(event.Attributes[0].Value))
if err != nil {
panic(err)
}
spender := sdk.MustAccAddressFromBech32((string)(event.Attributes[0].Value))
coins, err := sdk.ParseCoinsNormalized((string)(event.Attributes[1].Value))
if err != nil {
panic(err)
@ -359,10 +354,7 @@ func sdkEventToBalanceOperations(status string, event abci.Event) (operations []
accountIdentifier = spender.String()
case banktypes.EventTypeCoinReceived:
receiver, err := sdk.AccAddressFromBech32((string)(event.Attributes[0].Value))
if err != nil {
panic(err)
}
receiver := sdk.MustAccAddressFromBech32((string)(event.Attributes[0].Value))
coins, err := sdk.ParseCoinsNormalized((string)(event.Attributes[1].Value))
if err != nil {
panic(err)
@ -516,7 +508,7 @@ func (c converter) HashToTxType(hashBytes []byte) (txType TransactionType, realH
// StatusToSyncStatus converts a tendermint status to rosetta sync status
func (c converter) SyncStatus(status *tmcoretypes.ResultStatus) *rosettatypes.SyncStatus {
// determine sync status
var stage = StatusPeerSynced
stage := StatusPeerSynced
if status.SyncInfo.CatchingUp {
stage = StatusPeerSyncing
}
@ -584,7 +576,6 @@ func (c converter) Peers(peers []tmcoretypes.Peer) []*rosettatypes.Peer {
// OpsAndSigners takes transactions bytes and returns the operation, is signed is true it will return
// the account identifiers which have signed the transaction
func (c converter) OpsAndSigners(txBytes []byte) (ops []*rosettatypes.Operation, signers []*rosettatypes.AccountIdentifier, err error) {
rosTx, err := c.ToRosetta().Tx(txBytes, nil)
if err != nil {
return nil, nil, err
@ -678,7 +669,6 @@ func (c converter) PubKey(pubKey *rosettatypes.PublicKey) (cryptotypes.PubKey, e
// SigningComponents takes a sdk tx and construction metadata and returns signable components
func (c converter) SigningComponents(tx authsigning.Tx, metadata *ConstructionMetadata, rosPubKeys []*rosettatypes.PublicKey) (txBytes []byte, payloadsToSign []*rosettatypes.SigningPayload, err error) {
// verify metadata correctness
feeAmount, err := sdk.ParseCoinsNormalized(metadata.GasPrice)
if err != nil {

View File

@ -84,10 +84,8 @@ func (app *SimApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []
panic(err)
}
delAddr, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
delAddr := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
_, _ = app.DistrKeeper.WithdrawDelegationRewards(ctx, delAddr, valAddr)
}
@ -119,10 +117,7 @@ func (app *SimApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []
if err != nil {
panic(err)
}
delAddr, err := sdk.AccAddressFromBech32(del.DelegatorAddress)
if err != nil {
panic(err)
}
delAddr := sdk.MustAccAddressFromBech32(del.DelegatorAddress)
app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, delAddr, valAddr)
app.DistrKeeper.Hooks().AfterDelegationModified(ctx, delAddr, valAddr)
}

View File

@ -154,6 +154,16 @@ func VerifyAddressFormat(bz []byte) error {
return nil
}
// MustAccAddressFromBech32 calls AccAddressFromBech32 and panics on error.
func MustAccAddressFromBech32(address string) AccAddress {
addr, err := AccAddressFromBech32(address)
if err != nil {
panic(err)
}
return addr
}
// AccAddressFromBech32 creates an AccAddress from a Bech32 string.
func AccAddressFromBech32(address string) (addr AccAddress, err error) {
if len(strings.TrimSpace(address)) == 0 {

View File

@ -118,10 +118,7 @@ func (t *Tx) GetSigners() []sdk.AccAddress {
// ensure any specified fee payer is included in the required signers (at the end)
feePayer := t.AuthInfo.Fee.Payer
if feePayer != "" && !seen[feePayer] {
payerAddr, err := sdk.AccAddressFromBech32(feePayer)
if err != nil {
panic(err)
}
payerAddr := sdk.MustAccAddressFromBech32(feePayer)
signers = append(signers, payerAddr)
seen[feePayer] = true
}
@ -138,11 +135,7 @@ func (t *Tx) GetFee() sdk.Coins {
func (t *Tx) FeePayer() sdk.AccAddress {
feePayer := t.AuthInfo.Fee.Payer
if feePayer != "" {
payerAddr, err := sdk.AccAddressFromBech32(feePayer)
if err != nil {
panic(err)
}
return payerAddr
return sdk.MustAccAddressFromBech32(feePayer)
}
// use first signer as default if no payer specified
return t.GetSigners()[0]
@ -151,11 +144,7 @@ func (t *Tx) FeePayer() sdk.AccAddress {
func (t *Tx) FeeGranter() sdk.AccAddress {
feePayer := t.AuthInfo.Fee.Granter
if feePayer != "" {
granterAddr, err := sdk.AccAddressFromBech32(feePayer)
if err != nil {
panic(err)
}
return granterAddr
return sdk.MustAccAddressFromBech32(feePayer)
}
return nil
}

View File

@ -134,11 +134,7 @@ func (w *wrapper) GetFee() sdk.Coins {
func (w *wrapper) FeePayer() sdk.AccAddress {
feePayer := w.tx.AuthInfo.Fee.Payer
if feePayer != "" {
payerAddr, err := sdk.AccAddressFromBech32(feePayer)
if err != nil {
panic(err)
}
return payerAddr
return sdk.MustAccAddressFromBech32(feePayer)
}
// use first signer as default if no payer specified
return w.GetSigners()[0]
@ -147,11 +143,7 @@ func (w *wrapper) FeePayer() sdk.AccAddress {
func (w *wrapper) FeeGranter() sdk.AccAddress {
feePayer := w.tx.AuthInfo.Fee.Granter
if feePayer != "" {
granterAddr, err := sdk.AccAddressFromBech32(feePayer)
if err != nil {
panic(err)
}
return granterAddr
return sdk.MustAccAddressFromBech32(feePayer)
}
return nil
}

View File

@ -107,7 +107,8 @@ func (k Keeper) GranterGrants(c context.Context, req *authz.QueryGranterGrantsRe
var grants []*authz.GrantAuthorization
pageRes, err := query.FilteredPaginate(authzStore, req.Pagination, func(key []byte, value []byte,
accumulate bool) (bool, error) {
accumulate bool,
) (bool, error) {
auth, err := unmarshalAuthorization(k.cdc, value)
if err != nil {
return false, err
@ -156,7 +157,8 @@ func (k Keeper) GranteeGrants(c context.Context, req *authz.QueryGranteeGrantsRe
var authorizations []*authz.GrantAuthorization
pageRes, err := query.FilteredPaginate(store, req.Pagination, func(key []byte, value []byte,
accumulate bool) (bool, error) {
accumulate bool,
) (bool, error) {
auth, err := unmarshalAuthorization(k.cdc, value)
if err != nil {
return false, err

View File

@ -73,7 +73,7 @@ func (k Keeper) update(ctx sdk.Context, grantee sdk.AccAddress, granter sdk.AccA
// DispatchActions attempts to execute the provided messages via authorization
// grants from the message signer to the grantee.
func (k Keeper) DispatchActions(ctx sdk.Context, grantee sdk.AccAddress, msgs []sdk.Msg) ([][]byte, error) {
var results = make([][]byte, len(msgs))
results := make([][]byte, len(msgs))
for i, msg := range msgs {
signers := msg.GetSigners()
if len(signers) != 1 {
@ -198,7 +198,8 @@ func (k Keeper) GetCleanAuthorization(ctx sdk.Context, grantee sdk.AccAddress, g
// This function should be used with caution because it can involve significant IO operations.
// It should not be used in query or msg services without charging additional gas.
func (k Keeper) IterateGrants(ctx sdk.Context,
handler func(granterAddr sdk.AccAddress, granteeAddr sdk.AccAddress, grant authz.Grant) bool) {
handler func(granterAddr sdk.AccAddress, granteeAddr sdk.AccAddress, grant authz.Grant) bool,
) {
store := ctx.KVStore(k.storeKey)
iter := sdk.KVStorePrefixIterator(store, GrantKey)
defer iter.Close()
@ -232,20 +233,14 @@ func (k Keeper) ExportGenesis(ctx sdk.Context) *authz.GenesisState {
// InitGenesis new authz genesis
func (k Keeper) InitGenesis(ctx sdk.Context, data *authz.GenesisState) {
for _, entry := range data.Authorization {
grantee, err := sdk.AccAddressFromBech32(entry.Grantee)
if err != nil {
panic(err)
}
granter, err := sdk.AccAddressFromBech32(entry.Granter)
if err != nil {
panic(err)
}
grantee := sdk.MustAccAddressFromBech32(entry.Grantee)
granter := sdk.MustAccAddressFromBech32(entry.Granter)
a, ok := entry.Authorization.GetCachedValue().(authz.Authorization)
if !ok {
panic("expected authorization")
}
err = k.SaveGrant(ctx, grantee, granter, a, entry.Expiration)
err := k.SaveGrant(ctx, grantee, granter, a, entry.Expiration)
if err != nil {
panic(err)
}

View File

@ -16,10 +16,7 @@ func (k BaseKeeper) InitGenesis(ctx sdk.Context, genState *types.GenesisState) {
genState.Balances = types.SanitizeGenesisBalances(genState.Balances)
for _, balance := range genState.Balances {
addr, err := sdk.AccAddressFromBech32(balance.Address)
if err != nil {
panic(err)
}
addr := balance.GetAddress()
if err := k.initBalances(ctx, addr, balance.Coins); err != nil {
panic(fmt.Errorf("error on setting balances %w", err))

View File

@ -81,10 +81,8 @@ func (k msgServer) MultiSend(goCtx context.Context, msg *types.MsgMultiSend) (*t
}
for _, out := range msg.Outputs {
accAddr, err := sdk.AccAddressFromBech32(out.Address)
if err != nil {
panic(err)
}
accAddr := sdk.MustAccAddressFromBech32(out.Address)
if k.BlockedAddr(accAddr) {
return nil, sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive transactions", out.Address)
}

View File

@ -328,10 +328,7 @@ func sendMsgMultiSend(
sequenceNumbers := make([]uint64, len(msg.Inputs))
for i := 0; i < len(msg.Inputs); i++ {
addr, err := sdk.AccAddressFromBech32(msg.Inputs[i].Address)
if err != nil {
panic(err)
}
addr := sdk.MustAccAddressFromBech32(msg.Inputs[i].Address)
acc := ak.GetAccount(ctx, addr)
accountNumbers[i] = acc.GetAccountNumber()
sequenceNumbers[i] = acc.GetSequence()
@ -342,10 +339,7 @@ func sendMsgMultiSend(
err error
)
addr, err := sdk.AccAddressFromBech32(msg.Inputs[0].Address)
if err != nil {
panic(err)
}
addr := sdk.MustAccAddressFromBech32(msg.Inputs[0].Address)
// feePayer is the first signer, i.e. first input address
feePayer := ak.GetAccount(ctx, addr)

View File

@ -3,7 +3,6 @@ package types
import (
"bytes"
"encoding/json"
"fmt"
"sort"
"github.com/cosmos/cosmos-sdk/codec"
@ -15,12 +14,7 @@ var _ exported.GenesisBalance = (*Balance)(nil)
// GetAddress returns the account address of the Balance object.
func (b Balance) GetAddress() sdk.AccAddress {
addr, err := sdk.AccAddressFromBech32(b.Address)
if err != nil {
panic(fmt.Errorf("couldn't convert %q to account address: %v", b.Address, err))
}
return addr
return sdk.MustAccAddressFromBech32(b.Address)
}
// GetCoins returns the account coins of the Balance object.

View File

@ -15,15 +15,8 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) {
k.SetParams(ctx, data.Params)
for _, dwi := range data.DelegatorWithdrawInfos {
delegatorAddress, err := sdk.AccAddressFromBech32(dwi.DelegatorAddress)
if err != nil {
panic(err)
}
withdrawAddress, err := sdk.AccAddressFromBech32(dwi.WithdrawAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(dwi.DelegatorAddress)
withdrawAddress := sdk.MustAccAddressFromBech32(dwi.WithdrawAddress)
k.SetDelegatorWithdrawAddr(ctx, delegatorAddress, withdrawAddress)
}
@ -72,10 +65,8 @@ func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) {
if err != nil {
panic(err)
}
delegatorAddress, err := sdk.AccAddressFromBech32(del.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(del.DelegatorAddress)
k.SetDelegatorStartingInfo(ctx, valAddr, delegatorAddress, del.StartingInfo)
}
for _, evt := range data.ValidatorSlashEvents {

View File

@ -12,13 +12,12 @@ func HandleCommunityPoolSpendProposal(ctx sdk.Context, k Keeper, p *types.Commun
return sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive external funds", p.Recipient)
}
recipient, addrErr := sdk.AccAddressFromBech32(p.Recipient)
if addrErr != nil {
return addrErr
recipient, err := sdk.AccAddressFromBech32(p.Recipient)
if err != nil {
return err
}
err := k.DistributeFromFeePool(ctx, p.Amount, recipient)
if err != nil {
if err := k.DistributeFromFeePool(ctx, p.Amount, recipient); err != nil {
return err
}

View File

@ -28,7 +28,6 @@ func WeightedOperations(
appParams simtypes.AppParams, cdc codec.JSONCodec,
ak feegrant.AccountKeeper, bk feegrant.BankKeeper, k keeper.Keeper,
) simulation.WeightedOperations {
var (
weightMsgGrantAllowance int
weightMsgRevokeAllowance int
@ -85,7 +84,6 @@ func SimulateMsgGrantAllowance(ak feegrant.AccountKeeper, bk feegrant.BankKeeper
SpendLimit: spendableCoins,
Expiration: &oneYear,
}, granter.Address, grantee.Address)
if err != nil {
return simtypes.NoOpMsg(feegrant.ModuleName, TypeMsgGrantAllowance, err.Error()), nil, err
}
@ -114,20 +112,12 @@ func SimulateMsgRevokeAllowance(ak feegrant.AccountKeeper, bk feegrant.BankKeepe
return func(
r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string,
) (simtypes.OperationMsg, []simtypes.FutureOperation, error) {
hasGrant := false
var granterAddr sdk.AccAddress
var granteeAddr sdk.AccAddress
k.IterateAllFeeAllowances(ctx, func(grant feegrant.Grant) bool {
granter, err := sdk.AccAddressFromBech32(grant.Granter)
if err != nil {
panic(err)
}
grantee, err := sdk.AccAddressFromBech32(grant.Grantee)
if err != nil {
panic(err)
}
granter := sdk.MustAccAddressFromBech32(grant.Granter)
grantee := sdk.MustAccAddressFromBech32(grant.Grantee)
granterAddr = granter
granteeAddr = grantee
hasGrant = true

View File

@ -25,10 +25,7 @@ func (keeper Keeper) GetDeposit(ctx sdk.Context, proposalID uint64, depositorAdd
func (keeper Keeper) SetDeposit(ctx sdk.Context, deposit types.Deposit) {
store := ctx.KVStore(keeper.storeKey)
bz := keeper.cdc.MustMarshal(&deposit)
depositor, err := sdk.AccAddressFromBech32(deposit.Depositor)
if err != nil {
panic(err)
}
depositor := sdk.MustAccAddressFromBech32(deposit.Depositor)
store.Set(types.DepositKey(deposit.ProposalId, depositor), bz)
}
@ -63,10 +60,8 @@ func (keeper Keeper) DeleteDeposits(ctx sdk.Context, proposalID uint64) {
panic(err)
}
depositor, err := sdk.AccAddressFromBech32(deposit.Depositor)
if err != nil {
panic(err)
}
depositor := sdk.MustAccAddressFromBech32(deposit.Depositor)
store.Delete(types.DepositKey(proposalID, depositor))
return false
})
@ -171,12 +166,9 @@ func (keeper Keeper) RefundDeposits(ctx sdk.Context, proposalID uint64) {
store := ctx.KVStore(keeper.storeKey)
keeper.IterateDeposits(ctx, proposalID, func(deposit types.Deposit) bool {
depositor, err := sdk.AccAddressFromBech32(deposit.Depositor)
if err != nil {
panic(err)
}
depositor := sdk.MustAccAddressFromBech32(deposit.Depositor)
err = keeper.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, depositor, deposit.Amount)
err := keeper.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, depositor, deposit.Amount)
if err != nil {
panic(err)
}

View File

@ -61,11 +61,12 @@ func (k msgServer) SubmitProposal(goCtx context.Context, msg *types.MsgSubmitPro
func (k msgServer) Vote(goCtx context.Context, msg *types.MsgVote) (*types.MsgVoteResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
accAddr, accErr := sdk.AccAddressFromBech32(msg.Voter)
if accErr != nil {
return nil, accErr
accAddr, err := sdk.AccAddressFromBech32(msg.Voter)
if err != nil {
return nil, err
}
err := k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, types.NewNonSplitVoteOption(msg.Option))
err = k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, types.NewNonSplitVoteOption(msg.Option))
if err != nil {
return nil, err
}

View File

@ -35,11 +35,7 @@ func (keeper Keeper) Tally(ctx sdk.Context, proposal types.Proposal) (passes boo
keeper.IterateVotes(ctx, proposal.ProposalId, func(vote types.Vote) bool {
// if validator, just record it in the map
voter, err := sdk.AccAddressFromBech32(vote.Voter)
if err != nil {
panic(err)
}
voter := sdk.MustAccAddressFromBech32(vote.Voter)
valAddrStr := sdk.ValAddress(voter.Bytes()).String()
if val, ok := currValidators[valAddrStr]; ok {

View File

@ -84,10 +84,8 @@ func (keeper Keeper) SetVote(ctx sdk.Context, vote types.Vote) {
store := ctx.KVStore(keeper.storeKey)
bz := keeper.cdc.MustMarshal(&vote)
addr, err := sdk.AccAddressFromBech32(vote.Voter)
if err != nil {
panic(err)
}
addr := sdk.MustAccAddressFromBech32(vote.Voter)
store.Set(types.VoteKey(vote.ProposalId, addr), bz)
}

View File

@ -63,10 +63,7 @@ func InitGenesis(
}
for _, delegation := range data.Delegations {
delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
// Call the before-creation hook if not exported
if !data.Exported {

View File

@ -12,7 +12,8 @@ import (
// GetDelegation returns a specific delegation.
func (k Keeper) GetDelegation(ctx sdk.Context,
delAddr sdk.AccAddress, valAddr sdk.ValAddress) (delegation types.Delegation, found bool) {
delAddr sdk.AccAddress, valAddr sdk.ValAddress,
) (delegation types.Delegation, found bool) {
store := ctx.KVStore(k.storeKey)
key := types.GetDelegationKey(delAddr, valAddr)
@ -72,7 +73,8 @@ func (k Keeper) GetValidatorDelegations(ctx sdk.Context, valAddr sdk.ValAddress)
// GetDelegatorDelegations returns a given amount of all the delegations from a
// delegator.
func (k Keeper) GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddress,
maxRetrieve uint16) (delegations []types.Delegation) {
maxRetrieve uint16,
) (delegations []types.Delegation) {
delegations = make([]types.Delegation, maxRetrieve)
store := ctx.KVStore(k.storeKey)
delegatorPrefixKey := types.GetDelegationsKey(delegator)
@ -92,10 +94,7 @@ func (k Keeper) GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddres
// SetDelegation sets a delegation.
func (k Keeper) SetDelegation(ctx sdk.Context, delegation types.Delegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
store := ctx.KVStore(k.storeKey)
b := types.MustMarshalDelegation(k.cdc, delegation)
@ -104,11 +103,8 @@ func (k Keeper) SetDelegation(ctx sdk.Context, delegation types.Delegation) {
// RemoveDelegation removes a delegation.
func (k Keeper) RemoveDelegation(ctx sdk.Context, delegation types.Delegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
// TODO: Consider calling hooks outside of the store wrapper functions, it's unobvious.
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
k.BeforeDelegationRemoved(ctx, delegatorAddress, delegation.GetValidatorAddr())
store := ctx.KVStore(k.storeKey)
store.Delete(types.GetDelegationKey(delegatorAddress, delegation.GetValidatorAddr()))
@ -116,7 +112,8 @@ func (k Keeper) RemoveDelegation(ctx sdk.Context, delegation types.Delegation) {
// GetUnbondingDelegations returns a given amount of all the delegator unbonding-delegations.
func (k Keeper) GetUnbondingDelegations(ctx sdk.Context, delegator sdk.AccAddress,
maxRetrieve uint16) (unbondingDelegations []types.UnbondingDelegation) {
maxRetrieve uint16,
) (unbondingDelegations []types.UnbondingDelegation) {
unbondingDelegations = make([]types.UnbondingDelegation, maxRetrieve)
store := ctx.KVStore(k.storeKey)
@ -266,7 +263,8 @@ func (k Keeper) IterateDelegatorRedelegations(ctx sdk.Context, delegator sdk.Acc
// HasMaxUnbondingDelegationEntries - check if unbonding delegation has maximum number of entries.
func (k Keeper) HasMaxUnbondingDelegationEntries(ctx sdk.Context,
delegatorAddr sdk.AccAddress, validatorAddr sdk.ValAddress) bool {
delegatorAddr sdk.AccAddress, validatorAddr sdk.ValAddress,
) bool {
ubd, found := k.GetUnbondingDelegation(ctx, delegatorAddr, validatorAddr)
if !found {
return false
@ -277,10 +275,8 @@ func (k Keeper) HasMaxUnbondingDelegationEntries(ctx sdk.Context,
// SetUnbondingDelegation sets the unbonding delegation and associated index.
func (k Keeper) SetUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDelegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(ubd.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(ubd.DelegatorAddress)
store := ctx.KVStore(k.storeKey)
bz := types.MustMarshalUBD(k.cdc, ubd)
addr, err := sdk.ValAddressFromBech32(ubd.ValidatorAddress)
@ -294,10 +290,7 @@ func (k Keeper) SetUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDeleg
// RemoveUnbondingDelegation removes the unbonding delegation object and associated index.
func (k Keeper) RemoveUnbondingDelegation(ctx sdk.Context, ubd types.UnbondingDelegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(ubd.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(ubd.DelegatorAddress)
store := ctx.KVStore(k.storeKey)
addr, err := sdk.ValAddressFromBech32(ubd.ValidatorAddress)
@ -356,7 +349,8 @@ func (k Keeper) SetUBDQueueTimeSlice(ctx sdk.Context, timestamp time.Time, keys
// InsertUBDQueue inserts an unbonding delegation to the appropriate timeslice
// in the unbonding queue.
func (k Keeper) InsertUBDQueue(ctx sdk.Context, ubd types.UnbondingDelegation,
completionTime time.Time) {
completionTime time.Time,
) {
dvPair := types.DVPair{DelegatorAddress: ubd.DelegatorAddress, ValidatorAddress: ubd.ValidatorAddress}
timeSlice := k.GetUBDQueueTimeSlice(ctx, completionTime)
@ -399,7 +393,8 @@ func (k Keeper) DequeueAllMatureUBDQueue(ctx sdk.Context, currTime time.Time) (m
// GetRedelegations returns a given amount of all the delegator redelegations.
func (k Keeper) GetRedelegations(ctx sdk.Context, delegator sdk.AccAddress,
maxRetrieve uint16) (redelegations []types.Redelegation) {
maxRetrieve uint16,
) (redelegations []types.Redelegation) {
redelegations = make([]types.Redelegation, maxRetrieve)
store := ctx.KVStore(k.storeKey)
@ -420,7 +415,8 @@ func (k Keeper) GetRedelegations(ctx sdk.Context, delegator sdk.AccAddress,
// GetRedelegation returns a redelegation.
func (k Keeper) GetRedelegation(ctx sdk.Context,
delAddr sdk.AccAddress, valSrcAddr, valDstAddr sdk.ValAddress) (red types.Redelegation, found bool) {
delAddr sdk.AccAddress, valSrcAddr, valDstAddr sdk.ValAddress,
) (red types.Redelegation, found bool) {
store := ctx.KVStore(k.storeKey)
key := types.GetREDKey(delAddr, valSrcAddr, valDstAddr)
@ -454,7 +450,8 @@ func (k Keeper) GetRedelegationsFromSrcValidator(ctx sdk.Context, valAddr sdk.Va
// HasReceivingRedelegation checks if validator is receiving a redelegation.
func (k Keeper) HasReceivingRedelegation(ctx sdk.Context,
delAddr sdk.AccAddress, valDstAddr sdk.ValAddress) bool {
delAddr sdk.AccAddress, valDstAddr sdk.ValAddress,
) bool {
store := ctx.KVStore(k.storeKey)
prefix := types.GetREDsByDelToValDstIndexKey(delAddr, valDstAddr)
@ -467,7 +464,8 @@ func (k Keeper) HasReceivingRedelegation(ctx sdk.Context,
// HasMaxRedelegationEntries checks if redelegation has maximum number of entries.
func (k Keeper) HasMaxRedelegationEntries(ctx sdk.Context,
delegatorAddr sdk.AccAddress, validatorSrcAddr,
validatorDstAddr sdk.ValAddress) bool {
validatorDstAddr sdk.ValAddress,
) bool {
red, found := k.GetRedelegation(ctx, delegatorAddr, validatorSrcAddr, validatorDstAddr)
if !found {
return false
@ -478,10 +476,7 @@ func (k Keeper) HasMaxRedelegationEntries(ctx sdk.Context,
// SetRedelegation set a redelegation and associated index.
func (k Keeper) SetRedelegation(ctx sdk.Context, red types.Redelegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(red.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(red.DelegatorAddress)
store := ctx.KVStore(k.storeKey)
bz := types.MustMarshalRED(k.cdc, red)
@ -505,7 +500,8 @@ func (k Keeper) SetRedelegationEntry(ctx sdk.Context,
delegatorAddr sdk.AccAddress, validatorSrcAddr,
validatorDstAddr sdk.ValAddress, creationHeight int64,
minTime time.Time, balance sdk.Int,
sharesSrc, sharesDst sdk.Dec) types.Redelegation {
sharesSrc, sharesDst sdk.Dec,
) types.Redelegation {
red, found := k.GetRedelegation(ctx, delegatorAddr, validatorSrcAddr, validatorDstAddr)
if found {
red.AddEntry(creationHeight, minTime, balance, sharesDst)
@ -537,10 +533,8 @@ func (k Keeper) IterateRedelegations(ctx sdk.Context, fn func(index int64, red t
// RemoveRedelegation removes a redelegation object and associated index.
func (k Keeper) RemoveRedelegation(ctx sdk.Context, red types.Redelegation) {
delegatorAddress, err := sdk.AccAddressFromBech32(red.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(red.DelegatorAddress)
store := ctx.KVStore(k.storeKey)
valSrcAddr, err := sdk.ValAddressFromBech32(red.ValidatorSrcAddress)
if err != nil {
@ -585,12 +579,14 @@ func (k Keeper) SetRedelegationQueueTimeSlice(ctx sdk.Context, timestamp time.Ti
// InsertRedelegationQueue insert an redelegation delegation to the appropriate
// timeslice in the redelegation queue.
func (k Keeper) InsertRedelegationQueue(ctx sdk.Context, red types.Redelegation,
completionTime time.Time) {
completionTime time.Time,
) {
timeSlice := k.GetRedelegationQueueTimeSlice(ctx, completionTime)
dvvTriplet := types.DVVTriplet{
DelegatorAddress: red.DelegatorAddress,
ValidatorSrcAddress: red.ValidatorSrcAddress,
ValidatorDstAddress: red.ValidatorDstAddress}
ValidatorDstAddress: red.ValidatorDstAddress,
}
if len(timeSlice) == 0 {
k.SetRedelegationQueueTimeSlice(ctx, completionTime, []types.DVVTriplet{dvvTriplet})
@ -656,10 +652,7 @@ func (k Keeper) Delegate(
k.BeforeDelegationCreated(ctx, delAddr, validator.GetOperator())
}
delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress)
// if subtractAccount is true then we are
// performing a delegation and not a redelegation, thus the source tokens are

View File

@ -497,10 +497,8 @@ func RedelegationsToRedelegationResponses(
panic(err)
}
delegatorAddress, err := sdk.AccAddressFromBech32(redel.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(redel.DelegatorAddress)
val, found := k.GetValidator(ctx, valDstAddr)
if !found {
return nil, types.ErrNoValidatorFound

View File

@ -250,10 +250,7 @@ func (k Keeper) SlashRedelegation(ctx sdk.Context, srcValidator types.Validator,
panic(err)
}
delegatorAddress, err := sdk.AccAddressFromBech32(redelegation.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(redelegation.DelegatorAddress)
delegation, found := k.GetDelegation(ctx, delegatorAddress, valDstAddr)
if !found {

View File

@ -39,10 +39,8 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
if err != nil {
panic(err)
}
delegatorAddress, err := sdk.AccAddressFromBech32(dvPair.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(dvPair.DelegatorAddress)
balances, err := k.CompleteUnbonding(ctx, delegatorAddress, addr)
if err != nil {
continue
@ -69,10 +67,8 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate {
if err != nil {
panic(err)
}
delegatorAddress, err := sdk.AccAddressFromBech32(dvvTriplet.DelegatorAddress)
if err != nil {
panic(err)
}
delegatorAddress := sdk.MustAccAddressFromBech32(dvvTriplet.DelegatorAddress)
balances, err := k.CompleteRedelegation(
ctx,
delegatorAddress,

View File

@ -60,10 +60,8 @@ func UnmarshalDelegation(cdc codec.BinaryCodec, value []byte) (delegation Delega
}
func (d Delegation) GetDelegatorAddr() sdk.AccAddress {
delAddr, err := sdk.AccAddressFromBech32(d.DelegatorAddress)
if err != nil {
panic(err)
}
delAddr := sdk.MustAccAddressFromBech32(d.DelegatorAddress)
return delAddr
}
func (d Delegation) GetValidatorAddr() sdk.ValAddress {