Documentation
¶
Overview ¶
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
/ Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
/ Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Index ¶
- Variables
- func CallAddValidator(deployer *subnet.PublicDeployer, network models.Network, kc *keychain.Keychain, ...) error
- func CallAddValidatorNonSOV(deployer *subnet.PublicDeployer, network models.Network, kc *keychain.Keychain, ...) error
- func CallConfigure(cmd *cobra.Command, blockchainName string, chainConfParam string, ...) error
- func CallCreate(cmd *cobra.Command, blockchainName string, forceCreateParam bool, ...) error
- func CallDeleteBlockchain(blockchainName string) error
- func CallDeploy(cmd *cobra.Command, subnetOnlyParam bool, blockchainName string, ...) error
- func CallExportSubnet(blockchainName, exportPath string) error
- func ConvertToLuxdSubnetValidator(subnetValidators []models.SubnetValidator) ([]*txs.ConvertNetToL1Validator, error)
- func ConvertURIToPeers(uris []string) ([]info.Peer, error)
- func CreateBlockchainFirst(cmd *cobra.Command, blockchainName string, skipPrompt bool) error
- func DeployBlockchainFirst(cmd *cobra.Command, blockchainName string, skipPrompt bool) error
- func GetProxyOwnerPrivateKey(app *application.Lux, network models.Network, proxyContractOwner string, ...) (string, error)
- func InitializeValidatorManager(blockchainName, validatorManagerOwner string, subnetID ids.ID, ...) (bool, error)
- func LoadBootstrapValidator(bootstrapValidatorFlags flags.BootstrapValidatorFlags) ([]models.SubnetValidator, error)
- func NewCmd(injectedApp *application.Lux) *cobra.Command
- func PrintDeployResults(blockchainName string, subnetID ids.ID, blockchainID ids.ID) error
- func PrintReadyToSignMsg(blockchainName string, outputTxPath string)
- func PrintRemainingToSignMsg(blockchainName string, remainingSubnetAuthKeys []string, outputTxPath string)
- func PrintSubnetInfo(blockchainName string, onlyLocalnetInfo bool) error
- func PromptDuration(start time.Time, network models.Network, isPos bool) (time.Duration, error)
- func PromptNodeID(goal string) (ids.NodeID, error)
- func SaveNotFullySignedTx(txName string, tx *txs.Tx, blockchainName string, subnetAuthKeys []string, ...) error
- func SetBlockchainConf(blockchainName string, fileBytes []byte, configFilename string) error
- func StartLocalMachine(network models.Network, sidecar models.Sidecar, blockchainName string, ...) (bool, error)
- func UpdateKeychainWithSubnetControlKeys(kc *keychain.Keychain, network models.Network, blockchainName string) error
- func ValidateSubnetNameAndGetChains(args []string) ([]string, error)
- type BlockchainAddValidatorFlags
- type BlockchainChangeWeightFlags
- type BlockchainConvertFlags
- type BlockchainDeployFlags
- type BlockchainRemoveValidatorFlags
- type CreateFlags
- type SubnetValidator
Constants ¶
This section is empty.
Variables ¶
var ( ErrMutuallyExlusiveKeyLedger = errors.New("key source flags --key, --ledger/--ledger-addrs are mutually exclusive") ErrStoredKeyOnMainnet = errors.New("key --key is not available for mainnet operations") )
var (
ErrNotPermissionedSubnet = errors.New("subnet is not permissioned")
)
Functions ¶
func CallAddValidator ¶
func CallAddValidator( deployer *subnet.PublicDeployer, network models.Network, kc *keychain.Keychain, blockchainName string, subnetID ids.ID, nodeIDStr string, publicKey string, pop string, weight uint64, balanceLUX float64, remainingBalanceOwnerAddr string, disableOwnerAddr string, sc models.Sidecar, rpcURL string, ) error
func CallAddValidatorNonSOV ¶
func CallConfigure ¶
func CallCreate ¶
func CallCreate( cmd *cobra.Command, blockchainName string, forceCreateParam bool, genesisPathParam string, useSubnetEvmParam bool, useCustomParam bool, vmVersionParam string, evmChainIDParam uint64, tokenSymbolParam string, useProductionDefaultsParam bool, useTestDefaultsParam bool, useLatestReleasedVMVersionParam bool, useLatestPreReleasedVMVersionParam bool, customVMRepoURLParam string, customVMBranchParam string, customVMBuildScriptParam string, ) error
func CallDeleteBlockchain ¶
func CallDeploy ¶
func CallExportSubnet ¶
func ConvertToLuxdSubnetValidator ¶
func ConvertToLuxdSubnetValidator(subnetValidators []models.SubnetValidator) ([]*txs.ConvertNetToL1Validator, error)
ConvertToLuxdSubnetValidator converts subnet validators to L1 validator format Deactivation owner is handled through the validator management contract
func CreateBlockchainFirst ¶
func DeployBlockchainFirst ¶
func GetProxyOwnerPrivateKey ¶
func InitializeValidatorManager ¶
func InitializeValidatorManager( blockchainName, validatorManagerOwner string, subnetID ids.ID, blockchainID ids.ID, network models.Network, luxdBootstrapValidators []*txs.ConvertNetToL1Validator, pos bool, managerAddress string, proxyContractOwner string, useACP99 bool, useLocalMachine bool, signatureAggregatorFlags flags.SignatureAggregatorFlags, proofOfStakeFlags flags.POSFlags, ) (bool, error)
func LoadBootstrapValidator ¶
func LoadBootstrapValidator(bootstrapValidatorFlags flags.BootstrapValidatorFlags) ([]models.SubnetValidator, error)
func PrintDeployResults ¶
func PrintReadyToSignMsg ¶
func PrintRemainingToSignMsg ¶
func PrintSubnetInfo ¶
func PromptDuration ¶
func SaveNotFullySignedTx ¶
func SetBlockchainConf ¶
func StartLocalMachine ¶
Types ¶
type BlockchainAddValidatorFlags ¶
type BlockchainAddValidatorFlags struct {
RPC string
SigAggFlags flags.SignatureAggregatorFlags
}
type BlockchainChangeWeightFlags ¶
type BlockchainChangeWeightFlags struct {
RPC string
SigAggFlags flags.SignatureAggregatorFlags
}
type BlockchainConvertFlags ¶
type BlockchainConvertFlags struct {
SigAggFlags flags.SignatureAggregatorFlags
LocalMachineFlags flags.LocalMachineFlags
ProofOfStakeFlags flags.POSFlags
BootstrapValidatorFlags flags.BootstrapValidatorFlags
ConvertOnly bool
}
type BlockchainDeployFlags ¶
type BlockchainDeployFlags struct {
SigAggFlags flags.SignatureAggregatorFlags
LocalMachineFlags flags.LocalMachineFlags
ProofOfStakeFlags flags.POSFlags
BootstrapValidatorFlags flags.BootstrapValidatorFlags
ConvertOnly bool
}
type BlockchainRemoveValidatorFlags ¶
type BlockchainRemoveValidatorFlags struct {
RPC string
SigAggFlags flags.SignatureAggregatorFlags
}
type CreateFlags ¶
type CreateFlags struct {
// contains filtered or unexported fields
}
type SubnetValidator ¶
type SubnetValidator struct {
// Must be Ed25519 NodeID
NodeID ids.NodeID `json:"nodeID"`
// Weight of this validator used when sampling
Weight uint64 `json:"weight"`
// When this validator will stop validating the Subnet
EndTime uint64 `json:"endTime"`
// Initial balance for this validator
Balance uint64 `json:"balance"`
// [Signer] is the BLS key for this validator.
// Note: We do not enforce that the BLS key is unique across all validators.
// This means that validators can share a key if they so choose.
// However, a NodeID + Subnet does uniquely map to a BLS key
Signer signer.Signer `json:"signer"`
// Leftover $LUX from the [Balance] will be issued to this
// owner once it is removed from the validator set.
ChangeOwner fx.Owner `json:"changeOwner"`
}
Source Files
¶
- add_validator.go
- blockchain.go
- change_owner.go
- change_weight.go
- configure.go
- convert.go
- create.go
- delete.go
- deploy.go
- describe.go
- exportconfig.go
- helpers.go
- import_file.go
- import_public.go
- importconfig.go
- join.go
- list.go
- prompt_genesis_input.go
- prompt_owners.go
- publish.go
- remove_validator.go
- stats.go
- validators.go
- vmid.go