e2etests

package
v0.0.0-...-c5e366f Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 80 Imported by: 0

Documentation

Index

Constants

View Source
const (
	/*
	  EVM chain tests
	*/
	TestETHDepositName                      = "eth_deposit"
	TestETHMultipleDepositsName             = "eth_multiple_deposits"
	TestETHMultipleDepositsLegacyName       = "eth_multiple_deposits_legacy"
	TestETHDepositAndCallBigPayloadName     = "eth_deposit_and_call_big_payload"
	TestETHDepositAndCallName               = "eth_deposit_and_call"
	TestETHDepositFastConfirmationName      = "eth_deposit_fast_confirmation"
	TestETHDepositAndCallNoMessageName      = "eth_deposit_and_call_no_message"
	TestETHDepositAndCallRevertName         = "eth_deposit_and_call_revert"
	TestETHDepositAndCallRevertWithCallName = "eth_deposit_and_call_revert_with_call"
	TestETHDepositRevertAndAbortName        = "eth_deposit_revert_and_abort"

	TestETHWithdrawName                          = "eth_withdraw"
	TestETHWithdrawCustomGasLimitName            = "eth_withdraw_custom_gas_limit"
	TestETHWithdrawAndArbitraryCallName          = "eth_withdraw_and_arbitrary_call"
	TestETHWithdrawAndCallName                   = "eth_withdraw_and_call"
	TestETHWithdrawAndCallBigPayloadName         = "eth_withdraw_and_call_big_payload"
	TestETHWithdrawAndCallNoMessageName          = "eth_withdraw_and_call_no_message"
	TestETHWithdrawAndCallThroughContractName    = "eth_withdraw_and_call_through_contract"
	TestETHWithdrawAndCallRevertName             = "eth_withdraw_and_call_revert"
	TestETHWithdrawAndCallRevertWithCallName     = "eth_withdraw_and_call_revert_with_call"
	TestETHWithdrawRevertAndAbortName            = "eth_withdraw_revert_and_abort"
	TestETHWithdrawAndCallRevertWithWithdrawName = "eth_withdraw_and_call_revert_with_withdraw"
	TestDepositAndCallOutOfGasName               = "deposit_and_call_out_of_gas"
	TestDepositAndCallHighGasUsageName           = "deposit_and_call_high_gas_usage"

	TestERC20DepositName                      = "erc20_deposit"
	TestERC20MultipleDepositsName             = "erc20_multiple_deposits"
	TestERC20DepositAndCallName               = "erc20_deposit_and_call"
	TestERC20DepositAndCallNoMessageName      = "erc20_deposit_and_call_no_message"
	TestERC20DepositAndCallRevertName         = "erc20_deposit_and_call_revert"
	TestERC20DepositAndCallRevertWithCallName = "erc20_deposit_and_call_revert_with_call"
	TestERC20DepositRevertAndAbortName        = "erc20_deposit_revert_and_abort"

	TestERC20WithdrawName                      = "erc20_withdraw"
	TestERC20WithdrawAndArbitraryCallName      = "erc20_withdraw_and_arbitrary_call"
	TestERC20WithdrawAndCallName               = "erc20_withdraw_and_call"
	TestERC20WithdrawAndCallNoMessageName      = "erc20_withdraw_and_call_no_message"
	TestERC20WithdrawAndCallRevertName         = "erc20_withdraw_and_call_revert"
	TestERC20WithdrawAndCallRevertWithCallName = "erc20_withdraw_and_call_revert_with_call"
	TestERC20WithdrawRevertAndAbortName        = "erc20_withdraw_revert_and_abort"

	TestZEVMToEVMArbitraryCallName       = "zevm_to_evm_arbitrary_call"
	TestZEVMToEVMCallName                = "zevm_to_evm_call"
	TestZEVMToEVMCallRevertName          = "zevm_to_evm_call_revert"
	TestZEVMToEVMCallRevertAndAbortName  = "zevm_to_evm_call_revert_and_abort"
	TestZEVMToEVMCallThroughContractName = "zevm_to_evm_call_through_contract"
	TestEVMToZEVMCallName                = "evm_to_zevm_call"
	TestEVMToZEVMCallAbortName           = "evm_to_zevm_abort_call"

	TestDepositAndCallSwapName      = "deposit_and_call_swap"
	TestEtherWithdrawRestrictedName = "eth_withdraw_restricted"
	TestERC20DepositRestrictedName  = "erc20_deposit_restricted" // #nosec G101: Potential hardcoded credentials (gosec), not a credential

	/*
	 * Solana tests
	 */
	TestSolanaDepositName                                 = "solana_deposit"
	TestSolanaDepositThroughProgramName                   = "solana_deposit_through_program"
	TestSolanaDepositThroughProgramAddressLookupTableName = "solana_deposit_through_program_alt"
	TestSolanaWithdrawName                                = "solana_withdraw"
	TestSolanaWithdrawRevertExecutableReceiverName        = "solana_withdraw_revert_executable_receiver"
	TestSolanaWithdrawAndCallName                         = "solana_withdraw_and_call"
	TestSolanaWithdrawAndCallAddressLookupTableName       = "solana_withdraw_and_call_alt"
	TestSolanaWithdrawAndCallInvalidTxSizeName            = "solana_withdraw_and_call_invalid_tx_size"
	TestSolanaWithdrawAndCallInvalidMsgEncodingName       = "solana_withdraw_and_call_invalid_msg_encoding"
	TestZEVMToSolanaCallName                              = "zevm_to_solana_call"
	TestSolanaWithdrawAndCallRevertWithCallName           = "solana_withdraw_and_call_revert_with_call"
	TestSolanaDepositAndCallName                          = "solana_deposit_and_call"
	TestSolanaDepositAndCallRevertName                    = "solana_deposit_and_call_revert"
	TestSolanaDepositAndCallRevertWithCallName            = "solana_deposit_and_call_revert_with_call"
	TestSolanaDepositAndCallRevertWithCallThatRevertsName = "solana_deposit_and_call_revert_with_call_that_reverts"
	TestSolanaDepositAndCallRevertWithDustName            = "solana_deposit_and_call_revert_with_dust"
	TestSolanaToZEVMCallName                              = "solana_to_zevm_call"
	TestSolanaToZEVMCallAbortName                         = "solana_to_zevm_call_abort"
	TestSolanaDepositRestrictedName                       = "solana_deposit_restricted"
	TestSolanaWithdrawRestrictedName                      = "solana_withdraw_restricted"
	TestSPLDepositName                                    = "spl_deposit"
	TestSPLDepositAndCallName                             = "spl_deposit_and_call"
	TestSPLDepositAndCallRevertName                       = "spl_deposit_and_call_revert"
	TestSPLDepositAndCallRevertWithCallName               = "spl_deposit_and_call_revert_with_call"
	TestSPLDepositAndCallRevertWithCallThatRevertsName    = "spl_deposit_and_call_revert_with_call_that_reverts"
	TestSPLWithdrawName                                   = "spl_withdraw"
	TestSPLWithdrawAndCallName                            = "spl_withdraw_and_call"
	TestSPLWithdrawAndCallAddressLookupTableName          = "spl_withdraw_and_call_alt"
	TestSPLWithdrawAndCallRevertName                      = "spl_withdraw_and_call_revert"
	TestSPLWithdrawAndCreateReceiverAtaName               = "spl_withdraw_and_create_receiver_ata"

	/**
	 * TON tests
	 */
	TestTONDepositName              = "ton_deposit"
	TestTONDepositAndCallName       = "ton_deposit_and_call"
	TestTONDepositAndCallRefundName = "ton_deposit_refund"
	TestTONDepositRestrictedName    = "ton_deposit_restricted"
	TestTONCallName                 = "ton_to_zevm_call"
	TestTONWithdrawName             = "ton_withdraw"
	TestTONWithdrawRestrictedName   = "ton_withdraw_restricted"
	TestTONWithdrawMasterchainName  = "ton_withdraw_masterchain"
	TestTONWithdrawConcurrentName   = "ton_withdraw_concurrent"

	/*
	 Sui tests
	*/
	TestSuiDepositName                            = "sui_deposit"
	TestSuiDepositAndCallName                     = "sui_deposit_and_call"
	TestSuiDepositAndCallRevertName               = "sui_deposit_and_call_revert"
	TestSuiTokenDepositName                       = "sui_token_deposit"                 // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiTokenDepositAndCallName                = "sui_token_deposit_and_call"        // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiTokenDepositAndCallRevertName          = "sui_token_deposit_and_call_revert" // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiWithdrawName                           = "sui_withdraw"
	TestSuiTokenWithdrawName                      = "sui_token_withdraw"                           // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiTokenWithdrawAndCallName               = "sui_token_withdraw_and_call"                  // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiTokenWithdrawAndCallRevertWithCallName = "sui_token_withdraw_and_call_revert_with_call" // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiWithdrawAndCallName                    = "sui_withdraw_and_call"
	TestSuiWithdrawRevertWithCallName             = "sui_withdraw_revert_with_call"          // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiWithdrawAndCallInvalidPayloadName      = "sui_withdraw_and_call_invalid_payload"  // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiWithdrawAndCallRevertWithCallName      = "sui_withdraw_and_call_revert_with_call" // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestSuiDepositRestrictedName                  = "sui_deposit_restricted"
	TestSuiWithdrawRestrictedName                 = "sui_withdraw_restricted"
	TestSuiWithdrawInvalidReceiverName            = "sui_withdraw_invalid_receiver"

	/*
	 Bitcoin tests
	 Test transfer of Bitcoin asset across chains
	*/
	TestBitcoinDepositName                                 = "bitcoin_deposit"
	TestBitcoinDepositAndCallName                          = "bitcoin_deposit_and_call"
	TestBitcoinDepositFastConfirmationName                 = "bitcoin_deposit_fast_confirmation"
	TestBitcoinDepositAndCallRevertName                    = "bitcoin_deposit_and_call_revert"
	TestBitcoinDepositAndCallRevertWithDustName            = "bitcoin_deposit_and_call_revert_with_dust"
	TestBitcoinDepositAndWithdrawWithDustName              = "bitcoin_deposit_and_withdraw_with_dust"
	TestBitcoinDonationName                                = "bitcoin_donation"
	TestBitcoinStdMemoDepositName                          = "bitcoin_std_memo_deposit"
	TestBitcoinStdMemoDepositAndCallName                   = "bitcoin_std_memo_deposit_and_call"
	TestBitcoinStdMemoDepositAndCallRevertName             = "bitcoin_std_memo_deposit_and_call_revert"
	TestBitcoinStdMemoDepositAndCallRevertOtherAddressName = "bitcoin_std_memo_deposit_and_call_revert_other_address"
	TestBitcoinStdMemoDepositAndCallRevertAndAbortName     = "bitcoin_std_memo_deposit_and_call_revert_and_abort"
	TestBitcoinStdMemoInscribedDepositAndCallName          = "bitcoin_std_memo_inscribed_deposit_and_call"
	TestBitcoinToZEVMCallName                              = "bitcoin_to_zevm_call"
	TestBitcoinToZEVMCallAbortName                         = "bitcoin_to_zevm_call_abort"
	TestBitcoinToZEVMCallExcessiveFundsRevertName          = "bitcoin_to_zevm_call_excessive_funds_revert"
	TestBitcoinDepositAndAbortWithLowDepositFeeName        = "bitcoin_deposit_and_abort_with_low_deposit_fee"
	TestBitcoinWithdrawSegWitName                          = "bitcoin_withdraw_segwit"
	TestBitcoinWithdrawTaprootName                         = "bitcoin_withdraw_taproot"
	TestBitcoinWithdrawMultipleName                        = "bitcoin_withdraw_multiple"
	TestBitcoinWithdrawLegacyName                          = "bitcoin_withdraw_legacy"
	TestBitcoinWithdrawP2WSHName                           = "bitcoin_withdraw_p2wsh"
	TestBitcoinWithdrawP2SHName                            = "bitcoin_withdraw_p2sh"
	TestBitcoinWithdrawInvalidAddressName                  = "bitcoin_withdraw_invalid"
	TestBitcoinWithdrawRestrictedName                      = "bitcoin_withdraw_restricted"
	TestBitcoinDepositInvalidMemoRevertName                = "bitcoin_deposit_invalid_memo_revert"
	TestBitcoinWithdrawRBFName                             = "bitcoin_withdraw_rbf"

	/*
	 Application tests
	 Test various smart contract applications across chains
	*/
	TestCrosschainSwapName = "crosschain_swap"

	/*
	 Miscellaneous tests
	 Test various functionalities not related to assets
	*/
	TestDonationEtherName   = "donation_ether"
	TestInboundTrackersName = "inbound_trackers"
	TestPrecompilesName     = "precompiles"
	TestOpcodesName         = "opcodes"
	TestZEVMRPCName         = "zevm_rpc"

	/*
	 Stress tests
	 Test stressing networks with many cross-chain transactions
	*/
	TestStressEtherWithdrawName  = "stress_eth_withdraw"
	TestStressBTCWithdrawName    = "stress_btc_withdraw"
	TestStressEtherDepositName   = "stress_eth_deposit"
	TestStressBTCDepositName     = "stress_btc_deposit"
	TestStressSolanaDepositName  = "stress_solana_deposit"
	TestStressSPLDepositName     = "stress_spl_deposit"
	TestStressSolanaWithdrawName = "stress_solana_withdraw"
	TestStressSPLWithdrawName    = "stress_spl_withdraw"
	TestStressSuiDepositName     = "stress_sui_deposit"
	TestStressSuiWithdrawName    = "stress_sui_withdraw"
	TestStressZEVMName           = "stress_zevm"

	TestUndelegateToBelowMinimumObserverDelegation = "undelegate_to_below_minimum_observer_delegation"

	/*
	 Admin tests
	 Test admin functionalities
	*/
	TestWhitelistERC20Name               = "whitelist_erc20"
	TestDepositEtherLiquidityCapName     = "deposit_eth_liquidity_cap"
	TestMigrateChainSupportName          = "migrate_chain_support"
	TestPauseZRC20Name                   = "pause_zrc20"
	TestUpdateBytecodeZRC20Name          = "update_bytecode_zrc20"
	TestUpdateBytecodeConnectorName      = "update_bytecode_connector"
	TestRateLimiterName                  = "rate_limiter"
	TestCriticalAdminTransactionsName    = "critical_admin_transactions"
	TestPauseERC20CustodyName            = "pause_erc20_custody"
	TestMigrateERC20CustodyFundsName     = "migrate_erc20_custody_funds"
	TestMigrateTSSName                   = "migrate_tss"
	TestSolanaWhitelistSPLName           = "solana_whitelist_spl"
	TestUpdateZRC20NameName              = "update_zrc20"
	TestZetaclientRestartHeightName      = "zetaclient_restart_height"
	TestZetaclientSignerOffsetName       = "zetaclient_signer_offset"
	TestZetaclientMinimumVersionName     = "zetaclient_minimum_version"
	TestUpdateOperationalChainParamsName = "update_operational_chain_params"
	TestMigrateConnectorFundsName        = "migrate_connector_funds"
	TestBurnFungibleModuleAssetName      = "burn_fungible_module_asset"

	/*
	 Operational tests
	 Not used to test functionalities but do various interactions with the netwoks
	*/
	TestDeploy                                    = "deploy"
	TestOperationAddLiquidityETHName              = "add_liquidity_eth"
	TestOperationAddLiquidityERC20Name            = "add_liquidity_erc20"
	TestOperationAddLiquidityBTCName              = "add_liquidity_btc"
	TestOperationAddLiquiditySOLName              = "add_liquidity_sol"
	TestOperationAddLiquiditySPLName              = "add_liquidity_spl"
	TestOperationAddLiquiditySUIName              = "add_liquidity_sui"
	TestOperationAddLiquiditySuiFungibleTokenName = "add_liquidity_sui_fungible_token" // #nosec G101: Potential hardcoded credentials (gosec), not a credential
	TestOperationAddLiquidityTONName              = "add_liquidity_ton"

	/*
	 Legacy tests (using v1 protocol contracts)
	*/
	TestLegacyMessagePassingExternalChainsName              = "legacy_message_passing_external_chains"
	TestLegacyMessagePassingRevertFailExternalChainsName    = "legacy_message_passing_revert_fail"
	TestLegacyMessagePassingRevertSuccessExternalChainsName = "legacy_message_passing_revert_success"
	TestLegacyMessagePassingEVMtoZEVMName                   = "legacy_message_passing_evm_to_zevm"
	TestLegacyMessagePassingZEVMToEVMName                   = "legacy_message_passing_zevm_to_evm"
	TestLegacyMessagePassingZEVMtoEVMRevertName             = "legacy_message_passing_zevm_to_evm_revert"
	TestLegacyMessagePassingEVMtoZEVMRevertName             = "legacy_message_passing_evm_to_zevm_revert"
	TestLegacyMessagePassingZEVMtoEVMRevertFailName         = "legacy_message_passing_zevm_to_evm_revert_fail"
	TestLegacyMessagePassingEVMtoZEVMRevertFailName         = "legacy_message_passing_evm_to_zevm_revert_fail"
	TestLegacyEtherDepositName                              = "legacy_eth_deposit"
	TestLegacyEtherWithdrawName                             = "legacy_eth_withdraw"
	TestLegacyEtherDepositAndCallRefundName                 = "legacy_eth_deposit_and_call_refund"
	TestLegacyEtherDepositAndCallName                       = "legacy_eth_deposit_and_call"
	TestLegacyERC20WithdrawName                             = "legacy_erc20_withdraw"
	TestLegacyERC20DepositName                              = "legacy_erc20_deposit"
	TestLegacyMultipleERC20DepositName                      = "legacy_erc20_multiple_deposit"
	TestLegacyMultipleERC20WithdrawsName                    = "legacy_erc20_multiple_withdraw"
	TestLegacyERC20DepositAndCallRefundName                 = "legacy_erc20_deposit_and_call_refund"

	/*
	 ZETA tests
	 Test transfer of ZETA asset across chains
	 Note: It is still the only way to transfer ZETA across chains. Work to integrate ZETA transfers as part of the gateway is in progress
	 These tests are marked as legacy because there is no longer active development on ZETA transfers, and we stopped integrating ZETA support on new mainnet chains
	*/
	TestLegacyZetaDepositName             = "legacy_zeta_deposit"
	TestLegacyZetaDepositAndCallAbortName = "legacy_zeta_deposit_and_call_abort"
	TestLegacyZetaDepositNewAddressName   = "legacy_zeta_deposit_new_address"
	TestLegacyZetaDepositRestrictedName   = "legacy_zeta_deposit_restricted"
	TestLegacyZetaWithdrawName            = "legacy_zeta_withdraw"
	TestLegacyZetaWithdrawBTCRevertName   = "legacy_zeta_withdraw_btc_revert" // #nosec G101 - not a hardcoded password

	TestZetaDepositName                       = "zeta_deposit"
	TestZetaDepositAndCallName                = "zeta_deposit_and_call"
	TestZetaDepositAndCallRevertName          = "zeta_deposit_and_call_revert"
	TestZetaDepositRevertAndAbortName         = "zeta_deposit_revert_and_abort"
	TestZetaDepositAndCallRevertWithCallName  = "zeta_deposit_and_call_revert_with_call"
	TestZetaDepositAndCallNoMessageName       = "zeta_deposit_and_call_no_message"
	TestZetaWithdrawName                      = "zeta_withdraw"
	TestZetaWithdrawAndCallName               = "zeta_withdraw_and_call"
	TestZetaWithdrawAndArbitraryCallName      = "zeta_withdraw_and_arbitrary_call"
	TestZetaWithdrawAndCallRevertName         = "zeta_withdraw_and_call_revert"
	TestZetaWithdrawAndCallRevertWithCallName = "zeta_withdraw_and_call_revert_with_call"
	TestZetaWithdrawRevertAndAbortName        = "zeta_withdraw_revert_and_abort"
)

List of all e2e test names to be used in zetae2e

View Source
const (
	CountArgDescription = "count"
)
View Source
const EVM2RPCURL = "http://eth2:8545"

EVM2RPCURL is the RPC URL for the additional EVM localnet Only this test currently uses a additional EVM localnet, and this test is only run locally Therefore, we hardcode RPC urls and addresses for simplicity

Variables

View Source
var AllE2ETests = []runner.E2ETest{}/* 210 elements not displayed */

AllE2ETests is an ordered list of all e2e tests

View Source
var (
	// DepdencyAllBitcoinDeposits is a dependency to wait for all bitcoin deposit tests to complete
	DepdencyAllBitcoinDeposits = runner.NewE2EDependency("all_bitcoin_deposits")
)

Here are all the dependencies for the e2e tests, add more dependencies here if needed

View Source
var EVMSepoliaChainID = chains.Sepolia.ChainId

EVMSepoliaChainID is the chain ID for the additional EVM localnet We set Sepolia testnet although the value is not important, only used to differentiate

Functions

func TestAddToInboundTracker

func TestAddToInboundTracker(r *runner.E2ERunner)

func TestBitcoinDeposit

func TestBitcoinDeposit(r *runner.E2ERunner, args []string)

func TestBitcoinDepositAndAbortWithLowDepositFee

func TestBitcoinDepositAndAbortWithLowDepositFee(r *runner.E2ERunner, args []string)

func TestBitcoinDepositAndCall

func TestBitcoinDepositAndCall(r *runner.E2ERunner, args []string)

func TestBitcoinDepositAndCallRevert

func TestBitcoinDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestBitcoinDepositAndCallRevertWithDust

func TestBitcoinDepositAndCallRevertWithDust(r *runner.E2ERunner, args []string)

TestBitcoinDepositAndCallRevertWithDust sends a Bitcoin deposit that reverts with a dust amount in the revert outbound.

func TestBitcoinDepositAndWithdrawWithDust

func TestBitcoinDepositAndWithdrawWithDust(r *runner.E2ERunner, args []string)

TestBitcoinDepositAndWithdrawWithDust deposits Bitcoin and call a smart contract that withdraws dust amount It tests the edge case where during a cross-chain call, an invalid withdraw is initiated (processLogs fails)

func TestBitcoinDepositFastConfirmation

func TestBitcoinDepositFastConfirmation(r *runner.E2ERunner, args []string)

TestBitcoinDepositFastConfirmation tests the fast confirmation of Bitcoin deposits

func TestBitcoinDepositInvalidMemoRevert

func TestBitcoinDepositInvalidMemoRevert(r *runner.E2ERunner, args []string)

func TestBitcoinDonation

func TestBitcoinDonation(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoDeposit

func TestBitcoinStdMemoDeposit(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoDepositAndCall

func TestBitcoinStdMemoDepositAndCall(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoDepositAndCallRevert

func TestBitcoinStdMemoDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoDepositAndCallRevertAndAbort

func TestBitcoinStdMemoDepositAndCallRevertAndAbort(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoDepositAndCallRevertOtherAddress

func TestBitcoinStdMemoDepositAndCallRevertOtherAddress(r *runner.E2ERunner, args []string)

func TestBitcoinStdMemoInscribedDepositAndCall

func TestBitcoinStdMemoInscribedDepositAndCall(r *runner.E2ERunner, args []string)

func TestBitcoinToZEVMCall

func TestBitcoinToZEVMCall(r *runner.E2ERunner, args []string)

func TestBitcoinToZEVMCallAbort

func TestBitcoinToZEVMCallAbort(r *runner.E2ERunner, args []string)

func TestBitcoinToZEVMCallExcessiveFundsRevert

func TestBitcoinToZEVMCallExcessiveFundsRevert(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawLegacy

func TestBitcoinWithdrawLegacy(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawP2SH

func TestBitcoinWithdrawP2SH(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawP2WSH

func TestBitcoinWithdrawP2WSH(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawRBF

func TestBitcoinWithdrawRBF(r *runner.E2ERunner, args []string)

TestBitcoinWithdrawRBF tests the RBF (Replace-By-Fee) feature in Zetaclient. It needs block mining to be stopped and runs as the last test in the suite.

IMPORTANT: the test requires to simulate a stuck tx in the Bitcoin regnet. The challenge to simulate a stuck tx is to create overwhelming traffic in the local mempool.

To work around this:

  1. change the 'minTxConfirmations' to 1 to not include outbound tx right away (production should use 0) here: https://github.com/zeta-chain/node/blob/5c2a8ffbc702130fd9538b1cd7640d0e04d3e4f6/zetaclient/chains/bitcoin/observer/outbound.go#L27
  2. stop block mining to let the pending tx sit in the mempool for longer time

func TestBitcoinWithdrawRestricted

func TestBitcoinWithdrawRestricted(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawSegWit

func TestBitcoinWithdrawSegWit(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawTaproot

func TestBitcoinWithdrawTaproot(r *runner.E2ERunner, args []string)

func TestBitcoinWithdrawToInvalidAddress

func TestBitcoinWithdrawToInvalidAddress(r *runner.E2ERunner, args []string)

func TestBurnFungibleModuleAsset

func TestBurnFungibleModuleAsset(r *runner.E2ERunner, _ []string)

func TestCriticalAdminTransactions

func TestCriticalAdminTransactions(r *runner.E2ERunner, _ []string)

However, the transactions other than `AddToInboundTracker`, `UpdateGasPriceIncreaseFlags`, and `UpdateGatewayGasLimit` have already been used in other tests.

func TestCrosschainSwap

func TestCrosschainSwap(r *runner.E2ERunner, _ []string)

func TestDeployContract

func TestDeployContract(r *runner.E2ERunner, args []string)

TestDeployContract deploys the specified contract

func TestDepositAndCallHighGasUsage

func TestDepositAndCallHighGasUsage(r *runner.E2ERunner, args []string)

TestDepositAndCallHighGasUsage tests that a deposit and call with gas usage close to limit (currently 4M) get mined

func TestDepositAndCallOutOfGas

func TestDepositAndCallOutOfGas(r *runner.E2ERunner, args []string)

TestDepositAndCallOutOfGas tests that a deposit and call that consumer all gas will revert

func TestDepositAndCallSwap

func TestDepositAndCallSwap(r *runner.E2ERunner, _ []string)

TODO: This test is similar to TestCrosschainSwap purpose is to test similar scenario with v2 contracts where there is swap + withdraw in onCall to showcase that it's not reverting with gas limit issues this test should be removed when this issue is completed: https://github.com/zeta-chain/node/issues/2711

func TestDepositEtherLiquidityCap

func TestDepositEtherLiquidityCap(r *runner.E2ERunner, args []string)

TestDepositEtherLiquidityCap tests depositing Ethers in a context where a liquidity cap is set

func TestDonationEther

func TestDonationEther(r *runner.E2ERunner, args []string)

TestDonationEther tests donation of ether to the tss address

func TestERC20Deposit

func TestERC20Deposit(r *runner.E2ERunner, args []string)

func TestERC20DepositAndCall

func TestERC20DepositAndCall(r *runner.E2ERunner, args []string)

func TestERC20DepositAndCallNoMessage

func TestERC20DepositAndCallNoMessage(r *runner.E2ERunner, args []string)

func TestERC20DepositAndCallRevert

func TestERC20DepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestERC20DepositAndCallRevertWithCall

func TestERC20DepositAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestERC20DepositRestricted

func TestERC20DepositRestricted(r *runner.E2ERunner, args []string)

func TestERC20DepositRevertAndAbort

func TestERC20DepositRevertAndAbort(r *runner.E2ERunner, args []string)

func TestERC20MultipleDeposits

func TestERC20MultipleDeposits(r *runner.E2ERunner, args []string)

func TestERC20Withdraw

func TestERC20Withdraw(r *runner.E2ERunner, args []string)

func TestERC20WithdrawAndArbitraryCall

func TestERC20WithdrawAndArbitraryCall(r *runner.E2ERunner, args []string)

func TestERC20WithdrawAndCall

func TestERC20WithdrawAndCall(r *runner.E2ERunner, args []string)

func TestERC20WithdrawAndCallNoMessage

func TestERC20WithdrawAndCallNoMessage(r *runner.E2ERunner, args []string)

func TestERC20WithdrawAndCallRevert

func TestERC20WithdrawAndCallRevert(r *runner.E2ERunner, args []string)

func TestERC20WithdrawAndCallRevertWithCall

func TestERC20WithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestERC20WithdrawRevertAndAbort

func TestERC20WithdrawRevertAndAbort(r *runner.E2ERunner, args []string)

func TestETHDeposit

func TestETHDeposit(r *runner.E2ERunner, args []string)

func TestETHDepositAndCall

func TestETHDepositAndCall(r *runner.E2ERunner, args []string)

func TestETHDepositAndCallBigPayload

func TestETHDepositAndCallBigPayload(r *runner.E2ERunner, _ []string)

func TestETHDepositAndCallNoMessage

func TestETHDepositAndCallNoMessage(r *runner.E2ERunner, args []string)

func TestETHDepositAndCallRevert

func TestETHDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestETHDepositAndCallRevertWithCall

func TestETHDepositAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestETHDepositFastConfirmation

func TestETHDepositFastConfirmation(r *runner.E2ERunner, args []string)

TestETHDepositFastConfirmation tests the fast confirmation of ETH deposits

func TestETHDepositRevertAndAbort

func TestETHDepositRevertAndAbort(r *runner.E2ERunner, args []string)

func TestETHMultipleDeposits

func TestETHMultipleDeposits(r *runner.E2ERunner, args []string)

func TestETHMultipleDepositsLegacy

func TestETHMultipleDepositsLegacy(r *runner.E2ERunner, args []string)

NOTE: to be used on live networks to check if multiple deposits using legacy method are reverting

func TestETHWithdraw

func TestETHWithdraw(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndArbitraryCall

func TestETHWithdrawAndArbitraryCall(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCall

func TestETHWithdrawAndCall(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCallBigPayload

func TestETHWithdrawAndCallBigPayload(r *runner.E2ERunner, _ []string)

func TestETHWithdrawAndCallNoMessage

func TestETHWithdrawAndCallNoMessage(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCallRevert

func TestETHWithdrawAndCallRevert(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCallRevertWithCall

func TestETHWithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCallRevertWithWithdraw

func TestETHWithdrawAndCallRevertWithWithdraw(r *runner.E2ERunner, args []string)

func TestETHWithdrawAndCallThroughContract

func TestETHWithdrawAndCallThroughContract(r *runner.E2ERunner, args []string)

func TestETHWithdrawCustomGasLimit

func TestETHWithdrawCustomGasLimit(r *runner.E2ERunner, args []string)

func TestETHWithdrawRevertAndAbort

func TestETHWithdrawRevertAndAbort(r *runner.E2ERunner, args []string)

func TestEVMToZEVMCall

func TestEVMToZEVMCall(r *runner.E2ERunner, args []string)

func TestEVMToZEVMCallAbort

func TestEVMToZEVMCallAbort(r *runner.E2ERunner, args []string)

func TestEtherWithdrawRestricted

func TestEtherWithdrawRestricted(r *runner.E2ERunner, args []string)

TestEtherWithdrawRestricted tests the withdrawal to a restricted receiver address

func TestInboundTrackers

func TestInboundTrackers(r *runner.E2ERunner, args []string)

TestInboundTrackers tests inbound trackers processing in ZetaClient It run deposits, send inbound trackers and check cctxs are mined IMPORTANT: the test requires inbound observation to be disabled, the following line should be uncommented: https://github.com/zeta-chain/node/blob/9dcb42729653e033f5ba60a77dc37e5e19b092ad/zetaclient/chains/evm/observer/inbound.go#L210

func TestMigrateChainSupport

func TestMigrateChainSupport(r *runner.E2ERunner, _ []string)

func TestMigrateConnectorFunds

func TestMigrateConnectorFunds(r *runner.E2ERunner, _ []string)

TestMigrateConnectorFunds tests the migration of funds from the old ZetaConnectorEth (V1) to the new ZetaConnectorNative (V2)

func TestMigrateTSS

func TestMigrateTSS(r *runner.E2ERunner, _ []string)

func TestOpcodes

func TestOpcodes(r *runner.E2ERunner, _ []string)

TestOpcodes tests calling functions from the opcode contract to check if these opcodes are supported by the ZEVM.

func TestOperationAddLiquidityBTC

func TestOperationAddLiquidityBTC(r *runner.E2ERunner, args []string)

TestOperationAddLiquidityBTC is an operational test to add liquidity in the ZETA/BTC pool

func TestOperationAddLiquidityERC20

func TestOperationAddLiquidityERC20(r *runner.E2ERunner, args []string)

TestOperationAddLiquidityERC20 is an operational test to add liquidity in the ZETA/ERC20 pool

func TestOperationAddLiquidityETH

func TestOperationAddLiquidityETH(r *runner.E2ERunner, args []string)

TestOperationAddLiquidityETH is an operational test to add liquidity in the ZETA/ETH pool (evm gas token)

func TestOperationAddLiquiditySOL

func TestOperationAddLiquiditySOL(r *runner.E2ERunner, args []string)

TestOperationAddLiquiditySOL is an operational test to add liquidity in the ZETA/SOL pool

func TestOperationAddLiquiditySPL

func TestOperationAddLiquiditySPL(r *runner.E2ERunner, args []string)

TestOperationAddLiquiditySPL is an operational test to add liquidity in the ZETA/SPL pool

func TestOperationAddLiquiditySUI

func TestOperationAddLiquiditySUI(r *runner.E2ERunner, args []string)

TestOperationAddLiquiditySUI is an operational test to add liquidity in the ZETA/SUI pool

func TestOperationAddLiquiditySuiFungibleToken

func TestOperationAddLiquiditySuiFungibleToken(r *runner.E2ERunner, args []string)

TestOperationAddLiquiditySuiFungibleToken is an operational test to add liquidity in the ZETA/SuiFungibleToken pool

func TestOperationAddLiquidityTON

func TestOperationAddLiquidityTON(r *runner.E2ERunner, args []string)

TestOperationAddLiquidityTON is an operational test to add liquidity in the ZETA/TON pool

func TestPauseZRC20

func TestPauseZRC20(r *runner.E2ERunner, _ []string)

func TestPrecompiles

func TestPrecompiles(r *runner.E2ERunner, _ []string)

func TestSPLDeposit

func TestSPLDeposit(r *runner.E2ERunner, args []string)

func TestSPLDepositAndCall

func TestSPLDepositAndCall(r *runner.E2ERunner, args []string)

func TestSPLDepositAndCallRevert

func TestSPLDepositAndCallRevert(r *runner.E2ERunner, args []string)

TestSPLDepositAndCallRevert tests deposit of SPL tokens calling a example contract that reverts.

func TestSPLDepositAndCallRevertWithCall

func TestSPLDepositAndCallRevertWithCall(r *runner.E2ERunner, args []string)

TestSPLDepositAndCallRevertWithCall tests deposit of SPL tokens with revert options

func TestSPLDepositAndCallRevertWithCallThatReverts

func TestSPLDepositAndCallRevertWithCallThatReverts(r *runner.E2ERunner, args []string)

TestSPLDepositAndCallRevertWithCallThatReverts tests deposit of SPL tokens with revert options when call on revert program reverts, and cctx is aborted

func TestSPLWithdraw

func TestSPLWithdraw(r *runner.E2ERunner, args []string)

func TestSPLWithdrawAndCall

func TestSPLWithdrawAndCall(r *runner.E2ERunner, args []string)

TestSPLWithdrawAndCall executes withdrawAndCall on zevm and calls connected program on solana message and zevm sender are stored in connected program pda, and withdrawn spl tokens are stored in connected program pda and account provided in remaining accounts to demonstrate that spl tokens can be moved to accounts in connected program as well as gateway program

func TestSPLWithdrawAndCallAddressLookupTable

func TestSPLWithdrawAndCallAddressLookupTable(r *runner.E2ERunner, args []string)

TestSPLWithdrawAndCallAddressLookupTable executes spl withdrawAndCall on zevm and calls connected program on solana similar to TestSPLWithdrawAndCall, but uses AddressLookupTable to provide accounts for connected program

func TestSPLWithdrawAndCallRevert

func TestSPLWithdrawAndCallRevert(r *runner.E2ERunner, args []string)

TestSPLWithdrawAndCallRevert executes withdrawAndCall on zevm and calls connected program on solana execution is reverted in connected program on_call function

func TestSPLWithdrawAndCreateReceiverAta

func TestSPLWithdrawAndCreateReceiverAta(r *runner.E2ERunner, args []string)

TestSPLWithdrawAndCreateReceiverAta withdraws SPL, but letting gateway program to create receiver ATA using PDA funds, instead of providing already created ATA

func TestSolanaDeposit

func TestSolanaDeposit(r *runner.E2ERunner, args []string)

func TestSolanaDepositAndCall

func TestSolanaDepositAndCall(r *runner.E2ERunner, args []string)

TestSolanaDepositAndCall tests deposit of lamports calling a example contract

func TestSolanaDepositAndCallRevert

func TestSolanaDepositAndCallRevert(r *runner.E2ERunner, args []string)

TestSolanaDepositAndCallRevert tests deposit of lamports calling a example contract that reverts.

func TestSolanaDepositAndCallRevertWithCall

func TestSolanaDepositAndCallRevertWithCall(r *runner.E2ERunner, args []string)

TestSolanaDepositAndCallRevertWithCall tests deposit of lamports with revert options

func TestSolanaDepositAndCallRevertWithCallThatReverts

func TestSolanaDepositAndCallRevertWithCallThatReverts(r *runner.E2ERunner, args []string)

TestSolanaDepositAndCallRevertWithCallThatReverts tests deposit of lamports with revert options when call on revert program reverts, and cctx is aborted

func TestSolanaDepositAndCallRevertWithDust

func TestSolanaDepositAndCallRevertWithDust(r *runner.E2ERunner, args []string)

TestSolanaDepositAndCallRevertWithDust tests Solana deposit and call that reverts with a dust amount in the revert outbound.

func TestSolanaDepositRestricted

func TestSolanaDepositRestricted(r *runner.E2ERunner, args []string)

func TestSolanaDepositThroughProgram

func TestSolanaDepositThroughProgram(r *runner.E2ERunner, args []string)

TestSolanaDepositThroughProgram tests triggering gateway deposit through another solana program it is same as TestSolanaDeposit, but instead inbound is inside inner instructions

func TestSolanaDepositThroughProgramAddressLookupTable

func TestSolanaDepositThroughProgramAddressLookupTable(r *runner.E2ERunner, args []string)

TestSolanaDepositThroughProgramAddressLookupTable executes deposit through connected program using AddressLookupTable similar to TestSolanaDepositThroughProgram, but uses AddressLookupTable to provide accounts for trigger_deposit

func TestSolanaToZEVMCall

func TestSolanaToZEVMCall(r *runner.E2ERunner, args []string)

TestSolanaToZEVMCall tests calling an example contract

func TestSolanaToZEVMCallAbort

func TestSolanaToZEVMCallAbort(r *runner.E2ERunner, args []string)

func TestSolanaWhitelistSPL

func TestSolanaWhitelistSPL(r *runner.E2ERunner, _ []string)

func TestSolanaWithdraw

func TestSolanaWithdraw(r *runner.E2ERunner, args []string)

func TestSolanaWithdrawAndCall

func TestSolanaWithdrawAndCall(r *runner.E2ERunner, args []string)

TestSolanaWithdrawAndCall executes withdrawAndCall on zevm and calls connected program on solana message and zevm sender are stored in connected program pda, and withdrawn lamports are stored in connected program pda and account provided in remaining accounts to demonstrate that lamports can be moved to accounts in connected program as well as gateway program

func TestSolanaWithdrawAndCallAddressLookupTable

func TestSolanaWithdrawAndCallAddressLookupTable(r *runner.E2ERunner, args []string)

TestSolanaWithdrawAndCallAddressLookupTable executes withdrawAndCall on zevm and calls connected program on solana similar to TestSolanaWithdrawAndCall, but uses AddressLookupTable to provide accounts for connected program

func TestSolanaWithdrawAndCallInvalidMsgEncoding

func TestSolanaWithdrawAndCallInvalidMsgEncoding(r *runner.E2ERunner, args []string)

TestSolanaWithdrawAndCallInvalidMsgEncoding executes withdrawAndCall, but with invalid msg encoding in that case, cctx is reverted

func TestSolanaWithdrawAndCallInvalidTxSize

func TestSolanaWithdrawAndCallInvalidTxSize(r *runner.E2ERunner, args []string)

TestSolanaWithdrawAndCallInvalidTxSize executes withdrawAndCall, but with invalid tx size in that case, cctx is reverted due to "transaction is too large" error

func TestSolanaWithdrawAndCallRevertWithCall

func TestSolanaWithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

TestSolanaWithdrawAndCallRevertWithCall executes withdrawAndCall on zevm and calls connected program on solana execution is reverted in connected program on_call function and onRevert is called on ZEVM TestDapp contract

func TestSolanaWithdrawRestricted

func TestSolanaWithdrawRestricted(r *runner.E2ERunner, args []string)

func TestSolanaWithdrawRevertExecutableReceiver

func TestSolanaWithdrawRevertExecutableReceiver(r *runner.E2ERunner, args []string)

TestSolanaWithdrawRevertExecutableReceiver reverts if receiver is solana program

func TestStressBTCDeposit

func TestStressBTCDeposit(r *runner.E2ERunner, args []string)

TestStressBTCDeposit tests the stressing deposit of BTC

func TestStressBTCWithdraw

func TestStressBTCWithdraw(r *runner.E2ERunner, args []string)

TestStressBTCWithdraw tests the stressing withdraw of btc

func TestStressEtherDeposit

func TestStressEtherDeposit(r *runner.E2ERunner, args []string)

TestStressEtherDeposit tests the stressing deposit of ether

func TestStressEtherWithdraw

func TestStressEtherWithdraw(r *runner.E2ERunner, args []string)

TestStressEtherWithdraw tests the stressing withdraw of ether

func TestStressSPLDeposit

func TestStressSPLDeposit(r *runner.E2ERunner, args []string)

TestStressSPLDeposit tests the stressing deposit of SPL

func TestStressSPLWithdraw

func TestStressSPLWithdraw(r *runner.E2ERunner, args []string)

TestStressSPLWithdraw tests the stressing withdrawal of SPL

func TestStressSolanaDeposit

func TestStressSolanaDeposit(r *runner.E2ERunner, args []string)

TestStressSolanaDeposit tests the stressing deposit of SOL

func TestStressSolanaWithdraw

func TestStressSolanaWithdraw(r *runner.E2ERunner, args []string)

TestStressSolanaWithdraw tests the stressing withdrawal of SOL

func TestStressSuiDeposit

func TestStressSuiDeposit(r *runner.E2ERunner, args []string)

TestStressSuiDeposit tests the stressing deposit of SUI

func TestStressSuiWithdraw

func TestStressSuiWithdraw(r *runner.E2ERunner, args []string)

TestStressSuiWithdraw tests the stressing withdrawal of SUI

func TestStressZEVM

func TestStressZEVM(r *runner.E2ERunner, args []string)

TestStressZEVM tests stressing direct interactions with the zEVM using calls that consume a lot of gas

func TestSuiDeposit

func TestSuiDeposit(r *runner.E2ERunner, args []string)

func TestSuiDepositAndCall

func TestSuiDepositAndCall(r *runner.E2ERunner, args []string)

func TestSuiDepositAndCallRevert

func TestSuiDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestSuiDepositRestrictedAddress

func TestSuiDepositRestrictedAddress(r *runner.E2ERunner, args []string)

TestSuiDepositRestrictedAddress tests a deposit to a restricted address that won't be observed by the observers

func TestSuiTokenDeposit

func TestSuiTokenDeposit(r *runner.E2ERunner, args []string)

func TestSuiTokenDepositAndCall

func TestSuiTokenDepositAndCall(r *runner.E2ERunner, args []string)

func TestSuiTokenDepositAndCallRevert

func TestSuiTokenDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestSuiTokenWithdraw

func TestSuiTokenWithdraw(r *runner.E2ERunner, args []string)

func TestSuiTokenWithdrawAndCall

func TestSuiTokenWithdrawAndCall(r *runner.E2ERunner, args []string)

func TestSuiTokenWithdrawAndCallRevertWithCall

func TestSuiTokenWithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

TestSuiTokenWithdrawAndCallRevertWithCall executes withdrawAndCall on zevm gateway with fungible token. The outbound is rejected by the connected module due to the special payload message "revert" and the 'onRevert' method is called in the ZEVM to handle the revert.

func TestSuiWithdraw

func TestSuiWithdraw(r *runner.E2ERunner, args []string)

func TestSuiWithdrawAndCall

func TestSuiWithdrawAndCall(r *runner.E2ERunner, args []string)

func TestSuiWithdrawAndCallInvalidPayload

func TestSuiWithdrawAndCallInvalidPayload(r *runner.E2ERunner, args []string)

TestSuiWithdrawAndCallInvalidPayload executes withdrawAndCall on zevm gateway with invalid payload. The outbound authenticated call will be cancelled by the zetaclient.

func TestSuiWithdrawAndCallRevertWithCall

func TestSuiWithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

TestSuiWithdrawAndCallRevertWithCall executes withdrawAndCall on zevm gateway with SUI token. The outbound authenticated call is rejected by the connected module due to unauthorized sender address, and the 'onRevert' method is called in the ZEVM to handle the revert.

func TestSuiWithdrawInvalidReceiver

func TestSuiWithdrawInvalidReceiver(r *runner.E2ERunner, args []string)

TestSuiWithdrawInvalidReceiver tests that a withdrawal to a invalid receiver address that fails in the ZEVM

func TestSuiWithdrawRestrictedAddress

func TestSuiWithdrawRestrictedAddress(r *runner.E2ERunner, args []string)

TestSuiWithdrawRestrictedAddress tests that a withdrawal to a restricted address reverts to a revert address the test also add a case to check withdrawal to Sui invalid address immediately fail, we don't add a dedicated test as this is a small logic

func TestSuiWithdrawRevertWithCall

func TestSuiWithdrawRevertWithCall(r *runner.E2ERunner, args []string)

TestSuiWithdrawRevertWithCall executes withdraw on zevm gateway. The outbound is rejected by Sui network, and 'nonce_increase' is called instead to cancel the tx.

func TestTONDeposit

func TestTONDeposit(r *runner.E2ERunner, args []string)

func TestTONDepositAndCall

func TestTONDepositAndCall(r *runner.E2ERunner, args []string)

func TestTONDepositAndCallRefund

func TestTONDepositAndCallRefund(r *runner.E2ERunner, args []string)

func TestTONDepositRestricted

func TestTONDepositRestricted(r *runner.E2ERunner, args []string)

func TestTONToZEVMCall

func TestTONToZEVMCall(r *runner.E2ERunner, args []string)

func TestTONWithdraw

func TestTONWithdraw(r *runner.E2ERunner, args []string)

func TestTONWithdrawConcurrent

func TestTONWithdrawConcurrent(r *runner.E2ERunner, _ []string)

TestTONWithdrawConcurrent makes sure that multiple concurrent withdrawals will be eventually processed by sequentially increasing Gateway nonce and that zetaclient tolerates "invalid nonce" error from RPC.

func TestTONWithdrawMasterchain

func TestTONWithdrawMasterchain(r *runner.E2ERunner, args []string)

func TestTONWithdrawRestricted

func TestTONWithdrawRestricted(r *runner.E2ERunner, args []string)

func TestUpdateBytecodeConnector

func TestUpdateBytecodeConnector(r *runner.E2ERunner, _ []string)

TestUpdateBytecodeConnector tests updating the bytecode of a connector and interact with it

func TestUpdateBytecodeZRC20

func TestUpdateBytecodeZRC20(r *runner.E2ERunner, _ []string)

TestUpdateBytecodeZRC20 tests updating the bytecode of a zrc20 and interact with it

func TestUpdateGasPriceIncreaseFlags

func TestUpdateGasPriceIncreaseFlags(r *runner.E2ERunner)

func TestUpdateGatewayGasLimit

func TestUpdateGatewayGasLimit(r *runner.E2ERunner)

func TestUpdateOperationalChainParams

func TestUpdateOperationalChainParams(r *runner.E2ERunner, _ []string)

TestUpdateOperationalChainParams tests updating the operational chain params for a chain

func TestUpdateZRC20Name

func TestUpdateZRC20Name(r *runner.E2ERunner, _ []string)

TestUpdateZRC20Name tests updating name and symbol of a ZRC20

func TestWhitelistERC20

func TestWhitelistERC20(r *runner.E2ERunner, _ []string)

TestWhitelistERC20 tests the whitelist asset functionality for erc20

func TestZEVMRPC

func TestZEVMRPC(r *runner.E2ERunner, args []string)

TestZEVMRPC performs sanity checks on core JSON-RPC methods (eth_getTransactionByHash, eth_getTransactionReceipt, eth_getBlockByNumber, eth_getBlockByHash, debug_traceTransaction, debug_traceBlockByNumber) to ensure ZEVM RPC compatibility and detect regressions after upgrades.

Usage modes:

  1. With tx hashes: Provide comma-separated transaction hashes as args to test specific transactions (useful for testing pre/post-upgrade transactions on live networks)
  2. Without args: Seeds test transactions and discovers existing transactions from this user via CCTX queries (both ZEVM and EVM chains) to test RPC methods against historical transactions

This enables regression testing by validating RPC methods work correctly against transactions submitted before upgrades, ensuring no breaking changes in the RPC layer.

func TestZEVMToEVMArbitraryCall

func TestZEVMToEVMArbitraryCall(r *runner.E2ERunner, args []string)

func TestZEVMToEVMCall

func TestZEVMToEVMCall(r *runner.E2ERunner, args []string)

func TestZEVMToEVMCallRevert

func TestZEVMToEVMCallRevert(r *runner.E2ERunner, args []string)

func TestZEVMToEVMCallRevertAndAbort

func TestZEVMToEVMCallRevertAndAbort(r *runner.E2ERunner, args []string)

func TestZEVMToEVMCallThroughContract

func TestZEVMToEVMCallThroughContract(r *runner.E2ERunner, args []string)

func TestZEVMToSolanaCall

func TestZEVMToSolanaCall(r *runner.E2ERunner, _ []string)

TestZEVMToSolanaCall executes simple call from ZEVM to Solana, calling connected program

func TestZetaDeposit

func TestZetaDeposit(r *runner.E2ERunner, args []string)

func TestZetaDepositAndCall

func TestZetaDepositAndCall(r *runner.E2ERunner, args []string)

func TestZetaDepositAndCallNoMessage

func TestZetaDepositAndCallNoMessage(r *runner.E2ERunner, args []string)

func TestZetaDepositAndCallRevert

func TestZetaDepositAndCallRevert(r *runner.E2ERunner, args []string)

func TestZetaDepositAndCallRevertWithCall

func TestZetaDepositAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestZetaDepositRevertAndAbort

func TestZetaDepositRevertAndAbort(r *runner.E2ERunner, args []string)

func TestZetaWithdraw

func TestZetaWithdraw(r *runner.E2ERunner, args []string)

func TestZetaWithdrawAndArbitraryCall

func TestZetaWithdrawAndArbitraryCall(r *runner.E2ERunner, args []string)

func TestZetaWithdrawAndCall

func TestZetaWithdrawAndCall(r *runner.E2ERunner, args []string)

func TestZetaWithdrawAndCallRevert

func TestZetaWithdrawAndCallRevert(r *runner.E2ERunner, args []string)

func TestZetaWithdrawAndCallRevertWithCall

func TestZetaWithdrawAndCallRevertWithCall(r *runner.E2ERunner, args []string)

func TestZetaWithdrawRevertAndAbort

func TestZetaWithdrawRevertAndAbort(r *runner.E2ERunner, args []string)

func TestZetaclientMinimumVersion

func TestZetaclientMinimumVersion(r *runner.E2ERunner, args []string)

TestZetaclientMinimumVersion tests setting the zetaclient minimum version

func TestZetaclientRestartHeight

func TestZetaclientRestartHeight(r *runner.E2ERunner, _ []string)

TestZetaclientRestartHeight tests scheduling a zetaclient restart via operational flags

func TestZetaclientSignerOffset

func TestZetaclientSignerOffset(r *runner.E2ERunner, _ []string)

TestZetaclientSignerOffset tests scheduling a zetaclient restart via operational flags

func UndelegateToBelowMinimumObserverDelegation

func UndelegateToBelowMinimumObserverDelegation(r *runner.E2ERunner, _ []string)

UndelegateToBelowMinimumObserverDelegation undelegates the validator self delegation to below the minimum observer delegation

func WithdrawBitcoinMultipleTimes

func WithdrawBitcoinMultipleTimes(r *runner.E2ERunner, args []string)

Types

This section is empty.

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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