diff --git a/op-e2e/system_test.go b/op-e2e/system_test.go index b76526b34062b71749ccf8f9cd46c039d534c161..0f191a545b9adf66105334cc75aa096086e41279 100644 --- a/op-e2e/system_test.go +++ b/op-e2e/system_test.go @@ -1032,22 +1032,25 @@ func TestFees(t *testing.T) { ctx, cancel = context.WithTimeout(context.Background(), 1*time.Second) defer cancel() - coinbaseStartBalance, err := l2Seq.BalanceAt(ctx, header.Coinbase, header.Number.Sub(header.Number, big.NewInt(1))) + coinbaseStartBalance, err := l2Seq.BalanceAt(ctx, header.Coinbase, safeAddBig(header.Number, big.NewInt(-1))) require.Nil(t, err) ctx, cancel = context.WithTimeout(context.Background(), 1*time.Second) defer cancel() - coinbaseEndBalance, err := l2Seq.BalanceAt(ctx, header.Coinbase, nil) + coinbaseEndBalance, err := l2Seq.BalanceAt(ctx, header.Coinbase, header.Number) require.Nil(t, err) ctx, cancel = context.WithTimeout(context.Background(), 1*time.Second) defer cancel() - endBalance, err := l2Seq.BalanceAt(ctx, fromAddr, nil) + endBalance, err := l2Seq.BalanceAt(ctx, fromAddr, header.Number) require.Nil(t, err) ctx, cancel = context.WithTimeout(context.Background(), 1*time.Second) defer cancel() - baseFeeRecipientEndBalance, err := l2Seq.BalanceAt(ctx, cfg.BaseFeeRecipient, nil) + baseFeeRecipientEndBalance, err := l2Seq.BalanceAt(ctx, cfg.BaseFeeRecipient, header.Number) + require.Nil(t, err) + + l1Header, err := sys.Clients["l1"].HeaderByNumber(ctx, nil) require.Nil(t, err) ctx, cancel = context.WithTimeout(context.Background(), 1*time.Second) @@ -1073,7 +1076,7 @@ func TestFees(t *testing.T) { require.Nil(t, err) l1GasUsed := calcL1GasUsed(bytes, overhead) divisor := new(big.Int).Exp(big.NewInt(10), decimals, nil) - l1Fee := new(big.Int).Mul(l1GasUsed, header.BaseFee) + l1Fee := new(big.Int).Mul(l1GasUsed, l1Header.BaseFee) l1Fee = l1Fee.Mul(l1Fee, scalar) l1Fee = l1Fee.Div(l1Fee, divisor) require.Equal(t, l1Fee, l1FeeRecipientDiff, "l1 fee mismatch") @@ -1090,3 +1093,7 @@ func TestFees(t *testing.T) { balanceDiff.Sub(balanceDiff, transferAmount) require.Equal(t, balanceDiff, totalFee, "balances should add up") } + +func safeAddBig(a *big.Int, b *big.Int) *big.Int { + return new(big.Int).Add(a, b) +}