|
|
@ -719,7 +719,7 @@ func TestFastVsFullChains(t *testing.T) { |
|
|
|
// If the block number is multiple of 3, send a few bonus transactions to the miner
|
|
|
|
// If the block number is multiple of 3, send a few bonus transactions to the miner
|
|
|
|
if i%3 == 2 { |
|
|
|
if i%3 == 2 { |
|
|
|
for j := 0; j < i%4+1; j++ { |
|
|
|
for j := 0; j < i%4+1; j++ { |
|
|
|
tx, err := types.NewTransaction(block.TxNonce(address), common.Address{0x00}, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key) |
|
|
|
tx, err := types.SignTx(types.NewTransaction(block.TxNonce(address), common.Address{0x00}, big.NewInt(1000), params.TxGas, nil, nil), signer, key) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
panic(err) |
|
|
|
panic(err) |
|
|
|
} |
|
|
|
} |
|
|
@ -883,8 +883,8 @@ func TestChainTxReorgs(t *testing.T) { |
|
|
|
// Create two transactions shared between the chains:
|
|
|
|
// Create two transactions shared between the chains:
|
|
|
|
// - postponed: transaction included at a later block in the forked chain
|
|
|
|
// - postponed: transaction included at a later block in the forked chain
|
|
|
|
// - swapped: transaction included at the same block number in the forked chain
|
|
|
|
// - swapped: transaction included at the same block number in the forked chain
|
|
|
|
postponed, _ := types.NewTransaction(0, addr1, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key1) |
|
|
|
postponed, _ := types.SignTx(types.NewTransaction(0, addr1, big.NewInt(1000), params.TxGas, nil, nil), signer, key1) |
|
|
|
swapped, _ := types.NewTransaction(1, addr1, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key1) |
|
|
|
swapped, _ := types.SignTx(types.NewTransaction(1, addr1, big.NewInt(1000), params.TxGas, nil, nil), signer, key1) |
|
|
|
|
|
|
|
|
|
|
|
// Create two transactions that will be dropped by the forked chain:
|
|
|
|
// Create two transactions that will be dropped by the forked chain:
|
|
|
|
// - pastDrop: transaction dropped retroactively from a past block
|
|
|
|
// - pastDrop: transaction dropped retroactively from a past block
|
|
|
@ -900,13 +900,13 @@ func TestChainTxReorgs(t *testing.T) { |
|
|
|
chain, _ := GenerateChain(params.TestChainConfig, genesis, db, 3, func(i int, gen *BlockGen) { |
|
|
|
chain, _ := GenerateChain(params.TestChainConfig, genesis, db, 3, func(i int, gen *BlockGen) { |
|
|
|
switch i { |
|
|
|
switch i { |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
|
pastDrop, _ = types.NewTransaction(gen.TxNonce(addr2), addr2, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key2) |
|
|
|
pastDrop, _ = types.SignTx(types.NewTransaction(gen.TxNonce(addr2), addr2, big.NewInt(1000), params.TxGas, nil, nil), signer, key2) |
|
|
|
|
|
|
|
|
|
|
|
gen.AddTx(pastDrop) // This transaction will be dropped in the fork from below the split point
|
|
|
|
gen.AddTx(pastDrop) // This transaction will be dropped in the fork from below the split point
|
|
|
|
gen.AddTx(postponed) // This transaction will be postponed till block #3 in the fork
|
|
|
|
gen.AddTx(postponed) // This transaction will be postponed till block #3 in the fork
|
|
|
|
|
|
|
|
|
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|
freshDrop, _ = types.NewTransaction(gen.TxNonce(addr2), addr2, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key2) |
|
|
|
freshDrop, _ = types.SignTx(types.NewTransaction(gen.TxNonce(addr2), addr2, big.NewInt(1000), params.TxGas, nil, nil), signer, key2) |
|
|
|
|
|
|
|
|
|
|
|
gen.AddTx(freshDrop) // This transaction will be dropped in the fork from exactly at the split point
|
|
|
|
gen.AddTx(freshDrop) // This transaction will be dropped in the fork from exactly at the split point
|
|
|
|
gen.AddTx(swapped) // This transaction will be swapped out at the exact height
|
|
|
|
gen.AddTx(swapped) // This transaction will be swapped out at the exact height
|
|
|
@ -925,18 +925,18 @@ func TestChainTxReorgs(t *testing.T) { |
|
|
|
chain, _ = GenerateChain(params.TestChainConfig, genesis, db, 5, func(i int, gen *BlockGen) { |
|
|
|
chain, _ = GenerateChain(params.TestChainConfig, genesis, db, 5, func(i int, gen *BlockGen) { |
|
|
|
switch i { |
|
|
|
switch i { |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
|
pastAdd, _ = types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key3) |
|
|
|
pastAdd, _ = types.SignTx(types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil), signer, key3) |
|
|
|
gen.AddTx(pastAdd) // This transaction needs to be injected during reorg
|
|
|
|
gen.AddTx(pastAdd) // This transaction needs to be injected during reorg
|
|
|
|
|
|
|
|
|
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|
gen.AddTx(postponed) // This transaction was postponed from block #1 in the original chain
|
|
|
|
gen.AddTx(postponed) // This transaction was postponed from block #1 in the original chain
|
|
|
|
gen.AddTx(swapped) // This transaction was swapped from the exact current spot in the original chain
|
|
|
|
gen.AddTx(swapped) // This transaction was swapped from the exact current spot in the original chain
|
|
|
|
|
|
|
|
|
|
|
|
freshAdd, _ = types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key3) |
|
|
|
freshAdd, _ = types.SignTx(types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil), signer, key3) |
|
|
|
gen.AddTx(freshAdd) // This transaction will be added exactly at reorg time
|
|
|
|
gen.AddTx(freshAdd) // This transaction will be added exactly at reorg time
|
|
|
|
|
|
|
|
|
|
|
|
case 3: |
|
|
|
case 3: |
|
|
|
futureAdd, _ = types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(signer, key3) |
|
|
|
futureAdd, _ = types.SignTx(types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil), signer, key3) |
|
|
|
gen.AddTx(futureAdd) // This transaction will be added after a full reorg
|
|
|
|
gen.AddTx(futureAdd) // This transaction will be added after a full reorg
|
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
@ -995,7 +995,7 @@ func TestLogReorgs(t *testing.T) { |
|
|
|
subs := evmux.Subscribe(RemovedLogsEvent{}) |
|
|
|
subs := evmux.Subscribe(RemovedLogsEvent{}) |
|
|
|
chain, _ := GenerateChain(params.TestChainConfig, genesis, db, 2, func(i int, gen *BlockGen) { |
|
|
|
chain, _ := GenerateChain(params.TestChainConfig, genesis, db, 2, func(i int, gen *BlockGen) { |
|
|
|
if i == 1 { |
|
|
|
if i == 1 { |
|
|
|
tx, err := types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), code).SignECDSA(signer, key1) |
|
|
|
tx, err := types.SignTx(types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), code), signer, key1) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
t.Fatalf("failed to create tx: %v", err) |
|
|
|
t.Fatalf("failed to create tx: %v", err) |
|
|
|
} |
|
|
|
} |
|
|
@ -1035,7 +1035,7 @@ func TestReorgSideEvent(t *testing.T) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
replacementBlocks, _ := GenerateChain(params.TestChainConfig, genesis, db, 4, func(i int, gen *BlockGen) { |
|
|
|
replacementBlocks, _ := GenerateChain(params.TestChainConfig, genesis, db, 4, func(i int, gen *BlockGen) { |
|
|
|
tx, err := types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), nil).SignECDSA(signer, key1) |
|
|
|
tx, err := types.SignTx(types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), nil), signer, key1) |
|
|
|
if i == 2 { |
|
|
|
if i == 2 { |
|
|
|
gen.OffsetTime(-1) |
|
|
|
gen.OffsetTime(-1) |
|
|
|
} |
|
|
|
} |
|
|
@ -1152,7 +1152,7 @@ func TestEIP155Transition(t *testing.T) { |
|
|
|
tx *types.Transaction |
|
|
|
tx *types.Transaction |
|
|
|
err error |
|
|
|
err error |
|
|
|
basicTx = func(signer types.Signer) (*types.Transaction, error) { |
|
|
|
basicTx = func(signer types.Signer) (*types.Transaction, error) { |
|
|
|
return types.NewTransaction(block.TxNonce(address), common.Address{}, new(big.Int), big.NewInt(21000), new(big.Int), nil).SignECDSA(signer, key) |
|
|
|
return types.SignTx(types.NewTransaction(block.TxNonce(address), common.Address{}, new(big.Int), big.NewInt(21000), new(big.Int), nil), signer, key) |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
) |
|
|
|
switch i { |
|
|
|
switch i { |
|
|
@ -1215,7 +1215,7 @@ func TestEIP155Transition(t *testing.T) { |
|
|
|
tx *types.Transaction |
|
|
|
tx *types.Transaction |
|
|
|
err error |
|
|
|
err error |
|
|
|
basicTx = func(signer types.Signer) (*types.Transaction, error) { |
|
|
|
basicTx = func(signer types.Signer) (*types.Transaction, error) { |
|
|
|
return types.NewTransaction(block.TxNonce(address), common.Address{}, new(big.Int), big.NewInt(21000), new(big.Int), nil).SignECDSA(signer, key) |
|
|
|
return types.SignTx(types.NewTransaction(block.TxNonce(address), common.Address{}, new(big.Int), big.NewInt(21000), new(big.Int), nil), signer, key) |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
) |
|
|
|
switch i { |
|
|
|
switch i { |
|
|
@ -1260,11 +1260,11 @@ func TestEIP161AccountRemoval(t *testing.T) { |
|
|
|
) |
|
|
|
) |
|
|
|
switch i { |
|
|
|
switch i { |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
|
tx, err = types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil).SignECDSA(signer, key) |
|
|
|
tx, err = types.SignTx(types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil), signer, key) |
|
|
|
case 1: |
|
|
|
case 1: |
|
|
|
tx, err = types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil).SignECDSA(signer, key) |
|
|
|
tx, err = types.SignTx(types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil), signer, key) |
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|
tx, err = types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil).SignECDSA(signer, key) |
|
|
|
tx, err = types.SignTx(types.NewTransaction(block.TxNonce(address), theAddr, new(big.Int), big.NewInt(21000), new(big.Int), nil), signer, key) |
|
|
|
} |
|
|
|
} |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
t.Fatal(err) |
|
|
|
t.Fatal(err) |
|
|
|