@@ -4,7 +4,6 @@ package multidownloader
44import (
55 "context"
66 "fmt"
7- "math/big"
87 "time"
98
109 mdrtypes "github.com/agglayer/aggkit/multidownloader/types"
@@ -73,26 +72,26 @@ func (dh *EVMMultidownloader) FilterLogs(ctx context.Context, query ethereum.Fil
7372func (dh * EVMMultidownloader ) HeaderByNumber (ctx context.Context , number * aggkittypes.BlockNumberFinality ) (* aggkittypes.BlockHeader , error ) {
7473 dh .log .Debugf ("EVMMultidownloader.HeaderByNumber: received number: %s" , number .String ())
7574 defer dh .log .Debugf ("EVMMultidownloader.HeaderByNumber: finished number: %s" , number .String ())
76- if number .Cmp ( big . NewInt ( 0 )) < 0 {
77- return nil , fmt .Errorf ("EVMMultidownloader.HeaderByNumber: negative block numbers are not supported=%s" ,
75+ if ! number .IsConstant () {
76+ return nil , fmt .Errorf ("EVMMultidownloader.HeaderByNumber: only numeric blockNumber are not supported=%s" ,
7877 number .String ())
7978 }
80-
81- block , _ , err := dh .storage .GetBlockHeaderByNumber (nil , number . Uint64 () )
79+ blockNumber := number . Specific
80+ block , _ , err := dh .storage .GetBlockHeaderByNumber (nil , blockNumber )
8281 if err != nil {
8382 return nil , fmt .Errorf ("EVMMultidownloader.HeaderByNumber: cannot get BlockHeader number=%d: %w" ,
84- number . Uint64 () , err )
83+ number , err )
8584 }
8685 if block != nil {
8786 return block , nil
8887 }
8988 // This is a fallback mechanism in case the block is not found in storage (it must be in storage!)
9089 dh .log .Debugf ("EVMMultidownloader.HeaderByNumber: block number=%d not found in storage, fetching from ethClient" ,
91- number . Uint64 () )
92- blockHeader , err := dh .ethClient .CustomHeaderByNumber (ctx , aggkittypes .NewBlockNumber (number . Uint64 () ))
90+ blockNumber )
91+ blockHeader , err := dh .ethClient .CustomHeaderByNumber (ctx , aggkittypes .NewBlockNumber (blockNumber ))
9392 if err != nil {
9493 return nil , fmt .Errorf ("EVMMultidownloader.HeaderByNumber: ethClient.HeaderByNumber(%d) failed. Err: %w" ,
95- number . Uint64 () , err )
94+ blockNumber , err )
9695 }
9796 return blockHeader , nil
9897}
0 commit comments