misc

package
v0.0.0-...-92d349b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrBadProDAOExtra is returned if a header doesn't support the DAO fork on a
	// pro-fork client.
	ErrBadProDAOExtra = errors.New("bad DAO pro-fork extra-data")

	// ErrBadNoDAOExtra is returned if a header does support the DAO fork on a no-
	// fork client.
	ErrBadNoDAOExtra = errors.New("bad DAO no-fork extra-data")
)

Functions

func ApplyDAOHardFork

func ApplyDAOHardFork(statedb *state.IntraBlockState)

ApplyDAOHardFork modifies the state database according to the DAO hard-fork rules, transferring all balances of a set of DAO accounts to a single refund contract.

func CalcBaseFee

func CalcBaseFee(config *chain.Config, parent *types.Header) *big.Int

CalcBaseFee calculates the basefee of the header.

func CalcExcessDataGas

func CalcExcessDataGas(parentExcessDataGas *big.Int, newBlobs int) *big.Int

CalcExcessDataGas implements calc_excess_data_gas from EIP-4844

func CountBlobs

func CountBlobs(txs []types.Transaction) int

CountBlobs returns the number of blob transactions in txs

func FakeExponential

func FakeExponential(factor, num, denom *big.Int) *big.Int

FakeExponential approximates factor * e ** (num / denom) using a taylor expansion as described in the EIP-4844 spec.

func GetDataGasPrice

func GetDataGasPrice(excessDataGas *big.Int) *big.Int

GetDataGasPrice implements get_data_gas_price from EIP-4844

func VerifyDAOHeaderExtraData

func VerifyDAOHeaderExtraData(config *chain.Config, header *types.Header) error

VerifyDAOHeaderExtraData validates the extra-data field of a block header to ensure it conforms to DAO hard-fork rules.

DAO hard-fork extension to the header validity:

a) if the node is no-fork, do not accept blocks in the [fork, fork+10) range
   with the fork specific extra-data set
b) if the node is pro-fork, require blocks in the specific range to have the
   unique extra-data set.

func VerifyEip1559Header

func VerifyEip1559Header(config *chain.Config, parent, header *types.Header) error

VerifyEip1559Header verifies some header attributes which were changed in EIP-1559, - gas limit check - basefee check

func VerifyEip4844Header

func VerifyEip4844Header(config *chain.Config, parent, header *types.Header) error

VerifyEip4844Header verifies that the header is not malformed

func VerifyGaslimit

func VerifyGaslimit(parentGasLimit, headerGasLimit uint64) error

VerifyGaslimit verifies the header gas limit according increase/decrease in relation to the parent gas limit.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL