Skip to content

Commit c4f869a

Browse files
authored
refactor(sender): remove fallback gas limit (#1662)
1 parent 0cee9a5 commit c4f869a

File tree

9 files changed

+41
-118
lines changed

9 files changed

+41
-118
lines changed

common/version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"runtime/debug"
66
)
77

8-
var tag = "v4.5.13"
8+
var tag = "v4.5.14"
99

1010
var commit = func() string {
1111
if info, ok := debug.ReadBuildInfo(); ok {

rollup/conf/config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@
8888
"private_key_signer_config": {
8989
"private_key": "1515151515151515151515151515151515151515151515151515151515151515"
9090
}
91-
},
92-
"l1_commit_gas_limit_multiplier": 1.2
91+
}
9392
},
9493
"chunk_proposer_config": {
9594
"propose_interval_milliseconds": 100,

rollup/internal/config/relayer.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ type RelayerConfig struct {
6565
GasOracleConfig *GasOracleConfig `json:"gas_oracle_config"`
6666
// ChainMonitor config of monitoring service
6767
ChainMonitor *ChainMonitor `json:"chain_monitor"`
68-
// L1CommitGasLimitMultiplier multiplier for fallback gas limit in commitBatch txs
69-
L1CommitGasLimitMultiplier float64 `json:"l1_commit_gas_limit_multiplier,omitempty"`
7068

7169
// Configs of transaction signers (GasOracle, Commit, Finalize)
7270
GasOracleSenderSignerConfig *SignerConfig `json:"gas_oracle_sender_signer_config"`

rollup/internal/controller/relayer/l1_relayer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ func (r *Layer1Relayer) ProcessGasPriceOracle() {
179179
return
180180
}
181181

182-
hash, err := r.gasOracleSender.SendTransaction(block.Hash, &r.cfg.GasPriceOracleContractAddress, data, nil, 0)
182+
hash, err := r.gasOracleSender.SendTransaction(block.Hash, &r.cfg.GasPriceOracleContractAddress, data, nil)
183183
if err != nil {
184184
log.Error("Failed to send gas oracle update tx to layer2", "block.Hash", block.Hash, "block.Height", block.Number, "block.BaseFee", baseFee, "block.BlobBaseFee", blobBaseFee, "err", err)
185185
return

rollup/internal/controller/relayer/l1_relayer_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,13 @@ func testL1RelayerProcessGasPriceOracle(t *testing.T) {
146146

147147
convey.Convey("send transaction failure", t, func() {
148148
targetErr := errors.New("send transaction failure")
149-
patchGuard.ApplyMethodFunc(l1Relayer.gasOracleSender, "SendTransaction", func(string, *common.Address, []byte, *kzg4844.Blob, uint64) (hash common.Hash, err error) {
149+
patchGuard.ApplyMethodFunc(l1Relayer.gasOracleSender, "SendTransaction", func(string, *common.Address, []byte, *kzg4844.Blob) (hash common.Hash, err error) {
150150
return common.Hash{}, targetErr
151151
})
152152
l1Relayer.ProcessGasPriceOracle()
153153
})
154154

155-
patchGuard.ApplyMethodFunc(l1Relayer.gasOracleSender, "SendTransaction", func(string, *common.Address, []byte, *kzg4844.Blob, uint64) (hash common.Hash, err error) {
155+
patchGuard.ApplyMethodFunc(l1Relayer.gasOracleSender, "SendTransaction", func(string, *common.Address, []byte, *kzg4844.Blob) (hash common.Hash, err error) {
156156
return common.Hash{}, nil
157157
})
158158

rollup/internal/controller/relayer/l2_relayer.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ func (r *Layer2Relayer) commitGenesisBatch(batchHash string, batchHeader []byte,
271271
}
272272

273273
// submit genesis batch to L1 rollup contract
274-
txHash, err := r.commitSender.SendTransaction(batchHash, &r.cfg.RollupContractAddress, calldata, nil, 0)
274+
txHash, err := r.commitSender.SendTransaction(batchHash, &r.cfg.RollupContractAddress, calldata, nil)
275275
if err != nil {
276276
return fmt.Errorf("failed to send import genesis batch tx to L1, error: %v", err)
277277
}
@@ -452,7 +452,7 @@ func (r *Layer2Relayer) ProcessPendingBatches() {
452452
return
453453
}
454454

455-
txHash, err := r.commitSender.SendTransaction(r.contextIDFromBatches(batchesToSubmit), &r.cfg.RollupContractAddress, calldata, blobs, 0)
455+
txHash, err := r.commitSender.SendTransaction(r.contextIDFromBatches(batchesToSubmit), &r.cfg.RollupContractAddress, calldata, blobs)
456456
if err != nil {
457457
if errors.Is(err, sender.ErrTooManyPendingBlobTxs) {
458458
r.metrics.rollupL2RelayerProcessPendingBatchErrTooManyPendingBlobTxsTotal.Inc()
@@ -675,7 +675,7 @@ func (r *Layer2Relayer) finalizeBundle(bundle *orm.Bundle, withProof bool) error
675675
return fmt.Errorf("unsupported codec version in finalizeBundle, bundle index: %v, version: %d", bundle.Index, bundle.CodecVersion)
676676
}
677677

678-
txHash, err := r.finalizeSender.SendTransaction("finalizeBundle-"+bundle.Hash, &r.cfg.RollupContractAddress, calldata, nil, 0)
678+
txHash, err := r.finalizeSender.SendTransaction("finalizeBundle-"+bundle.Hash, &r.cfg.RollupContractAddress, calldata, nil)
679679
if err != nil {
680680
log.Error("finalizeBundle in layer1 failed", "with proof", withProof, "index", bundle.Index,
681681
"start batch index", bundle.StartBatchIndex, "end batch index", bundle.EndBatchIndex,

rollup/internal/controller/sender/estimategas.go

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ import (
77
"github.com/scroll-tech/go-ethereum"
88
"github.com/scroll-tech/go-ethereum/common"
99
"github.com/scroll-tech/go-ethereum/core/types"
10-
gethTypes "github.com/scroll-tech/go-ethereum/core/types"
1110
"github.com/scroll-tech/go-ethereum/log"
1211
)
1312

14-
func (s *Sender) estimateLegacyGas(to *common.Address, data []byte, fallbackGasLimit uint64) (*FeeData, error) {
13+
func (s *Sender) estimateLegacyGas(to *common.Address, data []byte) (*FeeData, error) {
1514
gasPrice, err := s.client.SuggestGasPrice(s.ctx)
1615
if err != nil {
1716
log.Error("estimateLegacyGas SuggestGasPrice failure", "error", err)
@@ -26,21 +25,17 @@ func (s *Sender) estimateLegacyGas(to *common.Address, data []byte, fallbackGasL
2625
gasLimit, _, err := s.estimateGasLimit(to, data, nil, gasPrice, nil, nil, nil)
2726
if err != nil {
2827
log.Error("estimateLegacyGas estimateGasLimit failure", "gas price", gasPrice, "from", s.transactionSigner.GetAddr().String(),
29-
"nonce", s.transactionSigner.GetNonce(), "to address", to.String(), "fallback gas limit", fallbackGasLimit, "error", err)
30-
if fallbackGasLimit == 0 {
31-
return nil, err
32-
}
33-
gasLimit = fallbackGasLimit
34-
} else {
35-
gasLimit = gasLimit * 12 / 10 // 20% extra gas to avoid out of gas error
28+
"nonce", s.transactionSigner.GetNonce(), "to address", to.String(), "error", err)
29+
return nil, err
3630
}
31+
3732
return &FeeData{
3833
gasPrice: gasPrice,
39-
gasLimit: gasLimit,
34+
gasLimit: gasLimit * 12 / 10, // 20% extra gas to avoid out of gas error
4035
}, nil
4136
}
4237

43-
func (s *Sender) estimateDynamicGas(to *common.Address, data []byte, baseFee uint64, fallbackGasLimit uint64) (*FeeData, error) {
38+
func (s *Sender) estimateDynamicGas(to *common.Address, data []byte, baseFee uint64) (*FeeData, error) {
4439
gasTipCap, err := s.client.SuggestGasTipCap(s.ctx)
4540
if err != nil {
4641
log.Error("estimateDynamicGas SuggestGasTipCap failure", "error", err)
@@ -57,16 +52,12 @@ func (s *Sender) estimateDynamicGas(to *common.Address, data []byte, baseFee uin
5752
if err != nil {
5853
log.Error("estimateDynamicGas estimateGasLimit failure",
5954
"from", s.transactionSigner.GetAddr().String(), "nonce", s.transactionSigner.GetNonce(), "to address", to.String(),
60-
"fallback gas limit", fallbackGasLimit, "error", err)
61-
if fallbackGasLimit == 0 {
62-
return nil, err
63-
}
64-
gasLimit = fallbackGasLimit
65-
} else {
66-
gasLimit = gasLimit * 12 / 10 // 20% extra gas to avoid out of gas error
55+
"fallback gas limit", "error", err)
56+
return nil, err
6757
}
58+
6859
feeData := &FeeData{
69-
gasLimit: gasLimit,
60+
gasLimit: gasLimit * 12 / 10, // 20% extra gas to avoid out of gas error,
7061
gasTipCap: gasTipCap,
7162
gasFeeCap: gasFeeCap,
7263
}
@@ -76,7 +67,7 @@ func (s *Sender) estimateDynamicGas(to *common.Address, data []byte, baseFee uin
7667
return feeData, nil
7768
}
7869

79-
func (s *Sender) estimateBlobGas(to *common.Address, data []byte, sidecar *gethTypes.BlobTxSidecar, baseFee, blobBaseFee uint64, fallbackGasLimit uint64) (*FeeData, error) {
70+
func (s *Sender) estimateBlobGas(to *common.Address, data []byte, sidecar *types.BlobTxSidecar, baseFee, blobBaseFee uint64) (*FeeData, error) {
8071
gasTipCap, err := s.client.SuggestGasTipCap(s.ctx)
8172
if err != nil {
8273
log.Error("estimateBlobGas SuggestGasTipCap failure", "error", err)
@@ -93,17 +84,12 @@ func (s *Sender) estimateBlobGas(to *common.Address, data []byte, sidecar *gethT
9384
gasLimit, accessList, err := s.estimateGasLimit(to, data, sidecar, nil, gasTipCap, gasFeeCap, blobGasFeeCap)
9485
if err != nil {
9586
log.Error("estimateBlobGas estimateGasLimit failure",
96-
"from", s.transactionSigner.GetAddr().String(), "nonce", s.transactionSigner.GetNonce(), "to address", to.String(),
97-
"fallback gas limit", fallbackGasLimit, "error", err)
98-
if fallbackGasLimit == 0 {
99-
return nil, err
100-
}
101-
gasLimit = fallbackGasLimit
102-
} else {
103-
gasLimit = gasLimit * 12 / 10 // 20% extra gas to avoid out of gas error
87+
"from", s.transactionSigner.GetAddr().String(), "nonce", s.transactionSigner.GetNonce(), "to address", to.String(), "error", err)
88+
return nil, err
10489
}
90+
10591
feeData := &FeeData{
106-
gasLimit: gasLimit,
92+
gasLimit: gasLimit * 12 / 10, // 20% extra gas to avoid out of gas error
10793
gasTipCap: gasTipCap,
10894
gasFeeCap: gasFeeCap,
10995
blobGasFeeCap: blobGasFeeCap,
@@ -115,7 +101,7 @@ func (s *Sender) estimateBlobGas(to *common.Address, data []byte, sidecar *gethT
115101
return feeData, nil
116102
}
117103

118-
func (s *Sender) estimateGasLimit(to *common.Address, data []byte, sidecar *gethTypes.BlobTxSidecar, gasPrice, gasTipCap, gasFeeCap, blobGasFeeCap *big.Int) (uint64, *types.AccessList, error) {
104+
func (s *Sender) estimateGasLimit(to *common.Address, data []byte, sidecar *types.BlobTxSidecar, gasPrice, gasTipCap, gasFeeCap, blobGasFeeCap *big.Int) (uint64, *types.AccessList, error) {
119105
msg := ethereum.CallMsg{
120106
From: s.transactionSigner.GetAddr(),
121107
To: to,

rollup/internal/controller/sender/sender.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -156,22 +156,22 @@ func (s *Sender) SendConfirmation(cfm *Confirmation) {
156156
s.confirmCh <- cfm
157157
}
158158

159-
func (s *Sender) getFeeData(target *common.Address, data []byte, sidecar *gethTypes.BlobTxSidecar, baseFee, blobBaseFee uint64, fallbackGasLimit uint64) (*FeeData, error) {
159+
func (s *Sender) getFeeData(target *common.Address, data []byte, sidecar *gethTypes.BlobTxSidecar, baseFee, blobBaseFee uint64) (*FeeData, error) {
160160
switch s.config.TxType {
161161
case LegacyTxType:
162-
return s.estimateLegacyGas(target, data, fallbackGasLimit)
162+
return s.estimateLegacyGas(target, data)
163163
case DynamicFeeTxType:
164164
if sidecar == nil {
165-
return s.estimateDynamicGas(target, data, baseFee, fallbackGasLimit)
165+
return s.estimateDynamicGas(target, data, baseFee)
166166
}
167-
return s.estimateBlobGas(target, data, sidecar, baseFee, blobBaseFee, fallbackGasLimit)
167+
return s.estimateBlobGas(target, data, sidecar, baseFee, blobBaseFee)
168168
default:
169169
return nil, fmt.Errorf("unsupported transaction type: %s", s.config.TxType)
170170
}
171171
}
172172

173173
// SendTransaction send a signed L2tL1 transaction.
174-
func (s *Sender) SendTransaction(contextID string, target *common.Address, data []byte, blobs []*kzg4844.Blob, fallbackGasLimit uint64) (common.Hash, error) {
174+
func (s *Sender) SendTransaction(contextID string, target *common.Address, data []byte, blobs []*kzg4844.Blob) (common.Hash, error) {
175175
s.metrics.sendTransactionTotal.WithLabelValues(s.service, s.name).Inc()
176176
var (
177177
feeData *FeeData
@@ -210,9 +210,9 @@ func (s *Sender) SendTransaction(contextID string, target *common.Address, data
210210
return common.Hash{}, fmt.Errorf("failed to get block number and base fee, err: %w", err)
211211
}
212212

213-
if feeData, err = s.getFeeData(target, data, sidecar, baseFee, blobBaseFee, fallbackGasLimit); err != nil {
213+
if feeData, err = s.getFeeData(target, data, sidecar, baseFee, blobBaseFee); err != nil {
214214
s.metrics.sendTransactionFailureGetFee.WithLabelValues(s.service, s.name).Inc()
215-
log.Error("failed to get fee data", "from", s.transactionSigner.GetAddr().String(), "nonce", s.transactionSigner.GetNonce(), "fallback gas limit", fallbackGasLimit, "err", err)
215+
log.Error("failed to get fee data", "from", s.transactionSigner.GetAddr().String(), "nonce", s.transactionSigner.GetNonce(), "err", err)
216216
return common.Hash{}, fmt.Errorf("failed to get fee data, err: %w", err)
217217
}
218218

rollup/internal/controller/sender/sender_test.go

Lines changed: 10 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
gethTypes "github.com/scroll-tech/go-ethereum/core/types"
2222
"github.com/scroll-tech/go-ethereum/crypto"
2323
"github.com/scroll-tech/go-ethereum/crypto/kzg4844"
24-
"github.com/scroll-tech/go-ethereum/ethclient"
2524
"github.com/scroll-tech/go-ethereum/log"
2625
"github.com/scroll-tech/go-ethereum/rpc"
2726
"github.com/stretchr/testify/assert"
@@ -34,7 +33,6 @@ import (
3433

3534
bridgeAbi "scroll-tech/rollup/abi"
3635
"scroll-tech/rollup/internal/config"
37-
"scroll-tech/rollup/internal/orm"
3836
"scroll-tech/rollup/mock_bridge"
3937
)
4038

@@ -136,7 +134,6 @@ func TestSender(t *testing.T) {
136134
setupEnv(t)
137135
t.Run("test new sender", testNewSender)
138136
t.Run("test send and retrieve transaction", testSendAndRetrieveTransaction)
139-
t.Run("test fallback gas limit", testFallbackGasLimit)
140137
t.Run("test access list transaction gas limit", testAccessListTransactionGasLimit)
141138
t.Run("test resubmit zero gas price transaction", testResubmitZeroGasPriceTransaction)
142139
t.Run("test resubmit non-zero gas price transaction", testResubmitNonZeroGasPriceTransaction)
@@ -190,7 +187,7 @@ func testSendAndRetrieveTransaction(t *testing.T) {
190187
if txBlob[i] != nil {
191188
blobs = []*kzg4844.Blob{txBlob[i]}
192189
}
193-
hash, err := s.SendTransaction("0", &common.Address{}, nil, blobs, 0)
190+
hash, err := s.SendTransaction("0", &common.Address{}, nil, blobs)
194191
assert.NoError(t, err)
195192
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 1)
196193
assert.NoError(t, err)
@@ -214,63 +211,6 @@ func testSendAndRetrieveTransaction(t *testing.T) {
214211
}
215212
}
216213

217-
func testFallbackGasLimit(t *testing.T) {
218-
for i, txType := range txTypes {
219-
sqlDB, err := db.DB()
220-
assert.NoError(t, err)
221-
assert.NoError(t, migrate.ResetDB(sqlDB))
222-
223-
cfgCopy := *cfg.L2Config.RelayerConfig.SenderConfig
224-
cfgCopy.TxType = txType
225-
cfgCopy.Confirmations = rpc.LatestBlockNumber
226-
s, err := NewSender(context.Background(), &cfgCopy, signerConfig, "test", "test", types.SenderTypeUnknown, db, nil)
227-
assert.NoError(t, err)
228-
229-
client, err := ethclient.Dial(cfgCopy.Endpoint)
230-
assert.NoError(t, err)
231-
232-
var blobs []*kzg4844.Blob
233-
if txBlob[i] != nil {
234-
blobs = []*kzg4844.Blob{txBlob[i]}
235-
}
236-
// FallbackGasLimit = 0
237-
txHash0, err := s.SendTransaction("0", &common.Address{}, nil, blobs, 0)
238-
assert.NoError(t, err)
239-
tx0, _, err := client.TransactionByHash(context.Background(), txHash0)
240-
assert.NoError(t, err)
241-
assert.Greater(t, tx0.Gas(), uint64(0))
242-
243-
assert.Eventually(t, func() bool {
244-
var txs []orm.PendingTransaction
245-
txs, err = s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 100)
246-
assert.NoError(t, err)
247-
return len(txs) == 0
248-
}, 30*time.Second, time.Second)
249-
250-
// FallbackGasLimit = 100000
251-
patchGuard := gomonkey.ApplyPrivateMethod(s, "estimateGasLimit",
252-
func(contract *common.Address, data []byte, sidecar *gethTypes.BlobTxSidecar, gasPrice, gasTipCap, gasFeeCap, blobGasFeeCap *big.Int) (uint64, *gethTypes.AccessList, error) {
253-
return 0, nil, errors.New("estimateGasLimit error")
254-
},
255-
)
256-
257-
txHash1, err := s.SendTransaction("1", &common.Address{}, nil, blobs, 100000)
258-
assert.NoError(t, err)
259-
tx1, _, err := client.TransactionByHash(context.Background(), txHash1)
260-
assert.NoError(t, err)
261-
assert.Equal(t, uint64(100000), tx1.Gas())
262-
263-
assert.Eventually(t, func() bool {
264-
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 100)
265-
assert.NoError(t, err)
266-
return len(txs) == 0
267-
}, 30*time.Second, time.Second)
268-
269-
s.Stop()
270-
patchGuard.Reset()
271-
}
272-
}
273-
274214
func testResubmitZeroGasPriceTransaction(t *testing.T) {
275215
for i, txType := range txTypes {
276216
if txBlob[i] != nil {
@@ -605,10 +545,10 @@ func testResubmitNonceGappedTransaction(t *testing.T) {
605545
if txBlob[i] != nil {
606546
blobs = []*kzg4844.Blob{txBlob[i]}
607547
}
608-
_, err = s.SendTransaction("test-1", &common.Address{}, nil, blobs, 0)
548+
_, err = s.SendTransaction("test-1", &common.Address{}, nil, blobs)
609549
assert.NoError(t, err)
610550

611-
_, err = s.SendTransaction("test-2", &common.Address{}, nil, blobs, 0)
551+
_, err = s.SendTransaction("test-2", &common.Address{}, nil, blobs)
612552
assert.NoError(t, err)
613553

614554
s.checkPendingTransaction()
@@ -649,7 +589,7 @@ func testCheckPendingTransactionTxConfirmed(t *testing.T) {
649589
return nil
650590
})
651591

652-
_, err = s.SendTransaction("test", &common.Address{}, nil, randBlobs(1), 0)
592+
_, err = s.SendTransaction("test", &common.Address{}, nil, randBlobs(1))
653593
assert.NoError(t, err)
654594

655595
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 1)
@@ -691,7 +631,7 @@ func testCheckPendingTransactionResubmitTxConfirmed(t *testing.T) {
691631
return nil
692632
})
693633

694-
originTxHash, err := s.SendTransaction("test", &common.Address{}, nil, randBlobs(1), 0)
634+
originTxHash, err := s.SendTransaction("test", &common.Address{}, nil, randBlobs(1))
695635
assert.NoError(t, err)
696636

697637
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 1)
@@ -751,7 +691,7 @@ func testCheckPendingTransactionReplacedTxConfirmed(t *testing.T) {
751691
return nil
752692
})
753693

754-
txHash, err := s.SendTransaction("test", &common.Address{}, nil, randBlobs(1), 0)
694+
txHash, err := s.SendTransaction("test", &common.Address{}, nil, randBlobs(1))
755695
assert.NoError(t, err)
756696

757697
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 1)
@@ -821,7 +761,7 @@ func testCheckPendingTransactionTxMultipleTimesWithOnlyOneTxPending(t *testing.T
821761
return nil
822762
})
823763

824-
_, err = s.SendTransaction("test", &common.Address{}, nil, randBlobs(1), 0)
764+
_, err = s.SendTransaction("test", &common.Address{}, nil, randBlobs(1))
825765
assert.NoError(t, err)
826766

827767
txs, err := s.pendingTransactionOrm.GetPendingOrReplacedTransactionsBySenderType(context.Background(), s.senderType, 1)
@@ -895,7 +835,7 @@ func testBlobTransactionWithBlobhashOpContractCall(t *testing.T) {
895835
assert.NoError(t, err)
896836
defer s.Stop()
897837

898-
_, err = s.SendTransaction("0", &testContractsAddress, data, blobs, 0)
838+
_, err = s.SendTransaction("0", &testContractsAddress, data, blobs)
899839
assert.NoError(t, err)
900840

901841
var txHash common.Hash
@@ -953,10 +893,10 @@ func testSendBlobCarryingTxOverLimit(t *testing.T) {
953893
assert.NoError(t, err)
954894

955895
for i := 0; i < int(cfgCopy.MaxPendingBlobTxs); i++ {
956-
_, err = s.SendTransaction("0", &common.Address{}, nil, randBlobs(1), 0)
896+
_, err = s.SendTransaction("0", &common.Address{}, nil, randBlobs(1))
957897
assert.NoError(t, err)
958898
}
959-
_, err = s.SendTransaction("0", &common.Address{}, nil, randBlobs(1), 0)
899+
_, err = s.SendTransaction("0", &common.Address{}, nil, randBlobs(1))
960900
assert.ErrorIs(t, err, ErrTooManyPendingBlobTxs)
961901
s.Stop()
962902
}

0 commit comments

Comments
 (0)