votum

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2019 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ModuleName        = types.ModuleName
	RouterKey         = types.RouterKey
	StoreKey          = types.StoreKey
	QuerierRoute      = types.QuerierRoute
	DefaultParamspace = types.DefaultParamspace
	DefaultCodespace  = types.DefaultCodespace

	StatusNil = gov.StatusNil
)
View Source
const (
	QueryParams    = gov.QueryParams
	QueryProposals = gov.QueryProposals
	QueryProposal  = gov.QueryProposal
	QueryDeposits  = gov.QueryDeposits
	QueryDeposit   = gov.QueryDeposit
	QueryVotes     = gov.QueryVotes
	QueryVote      = gov.QueryVote
	QueryTally     = gov.QueryTally

	ParamDeposit  = gov.ParamDeposit
	ParamVoting   = gov.ParamVoting
	ParamTallying = gov.ParamTallying
)
View Source
const (
	// Default period for deposits & voting
	DefaultPeriod time.Duration = 120 * time.Second // 20 mins
)

Variables

View Source
var (
	ModuleCdc     = types.ModuleCdc
	RegisterCodec = types.RegisterCodec
)
View Source
var (
	ParamKeyTable                 = gov.ParamKeyTable
	ParamStoreKeyVotingParams     = gov.ParamStoreKeyVotingParams
	ProposalsKeyPrefix            = gov.ProposalsKeyPrefix
	SplitActiveProposalQueueKey   = gov.SplitActiveProposalQueueKey
	SplitInactiveProposalQueueKey = gov.SplitInactiveProposalQueueKey
	DepositsKeyPrefix             = gov.DepositsKeyPrefix
	ErrUnknownProposal            = gov.ErrUnknownProposal
	ErrAlreadyActiveProposal      = gov.ErrAlreadyActiveProposal
	ErrAlreadyFinishedProposal    = gov.ErrAlreadyFinishedProposal
	ErrAddressNotStaked           = gov.ErrAddressNotStaked
	ErrInvalidProposalContent     = gov.ErrInvalidProposalContent
	ErrInvalidProposalType        = gov.ErrInvalidProposalType
	ErrInvalidVote                = gov.ErrInvalidVote
	ErrInvalidGenesis             = gov.ErrInvalidGenesis
	ErrNoProposalHandlerExists    = gov.ErrNoProposalHandlerExists
	StatusDepositPeriod           = gov.StatusDepositPeriod
	StatusVotingPeriod            = gov.StatusVotingPeriod
	StatusPassed                  = gov.StatusPassed
	StatusRejected                = gov.StatusRejected
	StatusFailed                  = gov.StatusFailed
	NewDeposit                    = gov.NewDeposit
	DepositsKey                   = gov.DepositsKey
	DepositKey                    = gov.DepositKey
	VotesKey                      = gov.VotesKey
	VoteKey                       = gov.VoteKey
	ValidVoteOption               = gov.ValidVoteOption
	NewVote                       = gov.NewVote
	NewProposal                   = gov.NewProposal
	ProposalKey                   = gov.ProposalKey
	ValidProposalStatus           = gov.ValidProposalStatus
	ProposalIDKey                 = gov.ProposalIDKey
	ParamStoreKeyDepositParams    = gov.ParamStoreKeyDepositParams
	ParamStoreKeyTallyParams      = gov.ParamStoreKeyTallyParams
	ActiveProposalQueueKey        = gov.ActiveProposalQueueKey
	InactiveProposalQueueKey      = gov.InactiveProposalQueueKey
	ActiveProposalByTimeKey       = gov.ActiveProposalByTimeKey
	InactiveProposalByTimeKey     = gov.InactiveProposalByTimeKey
	ErrInactiveProposal           = gov.ErrInactiveProposal

	VotesKeyPrefix              = gov.VotesKeyPrefix
	ActiveProposalQueuePrefix   = gov.ActiveProposalQueuePrefix
	InactiveProposalQueuePrefix = gov.InactiveProposalQueuePrefix

	OptionYes        = gov.OptionYes
	OptionAbstain    = gov.OptionAbstain
	OptionNo         = gov.OptionNo
	OptionNoWithVeto = gov.OptionNoWithVeto
	OptionEmpty      = gov.OptionEmpty

	NewTallyResultFromMap = gov.NewTallyResultFromMap
)

gov module functions

View Source
var (
	EmptyTallyResult = gov.EmptyTallyResult
)

Functions

func AllInvariants

func AllInvariants(keeper Keeper) sdk.Invariant

AllInvariants runs all invariants of the governance module

func EndBlocker

func EndBlocker(ctx sdk.Context, keeper Keeper)

EndBlocker called every block, process inflation, update validator set.

func InitGenesis

func InitGenesis(ctx sdk.Context, k Keeper, data GenesisState)

InitGenesis - store genesis parameters

func ModuleAccountInvariant

func ModuleAccountInvariant(keeper Keeper) sdk.Invariant

ModuleAccountInvariant checks that the module account coins reflects the sum of deposit amounts held on store

func NewHandler

func NewHandler(keeper Keeper) sdk.Handler

NewHandler はMsgのroutingを行う

func NewQuerier

func NewQuerier(keeper Keeper) sdk.Querier

func RegisterInvariants

func RegisterInvariants(ir sdk.InvariantRegistry, keeper Keeper)

RegisterInvariants registers all governance invariants

func ValidateGenesis

func ValidateGenesis(data GenesisState) error

ValidateGenesis checks if parameters are within valid ranges

Types

type AppModule

type AppModule struct {
	AppModuleBasic
	// contains filtered or unexported fields
}

app module

func NewAppModule

func NewAppModule(keeper Keeper, bk BankKeeper, sk SupplyKeeper) AppModule

NewAppModule creates a new AppModule object

func (AppModule) BeginBlock

func (AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock)

BeginBlock - module begin-block

func (AppModule) EndBlock

EndBlock - module end-block

func (AppModule) ExportGenesis

func (am AppModule) ExportGenesis(ctx sdk.Context) json.RawMessage

ExportGenesis - module export genesis

func (AppModule) InitGenesis

func (am AppModule) InitGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate

InitGenesis - module init-genesis

func (AppModule) Name

func (AppModule) Name() string

Name - module name

func (AppModule) NewHandler

func (am AppModule) NewHandler() sdk.Handler

NewHandler - module handler

func (AppModule) NewQuerierHandler

func (am AppModule) NewQuerierHandler() sdk.Querier

NewQuerierHandler - module querier

func (AppModule) QuerierRoute

func (AppModule) QuerierRoute() string

QuerierRoute - module querier route name

func (AppModule) RegisterInvariants

func (am AppModule) RegisterInvariants(ir sdk.InvariantRegistry)

RegisterInvariants registers module invariants

func (AppModule) Route

func (AppModule) Route() string

Route - module message route name

type AppModuleBasic

type AppModuleBasic struct {
	// contains filtered or unexported fields
}

AppModuleBasic - app module basics object

func NewAppModuleBasic

func NewAppModuleBasic(proposalHandlers ...client.ProposalHandler) AppModuleBasic

NewAppModuleBasic creates a new AppModuleBasic object

func (AppModuleBasic) DefaultGenesis

func (AppModuleBasic) DefaultGenesis() json.RawMessage

DefaultGenesis - default genesis state

func (AppModuleBasic) GetQueryCmd

func (AppModuleBasic) GetQueryCmd(cdc *codec.Codec) *cobra.Command

GetQueryCmd gets the root query command of this module

func (AppModuleBasic) GetTxCmd

func (a AppModuleBasic) GetTxCmd(cdc *codec.Codec) *cobra.Command

GetTxCmd gets the root tx command of this module

func (AppModuleBasic) Name

func (AppModuleBasic) Name() string

Name - module name

func (AppModuleBasic) RegisterCodec

func (AppModuleBasic) RegisterCodec(cdc *codec.Codec)

RegisterCodec -register module codec

func (AppModuleBasic) RegisterRESTRoutes

func (a AppModuleBasic) RegisterRESTRoutes(ctx context.CLIContext, rtr *mux.Router)

RegisterRESTRoutes - register rest routes

func (AppModuleBasic) ValidateGenesis

func (AppModuleBasic) ValidateGenesis(bz json.RawMessage) error

ValidateGenesis - module validate genesis

type BankKeeper

type BankKeeper interface {
	SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error
	DelegateCoins(ctx sdk.Context, fromAdd, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error
	UndelegateCoins(ctx sdk.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error

	SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Error)
	SetCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) sdk.Error
	AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Error)
	InputOutputCoins(ctx sdk.Context, inputs []bank.Input, outputs []bank.Output) sdk.Error

	GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
}

BankKeeper defines the expected bank keeper (noalias)

type Content

type Content = gov.Content

type Deposit

type Deposit = gov.Deposit

type DepositParams

type DepositParams = gov.DepositParams

type Deposits

type Deposits = gov.Deposits

type GenesisState

type GenesisState struct {
	StartingProposalID uint64        `json:"starting_proposal_id" yaml:"starting_proposal_id"`
	Deposits           Deposits      `json:"deposits" yaml:"deposits"`
	Votes              Votes         `json:"votes" yaml:"votes"`
	Proposals          []Proposal    `json:"proposals" yaml:"proposals"`
	DepositParams      DepositParams `json:"deposit_params" yaml:"deposit_params"`
	VotingParams       VotingParams  `json:"voting_params" yaml:"voting_params"`
	TallyParams        TallyParams   `json:"tally_params" yaml:"tally_params"`
}

GenesisState - all staking state that must be provided at genesis

func DefaultGenesisState

func DefaultGenesisState() GenesisState

get raw genesis raw message for testing

func ExportGenesis

func ExportGenesis(ctx sdk.Context, k Keeper) GenesisState

ExportGenesis - output genesis parameters

func NewGenesisState

func NewGenesisState(startingProposalID uint64, dp DepositParams, vp VotingParams, tp TallyParams) GenesisState

NewGenesisState creates a new genesis state for the governance module

func (GenesisState) Equal

func (data GenesisState) Equal(data2 GenesisState) bool

Checks whether 2 GenesisState structs are equivalent.

func (GenesisState) IsEmpty

func (data GenesisState) IsEmpty() bool

Returns if a GenesisState is empty or has data in it

type Keeper

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

Votum Keeper

func NewKeeper

func NewKeeper(
	cdc *codec.Codec, key sdk.StoreKey, paramsKeeper params.Keeper, paramSpace params.Subspace,
	supplyKeeper SupplyKeeper, sk StakingKeeper, bk BankKeeper, codespace sdk.CodespaceType, rtr Router,
) Keeper

NewKeeper returns a votum keeper. It handles: - submitting votum proposals - depositing funds into proposals, and activating upon sufficient funds being deposited - users voting on proposals, with weight proportional to tokens for the voting in the system - and tallying the result of the vote.

func (Keeper) ActiveProposalQueueIterator

func (keeper Keeper) ActiveProposalQueueIterator(ctx sdk.Context, endTime time.Time) sdk.Iterator

ActiveProposalQueueIterator returns an sdk.Iterator for all the proposals in the Active Queue that expire by endTime

func (Keeper) AddDeposit

func (keeper Keeper) AddDeposit(ctx sdk.Context, proposalID uint64, depositorAddr sdk.AccAddress, depositAmount sdk.Coins) (sdk.Error, bool)

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 VoteOption) sdk.Error

AddVote Adds a vote on a specific proposal

func (Keeper) DeleteDeposits

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

DeleteDeposits deletes all the deposits on a specific proposal without refunding them

func (Keeper) DeleteProposal

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

DeleteProposal deletes a proposal from store

func (Keeper) GetAllDeposits

func (keeper Keeper) GetAllDeposits(ctx sdk.Context) (deposits Deposits)

GetAllDeposits returns all the deposits from the store

func (Keeper) GetAllVotes

func (keeper Keeper) GetAllVotes(ctx sdk.Context) (votes Votes)

GetAllVotes returns all the votes from the store

func (Keeper) GetDeposit

func (keeper Keeper) GetDeposit(ctx sdk.Context, proposalID uint64, depositorAddr sdk.AccAddress) (deposit Deposit, found bool)

GetDeposit gets the deposit of a specific depositor on a specific proposal

func (Keeper) GetDepositParams

func (keeper Keeper) GetDepositParams(ctx sdk.Context) DepositParams

Returns the current DepositParams from the global param store

func (Keeper) GetDeposits

func (keeper Keeper) GetDeposits(ctx sdk.Context, proposalID uint64) (deposits Deposits)

GetDeposits returns all the deposits from a proposal

func (Keeper) GetDepositsIterator

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

GetDepositsIterator gets all the deposits on a specific proposal as an sdk.Iterator

func (Keeper) GetGovernanceAccount

func (keeper Keeper) GetGovernanceAccount(ctx sdk.Context) exported.ModuleAccountI

GetGovernanceAccount returns the governance ModuleAccount

func (Keeper) GetProposal

func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID uint64) (proposal 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 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 ProposalStatus, numLatest uint64) []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) TallyParams

Returns the current TallyParam from the global param store

func (Keeper) GetVote

func (keeper Keeper) GetVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress) (vote Vote, found bool)

GetVote gets the vote from an address on a specific proposal

func (Keeper) GetVotes

func (keeper Keeper) GetVotes(ctx sdk.Context, proposalID uint64) (votes Votes)

GetVotes returns all the votes from a proposal

func (Keeper) GetVotesIterator

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

GetVotesIterator gets all the votes on a specific proposal as an sdk.Iterator

func (Keeper) GetVotingParams

func (keeper Keeper) GetVotingParams(ctx sdk.Context) VotingParams

Returns the current VotingParams from the global param store

func (Keeper) InactiveProposalQueueIterator

func (keeper Keeper) InactiveProposalQueueIterator(ctx sdk.Context, endTime time.Time) sdk.Iterator

InactiveProposalQueueIterator returns an sdk.Iterator for all the proposals in the Inactive Queue that expire by endTime

func (Keeper) InsertActiveProposalQueue

func (keeper Keeper) InsertActiveProposalQueue(ctx sdk.Context, proposalID uint64, endTime time.Time)

InsertActiveProposalQueue inserts a ProposalID into the active proposal queue at endTime

func (Keeper) InsertInactiveProposalQueue

func (keeper Keeper) InsertInactiveProposalQueue(ctx sdk.Context, proposalID uint64, endTime time.Time)

InsertInactiveProposalQueue Inserts a ProposalID into the inactive proposal queue at endTime

func (Keeper) IterateActiveProposalsQueue

func (keeper Keeper) IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, cb func(proposal 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 Deposit) (stop bool))

IterateAllDeposits iterates over the all the stored deposits and performs a callback function

func (Keeper) IterateAllVotes

func (keeper Keeper) IterateAllVotes(ctx sdk.Context, cb func(vote Vote) (stop bool))

IterateAllVotes iterates over the all the stored votes and performs a callback function

func (Keeper) IterateDeposits

func (keeper Keeper) IterateDeposits(ctx sdk.Context, proposalID uint64, cb func(deposit 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 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 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 Vote) (stop bool))

IterateVotes iterates over the all the proposals votes and performs a callback function

func (Keeper) Logger

func (keeper Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

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

func (keeper Keeper) RemoveFromActiveProposalQueue(ctx sdk.Context, proposalID uint64, endTime time.Time)

RemoveFromActiveProposalQueue removes a proposalID from the Active Proposal Queue

func (Keeper) RemoveFromInactiveProposalQueue

func (keeper Keeper) RemoveFromInactiveProposalQueue(ctx sdk.Context, proposalID uint64, endTime time.Time)

RemoveFromInactiveProposalQueue removes a proposalID from the Inactive Proposal Queue

func (Keeper) SetProposal

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

SetProposal set a proposal to store

func (Keeper) SubmitProposal

func (keeper Keeper) SubmitProposal(ctx sdk.Context, content Content) (Proposal, sdk.Error)

SubmitProposal create new proposal given a content

type MsgDeposit

type MsgDeposit = types.MsgDeposit

type MsgIssueToken

type MsgIssueToken = types.MsgIssueToken

type MsgSubmitProposal

type MsgSubmitProposal = types.MsgSubmitProposal

type MsgVote

type MsgVote = types.MsgVote

type Proposal

type Proposal = gov.Proposal

type ProposalStatus

type ProposalStatus = gov.ProposalStatus

type Proposals

type Proposals = gov.Proposals

type QueryDepositParams

type QueryDepositParams = gov.QueryDepositParams

type QueryProposalParams

type QueryProposalParams = gov.QueryProposalParams

type QueryProposalsParams

type QueryProposalsParams = gov.QueryProposalsParams

type QueryVoteParams

type QueryVoteParams = gov.QueryVoteParams

type Router

type Router = gov.Router

type StakingKeeper

type StakingKeeper interface {
	// iterate through bonded validators by operator address, execute func for each validator
	IterateBondedValidatorsByPower(sdk.Context,
		func(index int64, validator stakingexported.ValidatorI) (stop bool))

	TotalBondedTokens(sdk.Context) sdk.Int // total bonded tokens within the validator set

	IterateDelegations(ctx sdk.Context, delegator sdk.AccAddress,
		fn func(index int64, delegation stakingexported.DelegationI) (stop bool))
}

StakingKeeper expected staking keeper (Validator and Delegator sets)

type SupplyKeeper

type SupplyKeeper interface {
	GetModuleAddress(name string) sdk.AccAddress
	GetModuleAccount(ctx sdk.Context, name string) supplyexported.ModuleAccountI

	// TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862
	SetModuleAccount(sdk.Context, supplyexported.ModuleAccountI)

	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) sdk.Error
	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) sdk.Error
	BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) sdk.Error

	GetSupply(ctx sdk.Context) supplyexported.SupplyI
	SetSupply(ctx sdk.Context, supply supplyexported.SupplyI)
}

SupplyKeeper defines the supply Keeper for module accounts

type TallyParams

type TallyParams = gov.TallyParams

type TallyResult

type TallyResult = gov.TallyResult

type Vote

type Vote = gov.Vote

type VoteOption

type VoteOption = gov.VoteOption

type Votes

type Votes = gov.Votes

type VotingParams

type VotingParams = gov.VotingParams

Directories

Path Synopsis
cli

Jump to

Keyboard shortcuts

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