Lux SDKGoPackages

chainconfig

Package chainconfig provides chain configuration utilities.

import "github.com/luxfi/sdk/chainconfig"

Package chainconfig provides chain configuration utilities.

Functions

CreateAirdropGenesis

func CreateAirdropGenesis(
	chainConfig *params.ChainConfig,
	airdropAddresses []common.Address,
	airdropAmount *big.Int,
) *core.Genesis

CreateAirdropGenesis creates a genesis with airdrop allocations

CreateDevGenesis

func CreateDevGenesis(chainID *big.Int) *core.Genesis

CreateDevGenesis creates a genesis suitable for development

DefaultChainConfig

func DefaultChainConfig() *params.ChainConfig

DefaultChainConfig returns the default EVM chain configuration

DefaultGenesis

func DefaultGenesis() *core.Genesis

DefaultGenesis creates a default genesis configuration

GetPresetChainConfig

func GetPresetChainConfig(preset string, chainID *big.Int) *params.ChainConfig

GetPresetChainConfig returns a preset chain configuration by name

LocalChainConfig

func LocalChainConfig(chainID *big.Int) *params.ChainConfig

LocalChainConfig returns a chain configuration suitable for local development

MainnetChainConfig

func MainnetChainConfig(chainID *big.Int) *params.ChainConfig

MainnetChainConfig returns a chain configuration suitable for mainnet

ParseGenesis

func ParseGenesis(data []byte) (*core.Genesis, error)

ParseGenesis parses genesis from JSON bytes

TestnetChainConfig

func TestnetChainConfig(chainID *big.Int) *params.ChainConfig

TestnetChainConfig returns a chain configuration suitable for testnet

ValidateGenesis

func ValidateGenesis(genesis *core.Genesis) error

ValidateGenesis validates a genesis configuration

Types

ChainConfigBuilder

ChainConfigBuilder helps construct EVM chain configurations

func NewChainConfigBuilder() *ChainConfigBuilder
func (b *ChainConfigBuilder) Build() *params.ChainConfig
func (b *ChainConfigBuilder) GetAllowFeeRecipients() bool
func (b *ChainConfigBuilder) GetFeeConfig() interface{}
func (b *ChainConfigBuilder) GetNetworkUpgrades() map[string]interface{}
func (b *ChainConfigBuilder) GetPrecompiles() map[string]interface{}
func (b *ChainConfigBuilder) WithAllowFeeRecipients(allow bool) *ChainConfigBuilder
func (b *ChainConfigBuilder) WithChainID(chainID *big.Int) *ChainConfigBuilder
func (b *ChainConfigBuilder) WithFeeConfig(feeConfig interface{}) *ChainConfigBuilder
func (b *ChainConfigBuilder) WithNetworkUpgrade(name string, timestamp *big.Int) *ChainConfigBuilder
func (b *ChainConfigBuilder) WithPrecompile(address common.Address, config interface{}) *ChainConfigBuilder

GenesisBuilder

GenesisBuilder helps construct EVM genesis configurations

func NewGenesisBuilder() *GenesisBuilder
func (b *GenesisBuilder) Build() *core.Genesis
func (b *GenesisBuilder) ToJSON() ([]byte, error)
func (b *GenesisBuilder) WithAllocation(address common.Address, balance *big.Int) *GenesisBuilder
func (b *GenesisBuilder) WithAllocations(allocations map[common.Address]*big.Int) *GenesisBuilder
func (b *GenesisBuilder) WithChainConfig(config *params.ChainConfig) *GenesisBuilder
func (b *GenesisBuilder) WithContract(address common.Address, balance *big.Int, code []byte, storage map[common.Hash]common.Hash) *GenesisBuilder
func (b *GenesisBuilder) WithExtraData(extraData []byte) *GenesisBuilder
func (b *GenesisBuilder) WithGasLimit(gasLimit uint64) *GenesisBuilder
func (b *GenesisBuilder) WithTimestamp(timestamp uint64) *GenesisBuilder