Documentation ¶
Index ¶
- Constants
- Variables
- func FormatHttpUrl(host string, port string) string
- func FormatWsUrl(host string, port string) string
- func GenerateBeaconChainConfig(c *BeaconChainConfig) (string, error)
- func GetEndpoint(ctx context.Context, container tc.Container, endpointType string) (string, error)
- func GetHost(ctx context.Context, container tc.Container) (string, error)
- func NatPort(port string) nat.Port
- func NatPortFormat(port string) string
- type BeaconChainConfig
- type ConsensusLayer
- type ConsensusType
- type ContainerType
- type EnvComponent
- func (ec EnvComponent) ChaosNetworkDelay(l zerolog.Logger, duration time.Duration, delay time.Duration, ...) error
- func (ec EnvComponent) ChaosNetworkLoss(l zerolog.Logger, duration time.Duration, lossPercentage int, ...) error
- func (ec EnvComponent) ChaosPause(l zerolog.Logger, duration time.Duration) error
- type EnvComponentOption
- type Eth2Components
- type EthereumNetwork
- type EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) Build() (EthereumNetwork, error)
- func (b *EthereumNetworkBuilder) WithAddressesToFund(addresses []string) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithBeaconChainConfig(config BeaconChainConfig) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithConsensusLayer(consensusLayer ConsensusLayer) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithConsensusNodes(consensusNodes int) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithConsensusType(consensusType ConsensusType) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithDockerNetworks(networks []string) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExecutionLayer(executionLayer ExecutionLayer) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExecutionNodes(executionNodes int) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExistingConfig(config EthereumNetwork) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithTest(t *testing.T) *EthereumNetworkBuilder
- type EthereumNetworkContainer
- type EthereumNetworkContainers
- type ExecutionLayer
- type Geth
- type Geth2
- type GethGenesis
- type HTTPStrategy
- type InternalDockerUrls
- type Kafka
- func (k *Kafka) CreateLocalTopics() error
- func (k *Kafka) StartContainer() error
- func (k *Kafka) WithContainerName(name string) *Kafka
- func (k *Kafka) WithEnvVars(envVars map[string]string) *Kafka
- func (k *Kafka) WithTestLogger(t *testing.T) *Kafka
- func (k *Kafka) WithTopics(topics []KafkaTopicConfig) *Kafka
- func (k *Kafka) WithZookeeper(zookeeperUrl string) *Kafka
- type KafkaTopicConfig
- type Killgrave
- func (k *Killgrave) AddImposter(imposters []KillgraveImposter) error
- func (k *Killgrave) SetAdapterBasedAnyValuePath(path string, methods []string, v interface{}) error
- func (k *Killgrave) SetAdapterBasedIntValuePath(path string, methods []string, v int) error
- func (k *Killgrave) SetStringValuePath(path string, methods []string, headers map[string]string, v string) error
- func (k *Killgrave) StartContainer() error
- func (k *Killgrave) WithTestLogger(t *testing.T) *Killgrave
- type KillgraveAdapterResponse
- type KillgraveAdapterResult
- type KillgraveImposter
- type KillgraveRequest
- type KillgraveResponse
- type KillgraveResponseDelay
- type MockServer
- type NonDevBesuNode
- func (g *NonDevBesuNode) ConnectToClient() error
- func (g *NonDevBesuNode) GetEVMClient() blockchain.EVMClient
- func (g *NonDevBesuNode) GetInternalHttpUrl() string
- func (g *NonDevBesuNode) GetInternalWsUrl() string
- func (g *NonDevBesuNode) Start() error
- func (g *NonDevBesuNode) WithTestLogger(t *testing.T) NonDevNode
- type NonDevGethNode
- func (g *NonDevGethNode) ConnectToClient() error
- func (g *NonDevGethNode) GetEVMClient() blockchain.EVMClient
- func (g *NonDevGethNode) GetInternalHttpUrl() string
- func (g *NonDevGethNode) GetInternalWsUrl() string
- func (g *NonDevGethNode) Start() error
- func (g *NonDevGethNode) WithTestLogger(t *testing.T) NonDevNode
- type NonDevNode
- type PostgresDb
- type PostgresDbOption
- type PrivateBesuChain
- type PrivateChain
- type PrivateGethChain
- func (p *PrivateGethChain) GetDockerNetworks() []string
- func (p *PrivateGethChain) GetNetworkConfig() *blockchain.EVMNetwork
- func (p *PrivateGethChain) GetNodes() []NonDevNode
- func (p *PrivateGethChain) GetPrimaryNode() NonDevNode
- func (p *PrivateGethChain) WithTestLogger(t *testing.T) *PrivateGethChain
- type PrysmBeaconChain
- type PrysmGenesis
- type PrysmValidator
- type RpcProvider
- type SchemaRegistry
- func (r *SchemaRegistry) StartContainer() error
- func (r *SchemaRegistry) WithContainerName(name string) *SchemaRegistry
- func (r *SchemaRegistry) WithEnvVars(envVars map[string]string) *SchemaRegistry
- func (r *SchemaRegistry) WithKafka(kafkaUrl string) *SchemaRegistry
- func (r *SchemaRegistry) WithTestLogger(t *testing.T) *SchemaRegistry
- type WebSocketStrategy
- type Zookeeper
Constants ¶
const ( CONTAINER_ETH2_CONSENSUS_DIRECTORY = "/consensus" CONTAINER_ETH2_EXECUTION_DIRECTORY = "/execution" )
const ( // RootFundingAddr is the static key that hardhat is using // https://hardhat.org/hardhat-runner/docs/getting-started // if you need more keys, keep them compatible, so we can swap Geth to Ganache/Hardhat in the future RootFundingAddr = `0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266` RootFundingWallet = `` /* 491-byte string literal not displayed */ TX_GETH_HTTP_PORT = "8544" TX_GETH_WS_PORT = "8545" )
const ( GO_CLIENT_IMAGE_TAG = "v1.13.4" GETH_ETH2_EXECUTION_PORT = "8551" )
const ( TX_NON_DEV_GETH_WS_PORT = "8546" BOOTNODE_PORT = "30301" )
const ( PRYSM_QUERY_RPC_PORT = "3500" PRYSM_NODE_RPC_PORT = "4000" PRYSM_IMAGE_TAG = "v4.1.1" )
const (
BESU_IMAGE = "hyperledger/besu"
)
const (
BaseCMD = `docker run -i --rm -v /var/run/docker.sock:/var/run/docker.sock --network %s gaiaadm/pumba --log-level=info`
)
Variables ¶
var BeaconChainConfigYAML = `` /* 559-byte string literal not displayed */
var DefaultBeaconChainConfig = BeaconChainConfig{
SecondsPerSlot: 12,
SlotsPerEpoch: 6,
}
var Eth1GenesisJSON = `` /* 15820-byte string literal not displayed */
var (
FundingAddresses = map[string]string{
"f39fd6e51aad88f6f4ce6ab8827279cfffb92266": `{"address":"f39fd6e51aad88f6f4ce6ab8827279cfffb92266","crypto":{"cipher":"aes-128-ctr","ciphertext":"c36afd6e60b82d6844530bd6ab44dbc3b85a53e826c3a7f6fc6a75ce38c1e4c6","cipherparams":{"iv":"f69d2bb8cd0cb6274535656553b61806"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"80d5f5e38ba175b6b89acfc8ea62a6f163970504af301292377ff7baafedab53"},"mac":"f2ecec2c4d05aacc10eba5235354c2fcc3776824f81ec6de98022f704efbf065"},"id":"e5c124e9-e280-4b10-a27b-d7f3e516b408","version":3}`,
"70997970c51812dc3a010c7d01b50e0d17dc79c8": `{"address":"70997970c51812dc3a010c7d01b50e0d17dc79c8","crypto":{"cipher":"aes-128-ctr","ciphertext":"f8183fa00bc112645d3e23e29a233e214f7c708bf49d72750c08af88ad76c980","cipherparams":{"iv":"796d08e3e1f71bde89ed826abda96cda"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"03c864a22a1f7b06b1da12d8b93e024ac144f898285907c58b2abc135fc8a35c"},"mac":"5fe91b1a1821c0d9f85dfd582354ead9612e9a7e9adc38b06a2beff558c119ac"},"id":"d2cab765-5e30-42ae-bb91-f090d9574fae","version":3}`,
"3c44cdddb6a900fa2b585dd299e03d12fa4293bc": `{"address":"3c44cdddb6a900fa2b585dd299e03d12fa4293bc","crypto":{"cipher":"aes-128-ctr","ciphertext":"2cd6ab87086c47f343f2c4d957eace7986f3b3c87fc35a2aafbefb57a06d9f1c","cipherparams":{"iv":"4e16b6cd580866c1aa642fb4d7312c9b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"0cabde93877f6e9a59070f9992f7a01848618263124835c90d4d07a0041fc57c"},"mac":"94b7776ea95b0ecd8406c7755acf17b389b7ebe489a8942e32082dfdc1f04f57"},"id":"ade1484b-a3bb-426f-9223-a1f5e3bde2e8","version":3}`,
"90f79bf6eb2c4f870365e785982e1f101e93b906": `{"address":"90f79bf6eb2c4f870365e785982e1f101e93b906","crypto":{"cipher":"aes-128-ctr","ciphertext":"15144214d323871e00f7b205368128061c91b77a27b7deec935f8f5b734f0d42","cipherparams":{"iv":"bb22ba8051ef9f60abded7a9f4f2c6ae"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"07331ef3035567c00830b4e50d5dd68bc877974b4ce38cd42fef755be01556c9"},"mac":"2294eacadaf2761851814451d8c7dcca20a606a0344335d98f09403aba4e82ca"},"id":"96af8cc7-97e1-4bba-8968-632b034986c2","version":3}`,
"15d34aaf54267db7d7c367839aaf71a00a2c6a65": `{"address":"15d34aaf54267db7d7c367839aaf71a00a2c6a65","crypto":{"cipher":"aes-128-ctr","ciphertext":"057878284a6c74d3ad99910adddd6b477b383837dbf2280efea585f0f0fdb012","cipherparams":{"iv":"e6eab29d60b526f305f8d47badf48687"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"dfdca8066d2486da5cb9a909d03744e2a8c6537930271e85e7cd8a5d952c0f22"},"mac":"f8352be41c9a06d69111ca4d8fcff0eef079b68b1173cad99803538991716c5d"},"id":"a35bb452-0d57-42d5-8d25-5a00a40a4db8","version":3}`,
"9965507d1a55bcc2695c58ba16fb37d819b0a4dc": `{"address":"9965507d1a55bcc2695c58ba16fb37d819b0a4dc","crypto":{"cipher":"aes-128-ctr","ciphertext":"5a73201500307c6aa98edd44d962b344a893768331454a61595ec848e738e9d2","cipherparams":{"iv":"5282de2b3e2b305019a2fed5c62f3383"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"6ad001831d097f175fff7d6cf61301e9620b32afd9a7a6437e6030af14576a96"},"mac":"0a55eddbd13c713aa8b8c4106b2fb62bc1d1e18e7177207a444f83a4d8426ed5"},"id":"27aed2b2-cb94-4d37-8819-b15219187bb5","version":3}`,
"976ea74026e726554db657fa54763abd0c3a0aa9": `{"address":"976ea74026e726554db657fa54763abd0c3a0aa9","crypto":{"cipher":"aes-128-ctr","ciphertext":"a6edf11e81b38e60a549696236cb9efc026e87adc45a9521ea7b2c45a2a9fbb9","cipherparams":{"iv":"82f4c79cd4b28a8585a9c78d758f832b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"87400e16ecc320dadff85eccbf4dbaaea2dd91e50047e4aa391799bb319c1fd8"},"mac":"80c83dad05998db6c673a97096fcfad54636458f4a3c82483686b253f8cc9b69"},"id":"fc7d7694-6206-48fc-bb25-36b523f90df6","version":3}`,
"14dc79964da2c08b23698b3d3cc7ca32193d9955": `{"address":"14dc79964da2c08b23698b3d3cc7ca32193d9955","crypto":{"cipher":"aes-128-ctr","ciphertext":"410f258bc8b12a0250cba22cbc5e413534fcf90bf322ced6943189ad9e43b4b9","cipherparams":{"iv":"1dd6077a8bee9b3bf2ca90e6abc8a237"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"5d3358bf99bbcb82354f40e5501abf4336bc141ee05d8feed4fbe7eb8c08c917"},"mac":"9cd959fa1e8129a8deb86e0264ec81d6cde79b5a19ae259b7d00543c9037908a"},"id":"689d7ad2-fe46-4c09-9c2a-a50e607989b8","version":3}`,
"23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": `{"address":"23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f","crypto":{"cipher":"aes-128-ctr","ciphertext":"13dccac740314edea20d44e6f3592575bbcb739ec5892d635326cff3c386eb86","cipherparams":{"iv":"bf42d811cd41fa97ddcae3425f8c3211"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"d2fa67cbb5e86d5bf9a90e27b8747bac493614b45778d43e9da1c14e06b2401d"},"mac":"7d2797cf344704d8f36265238d3938e06952c78ab7dfcbac53dc7f472c93d933"},"id":"4c8e899e-80f0-4417-9b1e-c5e29049f1e7","version":3}`,
"a0ee7a142d267c1f36714e4a8f75612f20a79720": `{"address":"a0ee7a142d267c1f36714e4a8f75612f20a79720","crypto":{"cipher":"aes-128-ctr","ciphertext":"56bc8766f47aeafae74eea333e1e890a3776d7fae6c48cbdbffb270655ce050d","cipherparams":{"iv":"a66129e6a110b3ddf93b4355aa147c58"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"15c4e8bcc80920139eb236d91194825f1fce27dd2af281e0f2752d8a5dbc48bd"},"mac":"db01e720866ce8bb7897dfc7773e064003ad53429a79732ee769cf6d02273570"},"id":"87b2d76f-1b70-4e4f-8b2a-5d1915c1177c","version":3}`,
"bcd4042de499d14e55001ccbb24a551f3b954096": `{"address":"bcd4042de499d14e55001ccbb24a551f3b954096","crypto":{"cipher":"aes-128-ctr","ciphertext":"e455eda6e38d246c03b930f845adfc8721ca75e9f47135cd4c18dbc3e5c5440a","cipherparams":{"iv":"0b1a0a24acc1ad25b0f170f751c2cb27"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"69f324ed0787794878bf5f84d4dbbc70dec1274cad666399edc48640605f64c8"},"mac":"f07da09c460a69f943f5639545d2b3f72c1e9789f0421ad41d3078ea3db12c96"},"id":"7ec7bb3c-c486-4785-a4fc-f8f4b2fc7764","version":3}`,
"71be63f3384f5fb98995898a86b02fb2426c5788": `{"address":"71be63f3384f5fb98995898a86b02fb2426c5788","crypto":{"cipher":"aes-128-ctr","ciphertext":"4194377a05fd3d13e0a3155dad974a003fe5f7a3b5acb35d7d97c50daa8990d4","cipherparams":{"iv":"607670778baf62b1e86394cf1980487a"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"d63b890ad7f4fcc857681faabe9319dffc53893966ef0810bf64c4f319b0ffc5"},"mac":"bfaf924959e65c8030ece259d52ed52d5d21bd74f1a67ae545d4bb289a479e16"},"id":"0c6af842-384f-49b6-b5b7-199a1e05486b","version":3}`,
}
)
Functions ¶
func FormatHttpUrl ¶ added in v1.18.6
func FormatWsUrl ¶ added in v1.18.6
func GenerateBeaconChainConfig ¶ added in v1.18.6
func GenerateBeaconChainConfig(c *BeaconChainConfig) (string, error)
func GetEndpoint ¶ added in v1.17.11
GetEndpoint returns the endpoint of a container, if localhost then force ipv4 localhost to avoid ipv6 docker bugs https://github.com/moby/moby/issues/42442 https://github.com/moby/moby/issues/42375
func GetHost ¶ added in v1.17.11
GetHost returns the host of a container, if localhost then force ipv4 localhost to avoid ipv6 docker bugs https://github.com/moby/moby/issues/42442 https://github.com/moby/moby/issues/42375
func NatPortFormat ¶ added in v1.17.3
Types ¶
type BeaconChainConfig ¶ added in v1.18.6
type ConsensusLayer ¶ added in v1.18.6
type ConsensusLayer string
const (
ConsensusLayer_Prysm ConsensusLayer = "prysm"
)
type ConsensusType ¶ added in v1.18.6
type ConsensusType string
const ( ConsensusType_PoS ConsensusType = "pos" ConsensusType_PoW ConsensusType = "pow" )
type ContainerType ¶ added in v1.18.6
type ContainerType string
const ( ContainerType_Geth ContainerType = "geth" ContainerType_Geth2 ContainerType = "geth2" ContainerType_PrysmBeacon ContainerType = "prysm-beacon" ContainerType_PrysmVal ContainerType = "prysm-validator" )
type EnvComponent ¶
type EnvComponent struct { ContainerName string `json:"containerName"` ContainerImage string `json:"containerImage"` ContainerVersion string `json:"containerVersion"` ContainerEnvs map[string]string `json:"containerEnvs"` Networks []string `json:"networks"` Container tc.Container `json:"-"` }
func (EnvComponent) ChaosNetworkDelay ¶ added in v1.18.5
func (ec EnvComponent) ChaosNetworkDelay( l zerolog.Logger, duration time.Duration, delay time.Duration, targetInterfaceName string, targetIPs []string, targetIngressPorts []string, targetEgressPorts []string, ) error
ChaosNetworkDelay delays the container's network traffic for the specified duration
func (EnvComponent) ChaosNetworkLoss ¶ added in v1.18.5
func (ec EnvComponent) ChaosNetworkLoss( l zerolog.Logger, duration time.Duration, lossPercentage int, targetInterfaceName string, targetIPs []string, targetIngressPorts []string, targetEgressPorts []string, ) error
ChaosNetworkLoss causes the container to lose the specified percentage of network traffic for the specified duration
func (EnvComponent) ChaosPause ¶ added in v1.18.5
ChaosPause pauses the container for the specified duration
type EnvComponentOption ¶
type EnvComponentOption = func(c *EnvComponent)
func WithContainerName ¶
func WithContainerName(name string) EnvComponentOption
type Eth2Components ¶ added in v1.18.6
type Eth2Components struct { Geth *Geth2 BeaconChain *PrysmBeaconChain Validator *PrysmValidator }
type EthereumNetwork ¶ added in v1.18.6
type EthereumNetwork struct { ConsensusType ConsensusType `json:"consensus_type"` ConsensusLayer ConsensusLayer `json:"consensus_layer"` ConsensusNodes int `json:"consensus_nodes"` ExecutionLayer ExecutionLayer `json:"execution_layer"` ExecutionNodes int `json:"execution_nodes"` DockerNetworkNames []string `json:"docker_network_names"` ExecutionDir string `json:"execution_dir"` ConsensusDir string `json:"consensus_dir"` Containers EthereumNetworkContainers `json:"containers"` // contains filtered or unexported fields }
func (*EthereumNetwork) Describe ¶ added in v1.18.6
func (b *EthereumNetwork) Describe() string
func (*EthereumNetwork) Start ¶ added in v1.18.6
func (b *EthereumNetwork) Start() (blockchain.EVMNetwork, RpcProvider, error)
type EthereumNetworkBuilder ¶ added in v1.18.6
type EthereumNetworkBuilder struct {
// contains filtered or unexported fields
}
func NewEthereumNetworkBuilder ¶ added in v1.18.6
func NewEthereumNetworkBuilder() EthereumNetworkBuilder
func (*EthereumNetworkBuilder) Build ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) Build() (EthereumNetwork, error)
func (*EthereumNetworkBuilder) WithAddressesToFund ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithAddressesToFund(addresses []string) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithBeaconChainConfig ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithBeaconChainConfig(config BeaconChainConfig) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithConsensusLayer ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithConsensusLayer(consensusLayer ConsensusLayer) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithConsensusNodes ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithConsensusNodes(consensusNodes int) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithConsensusType ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithConsensusType(consensusType ConsensusType) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithDockerNetworks ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithDockerNetworks(networks []string) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithExecutionLayer ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithExecutionLayer(executionLayer ExecutionLayer) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithExecutionNodes ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithExecutionNodes(executionNodes int) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithExistingConfig ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithExistingConfig(config EthereumNetwork) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithTest ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithTest(t *testing.T) *EthereumNetworkBuilder
type EthereumNetworkContainer ¶ added in v1.18.6
type EthereumNetworkContainer struct { ContainerName string `json:"container_name"` ContainerType ContainerType `json:"container_type"` Container *tc.Container `json:"-"` }
type EthereumNetworkContainers ¶ added in v1.18.6
type EthereumNetworkContainers []EthereumNetworkContainer
type ExecutionLayer ¶ added in v1.18.6
type ExecutionLayer string
const (
ExecutionLayer_Geth ExecutionLayer = "geth"
)
type Geth ¶ added in v1.16.1
type Geth struct { EnvComponent ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string // contains filtered or unexported fields }
func NewGeth ¶ added in v1.16.1
func NewGeth(networks []string, opts ...EnvComponentOption) *Geth
func (*Geth) StartContainer ¶ added in v1.16.1
func (g *Geth) StartContainer() (blockchain.EVMNetwork, InternalDockerUrls, error)
type Geth2 ¶ added in v1.18.6
type Geth2 struct { EnvComponent ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string InternalExecutionURL string ExternalExecutionURL string ExecutionDir string // contains filtered or unexported fields }
func NewGeth2 ¶ added in v1.18.6
func NewGeth2(networks []string, executionDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) *Geth2
func (*Geth2) StartContainer ¶ added in v1.18.6
func (g *Geth2) StartContainer() (blockchain.EVMNetwork, error)
type GethGenesis ¶ added in v1.18.6
type GethGenesis struct { EnvComponent ExecutionDir string // contains filtered or unexported fields }
func NewEth1Genesis ¶ added in v1.18.6
func NewEth1Genesis(networks []string, executionDir string, opts ...EnvComponentOption) *GethGenesis
func (*GethGenesis) StartContainer ¶ added in v1.18.6
func (g *GethGenesis) StartContainer() error
func (*GethGenesis) WithLogger ¶ added in v1.18.6
func (g *GethGenesis) WithLogger(l zerolog.Logger) *GethGenesis
func (*GethGenesis) WithTestLogger ¶ added in v1.19.0
func (g *GethGenesis) WithTestLogger(t *testing.T) *GethGenesis
type HTTPStrategy ¶ added in v1.17.11
type HTTPStrategy struct { Path string Port nat.Port RetryDelay time.Duration ExpectedStatusCode int // contains filtered or unexported fields }
func NewHTTPStrategy ¶ added in v1.17.11
func NewHTTPStrategy(path string, port nat.Port) *HTTPStrategy
func (*HTTPStrategy) WaitUntilReady ¶ added in v1.17.11
func (w *HTTPStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
WaitUntilReady implements Strategy.WaitUntilReady
func (*HTTPStrategy) WithStatusCode ¶ added in v1.17.11
func (w *HTTPStrategy) WithStatusCode(statusCode int) *HTTPStrategy
func (*HTTPStrategy) WithTimeout ¶ added in v1.17.11
func (w *HTTPStrategy) WithTimeout(timeout time.Duration) *HTTPStrategy
type InternalDockerUrls ¶ added in v1.16.1
type Kafka ¶ added in v1.17.11
type Kafka struct { EnvComponent TopicConfigs []KafkaTopicConfig EnvVars map[string]string BootstrapServerUrl string InternalUrl string ExternalUrl string // contains filtered or unexported fields }
func (*Kafka) CreateLocalTopics ¶ added in v1.17.11
func (*Kafka) StartContainer ¶ added in v1.17.11
func (*Kafka) WithContainerName ¶ added in v1.17.11
func (*Kafka) WithEnvVars ¶ added in v1.17.11
func (*Kafka) WithTestLogger ¶ added in v1.17.11
func (*Kafka) WithTopics ¶ added in v1.17.11
func (k *Kafka) WithTopics(topics []KafkaTopicConfig) *Kafka
func (*Kafka) WithZookeeper ¶ added in v1.17.11
type KafkaTopicConfig ¶ added in v1.17.11
type Killgrave ¶ added in v1.17.5
type Killgrave struct { EnvComponent ExternalEndpoint string InternalPort string InternalEndpoint string // contains filtered or unexported fields }
func NewKillgrave ¶ added in v1.17.5
func NewKillgrave(networks []string, impostersDirectoryPath string, opts ...EnvComponentOption) *Killgrave
func (*Killgrave) AddImposter ¶ added in v1.17.5
func (k *Killgrave) AddImposter(imposters []KillgraveImposter) error
AddImposter adds an imposter to the killgrave container
func (*Killgrave) SetAdapterBasedAnyValuePath ¶ added in v1.17.5
SetAdapterBasedAnyValuePath sets a path to return a value as though it was from an adapter
func (*Killgrave) SetAdapterBasedIntValuePath ¶ added in v1.17.5
SetAdapterBasedAnyValuePathObject sets a path to return a value as though it was from an adapter
func (*Killgrave) SetStringValuePath ¶ added in v1.17.5
func (k *Killgrave) SetStringValuePath(path string, methods []string, headers map[string]string, v string) error
SetStringValuePath sets a path to return a string value
func (*Killgrave) StartContainer ¶ added in v1.17.5
type KillgraveAdapterResponse ¶ added in v1.17.5
type KillgraveAdapterResponse struct { Id string `json:"id"` Data KillgraveAdapterResult `json:"data"` Error interface{} `json:"error"` }
AdapterResponse represents a response from an adapter
type KillgraveAdapterResult ¶ added in v1.17.5
type KillgraveAdapterResult struct {
Result interface{} `json:"result"`
}
AdapterResult represents an int result for an adapter
type KillgraveImposter ¶ added in v1.17.5
type KillgraveImposter struct { Request KillgraveRequest `json:"request"` Response KillgraveResponse `json:"response"` }
Imposter define an imposter structure
type KillgraveRequest ¶ added in v1.17.5
type KillgraveResponse ¶ added in v1.17.5
type KillgraveResponse struct { Status int `json:"status"` Body string `json:"body,omitempty"` BodyFile *string `json:"bodyFile,omitempty"` Headers *map[string]string `json:"headers,omitempty"` Delay *KillgraveResponseDelay `json:"delay,omitempty"` }
Response represent the structure of real response
type KillgraveResponseDelay ¶ added in v1.17.5
type KillgraveResponseDelay struct { Delay int64 `json:"delay,omitempty"` Offset int64 `json:"offset,omitempty"` }
ResponseDelay represent time delay before server responds.
type MockServer ¶ added in v1.16.1
type MockServer struct { EnvComponent Client *ctfClient.MockserverClient Endpoint string InternalEndpoint string EAMockUrls []*url.URL // contains filtered or unexported fields }
func NewMockServer ¶ added in v1.16.1
func NewMockServer(networks []string, opts ...EnvComponentOption) *MockServer
func (*MockServer) SetExternalAdapterMocks ¶ added in v1.16.1
func (ms *MockServer) SetExternalAdapterMocks(count int) error
func (*MockServer) StartContainer ¶ added in v1.16.1
func (ms *MockServer) StartContainer() error
func (*MockServer) WithTestLogger ¶ added in v1.17.0
func (ms *MockServer) WithTestLogger(t *testing.T) *MockServer
type NonDevBesuNode ¶ added in v1.17.0
type NonDevBesuNode struct { EnvComponent Config gethTxNodeConfig ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string EVMClient blockchain.EVMClient EthClient *ethclient.Client // contains filtered or unexported fields }
func NewNonDevBesuNode ¶ added in v1.17.0
func NewNonDevBesuNode(networks []string, networkCfg *blockchain.EVMNetwork) *NonDevBesuNode
func (*NonDevBesuNode) ConnectToClient ¶ added in v1.17.0
func (g *NonDevBesuNode) ConnectToClient() error
func (*NonDevBesuNode) GetEVMClient ¶ added in v1.17.0
func (g *NonDevBesuNode) GetEVMClient() blockchain.EVMClient
func (*NonDevBesuNode) GetInternalHttpUrl ¶ added in v1.17.0
func (g *NonDevBesuNode) GetInternalHttpUrl() string
func (*NonDevBesuNode) GetInternalWsUrl ¶ added in v1.17.0
func (g *NonDevBesuNode) GetInternalWsUrl() string
func (*NonDevBesuNode) Start ¶ added in v1.17.0
func (g *NonDevBesuNode) Start() error
func (*NonDevBesuNode) WithTestLogger ¶ added in v1.17.0
func (g *NonDevBesuNode) WithTestLogger(t *testing.T) NonDevNode
type NonDevGethNode ¶
type NonDevGethNode struct { EnvComponent Config gethTxNodeConfig ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string EVMClient blockchain.EVMClient EthClient *ethclient.Client // contains filtered or unexported fields }
func NewNonDevGethNode ¶
func NewNonDevGethNode(networks []string, networkCfg *blockchain.EVMNetwork) *NonDevGethNode
func (*NonDevGethNode) ConnectToClient ¶
func (g *NonDevGethNode) ConnectToClient() error
func (*NonDevGethNode) GetEVMClient ¶ added in v1.17.0
func (g *NonDevGethNode) GetEVMClient() blockchain.EVMClient
func (*NonDevGethNode) GetInternalHttpUrl ¶ added in v1.17.0
func (g *NonDevGethNode) GetInternalHttpUrl() string
func (*NonDevGethNode) GetInternalWsUrl ¶ added in v1.17.0
func (g *NonDevGethNode) GetInternalWsUrl() string
func (*NonDevGethNode) Start ¶
func (g *NonDevGethNode) Start() error
func (*NonDevGethNode) WithTestLogger ¶ added in v1.17.0
func (g *NonDevGethNode) WithTestLogger(t *testing.T) NonDevNode
type NonDevNode ¶ added in v1.17.0
type NonDevNode interface { GetInternalHttpUrl() string GetInternalWsUrl() string GetEVMClient() blockchain.EVMClient WithTestLogger(t *testing.T) NonDevNode Start() error ConnectToClient() error }
type PostgresDb ¶ added in v1.16.1
type PostgresDb struct { EnvComponent User string `json:"user"` Password string `json:"password"` DbName string `json:"dbName"` InternalPort string `json:"internalPort"` ExternalPort string `json:"-"` InternalURL *url.URL `json:"-"` ExternalURL *url.URL `json:"-"` // contains filtered or unexported fields }
func NewPostgresDb ¶ added in v1.16.1
func NewPostgresDb(networks []string, opts ...PostgresDbOption) (*PostgresDb, error)
func (*PostgresDb) ExecPgDump ¶ added in v1.17.9
func (pg *PostgresDb) ExecPgDump(stdout io.Writer) error
func (*PostgresDb) StartContainer ¶ added in v1.16.1
func (pg *PostgresDb) StartContainer() error
func (*PostgresDb) WithTestLogger ¶ added in v1.17.0
func (pg *PostgresDb) WithTestLogger(t *testing.T) *PostgresDb
type PostgresDbOption ¶ added in v1.16.1
type PostgresDbOption = func(c *PostgresDb)
func WithContainerEnv ¶ added in v1.18.6
func WithContainerEnv(key, value string) PostgresDbOption
func WithPostgresDbContainerName ¶ added in v1.16.1
func WithPostgresDbContainerName(name string) PostgresDbOption
Sets custom container name if name is not empty
func WithPostgresDbName ¶ added in v1.17.9
func WithPostgresDbName(name string) PostgresDbOption
func WithPostgresImageName ¶ added in v1.18.6
func WithPostgresImageName(imageName string) PostgresDbOption
func WithPostgresImageVersion ¶ added in v1.17.8
func WithPostgresImageVersion(version string) PostgresDbOption
type PrivateBesuChain ¶ added in v1.17.0
type PrivateBesuChain struct { PrimaryNode *NonDevBesuNode Nodes []*NonDevBesuNode NetworkConfig *blockchain.EVMNetwork DockerNetworks []string }
func (*PrivateBesuChain) GetDockerNetworks ¶ added in v1.17.0
func (p *PrivateBesuChain) GetDockerNetworks() []string
func (*PrivateBesuChain) GetNetworkConfig ¶ added in v1.17.0
func (p *PrivateBesuChain) GetNetworkConfig() *blockchain.EVMNetwork
func (*PrivateBesuChain) GetNodes ¶ added in v1.17.0
func (p *PrivateBesuChain) GetNodes() []NonDevNode
func (*PrivateBesuChain) GetPrimaryNode ¶ added in v1.17.0
func (p *PrivateBesuChain) GetPrimaryNode() NonDevNode
type PrivateChain ¶ added in v1.17.0
type PrivateChain interface { GetPrimaryNode() NonDevNode GetNodes() []NonDevNode GetNetworkConfig() *blockchain.EVMNetwork GetDockerNetworks() []string }
func NewPrivateBesuChain ¶ added in v1.17.0
func NewPrivateBesuChain(networkCfg *blockchain.EVMNetwork, dockerNetworks []string) PrivateChain
func NewPrivateGethChain ¶
func NewPrivateGethChain(networkCfg *blockchain.EVMNetwork, dockerNetworks []string) PrivateChain
type PrivateGethChain ¶
type PrivateGethChain struct { PrimaryNode *NonDevGethNode Nodes []*NonDevGethNode NetworkConfig *blockchain.EVMNetwork DockerNetworks []string }
func (*PrivateGethChain) GetDockerNetworks ¶ added in v1.17.0
func (p *PrivateGethChain) GetDockerNetworks() []string
func (*PrivateGethChain) GetNetworkConfig ¶ added in v1.17.0
func (p *PrivateGethChain) GetNetworkConfig() *blockchain.EVMNetwork
func (*PrivateGethChain) GetNodes ¶ added in v1.17.0
func (p *PrivateGethChain) GetNodes() []NonDevNode
func (*PrivateGethChain) GetPrimaryNode ¶ added in v1.17.0
func (p *PrivateGethChain) GetPrimaryNode() NonDevNode
func (*PrivateGethChain) WithTestLogger ¶ added in v1.17.0
func (p *PrivateGethChain) WithTestLogger(t *testing.T) *PrivateGethChain
type PrysmBeaconChain ¶ added in v1.18.6
type PrysmBeaconChain struct { EnvComponent InternalBeaconRpcProvider string InternalQueryRpcUrl string ExternalBeaconRpcProvider string ExternalQueryRpcUrl string // contains filtered or unexported fields }
func NewPrysmBeaconChain ¶ added in v1.18.6
func NewPrysmBeaconChain(networks []string, executionDir, consensusDir, gethExecutionURL string, opts ...EnvComponentOption) *PrysmBeaconChain
func (*PrysmBeaconChain) StartContainer ¶ added in v1.18.6
func (g *PrysmBeaconChain) StartContainer() error
func (*PrysmBeaconChain) WithLogger ¶ added in v1.18.6
func (g *PrysmBeaconChain) WithLogger(l zerolog.Logger) *PrysmBeaconChain
func (*PrysmBeaconChain) WithTestLogger ¶ added in v1.19.0
func (g *PrysmBeaconChain) WithTestLogger(t *testing.T) *PrysmBeaconChain
type PrysmGenesis ¶ added in v1.18.6
type PrysmGenesis struct { EnvComponent // contains filtered or unexported fields }
func NewEth2Genesis ¶ added in v1.18.6
func NewEth2Genesis(networks []string, beaconChainConfig BeaconChainConfig, hostExecutionDir, hostConsensusDir string, opts ...EnvComponentOption) *PrysmGenesis
func (*PrysmGenesis) StartContainer ¶ added in v1.18.6
func (g *PrysmGenesis) StartContainer() error
func (*PrysmGenesis) WithFundedAccounts ¶ added in v1.18.6
func (g *PrysmGenesis) WithFundedAccounts(addresses []string) *PrysmGenesis
func (*PrysmGenesis) WithLogger ¶ added in v1.18.6
func (g *PrysmGenesis) WithLogger(l zerolog.Logger) *PrysmGenesis
func (*PrysmGenesis) WithTestLogger ¶ added in v1.19.0
func (g *PrysmGenesis) WithTestLogger(t *testing.T) *PrysmGenesis
type PrysmValidator ¶ added in v1.18.6
type PrysmValidator struct { EnvComponent // contains filtered or unexported fields }
func NewPrysmValidator ¶ added in v1.18.6
func NewPrysmValidator(networks []string, consensusDir, internalBeaconRpcProvider string, opts ...EnvComponentOption) *PrysmValidator
func (*PrysmValidator) StartContainer ¶ added in v1.18.6
func (g *PrysmValidator) StartContainer() error
func (*PrysmValidator) WithLogger ¶ added in v1.18.6
func (g *PrysmValidator) WithLogger(l zerolog.Logger) *PrysmValidator
func (*PrysmValidator) WithTestLogger ¶ added in v1.19.0
func (g *PrysmValidator) WithTestLogger(t *testing.T) *PrysmValidator
type RpcProvider ¶ added in v1.18.6
type RpcProvider struct {
// contains filtered or unexported fields
}
func (*RpcProvider) PrivateHttpUrls ¶ added in v1.18.6
func (s *RpcProvider) PrivateHttpUrls() []string
func (*RpcProvider) PrivateWsUrsl ¶ added in v1.18.6
func (s *RpcProvider) PrivateWsUrsl() []string
func (*RpcProvider) PublicHttpUrls ¶ added in v1.18.6
func (s *RpcProvider) PublicHttpUrls() []string
func (*RpcProvider) PublicWsUrls ¶ added in v1.19.0
func (s *RpcProvider) PublicWsUrls() []string
type SchemaRegistry ¶ added in v1.17.11
type SchemaRegistry struct { EnvComponent EnvVars map[string]string InternalUrl string ExternalUrl string // contains filtered or unexported fields }
func NewSchemaRegistry ¶ added in v1.17.11
func NewSchemaRegistry(networks []string) *SchemaRegistry
func (*SchemaRegistry) StartContainer ¶ added in v1.17.11
func (r *SchemaRegistry) StartContainer() error
func (*SchemaRegistry) WithContainerName ¶ added in v1.17.11
func (r *SchemaRegistry) WithContainerName(name string) *SchemaRegistry
func (*SchemaRegistry) WithEnvVars ¶ added in v1.17.11
func (r *SchemaRegistry) WithEnvVars(envVars map[string]string) *SchemaRegistry
func (*SchemaRegistry) WithKafka ¶ added in v1.17.11
func (r *SchemaRegistry) WithKafka(kafkaUrl string) *SchemaRegistry
func (*SchemaRegistry) WithTestLogger ¶ added in v1.17.11
func (r *SchemaRegistry) WithTestLogger(t *testing.T) *SchemaRegistry
type WebSocketStrategy ¶ added in v1.16.1
type WebSocketStrategy struct { Port nat.Port RetryDelay time.Duration // contains filtered or unexported fields }
func NewWebSocketStrategy ¶ added in v1.16.1
func NewWebSocketStrategy(port nat.Port, l zerolog.Logger) *WebSocketStrategy
func (*WebSocketStrategy) WaitUntilReady ¶ added in v1.16.1
func (w *WebSocketStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
func (*WebSocketStrategy) WithTimeout ¶ added in v1.16.2
func (w *WebSocketStrategy) WithTimeout(timeout time.Duration) *WebSocketStrategy
type Zookeeper ¶ added in v1.17.11
type Zookeeper struct { EnvComponent InternalUrl string // contains filtered or unexported fields }