tests

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2019 License: LGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AccFactory = &AccountFactory{}

Functions

func NewTxPool

func NewTxPool(chainconfig chain_config.ChainConfig, chain blockChain) *tx_pool.TxPool

Types

type Account

type Account struct {
	Pk *ecdsa.PrivateKey
	// contains filtered or unexported fields
}

func ChangeVerBootNodeAddress

func ChangeVerBootNodeAddress() ([]Account, error)

func ChangeVerifierAddress

func ChangeVerifierAddress(accounts []Account) ([]Account, error)

func NewAccount

func NewAccount(pk *ecdsa.PrivateKey, address common.Address) *Account

func (*Account) Address

func (a *Account) Address() common.Address

func (*Account) SignHash

func (a *Account) SignHash(hash []byte) ([]byte, error)

type AccountFactory

type AccountFactory struct{}

get or gen account

func (*AccountFactory) GenAccount

func (acc *AccountFactory) GenAccount() Account

gen account

func (*AccountFactory) GenAccounts

func (acc *AccountFactory) GenAccounts(x int) (r []Account)

gen x accounts

func (*AccountFactory) GetAccount

func (acc *AccountFactory) GetAccount(index int) Account

get default account(have certain address)

type Accounts

type Accounts []Account

func (Accounts) GetAddresses

func (as Accounts) GetAddresses() (r []common.Address)

type BftChainState

type BftChainState interface {
	Chain
	SaveBftBlock(block model.AbstractBlock, seenCommits []model.AbstractVerification) error
}

type BftCluster

type BftCluster struct {
	BftStates []*state_machine.BftState
	Verifiers []Account
}

func NewBftCluster

func NewBftCluster(verifiers []Account) *BftCluster

func (*BftCluster) NewProposal

func (bc *BftCluster) NewProposal(x int, round uint64, block model2.AbstractBlock) (p []*model.Proposal)

func (*BftCluster) NewRoundMsg

func (bc *BftCluster) NewRoundMsg(x int, h, round uint64) (r []*model.NewRoundMsg)

func (*BftCluster) NewVote

func (bc *BftCluster) NewVote(x int, round uint64, vt model2.VoteMsgType, block model2.AbstractBlock) (p []*model2.VoteMsg)

func (*BftCluster) StatesIter

func (bc *BftCluster) StatesIter(cb func(*state_machine.BftState))

type BlockBuilder

type BlockBuilder struct {
	ChainState Chain
	PreBlock   model.AbstractBlock
	Txs        []*model.Transaction
	// commit list
	Vers          []model.AbstractVerification
	MinerPk       *ecdsa.PrivateKey
	InvalidTxList []model.AbstractTransaction
}

func (*BlockBuilder) Build

func (builder *BlockBuilder) Build() model.AbstractBlock

build the wait-pack block

func (*BlockBuilder) BuildFuture

func (builder *BlockBuilder) BuildFuture() model.AbstractBlock

build future block

func (*BlockBuilder) BuildSpecialBlock

func (builder *BlockBuilder) BuildSpecialBlock() model.AbstractBlock

build special block

func (*BlockBuilder) ClearInvalidTxList

func (builder *BlockBuilder) ClearInvalidTxList()

func (*BlockBuilder) SetMinerPk

func (builder *BlockBuilder) SetMinerPk(pk *ecdsa.PrivateKey)

func (*BlockBuilder) SetPreBlock

func (builder *BlockBuilder) SetPreBlock(block model.AbstractBlock)

func (*BlockBuilder) SetVerifivations

func (builder *BlockBuilder) SetVerifivations(votes []model.AbstractVerification)

type ChainHelper

type ChainHelper interface {
	GetChainConfig() *chain_config.ChainConfig
	GetEconomyModel() economy_model.EconomyModel
	GetChainDB() chaindb.Database
}

type FakeBlockForBft

type FakeBlockForBft struct {
	Num   uint64
	PHash common.Hash
	// contains filtered or unexported fields
}

func (*FakeBlockForBft) Body

func (fb *FakeBlockForBft) Body() model2.AbstractBody

func (*FakeBlockForBft) CoinBase

func (fb *FakeBlockForBft) CoinBase() *big.Int

func (*FakeBlockForBft) CoinBaseAddress

func (fb *FakeBlockForBft) CoinBaseAddress() common.Address

func (*FakeBlockForBft) Difficulty

func (fb *FakeBlockForBft) Difficulty() common.Difficulty

func (*FakeBlockForBft) EncodeRlpToBytes

func (fb *FakeBlockForBft) EncodeRlpToBytes() ([]byte, error)

func (*FakeBlockForBft) FormatForRpc

func (fb *FakeBlockForBft) FormatForRpc() interface{}

func (*FakeBlockForBft) GetAbsTransactions

func (fb *FakeBlockForBft) GetAbsTransactions() []model2.AbstractTransaction

func (*FakeBlockForBft) GetBlockTxsBloom

func (fb *FakeBlockForBft) GetBlockTxsBloom() *iblt.Bloom

func (*FakeBlockForBft) GetBloom

func (fb *FakeBlockForBft) GetBloom() iblt.Bloom

func (*FakeBlockForBft) GetEiBloomBlockData

func (fb *FakeBlockForBft) GetEiBloomBlockData(reqEstimator *iblt.HybridEstimator) *model2.BloomBlockData

func (*FakeBlockForBft) GetInterLinkRoot

func (fb *FakeBlockForBft) GetInterLinkRoot() (root common.Hash)
func (fb *FakeBlockForBft) GetInterlinks() model2.InterLink

func (*FakeBlockForBft) GetRegisterRoot

func (fb *FakeBlockForBft) GetRegisterRoot() common.Hash

func (*FakeBlockForBft) GetTransactionFees

func (fb *FakeBlockForBft) GetTransactionFees() *big.Int

func (*FakeBlockForBft) GetTransactions

func (fb *FakeBlockForBft) GetTransactions() []*model2.Transaction

func (*FakeBlockForBft) GetVerifications

func (fb *FakeBlockForBft) GetVerifications() []model2.AbstractVerification

func (*FakeBlockForBft) Hash

func (fb *FakeBlockForBft) Hash() common.Hash

func (*FakeBlockForBft) Header

func (fb *FakeBlockForBft) Header() model2.AbstractHeader

func (*FakeBlockForBft) IsSpecial

func (fb *FakeBlockForBft) IsSpecial() bool

func (*FakeBlockForBft) Nonce

func (fb *FakeBlockForBft) Nonce() common.BlockNonce

func (*FakeBlockForBft) Number

func (fb *FakeBlockForBft) Number() uint64

func (*FakeBlockForBft) PreHash

func (fb *FakeBlockForBft) PreHash() common.Hash

func (*FakeBlockForBft) RefreshHashCache

func (fb *FakeBlockForBft) RefreshHashCache() common.Hash

func (*FakeBlockForBft) Seed

func (fb *FakeBlockForBft) Seed() common.Hash

func (*FakeBlockForBft) SetInterLinkRoot

func (fb *FakeBlockForBft) SetInterLinkRoot(root common.Hash)
func (fb *FakeBlockForBft) SetInterLinks(inter model2.InterLink)

func (*FakeBlockForBft) SetNonce

func (fb *FakeBlockForBft) SetNonce(nonce common.BlockNonce)

func (*FakeBlockForBft) SetRegisterRoot

func (fb *FakeBlockForBft) SetRegisterRoot(root common.Hash)

func (*FakeBlockForBft) SetStateRoot

func (fb *FakeBlockForBft) SetStateRoot(root common.Hash)

func (*FakeBlockForBft) SetVerifications

func (fb *FakeBlockForBft) SetVerifications(vs []model2.AbstractVerification)

func (*FakeBlockForBft) StateRoot

func (fb *FakeBlockForBft) StateRoot() common.Hash

func (*FakeBlockForBft) Timestamp

func (fb *FakeBlockForBft) Timestamp() *big.Int

func (*FakeBlockForBft) TxCount

func (fb *FakeBlockForBft) TxCount() int

func (*FakeBlockForBft) TxIterator

func (fb *FakeBlockForBft) TxIterator(cb func(int, model2.AbstractTransaction) error) error

func (*FakeBlockForBft) TxRoot

func (fb *FakeBlockForBft) TxRoot() common.Hash

func (*FakeBlockForBft) VerificationRoot

func (fb *FakeBlockForBft) VerificationRoot() common.Hash

func (*FakeBlockForBft) VersIterator

func (*FakeBlockForBft) Version

func (fb *FakeBlockForBft) Version() uint64

type GenesisEnv

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

Initialize the default validator in which the external test calls its method to vote on the block

func NewGenesisEnv

func NewGenesisEnv(chainDB chaindb.Database, stateStorage state_processor.StateStorage, accounts []Account) *GenesisEnv

func (*GenesisEnv) DefaultVerifiers

func (g *GenesisEnv) DefaultVerifiers() []Account

func (*GenesisEnv) Miner

func (g *GenesisEnv) Miner() Account

func (*GenesisEnv) VoteBlock

func (g *GenesisEnv) VoteBlock(num int, round uint64, b model.AbstractBlock) (result []model.AbstractVerification)

num is the number of votes

type StateHelper

type StateHelper interface {
	GetStateStorage() state_processor.StateStorage
	CurrentState() (*state_processor.AccountStateDB, error)
	StateAtByBlockNumber(num uint64) (*state_processor.AccountStateDB, error)
	StateAtByStateRoot(root common.Hash) (*state_processor.AccountStateDB, error)
	BuildStateProcessor(preAccountStateRoot common.Hash) (*state_processor.AccountStateDB, error)
}

type StateReader

type StateReader interface {
	Genesis() model.AbstractBlock
	CurrentBlock() model.AbstractBlock
	CurrentHeader() model.AbstractHeader
	GetBlock(hash common.Hash, number uint64) model.AbstractBlock
	GetBlockByHash(hash common.Hash) model.AbstractBlock
	GetBlockByNumber(number uint64) model.AbstractBlock
	HasBlock(hash common.Hash, number uint64) bool
	GetBody(hash common.Hash) model.AbstractBody
	GetBodyRLP(hash common.Hash) rlp.RawValue
	GetHeader(hash common.Hash, number uint64) model.AbstractHeader
	GetHeaderByHash(hash common.Hash) model.AbstractHeader
	GetHeaderByNumber(number uint64) model.AbstractHeader
	GetHeaderRLP(hash common.Hash) rlp.RawValue
	HasHeader(hash common.Hash, number uint64) bool
	GetBlockNumber(hash common.Hash) *uint64
	GetTransaction(txHash common.Hash) (model.AbstractTransaction, common.Hash, uint64, uint64)

	BlockProcessor(root common.Hash) (*chain.BlockProcessor, error)
	BlockProcessorByNumber(num uint64) (*chain.BlockProcessor, error)
}

type StateWriter

type StateWriter interface {
	SaveBlock(block model.AbstractBlock) error
}

type TxBuilder

type TxBuilder struct {
	Nonce  uint64
	To     common.Address
	Amount *big.Int
	Fee    *big.Int
	Data   []byte
	Pk     *ecdsa.PrivateKey
}

交易builder

func (*TxBuilder) Build

func (b *TxBuilder) Build() *model.Transaction

func (*TxBuilder) BuildAbs

func (b *TxBuilder) BuildAbs() model.AbstractTransaction

func (*TxBuilder) From

func (b *TxBuilder) From() common.Address

type VerBuilder

type VerBuilder struct {
	Round    uint64
	VoteType model.VoteMsgType
	Block    model.AbstractBlock
	Pk       *ecdsa.PrivateKey
}

func (*VerBuilder) Build

type VerifierHelper

type VerifierHelper interface {
	CurrentSeed() (common.Hash, uint64)
	IsChangePoint(block model.AbstractBlock, isProcessPackageBlock bool) bool
	GetLastChangePoint(block model.AbstractBlock) *uint64
	GetSlotByNum(num uint64) *uint64
	GetSlot(block model.AbstractBlock) *uint64
	GetCurrVerifiers() []common.Address
	GetVerifiers(round uint64) []common.Address
	GetNextVerifiers() []common.Address
	NumBeforeLastBySlot(slot uint64) *uint64
	BuildRegisterProcessor(preRoot common.Hash) (*registerdb.RegisterDB, error)
}

Directories

Path Synopsis
call-node-rpc
chain-test-spec
general

Jump to

Keyboard shortcuts

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