Documentation ¶
Index ¶
- Constants
- Variables
- func FormatHttpUrl(host string, port string) string
- func FormatWsUrl(host string, port string) string
- 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 AfterGenesisHelper
- type Besu
- func (g *Besu) GetContainer() *tc.Container
- func (g *Besu) GetContainerName() string
- func (g *Besu) GetContainerType() ContainerType
- func (g *Besu) GetExternalExecutionURL() string
- func (g *Besu) GetExternalHttpUrl() string
- func (g *Besu) GetExternalWsUrl() string
- func (g *Besu) GetImage() string
- func (g *Besu) GetInternalExecutionURL() string
- func (g *Besu) GetInternalHttpUrl() string
- func (g *Besu) GetInternalWsUrl() string
- func (g *Besu) StartContainer() (blockchain.EVMNetwork, error)
- func (g *Besu) WaitUntilChainIsReady(ctx context.Context, waitTime time.Duration) error
- func (g *Besu) WithImage(imageWithTag string) *Besu
- func (g *Besu) WithTestInstance(t *testing.T) ExecutionClient
- 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 Erigon
- func (g *Erigon) GetContainer() *tc.Container
- func (g *Erigon) GetContainerName() string
- func (g *Erigon) GetContainerType() ContainerType
- func (g *Erigon) GetExternalExecutionURL() string
- func (g *Erigon) GetExternalHttpUrl() string
- func (g *Erigon) GetExternalWsUrl() string
- func (g *Erigon) GetImage() string
- func (g *Erigon) GetInternalExecutionURL() string
- func (g *Erigon) GetInternalHttpUrl() string
- func (g *Erigon) GetInternalWsUrl() string
- func (g *Erigon) StartContainer() (blockchain.EVMNetwork, error)
- func (g *Erigon) WaitUntilChainIsReady(ctx context.Context, waitTime time.Duration) error
- func (g *Erigon) WithImage(imageWithTag string) *Erigon
- func (g *Erigon) WithTestInstance(t *testing.T) ExecutionClient
- type EthGenesisGeneretor
- type EthereumChainConfig
- func (c *EthereumChainConfig) GenerateGenesisTimestamp()
- func (c *EthereumChainConfig) GetDefaultFinalizationWaitDuration() time.Duration
- func (c *EthereumChainConfig) GetDefaultWaitDuration() time.Duration
- func (c *EthereumChainConfig) GetValidatorBasedGenesisDelay() int
- func (c *EthereumChainConfig) Validate(logger zerolog.Logger) error
- type EthereumNetwork
- type EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) Build() (EthereumNetwork, error)
- func (b *EthereumNetworkBuilder) WihtExistingConfigFromEnvVar() *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithConsensusLayer(consensusLayer ConsensusLayer) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithConsensusType(consensusType ConsensusType) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithDockerNetworks(networks []string) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithEthereumChainConfig(config EthereumChainConfig) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExecClientFromEnvVar() *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExecutionLayer(executionLayer ExecutionLayer) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithExistingConfig(config EthereumNetwork) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithTest(t *testing.T) *EthereumNetworkBuilder
- func (b *EthereumNetworkBuilder) WithWaitingForFinalization() *EthereumNetworkBuilder
- type EthereumNetworkContainer
- type EthereumNetworkContainers
- type EthereumNetworkParticipant
- type ExecutionClient
- type ExecutionLayer
- type ExitCodeStrategy
- func (w *ExitCodeStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
- func (w *ExitCodeStrategy) WithExitCode(exitCode int) *ExitCodeStrategy
- func (w *ExitCodeStrategy) WithPollInterval(pollInterval time.Duration) *ExitCodeStrategy
- func (w *ExitCodeStrategy) WithTimeout(timeout time.Duration) *ExitCodeStrategy
- type Geth
- type Geth2
- func (g *Geth2) GetContainer() *tc.Container
- func (g *Geth2) GetContainerName() string
- func (g *Geth2) GetContainerType() ContainerType
- func (g *Geth2) GetExternalExecutionURL() string
- func (g *Geth2) GetExternalHttpUrl() string
- func (g *Geth2) GetExternalWsUrl() string
- func (g *Geth2) GetImage() string
- func (g *Geth2) GetInternalExecutionURL() string
- func (g *Geth2) GetInternalHttpUrl() string
- func (g *Geth2) GetInternalWsUrl() string
- func (g *Geth2) StartContainer() (blockchain.EVMNetwork, error)
- func (g *Geth2) WaitUntilChainIsReady(ctx context.Context, waitTime time.Duration) error
- func (g *Geth2) WithImage(imageWithTag string) *Geth2
- func (g *Geth2) WithTestInstance(t *testing.T) ExecutionClient
- type HTTPStrategy
- type HasDockerImage
- 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) WithTestInstance(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) WithTestInstance(t *testing.T) *Killgrave
- type KillgraveAdapterResponse
- type KillgraveAdapterResult
- type KillgraveImposter
- type KillgraveRequest
- type KillgraveResponse
- type KillgraveResponseDelay
- type LogRegexStrategy
- func (ws *LogRegexStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
- func (ws *LogRegexStrategy) WithOccurrence(o int) *LogRegexStrategy
- func (ws *LogRegexStrategy) WithPollInterval(pollInterval time.Duration) *LogRegexStrategy
- func (ws *LogRegexStrategy) WithStartupTimeout(timeout time.Duration) *LogRegexStrategy
- type MockServer
- type Nethermind
- func (g *Nethermind) GetContainer() *tc.Container
- func (g *Nethermind) GetContainerName() string
- func (g *Nethermind) GetContainerType() ContainerType
- func (g *Nethermind) GetExternalExecutionURL() string
- func (g *Nethermind) GetExternalHttpUrl() string
- func (g *Nethermind) GetExternalWsUrl() string
- func (g *Nethermind) GetImage() string
- func (g *Nethermind) GetInternalExecutionURL() string
- func (g *Nethermind) GetInternalHttpUrl() string
- func (g *Nethermind) GetInternalWsUrl() string
- func (g *Nethermind) StartContainer() (blockchain.EVMNetwork, error)
- func (g *Nethermind) WaitUntilChainIsReady(ctx context.Context, waitTime time.Duration) error
- func (g *Nethermind) WithImage(imageWithTag string) *Nethermind
- func (g *Nethermind) WithTestInstance(t *testing.T) ExecutionClient
- 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) WithTestInstance(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) WithTestInstance(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) WithTestInstance(t *testing.T) *PrivateGethChain
- type PrysmBeaconChain
- 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) WithTestInstance(t *testing.T) *SchemaRegistry
- type ValKeysGeneretor
- type WebSocketStrategy
- type Zookeeper
Constants ¶
const ( CONFIG_ENV_VAR_NAME = "PRIVATE_ETHEREUM_NETWORK_CONFIG_PATH" EXEC_CLIENT_ENV_VAR_NAME = "ETH2_EL_CLIENT" )
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 ( TX_NON_DEV_GETH_WS_PORT = "8546" BOOTNODE_PORT = "30301" )
const ( PRYSM_QUERY_RPC_PORT = "3500" PRYSM_NODE_RPC_PORT = "4000" )
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 ( ETH2_EXECUTION_PORT = "8551" WALLET_PASSWORD = "password" VALIDATOR_WALLET_PASSWORD_FILE_INSIDE_CONTAINER = fmt.Sprintf("%s/wallet_password.txt", GENERATED_DATA_DIR_INSIDE_CONTAINER) ACCOUNT_PASSWORD_FILE_INSIDE_CONTAINER = fmt.Sprintf("%s/account_password.txt", GENERATED_DATA_DIR_INSIDE_CONTAINER) ACCOUNT_KEYSTORE_FILE_INSIDE_CONTAINER = fmt.Sprintf("%s/account_key", KEYSTORE_DIR_LOCATION_INSIDE_CONTAINER) KEYSTORE_DIR_LOCATION_INSIDE_CONTAINER = fmt.Sprintf("%s/keystore", GENERATED_DATA_DIR_INSIDE_CONTAINER) GENERATED_VALIDATOR_KEYS_DIR_INSIDE_CONTAINER = "/keys" NODE_0_DIR_INSIDE_CONTAINER = fmt.Sprintf("%s/node-0", GENERATED_VALIDATOR_KEYS_DIR_INSIDE_CONTAINER) GENERATED_DATA_DIR_INSIDE_CONTAINER = "/data/custom_config_data" JWT_SECRET_FILE_LOCATION_INSIDE_CONTAINER = fmt.Sprintf("%s/jwtsecret", GENERATED_DATA_DIR_INSIDE_CONTAINER) // #nosec G101 VALIDATOR_BIP39_MNEMONIC = "" /* 152-byte string literal not displayed */ )
var ( ErrMissingExecClientEnvVar = fmt.Errorf("environment variable %s is not set, but exec layer client config from env var was requested", EXEC_CLIENT_ENV_VAR_NAME) ErrMissingConsensusType = errors.New("consensus type is required") ErrMissingExecutionLayer = errors.New("execution layer is required") ErrMissingConsensusLayer = errors.New("consensus layer is required for PoS") ErrConsensusLayerNotAllowed = errors.New("consensus layer is not allowed for PoW") ErrTestConfigNotSaved = errors.New("could not save test env config") )
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 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 AfterGenesisHelper ¶ added in v1.22.0
type AfterGenesisHelper struct { EnvComponent // contains filtered or unexported fields }
func NewInitHelper ¶ added in v1.22.0
func NewInitHelper(chainConfig EthereumChainConfig, customConfigDataDir string, opts ...EnvComponentOption) *AfterGenesisHelper
func (*AfterGenesisHelper) StartContainer ¶ added in v1.22.0
func (g *AfterGenesisHelper) StartContainer() error
func (*AfterGenesisHelper) WithTestInstance ¶ added in v1.22.0
func (g *AfterGenesisHelper) WithTestInstance(t *testing.T) *AfterGenesisHelper
type Besu ¶ added in v1.22.0
type Besu struct { EnvComponent ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string InternalExecutionURL string ExternalExecutionURL string // contains filtered or unexported fields }
func NewBesu ¶ added in v1.22.0
func NewBesu(networks []string, chainConfg *EthereumChainConfig, generatedDataHostDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) (*Besu, error)
func (*Besu) GetContainer ¶ added in v1.22.0
func (*Besu) GetContainerName ¶ added in v1.22.0
func (*Besu) GetContainerType ¶ added in v1.22.0
func (g *Besu) GetContainerType() ContainerType
func (*Besu) GetExternalExecutionURL ¶ added in v1.22.0
func (*Besu) GetExternalHttpUrl ¶ added in v1.22.0
func (*Besu) GetExternalWsUrl ¶ added in v1.22.0
func (*Besu) GetInternalExecutionURL ¶ added in v1.22.0
func (*Besu) GetInternalHttpUrl ¶ added in v1.22.0
func (*Besu) GetInternalWsUrl ¶ added in v1.22.0
func (*Besu) StartContainer ¶ added in v1.22.0
func (g *Besu) StartContainer() (blockchain.EVMNetwork, error)
func (*Besu) WaitUntilChainIsReady ¶ added in v1.22.0
func (*Besu) WithTestInstance ¶ added in v1.22.0
func (g *Besu) WithTestInstance(t *testing.T) ExecutionClient
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_Erigon ContainerType = "erigon" ContainerType_Besu ContainerType = "besu" ContainerType_Nethermind ContainerType = "nethermind" 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 Erigon ¶ added in v1.22.0
type Erigon struct { EnvComponent ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string InternalExecutionURL string ExternalExecutionURL string // contains filtered or unexported fields }
func NewErigon ¶ added in v1.22.0
func NewErigon(networks []string, chainConfg *EthereumChainConfig, generatedDataHostDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) (*Erigon, error)
func (*Erigon) GetContainer ¶ added in v1.22.0
func (*Erigon) GetContainerName ¶ added in v1.22.0
func (*Erigon) GetContainerType ¶ added in v1.22.0
func (g *Erigon) GetContainerType() ContainerType
func (*Erigon) GetExternalExecutionURL ¶ added in v1.22.0
func (*Erigon) GetExternalHttpUrl ¶ added in v1.22.0
func (*Erigon) GetExternalWsUrl ¶ added in v1.22.0
func (*Erigon) GetInternalExecutionURL ¶ added in v1.22.0
func (*Erigon) GetInternalHttpUrl ¶ added in v1.22.0
func (*Erigon) GetInternalWsUrl ¶ added in v1.22.0
func (*Erigon) StartContainer ¶ added in v1.22.0
func (g *Erigon) StartContainer() (blockchain.EVMNetwork, error)
func (*Erigon) WaitUntilChainIsReady ¶ added in v1.22.0
func (*Erigon) WithTestInstance ¶ added in v1.22.0
func (g *Erigon) WithTestInstance(t *testing.T) ExecutionClient
type EthGenesisGeneretor ¶ added in v1.22.0
type EthGenesisGeneretor struct { EnvComponent // contains filtered or unexported fields }
func NewEthGenesisGenerator ¶ added in v1.22.0
func NewEthGenesisGenerator(chainConfig EthereumChainConfig, generatedDataHostDir string, opts ...EnvComponentOption) (*EthGenesisGeneretor, error)
func (*EthGenesisGeneretor) StartContainer ¶ added in v1.22.0
func (g *EthGenesisGeneretor) StartContainer() error
func (*EthGenesisGeneretor) WithImage ¶ added in v1.22.0
func (g *EthGenesisGeneretor) WithImage(imageWithTag string) *EthGenesisGeneretor
func (*EthGenesisGeneretor) WithTestInstance ¶ added in v1.22.0
func (g *EthGenesisGeneretor) WithTestInstance(t *testing.T) *EthGenesisGeneretor
type EthereumChainConfig ¶ added in v1.22.0
type EthereumChainConfig struct { SecondsPerSlot int `json:"slots_per_epoch"` SlotsPerEpoch int `json:"seconds_per_slot"` GenesisDelay int `json:"genesis_delay"` ValidatorCount int `json:"validator_count"` ChainID int `json:"chain_id"` AddressesToFund []string `json:"addresses_to_fund"` // contains filtered or unexported fields }
func GetDefaultChainConfig ¶ added in v1.22.0
func GetDefaultChainConfig() EthereumChainConfig
func (*EthereumChainConfig) GenerateGenesisTimestamp ¶ added in v1.22.0
func (c *EthereumChainConfig) GenerateGenesisTimestamp()
func (*EthereumChainConfig) GetDefaultFinalizationWaitDuration ¶ added in v1.22.0
func (c *EthereumChainConfig) GetDefaultFinalizationWaitDuration() time.Duration
func (*EthereumChainConfig) GetDefaultWaitDuration ¶ added in v1.22.0
func (c *EthereumChainConfig) GetDefaultWaitDuration() time.Duration
func (*EthereumChainConfig) GetValidatorBasedGenesisDelay ¶ added in v1.22.0
func (c *EthereumChainConfig) GetValidatorBasedGenesisDelay() int
type EthereumNetwork ¶ added in v1.18.6
type EthereumNetwork struct { ConsensusType ConsensusType `json:"consensus_type"` ConsensusLayer *ConsensusLayer `json:"consensus_layer"` ExecutionLayer ExecutionLayer `json:"execution_layer"` DockerNetworkNames []string `json:"docker_network_names"` Containers EthereumNetworkContainers `json:"containers"` WaitForFinalization bool `json:"wait_for_finalization"` GeneratedDataHostDir string `json:"generated_data_host_dir"` ValKeysDir string `json:"val_keys_dir"` EthereumChainConfig *EthereumChainConfig `json:"ethereum_chain_config"` // contains filtered or unexported fields }
func NewPrivateChainEnvConfigFromFile ¶ added in v1.22.0
func NewPrivateChainEnvConfigFromFile(path string) (EthereumNetwork, error)
func (*EthereumNetwork) Describe ¶ added in v1.18.6
func (en *EthereumNetwork) Describe() string
func (*EthereumNetwork) Save ¶ added in v1.22.0
func (en *EthereumNetwork) Save() error
func (*EthereumNetwork) Start ¶ added in v1.18.6
func (en *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) WihtExistingConfigFromEnvVar ¶ added in v1.22.0
func (b *EthereumNetworkBuilder) WihtExistingConfigFromEnvVar() *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithConsensusLayer ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithConsensusLayer(consensusLayer ConsensusLayer) *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) WithEthereumChainConfig ¶ added in v1.22.0
func (b *EthereumNetworkBuilder) WithEthereumChainConfig(config EthereumChainConfig) *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithExecClientFromEnvVar ¶ added in v1.22.0
func (b *EthereumNetworkBuilder) WithExecClientFromEnvVar() *EthereumNetworkBuilder
func (*EthereumNetworkBuilder) WithExecutionLayer ¶ added in v1.18.6
func (b *EthereumNetworkBuilder) WithExecutionLayer(executionLayer ExecutionLayer) *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
func (*EthereumNetworkBuilder) WithWaitingForFinalization ¶ added in v1.22.0
func (b *EthereumNetworkBuilder) WithWaitingForFinalization() *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 EthereumNetworkParticipant ¶ added in v1.22.0
type EthereumNetworkParticipant struct { ConsensusLayer ConsensusLayer `json:"consensus_layer"` //nil means PoW ExecutionLayer ExecutionLayer `json:"execution_layer"` Count int `json:"count"` }
type ExecutionClient ¶ added in v1.22.0
type ExecutionClient interface { GetContainerName() string StartContainer() (blockchain.EVMNetwork, error) GetContainer() *tc.Container GetContainerType() ContainerType GetInternalExecutionURL() string GetExternalExecutionURL() string GetInternalHttpUrl() string GetInternalWsUrl() string GetExternalHttpUrl() string GetExternalWsUrl() string WaitUntilChainIsReady(ctx context.Context, waitTime time.Duration) error WithTestInstance(t *testing.T) ExecutionClient }
type ExecutionLayer ¶ added in v1.18.6
type ExecutionLayer string
const ( ExecutionLayer_Geth ExecutionLayer = "geth" ExecutionLayer_Nethermind ExecutionLayer = "nethermind" ExecutionLayer_Erigon ExecutionLayer = "erigon" ExecutionLayer_Besu ExecutionLayer = "besu" )
type ExitCodeStrategy ¶ added in v1.22.0
type ExitCodeStrategy struct {
// contains filtered or unexported fields
}
func NewExitCodeStrategy ¶ added in v1.22.0
func NewExitCodeStrategy() *ExitCodeStrategy
func (*ExitCodeStrategy) WaitUntilReady ¶ added in v1.22.0
func (w *ExitCodeStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
WaitUntilReady implements Strategy.WaitUntilReady
func (*ExitCodeStrategy) WithExitCode ¶ added in v1.22.0
func (w *ExitCodeStrategy) WithExitCode(exitCode int) *ExitCodeStrategy
func (*ExitCodeStrategy) WithPollInterval ¶ added in v1.22.0
func (w *ExitCodeStrategy) WithPollInterval(pollInterval time.Duration) *ExitCodeStrategy
func (*ExitCodeStrategy) WithTimeout ¶ added in v1.22.0
func (w *ExitCodeStrategy) WithTimeout(timeout time.Duration) *ExitCodeStrategy
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, chainConfig *EthereumChainConfig, 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 // contains filtered or unexported fields }
func NewGeth2 ¶ added in v1.18.6
func NewGeth2(networks []string, chainConfg *EthereumChainConfig, generatedDataHostDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) (*Geth2, error)
func (*Geth2) GetContainer ¶ added in v1.22.0
func (*Geth2) GetContainerName ¶ added in v1.22.0
func (*Geth2) GetContainerType ¶ added in v1.22.0
func (g *Geth2) GetContainerType() ContainerType
func (*Geth2) GetExternalExecutionURL ¶ added in v1.22.0
func (*Geth2) GetExternalHttpUrl ¶ added in v1.22.0
func (*Geth2) GetExternalWsUrl ¶ added in v1.22.0
func (*Geth2) GetInternalExecutionURL ¶ added in v1.22.0
func (*Geth2) GetInternalHttpUrl ¶ added in v1.22.0
func (*Geth2) GetInternalWsUrl ¶ added in v1.22.0
func (*Geth2) StartContainer ¶ added in v1.18.6
func (g *Geth2) StartContainer() (blockchain.EVMNetwork, error)
func (*Geth2) WaitUntilChainIsReady ¶ added in v1.22.0
func (*Geth2) WithTestInstance ¶ added in v1.22.0
func (g *Geth2) WithTestInstance(t *testing.T) ExecutionClient
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 HasDockerImage ¶ added in v1.22.0
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) WithTestInstance ¶ added in v1.22.0
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 LogRegexStrategy ¶ added in v1.22.0
type LogRegexStrategy struct { Pattern *regexp.Regexp Occurrence int PollInterval time.Duration // contains filtered or unexported fields }
func NewLogRegexStrategy ¶ added in v1.22.0
func NewLogRegexStrategy(pattern *regexp.Regexp) *LogRegexStrategy
func (*LogRegexStrategy) WaitUntilReady ¶ added in v1.22.0
func (ws *LogRegexStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)
WaitUntilReady implements Strategy.WaitUntilReady
func (*LogRegexStrategy) WithOccurrence ¶ added in v1.22.0
func (ws *LogRegexStrategy) WithOccurrence(o int) *LogRegexStrategy
func (*LogRegexStrategy) WithPollInterval ¶ added in v1.22.0
func (ws *LogRegexStrategy) WithPollInterval(pollInterval time.Duration) *LogRegexStrategy
WithPollInterval can be used to override the default polling interval of 100 milliseconds
func (*LogRegexStrategy) WithStartupTimeout ¶ added in v1.22.0
func (ws *LogRegexStrategy) WithStartupTimeout(timeout time.Duration) *LogRegexStrategy
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) WithTestInstance ¶ added in v1.22.0
func (ms *MockServer) WithTestInstance(t *testing.T) *MockServer
type Nethermind ¶ added in v1.22.0
type Nethermind struct { EnvComponent ExternalHttpUrl string InternalHttpUrl string ExternalWsUrl string InternalWsUrl string InternalExecutionURL string ExternalExecutionURL string // contains filtered or unexported fields }
func NewNethermind ¶ added in v1.22.0
func NewNethermind(networks []string, generatedDataHostDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) (*Nethermind, error)
func (*Nethermind) GetContainer ¶ added in v1.22.0
func (g *Nethermind) GetContainer() *tc.Container
func (*Nethermind) GetContainerName ¶ added in v1.22.0
func (g *Nethermind) GetContainerName() string
func (*Nethermind) GetContainerType ¶ added in v1.22.0
func (g *Nethermind) GetContainerType() ContainerType
func (*Nethermind) GetExternalExecutionURL ¶ added in v1.22.0
func (g *Nethermind) GetExternalExecutionURL() string
func (*Nethermind) GetExternalHttpUrl ¶ added in v1.22.0
func (g *Nethermind) GetExternalHttpUrl() string
func (*Nethermind) GetExternalWsUrl ¶ added in v1.22.0
func (g *Nethermind) GetExternalWsUrl() string
func (*Nethermind) GetImage ¶ added in v1.22.0
func (g *Nethermind) GetImage() string
func (*Nethermind) GetInternalExecutionURL ¶ added in v1.22.0
func (g *Nethermind) GetInternalExecutionURL() string
func (*Nethermind) GetInternalHttpUrl ¶ added in v1.22.0
func (g *Nethermind) GetInternalHttpUrl() string
func (*Nethermind) GetInternalWsUrl ¶ added in v1.22.0
func (g *Nethermind) GetInternalWsUrl() string
func (*Nethermind) StartContainer ¶ added in v1.22.0
func (g *Nethermind) StartContainer() (blockchain.EVMNetwork, error)
func (*Nethermind) WaitUntilChainIsReady ¶ added in v1.22.0
func (*Nethermind) WithImage ¶ added in v1.22.0
func (g *Nethermind) WithImage(imageWithTag string) *Nethermind
func (*Nethermind) WithTestInstance ¶ added in v1.22.0
func (g *Nethermind) WithTestInstance(t *testing.T) ExecutionClient
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) WithTestInstance ¶ added in v1.22.0
func (g *NonDevBesuNode) WithTestInstance(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) WithTestInstance ¶ added in v1.22.0
func (g *NonDevGethNode) WithTestInstance(t *testing.T) NonDevNode
type NonDevNode ¶ added in v1.17.0
type NonDevNode interface { GetInternalHttpUrl() string GetInternalWsUrl() string GetEVMClient() blockchain.EVMClient WithTestInstance(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) WithTestInstance ¶ added in v1.22.0
func (pg *PostgresDb) WithTestInstance(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) WithTestInstance ¶ added in v1.22.0
func (p *PrivateGethChain) WithTestInstance(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, chainConfig *EthereumChainConfig, customConfigDataDir, gethExecutionURL string, opts ...EnvComponentOption) (*PrysmBeaconChain, error)
func (*PrysmBeaconChain) GetImage ¶ added in v1.22.0
func (g *PrysmBeaconChain) GetImage() string
func (*PrysmBeaconChain) StartContainer ¶ added in v1.18.6
func (g *PrysmBeaconChain) StartContainer() error
func (*PrysmBeaconChain) WithImage ¶ added in v1.22.0
func (g *PrysmBeaconChain) WithImage(imageWithTag string) *PrysmBeaconChain
func (*PrysmBeaconChain) WithTestInstance ¶ added in v1.22.0
func (g *PrysmBeaconChain) WithTestInstance(t *testing.T) *PrysmBeaconChain
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, chainConfig *EthereumChainConfig, generatedDataHostDir, valKeysDir, internalBeaconRpcProvider string, opts ...EnvComponentOption) (*PrysmValidator, error)
func (*PrysmValidator) GetImage ¶ added in v1.22.0
func (g *PrysmValidator) GetImage() string
func (*PrysmValidator) StartContainer ¶ added in v1.18.6
func (g *PrysmValidator) StartContainer() error
func (*PrysmValidator) WithImage ¶ added in v1.22.0
func (g *PrysmValidator) WithImage(imageWithTag string) *PrysmValidator
func (*PrysmValidator) WithTestInstance ¶ added in v1.22.0
func (g *PrysmValidator) WithTestInstance(t *testing.T) *PrysmValidator
type RpcProvider ¶ added in v1.18.6
type RpcProvider struct {
// contains filtered or unexported fields
}
maybe only store ports here and depending on where the test is executed return different URLs? maybe 3 different constructors for each "perspective"? (docker, k8s with local runner, k8s with remote runner)
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) WithTestInstance ¶ added in v1.22.0
func (r *SchemaRegistry) WithTestInstance(t *testing.T) *SchemaRegistry
type ValKeysGeneretor ¶ added in v1.22.0
type ValKeysGeneretor struct { EnvComponent // contains filtered or unexported fields }
func NewValKeysGeneretor ¶ added in v1.22.0
func NewValKeysGeneretor(chainConfig *EthereumChainConfig, valKeysHostDataDir string, opts ...EnvComponentOption) (*ValKeysGeneretor, error)
func (*ValKeysGeneretor) StartContainer ¶ added in v1.22.0
func (g *ValKeysGeneretor) StartContainer() error
func (*ValKeysGeneretor) WithTestInstance ¶ added in v1.22.0
func (g *ValKeysGeneretor) WithTestInstance(t *testing.T) *ValKeysGeneretor
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 }
func NewZookeeper ¶ added in v1.17.11
func (*Zookeeper) StartContainer ¶ added in v1.17.11
func (*Zookeeper) WithContainerName ¶ added in v1.17.11
Source Files ¶
- besu.go
- env_component.go
- erigon.go
- eth2_common.go
- eth2_init_helpers.go
- ethereum_env.go
- genesis_generator.go
- genesis_generator_helpers.go
- geth.go
- geth2.go
- kafka.go
- killgrave.go
- mockserver.go
- nethermind.go
- non_dev_besu.go
- non_dev_chain.go
- non_dev_geth.go
- postgres.go
- prysm.go
- schema_registry.go
- utils.go
- validator_keys_generator.go
- wait_strategies.go
- zookeeper.go