From e2b72141bf0cbdfd3e71f2669a9ae3c367d5f550 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Mon, 2 Mar 2020 12:49:32 -0500 Subject: [PATCH] Update keeper --- x/gov/keeper/proposal.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/x/gov/keeper/proposal.go b/x/gov/keeper/proposal.go index 5f795b62d2..ca7826ad7b 100644 --- a/x/gov/keeper/proposal.go +++ b/x/gov/keeper/proposal.go @@ -51,24 +51,29 @@ func (keeper Keeper) SubmitProposal(ctx sdk.Context, content types.Content) (typ // GetProposal get proposal from store by ProposalID func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID uint64) (proposal types.Proposal, ok bool) { store := ctx.KVStore(keeper.storeKey) + bz := store.Get(types.ProposalKey(proposalID)) if bz == nil { - return + return types.Proposal{}, false } - err := keeper.cdc.UnmarshalProposal(bz, &proposal) + + proposal, err := keeper.cdc.UnmarshalProposal(bz) if err != nil { panic(err) } + return proposal, true } // SetProposal set a proposal to store func (keeper Keeper) SetProposal(ctx sdk.Context, proposal types.Proposal) { store := ctx.KVStore(keeper.storeKey) + bz, err := keeper.cdc.MarshalProposal(proposal) if err != nil { panic(err) } + store.Set(types.ProposalKey(proposal.ProposalID), bz) } @@ -87,12 +92,12 @@ func (keeper Keeper) DeleteProposal(ctx sdk.Context, proposalID uint64) { // IterateProposals iterates over the all the proposals and performs a callback function func (keeper Keeper) IterateProposals(ctx sdk.Context, cb func(proposal types.Proposal) (stop bool)) { store := ctx.KVStore(keeper.storeKey) - iterator := sdk.KVStorePrefixIterator(store, types.ProposalsKeyPrefix) + iterator := sdk.KVStorePrefixIterator(store, types.ProposalsKeyPrefix) defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { - var proposal types.Proposal - err := keeper.cdc.UnmarshalProposal(iterator.Value(), &proposal) + proposal, err := keeper.cdc.UnmarshalProposal(iterator.Value()) if err != nil { panic(err) }