@@ -879,15 +879,10 @@ func TestNewPayloadOnInvalidTerminalBlock(t *testing.T) {
879
879
genesis , preMergeBlocks := generateMergeChain (100 , false )
880
880
n , ethservice := startEthService (t , genesis , preMergeBlocks )
881
881
defer n .Close ()
882
-
883
- ethservice .BlockChain ().Config ().TerminalTotalDifficulty = preMergeBlocks [0 ].Difficulty () //.Sub(genesis.Config.TerminalTotalDifficulty, preMergeBlocks[len(preMergeBlocks)-1].Difficulty())
884
-
885
- var (
886
- api = NewConsensusAPI (ethservice )
887
- parent = preMergeBlocks [len (preMergeBlocks )- 1 ]
888
- )
882
+ api := NewConsensusAPI (ethservice )
889
883
890
884
// Test parent already post TTD in FCU
885
+ parent := preMergeBlocks [len (preMergeBlocks )- 2 ]
891
886
fcState := engine.ForkchoiceStateV1 {
892
887
HeadBlockHash : parent .Hash (),
893
888
SafeBlockHash : common.Hash {},
@@ -913,6 +908,28 @@ func TestNewPayloadOnInvalidTerminalBlock(t *testing.T) {
913
908
t .Fatalf ("error preparing payload, err=%v" , err )
914
909
}
915
910
data := * payload .Resolve ().ExecutionPayload
911
+ // We need to recompute the blockhash, since the miner computes a wrong (correct) blockhash
912
+ txs , _ := decodeTransactions (data .Transactions )
913
+ header := & types.Header {
914
+ ParentHash : data .ParentHash ,
915
+ UncleHash : types .EmptyUncleHash ,
916
+ Coinbase : data .FeeRecipient ,
917
+ Root : data .StateRoot ,
918
+ TxHash : types .DeriveSha (types .Transactions (txs ), trie .NewStackTrie (nil )),
919
+ ReceiptHash : data .ReceiptsRoot ,
920
+ Bloom : types .BytesToBloom (data .LogsBloom ),
921
+ Difficulty : common .Big0 ,
922
+ Number : new (big.Int ).SetUint64 (data .Number ),
923
+ GasLimit : data .GasLimit ,
924
+ GasUsed : data .GasUsed ,
925
+ Time : data .Timestamp ,
926
+ BaseFee : data .BaseFeePerGas ,
927
+ Extra : data .ExtraData ,
928
+ MixDigest : data .Random ,
929
+ }
930
+ block := types .NewBlockWithHeader (header ).WithBody (txs , nil /* uncles */ )
931
+ data .BlockHash = block .Hash ()
932
+ // Send the new payload
916
933
resp2 , err := api .NewPayloadV1 (data )
917
934
if err != nil {
918
935
t .Fatalf ("error sending NewPayload, err=%v" , err )
@@ -1240,9 +1257,10 @@ func TestNilWithdrawals(t *testing.T) {
1240
1257
1241
1258
func setupBodies (t * testing.T ) (* node.Node , * eth.Ethereum , []* types.Block ) {
1242
1259
genesis , blocks := generateMergeChain (10 , true )
1243
- n , ethservice := startEthService (t , genesis , blocks )
1244
1260
// enable shanghai on the last block
1245
- ethservice .BlockChain ().Config ().ShanghaiTime = & blocks [len (blocks )- 1 ].Header ().Time
1261
+ time := blocks [len (blocks )- 1 ].Header ().Time + 1
1262
+ genesis .Config .ShanghaiTime = & time
1263
+ n , ethservice := startEthService (t , genesis , blocks )
1246
1264
1247
1265
var (
1248
1266
parent = ethservice .BlockChain ().CurrentBlock ()
0 commit comments