core/vm: use uint256 in EVM implementation (#20787)
* core/vm: use fixed uint256 library instead of big * core/vm: remove intpools * core/vm: upgrade uint256, fixes uint256.NewFromBig * core/vm: use uint256.Int by value in Stack * core/vm: upgrade uint256 to v1.0.0 * core/vm: don't preallocate space for 1024 stack items (only 16) Co-authored-by: Martin Holst Swende <martin@swende.se>
This commit is contained in:
@ -17,7 +17,7 @@
|
||||
package vm
|
||||
|
||||
import (
|
||||
"math/big"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Gas costs
|
||||
@ -34,7 +34,7 @@ const (
|
||||
//
|
||||
// The cost of gas was changed during the homestead price change HF.
|
||||
// As part of EIP 150 (TangerineWhistle), the returned gas is gas - base * 63 / 64.
|
||||
func callGas(isEip150 bool, availableGas, base uint64, callCost *big.Int) (uint64, error) {
|
||||
func callGas(isEip150 bool, availableGas, base uint64, callCost *uint256.Int) (uint64, error) {
|
||||
if isEip150 {
|
||||
availableGas = availableGas - base
|
||||
gas := availableGas - availableGas/64
|
||||
|
Reference in New Issue
Block a user