swamp

package
v0.4.1-dirty Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Components

type Components struct {
	App     types.Application
	CoreCfg *tn.Config
}

Components struct represents a set of pre-requisite attributes from the test scenario

func DefaultComponents

func DefaultComponents() *Components

DefaultComponents creates a KvStore with a block retention of 200 In addition, the empty block interval is set to 200ms

type Option added in v0.3.0

type Option func(*Components)

Option for modifying Swamp's Config.

func WithBlockTime added in v0.3.0

func WithBlockTime(t time.Duration) Option

WithBlockTime sets a custom interval for block creation.

type Swamp

type Swamp struct {
	Network     mocknet.Mocknet
	CoreClient  core.Client
	BridgeNodes []*node.Node
	FullNodes   []*node.Node
	LightNodes  []*node.Node
	// contains filtered or unexported fields
}

Swamp represents the main functionality that is needed for the test-case: - Network to link the nodes - CoreClient to share between Bridge nodes - Slices of created Bridge/Full/Light Nodes - trustedHash taken from the CoreClient and shared between nodes

func NewSwamp

func NewSwamp(t *testing.T, options ...Option) *Swamp

NewSwamp creates a new instance of Swamp.

func (*Swamp) Connect added in v0.3.0

func (s *Swamp) Connect(t *testing.T, peerA, peerB peer.ID)

Connect allows to connect peers after hard disconnection.

func (*Swamp) Disconnect added in v0.3.0

func (s *Swamp) Disconnect(t *testing.T, peerA, peerB peer.ID)

Disconnect allows to break a connection between two peers without any possibility to re-establish it. Order is very important here. We have to unlink peers first, and only after that call disconnect. This is hard disconnect and peers will not be able to reconnect. In order to reconnect peers again, please use swamp.Connect

func (*Swamp) FillBlocks added in v0.3.0

func (s *Swamp) FillBlocks(ctx context.Context, bsize, blocks int) error

func (*Swamp) GetCoreBlockHashByHeight added in v0.3.0

func (s *Swamp) GetCoreBlockHashByHeight(ctx context.Context, height int64) bytes.HexBytes

GetCoreBlockHashByHeight returns a tendermint block's hash by provided height

func (*Swamp) NewBridgeNode

func (s *Swamp) NewBridgeNode(options ...node.Option) *node.Node

NewBridgeNode creates a new instance of a BridgeNode providing a default config and a mockstore to the NewNodeWithStore method

func (*Swamp) NewFullNode added in v0.3.0

func (s *Swamp) NewFullNode(options ...node.Option) *node.Node

NewFullNode creates a new instance of a FullNode providing a default config and a mockstore to the NewNodeWithStore method

func (*Swamp) NewLightNode

func (s *Swamp) NewLightNode(options ...node.Option) *node.Node

NewLightNode creates a new instance of a LightNode providing a default config and a mockstore to the NewNodeWithStore method

func (*Swamp) NewNodeWithStore added in v0.3.0

func (s *Swamp) NewNodeWithStore(t node.Type, store node.Store, options ...node.Option) *node.Node

NewNodeWithStore creates a new instance of Node with predefined Store. Afterwards, the instance is stored in the swamp's Nodes' slice according to the node's type provided from the user.

func (*Swamp) RemoveNode added in v0.3.0

func (s *Swamp) RemoveNode(n *node.Node, t node.Type) error

RemoveNode removes a node from the swamp's node slice this allows reusage of the same var in the test scenario if the user needs to stop and start the same node

func (*Swamp) SubmitData added in v0.3.0

func (s *Swamp) SubmitData(ctx context.Context, data []byte) error

SubmitData submits given data in the block. TODO(@Wondertan): This must be a real PFD using celestia-app, once we can run App in the Swamp.

func (*Swamp) WaitTillHeight

func (s *Swamp) WaitTillHeight(ctx context.Context, height int64)

WaitTillHeight holds the test execution until the given amount of blocks has been produced by the CoreClient.

Jump to

Keyboard shortcuts

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