keeper

package
v0.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2020 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Addrs store generated addresses for test
	Addrs = createTestAddrs(500)

	DefaultMSD = sdk.NewDecWithPrec(1, 3)
)
View Source
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

func MakeTestCodec() *codec.Codec

MakeTestCodec creates a codec used only for testing

func NewQuerier

func NewQuerier(keeper Keeper) sdk.Querier

NewQuerier returns all query handlers

func Tally

func Tally(ctx sdk.Context, keeper Keeper, proposal types.Proposal, isExpireVoteEndTime bool,
) (types.ProposalStatus, bool, types.TallyResult)

Tally counts the votes for proposal

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

type Keeper struct {
	sdkGov.Keeper
	// contains filtered or unexported fields
}

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

func (keeper Keeper) AfterDepositPeriodPassed(ctx sdk.Context, proposal types.Proposal)

nolint

func (Keeper) AfterSubmitProposalHandler

func (keeper Keeper) AfterSubmitProposalHandler(ctx sdk.Context, proposal types.Proposal)

nolint

func (Keeper) BankKeeper

func (keeper Keeper) BankKeeper() BankKeeper

BankKeeper returns bank keeper in gov keeper

func (Keeper) CheckMsgSubmitProposal

func (keeper Keeper) CheckMsgSubmitProposal(ctx sdk.Context, msg types.MsgSubmitProposal) sdk.Error

nolint

func (Keeper) DeleteProposal

func (keeper Keeper) DeleteProposal(ctx sdk.Context, proposalID uint64)

DeleteProposal deletes a proposal from store

func (Keeper) DeleteVotes

func (keeper Keeper) DeleteVotes(ctx sdk.Context, proposalID uint64)

DeleteVotes deletes the votes of a specific proposal

func (Keeper) DistributeDeposits

func (keeper Keeper) DistributeDeposits(ctx sdk.Context, proposalID uint64)

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

func (keeper Keeper) GetMaxDepositPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration

nolint

func (Keeper) GetMinDeposit

func (keeper Keeper) GetMinDeposit(ctx sdk.Context, content sdkGov.Content) sdk.DecCoins

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

func (keeper Keeper) GetProposalID(ctx sdk.Context) (proposalID uint64, err sdk.Error)

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

func (keeper Keeper) GetVotingPeriod(ctx sdk.Context, content sdkGov.Content) time.Duration

nolint

func (Keeper) InsertWaitingProposalQueue

func (keeper Keeper) InsertWaitingProposalQueue(ctx sdk.Context, blockHeight, proposalID uint64)

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

func (keeper Keeper) RefundDeposits(ctx sdk.Context, proposalID uint64)

RefundDeposits refunds and deletes all the deposits on a specific proposal

func (Keeper) RejectedHandler

func (keeper Keeper) RejectedHandler(ctx sdk.Context, content types.Content)

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

func (keeper Keeper) SetDeposit(ctx sdk.Context, deposit types.Deposit)

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

func (keeper Keeper) SetProposalID(ctx sdk.Context, proposalID uint64)

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) SetVote

func (keeper Keeper) SetVote(ctx sdk.Context, proposalID uint64, vote types.Vote)

SetVote stores the vote of a specific voter on a specific proposal

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

func (Keeper) VoteHandler

func (keeper Keeper) VoteHandler(ctx sdk.Context, proposal types.Proposal, vote types.Vote) (string, sdk.Error)

nolint

func (Keeper) WaitingProposalQueueIterator

func (keeper Keeper) WaitingProposalQueueIterator(ctx sdk.Context, blockHeight uint64) sdk.Iterator

WaitingProposalQueueIterator returns an iterator for all the proposals in the Waiting Queue that expire by endTime

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

func NewProposalHandlerRouter

func NewProposalHandlerRouter() ProposalHandlerRouter

nolint

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL