Skip to content
This repository was archived by the owner on May 11, 2024. It is now read-only.

Commit c73661e

Browse files
feat(prover): fix a tier selection issue (#534)
1 parent 416ad68 commit c73661e

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

prover/prover.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -803,17 +803,23 @@ func (p *Prover) handleNewBlockProposedEvent(ctx context.Context, e *bindings.Ta
803803
}
804804
}
805805

806+
tier := e.Meta.MinTier
807+
if p.IsGuardianProver() {
808+
tier = encoding.TierGuardianID
809+
}
810+
806811
log.Info(
807812
"Proposed block is provable",
808813
"blockID", e.BlockId,
809814
"prover", e.AssignedProver,
810815
"expiresAt", provingWindowExpiresAt,
811816
"minTier", e.Meta.MinTier,
817+
"currentTier", tier,
812818
)
813819

814820
metrics.ProverProofsAssigned.Inc(1)
815821

816-
if proofSubmitter := p.selectSubmitter(e.Meta.MinTier); proofSubmitter != nil {
822+
if proofSubmitter := p.selectSubmitter(tier); proofSubmitter != nil {
817823
return proofSubmitter.RequestProof(ctx, e)
818824
}
819825

prover/prover_test.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,10 @@ func (s *ProverTestSuite) TestContestWrongBlocks() {
235235
contesterKey, err := crypto.ToECDSA(common.FromHex(os.Getenv("L1_CONTRACT_OWNER_PRIVATE_KEY")))
236236
s.Nil(err)
237237

238-
s.NotNil(s.initProver(context.Background(), contesterKey))
238+
s.NotNil(s.initProver(
239+
context.Background(),
240+
contesterKey,
241+
))
239242
s.p.cfg.ContesterMode = true
240243

241244
s.Greater(header.Number.Uint64(), uint64(0))
@@ -247,8 +250,13 @@ func (s *ProverTestSuite) TestContestWrongBlocks() {
247250
s.Equal(header.ParentHash, common.BytesToHash(contestedEvent.Tran.ParentHash[:]))
248251

249252
s.Nil(s.p.onTransitionContested(context.Background(), contestedEvent))
253+
254+
s.p.cfg.GuardianProverAddress = common.HexToAddress(os.Getenv("GUARDIAN_PROVER_CONTRACT_ADDRESS"))
250255
s.True(s.p.IsGuardianProver())
251256

257+
s.p.rpc.GuardianProver, err = bindings.NewGuardianProver(s.p.cfg.GuardianProverAddress, s.p.rpc.L1)
258+
s.Nil(err)
259+
252260
approvedSink := make(chan *bindings.GuardianProverApproved)
253261
approvedSub, err := s.p.rpc.GuardianProver.WatchApproved(nil, approvedSink, [](*big.Int){})
254262
s.Nil(err)
@@ -455,7 +463,10 @@ func TestProverTestSuite(t *testing.T) {
455463
suite.Run(t, new(ProverTestSuite))
456464
}
457465

458-
func (s *ProverTestSuite) initProver(ctx context.Context, key *ecdsa.PrivateKey) *url.URL {
466+
func (s *ProverTestSuite) initProver(
467+
ctx context.Context,
468+
key *ecdsa.PrivateKey,
469+
) *url.URL {
459470
proverServerURL := testutils.LocalRandomProverEndpoint()
460471
port, err := strconv.Atoi(proverServerURL.Port())
461472
s.Nil(err)
@@ -475,7 +486,6 @@ func (s *ProverTestSuite) initProver(ctx context.Context, key *ecdsa.PrivateKey)
475486
TaikoL2Address: common.HexToAddress(os.Getenv("TAIKO_L2_ADDRESS")),
476487
TaikoTokenAddress: common.HexToAddress(os.Getenv("TAIKO_TOKEN_ADDRESS")),
477488
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
478-
GuardianProverAddress: common.HexToAddress(os.Getenv("GUARDIAN_PROVER_CONTRACT_ADDRESS")),
479489
L1ProverPrivKey: key,
480490
Dummy: true,
481491
ProveUnassignedBlocks: true,

0 commit comments

Comments
 (0)