util

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: May 17, 2019 License: MIT Imports: 11 Imported by: 54

Documentation

Index

Constants

View Source
const (
	RewardFullRate = uint64(10000)
	Stop           = "0"
	TxsReward      = 0
	BlkReward      = 1
)
View Source
const (
	PackageName = "奖励util"
)

Variables

View Source
var (
	//ValidatorBlockReward  *big.Int = new(big.Int).Exp(big.NewInt(10), big.NewInt(18), big.NewInt(0)) // Block reward in wei for successfully mining a block
	MultilCoinBlockReward *big.Int = new(big.Int).Exp(big.NewInt(10), big.NewInt(18), big.NewInt(0)) // Block reward in wei for successfully mining a block upward from Byzantium
	//分母10000
	ByzantiumTxsRewardDen *big.Int = big.NewInt(1000000000) // Block reward in wei for successfully mining a block upward from Byzantium
	ValidatorsBlockReward *big.Int = big.NewInt(5e+18)
	MinersBlockReward     *big.Int = big.NewInt(5e+18)

	ManPrice *big.Int = big.NewInt(1e18)

	ThousandthManPrice *big.Int = big.NewInt(1e15)

	Precision *big.Int = big.NewInt(1)

	CalcGamma = "2"
)

Functions

func AccumulatorCheck added in v1.1.3

func AccumulatorCheck(st StateDB, rewardIn []common.RewarTx) []common.RewarTx

func CalcInterestReward added in v1.1.2

func CalcInterestReward(reward *big.Int, interest map[common.Address]*big.Int) map[common.Address]*big.Int

func CalcN added in v1.1.2

func CalcN(halfNum uint64, num uint64) uint64

func CalcRateReward

func CalcRateReward(rewardAmount *big.Int, rate uint64) *big.Int

func CalcRewardMount added in v1.1.2

func CalcRewardMount(blockReward *big.Int, n uint64, x uint16) *big.Int

func CalcRewardMountByNumber added in v1.1.2

func CalcRewardMountByNumber(st StateDB, blockReward *big.Int, num uint64, halfNum uint64, address common.Address, attenuationRate uint16) *big.Int

func CalcStockRate

func CalcStockRate(reward *big.Int, depositNodes map[common.Address]DepositInfo) map[common.Address]*big.Int

func CointypeCheck added in v1.1.3

func CointypeCheck(st StateDB, rewardIn []common.RewarTx) []common.RewarTx

func GetPreMinerReward added in v1.1.3

func GetPreMinerReward(state StateDB, rewardType uint8) ([]mc.MultiCoinMinerOutReward, error)

func GetPrice added in v1.1.4

func GetPrice(calc string) *big.Int

func MergeReward

func MergeReward(dst map[common.Address]*big.Int, src map[common.Address]*big.Int)

func SetAccountRewards

func SetAccountRewards(rewards map[common.Address]*big.Int, account common.Address, reward *big.Int)

Types

type ChainReader

type ChainReader interface {

	// GetHeaderByHash retrieves a block header from the database by its hash.
	GetHeaderByHash(hash common.Hash) *types.Header

	// GetBlock retrieves a block sfrom the database by hash and number.
	StateAt(root []common.CoinRoot) (*state.StateDBManage, error)
	State() (*state.StateDBManage, error)
	GetGraphByState(state matrixstate.StateDB) (*mc.TopologyGraph, *mc.ElectGraph, error)
	StateAtBlockHash(hash common.Hash) (*state.StateDBManage, error)
	GetAncestorHash(sonHash common.Hash, ancestorNumber uint64) (common.Hash, error)
}

type DepositInfo

type DepositInfo struct {
	Deposit  *big.Int
	FixStock uint64
}

type StateDB

type StateDB interface {
	GetBalance(typ string, addr common.Address) common.BalanceType
	GetMatrixData(hash common.Hash) (val []byte)
	SetMatrixData(hash common.Hash, val []byte)
}

Jump to

Keyboard shortcuts

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