Skip to content
Merged

Fix E2E #2980

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
9ae5968
e2e
sukantoraymond Oct 28, 2025
64a8498
remove print precompiles
sukantoraymond Oct 28, 2025
f89717b
fix e2e
sukantoraymond Oct 28, 2025
e3af013
e2e
sukantoraymond Oct 28, 2025
d8da626
Merge branch 'update-latest-dependencies' into cleanup-e2e
sukantoraymond Oct 30, 2025
493e553
update binary
sukantoraymond Oct 30, 2025
764293f
fix e2e
sukantoraymond Oct 30, 2025
e8ec79e
fix e2e
sukantoraymond Oct 30, 2025
7383f2b
update e2e
sukantoraymond Oct 30, 2025
8a502a6
fix
sukantoraymond Oct 30, 2025
1dab58e
update e2e
sukantoraymond Oct 30, 2025
58d0f40
fix lint
sukantoraymond Oct 30, 2025
45f7ecf
lint
sukantoraymond Oct 30, 2025
2bb540c
Merge branch 'update-latest-dependencies' into cleanup2
sukantoraymond Oct 30, 2025
28f4547
fix e2e a bit more
felipemadero Oct 30, 2025
68d2b9d
more e2e fix
felipemadero Oct 31, 2025
b0f6377
unit
felipemadero Oct 31, 2025
a94ed40
unit test
felipemadero Oct 31, 2025
2ff47b6
e2e
felipemadero Oct 31, 2025
0b8089f
starting fixing some e2e
felipemadero Oct 31, 2025
84add49
update e2e
sukantoraymond Oct 31, 2025
dd8febe
Merge branch 'update-latest-dependencies' into cleanup2
sukantoraymond Oct 31, 2025
867713d
update go mod
sukantoraymond Oct 31, 2025
d3c0c05
remove wait times
sukantoraymond Nov 3, 2025
a4e245a
lint
sukantoraymond Nov 3, 2025
b9bc852
lint
sukantoraymond Nov 3, 2025
818952a
fix e2e
sukantoraymond Nov 3, 2025
3cb188c
activate granite on c-chain
felipemadero Nov 3, 2025
3502cb5
bump times in pregenerates genesis
felipemadero Nov 3, 2025
73da16f
remove mixed sov/nonsov e2e relayer case
felipemadero Nov 3, 2025
df69b01
Use latest version relayer (#2981)
sukantoraymond Nov 3, 2025
fe0adc3
Remove granite devnet support (#2982)
sukantoraymond Nov 3, 2025
3d5fde7
lint
sukantoraymond Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 33 additions & 5 deletions cmd/blockchaincmd/add_validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"github.com/ava-labs/avalanche-cli/pkg/utils"
"github.com/ava-labs/avalanche-cli/pkg/ux"
"github.com/ava-labs/avalanche-cli/pkg/validatormanager"
blockchainSDK "github.com/ava-labs/avalanche-tooling-sdk-go/blockchain"
"github.com/ava-labs/avalanche-tooling-sdk-go/evm"
sdkutils "github.com/ava-labs/avalanche-tooling-sdk-go/utils"
validatormanagersdk "github.com/ava-labs/avalanche-tooling-sdk-go/validatormanager"
Expand Down Expand Up @@ -632,9 +631,26 @@ func CallAddValidator(
}
}
}
pChainHeight, err := blockchainSDK.GetPChainHeight(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())

epochDuration := 30 * time.Second

// Get P-Chain's current epoch for RegisterL1ValidatorMessage (signed by L1, verified by P-Chain)
pChainEpoch, err := utils.GetCurrentEpoch(network.Endpoint, "P")
if err != nil {
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
}
epochTime := time.Unix(pChainEpoch.StartTime, 0)
elapsed := time.Since(epochTime)
if elapsed < epochDuration {
time.Sleep(epochDuration - elapsed)
}
_, _, err = deployer.PChainTransfer(kc.Addresses().List()[0], 1)
if err != nil {
return fmt.Errorf("could not sent dummy transfer on p-chain: %w", err)
}
pChainEpoch, err = utils.GetCurrentEpoch(network.Endpoint, "P")
if err != nil {
return fmt.Errorf("failure getting p-chain height: %w", err)
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
}

ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
Expand Down Expand Up @@ -666,7 +682,7 @@ func CallAddValidator(
sc.UseACP99,
initiateTxHash,
signatureAggregatorEndpoint,
pChainHeight,
pChainEpoch.PChainHeight,
)
if err != nil {
return err
Expand Down Expand Up @@ -695,6 +711,18 @@ func CallAddValidator(
}
}

client, err := evm.GetClient(validatorManagerRPCEndpoint)
if err != nil {
return fmt.Errorf("failure connecting to validator manager L1: %w", err)
}
if err := client.SetupProposerVM(signer); err != nil {
return fmt.Errorf("failure setting proposer VM on L1: %w", err)
}
l1Epoch, err := utils.GetCurrentL1Epoch(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
if err != nil {
return fmt.Errorf("failure getting l1 current epoch: %w", err)
}

ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
defer cancel()
rawTx, err = validatormanager.FinishValidatorRegistration(
Expand All @@ -711,7 +739,7 @@ func CallAddValidator(
validatorManagerBlockchainID,
validatorManagerAddress,
signatureAggregatorEndpoint,
pChainHeight,
l1Epoch.PChainHeight,
)
if err != nil {
return err
Expand Down
17 changes: 11 additions & 6 deletions cmd/blockchaincmd/change_weight.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import (
"fmt"
"strings"

blockchainSDK "github.com/ava-labs/avalanche-tooling-sdk-go/blockchain"

"github.com/ava-labs/avalanche-cli/cmd/flags"
"github.com/ava-labs/avalanche-cli/pkg/blockchain"
"github.com/ava-labs/avalanche-cli/pkg/cobrautils"
Expand Down Expand Up @@ -420,9 +418,10 @@ func changeWeightACP99(
}
}
}
pChainHeight, err := blockchainSDK.GetPChainHeight(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
// Get P-Chain's current epoch for SetL1ValidatorWeightMessage (signed by L1, verified by P-Chain)
pChainEpoch, err := utils.GetCurrentEpoch(network.Endpoint, "P")
if err != nil {
return fmt.Errorf("failure getting p-chain height: %w", err)
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
}
ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
defer cancel()
Expand All @@ -441,7 +440,7 @@ func changeWeightACP99(
weight,
initiateTxHash,
signatureAggregatorEndpoint,
pChainHeight,
pChainEpoch.PChainHeight,
)
if err != nil {
return err
Expand Down Expand Up @@ -482,6 +481,12 @@ func changeWeightACP99(
}
}
}
// Get L1's current epoch for L1ValidatorWeightMessage (signed by P-Chain, verified by L1)
l1Epoch, err := utils.GetCurrentL1Epoch(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
if err != nil {
return fmt.Errorf("failure getting l1 current epoch: %w", err)
}

ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
defer cancel()
rawTx, err = validatormanager.FinishValidatorWeightChange(
Expand All @@ -499,7 +504,7 @@ func changeWeightACP99(
signedMessage,
newWeight,
signatureAggregatorEndpoint,
pChainHeight,
l1Epoch.PChainHeight,
)
if err != nil {
return err
Expand Down
2 changes: 0 additions & 2 deletions cmd/blockchaincmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ var createNetworkOptions = []networkoptions.NetworkOption{
networkoptions.Local,
networkoptions.Fuji,
networkoptions.Mainnet,
networkoptions.Granite,
}

var (
Expand Down Expand Up @@ -305,7 +304,6 @@ func createBlockchainConfig(cmd *cobra.Command, args []string) error {
if err != nil {
return err
}
fmt.Printf("using network %s \n", network.Name())

if vmType == models.SubnetEvm {
if sovereign {
Expand Down
13 changes: 5 additions & 8 deletions cmd/blockchaincmd/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,6 @@ func getChainsInSubnet(blockchainName string) ([]string, error) {
func checkSubnetEVMDefaultAddressNotInAlloc(network models.Network, chain string) error {
if network.Kind != models.Local &&
network.Kind != models.Devnet &&
network.Kind != models.Granite &&
!simulatedPublicNetwork() {
genesis, err := app.LoadEvmGenesis(chain)
if err != nil {
Expand Down Expand Up @@ -1177,13 +1176,11 @@ func deployBlockchain(cmd *cobra.Command, args []string) error {
deployRelayerFlags.CChainFundingKey = "ewoq"
deployRelayerFlags.CChainAmount = constants.DefaultRelayerAmount
}
if network.Kind != models.Granite {
if err := relayercmd.CallDeploy(nil, deployRelayerFlags, network); err != nil {
relayerErr = err
ux.Logger.RedXToUser("Relayer is not deployed due to: %v", relayerErr)
} else {
ux.Logger.GreenCheckmarkToUser("Relayer is successfully deployed")
}
if err := relayercmd.CallDeploy(nil, deployRelayerFlags, network); err != nil {
relayerErr = err
ux.Logger.RedXToUser("Relayer is not deployed due to: %v", relayerErr)
} else {
ux.Logger.GreenCheckmarkToUser("Relayer is successfully deployed")
}
}
}
Expand Down
76 changes: 40 additions & 36 deletions cmd/blockchaincmd/describe.go
Original file line number Diff line number Diff line change
Expand Up @@ -399,42 +399,46 @@ func printPrecompiles(genesis core.Genesis) {

warpSet := false
allowListSet := false
// Warp
extra := params.GetExtra(genesis.Config)
if extra.GenesisPrecompiles[warp.ConfigKey] != nil {
t.AppendRow(table.Row{"Warp", "n/a", "n/a", "n/a"})
warpSet = true
}
// Native Minting
if extra.GenesisPrecompiles[nativeminter.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[nativeminter.ConfigKey].(*nativeminter.Config)
addPrecompileAllowListToTable(t, "Native Minter", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Contract allow list
if extra.GenesisPrecompiles[deployerallowlist.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[deployerallowlist.ConfigKey].(*deployerallowlist.Config)
addPrecompileAllowListToTable(t, "Contract Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// TX allow list
if extra.GenesisPrecompiles[txallowlist.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[txallowlist.Module.ConfigKey].(*txallowlist.Config)
addPrecompileAllowListToTable(t, "Tx Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Fee config allow list
if extra.GenesisPrecompiles[feemanager.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[feemanager.ConfigKey].(*feemanager.Config)
addPrecompileAllowListToTable(t, "Fee Config Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Reward config allow list
if extra.GenesisPrecompiles[rewardmanager.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[rewardmanager.ConfigKey].(*rewardmanager.Config)
addPrecompileAllowListToTable(t, "Reward Manager Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}

params.WithTempRegisteredExtras(func() {
extra := params.GetExtra(genesis.Config)
// Warp
if extra.GenesisPrecompiles[warp.ConfigKey] != nil {
t.AppendRow(table.Row{"Warp", "n/a", "n/a", "n/a"})
warpSet = true
}
// Native Minting
if extra.GenesisPrecompiles[nativeminter.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[nativeminter.ConfigKey].(*nativeminter.Config)
addPrecompileAllowListToTable(t, "Native Minter", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Contract allow list
if extra.GenesisPrecompiles[deployerallowlist.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[deployerallowlist.ConfigKey].(*deployerallowlist.Config)
addPrecompileAllowListToTable(t, "Contract Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// TX allow list
if extra.GenesisPrecompiles[txallowlist.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[txallowlist.Module.ConfigKey].(*txallowlist.Config)
addPrecompileAllowListToTable(t, "Tx Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Fee config allow list
if extra.GenesisPrecompiles[feemanager.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[feemanager.ConfigKey].(*feemanager.Config)
addPrecompileAllowListToTable(t, "Fee Config Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
// Reward config allow list
if extra.GenesisPrecompiles[rewardmanager.ConfigKey] != nil {
cfg := extra.GenesisPrecompiles[rewardmanager.ConfigKey].(*rewardmanager.Config)
addPrecompileAllowListToTable(t, "Reward Manager Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
allowListSet = true
}
})

if warpSet || allowListSet {
ux.Logger.PrintToUser("%s", t.Render())
if allowListSet {
Expand Down
100 changes: 0 additions & 100 deletions cmd/blockchaincmd/export_test.go

This file was deleted.

3 changes: 0 additions & 3 deletions cmd/blockchaincmd/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,6 @@ func StartLocalMachine(
bootstrapValidatorFlags.NumBootstrapValidators = constants.DefaultNumberOfLocalMachineNodes
}
connectionSettings := localnet.ConnectionSettings{}
if network.Kind == models.Granite {
connectionSettings = node.GetGraniteConnectionSettings()
}
// if no cluster provided - we create one with fmt.Sprintf("%s-local-node-%s", blockchainName, networkNameComponent) name
if localMachineFlags.UseLocalMachine && clusterNameFlagValue == "" {
if localnet.LocalClusterExists(app, clusterName) {
Expand Down
Loading
Loading