Skip to content

Commit cf4038e

Browse files
Update latest dependencies (#2973)
* update granite dependencies * remove apm * remove apm * update version * update version url * verified granite * update latest.json * update sig agg * update sig agg * signature aggregator dependency * update subnet evm dependencies * update sig agg for fuji * change fuji back * handle sig agg version * handle p chain height * update sig agg version * update fuji version * lint * lint * update latest * update avalanche-tooling-sdk-go dependency * update relayer * fix go mod * update relayer dependency * 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 <[email protected]> * lint --------- Signed-off-by: sukantoraymond <[email protected]> Co-authored-by: Felipe Madero <[email protected]>
1 parent f4bfb0f commit cf4038e

File tree

58 files changed

+884
-875
lines changed

Some content is hidden

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

58 files changed

+884
-875
lines changed

cmd/blockchaincmd/add_validator.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,28 @@ func CallAddValidator(
631631
}
632632
}
633633
}
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")
652+
if err != nil {
653+
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
654+
}
655+
634656
ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
635657
defer cancel()
636658

@@ -660,6 +682,7 @@ func CallAddValidator(
660682
sc.UseACP99,
661683
initiateTxHash,
662684
signatureAggregatorEndpoint,
685+
pChainEpoch.PChainHeight,
663686
)
664687
if err != nil {
665688
return err
@@ -688,6 +711,18 @@ func CallAddValidator(
688711
}
689712
}
690713

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+
691726
ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
692727
defer cancel()
693728
rawTx, err = validatormanager.FinishValidatorRegistration(
@@ -704,6 +739,7 @@ func CallAddValidator(
704739
validatorManagerBlockchainID,
705740
validatorManagerAddress,
706741
signatureAggregatorEndpoint,
742+
l1Epoch.PChainHeight,
707743
)
708744
if err != nil {
709745
return err

cmd/blockchaincmd/change_weight.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,11 @@ func changeWeightACP99(
418418
}
419419
}
420420
}
421+
// Get P-Chain's current epoch for SetL1ValidatorWeightMessage (signed by L1, verified by P-Chain)
422+
pChainEpoch, err := utils.GetCurrentEpoch(network.Endpoint, "P")
423+
if err != nil {
424+
return fmt.Errorf("failure getting p-chain current epoch: %w", err)
425+
}
421426
ctx, cancel := sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
422427
defer cancel()
423428
signedMessage, validationID, rawTx, err := validatormanager.InitValidatorWeightChange(
@@ -435,6 +440,7 @@ func changeWeightACP99(
435440
weight,
436441
initiateTxHash,
437442
signatureAggregatorEndpoint,
443+
pChainEpoch.PChainHeight,
438444
)
439445
if err != nil {
440446
return err
@@ -475,6 +481,11 @@ func changeWeightACP99(
475481
}
476482
}
477483
}
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+
}
478489

479490
ctx, cancel = sdkutils.GetTimedContext(constants.EVMEventLookupTimeout)
480491
defer cancel()
@@ -493,6 +504,7 @@ func changeWeightACP99(
493504
signedMessage,
494505
newWeight,
495506
signatureAggregatorEndpoint,
507+
l1Epoch.PChainHeight,
496508
)
497509
if err != nil {
498510
return err

cmd/blockchaincmd/create.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import (
1212
"strings"
1313
"unicode"
1414

15+
"github.com/ava-labs/avalanche-cli/pkg/networkoptions"
16+
1517
"github.com/ava-labs/subnet-evm/params/extras"
1618

1719
"github.com/ava-labs/avalanche-cli/cmd/flags"
@@ -61,6 +63,13 @@ type CreateFlags struct {
6163
proxyContractOwner string
6264
enableDebugging bool
6365
useACP99 bool
66+
Network networkoptions.NetworkFlags
67+
}
68+
69+
var createNetworkOptions = []networkoptions.NetworkOption{
70+
networkoptions.Local,
71+
networkoptions.Fuji,
72+
networkoptions.Mainnet,
6473
}
6574

6675
var (
@@ -99,8 +108,9 @@ configuration, pass the -f flag.`,
99108
RunE: createBlockchainConfig,
100109
PersistentPostRun: handlePostRun,
101110
}
111+
networkoptions.AddNetworkFlagsToCmd(cmd, &createFlags.Network, true, createNetworkOptions)
102112
cmd.Flags().StringVar(&genesisPath, "genesis", "", "file path of genesis to use")
103-
cmd.Flags().BoolVarP(&forceCreate, forceFlag, "f", false, "overwrite the existing configuration if one exists")
113+
cmd.Flags().BoolVar(&forceCreate, forceFlag, false, "overwrite the existing configuration if one exists")
104114
cmd.Flags().BoolVar(&createFlags.enableDebugging, "debug", true, "enable blockchain debugging")
105115

106116
sovGroup := flags.RegisterFlagGroup(cmd, "Subnet-Only-Validators (SOV) Flags", "show-sov-flags", true, func(set *pflag.FlagSet) {
@@ -282,6 +292,19 @@ func createBlockchainConfig(cmd *cobra.Command, args []string) error {
282292
}
283293
}
284294

295+
network, err := networkoptions.GetNetworkFromCmdLineFlags(
296+
app,
297+
"",
298+
createFlags.Network,
299+
false,
300+
false,
301+
createNetworkOptions,
302+
"",
303+
)
304+
if err != nil {
305+
return err
306+
}
307+
285308
if vmType == models.SubnetEvm {
286309
if sovereign {
287310
if err := setSidecarValidatorManageOwner(sc, createFlags); err != nil {
@@ -308,7 +331,7 @@ func createBlockchainConfig(cmd *cobra.Command, args []string) error {
308331
if vmVersion != latest && vmVersion != preRelease && vmVersion != "" && !semver.IsValid(vmVersion) {
309332
return fmt.Errorf("invalid version string, should be semantic version (ex: v1.1.1): %s", vmVersion)
310333
}
311-
vmVersion, err = vm.PromptSubnetEVMVersion(app, vmVersion)
334+
vmVersion, err = vm.PromptSubnetEVMVersion(app, vmVersion, network)
312335
if err != nil {
313336
return err
314337
}

cmd/blockchaincmd/deploy.go

Lines changed: 20 additions & 21 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 {
@@ -451,6 +450,7 @@ func prepareBootstrapValidators(
451450
availableBalance,
452451
localMachineFlags,
453452
bootstrapValidatorFlags,
453+
deployFlags.SigAggFlags,
454454
); err != nil {
455455
return err
456456
} else if cancel {
@@ -507,7 +507,20 @@ func prepareBootstrapValidators(
507507
func deployBlockchain(cmd *cobra.Command, args []string) error {
508508
blockchainName := args[0]
509509

510-
if err := CreateBlockchainFirst(cmd, blockchainName, skipCreatePrompt); err != nil {
510+
network, err := networkoptions.GetNetworkFromCmdLineFlags(
511+
app,
512+
"",
513+
globalNetworkFlags,
514+
true,
515+
false,
516+
networkoptions.DefaultSupportedNetworkOptions,
517+
"",
518+
)
519+
if err != nil {
520+
return err
521+
}
522+
523+
if err := CreateBlockchainFirst(cmd, blockchainName, skipCreatePrompt, network); err != nil {
511524
return err
512525
}
513526

@@ -556,18 +569,6 @@ func deployBlockchain(cmd *cobra.Command, args []string) error {
556569
return err
557570
}
558571

559-
network, err := networkoptions.GetNetworkFromCmdLineFlags(
560-
app,
561-
"",
562-
globalNetworkFlags,
563-
true,
564-
false,
565-
networkoptions.DefaultSupportedNetworkOptions,
566-
"",
567-
)
568-
if err != nil {
569-
return err
570-
}
571572
clusterNameFlagValue = globalNetworkFlags.ClusterName
572573

573574
isEVMGenesis, validationErr, err := app.HasSubnetEVMGenesis(chain)
@@ -1175,13 +1176,11 @@ func deployBlockchain(cmd *cobra.Command, args []string) error {
11751176
deployRelayerFlags.CChainFundingKey = "ewoq"
11761177
deployRelayerFlags.CChainAmount = constants.DefaultRelayerAmount
11771178
}
1178-
if network.Kind != models.Granite {
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")
1184-
}
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")
11851184
}
11861185
}
11871186
}

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 {

0 commit comments

Comments
 (0)