mirror of
https://github.com/luxfi/sdk.git
synced 2026-10-30 15:19:23 +00:00
Lux Partners Limited is not the entity behind this work. Every place the old name stood — copyright lines, site footers, brand config, legal and compliance text — now names the company that actually holds it. lux.fund is the exception and is not renamed to match: that site belongs to Lux Assets Management LLC, a different company, and it says so. Two kinds of line were left for a person rather than rewritten. A dated news item recording that Lux Partners Limited was established in the Isle of Man is a historical fact, and renaming it would falsify the record. And a sentence asserting that the company is domiciled in the Isle of Man is a claim about a jurisdiction, not a name — an Inc or an LLC is not an Isle of Man company, so swapping the name there would assert something untrue. Co-authored-by: Hanzo Dev <[email protected]>
66 lines
1.9 KiB
Go
66 lines
1.9 KiB
Go
// Copyright (C) 2020-2025, Lux Industries Inc All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package blockchain
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
"github.com/luxfi/geth/common"
|
|
)
|
|
|
|
// GenesisAccount defines an account in genesis
|
|
type GenesisAccount struct {
|
|
Balance *big.Int `json:"balance"`
|
|
Code []byte `json:"code,omitempty"`
|
|
Storage map[common.Hash]common.Hash `json:"storage,omitempty"`
|
|
}
|
|
|
|
// GenesisValidator defines a validator in the genesis
|
|
// Uses simplified fields for genesis configuration
|
|
type GenesisValidator struct {
|
|
NodeID string `json:"nodeId"`
|
|
Weight uint64 `json:"weight"`
|
|
}
|
|
|
|
// Validator is an alias for backward compatibility
|
|
type Validator = GenesisValidator
|
|
|
|
// Net represents a blockchain network with validator management capabilities
|
|
// As above, so below - unified across all network layers (primary, L1, L2, L3)
|
|
type Net struct {
|
|
ChainID interface{} `json:"chainId"` // ids.ID
|
|
BlockchainID interface{} // ids.ID
|
|
OwnerAddress *common.Address
|
|
RPC string
|
|
BootstrapValidators []interface{} // []Validator
|
|
}
|
|
|
|
// InitializeProofOfAuthority initializes a PoA validator manager
|
|
func (s *Net) InitializeProofOfAuthority(
|
|
log interface{}, // logging.Logger
|
|
network interface{}, // models.Network
|
|
privateKey string,
|
|
aggregatorLogger interface{}, // logging.Logger
|
|
validatorManagerAddress string,
|
|
v2_0_0 bool,
|
|
signatureAggregatorEndpoint string,
|
|
) error {
|
|
// TODO: Implement PoA initialization
|
|
return nil
|
|
}
|
|
|
|
// InitializeProofOfStake initializes a PoS validator manager
|
|
func (s *Net) InitializeProofOfStake(
|
|
log interface{}, // logging.Logger
|
|
network interface{}, // models.Network
|
|
privateKey string,
|
|
aggregatorLogger interface{}, // logging.Logger
|
|
posParams interface{}, // PoSParams
|
|
managerAddress string,
|
|
signatureAggregatorEndpoint string,
|
|
) error {
|
|
// TODO: Implement PoS initialization
|
|
return nil
|
|
}
|