candidates

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2020 License: MIT Imports: 14 Imported by: 2

Documentation

Index

Constants

View Source
const (
	CandidateStatusOffline = 0x01
	CandidateStatusOnline  = 0x02

	UnbondPeriod              = 518400
	MaxDelegatorsPerCandidate = 1000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Bus

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

func NewBus

func NewBus(candidates *Candidates) *Bus

func (*Bus) GetCandidate

func (b *Bus) GetCandidate(pubkey types.Pubkey) *bus.Candidate

func (*Bus) GetCandidateByTendermintAddress

func (b *Bus) GetCandidateByTendermintAddress(tmAddress types.TmAddress) *bus.Candidate

func (*Bus) GetStakes

func (b *Bus) GetStakes(pubkey types.Pubkey) []bus.Stake

func (*Bus) Punish

func (b *Bus) Punish(height uint64, address types.TmAddress) *big.Int

func (*Bus) SetOffline

func (b *Bus) SetOffline(pubkey types.Pubkey)

type Candidate

type Candidate struct {
	PubKey        types.Pubkey
	RewardAddress types.Address
	OwnerAddress  types.Address
	Commission    uint
	Status        byte
	// contains filtered or unexported fields
}

func (*Candidate) FilterUpdates added in v1.1.2

func (candidate *Candidate) FilterUpdates()

func (*Candidate) GetFilteredUpdates

func (candidate *Candidate) GetFilteredUpdates() []*Stake

func (*Candidate) GetTmAddress

func (candidate *Candidate) GetTmAddress() types.TmAddress

func (*Candidate) GetTotalBipStake

func (candidate *Candidate) GetTotalBipStake() *big.Int

func (*Candidate) SetStakeAtIndex

func (candidate *Candidate) SetStakeAtIndex(index int, stake *Stake, isDirty bool)

type Candidates

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

func NewCandidates

func NewCandidates(bus *bus.Bus, iavl tree.Tree) (*Candidates, error)

func (*Candidates) Commit

func (c *Candidates) Commit() error

func (*Candidates) Count

func (c *Candidates) Count() int

func (*Candidates) Create

func (c *Candidates) Create(ownerAddress types.Address, rewardAddress types.Address, pubkey types.Pubkey, commission uint)

func (*Candidates) Delegate

func (c *Candidates) Delegate(address types.Address, pubkey types.Pubkey, coin types.CoinSymbol, value *big.Int, bipValue *big.Int)

func (*Candidates) Edit

func (c *Candidates) Edit(pubkey types.Pubkey, rewardAddress types.Address, ownerAddress types.Address)

func (*Candidates) Exists

func (c *Candidates) Exists(pubkey types.Pubkey) bool

func (*Candidates) Export

func (c *Candidates) Export(state *types.AppState)

func (*Candidates) GetCandidate

func (c *Candidates) GetCandidate(pubkey types.Pubkey) *Candidate

func (*Candidates) GetCandidateByTendermintAddress

func (c *Candidates) GetCandidateByTendermintAddress(address types.TmAddress) *Candidate

func (*Candidates) GetCandidateOwner

func (c *Candidates) GetCandidateOwner(pubkey types.Pubkey) types.Address

func (*Candidates) GetCandidates

func (c *Candidates) GetCandidates() []*Candidate

func (*Candidates) GetNewCandidates

func (c *Candidates) GetNewCandidates(valCount int) []Candidate

func (*Candidates) GetStakeOfAddress

func (c *Candidates) GetStakeOfAddress(pubkey types.Pubkey, address types.Address, coin types.CoinSymbol) *Stake

func (*Candidates) GetStakeValueOfAddress

func (c *Candidates) GetStakeValueOfAddress(pubkey types.Pubkey, address types.Address, coin types.CoinSymbol) *big.Int

func (*Candidates) GetStakes

func (c *Candidates) GetStakes(pubkey types.Pubkey) []*Stake

func (*Candidates) GetTotalStake

func (c *Candidates) GetTotalStake(pubkey types.Pubkey) *big.Int

func (*Candidates) IsDelegatorStakeSufficient

func (c *Candidates) IsDelegatorStakeSufficient(address types.Address, pubkey types.Pubkey, coin types.CoinSymbol, amount *big.Int) bool

func (*Candidates) IsNewCandidateStakeSufficient

func (c *Candidates) IsNewCandidateStakeSufficient(coin types.CoinSymbol, stake *big.Int, limit int) bool

func (*Candidates) LoadCandidates

func (c *Candidates) LoadCandidates()

func (*Candidates) LoadStakes

func (c *Candidates) LoadStakes()

func (*Candidates) Punish

func (c *Candidates) Punish(height uint64, address types.TmAddress) *big.Int

func (*Candidates) PunishByzantineCandidate

func (c *Candidates) PunishByzantineCandidate(height uint64, tmAddress types.TmAddress)

func (*Candidates) RecalculateStakes

func (c *Candidates) RecalculateStakes(height uint64)

func (*Candidates) SetOffline

func (c *Candidates) SetOffline(pubkey types.Pubkey)

func (*Candidates) SetOnline

func (c *Candidates) SetOnline(pubkey types.Pubkey)

func (*Candidates) SetStakes

func (c *Candidates) SetStakes(pubkey types.Pubkey, stakes []types.Stake)

func (*Candidates) SetTotalStake

func (c *Candidates) SetTotalStake(pubkey types.Pubkey, stake *big.Int)

func (*Candidates) StakesCount

func (c *Candidates) StakesCount(pubkey types.Pubkey) int

func (*Candidates) SubStake

func (c *Candidates) SubStake(address types.Address, pubkey types.Pubkey, coin types.CoinSymbol, value *big.Int)

type Stake

type Stake struct {
	Owner    types.Address
	Coin     types.CoinSymbol
	Value    *big.Int
	BipValue *big.Int
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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