Versions in this module Expand all Collapse all v1 v1.0.0 Nov 19, 2020 Changes in this version + const Redeem + const Staking + const StakingInList + const StakingKeyFrom + const StakingKeyHash + const StakingKeyTo + const StakingKeyValue + const StakingUserIndex + const StakingUsersCount + var BaseQuorum = []common.Address + var CommonCoin = []byte("Sperax") + var E1 = big.NewInt(5) + var E2 = big.NewInt(50) + var ErrRedeemRequest = errors.New("REDEEM: not staked") + var ErrRedeemValidNonZero = errors.New("REDEEM: the redeem transaction has none 0 value") + var ErrStakingAlreadyExpired = errors.New("STAKING: staking period already expired") + var ErrStakingInvalidPeriod = errors.New("STAKING: invalid staking period, make sure from < to") + var ErrStakingMinimumTokens = errors.New("STAKING: less than minimum values") + var ErrStakingRequest = errors.New("STAKING: already staked") + var ErrStakingZeroValue = errors.New("STAKING: cannot stake 0 value") + var MaxUint256 = big.NewInt(0).SetBytes(...) + var StakingAddress = common.HexToAddress("0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee") + var StakingUnit = new(big.Int).Mul(big.NewInt(1000), big.NewInt(params.Ether)) + var W0 = crypto.Keccak256Hash(hexutil.MustDecode("0x03243F6A8885A308D313198A2E037073")) + func AddStakerToList(addr common.Address, state vm.StateDB) + func CreateValidators(header *types.Header, state vm.StateDB) []bdls.Identity + func DeriveStakingSeed(priv *ecdsa.PrivateKey, stakingFrom uint64) []byte + func DeriveW(header *types.Header) common.Hash + func GetAllStakers(state vm.StateDB) []common.Address + func HasStaked(addr common.Address, state vm.StateDB) bool + func HashChain(hash []byte, from, to uint64) []byte + func IsBaseQuorum(address common.Address) bool + func IsProposer(header *types.Header, parentState vm.StateDB) bool + func ProposerHash(header *types.Header) common.Hash + func RemoveStakerFromList(addr common.Address, state vm.StateDB) + func SetStakerData(staker *Staker, state vm.StateDB) + func TotalStaked(state vm.StateDB) *big.Int + type Staker struct + Address common.Address + StakedValue *big.Int + StakingFrom uint64 + StakingHash common.Hash + StakingTo uint64 + func GetStakerData(addr common.Address, state vm.StateDB) *Staker + type StakingOp byte + type StakingRequest struct + StakingFrom uint64 + StakingHash common.Hash + StakingOp StakingOp + StakingTo uint64