1f754bdb78
While over-estimation fees and miner tips are still paid, gas is no longer burnt for direct, successful window PoSt messages. Usually, gas is burnt to prevent an attacker from spamming the network and to allow clients to "price" messages (using the base fee cap) based on how urgently they need them to be processed. However: 1. Window PoSt is already a "proof of work". 2. Miners need to submit WindowedPoSts on-time so all window post messages are urgent. 3. Work is already under way to move window post verification off-chain (making it effectively free). This change simply introduces the "free" part a bit earlier.
107 lines
2.9 KiB
Go
107 lines
2.9 KiB
Go
// +build testground
|
|
|
|
// This file makes hardcoded parameters (const) configurable as vars.
|
|
//
|
|
// Its purpose is to unlock various degrees of flexibility and parametrization
|
|
// when writing Testground plans for Lotus.
|
|
//
|
|
package build
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
"github.com/filecoin-project/go-state-types/network"
|
|
|
|
builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin"
|
|
|
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
|
)
|
|
|
|
var (
|
|
UnixfsChunkSize = uint64(1 << 20)
|
|
UnixfsLinksPerLevel = 1024
|
|
|
|
BlocksPerEpoch = uint64(builtin2.ExpectedLeadersPerEpoch)
|
|
BlockMessageLimit = 512
|
|
BlockGasLimit = int64(100_000_000_000)
|
|
BlockGasTarget = int64(BlockGasLimit / 2)
|
|
BaseFeeMaxChangeDenom = int64(8) // 12.5%
|
|
InitialBaseFee = int64(100e6)
|
|
MinimumBaseFee = int64(100)
|
|
BlockDelaySecs = uint64(builtin2.EpochDurationSeconds)
|
|
PropagationDelaySecs = uint64(6)
|
|
|
|
AllowableClockDriftSecs = uint64(1)
|
|
|
|
Finality = policy.ChainFinality
|
|
ForkLengthThreshold = Finality
|
|
|
|
SlashablePowerDelay = 20
|
|
InteractivePoRepConfidence = 6
|
|
|
|
MessageConfidence uint64 = 5
|
|
|
|
WRatioNum = int64(1)
|
|
WRatioDen = uint64(2)
|
|
|
|
BadBlockCacheSize = 1 << 15
|
|
BlsSignatureCacheSize = 40000
|
|
VerifSigCacheSize = 32000
|
|
|
|
SealRandomnessLookback = policy.SealRandomnessLookback
|
|
|
|
TicketRandomnessLookback = abi.ChainEpoch(1)
|
|
|
|
FilBase uint64 = 2_000_000_000
|
|
FilAllocStorageMining uint64 = 1_400_000_000
|
|
FilReserved uint64 = 300_000_000
|
|
|
|
FilecoinPrecision uint64 = 1_000_000_000_000_000_000
|
|
|
|
InitialRewardBalance = func() *big.Int {
|
|
v := big.NewInt(int64(FilAllocStorageMining))
|
|
v = v.Mul(v, big.NewInt(int64(FilecoinPrecision)))
|
|
return v
|
|
}()
|
|
|
|
InitialFilReserved = func() *big.Int {
|
|
v := big.NewInt(int64(FilReserved))
|
|
v = v.Mul(v, big.NewInt(int64(FilecoinPrecision)))
|
|
return v
|
|
}()
|
|
|
|
// Actor consts
|
|
// TODO: Pull from actors when its made not private
|
|
MinDealDuration = abi.ChainEpoch(180 * builtin2.EpochsInDay)
|
|
|
|
PackingEfficiencyNum int64 = 4
|
|
PackingEfficiencyDenom int64 = 5
|
|
|
|
UpgradeBreezeHeight abi.ChainEpoch = -1
|
|
BreezeGasTampingDuration abi.ChainEpoch = 0
|
|
|
|
UpgradeSmokeHeight abi.ChainEpoch = -1
|
|
UpgradeIgnitionHeight abi.ChainEpoch = -2
|
|
UpgradeRefuelHeight abi.ChainEpoch = -3
|
|
UpgradeTapeHeight abi.ChainEpoch = -4
|
|
UpgradeActorsV2Height abi.ChainEpoch = 10
|
|
UpgradeLiftoffHeight abi.ChainEpoch = -5
|
|
UpgradeKumquatHeight abi.ChainEpoch = -6
|
|
UpgradeCalicoHeight abi.ChainEpoch = -7
|
|
UpgradePersianHeight abi.ChainEpoch = -8
|
|
UpgradeClausHeight abi.ChainEpoch = -9
|
|
|
|
DrandSchedule = map[abi.ChainEpoch]DrandEnum{
|
|
0: DrandMainnet,
|
|
}
|
|
|
|
NewestNetworkVersion = network.Version8
|
|
ActorUpgradeNetworkVersion = network.Version4
|
|
|
|
Devnet = true
|
|
ZeroAddress = MustParseAddress("f3yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaby2smx7a")
|
|
)
|
|
|
|
const BootstrapPeerThreshold = 1
|