Documentation
¶
Overview ¶
nolint
Index ¶
- Constants
- Variables
- func EndBlocker(ctx sdk.Context, keeper Keeper) (resTags sdk.Tags)
- func ErrAddressNotStaked(codespace sdk.CodespaceType, address sdk.AccAddress) sdk.Error
- func ErrAlreadyActiveProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
- func ErrAlreadyFinishedProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
- func ErrInactiveProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
- func ErrInvalidDescription(codespace sdk.CodespaceType, description string) sdk.Error
- func ErrInvalidGenesis(codespace sdk.CodespaceType, msg string) sdk.Error
- func ErrInvalidProposalType(codespace sdk.CodespaceType, proposalType ProposalKind) sdk.Error
- func ErrInvalidTitle(codespace sdk.CodespaceType, title string) sdk.Error
- func ErrInvalidVote(codespace sdk.CodespaceType, voteOption VoteOption) sdk.Error
- func ErrUnknownProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
- func InitGenesis(ctx sdk.Context, k Keeper, data GenesisState)
- func KeyDeposit(proposalID int64, depositerAddr sdk.AccAddress) []byte
- func KeyDepositsSubspace(proposalID int64) []byte
- func KeyProposal(proposalID int64) []byte
- func KeyVote(proposalID int64, voterAddr sdk.AccAddress) []byte
- func KeyVotesSubspace(proposalID int64) []byte
- func NewHandler(keeper Keeper) sdk.Handler
- func NewQuerier(keeper Keeper) sdk.Querier
- func ParamTypeTable() params.TypeTable
- func ProposalEqual(proposalA Proposal, proposalB Proposal) bool
- func RegisterCodec(cdc *codec.Codec)
- func SortAddresses(addrs []sdk.AccAddress)
- func SortByteArrays(src [][]byte) [][]byte
- func SortValAddresses(addrs []sdk.ValAddress)
- type Deposit
- type DepositProcedure
- type GenesisState
- type Keeper
- func (keeper Keeper) ActiveProposalQueuePeek(ctx sdk.Context) Proposal
- func (keeper Keeper) ActiveProposalQueuePop(ctx sdk.Context) Proposal
- func (keeper Keeper) ActiveProposalQueuePush(ctx sdk.Context, proposal Proposal)
- func (keeper Keeper) AddDeposit(ctx sdk.Context, proposalID int64, depositerAddr sdk.AccAddress, ...) (sdk.Error, bool)
- func (keeper Keeper) AddVote(ctx sdk.Context, proposalID int64, voterAddr sdk.AccAddress, option VoteOption) sdk.Error
- func (keeper Keeper) DeleteDeposits(ctx sdk.Context, proposalID int64)
- func (keeper Keeper) DeleteProposal(ctx sdk.Context, proposal Proposal)
- func (keeper Keeper) GetDeposit(ctx sdk.Context, proposalID int64, depositerAddr sdk.AccAddress) (Deposit, bool)
- func (keeper Keeper) GetDepositProcedure(ctx sdk.Context) DepositProcedure
- func (keeper Keeper) GetDeposits(ctx sdk.Context, proposalID int64) sdk.Iterator
- func (keeper Keeper) GetLastProposalID(ctx sdk.Context) (proposalID int64)
- func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID int64) Proposal
- func (keeper Keeper) GetProposalsFiltered(ctx sdk.Context, voterAddr sdk.AccAddress, depositerAddr sdk.AccAddress, ...) []Proposal
- func (keeper Keeper) GetTallyingProcedure(ctx sdk.Context) TallyingProcedure
- func (keeper Keeper) GetVote(ctx sdk.Context, proposalID int64, voterAddr sdk.AccAddress) (Vote, bool)
- func (keeper Keeper) GetVotes(ctx sdk.Context, proposalID int64) sdk.Iterator
- func (keeper Keeper) GetVotingProcedure(ctx sdk.Context) VotingProcedure
- func (keeper Keeper) InactiveProposalQueuePeek(ctx sdk.Context) Proposal
- func (keeper Keeper) InactiveProposalQueuePop(ctx sdk.Context) Proposal
- func (keeper Keeper) InactiveProposalQueuePush(ctx sdk.Context, proposal Proposal)
- func (keeper Keeper) NewTextProposal(ctx sdk.Context, title string, description string, proposalType ProposalKind) Proposal
- func (keeper Keeper) RefundDeposits(ctx sdk.Context, proposalID int64)
- func (keeper Keeper) SetProposal(ctx sdk.Context, proposal Proposal)
- type MsgDeposit
- func (msg MsgDeposit) Get(key interface{}) (value interface{})
- func (msg MsgDeposit) GetSignBytes() []byte
- func (msg MsgDeposit) GetSigners() []sdk.AccAddress
- func (msg MsgDeposit) Route() string
- func (msg MsgDeposit) String() string
- func (msg MsgDeposit) Type() string
- func (msg MsgDeposit) ValidateBasic() sdk.Error
- type MsgSubmitProposal
- func (msg MsgSubmitProposal) Get(key interface{}) (value interface{})
- func (msg MsgSubmitProposal) GetSignBytes() []byte
- func (msg MsgSubmitProposal) GetSigners() []sdk.AccAddress
- func (msg MsgSubmitProposal) Route() string
- func (msg MsgSubmitProposal) String() string
- func (msg MsgSubmitProposal) Type() string
- func (msg MsgSubmitProposal) ValidateBasic() sdk.Error
- type MsgVote
- type Proposal
- type ProposalKind
- func (pt ProposalKind) Format(s fmt.State, verb rune)
- func (pt ProposalKind) Marshal() ([]byte, error)
- func (pt ProposalKind) MarshalJSON() ([]byte, error)
- func (pt ProposalKind) String() string
- func (pt *ProposalKind) Unmarshal(data []byte) error
- func (pt *ProposalKind) UnmarshalJSON(data []byte) error
- type ProposalQueue
- type ProposalStatus
- func (status ProposalStatus) Format(s fmt.State, verb rune)
- func (status ProposalStatus) Marshal() ([]byte, error)
- func (status ProposalStatus) MarshalJSON() ([]byte, error)
- func (status ProposalStatus) String() string
- func (status *ProposalStatus) Unmarshal(data []byte) error
- func (status *ProposalStatus) UnmarshalJSON(data []byte) error
- type QueryDepositParams
- type QueryDepositsParams
- type QueryProposalParams
- type QueryProposalsParams
- type QueryTallyParams
- type QueryVoteParams
- type QueryVotesParams
- type TallyResult
- type TallyingProcedure
- type TextProposal
- func (tp TextProposal) GetDescription() string
- func (tp TextProposal) GetProposalID() int64
- func (tp TextProposal) GetProposalType() ProposalKind
- func (tp TextProposal) GetStatus() ProposalStatus
- func (tp TextProposal) GetSubmitTime() time.Time
- func (tp TextProposal) GetTallyResult() TallyResult
- func (tp TextProposal) GetTitle() string
- func (tp TextProposal) GetTotalDeposit() sdk.Coins
- func (tp TextProposal) GetVotingStartTime() time.Time
- func (tp *TextProposal) SetDescription(description string)
- func (tp *TextProposal) SetProposalID(proposalID int64)
- func (tp *TextProposal) SetProposalType(proposalType ProposalKind)
- func (tp *TextProposal) SetStatus(status ProposalStatus)
- func (tp *TextProposal) SetSubmitTime(submitTime time.Time)
- func (tp *TextProposal) SetTallyResult(tallyResult TallyResult)
- func (tp *TextProposal) SetTitle(title string)
- func (tp *TextProposal) SetTotalDeposit(totalDeposit sdk.Coins)
- func (tp *TextProposal) SetVotingStartTime(votingStartTime time.Time)
- type Vote
- type VoteOption
- type VotingProcedure
Constants ¶
const (
DefaultCodespace sdk.CodespaceType = 5
CodeUnknownProposal sdk.CodeType = 1
CodeInactiveProposal sdk.CodeType = 2
CodeAlreadyActiveProposal sdk.CodeType = 3
CodeAlreadyFinishedProposal sdk.CodeType = 4
CodeAddressNotStaked sdk.CodeType = 5
CodeInvalidTitle sdk.CodeType = 6
CodeInvalidDescription sdk.CodeType = 7
CodeInvalidProposalType sdk.CodeType = 8
CodeInvalidVote sdk.CodeType = 9
CodeInvalidGenesis sdk.CodeType = 10
CodeInvalidProposalStatus sdk.CodeType = 11
)
const (
QueryProposals = "proposals"
QueryProposal = "proposal"
QueryDeposits = "deposits"
QueryDeposit = "deposit"
QueryVotes = "votes"
QueryVote = "vote"
QueryTally = "tally"
)
query endpoints supported by the governance Querier
const (
DefaultParamspace = "gov"
)
Parameter store default namestore
const MsgRoute = "gov"
name to idetify transaction types
Variables ¶
var (
ParamStoreKeyDepositProcedure = []byte("depositprocedure")
ParamStoreKeyVotingProcedure = []byte("votingprocedure")
ParamStoreKeyTallyingProcedure = []byte("tallyingprocedure")
)
Parameter store key
var (
KeyNextProposalID = []byte("newProposalID")
KeyActiveProposalQueue = []byte("activeProposalQueue")
KeyInactiveProposalQueue = []byte("inactiveProposalQueue")
)
Key for getting a the next available proposalID from the store
Functions ¶
func EndBlocker ¶
func EndBlocker(ctx sdk.Context, keeper Keeper) (resTags sdk.Tags)
Called every block, process inflation, update validator set
func ErrAddressNotStaked ¶ added in v0.20.0
func ErrAddressNotStaked(codespace sdk.CodespaceType, address sdk.AccAddress) sdk.Error
func ErrAlreadyActiveProposal ¶
func ErrAlreadyActiveProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
func ErrAlreadyFinishedProposal ¶ added in v0.20.0
func ErrAlreadyFinishedProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
func ErrInactiveProposal ¶
func ErrInactiveProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
func ErrInvalidDescription ¶ added in v0.20.0
func ErrInvalidDescription(codespace sdk.CodespaceType, description string) sdk.Error
func ErrInvalidGenesis ¶
func ErrInvalidGenesis(codespace sdk.CodespaceType, msg string) sdk.Error
func ErrInvalidProposalType ¶
func ErrInvalidProposalType(codespace sdk.CodespaceType, proposalType ProposalKind) sdk.Error
func ErrInvalidTitle ¶ added in v0.20.0
func ErrInvalidTitle(codespace sdk.CodespaceType, title string) sdk.Error
func ErrInvalidVote ¶
func ErrInvalidVote(codespace sdk.CodespaceType, voteOption VoteOption) sdk.Error
func ErrUnknownProposal ¶
func ErrUnknownProposal(codespace sdk.CodespaceType, proposalID int64) sdk.Error
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, k Keeper, data GenesisState)
InitGenesis - store genesis parameters
func KeyDeposit ¶ added in v0.20.0
func KeyDeposit(proposalID int64, depositerAddr sdk.AccAddress) []byte
Key for getting a specific deposit from the store
func KeyDepositsSubspace ¶ added in v0.20.0
func KeyDepositsSubspace(proposalID int64) []byte
Key for getting all deposits on a proposal from the store
func KeyProposal ¶ added in v0.20.0
func KeyProposal(proposalID int64) []byte
Key for getting a specific proposal from the store
func KeyVote ¶ added in v0.20.0
func KeyVote(proposalID int64, voterAddr sdk.AccAddress) []byte
Key for getting a specific vote from the store
func KeyVotesSubspace ¶ added in v0.20.0
func KeyVotesSubspace(proposalID int64) []byte
Key for getting all votes on a proposal from the store
func NewQuerier ¶
func NewQuerier(keeper Keeper) sdk.Querier
func ParamTypeTable ¶ added in v0.25.0
func ParamTypeTable() params.TypeTable
Type declaration for parameters
func ProposalEqual ¶ added in v0.20.0
func ProposalEqual(proposalA Proposal, proposalB Proposal) bool
checks if two proposals are equal
func SortValAddresses ¶ added in v0.25.0
func SortValAddresses(addrs []sdk.ValAddress)
TODO: Remove once address interface has been implemented (ref: #2186)
Types ¶
type Deposit ¶
type Deposit struct {
Depositer sdk.AccAddress `json:"depositer"` // Address of the depositer
ProposalID int64 `json:"proposal_id"` // proposalID of the proposal
Amount sdk.Coins `json:"amount"` // Deposit amount
}
Deposit
type DepositProcedure ¶ added in v0.20.0
type DepositProcedure struct {
MinDeposit sdk.Coins `json:"min_deposit"` // Minimum deposit for a proposal to enter voting period.
MaxDepositPeriod time.Duration `json:"max_deposit_period"` // Maximum period for Atom holders to deposit on a proposal. Initial value: 2 months
}
Procedure around Deposits for governance
type GenesisState ¶
type GenesisState struct {
StartingProposalID int64 `json:"starting_proposalID"`
DepositProcedure DepositProcedure `json:"deposit_period"`
VotingProcedure VotingProcedure `json:"voting_period"`
TallyingProcedure TallyingProcedure `json:"tallying_procedure"`
}
GenesisState - all staking state that must be provided at genesis
func DefaultGenesisState ¶
func DefaultGenesisState() GenesisState
get raw genesis raw message for testing
func NewGenesisState ¶
func NewGenesisState(startingProposalID int64, dp DepositProcedure, vp VotingProcedure, tp TallyingProcedure) GenesisState
func WriteGenesis ¶ added in v0.20.0
func WriteGenesis(ctx sdk.Context, k Keeper) GenesisState
WriteGenesis - output genesis parameters
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Governance Keeper
func NewKeeper ¶
func NewKeeper(cdc *codec.Codec, key sdk.StoreKey, paramsKeeper params.Keeper, paramSpace params.Subspace, ck bank.Keeper, ds sdk.DelegationSet, codespace sdk.CodespaceType) 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) ActiveProposalQueuePeek ¶ added in v0.20.0
func (keeper Keeper) ActiveProposalQueuePeek(ctx sdk.Context) Proposal
Return the Proposal at the front of the ProposalQueue
func (Keeper) ActiveProposalQueuePop ¶ added in v0.20.0
func (keeper Keeper) ActiveProposalQueuePop(ctx sdk.Context) Proposal
Remove and return a Proposal from the front of the ProposalQueue
func (Keeper) ActiveProposalQueuePush ¶ added in v0.20.0
func (keeper Keeper) ActiveProposalQueuePush(ctx sdk.Context, proposal Proposal)
Add a proposalID to the back of the ProposalQueue
func (Keeper) AddDeposit ¶ added in v0.20.0
func (keeper Keeper) AddDeposit(ctx sdk.Context, proposalID int64, depositerAddr sdk.AccAddress, depositAmount sdk.Coins) (sdk.Error, bool)
Adds or updates a deposit of a specific depositer on a specific proposal Activates voting period when appropriate
func (Keeper) AddVote ¶ added in v0.20.0
func (keeper Keeper) AddVote(ctx sdk.Context, proposalID int64, voterAddr sdk.AccAddress, option VoteOption) sdk.Error
Adds a vote on a specific proposal
func (Keeper) DeleteDeposits ¶ added in v0.20.0
func (keeper Keeper) DeleteDeposits(ctx sdk.Context, proposalID int64)
Deletes all the deposits on a specific proposal without refunding them
func (Keeper) DeleteProposal ¶ added in v0.20.0
func (keeper Keeper) DeleteProposal(ctx sdk.Context, proposal Proposal)
Implements sdk.AccountKeeper.
func (Keeper) GetDeposit ¶ added in v0.20.0
func (keeper Keeper) GetDeposit(ctx sdk.Context, proposalID int64, depositerAddr sdk.AccAddress) (Deposit, bool)
Gets the deposit of a specific depositer on a specific proposal
func (Keeper) GetDepositProcedure ¶ added in v0.20.0
func (keeper Keeper) GetDepositProcedure(ctx sdk.Context) DepositProcedure
Returns the current Deposit Procedure from the global param store nolint: errcheck
func (Keeper) GetDeposits ¶ added in v0.20.0
func (keeper Keeper) GetDeposits(ctx sdk.Context, proposalID int64) sdk.Iterator
Gets all the deposits on a specific proposal
func (Keeper) GetLastProposalID ¶ added in v0.24.0
func (keeper Keeper) GetLastProposalID(ctx sdk.Context) (proposalID int64)
Get the last used proposal ID
func (Keeper) GetProposal ¶ added in v0.20.0
func (keeper Keeper) GetProposal(ctx sdk.Context, proposalID int64) Proposal
Get Proposal from store by ProposalID
func (Keeper) GetProposalsFiltered ¶ added in v0.25.0
func (keeper Keeper) GetProposalsFiltered(ctx sdk.Context, voterAddr sdk.AccAddress, depositerAddr sdk.AccAddress, status ProposalStatus, numLatest int64) []Proposal
Get Proposal from store by ProposalID
func (Keeper) GetTallyingProcedure ¶ added in v0.20.0
func (keeper Keeper) GetTallyingProcedure(ctx sdk.Context) TallyingProcedure
Returns the current Tallying Procedure from the global param store nolint: errcheck
func (Keeper) GetVote ¶ added in v0.20.0
func (keeper Keeper) GetVote(ctx sdk.Context, proposalID int64, voterAddr sdk.AccAddress) (Vote, bool)
Gets the vote of a specific voter on a specific proposal
func (Keeper) GetVotes ¶ added in v0.20.0
func (keeper Keeper) GetVotes(ctx sdk.Context, proposalID int64) sdk.Iterator
Gets all the votes on a specific proposal
func (Keeper) GetVotingProcedure ¶ added in v0.20.0
func (keeper Keeper) GetVotingProcedure(ctx sdk.Context) VotingProcedure
Returns the current Voting Procedure from the global param store nolint: errcheck
func (Keeper) InactiveProposalQueuePeek ¶ added in v0.20.0
func (keeper Keeper) InactiveProposalQueuePeek(ctx sdk.Context) Proposal
Return the Proposal at the front of the ProposalQueue
func (Keeper) InactiveProposalQueuePop ¶ added in v0.20.0
func (keeper Keeper) InactiveProposalQueuePop(ctx sdk.Context) Proposal
Remove and return a Proposal from the front of the ProposalQueue
func (Keeper) InactiveProposalQueuePush ¶ added in v0.20.0
func (keeper Keeper) InactiveProposalQueuePush(ctx sdk.Context, proposal Proposal)
Add a proposalID to the back of the ProposalQueue
func (Keeper) NewTextProposal ¶ added in v0.20.0
func (keeper Keeper) NewTextProposal(ctx sdk.Context, title string, description string, proposalType ProposalKind) Proposal
Creates a NewProposal
func (Keeper) RefundDeposits ¶ added in v0.20.0
func (keeper Keeper) RefundDeposits(ctx sdk.Context, proposalID int64)
Returns and deletes all the deposits on a specific proposal
func (Keeper) SetProposal ¶ added in v0.20.0
func (keeper Keeper) SetProposal(ctx sdk.Context, proposal Proposal)
Implements sdk.AccountKeeper.
type MsgDeposit ¶
type MsgDeposit struct {
ProposalID int64 `json:"proposal_id"` // ID of the proposal
Depositer sdk.AccAddress `json:"depositer"` // Address of the depositer
Amount sdk.Coins `json:"amount"` // Coins to add to the proposal's deposit
}
----------------------------------------------------------- MsgDeposit
func NewMsgDeposit ¶
func NewMsgDeposit(depositer sdk.AccAddress, proposalID int64, amount sdk.Coins) MsgDeposit
func (MsgDeposit) Get ¶ added in v0.20.0
func (msg MsgDeposit) Get(key interface{}) (value interface{})
Implements Msg.
func (MsgDeposit) GetSignBytes ¶ added in v0.20.0
func (msg MsgDeposit) GetSignBytes() []byte
Implements Msg.
func (MsgDeposit) GetSigners ¶ added in v0.20.0
func (msg MsgDeposit) GetSigners() []sdk.AccAddress
Implements Msg.
func (MsgDeposit) Route ¶ added in v0.25.0
func (msg MsgDeposit) Route() string
Implements Msg. nolint
func (MsgDeposit) ValidateBasic ¶ added in v0.20.0
func (msg MsgDeposit) ValidateBasic() sdk.Error
Implements Msg.
type MsgSubmitProposal ¶
type MsgSubmitProposal struct {
Title string `json:"title"` // Title of the proposal
Description string `json:"description"` // Description of the proposal
ProposalType ProposalKind `json:"proposal_type"` // Type of proposal. Initial set {PlainTextProposal, SoftwareUpgradeProposal}
Proposer sdk.AccAddress `json:"proposer"` // Address of the proposer
InitialDeposit sdk.Coins `json:"initial_deposit"` // Initial deposit paid by sender. Must be strictly positive.
}
----------------------------------------------------------- MsgSubmitProposal
func NewMsgSubmitProposal ¶
func NewMsgSubmitProposal(title string, description string, proposalType ProposalKind, proposer sdk.AccAddress, initialDeposit sdk.Coins) MsgSubmitProposal
func (MsgSubmitProposal) Get ¶ added in v0.20.0
func (msg MsgSubmitProposal) Get(key interface{}) (value interface{})
Implements Msg.
func (MsgSubmitProposal) GetSignBytes ¶ added in v0.20.0
func (msg MsgSubmitProposal) GetSignBytes() []byte
Implements Msg.
func (MsgSubmitProposal) GetSigners ¶ added in v0.20.0
func (msg MsgSubmitProposal) GetSigners() []sdk.AccAddress
Implements Msg.
func (MsgSubmitProposal) Route ¶ added in v0.25.0
func (msg MsgSubmitProposal) Route() string
nolint
func (MsgSubmitProposal) ValidateBasic ¶ added in v0.20.0
func (msg MsgSubmitProposal) ValidateBasic() sdk.Error
Implements Msg.
type MsgVote ¶
type MsgVote struct {
ProposalID int64 `json:"proposal_id"` // ID of the proposal
Voter sdk.AccAddress `json:"voter"` // address of the voter
Option VoteOption `json:"option"` // option from OptionSet chosen by the voter
}
----------------------------------------------------------- MsgVote
func NewMsgVote ¶
func NewMsgVote(voter sdk.AccAddress, proposalID int64, option VoteOption) MsgVote
func (MsgVote) Get ¶ added in v0.20.0
func (msg MsgVote) Get(key interface{}) (value interface{})
Implements Msg.
func (MsgVote) GetSignBytes ¶ added in v0.20.0
func (msg MsgVote) GetSignBytes() []byte
Implements Msg.
func (MsgVote) GetSigners ¶ added in v0.20.0
func (msg MsgVote) GetSigners() []sdk.AccAddress
Implements Msg.
func (MsgVote) ValidateBasic ¶ added in v0.20.0
func (msg MsgVote) ValidateBasic() sdk.Error
Implements Msg.
type Proposal ¶
type Proposal interface {
GetProposalID() int64
SetProposalID(int64)
GetTitle() string
SetTitle(string)
GetDescription() string
SetDescription(string)
GetProposalType() ProposalKind
SetProposalType(ProposalKind)
GetStatus() ProposalStatus
SetStatus(ProposalStatus)
GetTallyResult() TallyResult
SetTallyResult(TallyResult)
GetSubmitTime() time.Time
SetSubmitTime(time.Time)
GetTotalDeposit() sdk.Coins
SetTotalDeposit(sdk.Coins)
GetVotingStartTime() time.Time
SetVotingStartTime(time.Time)
}
----------------------------------------------------------- Proposal interface
type ProposalKind ¶ added in v0.20.0
type ProposalKind byte
Type that represents Proposal Type as a byte
const (
ProposalTypeNil ProposalKind = 0x00
ProposalTypeText ProposalKind = 0x01
ProposalTypeParameterChange ProposalKind = 0x02
ProposalTypeSoftwareUpgrade ProposalKind = 0x03
)
nolint
func ProposalTypeFromString ¶ added in v0.21.0
func ProposalTypeFromString(str string) (ProposalKind, error)
String to proposalType byte. Returns ff if invalid.
func (ProposalKind) Format ¶ added in v0.21.0
func (pt ProposalKind) Format(s fmt.State, verb rune)
For Printf / Sprintf, returns bech32 when using %s nolint: errcheck
func (ProposalKind) Marshal ¶ added in v0.21.0
func (pt ProposalKind) Marshal() ([]byte, error)
Marshal needed for protobuf compatibility
func (ProposalKind) MarshalJSON ¶ added in v0.21.0
func (pt ProposalKind) MarshalJSON() ([]byte, error)
Marshals to JSON using string
func (ProposalKind) String ¶ added in v0.21.0
func (pt ProposalKind) String() string
Turns VoteOption byte to String
func (*ProposalKind) Unmarshal ¶ added in v0.21.0
func (pt *ProposalKind) Unmarshal(data []byte) error
Unmarshal needed for protobuf compatibility
func (*ProposalKind) UnmarshalJSON ¶ added in v0.21.0
func (pt *ProposalKind) UnmarshalJSON(data []byte) error
Unmarshals from JSON assuming Bech32 encoding
type ProposalQueue ¶
type ProposalQueue []int64
----------------------------------------------------------- ProposalQueue
type ProposalStatus ¶
type ProposalStatus byte
Type that represents Proposal Status as a byte
const (
StatusNil ProposalStatus = 0x00
StatusDepositPeriod ProposalStatus = 0x01
StatusVotingPeriod ProposalStatus = 0x02
StatusPassed ProposalStatus = 0x03
StatusRejected ProposalStatus = 0x04
)
nolint
func ProposalStatusFromString ¶
func ProposalStatusFromString(str string) (ProposalStatus, error)
ProposalStatusToString turns a string into a ProposalStatus
func (ProposalStatus) Format ¶ added in v0.21.0
func (status ProposalStatus) Format(s fmt.State, verb rune)
For Printf / Sprintf, returns bech32 when using %s nolint: errcheck
func (ProposalStatus) Marshal ¶ added in v0.21.0
func (status ProposalStatus) Marshal() ([]byte, error)
Marshal needed for protobuf compatibility
func (ProposalStatus) MarshalJSON ¶ added in v0.21.0
func (status ProposalStatus) MarshalJSON() ([]byte, error)
Marshals to JSON using string
func (ProposalStatus) String ¶ added in v0.21.0
func (status ProposalStatus) String() string
Turns VoteStatus byte to String
func (*ProposalStatus) Unmarshal ¶ added in v0.21.0
func (status *ProposalStatus) Unmarshal(data []byte) error
Unmarshal needed for protobuf compatibility
func (*ProposalStatus) UnmarshalJSON ¶ added in v0.21.0
func (status *ProposalStatus) UnmarshalJSON(data []byte) error
Unmarshals from JSON assuming Bech32 encoding
type QueryDepositParams ¶
type QueryDepositParams struct {
ProposalID int64
Depositer sdk.AccAddress
}
Params for query 'custom/gov/deposit'
type QueryDepositsParams ¶ added in v0.25.0
type QueryDepositsParams struct {
ProposalID int64
}
Params for query 'custom/gov/deposits'
type QueryProposalParams ¶
type QueryProposalParams struct {
ProposalID int64
}
Params for query 'custom/gov/proposal'
type QueryProposalsParams ¶
type QueryProposalsParams struct {
Voter sdk.AccAddress
Depositer sdk.AccAddress
ProposalStatus ProposalStatus
NumLatestProposals int64
}
Params for query 'custom/gov/proposals'
type QueryTallyParams ¶ added in v0.25.0
type QueryTallyParams struct {
ProposalID int64
}
Params for query 'custom/gov/tally'
type QueryVoteParams ¶
type QueryVoteParams struct {
ProposalID int64
Voter sdk.AccAddress
}
Params for query 'custom/gov/vote'
type QueryVotesParams ¶ added in v0.25.0
type QueryVotesParams struct {
ProposalID int64
}
Params for query 'custom/gov/votes'
type TallyResult ¶
type TallyResult struct {
Yes sdk.Dec `json:"yes"`
Abstain sdk.Dec `json:"abstain"`
No sdk.Dec `json:"no"`
NoWithVeto sdk.Dec `json:"no_with_veto"`
}
----------------------------------------------------------- Tally Results
type TallyingProcedure ¶ added in v0.20.0
type TallyingProcedure struct {
Threshold sdk.Dec `json:"threshold"` // Minimum propotion of Yes votes for proposal to pass. Initial value: 0.5
Veto sdk.Dec `json:"veto"` // Minimum value of Veto votes to Total votes ratio for proposal to be vetoed. Initial value: 1/3
GovernancePenalty sdk.Dec `json:"governance_penalty"` // Penalty if validator does not vote
}
Procedure around Tallying votes in governance
type TextProposal ¶
type TextProposal struct {
ProposalID int64 `json:"proposal_id"` // ID of the proposal
Title string `json:"title"` // Title of the proposal
Description string `json:"description"` // Description of the proposal
ProposalType ProposalKind `json:"proposal_type"` // Type of proposal. Initial set {PlainTextProposal, SoftwareUpgradeProposal}
Status ProposalStatus `json:"proposal_status"` // Status of the Proposal {Pending, Active, Passed, Rejected}
TallyResult TallyResult `json:"tally_result"` // Result of Tallys
SubmitTime time.Time `json:"submit_time"` // Height of the block where TxGovSubmitProposal was included
TotalDeposit sdk.Coins `json:"total_deposit"` // Current deposit on this proposal. Initial value is set at InitialDeposit
VotingStartTime time.Time `json:"voting_start_time"` // Height of the block where MinDeposit was reached. -1 if MinDeposit is not reached
}
----------------------------------------------------------- Text Proposals
func (TextProposal) GetDescription ¶ added in v0.20.0
func (tp TextProposal) GetDescription() string
func (TextProposal) GetProposalID ¶ added in v0.20.0
func (tp TextProposal) GetProposalID() int64
nolint
func (TextProposal) GetProposalType ¶ added in v0.20.0
func (tp TextProposal) GetProposalType() ProposalKind
func (TextProposal) GetSubmitTime ¶ added in v0.25.0
func (tp TextProposal) GetSubmitTime() time.Time
func (TextProposal) GetTallyResult ¶ added in v0.24.0
func (tp TextProposal) GetTallyResult() TallyResult
func (TextProposal) GetTotalDeposit ¶ added in v0.20.0
func (tp TextProposal) GetTotalDeposit() sdk.Coins
func (TextProposal) GetVotingStartTime ¶ added in v0.25.0
func (tp TextProposal) GetVotingStartTime() time.Time
func (*TextProposal) SetDescription ¶ added in v0.20.0
func (tp *TextProposal) SetDescription(description string)
func (*TextProposal) SetProposalID ¶ added in v0.20.0
func (tp *TextProposal) SetProposalID(proposalID int64)
func (*TextProposal) SetProposalType ¶ added in v0.20.0
func (tp *TextProposal) SetProposalType(proposalType ProposalKind)
func (*TextProposal) SetStatus ¶ added in v0.20.0
func (tp *TextProposal) SetStatus(status ProposalStatus)
func (*TextProposal) SetSubmitTime ¶ added in v0.25.0
func (tp *TextProposal) SetSubmitTime(submitTime time.Time)
func (*TextProposal) SetTallyResult ¶ added in v0.24.0
func (tp *TextProposal) SetTallyResult(tallyResult TallyResult)
func (*TextProposal) SetTotalDeposit ¶ added in v0.20.0
func (tp *TextProposal) SetTotalDeposit(totalDeposit sdk.Coins)
func (*TextProposal) SetVotingStartTime ¶ added in v0.25.0
func (tp *TextProposal) SetVotingStartTime(votingStartTime time.Time)
type Vote ¶
type Vote struct {
Voter sdk.AccAddress `json:"voter"` // address of the voter
ProposalID int64 `json:"proposal_id"` // proposalID of the proposal
Option VoteOption `json:"option"` // option from OptionSet chosen by the voter
}
Vote
type VoteOption ¶
type VoteOption byte
Type that represents VoteOption as a byte
const (
OptionEmpty VoteOption = 0x00
OptionYes VoteOption = 0x01
OptionAbstain VoteOption = 0x02
OptionNo VoteOption = 0x03
OptionNoWithVeto VoteOption = 0x04
)
nolint
func VoteOptionFromString ¶
func VoteOptionFromString(str string) (VoteOption, error)
String to proposalType byte. Returns ff if invalid.
func (VoteOption) Format ¶ added in v0.21.0
func (vo VoteOption) Format(s fmt.State, verb rune)
For Printf / Sprintf, returns bech32 when using %s nolint: errcheck
func (VoteOption) Marshal ¶ added in v0.21.0
func (vo VoteOption) Marshal() ([]byte, error)
Marshal needed for protobuf compatibility
func (VoteOption) MarshalJSON ¶ added in v0.21.0
func (vo VoteOption) MarshalJSON() ([]byte, error)
Marshals to JSON using string
func (VoteOption) String ¶ added in v0.21.0
func (vo VoteOption) String() string
Turns VoteOption byte to String
func (*VoteOption) Unmarshal ¶ added in v0.21.0
func (vo *VoteOption) Unmarshal(data []byte) error
Unmarshal needed for protobuf compatibility
func (*VoteOption) UnmarshalJSON ¶ added in v0.21.0
func (vo *VoteOption) UnmarshalJSON(data []byte) error
Unmarshals from JSON assuming Bech32 encoding
type VotingProcedure ¶ added in v0.20.0
type VotingProcedure struct {
VotingPeriod time.Duration `json:"voting_period"` // Length of the voting period.
}
Procedure around Voting in governance