Documentation
¶
Overview ¶
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
/ Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
/ Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.
Copyright (C) 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.ConvertSubnetToL1Validator, 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.ConvertSubnetToL1Validator, error)
TODO: add deactivation owner?
func CreateBlockchainFirst ¶
func DeployBlockchainFirst ¶
func GetProxyOwnerPrivateKey ¶
func InitializeValidatorManager ¶
func InitializeValidatorManager( blockchainName, validatorManagerOwner string, subnetID ids.ID, blockchainID ids.ID, network models.Network, luxdBootstrapValidators []*txs.ConvertSubnetToL1Validator, 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"`
}