Documentation ¶
Index ¶
- Variables
- func CreateValidators(t *testing.T, stakingHandler sdk.Handler, ctx sdk.Context, ...)
- func MakeTestCodec() *codec.Codec
- func NewQuerier(keeper Keeper) sdk.Querier
- func Tally(ctx sdk.Context, keeper Keeper, proposal types.Proposal, ...) (types.ProposalStatus, bool, types.TallyResult)
- type BankKeeper
- type Keeper
- func (keeper Keeper) AddDeposit(ctx sdk.Context, proposalID uint64, depositorAddr sdk.AccAddress, ...) sdk.Error
- func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress, ...) (sdk.Error, string)
- func (keeper Keeper) AfterDepositPeriodPassed(ctx sdk.Context, proposal types.Proposal)
- func (keeper Keeper) AfterSubmitProposalHandler(ctx sdk.Context, proposal types.Proposal)
- func (keeper Keeper) BankKeeper() BankKeeper
- func (keeper Keeper) CheckMsgSubmitProposal(ctx sdk.Context, msg types.MsgSubmitProposal) sdk.Error
- func (keeper Keeper) DeleteProposal(ctx sdk.Context, proposalID uint64)
- func (keeper Keeper) DeleteVotes(ctx sdk.Context, proposalID uint64)
- func (keeper Keeper) DistributeDeposits(ctx sdk.Context, proposalID uint64)
- func (keeper Keeper) GetDepositParams(ctx sdk.Context) types.DepositParams
- func (keeper Keeper) GetMaxDepositPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration
- func (keeper Keeper) GetMinDeposit(ctx sdk.Context, content sdkGov.Content) sdk.DecCoins
- func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID uint64) (proposal sdkGovTypes.Proposal, ok bool)
- func (keeper Keeper) GetProposalID(ctx sdk.Context) (proposalID uint64, err sdk.Error)
- func (keeper Keeper) GetProposals(ctx sdk.Context) (proposals sdkGovTypes.Proposals)
- func (keeper Keeper) GetProposalsFiltered(ctx sdk.Context, voterAddr sdk.AccAddress, depositorAddr sdk.AccAddress, ...) []sdkGovTypes.Proposal
- func (keeper Keeper) GetTallyParams(ctx sdk.Context) types.TallyParams
- func (keeper Keeper) GetVotingParams(ctx sdk.Context) types.VotingParams
- func (keeper Keeper) GetVotingPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration
- func (keeper Keeper) InsertWaitingProposalQueue(ctx sdk.Context, blockHeight, proposalID uint64)
- func (keeper Keeper) IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, ...)
- func (keeper Keeper) IterateAllDeposits(ctx sdk.Context, cb func(deposit types.Deposit) (stop bool))
- func (keeper Keeper) IterateAllWaitingProposals(ctx sdk.Context, ...)
- func (keeper Keeper) IterateDeposits(ctx sdk.Context, proposalID uint64, cb func(deposit types.Deposit) (stop bool))
- func (keeper Keeper) IterateInactiveProposalsQueue(ctx sdk.Context, endTime time.Time, ...)
- func (keeper Keeper) IterateProposals(ctx sdk.Context, cb func(proposal types.Proposal) (stop bool))
- func (keeper Keeper) IterateVotes(ctx sdk.Context, proposalID uint64, cb func(vote types.Vote) (stop bool))
- func (keeper Keeper) IterateWaitingProposalsQueue(ctx sdk.Context, height uint64, cb func(proposal types.Proposal) (stop bool))
- func (keeper Keeper) ProposalHandlerRouter() ProposalHandlerRouter
- func (keeper Keeper) RefundDeposits(ctx sdk.Context, proposalID uint64)
- func (keeper Keeper) RejectedHandler(ctx sdk.Context, content types.Content)
- func (keeper Keeper) RemoveFromWaitingProposalQueue(ctx sdk.Context, blockHeight, proposalID uint64)
- func (keeper Keeper) SetDeposit(ctx sdk.Context, deposit types.Deposit)
- func (keeper Keeper) SetDepositParams(ctx sdk.Context, depositParams types.DepositParams)
- func (keeper Keeper) SetProposal(ctx sdk.Context, proposal sdkGovTypes.Proposal)
- func (keeper Keeper) SetProposalID(ctx sdk.Context, proposalID uint64)
- func (keeper Keeper) SetTallyParams(ctx sdk.Context, tallyParams types.TallyParams)
- func (keeper Keeper) SetVote(ctx sdk.Context, proposalID uint64, vote types.Vote)
- func (keeper Keeper) SetVotingParams(ctx sdk.Context, votingParams types.VotingParams)
- func (keeper Keeper) SubmitProposal(ctx sdk.Context, content sdkGovTypes.Content) (sdkGovTypes.Proposal, sdk.Error)
- func (keeper Keeper) VoteHandler(ctx sdk.Context, proposal types.Proposal, vote types.Vote) (string, sdk.Error)
- func (keeper Keeper) WaitingProposalQueueIterator(ctx sdk.Context, blockHeight uint64) sdk.Iterator
- type ProposalHandler
- type ProposalHandlerRouter
- type StakingKeeper
Constants ¶
This section is empty.
Variables ¶
var ( // Addrs store generated addresses for test Addrs = createTestAddrs(500) DefaultMSD = sdk.NewDecWithPrec(1, 3) )
var ( // NewRouter is alias of cm gov NewRouter NewRouter = sdkGov.NewRouter )
Functions ¶
func CreateValidators ¶
func CreateValidators( t *testing.T, stakingHandler sdk.Handler, ctx sdk.Context, addrs []sdk.ValAddress, powerAmt []int64, )
CreateValidators creates validators according to arguments
func MakeTestCodec ¶
MakeTestCodec creates a codec used only for testing
Types ¶
type BankKeeper ¶
type BankKeeper interface { GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins // TODO remove once governance doesn't require use of accounts SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error SetSendEnabled(ctx sdk.Context, enabled bool) SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Error) }
BankKeeper defines expected bank keeper
type Keeper ¶
Keeper defines governance keeper
func CreateTestInput ¶
func CreateTestInput( t *testing.T, isCheckTx bool, initBalance int64, ) (sdk.Context, auth.AccountKeeper, Keeper, staking.Keeper, crisis.Keeper)
CreateTestInput returns keepers for test
func NewKeeper ¶
func NewKeeper( cdc *codec.Codec, key sdk.StoreKey, paramsKeeper params.Keeper, paramSpace params.Subspace, supplyKeeper sdkGov.SupplyKeeper, sk StakingKeeper, codespace sdk.CodespaceType, rtr sdkGov.Router, ck BankKeeper, phr ProposalHandlerRouter, feeCollectorName string, ) Keeper
NewKeeper returns a governance keeper. It handles: - submitting governance proposals - depositing funds into proposals, and activating upon sufficient funds being deposited - users voting on proposals, with weight proportional to stake in the system - and tallying the result of the vote.
func (Keeper) AddDeposit ¶
func (keeper Keeper) AddDeposit( ctx sdk.Context, proposalID uint64, depositorAddr sdk.AccAddress, depositAmount sdk.DecCoins, eventType string, ) sdk.Error
AddDeposit adds or updates a deposit of a specific depositor on a specific proposal Activates voting period when appropriate
func (Keeper) AddVote ¶
func (keeper Keeper) AddVote( ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress, option types.VoteOption, ) (sdk.Error, string)
AddVote adds a vote on a specific proposal
func (Keeper) AfterDepositPeriodPassed ¶
nolint
func (Keeper) AfterSubmitProposalHandler ¶
nolint
func (Keeper) BankKeeper ¶
func (keeper Keeper) BankKeeper() BankKeeper
BankKeeper returns bank keeper in gov keeper
func (Keeper) CheckMsgSubmitProposal ¶
nolint
func (Keeper) DeleteProposal ¶
DeleteProposal deletes a proposal from store
func (Keeper) DeleteVotes ¶
DeleteVotes deletes the votes of a specific proposal
func (Keeper) DistributeDeposits ¶
DistributeDeposits distributes and deletes all the deposits on a specific proposal
func (Keeper) GetDepositParams ¶
func (keeper Keeper) GetDepositParams(ctx sdk.Context) types.DepositParams
GetDepositParams returns the current DepositParams from the global param store
func (Keeper) GetMaxDepositPeriod ¶
nolint
func (Keeper) GetMinDeposit ¶
GetMinDeposit implement ProposalHandler nolint
func (Keeper) GetProposal ¶
func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID uint64) (proposal sdkGovTypes.Proposal, ok bool)
GetProposal get Proposal from store by ProposalID
func (Keeper) GetProposalID ¶
GetProposalID gets the highest proposal ID
func (Keeper) GetProposals ¶
func (keeper Keeper) GetProposals(ctx sdk.Context) (proposals sdkGovTypes.Proposals)
GetProposals returns all the proposals from store
func (Keeper) GetProposalsFiltered ¶
func (keeper Keeper) GetProposalsFiltered( ctx sdk.Context, voterAddr sdk.AccAddress, depositorAddr sdk.AccAddress, status types.ProposalStatus, numLatest uint64, ) []sdkGovTypes.Proposal
GetProposalsFiltered get Proposals from store by ProposalID voterAddr will filter proposals by whether or not that address has voted on them depositorAddr will filter proposals by whether or not that address has deposited to them status will filter proposals by status numLatest will fetch a specified number of the most recent proposals, or 0 for all proposals
func (Keeper) GetTallyParams ¶
func (keeper Keeper) GetTallyParams(ctx sdk.Context) types.TallyParams
GetTallyParams returns the current TallyParams from the global param store
func (Keeper) GetVotingParams ¶
func (keeper Keeper) GetVotingParams(ctx sdk.Context) types.VotingParams
GetVotingParams returns the current VotingParams from the global param store
func (Keeper) GetVotingPeriod ¶
nolint
func (Keeper) InsertWaitingProposalQueue ¶
InsertWaitingProposalQueue inserts a ProposalID into the waiting proposal queue at endTime
func (Keeper) IterateActiveProposalsQueue ¶
func (keeper Keeper) IterateActiveProposalsQueue( ctx sdk.Context, endTime time.Time, cb func(proposal types.Proposal, ) (stop bool))
IterateActiveProposalsQueue iterates over the proposals in the active proposal queue and performs a callback function
func (Keeper) IterateAllDeposits ¶
func (keeper Keeper) IterateAllDeposits(ctx sdk.Context, cb func(deposit types.Deposit) (stop bool))
IterateAllDeposits iterates over the all the stored deposits and performs a callback function
func (Keeper) IterateAllWaitingProposals ¶
func (keeper Keeper) IterateAllWaitingProposals(ctx sdk.Context, cb func(proposal types.Proposal, proposalID, height uint64) (stop bool))
IterateAllWaitingProposals iterates over the all proposals in the waiting proposal queue and performs a callback function
func (Keeper) IterateDeposits ¶
func (keeper Keeper) IterateDeposits( ctx sdk.Context, proposalID uint64, cb func(deposit types.Deposit, ) (stop bool))
IterateDeposits iterates over the all the proposals deposits and performs a callback function
func (Keeper) IterateInactiveProposalsQueue ¶
func (keeper Keeper) IterateInactiveProposalsQueue( ctx sdk.Context, endTime time.Time, cb func(proposal types.Proposal, ) (stop bool))
IterateInactiveProposalsQueue iterates over the proposals in the inactive proposal queue and performs a callback function
func (Keeper) IterateProposals ¶
func (keeper Keeper) IterateProposals(ctx sdk.Context, cb func(proposal types.Proposal) (stop bool))
IterateProposals iterates over the all the proposals and performs a callback function
func (Keeper) IterateVotes ¶
func (keeper Keeper) IterateVotes(ctx sdk.Context, proposalID uint64, cb func(vote types.Vote) (stop bool))
IterateVotes iterates over the all the proposals votes and performs a callback function
func (Keeper) IterateWaitingProposalsQueue ¶
func (keeper Keeper) IterateWaitingProposalsQueue( ctx sdk.Context, height uint64, cb func(proposal types.Proposal, ) (stop bool))
IterateWaitingProposalsQueue iterates over the proposals in the waiting proposal queue and performs a callback function
func (Keeper) ProposalHandlerRouter ¶
func (keeper Keeper) ProposalHandlerRouter() ProposalHandlerRouter
ProposalHandlerRouter returns proposal handler router in gov keeper
func (Keeper) RefundDeposits ¶
RefundDeposits refunds and deletes all the deposits on a specific proposal
func (Keeper) RejectedHandler ¶
nolint
func (Keeper) RemoveFromWaitingProposalQueue ¶
func (keeper Keeper) RemoveFromWaitingProposalQueue(ctx sdk.Context, blockHeight, proposalID uint64)
RemoveFromWaitingProposalQueue removes a proposalID from the waiting Proposal Queue
func (Keeper) SetDeposit ¶
SetDeposit sets the deposit of a specific depositor on a specific proposal
func (Keeper) SetDepositParams ¶
func (keeper Keeper) SetDepositParams(ctx sdk.Context, depositParams types.DepositParams)
SetDepositParams sets the current DepositParams to the global param store
func (Keeper) SetProposal ¶
func (keeper Keeper) SetProposal(ctx sdk.Context, proposal sdkGovTypes.Proposal)
SetProposal set a proposal to store
func (Keeper) SetProposalID ¶
SetProposalID sets the proposal ID to gov store
func (Keeper) SetTallyParams ¶
func (keeper Keeper) SetTallyParams(ctx sdk.Context, tallyParams types.TallyParams)
SetTallyParams sets the current TallyParams to the global param store
func (Keeper) SetVotingParams ¶
func (keeper Keeper) SetVotingParams(ctx sdk.Context, votingParams types.VotingParams)
SetVotingParams sets the current VotingParams to the global param store
func (Keeper) SubmitProposal ¶
func (keeper Keeper) SubmitProposal(ctx sdk.Context, content sdkGovTypes.Content) (sdkGovTypes.Proposal, sdk.Error)
SubmitProposal creates new proposal given a content
type ProposalHandler ¶
type ProposalHandler interface { GetMinDeposit(ctx sdk.Context, content sdkGov.Content) sdk.DecCoins GetMaxDepositPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration GetVotingPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration CheckMsgSubmitProposal(ctx sdk.Context, msg types.MsgSubmitProposal) sdk.Error AfterSubmitProposalHandler(ctx sdk.Context, proposal types.Proposal) VoteHandler(ctx sdk.Context, proposal types.Proposal, vote types.Vote) (string, sdk.Error) AfterDepositPeriodPassed(ctx sdk.Context, proposal types.Proposal) RejectedHandler(ctx sdk.Context, content types.Content) }
ProposalHandler defines the interface handler in different periods of proposal
type ProposalHandlerRouter ¶
type ProposalHandlerRouter interface { AddRoute(r string, mp ProposalHandler) (mpr ProposalHandlerRouter) HasRoute(r string) bool GetRoute(path string) (h ProposalHandler) Seal() }
ProposalHandlerRouter defines the interface of managing the proposal handler of proposal
type StakingKeeper ¶
type StakingKeeper interface { // iterate through bonded validators by operator address, execute func for each validator // gov use it for getting votes of validator IterateBondedValidatorsByPower(sdk.Context, func(index int64, validator stakingexported.ValidatorI) (stop bool)) // gov use it for getting votes of delegator which has been voted to validator Delegator(ctx sdk.Context, delAddr sdk.AccAddress) stakingexported.DelegatorI }
StakingKeeper defines expected staking keeper (Validator and Delegator sets)