mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-10 17:01:35 +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 (
|
import (
|
||||||
"math/big"
|
"math/big"
|
||||||
"math/bits"
|
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/consensus"
|
"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) {
|
if !config.IsAmsterdam(header.Number, header.Time) {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
const (
|
return 1174 // Fixed cost for devnet-4
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewEVMTxContext creates a new transaction context for a single transaction.
|
// NewEVMTxContext creates a new transaction context for a single transaction.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue