make builds pass

This commit is contained in:
rhuairahrighairigh 2020-03-10 21:41:10 +00:00
parent 54c2e44a2d
commit cae6cb196c
5 changed files with 53 additions and 23 deletions

View File

@ -1,12 +1,12 @@
package committee
func BeginBlocker() {
// TODO much the same as the current gov endblocker does
// func BeginBlocker() {
// // TODO much the same as the current gov endblocker does
// Get all active proposals
// If voting periods are over, tally up the results
// If a proposal passes run it through the correct handler
// Handler need to be registered in app.go as they are for the current gov module
handler := keeper.Router().GetRoute(proposal.ProposalRoute())
err := handler(ctx, proposal.Content)
}
// // Get all active proposals
// // If voting periods are over, tally up the results
// // If a proposal passes run it through the correct handler
// // Handler need to be registered in app.go as they are for the current gov module
// handler := keeper.Router().GetRoute(proposal.ProposalRoute())
// err := handler(ctx, proposal.Content)
// }

View File

@ -1,13 +1,14 @@
package committee
// committee, subcommittee, council, caucus, commission, synod, board
/*
import (
"fmt"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/kava-labs/kava/x/committee/keeper"
"github.com/kava-labs/kava/x/committee/types"
)
@ -45,3 +46,4 @@ func handleMsgVote(ctx sdk.Context, k keeper.Keeper, msg types.MsgVote) sdk.Resu
return sdk.Result{}
}
*/

View File

@ -1,4 +1,4 @@
package types
package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
@ -29,20 +29,20 @@ type Keeper struct {
*/
func (k Keeper) SubmitProposal(ctx sdk.Context, msg types.MsgSubmitProposal) sdk.Error {
func (k Keeper) SubmitProposal(ctx sdk.Context, proposal types.Proposal) sdk.Error {
// TODO Limit proposals to only be submitted by group members
// Check group has permissions to enact proposal. As long as one permission allows the proposal then it goes through. Its the OR of all permissions.
committee, _ := k.GetCommittee(ctx, msg.CommitteeID)
committee, _ := k.GetCommittee(ctx, proposal.CommitteeID)
hasPermissions := false
for _, p := range committee.Permissions {
if p.Allows(msg.Proposal) {
if p.Allows(proposal) {
hasPermissions = true
break
}
}
if !hasPermissions {
return sdk.ErrInternal("committee does not have permissions to enact proposal").Result()
return sdk.ErrInternal("committee does not have permissions to enact proposal")
}
// TODO validate proposal by running it with cached context like how gov does it
@ -59,3 +59,26 @@ func (k Keeper) AddVote(ctx sdk.Context, msg types.MsgVote) sdk.Error {
*/
return nil
}
// --------------------
func (k Keeper) GetCommittee(ctx sdk.Context, committeeID uint64) (types.Committee, bool) {
return types.Committee{}, false
}
func (k Keeper) SetCommittee(ctx sdk.Context, committee types.Committee) {
}
func (k Keeper) GetVote(ctx sdk.Context, voteID uint64) (types.Vote, bool) {
return types.Vote{}, false
}
func (k Keeper) SetVote(ctx sdk.Context, vote types.Vote) {
}
func (k Keeper) GetProposal(ctx sdk.Context, proposalID uint64) (types.Proposal, bool) {
return types.Proposal{}, false
}
func (k Keeper) SetProposal(ctx sdk.Context, proposal types.Proposal) {
}

View File

@ -11,10 +11,10 @@ import (
// Allow only changes to inflation_rate
type InflationRateChangePermission struct{}
var _ types.Permission = InflationRateChangePermission
var _ Permission = InflationRateChangePermission{}
func (InflationRateChangePermission) Allows(p gov.Proposal) bool {
pcp, ok := p.Content.(params.ParameterChangeProposal)
func (InflationRateChangePermission) Allows(p gov.Content) bool {
pcp, ok := p.(params.ParameterChangeProposal)
if !ok {
return false
}
@ -29,7 +29,7 @@ func (InflationRateChangePermission) Allows(p gov.Proposal) bool {
// Allow only shutdown of the CDP Deposit msg
type ShutdownCDPDepsitPermission struct{}
var _ types.Permission = ShutdownCDPDepsitPermission
var _ Permission = ShutdownCDPDepsitPermission{}
func (ShutdownCDPDepsitPermission) Allows(p gov.Content) bool {
sdp, ok := p.(sdtypes.ShutdownProposal)
@ -46,13 +46,13 @@ func (ShutdownCDPDepsitPermission) Allows(p gov.Content) bool {
// Same as above but the route isn't static
type GeneralShutdownPermission struct {
MsgRoute cbtypes.MsgRoute
MsgRoute sdtypes.MsgRoute
}
var _ types.Permission = GeneralShutdownPermission
var _ Permission = GeneralShutdownPermission{}
func (perm GeneralShutdownPermission) Allows(p gov.Content) bool {
sdp, ok := p.Content.(sdtypes.ShutdownProposal)
sdp, ok := p.(sdtypes.ShutdownProposal)
if !ok {
return false
}

View File

@ -22,8 +22,9 @@ type Permission interface {
type Proposal struct {
gov.Content
ID uint64
committeeID uint64
CommitteeID uint64
// TODO
// could store votes on the proposal object
}
type Vote struct {
@ -31,3 +32,7 @@ type Vote struct {
Voter sdk.AccAddress
Option byte
}
// Genesis -------------------
// Ok just to dump everything to json and reload - if time involved then begin blocker will take care of closing expired proposals. And it won't enact proposals because they would've been immediately enacted before the halt if they passed.
// committee, proposals, votes