utils

package
v0.13.2-rc.3 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2024 License: BSD-3-Clause Imports: 43 Imported by: 0

Documentation

Overview

Copyright (C) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

View Source
const (
	BaseTest               = "./test/index.ts"
	GreeterScript          = "./scripts/deploy.ts"
	GreeterCheck           = "./scripts/checkGreeting.ts"
	SoloSubnetEVMKey1      = "soloSubnetEVMVersion1"
	SoloSubnetEVMKey2      = "soloSubnetEVMVersion2"
	SoloAvagoKey           = "soloAvagoVersion"
	OnlyAvagoKey           = "onlyAvagoVersion"
	MultiAvagoSubnetEVMKey = "multiAvagoSubnetEVMVersion"
	MultiAvago1Key         = "multiAvagoVersion1"
	MultiAvago2Key         = "multiAvagoVersion2"
	LatestEVM2AvagoKey     = "latestEVM2Avago"
	LatestAvago2EVMKey     = "latestAvago2EVM"
	OnlyAvagoValue         = "latest"

	SubnetEvmGenesisPath      = "tests/e2e/assets/test_subnet_evm_genesis.json"
	SubnetEvmGenesis2Path     = "tests/e2e/assets/test_subnet_evm_genesis_2.json"
	EwoqKeyPath               = "tests/e2e/assets/ewoq_key.pk"
	SubnetEvmAllowFeeRecpPath = "tests/e2e/assets/test_subnet_evm_allowFeeRecps_genesis.json"
	SubnetEvmGenesisBadPath   = "tests/e2e/assets/test_subnet_evm_genesis_bad.json"

	PluginDirExt = "plugins"
)

Variables

This section is empty.

Functions

func APMConfigExists

func APMConfigExists(subnetName string) (bool, error)

func AddSubnetIDToSidecar

func AddSubnetIDToSidecar(subnetName string, network models.Network, subnetID string) error

func AllPermissionlessValidatorExistsInSidecar

func AllPermissionlessValidatorExistsInSidecar(subnetName string, network string) (bool, error)

func ChainConfigExists

func ChainConfigExists(subnetName string) (bool, error)

func CheckAllNodesAreCurrentValidators

func CheckAllNodesAreCurrentValidators(subnetName string) (bool, error)

func CheckAvalancheGoExists

func CheckAvalancheGoExists(version string) bool

func CheckKeyEquality

func CheckKeyEquality(keyPath1, keyPath2 string) (bool, error)

func CheckSubnetEVMExists

func CheckSubnetEVMExists(version string) bool

func CheckUpgradeIsDeployed

func CheckUpgradeIsDeployed(rpcEndpoint string, deployedUpgrades params.UpgradeConfig) error

func DeleteAPMBin

func DeleteAPMBin(vmid string)

func DeleteBins

func DeleteBins() error

func DeleteConfigs

func DeleteConfigs(subnetName string) error

func DeleteCustomBinary

func DeleteCustomBinary(vmName string)

func DeleteKey

func DeleteKey(keyName string) error

func DownloadCustomVMBin

func DownloadCustomVMBin(subnetEVMversion string) (string, error)

Currently downloads subnet-evm, but that suffices to test the custom vm functionality

func ElasticSubnetConfigExists

func ElasticSubnetConfigExists(subnetName string) (bool, error)

func ExecCommand

func ExecCommand(cmdName string, args []string, showStdout bool, errorIsExpected bool) string

func FundLedgerAddress

func FundLedgerAddress(amount uint64) error

func GetAPMDir

func GetAPMDir() string

func GetBaseDir

func GetBaseDir() string

func GetCurrentSupply

func GetCurrentSupply(subnetName string) error

func GetFileHash

func GetFileHash(filename string) (string, error)

func GetLedgerAddress

func GetLedgerAddress(network models.Network, index uint32) (string, error)

func GetNodeVMVersion

func GetNodeVMVersion(nodeURI string, vmid string) (string, error)

func GetNodesInfo

func GetNodesInfo() (map[string]NodeInfo, error)

func GetPluginBinaries

func GetPluginBinaries() ([]string, error)

func GetSubnetDir

func GetSubnetDir() string

func GetSubnetEVMMainneChainID

func GetSubnetEVMMainneChainID(subnetName string) (uint, error)

func GetTmpFilePath

func GetTmpFilePath(fnamePrefix string) (string, error)

func GetValidators

func GetValidators(subnetName string) ([]string, error)

func GetVersionMapping

func GetVersionMapping(mapper VersionMapper) (map[string]string, error)

GetVersionMapping returns a map of specific VMs resp. Avalanchego e2e context keys to the actual version which corresponds to that key. This allows the e2e test to know what version to download and run. Returns an error if there was a problem reading the URL compatibility json or some other issue.

func GetWhitelistedSubnetsFromConfigFile

func GetWhitelistedSubnetsFromConfigFile(configFile string) (string, error)

func IsCustomVM

func IsCustomVM(subnetName string) (bool, error)

func IsNodeInValidators

func IsNodeInValidators(subnetName string, nodeID string) (bool, error)

func KeyExists

func KeyExists(keyName string) (bool, error)

func ParseAddrBalanceFromKeyListOutput

func ParseAddrBalanceFromKeyListOutput(output string, keyName string) (string, uint64, error)

func ParseGreeterAddress

func ParseGreeterAddress(output string) error

func ParsePublicDeployOutput

func ParsePublicDeployOutput(output string) (string, error)

func ParseRPCsFromOutput

func ParseRPCsFromOutput(output string) ([]string, error)

func PerNodeChainConfigExists

func PerNodeChainConfigExists(subnetName string) (bool, error)

func PermissionlessValidatorExistsInSidecar

func PermissionlessValidatorExistsInSidecar(subnetName string, nodeID string, network string) (bool, error)

func PrintStdErr

func PrintStdErr(err error)

func RemoveAPMRepo

func RemoveAPMRepo()

func RestartNodesWithWhitelistedSubnets

func RestartNodesWithWhitelistedSubnets(whitelistedSubnets string) error

func RunHardhatScript

func RunHardhatScript(script string) (string, string, error)

func RunHardhatTests

func RunHardhatTests(test string) error

func RunLedgerSim

func RunLedgerSim(
	iters int,
	seed string,
	ledgerSimReadyCh chan struct{},
	interactionEndCh chan struct{},
	ledgerSimEndCh chan struct{},
	showStdout bool,
) error

func SetHardhatRPC

func SetHardhatRPC(rpc string) error

func StartLedgerSim

func StartLedgerSim(
	iters int,
	seed string,
	showStdout bool,
) (chan struct{}, chan struct{})

func SubnetAPMVMExists

func SubnetAPMVMExists(subnetName string) (bool, error)

func SubnetConfigExists

func SubnetConfigExists(subnetName string) (bool, error)

func SubnetCustomVMExists

func SubnetCustomVMExists(subnetName string) (bool, error)

func WaitSubnetValidators

func WaitSubnetValidators(subnetIDStr string, nodeInfos map[string]NodeInfo) error

Types

type NodeInfo

type NodeInfo struct {
	ID         string
	PluginDir  string
	ConfigFile string
	URI        string
	LogDir     string
}

type VersionMapper

type VersionMapper interface {
	GetCompatURL(vmType models.VMType) string
	GetAvagoURL() string
	GetApp() *application.Avalanche
	GetLatestAvagoByProtoVersion(app *application.Avalanche, rpcVersion int, url string) (string, error)
	GetEligibleVersions(sortedVersions []string, repoName string, app *application.Avalanche) ([]string, error)
	FilterAvailableVersions(versions []string) []string
}

VersionMapper is an abstraction for retrieving version compatibility URLs allowing unit tests without requiring external http calls. The idea is to finally calculate which VM is compatible with which Avalanchego, so that the e2e tests can always download and run the latest compatible versions, without having to manually update the e2e tests periodically.

func NewVersionMapper

func NewVersionMapper() VersionMapper

NewVersionMapper returns the default VersionMapper for e2e tests

Jump to

Keyboard shortcuts

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