2021-08-27 19:25:43 +00:00
|
|
|
//go:build testground
|
2020-06-30 13:18:01 +00:00
|
|
|
// +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"
|
|
|
|
|
2021-04-09 06:58:22 +00:00
|
|
|
"github.com/ipfs/go-cid"
|
2020-10-08 01:09:33 +00:00
|
|
|
|
2022-06-14 15:00:51 +00:00
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
2022-09-06 15:49:29 +00:00
|
|
|
actorstypes "github.com/filecoin-project/go-state-types/actors"
|
2022-06-14 15:00:51 +00:00
|
|
|
"github.com/filecoin-project/go-state-types/network"
|
2020-10-08 01:09:33 +00:00
|
|
|
builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin"
|
2020-09-29 00:28:16 +00:00
|
|
|
|
|
|
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
2020-06-30 13:18:01 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
UnixfsChunkSize = uint64(1 << 20)
|
|
|
|
UnixfsLinksPerLevel = 1024
|
|
|
|
|
2020-10-08 01:09:33 +00:00
|
|
|
BlocksPerEpoch = uint64(builtin2.ExpectedLeadersPerEpoch)
|
2020-08-07 13:04:10 +00:00
|
|
|
BlockMessageLimit = 512
|
|
|
|
BlockGasLimit = int64(100_000_000_000)
|
|
|
|
BlockGasTarget = int64(BlockGasLimit / 2)
|
2020-08-07 13:03:55 +00:00
|
|
|
BaseFeeMaxChangeDenom = int64(8) // 12.5%
|
2020-08-07 13:04:10 +00:00
|
|
|
InitialBaseFee = int64(100e6)
|
|
|
|
MinimumBaseFee = int64(100)
|
2020-10-08 01:09:33 +00:00
|
|
|
BlockDelaySecs = uint64(builtin2.EpochDurationSeconds)
|
2020-08-07 13:04:10 +00:00
|
|
|
PropagationDelaySecs = uint64(6)
|
2023-08-11 14:36:17 +00:00
|
|
|
EquivocationDelaySecs = uint64(2)
|
2022-04-24 05:48:07 +00:00
|
|
|
SupportedProofTypes = []abi.RegisteredSealProof{
|
|
|
|
abi.RegisteredSealProof_StackedDrg32GiBV1,
|
|
|
|
abi.RegisteredSealProof_StackedDrg64GiBV1,
|
|
|
|
}
|
|
|
|
ConsensusMinerMinPower = abi.NewStoragePower(10 << 40)
|
|
|
|
PreCommitChallengeDelay = abi.ChainEpoch(150)
|
2020-06-30 13:18:01 +00:00
|
|
|
|
2020-06-30 14:00:01 +00:00
|
|
|
AllowableClockDriftSecs = uint64(1)
|
2020-06-30 13:18:01 +00:00
|
|
|
|
2020-06-30 13:58:34 +00:00
|
|
|
SlashablePowerDelay = 20
|
|
|
|
InteractivePoRepConfidence = 6
|
|
|
|
|
2020-06-30 13:18:01 +00:00
|
|
|
MessageConfidence uint64 = 5
|
|
|
|
|
|
|
|
WRatioNum = int64(1)
|
|
|
|
WRatioDen = uint64(2)
|
|
|
|
|
|
|
|
BadBlockCacheSize = 1 << 15
|
|
|
|
BlsSignatureCacheSize = 40000
|
|
|
|
VerifSigCacheSize = 32000
|
|
|
|
|
2020-09-29 00:28:16 +00:00
|
|
|
SealRandomnessLookback = policy.SealRandomnessLookback
|
2020-06-30 13:18:01 +00:00
|
|
|
|
2020-10-06 09:26:25 +00:00
|
|
|
TicketRandomnessLookback = abi.ChainEpoch(1)
|
2020-06-30 13:18:01 +00:00
|
|
|
|
2020-07-28 21:36:59 +00:00
|
|
|
FilBase uint64 = 2_000_000_000
|
|
|
|
FilAllocStorageMining uint64 = 1_400_000_000
|
2020-10-05 01:38:52 +00:00
|
|
|
FilReserved uint64 = 300_000_000
|
2020-06-30 13:18:01 +00:00
|
|
|
|
|
|
|
FilecoinPrecision uint64 = 1_000_000_000_000_000_000
|
|
|
|
|
|
|
|
InitialRewardBalance = func() *big.Int {
|
2020-07-28 21:36:59 +00:00
|
|
|
v := big.NewInt(int64(FilAllocStorageMining))
|
2020-06-30 13:18:01 +00:00
|
|
|
v = v.Mul(v, big.NewInt(int64(FilecoinPrecision)))
|
|
|
|
return v
|
|
|
|
}()
|
2020-10-05 01:38:52 +00:00
|
|
|
|
|
|
|
InitialFilReserved = func() *big.Int {
|
|
|
|
v := big.NewInt(int64(FilReserved))
|
|
|
|
v = v.Mul(v, big.NewInt(int64(FilecoinPrecision)))
|
|
|
|
return v
|
|
|
|
}()
|
|
|
|
|
2020-07-29 00:03:20 +00:00
|
|
|
// Actor consts
|
2020-12-30 08:02:53 +00:00
|
|
|
// TODO: pieceSize unused from actors
|
|
|
|
MinDealDuration, MaxDealDuration = policy.DealDurationBounds(0)
|
2020-08-18 15:40:53 +00:00
|
|
|
|
|
|
|
PackingEfficiencyNum int64 = 4
|
|
|
|
PackingEfficiencyDenom int64 = 5
|
2020-09-07 19:31:07 +00:00
|
|
|
|
2020-09-10 18:36:30 +00:00
|
|
|
UpgradeBreezeHeight abi.ChainEpoch = -1
|
2020-09-07 19:31:07 +00:00
|
|
|
BreezeGasTampingDuration abi.ChainEpoch = 0
|
2020-09-09 19:52:04 +00:00
|
|
|
|
2023-11-15 18:07:26 +00:00
|
|
|
UpgradeSmokeHeight abi.ChainEpoch = -1
|
|
|
|
UpgradeIgnitionHeight abi.ChainEpoch = -2
|
|
|
|
UpgradeRefuelHeight abi.ChainEpoch = -3
|
|
|
|
UpgradeTapeHeight abi.ChainEpoch = -4
|
|
|
|
UpgradeAssemblyHeight abi.ChainEpoch = 10
|
|
|
|
UpgradeLiftoffHeight abi.ChainEpoch = -5
|
|
|
|
UpgradeKumquatHeight abi.ChainEpoch = -6
|
|
|
|
UpgradeCalicoHeight abi.ChainEpoch = -8
|
|
|
|
UpgradePersianHeight abi.ChainEpoch = -9
|
|
|
|
UpgradeOrangeHeight abi.ChainEpoch = -10
|
|
|
|
UpgradeClausHeight abi.ChainEpoch = -11
|
|
|
|
UpgradeTrustHeight abi.ChainEpoch = -12
|
|
|
|
UpgradeNorwegianHeight abi.ChainEpoch = -13
|
|
|
|
UpgradeTurboHeight abi.ChainEpoch = -14
|
|
|
|
UpgradeHyperdriveHeight abi.ChainEpoch = -15
|
|
|
|
UpgradeChocolateHeight abi.ChainEpoch = -16
|
|
|
|
UpgradeOhSnapHeight abi.ChainEpoch = -17
|
|
|
|
UpgradeSkyrHeight abi.ChainEpoch = -18
|
|
|
|
UpgradeSharkHeight abi.ChainEpoch = -19
|
|
|
|
UpgradeHyggeHeight abi.ChainEpoch = -20
|
|
|
|
UpgradeLightningHeight abi.ChainEpoch = -21
|
|
|
|
UpgradeThunderHeight abi.ChainEpoch = -22
|
|
|
|
UpgradeWatermelonHeight abi.ChainEpoch = -23
|
|
|
|
UpgradeWatermelonFixHeight abi.ChainEpoch = -24
|
|
|
|
UpgradeWatermelonFix2Height abi.ChainEpoch = -25
|
2020-09-10 18:36:30 +00:00
|
|
|
|
2020-09-09 19:52:04 +00:00
|
|
|
DrandSchedule = map[abi.ChainEpoch]DrandEnum{
|
2020-09-10 18:36:30 +00:00
|
|
|
0: DrandMainnet,
|
2020-09-09 19:52:04 +00:00
|
|
|
}
|
2020-09-10 19:15:49 +00:00
|
|
|
|
2021-10-02 16:20:09 +00:00
|
|
|
GenesisNetworkVersion = network.Version0
|
2022-05-24 16:33:57 +00:00
|
|
|
NetworkBundle = "devnet"
|
2022-09-06 15:49:29 +00:00
|
|
|
BundleOverrides map[actorstypes.Version]string
|
2023-01-13 19:11:13 +00:00
|
|
|
ActorDebugging = true
|
2021-10-02 16:20:09 +00:00
|
|
|
|
2022-09-06 15:49:29 +00:00
|
|
|
NewestNetworkVersion = network.Version16
|
|
|
|
ActorUpgradeNetworkVersion = network.Version16
|
2020-09-26 06:59:59 +00:00
|
|
|
|
2020-11-17 06:34:06 +00:00
|
|
|
Devnet = true
|
|
|
|
ZeroAddress = MustParseAddress("f3yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaby2smx7a")
|
2021-01-05 05:32:15 +00:00
|
|
|
|
2021-04-09 06:58:22 +00:00
|
|
|
WhitelistedBlock = cid.Undef
|
2021-01-05 05:32:15 +00:00
|
|
|
BootstrappersFile = ""
|
|
|
|
GenesisFile = ""
|
2020-06-30 13:18:01 +00:00
|
|
|
)
|
2020-11-11 05:20:59 +00:00
|
|
|
|
2023-01-20 18:27:04 +00:00
|
|
|
const Finality = policy.ChainFinality
|
|
|
|
const ForkLengthThreshold = Finality
|
|
|
|
|
2020-11-11 06:44:35 +00:00
|
|
|
const BootstrapPeerThreshold = 1
|
2023-01-13 19:11:13 +00:00
|
|
|
|
|
|
|
// ChainId defines the chain ID used in the Ethereum JSON-RPC endpoint.
|
|
|
|
// As per https://github.com/ethereum-lists/chains
|
|
|
|
const Eip155ChainId = 31415926
|