Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Prompts for Subnet create acp77 #2150

Merged
merged 12 commits into from
Sep 23, 2024
19 changes: 19 additions & 0 deletions cmd/blockchaincmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ type CreateFlags struct {
useExternalGasToken bool
proofOfStake bool
proofOfAuthority bool
validatorManagerController []string
}

var (
Expand Down Expand Up @@ -358,6 +359,19 @@ func createBlockchainConfig(cmd *cobra.Command, args []string) error {
if err = promptValidatorManagementType(app, sc); err != nil {
return err
}
if createFlags.validatorManagerController == nil {
var cancelled bool
createFlags.validatorManagerController, cancelled, err = getValidatorContractManagerAddr()
if err != nil {
return err
}
if cancelled {
return fmt.Errorf("user cancelled operation")
}
}
sc.ValidatorManagerController = createFlags.validatorManagerController
// TODO: add description of what Validator Manager Contract controller does
ux.Logger.GreenCheckmarkToUser("Validator Manager Contract controller %s", createFlags.validatorManagerController)
if err = app.WriteGenesisFile(blockchainName, genesisBytes); err != nil {
return err
}
Expand All @@ -375,6 +389,11 @@ func createBlockchainConfig(cmd *cobra.Command, args []string) error {
return nil
}

func getValidatorContractManagerAddr() ([]string, bool, error) {
// TODO: replace this with implementation in validator prompt PR
return nil, false, nil
}

func addSubnetEVMGenesisPrefundedAddress(genesisBytes []byte, address string, balance string) ([]byte, error) {
var genesisMap map[string]interface{}
if err := json.Unmarshal(genesisBytes, &genesisMap); err != nil {
Expand Down
4 changes: 3 additions & 1 deletion pkg/models/sidecar.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ type Sidecar struct {
RunRelayer bool
// SubnetEVM based VM's only
SubnetEVMMainnetChainID uint
ValidatorManagement ValidatorManagementType
// TODO: remove if not needed for subnet acp 77 create flow once avalnache go releases etna
ValidatorManagement ValidatorManagementType
ValidatorManagerController []string
}

func (sc Sidecar) GetVMID() (string, error) {
Expand Down
Loading