@@ -3,15 +3,14 @@ package query
33import (
44 "context"
55 "errors"
6- "math/big"
76 "testing"
87
98 "github.com/agglayer/aggkit/aggsender/mocks"
109 "github.com/agglayer/aggkit/l1infotreesync"
1110 treetypes "github.com/agglayer/aggkit/tree/types"
11+ aggkittypes "github.com/agglayer/aggkit/types"
1212 aggkittypesmocks "github.com/agglayer/aggkit/types/mocks"
1313 "github.com/ethereum/go-ethereum/common"
14- gethtypes "github.com/ethereum/go-ethereum/core/types"
1514 "github.com/stretchr/testify/require"
1615)
1716
@@ -103,6 +102,8 @@ func Test_GetFinalizedL1InfoTreeData(t *testing.T) {
103102 }
104103}
105104
105+ var finalizedBlockBigInt = & aggkittypes .FinalizedBlock
106+
106107func Test_AggchainProverFlow_GetLatestProcessedFinalizedBlock (t * testing.T ) {
107108 t .Parallel ()
108109
@@ -117,56 +118,56 @@ func Test_AggchainProverFlow_GetLatestProcessedFinalizedBlock(t *testing.T) {
117118 {
118119 name : "error getting latest finalized L1 block" ,
119120 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
120- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (nil , errors .New ("some error" ))
121+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (nil , errors .New ("some error" ))
121122 },
122123 expectedError : "error getting latest finalized L1 block: some error" ,
123124 },
124125 {
125126 name : "error getting latest processed block from l1infotreesyncer" ,
126127 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
127- l1Header := & gethtypes. Header {Number : big . NewInt ( 10 ) }
128- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
129- mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number . Uint64 () ).Return (uint64 (0 ), common.Hash {}, errors .New ("some error" ))
128+ l1Header := & aggkittypes. BlockHeader {Number : 10 }
129+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
130+ mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number ).Return (uint64 (0 ), common.Hash {}, errors .New ("some error" ))
130131 },
131132 expectedError : "error getting latest processed block from l1infotreesyncer: some error" ,
132133 },
133134 {
134135 name : "l1infotreesyncer did not process any block yet" ,
135136 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
136- l1Header := & gethtypes. Header {Number : big . NewInt ( 10 ) }
137- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
138- mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number . Uint64 () ).Return (uint64 (0 ), common.Hash {}, nil )
137+ l1Header := & aggkittypes. BlockHeader {Number : 10 }
138+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
139+ mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number ).Return (uint64 (0 ), common.Hash {}, nil )
139140 },
140141 expectedError : "l1infotreesyncer did not process any block yet" ,
141142 },
142143 {
143144 name : "error getting latest processed finalized block" ,
144145 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
145- l1Header := & gethtypes. Header {Number : big . NewInt ( 10 ) }
146- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
147- mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number . Uint64 () ).Return (uint64 (9 ), common.Hash {}, nil )
148- mockL1Client .On ("HeaderByNumber " , ctx , big . NewInt (9 )).Return (nil , errors .New ("some error" ))
146+ l1Header := & aggkittypes. BlockHeader {Number : 10 }
147+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
148+ mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number ).Return (uint64 (9 ), common.Hash {}, nil )
149+ mockL1Client .On ("CustomHeaderByNumber " , ctx , aggkittypes . NewBlockNumber (9 )).Return (nil , errors .New ("some error" ))
149150 },
150151 expectedError : "error getting latest processed finalized block: 9: some error" ,
151152 },
152153 {
153154 name : "l1infotreesyncer returned a different hash for the latest finalized block" ,
154155 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
155- l1Header := & gethtypes. Header {Number : big . NewInt ( 10 )}
156- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
157- mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number . Uint64 () ).Return (
158- l1Header .Number . Uint64 () , common .HexToHash ("0x2" ), nil )
156+ l1Header := & aggkittypes. BlockHeader {Number : 10 , Hash : common . HexToHash ( "0xabc" )}
157+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
158+ mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number ).Return (
159+ l1Header .Number , common .HexToHash ("0x2" ), nil )
159160 },
160161 expectedError : "l1infotreesyncer returned a different hash for the latest finalized block: 10. " +
161162 "Might be that syncer did not process a reorg yet." ,
162163 },
163164 {
164165 name : "success" ,
165166 mockFn : func (mockL1InfoTreeSyncer * mocks.L1InfoTreeSyncer , mockL1Client * aggkittypesmocks.BaseEthereumClienter ) {
166- l1Header := & gethtypes. Header {Number : big . NewInt ( 10 ) }
167- mockL1Client .On ("HeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
168- mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number . Uint64 () ).Return (
169- l1Header .Number . Uint64 () , l1Header .Hash () , nil )
167+ l1Header := & aggkittypes. BlockHeader {Number : 10 }
168+ mockL1Client .On ("CustomHeaderByNumber " , ctx , finalizedBlockBigInt ).Return (l1Header , nil )
169+ mockL1InfoTreeSyncer .On ("GetProcessedBlockUntil" , ctx , l1Header .Number ).Return (
170+ l1Header .Number , l1Header .Hash , nil )
170171 },
171172 expectedBlock : 10 ,
172173 },
0 commit comments