Documentation ¶
Index ¶
- Constants
- func ABCIToSDKEvents(abciEvents []abci.Event) sdk.Events
- func Codec() *codec.ProtoCodec
- func DefaultChannelOpts(chains []ibc.Chain) ibc.CreateChannelOptions
- func DetermineDefaultTransferVersion(chains []ibc.Chain) string
- func GetChainATag() string
- func GetChainBTag() string
- func GetChainBalanceForDenom(ctx context.Context, chain ibc.Chain, denom string, user ibc.Wallet) (int64, error)
- func GetIBCToken(fullTokenDenom string, portID, channelID string) transfertypes.Denom
- func GetMsgTransfer(portID, channelID, version string, tokens sdk.Coins, sender, receiver string, ...) *transfertypes.MsgTransfer
- func GetPathName(idx int64) string
- func IsCI() bool
- func IsFork() bool
- func IsRunSuite() bool
- func MustProtoMarshalJSON(msg proto.Message) []byte
- func SDKEncodingConfig() *testutil.TestEncodingConfig
- func UnmarshalMsgResponses(txResp sdk.TxResponse, msgs ...codec.ProtoMarshaler) error
- type ChainConfig
- type ChainOptionConfiguration
- type ChainOptionModifier
- type ChainOptions
- type CometBFTConfig
- type DebugConfig
- type E2ETestSuite
- func (s *E2ETestSuite) AssertHumanReadableDenom(ctx context.Context, chain ibc.Chain, counterpartyNativeDenom string, ...)
- func (s *E2ETestSuite) AssertPacketAcknowledged(ctx context.Context, chain ibc.Chain, portID, channelID string, ...)
- func (s *E2ETestSuite) AssertPacketRelayed(ctx context.Context, chain ibc.Chain, portID, channelID string, ...)
- func (s *E2ETestSuite) AssertTxFailure(resp sdk.TxResponse, expectedError *errorsmod.Error)
- func (s *E2ETestSuite) AssertTxSuccess(resp sdk.TxResponse)
- func (s *E2ETestSuite) BroadcastMessages(ctx context.Context, chain ibc.Chain, user ibc.Wallet, msgs ...sdk.Msg) sdk.TxResponse
- func (s *E2ETestSuite) CreateDefaultPaths(testName string) ibc.Relayer
- func (s *E2ETestSuite) CreatePath(ctx context.Context, r ibc.Relayer, chainA ibc.Chain, chainB ibc.Chain, ...) (chainAChannel ibc.ChannelOutput, chainBChannel ibc.ChannelOutput)
- func (s *E2ETestSuite) CreatePaths(clientOpts ibc.CreateClientOptions, channelOpts ibc.CreateChannelOptions, ...) ibc.Relayer
- func (s *E2ETestSuite) CreateUpgradeFields(channel channeltypes.Channel) channeltypes.UpgradeFields
- func (s *E2ETestSuite) CreateUserOnChainA(ctx context.Context, amount int64) ibc.Wallet
- func (s *E2ETestSuite) CreateUserOnChainB(ctx context.Context, amount int64) ibc.Wallet
- func (s *E2ETestSuite) CreateUserOnChainC(ctx context.Context, amount int64) ibc.Wallet
- func (s *E2ETestSuite) ExecuteAndPassGovV1Beta1Proposal(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...)
- func (s *E2ETestSuite) ExecuteAndPassGovV1Proposal(ctx context.Context, msg sdk.Msg, chain ibc.Chain, user ibc.Wallet)
- func (s *E2ETestSuite) ExecuteGovV1Beta1Proposal(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...) sdk.TxResponse
- func (s *E2ETestSuite) ExecuteGovV1Proposal(ctx context.Context, msg sdk.Msg, chain ibc.Chain, user ibc.Wallet) error
- func (*E2ETestSuite) ExtractValueFromEvents(events []abci.Event, eventType, attrKey string) (string, bool)
- func (s *E2ETestSuite) FeeTransferChannelOptions() ibc.CreateChannelOptions
- func (s *E2ETestSuite) GetAllChains() []ibc.Chain
- func (s *E2ETestSuite) GetChainAChannelForTest(testName string) ibc.ChannelOutput
- func (s *E2ETestSuite) GetChainANativeBalance(ctx context.Context, user ibc.Wallet) (int64, error)
- func (s *E2ETestSuite) GetChainBNativeBalance(ctx context.Context, user ibc.Wallet) (int64, error)
- func (s *E2ETestSuite) GetChains() (ibc.Chain, ibc.Chain)
- func (s *E2ETestSuite) GetChannelsForTest(chain ibc.Chain, testName string) []ibc.ChannelOutput
- func (s *E2ETestSuite) GetPaths(testName string) []string
- func (s *E2ETestSuite) GetRelayerExecReporter() *testreporter.RelayerExecReporter
- func (s *E2ETestSuite) GetRelayerForTest(testName string) ibc.Relayer
- func (s *E2ETestSuite) GetRelayerUsers(ctx context.Context, testName string) (ibc.Wallet, ibc.Wallet)
- func (s *E2ETestSuite) GetRelayerWallets(ibcrelayer ibc.Relayer) (ibc.Wallet, ibc.Wallet, error)
- func (s *E2ETestSuite) GetTimeoutHeight(ctx context.Context, chain ibc.Chain) clienttypes.Height
- func (s *E2ETestSuite) InitiateChannelUpgrade(ctx context.Context, chain ibc.Chain, wallet ibc.Wallet, ...)
- func (s *E2ETestSuite) PayPacketFeeAsync(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...) sdk.TxResponse
- func (s *E2ETestSuite) PruneAcknowledgements(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...) sdk.TxResponse
- func (*E2ETestSuite) QueryTxsByEvents(ctx context.Context, chain ibc.Chain, page, limit int, ...) (*sdk.SearchTxsResult, error)
- func (s *E2ETestSuite) RecoverRelayerWallets(ctx context.Context, ibcrelayer ibc.Relayer, testName string) (ibc.Wallet, ibc.Wallet, error)
- func (s *E2ETestSuite) RegisterCounterPartyPayee(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...) sdk.TxResponse
- func (s *E2ETestSuite) RestartRelayer(ctx context.Context, ibcrelayer ibc.Relayer, testName string)
- func (s *E2ETestSuite) SetUpgradeTimeoutParam(ctx context.Context, chain ibc.Chain, wallet ibc.Wallet)
- func (s *E2ETestSuite) SetupChains(ctx context.Context, channelOptionsModifier ChainOptionModifier, ...)
- func (s *E2ETestSuite) SetupClients(ctx context.Context, ibcrelayer ibc.Relayer, opts ibc.CreateClientOptions)
- func (s *E2ETestSuite) SetupSuite()
- func (s *E2ETestSuite) StartRelayer(r ibc.Relayer, testName string)
- func (s *E2ETestSuite) StopRelayer(ctx context.Context, ibcrelayer ibc.Relayer)
- func (s *E2ETestSuite) SuiteName() string
- func (s *E2ETestSuite) Transfer(ctx context.Context, chain ibc.Chain, user ibc.Wallet, ...) sdk.TxResponse
- func (s *E2ETestSuite) TransferChannelOptions() ibc.CreateChannelOptions
- func (s *E2ETestSuite) UpdateClients(ctx context.Context, ibcrelayer ibc.Relayer, pathName string)
- type GenesisDebugConfig
- type TestConfig
- func (tc TestConfig) GetActiveRelayerConfig() *relayer.Config
- func (tc TestConfig) GetChainAID() string
- func (tc TestConfig) GetChainBID() string
- func (tc TestConfig) GetChainIndex(name string) (int, error)
- func (tc TestConfig) GetChainName(idx int) string
- func (tc TestConfig) GetChainNumFullNodes(idx int) int
- func (tc TestConfig) GetChainNumValidators(idx int) int
- func (tc TestConfig) GetGenesisChainName() string
- func (tc TestConfig) GetUpgradeConfig() UpgradeConfig
- func (tc TestConfig) Validate() error
- type UpgradeConfig
Constants ¶
const ( // ChainImageEnv specifies the image that the chains will use. If left unspecified, it will // default to being determined based on the specified binary. E.g. ghcr.io/cosmos/ibc-go-simd ChainImageEnv = "CHAIN_IMAGE" // ChainATagEnv specifies the tag that Chain A will use. ChainATagEnv = "CHAIN_A_TAG" // ChainBTagEnv specifies the tag that Chain B will use. If unspecified // the value will default to the same value as Chain A. ChainBTagEnv = "CHAIN_B_TAG" // RelayerIDEnv specifies the ID of the relayer to use. RelayerIDEnv = "RELAYER_ID" // ChainBinaryEnv binary is the binary that will be used for both chains. ChainBinaryEnv = "CHAIN_BINARY" // ChainUpgradePlanEnv specifies the upgrade plan name ChainUpgradePlanEnv = "CHAIN_UPGRADE_PLAN" // E2EConfigFilePathEnv allows you to specify a custom path for the config file to be used. It can be relative // or absolute. E2EConfigFilePathEnv = "E2E_CONFIG_PATH" // KeepContainersEnv instructs interchaintest to not delete the containers after a test has run. // this ensures that chain containers are not deleted after a test suite is run if other tests // depend on those chains. KeepContainersEnv = "KEEP_CONTAINERS" )
const ( // ChainARelayerName is the name given to the relayer wallet on ChainA ChainARelayerName = "rlyA" // ChainBRelayerName is the name given to the relayer wallet on ChainB ChainBRelayerName = "rlyB" // DefaultGasValue is the default gas value used to configure tx.Factory DefaultGasValue = 100_000_00 )
Variables ¶
This section is empty.
Functions ¶
func ABCIToSDKEvents ¶
ABCIToSDKEvents converts a list of ABCI events to Cosmos SDK events.
func DefaultChannelOpts ¶
func DefaultChannelOpts(chains []ibc.Chain) ibc.CreateChannelOptions
DefaultChannelOpts returns the default chain options for the test suite based on the provided chains.
func DetermineDefaultTransferVersion ¶
DetermineDefaultTransferVersion determines the version of transfer that should be used with an arbitrary number of chains. the default is V2, but if any chain does not support V2, then V1 is used.
func GetChainATag ¶
func GetChainATag() string
func GetChainBTag ¶
func GetChainBTag() string
func GetChainBalanceForDenom ¶
func GetChainBalanceForDenom(ctx context.Context, chain ibc.Chain, denom string, user ibc.Wallet) (int64, error)
GetChainBalanceForDenom returns the balance for a given denom given a chain.
func GetIBCToken ¶
func GetIBCToken(fullTokenDenom string, portID, channelID string) transfertypes.Denom
GetIBCToken returns the denomination of the full token denom sent to the receiving channel
func GetMsgTransfer ¶
func GetMsgTransfer(portID, channelID, version string, tokens sdk.Coins, sender, receiver string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, memo string, forwarding *transfertypes.Forwarding) *transfertypes.MsgTransfer
GetMsgTransfer returns a MsgTransfer that is constructed based on the channel version
func GetPathName ¶
GetPathName returns the name of a path at a specific index. This can be used in tests when the path name is required.
func IsCI ¶
func IsCI() bool
IsCI returns true if the tests are running in CI, false is returned if the tests are running locally. Note: github actions passes a CI env value of true by default to all runners.
func IsFork ¶
func IsFork() bool
IsFork returns true if the tests are running in fork mode, false is returned otherwise.
func IsRunSuite ¶
func IsRunSuite() bool
IsRunSuite returns true if the tests are running in suite mode, false is returned otherwise.
func MustProtoMarshalJSON ¶
MustProtoMarshalJSON provides an auxiliary function to return Proto3 JSON encoded bytes of a message. This function should be used when marshalling a proto.Message from the e2e tests. This function strips out unknown fields. This is useful for backwards compatibility tests where the types imported by the e2e package have new fields that older versions do not recognize.
func SDKEncodingConfig ¶
func SDKEncodingConfig() *testutil.TestEncodingConfig
SDKEncodingConfig returns the global E2E encoding config.
func UnmarshalMsgResponses ¶
func UnmarshalMsgResponses(txResp sdk.TxResponse, msgs ...codec.ProtoMarshaler) error
UnmarshalMsgResponses attempts to unmarshal the tx msg responses into the provided message types.
Types ¶
type ChainConfig ¶
type ChainConfig struct { ChainID string `yaml:"chainId"` Name string `yaml:"name"` Image string `yaml:"image"` Tag string `yaml:"tag"` Binary string `yaml:"binary"` NumValidators int `yaml:"numValidators"` NumFullNodes int `yaml:"numFullNodes"` }
ChainConfig holds information about an individual chain used in the tests.
type ChainOptionConfiguration ¶
type ChainOptionConfiguration func(options *ChainOptions)
ChainOptionConfiguration enables arbitrary configuration of ChainOptions.
func ThreeChainSetup ¶
func ThreeChainSetup() ChainOptionConfiguration
ThreeChainSetup provides the default behaviour to wire up 3 chains in the tests.
type ChainOptionModifier ¶
type ChainOptionModifier func(chainA, chainB ibc.Chain) func(options *ibc.CreateChannelOptions)
ChainOptionModifier is a function which accepts 2 chains as inputs, and returns a channel creation modifier function in order to conditionally modify the channel options based on the chains being used.
type ChainOptions ¶
type ChainOptions struct { ChainSpecs []*interchaintest.ChainSpec SkipPathCreation bool RelayerCount int }
ChainOptions stores chain configurations for the chains that will be created for the tests. They can be modified by passing ChainOptionConfiguration to E2ETestSuite.GetChains.
func DefaultChainOptions ¶
func DefaultChainOptions() ChainOptions
DefaultChainOptions returns the default configuration for the chains. These options can be configured by passing configuration functions to E2ETestSuite.GetChains.
type CometBFTConfig ¶
type CometBFTConfig struct {
LogLevel string `yaml:"logLevel"`
}
type DebugConfig ¶
type DebugConfig struct { // DumpLogs forces the logs to be collected before removing test containers. DumpLogs bool `yaml:"dumpLogs"` // GenesisDebug contains debug information specific to Genesis. GenesisDebug GenesisDebugConfig `yaml:"genesis"` // KeepContainers specifies if the containers should be kept after the test suite is done. // NOTE: when running a full test suite, this value should be set to true in order to preserve // shared resources. KeepContainers bool `yaml:"keepContainers"` }
type E2ETestSuite ¶
type E2ETestSuite struct { testifysuite.Suite DockerClient *dockerclient.Client // contains filtered or unexported fields }
E2ETestSuite has methods and functionality which can be shared among all test suites.
func (*E2ETestSuite) AssertHumanReadableDenom ¶
func (s *E2ETestSuite) AssertHumanReadableDenom(ctx context.Context, chain ibc.Chain, counterpartyNativeDenom string, counterpartyChannel ibc.ChannelOutput)
AssertHumanReadableDenom asserts that a human readable denom is present for a given chain.
func (*E2ETestSuite) AssertPacketAcknowledged ¶
func (s *E2ETestSuite) AssertPacketAcknowledged(ctx context.Context, chain ibc.Chain, portID, channelID string, sequence uint64)
AssertPacketAcknowledged asserts that the packet has been acknowledged on the specified chain.
func (*E2ETestSuite) AssertPacketRelayed ¶
func (s *E2ETestSuite) AssertPacketRelayed(ctx context.Context, chain ibc.Chain, portID, channelID string, sequence uint64)
AssertPacketRelayed asserts that the packet commitment does not exist on the sending chain. The packet commitment will be deleted upon a packet acknowledgement or timeout.
func (*E2ETestSuite) AssertTxFailure ¶
func (s *E2ETestSuite) AssertTxFailure(resp sdk.TxResponse, expectedError *errorsmod.Error)
AssertTxFailure verifies that an sdk.TxResponse has failed.
func (*E2ETestSuite) AssertTxSuccess ¶
func (s *E2ETestSuite) AssertTxSuccess(resp sdk.TxResponse)
AssertTxSuccess verifies that an sdk.TxResponse has succeeded.
func (*E2ETestSuite) BroadcastMessages ¶
func (s *E2ETestSuite) BroadcastMessages(ctx context.Context, chain ibc.Chain, user ibc.Wallet, msgs ...sdk.Msg) sdk.TxResponse
BroadcastMessages broadcasts the provided messages to the given chain and signs them on behalf of the provided user. Once the broadcast response is returned, we wait for a few blocks to be created on the chain the message was broadcast to.
func (*E2ETestSuite) CreateDefaultPaths ¶
func (s *E2ETestSuite) CreateDefaultPaths(testName string) ibc.Relayer
CreateDefaultPaths creates a path between the chains using the default client and channel options. this should be called as the setup function in most tests if no additional options are required.
func (*E2ETestSuite) CreatePath ¶
func (s *E2ETestSuite) CreatePath( ctx context.Context, r ibc.Relayer, chainA ibc.Chain, chainB ibc.Chain, clientOpts ibc.CreateClientOptions, channelOpts ibc.CreateChannelOptions, testName string, ) (chainAChannel ibc.ChannelOutput, chainBChannel ibc.ChannelOutput)
CreatePath creates a path between chainA and chainB using the provided client and channel options.
func (*E2ETestSuite) CreatePaths ¶
func (s *E2ETestSuite) CreatePaths(clientOpts ibc.CreateClientOptions, channelOpts ibc.CreateChannelOptions, testName string) ibc.Relayer
CreatePaths creates paths between the chains using the provided client and channel options. The paths are created such that ChainA is connected to ChainB, ChainB is connected to ChainC etc.
func (*E2ETestSuite) CreateUpgradeFields ¶
func (s *E2ETestSuite) CreateUpgradeFields(channel channeltypes.Channel) channeltypes.UpgradeFields
CreateUpgradeFields creates upgrade fields for channel with fee middleware
func (*E2ETestSuite) CreateUserOnChainA ¶
CreateUserOnChainA creates a user with the given amount of funds on chain A.
func (*E2ETestSuite) CreateUserOnChainB ¶
CreateUserOnChainB creates a user with the given amount of funds on chain B.
func (*E2ETestSuite) CreateUserOnChainC ¶
CreateUserOnChainC creates a user with the given amount of funds on chain C.
func (*E2ETestSuite) ExecuteAndPassGovV1Beta1Proposal ¶
func (s *E2ETestSuite) ExecuteAndPassGovV1Beta1Proposal(ctx context.Context, chain ibc.Chain, user ibc.Wallet, content govtypesv1beta1.Content)
ExecuteAndPassGovV1Beta1Proposal submits the given v1beta1 governance proposal using the provided user and uses all validators to vote yes on the proposal. It ensures the proposal successfully passes.
func (*E2ETestSuite) ExecuteAndPassGovV1Proposal ¶
func (s *E2ETestSuite) ExecuteAndPassGovV1Proposal(ctx context.Context, msg sdk.Msg, chain ibc.Chain, user ibc.Wallet)
ExecuteAndPassGovV1Proposal submits a v1 governance proposal using the provided user and message and uses all validators to vote yes on the proposal. It ensures the proposal successfully passes.
func (*E2ETestSuite) ExecuteGovV1Beta1Proposal ¶
func (s *E2ETestSuite) ExecuteGovV1Beta1Proposal(ctx context.Context, chain ibc.Chain, user ibc.Wallet, content govtypesv1beta1.Content) sdk.TxResponse
ExecuteGovV1Beta1Proposal submits a v1beta1 governance proposal using the provided content.
func (*E2ETestSuite) ExecuteGovV1Proposal ¶
func (s *E2ETestSuite) ExecuteGovV1Proposal(ctx context.Context, msg sdk.Msg, chain ibc.Chain, user ibc.Wallet) error
ExecuteGovV1Proposal submits a v1 governance proposal using the provided user and message and uses all validators to vote yes on the proposal.
func (*E2ETestSuite) ExtractValueFromEvents ¶
func (*E2ETestSuite) ExtractValueFromEvents(events []abci.Event, eventType, attrKey string) (string, bool)
ExtractValueFromEvents extracts the value of an attribute from a list of events. If the attribute is not found, the function returns an empty string and false. If the attribute is found, the function returns the value and true.
func (*E2ETestSuite) FeeTransferChannelOptions ¶
func (s *E2ETestSuite) FeeTransferChannelOptions() ibc.CreateChannelOptions
FeeTransferChannelOptions configures both of the chains to have fee middleware enabled.
func (*E2ETestSuite) GetAllChains ¶
func (s *E2ETestSuite) GetAllChains() []ibc.Chain
GetAllChains returns all chains that can be used in a test. The chains returned are unique to the current test being run. Note: this function does not create containers.
func (*E2ETestSuite) GetChainAChannelForTest ¶
func (s *E2ETestSuite) GetChainAChannelForTest(testName string) ibc.ChannelOutput
GetChainAChannelForTest returns the ibc.ChannelOutput for the current test. this defaults to the first entry in the list, and will be what is needed in the case of a single channel test.
func (*E2ETestSuite) GetChainANativeBalance ¶
GetChainANativeBalance gets the balance of a given user on chain A.
func (*E2ETestSuite) GetChainBNativeBalance ¶
GetChainBNativeBalance gets the balance of a given user on chain B.
func (*E2ETestSuite) GetChains ¶
func (s *E2ETestSuite) GetChains() (ibc.Chain, ibc.Chain)
GetChains returns two chains that can be used in a test. The pair returned is unique to the current test being run. Note: this function does not create containers.
func (*E2ETestSuite) GetChannelsForTest ¶
func (s *E2ETestSuite) GetChannelsForTest(chain ibc.Chain, testName string) []ibc.ChannelOutput
GetChannelsForTest returns all channels for the specified test.
func (*E2ETestSuite) GetPaths ¶
func (s *E2ETestSuite) GetPaths(testName string) []string
func (*E2ETestSuite) GetRelayerExecReporter ¶
func (s *E2ETestSuite) GetRelayerExecReporter() *testreporter.RelayerExecReporter
GetRelayerExecReporter returns a testreporter.RelayerExecReporter instances using the current test's testing.T.
func (*E2ETestSuite) GetRelayerForTest ¶
func (s *E2ETestSuite) GetRelayerForTest(testName string) ibc.Relayer
GetRelayerForTest returns the relayer for the current test from the available pool of relayers. once a relayer has been returned to a test, it is cached and will be reused for the duration of the test.
func (*E2ETestSuite) GetRelayerUsers ¶
func (s *E2ETestSuite) GetRelayerUsers(ctx context.Context, testName string) (ibc.Wallet, ibc.Wallet)
GetRelayerUsers returns two ibc.Wallet instances which can be used for the relayer users on the two chains.
func (*E2ETestSuite) GetRelayerWallets ¶
GetRelayerWallets returns the ibcrelayer wallets associated with the chains.
func (*E2ETestSuite) GetTimeoutHeight ¶
func (s *E2ETestSuite) GetTimeoutHeight(ctx context.Context, chain ibc.Chain) clienttypes.Height
GetTimeoutHeight returns a timeout height of 1000 blocks above the current block height. This function should be used when the timeout is never expected to be reached
func (*E2ETestSuite) InitiateChannelUpgrade ¶
func (s *E2ETestSuite) InitiateChannelUpgrade(ctx context.Context, chain ibc.Chain, wallet ibc.Wallet, portID, channelID string, upgradeFields channeltypes.UpgradeFields)
InitiateChannelUpgrade creates and submits a governance proposal to execute the message to initiate a channel upgrade
func (*E2ETestSuite) PayPacketFeeAsync ¶
func (s *E2ETestSuite) PayPacketFeeAsync( ctx context.Context, chain ibc.Chain, user ibc.Wallet, packetID channeltypes.PacketId, packetFee feetypes.PacketFee, ) sdk.TxResponse
PayPacketFeeAsync broadcasts a MsgPayPacketFeeAsync message.
func (*E2ETestSuite) PruneAcknowledgements ¶
func (s *E2ETestSuite) PruneAcknowledgements( ctx context.Context, chain ibc.Chain, user ibc.Wallet, portID, channelID string, limit uint64, ) sdk.TxResponse
PruneAcknowledgements broadcasts a MsgPruneAcknowledgements message.
func (*E2ETestSuite) QueryTxsByEvents ¶
func (*E2ETestSuite) QueryTxsByEvents( ctx context.Context, chain ibc.Chain, page, limit int, queryReq, orderBy string, ) (*sdk.SearchTxsResult, error)
QueryTxsByEvents runs the QueryTxsByEvents command on the given chain. https://github.com/cosmos/cosmos-sdk/blob/65ab2530cc654fd9e252b124ed24cbaa18023b2b/x/auth/client/cli/query.go#L33
func (*E2ETestSuite) RecoverRelayerWallets ¶
func (s *E2ETestSuite) RecoverRelayerWallets(ctx context.Context, ibcrelayer ibc.Relayer, testName string) (ibc.Wallet, ibc.Wallet, error)
RecoverRelayerWallets adds the corresponding ibcrelayer address to the keychain of the chain. This is useful if commands executed on the chains expect the relayer information to present in the keychain.
func (*E2ETestSuite) RegisterCounterPartyPayee ¶
func (s *E2ETestSuite) RegisterCounterPartyPayee(ctx context.Context, chain ibc.Chain, user ibc.Wallet, portID, channelID, relayerAddr, counterpartyPayeeAddr string, ) sdk.TxResponse
RegisterCounterPartyPayee broadcasts a MsgRegisterCounterpartyPayee message.
func (*E2ETestSuite) RestartRelayer ¶
RestartRelayer restarts the given relayer.
func (*E2ETestSuite) SetUpgradeTimeoutParam ¶
func (s *E2ETestSuite) SetUpgradeTimeoutParam(ctx context.Context, chain ibc.Chain, wallet ibc.Wallet)
SetUpgradeTimeoutParam creates and submits a governance proposal to execute the message to update 04-channel params with a timeout of 1s
func (*E2ETestSuite) SetupChains ¶
func (s *E2ETestSuite) SetupChains(ctx context.Context, channelOptionsModifier ChainOptionModifier, chainSpecOpts ...ChainOptionConfiguration)
SetupChains creates the chains for the test suite, and also a relayer that is wired up to establish connections and channels between the chains.
func (*E2ETestSuite) SetupClients ¶
func (s *E2ETestSuite) SetupClients(ctx context.Context, ibcrelayer ibc.Relayer, opts ibc.CreateClientOptions)
SetupClients creates clients on chainA and chainB using the provided create client options
func (*E2ETestSuite) SetupSuite ¶
func (s *E2ETestSuite) SetupSuite()
SetupSuite will by default create chains with no additional options. If additional options are required, the test suite must define the SetupSuite function and provide the required options.
func (*E2ETestSuite) StartRelayer ¶
func (s *E2ETestSuite) StartRelayer(r ibc.Relayer, testName string)
StartRelayer starts the given ibcrelayer.
func (*E2ETestSuite) StopRelayer ¶
func (s *E2ETestSuite) StopRelayer(ctx context.Context, ibcrelayer ibc.Relayer)
StopRelayer stops the given ibcrelayer.
func (*E2ETestSuite) SuiteName ¶
func (s *E2ETestSuite) SuiteName() string
SuiteName returns the name of the test suite.
func (*E2ETestSuite) Transfer ¶
func (s *E2ETestSuite) Transfer(ctx context.Context, chain ibc.Chain, user ibc.Wallet, portID, channelID string, tokens sdk.Coins, sender, receiver string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, memo string, forwarding *transfertypes.Forwarding, ) sdk.TxResponse
Transfer broadcasts a MsgTransfer message.
func (*E2ETestSuite) TransferChannelOptions ¶
func (s *E2ETestSuite) TransferChannelOptions() ibc.CreateChannelOptions
TransferChannelOptions configures both of the chains to have non-incentivized transfer channels.
func (*E2ETestSuite) UpdateClients ¶
UpdateClients updates clients on chainA and chainB
type GenesisDebugConfig ¶
type GenesisDebugConfig struct { // DumpGenesisDebugInfo enables the output of Genesis debug files. DumpGenesisDebugInfo bool `yaml:"dumpGenesisDebugInfo"` // ExportFilePath specifies which path to export Genesis debug files to. ExportFilePath string `yaml:"filePath"` // ChainName represent which chain to get Genesis debug info for. ChainName string `yaml:"chainName"` }
type TestConfig ¶
type TestConfig struct { // ChainConfigs holds configuration values related to the chains used in the tests. ChainConfigs []ChainConfig `yaml:"chains"` // RelayerConfigs holds all known relayer configurations that can be used in the tests. RelayerConfigs []relayer.Config `yaml:"relayers"` // ActiveRelayer specifies the relayer that will be used. It must match the ID of one of the entries in RelayerConfigs. ActiveRelayer string `yaml:"activeRelayer"` // CometBFTConfig holds values for configuring CometBFT. CometBFTConfig CometBFTConfig `yaml:"cometbft"` // DebugConfig holds configuration for miscellaneous options. DebugConfig DebugConfig `yaml:"debug"` // UpgradePlanName specifies which upgrade plan to use. It must match a plan name for an entry in the // list of UpgradeConfigs. UpgradePlanName string `yaml:"upgradePlanName"` // UpgradeConfigs provides a list of all possible upgrades. UpgradeConfigs []UpgradeConfig `yaml:"upgrades"` }
TestConfig holds configuration used throughout the different e2e tests.
func LoadConfig ¶
func LoadConfig() TestConfig
LoadConfig attempts to load a test configuration from the default file path. if any environment variables are specified, they will take precedence over the individual configuration options.
func (TestConfig) GetActiveRelayerConfig ¶
func (tc TestConfig) GetActiveRelayerConfig() *relayer.Config
GetActiveRelayerConfig returns the currently specified relayer config.
func (TestConfig) GetChainAID ¶
func (tc TestConfig) GetChainAID() string
GetChainAID returns the chain-id for chain A. NOTE: the default return value will ensure that ParseChainID will return 1 as the revision number.
func (TestConfig) GetChainBID ¶
func (tc TestConfig) GetChainBID() string
GetChainBID returns the chain-id for chain B. NOTE: the default return value will ensure that ParseChainID will return 1 as the revision number.
func (TestConfig) GetChainIndex ¶
func (tc TestConfig) GetChainIndex(name string) (int, error)
GetChainIndex returns the index of the chain with the given name, if it exists.
func (TestConfig) GetChainName ¶
func (tc TestConfig) GetChainName(idx int) string
GetChainName returns the name of the chain given an index.
func (TestConfig) GetChainNumFullNodes ¶
func (tc TestConfig) GetChainNumFullNodes(idx int) int
GetChainNumFullNodes returns the number of full nodes for the specific chain index. default 0
func (TestConfig) GetChainNumValidators ¶
func (tc TestConfig) GetChainNumValidators(idx int) int
GetChainNumValidators returns the number of validators for the specific chain index. default 1
func (TestConfig) GetGenesisChainName ¶
func (tc TestConfig) GetGenesisChainName() string
GetGenesisChainName returns the name of the chain for which to dump Genesis files. If no chain is provided, it uses the default one (chainA).
func (TestConfig) GetUpgradeConfig ¶
func (tc TestConfig) GetUpgradeConfig() UpgradeConfig
GetUpgradeConfig returns the upgrade configuration for the current test configuration.
func (TestConfig) Validate ¶
func (tc TestConfig) Validate() error
Validate validates the test configuration is valid for use within the tests. this should be called before using the configuration.
type UpgradeConfig ¶
UpgradeConfig holds values relevant to upgrade tests.