all: implement EIP-1559 (#22837)
This is the initial implementation of EIP-1559 in packages core/types and core. Mining, RPC, etc. will be added in subsequent commits. Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de> Co-authored-by: lightclient@protonmail.com <lightclient@protonmail.com> Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							14bc6e5130
						
					
				
				
					commit
					94451c2788
				
			@@ -71,9 +71,9 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
 | 
			
		||||
	vmenv := vm.NewEVM(blockContext, vm.TxContext{}, statedb, p.config, cfg)
 | 
			
		||||
	// Iterate over and process the individual transactions
 | 
			
		||||
	for i, tx := range block.Transactions() {
 | 
			
		||||
		msg, err := tx.AsMessage(types.MakeSigner(p.config, header.Number))
 | 
			
		||||
		msg, err := tx.AsMessage(types.MakeSigner(p.config, header.Number), header.BaseFee)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, nil, 0, err
 | 
			
		||||
			return nil, nil, 0, fmt.Errorf("could not apply tx %d [%v]: %w", i, tx.Hash().Hex(), err)
 | 
			
		||||
		}
 | 
			
		||||
		statedb.Prepare(tx.Hash(), block.Hash(), i)
 | 
			
		||||
		receipt, err := applyTransaction(msg, p.config, p.bc, nil, gp, statedb, header, tx, usedGas, vmenv)
 | 
			
		||||
@@ -139,7 +139,7 @@ func applyTransaction(msg types.Message, config *params.ChainConfig, bc ChainCon
 | 
			
		||||
// for the transaction, gas used and an error if the transaction failed,
 | 
			
		||||
// indicating the block was invalid.
 | 
			
		||||
func ApplyTransaction(config *params.ChainConfig, bc ChainContext, author *common.Address, gp *GasPool, statedb *state.StateDB, header *types.Header, tx *types.Transaction, usedGas *uint64, cfg vm.Config) (*types.Receipt, error) {
 | 
			
		||||
	msg, err := tx.AsMessage(types.MakeSigner(config, header.Number))
 | 
			
		||||
	msg, err := tx.AsMessage(types.MakeSigner(config, header.Number), header.BaseFee)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user