framework

package
v0.7.3-beta1 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2023 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterOption

type ClusterOption func(*TestClusterConfig)

func WithBlockGasLimit

func WithBlockGasLimit(blockGasLimit uint64) ClusterOption

func WithBootnodeCount

func WithBootnodeCount(cnt int) ClusterOption

func WithBridge

func WithBridge() ClusterOption

func WithEpochReward

func WithEpochReward(epochReward int) ClusterOption

func WithEpochSize

func WithEpochSize(epochSize int) ClusterOption

func WithNonValidators

func WithNonValidators(num int) ClusterOption

func WithNumBlockConfirmations

func WithNumBlockConfirmations(numBlockConfirmations uint64) ClusterOption

func WithPremine

func WithPremine(addresses ...types.Address) ClusterOption

func WithPremineValidators

func WithPremineValidators(premineBalance string) ClusterOption

func WithPropertyBaseTests

func WithPropertyBaseTests(propertyBaseTests bool) ClusterOption

func WithSecretsCallback

func WithSecretsCallback(fn func([]types.Address, *TestClusterConfig)) ClusterOption

func WithValidatorSnapshot

func WithValidatorSnapshot(validatorsLen uint64) ClusterOption

type TestBridge

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

func NewTestBridge

func NewTestBridge(t *testing.T, clusterConfig *TestClusterConfig) (*TestBridge, error)

func (*TestBridge) DepositERC20

func (t *TestBridge) DepositERC20(rootTokenAddr, rootPredicateAddr types.Address, receivers, amounts string) error

DepositERC20 function invokes bridge deposit ERC20 tokens (from the root to the child chain) with given receivers and amounts

func (*TestBridge) JSONRPCAddr

func (t *TestBridge) JSONRPCAddr() string

func (*TestBridge) SendExitTransaction

func (t *TestBridge) SendExitTransaction(exitHelper types.Address, exitID, epoch, checkpointBlock uint64,
	rootJSONRPCAddr, childJSONRPCAddr string) error

SendExitTransaction sends exit transaction to the root chain

func (*TestBridge) Start

func (t *TestBridge) Start() error

func (*TestBridge) Stop

func (t *TestBridge) Stop()

func (*TestBridge) WaitUntil

func (t *TestBridge) WaitUntil(pollFrequency, timeout time.Duration, handler func() (bool, error)) error

func (*TestBridge) WithdrawERC20

func (t *TestBridge) WithdrawERC20(senderKey, receivers, amounts, jsonRPCEndpoint string) error

WithdrawERC20 function is used to invoke bridge withdraw ERC20 tokens (from the child to the root chain) with given receivers and amounts

type TestCluster

type TestCluster struct {
	Config  *TestClusterConfig
	Servers []*TestServer
	Bridge  *TestBridge
	// contains filtered or unexported fields
}

func NewTestCluster

func NewTestCluster(t *testing.T, validatorsCount int, opts ...ClusterOption) *TestCluster

func (*TestCluster) Fail

func (c *TestCluster) Fail(err error)

func (*TestCluster) InitSecrets

func (c *TestCluster) InitSecrets(prefix string, count int) ([]types.Address, error)

InitSecrets initializes account(s) secrets with given prefix. (secrets are being stored in the temp directory created by given e2e test execution)

func (*TestCluster) InitTestServer

func (c *TestCluster) InitTestServer(t *testing.T, i int, isValidator bool, relayer bool)

func (*TestCluster) Stats

func (c *TestCluster) Stats(t *testing.T)

func (*TestCluster) Stop

func (c *TestCluster) Stop()

func (*TestCluster) WaitForBlock

func (c *TestCluster) WaitForBlock(n uint64, timeout time.Duration) error

func (*TestCluster) WaitForGeneric

func (c *TestCluster) WaitForGeneric(dur time.Duration, fn func(*TestServer) bool) error

WaitForGeneric waits until all running servers returns true from fn callback or timeout defined by dur occurs

func (*TestCluster) WaitUntil

func (c *TestCluster) WaitUntil(dur time.Duration, handler func() bool) error

type TestClusterConfig

type TestClusterConfig struct {
	Name              string
	Premine           []string // address[:amount]
	PremineValidators string
	HasBridge         bool
	BootnodeCount     int
	NonValidatorCount int
	WithLogs          bool
	WithStdout        bool
	LogsDir           string
	TmpDir            string
	BlockGasLimit     uint64
	ValidatorPrefix   string
	Binary            string
	ValidatorSetSize  uint64
	EpochSize         int
	EpochReward       int
	PropertyBaseTests bool
	SecretsCallback   func([]types.Address, *TestClusterConfig)

	NumBlockConfirmations uint64
	// contains filtered or unexported fields
}

func (*TestClusterConfig) Dir

func (c *TestClusterConfig) Dir(name string) string

func (*TestClusterConfig) GetStdout

func (c *TestClusterConfig) GetStdout(name string, custom ...io.Writer) io.Writer

type TestServer

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

func NewTestServer

func NewTestServer(t *testing.T, clusterConfig *TestClusterConfig, callback TestServerConfigCallback) *TestServer

func (*TestServer) Conn

func (t *TestServer) Conn() proto.SystemClient

func (*TestServer) DataDir

func (t *TestServer) DataDir() string

func (*TestServer) Delegate

func (t *TestServer) Delegate(amount uint64, secrets string, validatorAddr ethgo.Address) error

Delegate delegates given amount by the account in secrets to validatorAddr validator

func (*TestServer) GrpcAddr

func (t *TestServer) GrpcAddr() string

func (*TestServer) HasValidatorSealed

func (t *TestServer) HasValidatorSealed(firstBlock, lastBlock uint64, validators polybft.AccountSet,
	validatorAddr ethgo.Address) (bool, error)

HasValidatorSealed checks whether given validator has signed at least single block for the given range of blocks

func (*TestServer) JSONRPC

func (t *TestServer) JSONRPC() *jsonrpc.Client

func (*TestServer) JSONRPCAddr

func (t *TestServer) JSONRPCAddr() string

func (*TestServer) RegisterValidator

func (t *TestServer) RegisterValidator(secrets string, stake string) error

RegisterValidator is a wrapper function which registers new validator with given balance and stake

func (*TestServer) Stake

func (t *TestServer) Stake(amount uint64) error

Stake stakes given amount to validator account encapsulated by given server instance

func (*TestServer) Start

func (t *TestServer) Start()

func (*TestServer) Stop

func (t *TestServer) Stop()

func (*TestServer) Undelegate

func (t *TestServer) Undelegate(amount uint64, secrets string, validatorAddr ethgo.Address) error

Undelegate undelegates given amount by the account in secrets from validatorAddr validator

func (*TestServer) Unstake

func (t *TestServer) Unstake(amount uint64) error

Unstake unstakes given amount from validator account encapsulated by given server instance

func (*TestServer) WaitForNonZeroBalance

func (t *TestServer) WaitForNonZeroBalance(address ethgo.Address, dur time.Duration) (*big.Int, error)

func (*TestServer) WhitelistValidator

func (t *TestServer) WhitelistValidator(address, secrets string) error

WhitelistValidator invokes whitelist-validator helper CLI command, which sends whitelist transaction to ChildValidatorSet

func (*TestServer) Withdraw

func (t *TestServer) Withdraw(secrets string, recipient ethgo.Address) error

Withdraw withdraws available balance to provided recipient address

type TestServerConfig

type TestServerConfig struct {
	Name                  string
	JSONRPCPort           int64
	GRPCPort              int64
	P2PPort               int64
	Seal                  bool
	DataDir               string
	Chain                 string
	LogLevel              string
	Relayer               bool
	NumBlockConfirmations uint64
}

type TestServerConfigCallback

type TestServerConfigCallback func(*TestServerConfig)

Jump to

Keyboard shortcuts

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