@@ -937,6 +937,57 @@ describe('PXEOracleInterface', () => {
937937 } ) ;
938938 } ) ;
939939
940+ describe ( 'Respects synced block number' , ( ) => {
941+ const syncedBlockNumber = 100 ;
942+ let contractAddress : AztecAddress ;
943+ let nullifier : Fr ;
944+ let leafSlot : Fr ;
945+
946+ beforeEach ( async ( ) => {
947+ contractAddress = await AztecAddress . random ( ) ;
948+ nullifier = Fr . random ( ) ;
949+ leafSlot = Fr . random ( ) ;
950+ await setSyncedBlockNumber ( syncedBlockNumber ) ;
951+ } ) ;
952+
953+ it ( 'throws when getting low nullifier membership witness for future block' , async ( ) => {
954+ await expect (
955+ pxeOracleInterface . getLowNullifierMembershipWitness ( syncedBlockNumber + 1 , nullifier ) ,
956+ ) . rejects . toThrow ( `Block number ${ syncedBlockNumber + 1 } is higher than current block ${ syncedBlockNumber } ` ) ;
957+ } ) ;
958+
959+ it ( 'throws when getting block for future block number' , async ( ) => {
960+ await expect ( pxeOracleInterface . getBlock ( syncedBlockNumber + 1 ) ) . rejects . toThrow (
961+ `Block number ${ syncedBlockNumber + 1 } is higher than current block ${ syncedBlockNumber } ` ,
962+ ) ;
963+ } ) ;
964+
965+ it ( 'throws when getting public data witness for future block' , async ( ) => {
966+ await expect ( pxeOracleInterface . getPublicDataWitness ( syncedBlockNumber + 1 , leafSlot ) ) . rejects . toThrow (
967+ `Block number ${ syncedBlockNumber + 1 } is higher than current block ${ syncedBlockNumber } ` ,
968+ ) ;
969+ } ) ;
970+
971+ it ( 'throws when getting public storage for future block' , async ( ) => {
972+ await expect (
973+ pxeOracleInterface . getPublicStorageAt ( syncedBlockNumber + 1 , contractAddress , leafSlot ) ,
974+ ) . rejects . toThrow ( `Block number ${ syncedBlockNumber + 1 } is higher than current block ${ syncedBlockNumber } ` ) ;
975+ } ) ;
976+ } ) ;
977+
978+ describe ( 'getBlockHeader' , ( ) => {
979+ it ( 'returns the synced block header and not header from aztec node' , async ( ) => {
980+ const blockNumber = 42 ;
981+ const header = BlockHeader . empty ( {
982+ globalVariables : GlobalVariables . empty ( { blockNumber } ) ,
983+ } ) ;
984+ await syncDataProvider . setHeader ( header ) ;
985+
986+ const result = await pxeOracleInterface . getBlockHeader ( ) ;
987+ expect ( result ) . toEqual ( header ) ;
988+ } ) ;
989+ } ) ;
990+
940991 const setSyncedBlockNumber = ( blockNumber : number ) => {
941992 return syncDataProvider . setHeader (
942993 BlockHeader . empty ( {
0 commit comments