Documentation ¶
Index ¶
- type Components
- type Option
- type Swamp
- func (s *Swamp) Connect(t *testing.T, peerA, peerB peer.ID)
- func (s *Swamp) Disconnect(t *testing.T, peerA, peerB peer.ID)
- func (s *Swamp) FillBlocks(ctx context.Context, bsize, blocks int) error
- func (s *Swamp) GetCoreBlockHashByHeight(ctx context.Context, height int64) bytes.HexBytes
- func (s *Swamp) NewBridgeNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewFullNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewLightNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewNodeWithConfig(nodeType node.Type, cfg *nodebuilder.Config, options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewNodeWithStore(t node.Type, store nodebuilder.Store, options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) RemoveNode(n *nodebuilder.Node, t node.Type) error
- func (s *Swamp) SubmitData(ctx context.Context, data []byte) error
- func (s *Swamp) WaitTillHeight(ctx context.Context, height int64)
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 ¶
type Option func(*Components)
Option for modifying Swamp's Config.
func WithBlockTime ¶
WithBlockTime sets a custom interval for block creation.
type Swamp ¶
type Swamp struct { Network mocknet.Mocknet CoreClient core.Client BridgeNodes []*nodebuilder.Node FullNodes []*nodebuilder.Node LightNodes []*nodebuilder.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 (*Swamp) Disconnect ¶
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) GetCoreBlockHashByHeight ¶
GetCoreBlockHashByHeight returns a tendermint block's hash by provided height
func (*Swamp) NewBridgeNode ¶
func (s *Swamp) NewBridgeNode(options ...fx.Option) *nodebuilder.Node
NewBridgeNode creates a new instance of a BridgeNode providing a default config and a mockstore to the NewNodeWithStore method
func (*Swamp) NewFullNode ¶
func (s *Swamp) NewFullNode(options ...fx.Option) *nodebuilder.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 ...fx.Option) *nodebuilder.Node
NewLightNode creates a new instance of a LightNode providing a default config and a mockstore to the NewNodeWithStore method
func (*Swamp) NewNodeWithConfig ¶
func (s *Swamp) NewNodeWithConfig(nodeType node.Type, cfg *nodebuilder.Config, options ...fx.Option) *nodebuilder.Node
func (*Swamp) NewNodeWithStore ¶
func (s *Swamp) NewNodeWithStore( t node.Type, store nodebuilder.Store, options ...fx.Option, ) *nodebuilder.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 ¶
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 ¶
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.