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.GenesisCreateAirdropGenesis creates a genesis with airdrop allocations
CreateDevGenesis
func CreateDevGenesis(chainID *big.Int) *core.GenesisCreateDevGenesis creates a genesis suitable for development
DefaultChainConfig
func DefaultChainConfig() *params.ChainConfigDefaultChainConfig returns the default EVM chain configuration
DefaultGenesis
func DefaultGenesis() *core.GenesisDefaultGenesis creates a default genesis configuration
GetPresetChainConfig
func GetPresetChainConfig(preset string, chainID *big.Int) *params.ChainConfigGetPresetChainConfig returns a preset chain configuration by name
LocalChainConfig
func LocalChainConfig(chainID *big.Int) *params.ChainConfigLocalChainConfig returns a chain configuration suitable for local development
MainnetChainConfig
func MainnetChainConfig(chainID *big.Int) *params.ChainConfigMainnetChainConfig 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.ChainConfigTestnetChainConfig returns a chain configuration suitable for testnet
ValidateGenesis
func ValidateGenesis(genesis *core.Genesis) errorValidateGenesis validates a genesis configuration
Types
ChainConfigBuilder
ChainConfigBuilder helps construct EVM chain configurations
func NewChainConfigBuilder() *ChainConfigBuilderfunc (b *ChainConfigBuilder) Build() *params.ChainConfigfunc (b *ChainConfigBuilder) GetAllowFeeRecipients() boolfunc (b *ChainConfigBuilder) GetFeeConfig() interface{}func (b *ChainConfigBuilder) GetNetworkUpgrades() map[string]interface{}func (b *ChainConfigBuilder) GetPrecompiles() map[string]interface{}func (b *ChainConfigBuilder) WithAllowFeeRecipients(allow bool) *ChainConfigBuilderfunc (b *ChainConfigBuilder) WithChainID(chainID *big.Int) *ChainConfigBuilderfunc (b *ChainConfigBuilder) WithFeeConfig(feeConfig interface{}) *ChainConfigBuilderfunc (b *ChainConfigBuilder) WithNetworkUpgrade(name string, timestamp *big.Int) *ChainConfigBuilderfunc (b *ChainConfigBuilder) WithPrecompile(address common.Address, config interface{}) *ChainConfigBuilderGenesisBuilder
GenesisBuilder helps construct EVM genesis configurations
func NewGenesisBuilder() *GenesisBuilderfunc (b *GenesisBuilder) Build() *core.Genesisfunc (b *GenesisBuilder) ToJSON() ([]byte, error)func (b *GenesisBuilder) WithAllocation(address common.Address, balance *big.Int) *GenesisBuilderfunc (b *GenesisBuilder) WithAllocations(allocations map[common.Address]*big.Int) *GenesisBuilderfunc (b *GenesisBuilder) WithChainConfig(config *params.ChainConfig) *GenesisBuilderfunc (b *GenesisBuilder) WithContract(address common.Address, balance *big.Int, code []byte, storage map[common.Hash]common.Hash) *GenesisBuilderfunc (b *GenesisBuilder) WithExtraData(extraData []byte) *GenesisBuilderfunc (b *GenesisBuilder) WithGasLimit(gasLimit uint64) *GenesisBuilderfunc (b *GenesisBuilder) WithTimestamp(timestamp uint64) *GenesisBuilder