Update keeper

This commit is contained in:
Aleksandr Bezobchuk 2020-03-02 12:49:32 -05:00
parent 725e2dc2b4
commit e2b72141bf
No known key found for this signature in database
GPG Key ID: 7DAC30FBD99879B0

View File

@ -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)
}