Skip to content

Commit 9282aa0

Browse files
feat: add validation logic on the validator
1 parent 8a55536 commit 9282aa0

19 files changed

+381
-159
lines changed

aggsender/aggsender.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,13 @@ func newAggsender(
182182
return nil, fmt.Errorf("error creating verifier flow: %w", err)
183183
}
184184

185+
l1GERQuerier, err := query.NewL1GERDataQuerier(
186+
cfg.GlobalExitRootL1Addr, aggkittypes.LatestBlock, l1Client, // TODO configurable finality
187+
)
188+
if err != nil {
189+
return nil, fmt.Errorf("error creating L1GER data querier: %w", err)
190+
}
191+
185192
localValidator := validator.NewLocalValidator(
186193
logger,
187194
storage,
@@ -191,6 +198,7 @@ func newAggsender(
191198
query.NewL1InfoTreeDataQuerier(l1Client, l1InfoTreeSyncer),
192199
certQuerier,
193200
query.NewLERDataQuerier(cfg.RollupCreationBlockL1, rollupDataQuerier),
201+
l1GERQuerier,
194202
),
195203
)
196204

aggsender/aggsender_validator.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ func NewAggsenderValidator(ctx context.Context,
3030
logger aggkitcommon.Logger,
3131
cfg validator.Config,
3232
flow types.AggsenderVerifierFlow,
33-
l1InfoTreeDataQuerier validator.L1InfoTreeRootByLeafQuerier,
33+
l1InfoTreeDataQuerier types.L1InfoTreeDataQuerier,
3434
aggLayerClient agglayer.AggLayerClientCertificateIDQuerier,
3535
certQuerier types.CertificateQuerier,
3636
aggchainFEPQuerier types.AggchainFEPRollupQuerier,
3737
lerQuerier types.LERQuerier,
38+
l1GERQuerier types.L1GERQuerier,
3839
signer signertypes.Signer) (*AggsenderValidator, error) {
3940
validatorCert := validator.NewAggsenderValidator(
40-
logger, flow, l1InfoTreeDataQuerier, certQuerier, lerQuerier)
41+
logger, flow, l1InfoTreeDataQuerier, certQuerier, lerQuerier, l1GERQuerier)
4142
grpcServer, err := grpc.NewServer(cfg.ServerConfig)
4243
if err != nil {
4344
return nil, err

aggsender/config/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ type Config struct {
6060
// GlobalExitRootL2Addr is the address of the GlobalExitRootManager contract on l2 sovereign chain
6161
// this address is needed for the AggchainProof mode of the AggSender
6262
GlobalExitRootL2Addr ethCommon.Address `mapstructure:"GlobalExitRootL2"`
63+
// GlobalExitRootL1Addr is the address of the GlobalExitRootManager contract on l1 chain
64+
GlobalExitRootL1Addr ethCommon.Address `mapstructure:"GlobalExitRootL1"`
6365
// SovereignRollupAddr is the address of the sovereign rollup contract on L1
6466
SovereignRollupAddr ethCommon.Address `mapstructure:"SovereignRollupAddr"`
6567
// RequireStorageContentCompatibility is true it's mandatory that data stored in the database

aggsender/flows/builder_flow_factory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func NewBuilderFlow(
114114
commonFlowComponents.L1InfoTreeDataQuerier,
115115
optimisticSigner,
116116
commonFlowComponents.BaseFlow,
117-
query.NewGERDataQuerier(commonFlowComponents.L1InfoTreeDataQuerier, l2GERReader),
117+
query.NewL2GERDataQuerier(commonFlowComponents.L1InfoTreeDataQuerier, l2GERReader),
118118
commonFlowComponents.L2BridgeQuerier,
119119
)
120120

aggsender/mocks/mock_agglayer_ger.go

Lines changed: 96 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aggsender/mocks/mock_l1_ger_querier.go

Lines changed: 95 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aggsender/prover/proof_generation_tool.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func NewAggchainProofGenerationTool(
111111
l1InfoTreeQuerier,
112112
nil, // optimistic signer is not used in the tool, so we pass nil
113113
baseFlow,
114-
query.NewGERDataQuerier(l1InfoTreeQuerier, l2GERReader),
114+
query.NewL2GERDataQuerier(l1InfoTreeQuerier, l2GERReader),
115115
query.NewBridgeDataQuerier(logger, l2Syncer, time.Second, agglayerBridgeL2Reader),
116116
)
117117

0 commit comments

Comments
 (0)