contracts

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2020 License: GPL-3.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TxSignMu sync.RWMutex

Functions

func BuildTxOpeningRandomize

func BuildTxOpeningRandomize(nonce uint64, randomizeAddr common.Address, randomizeKey []byte) (*types.Transaction, error)

Send opening to randomize SMC.

func BuildTxSecretRandomize

func BuildTxSecretRandomize(nonce uint64, randomizeAddr common.Address, epocNumber uint64, randomizeKey []byte) (*types.Transaction, error)

Send secret key into randomize smartcontract.

func BuildValidatorFromM2

func BuildValidatorFromM2(listM2 []int64) []byte

Get validators from m2 array integer.

func CalculateRewardForHolders

func CalculateRewardForHolders(foundationWalletAddr common.Address, state *state.StateDB, signer common.Address, calcReward *big.Int, blockNumber uint64) (error, map[common.Address]*big.Int)

func CalculateRewardForSigner

func CalculateRewardForSigner(chainReward *big.Int, signers map[common.Address]*rewardLog, totalSigner uint64) (map[common.Address]*big.Int, error)

Calculate reward for signers.

func CreateTransactionSign

func CreateTransactionSign(chainConfig *params.ChainConfig, pool *core.TxPool, manager *accounts.Manager, block *types.Block, chainDb ethdb.Database) error

Send tx sign for block number to smart contract blockSigner.

func CreateTxSign

func CreateTxSign(blockNumber *big.Int, blockHash common.Hash, nonce uint64, blockSigner common.Address) *types.Transaction

Create tx sign.

func DecodeValidatorsHexData

func DecodeValidatorsHexData(validatorsStr string) ([]int64, error)

Decode validator hex string.

func Decrypt

func Decrypt(key []byte, cryptoText string) string

decrypt from base64 to decrypted string

func DecryptRandomizeFromSecretsAndOpening

func DecryptRandomizeFromSecretsAndOpening(secrets [][32]byte, opening [32]byte) (int64, error)

Decrypt randomize from secrets and opening.

func Encrypt

func Encrypt(key []byte, text string) string

encrypt string to base64 crypto using AES

func GenM2FromRandomize

func GenM2FromRandomize(randomizes []int64, lenSigners int64) ([]int64, error)

Generate m2 listing from randomize array.

func GetCandidateCap

func GetCandidateCap(statedb *state.StateDB, parsed abi.ABI, candidate common.Address) string

func GetCandidateOwner

func GetCandidateOwner(statedb *state.StateDB, candidate common.Address) common.Address

func GetCandidates

func GetCandidates(statedb *state.StateDB) []common.Address

func GetCandidatesOwnerBySigner

func GetCandidatesOwnerBySigner(state *state.StateDB, signerAddr common.Address) common.Address

Get candidate owner by address.

func GetOpening

func GetOpening(statedb *state.StateDB, address common.Address) [32]byte

func GetRandomizeFromContract

func GetRandomizeFromContract(client bind.ContractBackend, addrMasternode common.Address) (int64, error)

Get random from randomize contract.

func GetRewardBalancesRate

func GetRewardBalancesRate(foundationWalletAddr common.Address, state *state.StateDB, masterAddr common.Address, totalReward *big.Int, blockNumber uint64) (map[common.Address]*big.Int, error)

func GetRewardForCheckpoint

func GetRewardForCheckpoint(c *XDPoS.XDPoS, chain consensus.ChainReader, header *types.Header, rCheckpoint uint64, totalSigner *uint64) (map[common.Address]*rewardLog, error)

Calculate reward for reward checkpoint.

func GetSecret

func GetSecret(statedb *state.StateDB, address common.Address) [][32]byte

func GetSigners

func GetSigners(statedb *state.StateDB, block *types.Block) []common.Address

func GetSignersByExecutingEVM

func GetSignersByExecutingEVM(addrBlockSigner common.Address, client bind.ContractBackend, blockHash common.Hash) ([]common.Address, error)

Get signers signed for blockNumber from blockSigner contract.

func GetSignersFromContract

func GetSignersFromContract(state *state.StateDB, block *types.Block) ([]common.Address, error)

Get signers signed for blockNumber from blockSigner contract.

func GetVoterCap

func GetVoterCap(state *state.StateDB, candidate, voter common.Address) *big.Int

func GetVoters

func GetVoters(statedb *state.StateDB, candidate common.Address) []common.Address

func NewSlice

func NewSlice(start int64, end int64, step int64) []int64

Dynamic generate array sequence of numbers.

func RandStringByte

func RandStringByte(n int) []byte

Generate random string.

func Shuffle

func Shuffle(slice []int64) []int64

Shuffle array.

Types

This section is empty.

Directories

Path Synopsis
Package chequebook package wraps the 'chequebook' Ethereum smart contract.
Package chequebook package wraps the 'chequebook' Ethereum smart contract.
ens

Jump to

Keyboard shortcuts

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