@@ -303,7 +303,7 @@ func (evm *EVM) Call(caller common.Address, addr common.Address, input []byte, g
303303 contract .IsSystemCall = isSystemCall (caller )
304304 contract .SetCallCode (evm .resolveCodeHash (addr ), code )
305305 ret , err = evm .Run (contract , input , false )
306- gas = contract .Gas
306+ gas = contract .Gas . RegularGas
307307 }
308308 }
309309 // When an error was returned by the EVM or when setting the creation code
@@ -365,7 +365,7 @@ func (evm *EVM) CallCode(caller common.Address, addr common.Address, input []byt
365365 contract := NewContract (caller , caller , value , gas , evm .jumpDests )
366366 contract .SetCallCode (evm .resolveCodeHash (addr ), evm .resolveCode (addr ))
367367 ret , err = evm .Run (contract , input , false )
368- gas = contract .Gas
368+ gas = contract .Gas . RegularGas
369369 }
370370 if err != nil {
371371 evm .StateDB .RevertToSnapshot (snapshot )
@@ -413,7 +413,7 @@ func (evm *EVM) DelegateCall(originCaller common.Address, caller common.Address,
413413 contract := NewContract (originCaller , caller , value , gas , evm .jumpDests )
414414 contract .SetCallCode (evm .resolveCodeHash (addr ), evm .resolveCode (addr ))
415415 ret , err = evm .Run (contract , input , false )
416- gas = contract .Gas
416+ gas = contract .Gas . RegularGas
417417 }
418418 if err != nil {
419419 evm .StateDB .RevertToSnapshot (snapshot )
@@ -472,7 +472,7 @@ func (evm *EVM) StaticCall(caller common.Address, addr common.Address, input []b
472472 // above we revert to the snapshot and consume any gas remaining. Additionally
473473 // when we're in Homestead this also counts for code storage gas errors.
474474 ret , err = evm .Run (contract , input , true )
475- gas = contract .Gas
475+ gas = contract .Gas . RegularGas
476476 }
477477 if err != nil {
478478 evm .StateDB .RevertToSnapshot (snapshot )
@@ -583,10 +583,10 @@ func (evm *EVM) create(caller common.Address, code []byte, gas uint64, value *ui
583583 if err != nil && (evm .chainRules .IsHomestead || err != ErrCodeStoreOutOfGas ) {
584584 evm .StateDB .RevertToSnapshot (snapshot )
585585 if err != ErrExecutionReverted {
586- contract .UseGas (contract .Gas , evm .Config .Tracer , tracing .GasChangeCallFailedExecution )
586+ contract .UseGas (contract .Gas . RegularGas , evm .Config .Tracer , tracing .GasChangeCallFailedExecution )
587587 }
588588 }
589- return ret , address , contract .Gas , err
589+ return ret , address , contract .Gas . RegularGas , err
590590}
591591
592592// initNewContract runs a new contract's creation code, performs checks on the
@@ -613,7 +613,7 @@ func (evm *EVM) initNewContract(contract *Contract, address common.Address) ([]b
613613 return ret , ErrCodeStoreOutOfGas
614614 }
615615 } else {
616- consumed , wanted := evm .AccessEvents .CodeChunksRangeGas (address , 0 , uint64 (len (ret )), uint64 (len (ret )), true , contract .Gas )
616+ consumed , wanted := evm .AccessEvents .CodeChunksRangeGas (address , 0 , uint64 (len (ret )), uint64 (len (ret )), true , contract .Gas . RegularGas )
617617 contract .UseGas (consumed , evm .Config .Tracer , tracing .GasChangeWitnessCodeChunk )
618618 if len (ret ) > 0 && (consumed < wanted ) {
619619 return ret , ErrCodeStoreOutOfGas
0 commit comments