This commit is contained in:
parent
48c2f77a27
commit
a3f8a83ec4
|
@ -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)`
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue