Skip to content

Commit 3e1216c

Browse files
committed
feat: wip
1 parent b749edc commit 3e1216c

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

multidownloader/evm_multidownloader_syncers.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package multidownloader
44
import (
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
7372
func (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

Comments
 (0)