Skip to content

Commit

Permalink
Merge pull request ethereum#226 from XinFinOrg/use-constant-on-forkin…
Browse files Browse the repository at this point in the history
…g-param

add v2 testnet forking constant parameter
  • Loading branch information
fishermanymc authored Feb 23, 2023
2 parents 8fc4b8e + 814a276 commit 8b1f77e
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 39 deletions.
2 changes: 2 additions & 0 deletions common/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ var TIP2019Block = big.NewInt(1)
var TIPSigning = big.NewInt(3000000)
var TIPRandomize = big.NewInt(3464000)

var TIPV2SwitchBlock = big.NewInt(99999999999)

var TIPIncreaseMasternodes = big.NewInt(5000000) // Upgrade MN Count at Block.
var TIPNoHalvingMNReward = big.NewInt(38383838) // hardfork no halving masternodes reward
var BlackListHFNumber = uint64(38383838)
Expand Down
2 changes: 2 additions & 0 deletions common/constants/constants.go.devnet
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ var TIP2019Block = big.NewInt(1)
var TIPSigning = big.NewInt(225000)
var TIPRandomize = big.NewInt(225000)

var TIPV2SwitchBlock = big.NewInt(7074000)

var TIPIncreaseMasternodes = big.NewInt(225000) // Upgrade MN Count at Block.
var TIPNoHalvingMNReward = big.NewInt(429987) // hardfork no halving masternodes reward
var BlackListHFNumber = uint64(225000)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func TestIsAuthorisedMNForConsensusV2(t *testing.T) {
func TestIsYourTurnConsensusV2(t *testing.T) {
// we skip test for v1 since it's hard to make a real genesis block
blockchain, _, currentBlock, signer, signFn, _ := PrepareXDCTestBlockChainForV2Engine(t, 900, params.TestXDPoSMockChainConfig, nil)
minePeriod := params.TestV2Configs[0].MinePeriod
minePeriod := params.UnitTestV2Configs[0].MinePeriod
adaptor := blockchain.Engine().(*XDPoS.XDPoS)
blockNum := 901
blockCoinBase := "0x111000000000000000000000000000000123"
Expand Down
2 changes: 1 addition & 1 deletion consensus/tests/engine_v2_tests/timeout_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ func TestTimeoutPeriodAndThreadholdConfigChange(t *testing.T) {

// Timeout handler
func TestTimeoutMessageHandlerSuccessfullyGenerateTCandSyncInfo(t *testing.T) {
params.TestXDPoSMockChainConfig.XDPoS.V2.CurrentConfig = params.TestV2Configs[0]
params.TestXDPoSMockChainConfig.XDPoS.V2.CurrentConfig = params.UnitTestV2Configs[0]
blockchain, _, _, _, _, _ := PrepareXDCTestBlockChainForV2Engine(t, 11, params.TestXDPoSMockChainConfig, nil)
engineV2 := blockchain.Engine().(*XDPoS.XDPoS).EngineV2

Expand Down
60 changes: 36 additions & 24 deletions params/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ var (
MinePeriod: 10,
},
}
TestV2Configs = map[uint64]*V2Config{

TestnetV2Configs = map[uint64]*V2Config{
Default: {
SwitchRound: 0,
CertThreshold: 3,
Expand All @@ -66,22 +67,6 @@ var (
WaitPeriod: 1,
MinePeriod: 2,
},
10: {
SwitchRound: 10,
CertThreshold: 5,
TimeoutSyncThreshold: 2,
TimeoutPeriod: 4,
WaitPeriod: 2,
MinePeriod: 3,
},
899: {
SwitchRound: 899,
CertThreshold: 5,
TimeoutSyncThreshold: 4,
TimeoutPeriod: 5,
WaitPeriod: 2,
MinePeriod: 3,
},
}

DevnetV2Configs = map[uint64]*V2Config{
Expand Down Expand Up @@ -135,6 +120,33 @@ var (
},
}

UnitTestV2Configs = map[uint64]*V2Config{
Default: {
SwitchRound: 0,
CertThreshold: 3,
TimeoutSyncThreshold: 2,
TimeoutPeriod: 4,
WaitPeriod: 1,
MinePeriod: 2,
},
10: {
SwitchRound: 10,
CertThreshold: 5,
TimeoutSyncThreshold: 2,
TimeoutPeriod: 4,
WaitPeriod: 2,
MinePeriod: 3,
},
899: {
SwitchRound: 899,
CertThreshold: 5,
TimeoutSyncThreshold: 4,
TimeoutPeriod: 5,
WaitPeriod: 2,
MinePeriod: 3,
},
}

// XDPoSChain mainnet config
XDCMainnetChainConfig = &ChainConfig{
ChainId: big.NewInt(50),
Expand All @@ -152,7 +164,7 @@ var (
Gap: 450,
FoudationWalletAddr: common.HexToAddress("xdc92a289fe95a85c53b8d0d113cbaef0c1ec98ac65"),
V2: &V2{
SwitchBlock: big.NewInt(9999999999),
SwitchBlock: common.TIPV2SwitchBlock,
CurrentConfig: MainnetV2Configs[0],
AllConfigs: MainnetV2Configs,
},
Expand Down Expand Up @@ -194,9 +206,9 @@ var (
Gap: 450,
FoudationWalletAddr: common.HexToAddress("xdc746249c61f5832c5eed53172776b460491bdcd5c"),
V2: &V2{
SwitchBlock: big.NewInt(900),
CurrentConfig: TestV2Configs[0],
AllConfigs: TestV2Configs,
SwitchBlock: common.TIPV2SwitchBlock,
CurrentConfig: TestnetV2Configs[0],
AllConfigs: TestnetV2Configs,
SkipV2Validation: true,
},
},
Expand All @@ -219,7 +231,7 @@ var (
Gap: 450,
FoudationWalletAddr: common.HexToAddress("0x746249c61f5832c5eed53172776b460491bdcd5c"),
V2: &V2{
SwitchBlock: big.NewInt(7074000),
SwitchBlock: common.TIPV2SwitchBlock,
CurrentConfig: DevnetV2Configs[0],
AllConfigs: DevnetV2Configs,
},
Expand Down Expand Up @@ -286,8 +298,8 @@ var (
Reward: 250,
V2: &V2{
SwitchBlock: big.NewInt(900),
CurrentConfig: TestV2Configs[0],
AllConfigs: TestV2Configs,
CurrentConfig: UnitTestV2Configs[0],
AllConfigs: UnitTestV2Configs,
},
},
}
Expand Down
26 changes: 13 additions & 13 deletions params/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,37 +83,37 @@ func TestCheckCompatible(t *testing.T) {
}

func TestUpdateV2Config(t *testing.T) {
TestnetChainConfig.XDPoS.V2.BuildConfigIndex()
c := TestnetChainConfig.XDPoS.V2.CurrentConfig
TestXDPoSMockChainConfig.XDPoS.V2.BuildConfigIndex()
c := TestXDPoSMockChainConfig.XDPoS.V2.CurrentConfig
assert.Equal(t, 3, c.CertThreshold)

TestnetChainConfig.XDPoS.V2.UpdateConfig(10)
c = TestnetChainConfig.XDPoS.V2.CurrentConfig
TestXDPoSMockChainConfig.XDPoS.V2.UpdateConfig(10)
c = TestXDPoSMockChainConfig.XDPoS.V2.CurrentConfig
assert.Equal(t, 5, c.CertThreshold)

TestnetChainConfig.XDPoS.V2.UpdateConfig(899)
c = TestnetChainConfig.XDPoS.V2.CurrentConfig
TestXDPoSMockChainConfig.XDPoS.V2.UpdateConfig(899)
c = TestXDPoSMockChainConfig.XDPoS.V2.CurrentConfig
assert.Equal(t, 4, c.TimeoutSyncThreshold)
}

func TestV2Config(t *testing.T) {
TestnetChainConfig.XDPoS.V2.BuildConfigIndex()
c := TestnetChainConfig.XDPoS.V2.Config(1)
TestXDPoSMockChainConfig.XDPoS.V2.BuildConfigIndex()
c := TestXDPoSMockChainConfig.XDPoS.V2.Config(1)
assert.Equal(t, 3, c.CertThreshold)

c = TestnetChainConfig.XDPoS.V2.Config(5)
c = TestXDPoSMockChainConfig.XDPoS.V2.Config(5)
assert.Equal(t, 3, c.CertThreshold)

c = TestnetChainConfig.XDPoS.V2.Config(10)
c = TestXDPoSMockChainConfig.XDPoS.V2.Config(10)
assert.Equal(t, 3, c.CertThreshold)

c = TestnetChainConfig.XDPoS.V2.Config(11)
c = TestXDPoSMockChainConfig.XDPoS.V2.Config(11)
assert.Equal(t, 5, c.CertThreshold)
}

func TestBuildConfigIndex(t *testing.T) {
TestnetChainConfig.XDPoS.V2.BuildConfigIndex()
index := TestnetChainConfig.XDPoS.V2.ConfigIndex()
TestXDPoSMockChainConfig.XDPoS.V2.BuildConfigIndex()
index := TestXDPoSMockChainConfig.XDPoS.V2.ConfigIndex()
expected := []uint64{899, 10, 0}
assert.Equal(t, expected, index)
}

0 comments on commit 8b1f77e

Please sign in to comment.