Skip to content

Commit b09c870

Browse files
Fix E2E (#2980)
* e2e * remove print precompiles * fix e2e * e2e * update binary * fix e2e * fix e2e * update e2e * fix * update e2e * fix lint * lint * fix e2e a bit more * more e2e fix * unit * unit test * e2e * starting fixing some e2e * update e2e * update go mod * remove wait times * lint * lint * fix e2e * activate granite on c-chain * bump times in pregenerates genesis * remove mixed sov/nonsov e2e relayer case * Use latest version relayer (#2981) * relayer version * update cache logic * lint * lint * Remove granite devnet support (#2982) * relayer version * update cache logic * lint * lint * remove granite devnet support * lint --------- Co-authored-by: Felipe Madero <felipe.madero@gmail.com>
1 parent 65badf8 commit b09c870

File tree

53 files changed

+432
-893
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+432
-893
lines changed

cmd/blockchaincmd/add_validator.go

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"github.com/ava-labs/avalanche-cli/pkg/utils"
2626
"github.com/ava-labs/avalanche-cli/pkg/ux"
2727
"github.com/ava-labs/avalanche-cli/pkg/validatormanager"
28-
blockchainSDK "github.com/ava-labs/avalanche-tooling-sdk-go/blockchain"
2928
"github.com/ava-labs/avalanche-tooling-sdk-go/evm"
3029
sdkutils "github.com/ava-labs/avalanche-tooling-sdk-go/utils"
3130
validatormanagersdk "github.com/ava-labs/avalanche-tooling-sdk-go/validatormanager"
@@ -632,9 +631,26 @@ func CallAddValidator(
632631
}
633632
}
634633
}
635-
pChainHeight, err := blockchainSDK.GetPChainHeight(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
634+
635+
epochDuration := 30 * time.Second
636+
637+
// Get P-Chain's current epoch for RegisterL1ValidatorMessage (signed by L1, verified by P-Chain)
638+
pChainEpoch, err := utils.GetCurrentEpoch(network.Endpoint, "P")
639+
if err != nil {
640+
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
641+
}
642+
epochTime := time.Unix(pChainEpoch.StartTime, 0)
643+
elapsed := time.Since(epochTime)
644+
if elapsed < epochDuration {
645+
time.Sleep(epochDuration - elapsed)
646+
}
647+
_, _, err = deployer.PChainTransfer(kc.Addresses().List()[0], 1)
648+
if err != nil {
649+
return fmt.Errorf("could not sent dummy transfer on p-chain: %w", err)
650+
}
651+
pChainEpoch, err = utils.GetCurrentEpoch(network.Endpoint, "P")
636652
if err != nil {
637-
return fmt.Errorf("failure getting p-chain height: %w", err)
653+
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
638654
}
639655

640656
ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
@@ -666,7 +682,7 @@ func CallAddValidator(
666682
sc.UseACP99,
667683
initiateTxHash,
668684
signatureAggregatorEndpoint,
669-
pChainHeight,
685+
pChainEpoch.PChainHeight,
670686
)
671687
if err != nil {
672688
return err
@@ -695,6 +711,18 @@ func CallAddValidator(
695711
}
696712
}
697713

714+
client, err := evm.GetClient(validatorManagerRPCEndpoint)
715+
if err != nil {
716+
return fmt.Errorf("failure connecting to validator manager L1: %w", err)
717+
}
718+
if err := client.SetupProposerVM(signer); err != nil {
719+
return fmt.Errorf("failure setting proposer VM on L1: %w", err)
720+
}
721+
l1Epoch, err := utils.GetCurrentL1Epoch(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
722+
if err != nil {
723+
return fmt.Errorf("failure getting l1 current epoch: %w", err)
724+
}
725+
698726
ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
699727
defer cancel()
700728
rawTx, err = validatormanager.FinishValidatorRegistration(
@@ -711,7 +739,7 @@ func CallAddValidator(
711739
validatorManagerBlockchainID,
712740
validatorManagerAddress,
713741
signatureAggregatorEndpoint,
714-
pChainHeight,
742+
l1Epoch.PChainHeight,
715743
)
716744
if err != nil {
717745
return err

cmd/blockchaincmd/change_weight.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import (
66
"fmt"
77
"strings"
88

9-
blockchainSDK "github.com/ava-labs/avalanche-tooling-sdk-go/blockchain"
10-
119
"github.com/ava-labs/avalanche-cli/cmd/flags"
1210
"github.com/ava-labs/avalanche-cli/pkg/blockchain"
1311
"github.com/ava-labs/avalanche-cli/pkg/cobrautils"
@@ -420,9 +418,10 @@ func changeWeightACP99(
420418
}
421419
}
422420
}
423-
pChainHeight, err := blockchainSDK.GetPChainHeight(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
421+
// Get P-Chain's current epoch for SetL1ValidatorWeightMessage (signed by L1, verified by P-Chain)
422+
pChainEpoch, err := utils.GetCurrentEpoch(network.Endpoint, "P")
424423
if err != nil {
425-
return fmt.Errorf("failure getting p-chain height: %w", err)
424+
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
426425
}
427426
ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
428427
defer cancel()
@@ -441,7 +440,7 @@ func changeWeightACP99(
441440
weight,
442441
initiateTxHash,
443442
signatureAggregatorEndpoint,
444-
pChainHeight,
443+
pChainEpoch.PChainHeight,
445444
)
446445
if err != nil {
447446
return err
@@ -482,6 +481,12 @@ func changeWeightACP99(
482481
}
483482
}
484483
}
484+
// Get L1's current epoch for L1ValidatorWeightMessage (signed by P-Chain, verified by L1)
485+
l1Epoch, err := utils.GetCurrentL1Epoch(validatorManagerRPCEndpoint, validatorManagerBlockchainID.String())
486+
if err != nil {
487+
return fmt.Errorf("failure getting l1 current epoch: %w", err)
488+
}
489+
485490
ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
486491
defer cancel()
487492
rawTx, err = validatormanager.FinishValidatorWeightChange(
@@ -499,7 +504,7 @@ func changeWeightACP99(
499504
signedMessage,
500505
newWeight,
501506
signatureAggregatorEndpoint,
502-
pChainHeight,
507+
l1Epoch.PChainHeight,
503508
)
504509
if err != nil {
505510
return err

cmd/blockchaincmd/create.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ var createNetworkOptions = []networkoptions.NetworkOption{
7070
networkoptions.Local,
7171
networkoptions.Fuji,
7272
networkoptions.Mainnet,
73-
networkoptions.Granite,
7473
}
7574

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

310308
if vmType == models.SubnetEvm {
311309
if sovereign {

cmd/blockchaincmd/deploy.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,6 @@ func getChainsInSubnet(blockchainName string) ([]string, error) {
284284
func checkSubnetEVMDefaultAddressNotInAlloc(network models.Network, chain string) error {
285285
if network.Kind != models.Local &&
286286
network.Kind != models.Devnet &&
287-
network.Kind != models.Granite &&
288287
!simulatedPublicNetwork() {
289288
genesis, err := app.LoadEvmGenesis(chain)
290289
if err != nil {
@@ -1177,13 +1176,11 @@ func deployBlockchain(cmd *cobra.Command, args []string) error {
11771176
deployRelayerFlags.CChainFundingKey = "ewoq"
11781177
deployRelayerFlags.CChainAmount = constants.DefaultRelayerAmount
11791178
}
1180-
if network.Kind != models.Granite {
1181-
if err := relayercmd.CallDeploy(nil, deployRelayerFlags, network); err != nil {
1182-
relayerErr = err
1183-
ux.Logger.RedXToUser("Relayer is not deployed due to: %v", relayerErr)
1184-
} else {
1185-
ux.Logger.GreenCheckmarkToUser("Relayer is successfully deployed")
1186-
}
1179+
if err := relayercmd.CallDeploy(nil, deployRelayerFlags, network); err != nil {
1180+
relayerErr = err
1181+
ux.Logger.RedXToUser("Relayer is not deployed due to: %v", relayerErr)
1182+
} else {
1183+
ux.Logger.GreenCheckmarkToUser("Relayer is successfully deployed")
11871184
}
11881185
}
11891186
}

cmd/blockchaincmd/describe.go

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -399,42 +399,46 @@ func printPrecompiles(genesis core.Genesis) {
399399

400400
warpSet := false
401401
allowListSet := false
402-
// Warp
403-
extra := params.GetExtra(genesis.Config)
404-
if extra.GenesisPrecompiles[warp.ConfigKey] != nil {
405-
t.AppendRow(table.Row{"Warp", "n/a", "n/a", "n/a"})
406-
warpSet = true
407-
}
408-
// Native Minting
409-
if extra.GenesisPrecompiles[nativeminter.ConfigKey] != nil {
410-
cfg := extra.GenesisPrecompiles[nativeminter.ConfigKey].(*nativeminter.Config)
411-
addPrecompileAllowListToTable(t, "Native Minter", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
412-
allowListSet = true
413-
}
414-
// Contract allow list
415-
if extra.GenesisPrecompiles[deployerallowlist.ConfigKey] != nil {
416-
cfg := extra.GenesisPrecompiles[deployerallowlist.ConfigKey].(*deployerallowlist.Config)
417-
addPrecompileAllowListToTable(t, "Contract Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
418-
allowListSet = true
419-
}
420-
// TX allow list
421-
if extra.GenesisPrecompiles[txallowlist.ConfigKey] != nil {
422-
cfg := extra.GenesisPrecompiles[txallowlist.Module.ConfigKey].(*txallowlist.Config)
423-
addPrecompileAllowListToTable(t, "Tx Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
424-
allowListSet = true
425-
}
426-
// Fee config allow list
427-
if extra.GenesisPrecompiles[feemanager.ConfigKey] != nil {
428-
cfg := extra.GenesisPrecompiles[feemanager.ConfigKey].(*feemanager.Config)
429-
addPrecompileAllowListToTable(t, "Fee Config Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
430-
allowListSet = true
431-
}
432-
// Reward config allow list
433-
if extra.GenesisPrecompiles[rewardmanager.ConfigKey] != nil {
434-
cfg := extra.GenesisPrecompiles[rewardmanager.ConfigKey].(*rewardmanager.Config)
435-
addPrecompileAllowListToTable(t, "Reward Manager Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
436-
allowListSet = true
437-
}
402+
403+
params.WithTempRegisteredExtras(func() {
404+
extra := params.GetExtra(genesis.Config)
405+
// Warp
406+
if extra.GenesisPrecompiles[warp.ConfigKey] != nil {
407+
t.AppendRow(table.Row{"Warp", "n/a", "n/a", "n/a"})
408+
warpSet = true
409+
}
410+
// Native Minting
411+
if extra.GenesisPrecompiles[nativeminter.ConfigKey] != nil {
412+
cfg := extra.GenesisPrecompiles[nativeminter.ConfigKey].(*nativeminter.Config)
413+
addPrecompileAllowListToTable(t, "Native Minter", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
414+
allowListSet = true
415+
}
416+
// Contract allow list
417+
if extra.GenesisPrecompiles[deployerallowlist.ConfigKey] != nil {
418+
cfg := extra.GenesisPrecompiles[deployerallowlist.ConfigKey].(*deployerallowlist.Config)
419+
addPrecompileAllowListToTable(t, "Contract Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
420+
allowListSet = true
421+
}
422+
// TX allow list
423+
if extra.GenesisPrecompiles[txallowlist.ConfigKey] != nil {
424+
cfg := extra.GenesisPrecompiles[txallowlist.Module.ConfigKey].(*txallowlist.Config)
425+
addPrecompileAllowListToTable(t, "Tx Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
426+
allowListSet = true
427+
}
428+
// Fee config allow list
429+
if extra.GenesisPrecompiles[feemanager.ConfigKey] != nil {
430+
cfg := extra.GenesisPrecompiles[feemanager.ConfigKey].(*feemanager.Config)
431+
addPrecompileAllowListToTable(t, "Fee Config Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
432+
allowListSet = true
433+
}
434+
// Reward config allow list
435+
if extra.GenesisPrecompiles[rewardmanager.ConfigKey] != nil {
436+
cfg := extra.GenesisPrecompiles[rewardmanager.ConfigKey].(*rewardmanager.Config)
437+
addPrecompileAllowListToTable(t, "Reward Manager Allow List", cfg.AdminAddresses, cfg.ManagerAddresses, cfg.EnabledAddresses)
438+
allowListSet = true
439+
}
440+
})
441+
438442
if warpSet || allowListSet {
439443
ux.Logger.PrintToUser("%s", t.Render())
440444
if allowListSet {

cmd/blockchaincmd/export_test.go

Lines changed: 0 additions & 100 deletions
This file was deleted.

cmd/blockchaincmd/helpers.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,6 @@ func StartLocalMachine(
190190
bootstrapValidatorFlags.NumBootstrapValidators = constants.DefaultNumberOfLocalMachineNodes
191191
}
192192
connectionSettings := localnet.ConnectionSettings{}
193-
if network.Kind == models.Granite {
194-
connectionSettings = node.GetGraniteConnectionSettings()
195-
}
196193
// if no cluster provided - we create one with fmt.Sprintf("%s-local-node-%s", blockchainName, networkNameComponent) name
197194
if localMachineFlags.UseLocalMachine && clusterNameFlagValue == "" {
198195
if localnet.LocalClusterExists(app, clusterName) {

0 commit comments

Comments
 (0)