|
|
@@ -40,14 +40,22 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
// Create the concurrent, conflicting two nodes
|
|
|
proDb, _ := ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(proDb)
|
|
|
- proConf := ¶ms.ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: true}
|
|
|
- proBc, _ := NewBlockChain(proDb, proConf, ethash.NewFaker(), vm.Config{})
|
|
|
+
|
|
|
+ proConf := *params.TestChainConfig
|
|
|
+ proConf.DAOForkBlock = forkBlock
|
|
|
+ proConf.DAOForkSupport = true
|
|
|
+
|
|
|
+ proBc, _ := NewBlockChain(proDb, &proConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer proBc.Stop()
|
|
|
|
|
|
conDb, _ := ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(conDb)
|
|
|
- conConf := ¶ms.ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: false}
|
|
|
- conBc, _ := NewBlockChain(conDb, conConf, ethash.NewFaker(), vm.Config{})
|
|
|
+
|
|
|
+ conConf := *params.TestChainConfig
|
|
|
+ conConf.DAOForkBlock = forkBlock
|
|
|
+ conConf.DAOForkSupport = false
|
|
|
+
|
|
|
+ conBc, _ := NewBlockChain(conDb, &conConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer conBc.Stop()
|
|
|
|
|
|
if _, err := proBc.InsertChain(prefix); err != nil {
|
|
|
@@ -61,7 +69,7 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
// Create a pro-fork block, and try to feed into the no-fork chain
|
|
|
db, _ = ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(db)
|
|
|
- bc, _ := NewBlockChain(db, conConf, ethash.NewFaker(), vm.Config{})
|
|
|
+ bc, _ := NewBlockChain(db, &conConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer bc.Stop()
|
|
|
|
|
|
blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()))
|
|
|
@@ -71,19 +79,19 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
if _, err := bc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("failed to import contra-fork chain for expansion: %v", err)
|
|
|
}
|
|
|
- blocks, _ = GenerateChain(proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := conBc.InsertChain(blocks); err == nil {
|
|
|
t.Fatalf("contra-fork chain accepted pro-fork block: %v", blocks[0])
|
|
|
}
|
|
|
// Create a proper no-fork block for the contra-forker
|
|
|
- blocks, _ = GenerateChain(conConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&conConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := conBc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("contra-fork chain didn't accepted no-fork block: %v", err)
|
|
|
}
|
|
|
// Create a no-fork block, and try to feed into the pro-fork chain
|
|
|
db, _ = ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(db)
|
|
|
- bc, _ = NewBlockChain(db, proConf, ethash.NewFaker(), vm.Config{})
|
|
|
+ bc, _ = NewBlockChain(db, &proConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer bc.Stop()
|
|
|
|
|
|
blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()))
|
|
|
@@ -93,12 +101,12 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
if _, err := bc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("failed to import pro-fork chain for expansion: %v", err)
|
|
|
}
|
|
|
- blocks, _ = GenerateChain(conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := proBc.InsertChain(blocks); err == nil {
|
|
|
t.Fatalf("pro-fork chain accepted contra-fork block: %v", blocks[0])
|
|
|
}
|
|
|
// Create a proper pro-fork block for the pro-forker
|
|
|
- blocks, _ = GenerateChain(proConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&proConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := proBc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("pro-fork chain didn't accepted pro-fork block: %v", err)
|
|
|
}
|
|
|
@@ -106,7 +114,7 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
// Verify that contra-forkers accept pro-fork extra-datas after forking finishes
|
|
|
db, _ = ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(db)
|
|
|
- bc, _ := NewBlockChain(db, conConf, ethash.NewFaker(), vm.Config{})
|
|
|
+ bc, _ := NewBlockChain(db, &conConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer bc.Stop()
|
|
|
|
|
|
blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()))
|
|
|
@@ -116,14 +124,14 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
if _, err := bc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("failed to import contra-fork chain for expansion: %v", err)
|
|
|
}
|
|
|
- blocks, _ = GenerateChain(proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := conBc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("contra-fork chain didn't accept pro-fork block post-fork: %v", err)
|
|
|
}
|
|
|
// Verify that pro-forkers accept contra-fork extra-datas after forking finishes
|
|
|
db, _ = ethdb.NewMemDatabase()
|
|
|
gspec.MustCommit(db)
|
|
|
- bc, _ = NewBlockChain(db, proConf, ethash.NewFaker(), vm.Config{})
|
|
|
+ bc, _ = NewBlockChain(db, &proConf, ethash.NewFaker(), vm.Config{})
|
|
|
defer bc.Stop()
|
|
|
|
|
|
blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()))
|
|
|
@@ -133,7 +141,7 @@ func TestDAOForkRangeExtradata(t *testing.T) {
|
|
|
if _, err := bc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("failed to import pro-fork chain for expansion: %v", err)
|
|
|
}
|
|
|
- blocks, _ = GenerateChain(conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
+ blocks, _ = GenerateChain(&conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {})
|
|
|
if _, err := proBc.InsertChain(blocks); err != nil {
|
|
|
t.Fatalf("pro-fork chain didn't accept contra-fork block post-fork: %v", err)
|
|
|
}
|