From 9b4aa4ccd0b0896339b2a7572dd65630d9fdb970 Mon Sep 17 00:00:00 2001 From: Wondertan Date: Sat, 20 Apr 2024 21:34:47 +0200 Subject: [PATCH] address broken constructor --- das/daser_test.go | 4 ++++ nodebuilder/fraud/constructors.go | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/das/daser_test.go b/das/daser_test.go index 9eec6392cc..56fc70ade5 100644 --- a/das/daser_test.go +++ b/das/daser_test.go @@ -164,6 +164,9 @@ func TestDASer_stopsAfter_BEFP(t *testing.T) { getter := func(ctx context.Context, height uint64) (*header.ExtendedHeader, error) { return mockGet.GetByHeight(ctx, height) } + headGetter := func(ctx context.Context) (*header.ExtendedHeader, error) { + return mockGet.Head(ctx) + } unmarshaler := fraud.MultiUnmarshaler[*header.ExtendedHeader]{ Unmarshalers: map[fraud.ProofType]func([]byte) (fraud.Proof[*header.ExtendedHeader], error){ byzantine.BadEncoding: func(data []byte) (fraud.Proof[*header.ExtendedHeader], error) { @@ -176,6 +179,7 @@ func TestDASer_stopsAfter_BEFP(t *testing.T) { fserv := fraudserv.NewProofService[*header.ExtendedHeader](ps, net.Hosts()[0], getter, + headGetter, unmarshaler, ds, false, diff --git a/nodebuilder/fraud/constructors.go b/nodebuilder/fraud/constructors.go index eee85d4139..037abb2e51 100644 --- a/nodebuilder/fraud/constructors.go +++ b/nodebuilder/fraud/constructors.go @@ -1,6 +1,8 @@ package fraud import ( + "context" + "github.com/ipfs/go-datastore" pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/libp2p/go-libp2p/core/host" @@ -9,6 +11,7 @@ import ( "github.com/celestiaorg/go-fraud" "github.com/celestiaorg/go-fraud/fraudserv" libhead "github.com/celestiaorg/go-header" + "github.com/celestiaorg/go-header/sync" "github.com/celestiaorg/celestia-node/header" "github.com/celestiaorg/celestia-node/nodebuilder/p2p" @@ -22,13 +25,18 @@ func newFraudServiceWithSync( lc fx.Lifecycle, sub *pubsub.PubSub, host host.Host, + sync *sync.Syncer[*header.ExtendedHeader], hstore libhead.Store[*header.ExtendedHeader], registry fraud.ProofUnmarshaler[*header.ExtendedHeader], ds datastore.Batching, network p2p.Network, ) (Module, fraud.Service[*header.ExtendedHeader], error) { syncerEnabled := true - pservice := fraudserv.NewProofService(sub, host, hstore.GetByHeight, registry, ds, syncerEnabled, network.String()) + headGetter := func(ctx context.Context) (*header.ExtendedHeader, error) { + return sync.Head(ctx) + } + pservice := fraudserv.NewProofService(sub, host, hstore.GetByHeight, + headGetter, registry, ds, syncerEnabled, network.String()) lc.Append(fx.Hook{ OnStart: pservice.Start, OnStop: pservice.Stop, @@ -42,13 +50,18 @@ func newFraudServiceWithoutSync( lc fx.Lifecycle, sub *pubsub.PubSub, host host.Host, + sync *sync.Syncer[*header.ExtendedHeader], hstore libhead.Store[*header.ExtendedHeader], registry fraud.ProofUnmarshaler[*header.ExtendedHeader], ds datastore.Batching, network p2p.Network, ) (Module, fraud.Service[*header.ExtendedHeader], error) { syncerEnabled := false - pservice := fraudserv.NewProofService(sub, host, hstore.GetByHeight, registry, ds, syncerEnabled, network.String()) + headGetter := func(ctx context.Context) (*header.ExtendedHeader, error) { + return sync.Head(ctx) + } + pservice := fraudserv.NewProofService(sub, host, hstore.GetByHeight, + headGetter, registry, ds, syncerEnabled, network.String()) lc.Append(fx.Hook{ OnStart: pservice.Start, OnStop: pservice.Stop,