mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-08 07:58:40 +00:00
core: fixed costPerStateByte
This commit is contained in:
parent
a86553ca43
commit
c466102093
1 changed files with 1 additions and 21 deletions
22
core/evm.go
22
core/evm.go
|
|
@ -18,7 +18,6 @@ package core
|
|||
|
||||
import (
|
||||
"math/big"
|
||||
"math/bits"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/consensus"
|
||||
|
|
@ -91,26 +90,7 @@ func CostPerStateByte(header *types.Header, config *params.ChainConfig) uint64 {
|
|||
if !config.IsAmsterdam(header.Number, header.Time) {
|
||||
return 0
|
||||
}
|
||||
const (
|
||||
blocksPerYear uint64 = 2_628_000 // 7200 * 365
|
||||
offset uint64 = 9578
|
||||
significantBts uint64 = 5
|
||||
)
|
||||
numerator := header.GasLimit * blocksPerYear
|
||||
denominator := uint64(2) * params.TargetStateGrowthPerYear
|
||||
raw := (numerator + denominator - 1) / denominator
|
||||
shifted := raw + offset
|
||||
// bit length of shifted
|
||||
bitLen := uint64(64 - bits.LeadingZeros64(shifted))
|
||||
var shift uint64
|
||||
if bitLen > significantBts {
|
||||
shift = bitLen - significantBts
|
||||
}
|
||||
quantized := (shifted >> shift) << shift
|
||||
if quantized > offset {
|
||||
return quantized - offset
|
||||
}
|
||||
return 1
|
||||
return 1174 // Fixed cost for devnet-4
|
||||
}
|
||||
|
||||
// NewEVMTxContext creates a new transaction context for a single transaction.
|
||||
|
|
|
|||
Loading…
Reference in a new issue