@@ -11,6 +11,7 @@ import (
11
11
"github.com/scroll-tech/go-ethereum/ethdb"
12
12
"github.com/scroll-tech/go-ethereum/log"
13
13
"github.com/scroll-tech/go-ethereum/rollup/da_syncer/blob_client"
14
+ "github.com/scroll-tech/go-ethereum/rollup/da_syncer/serrors"
14
15
"github.com/scroll-tech/go-ethereum/rollup/rollup_sync_service"
15
16
)
16
17
@@ -72,7 +73,7 @@ func (ds *CalldataBlobSource) NextData() (Entries, error) {
72
73
if to > ds .l1Finalized {
73
74
ds .l1Finalized , err = ds .l1Client .GetLatestFinalizedBlockNumber ()
74
75
if err != nil {
75
- return nil , fmt .Errorf ("failed to query GetLatestFinalizedBlockNumber, error: %v" , err )
76
+ return nil , serrors . NewTemporaryError ( fmt .Errorf ("failed to query GetLatestFinalizedBlockNumber, error: %v" , err ) )
76
77
}
77
78
// make sure we don't request more than finalized blocks
78
79
to = min (to , ds .l1Finalized )
@@ -84,13 +85,15 @@ func (ds *CalldataBlobSource) NextData() (Entries, error) {
84
85
85
86
logs , err := ds .l1Client .FetchRollupEventsInRange (ds .l1height , to )
86
87
if err != nil {
87
- return nil , fmt .Errorf ("cannot get events, l1height: %d, error: %v" , ds .l1height , err )
88
+ return nil , serrors . NewTemporaryError ( fmt .Errorf ("cannot get events, l1height: %d, error: %v" , ds .l1height , err ) )
88
89
}
89
90
da , err := ds .processLogsToDA (logs )
90
- if err = = nil {
91
- ds . l1height = to + 1
91
+ if err ! = nil {
92
+ return nil , serrors . NewTemporaryError ( fmt . Errorf ( "failed to process logs to DA, error: %v" , err ))
92
93
}
93
- return da , err
94
+
95
+ ds .l1height = to + 1
96
+ return da , nil
94
97
}
95
98
96
99
func (ds * CalldataBlobSource ) L1Height () uint64 {
@@ -119,7 +122,7 @@ func (ds *CalldataBlobSource) processLogsToDA(logs []types.Log) (Entries, error)
119
122
120
123
case ds .l1RevertBatchEventSignature :
121
124
event := & rollup_sync_service.L1RevertBatchEvent {}
122
- if err : = rollup_sync_service .UnpackLog (ds .scrollChainABI , event , revertBatchEventName , vLog ); err != nil {
125
+ if err = rollup_sync_service .UnpackLog (ds .scrollChainABI , event , revertBatchEventName , vLog ); err != nil {
123
126
return nil , fmt .Errorf ("failed to unpack revert rollup event log, err: %w" , err )
124
127
}
125
128
@@ -129,7 +132,7 @@ func (ds *CalldataBlobSource) processLogsToDA(logs []types.Log) (Entries, error)
129
132
130
133
case ds .l1FinalizeBatchEventSignature :
131
134
event := & rollup_sync_service.L1FinalizeBatchEvent {}
132
- if err : = rollup_sync_service .UnpackLog (ds .scrollChainABI , event , finalizeBatchEventName , vLog ); err != nil {
135
+ if err = rollup_sync_service .UnpackLog (ds .scrollChainABI , event , finalizeBatchEventName , vLog ); err != nil {
133
136
return nil , fmt .Errorf ("failed to unpack finalized rollup event log, err: %w" , err )
134
137
}
135
138
@@ -188,7 +191,7 @@ func (ds *CalldataBlobSource) getCommitBatchDA(batchIndex uint64, vLog *types.Lo
188
191
189
192
txData , err := ds .l1Client .FetchTxData (vLog )
190
193
if err != nil {
191
- return nil , err
194
+ return nil , fmt . Errorf ( "failed to fetch tx data, tx hash: %v, err: %w" , vLog . TxHash . Hex (), err )
192
195
}
193
196
if len (txData ) < methodIDLength {
194
197
return nil , fmt .Errorf ("transaction data is too short, length of tx data: %v, minimum length required: %v" , len (txData ), methodIDLength )
0 commit comments