Skip to content

Commit 8380177

Browse files
committed
WIP: add supply verifier manager to main server config
We will later pass the syncer into the supply commit manager
1 parent a1e4064 commit 8380177

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

config.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/lightninglabs/taproot-assets/tapgarden"
2020
"github.com/lightninglabs/taproot-assets/universe"
2121
"github.com/lightninglabs/taproot-assets/universe/supplycommit"
22+
"github.com/lightninglabs/taproot-assets/universe/supplyverifier"
2223
"github.com/lightningnetwork/lnd"
2324
"github.com/lightningnetwork/lnd/build"
2425
"github.com/lightningnetwork/lnd/signal"
@@ -197,6 +198,11 @@ type Config struct {
197198
// attestations of the total supply of an asset.
198199
SupplyCommitManager *supplycommit.Manager
199200

201+
// SupplyVerifyManager is a service that is used to verify supply
202+
// commitments for assets. Supply commitments are issuer published
203+
// attestations of the total supply of an asset.
204+
SupplyVerifyManager *supplyverifier.Manager
205+
200206
UniverseArchive *universe.Archive
201207

202208
UniverseSyncer universe.Syncer

server.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,12 @@ func (s *Server) initialize(interceptorChain *rpcperms.InterceptorChain) error {
217217
err)
218218
}
219219

220+
// Start universe supply verify manager.
221+
if err := s.cfg.SupplyVerifyManager.Start(); err != nil {
222+
return fmt.Errorf("unable to start supply verify manager: %w",
223+
err)
224+
}
225+
220226
// Start the auxiliary components.
221227
if err := s.cfg.AuxLeafSigner.Start(); err != nil {
222228
return fmt.Errorf("unable to start aux leaf signer: %w", err)
@@ -738,6 +744,12 @@ func (s *Server) Stop() error {
738744
err)
739745
}
740746

747+
// Stop universe supply verify manager.
748+
if err := s.cfg.SupplyVerifyManager.Stop(); err != nil {
749+
return fmt.Errorf("unable to stop supply verify manager: %w",
750+
err)
751+
}
752+
741753
if err := s.cfg.AuxLeafSigner.Stop(); err != nil {
742754
return err
743755
}

tapcfg/server.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/lightninglabs/taproot-assets/tapscript"
2626
"github.com/lightninglabs/taproot-assets/universe"
2727
"github.com/lightninglabs/taproot-assets/universe/supplycommit"
28+
"github.com/lightninglabs/taproot-assets/universe/supplyverifier"
2829
"github.com/lightningnetwork/lnd"
2930
"github.com/lightningnetwork/lnd/clock"
3031
"github.com/lightningnetwork/lnd/signal"
@@ -609,6 +610,12 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
609610
)
610611
supplyTreeStore := tapdb.NewSupplyTreeStore(supplyTreeDb)
611612

613+
// Setup supply syncer.
614+
supplySyncerStore := tapdb.NewSupplySyncerStore(uniDB)
615+
supplySyncer := supplyverifier.NewSupplySyncer(
616+
tap.NewRpcSupplySync, supplySyncerStore,
617+
)
618+
612619
// Create the supply commitment state machine manager, which is used to
613620
// manage the supply commitment state machines for each asset group.
614621
supplyCommitManager := supplycommit.NewManager(
@@ -625,6 +632,18 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
625632
},
626633
)
627634

635+
// Set up the supply verifier, which validates supply commitment leaves
636+
// published by asset issuers.
637+
supplyVerifyManager := supplyverifier.NewManager(
638+
supplyverifier.ManagerCfg{
639+
Chain: chainBridge,
640+
//SupplyCommitView: supplyCommitStore,
641+
SupplySyncer: supplySyncer,
642+
IssuanceSubscriptions: universeSyncer,
643+
DaemonAdapters: lndFsmDaemonAdapters,
644+
},
645+
)
646+
628647
return &tap.Config{
629648
DebugLevel: cfg.DebugLevel,
630649
RuntimeID: runtimeID,
@@ -679,6 +698,7 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
679698
ChainPorter: chainPorter,
680699
FsmDaemonAdapters: lndFsmDaemonAdapters,
681700
SupplyCommitManager: supplyCommitManager,
701+
SupplyVerifyManager: supplyVerifyManager,
682702
UniverseArchive: uniArchive,
683703
UniverseSyncer: universeSyncer,
684704
UniverseFederation: universeFederation,

0 commit comments

Comments
 (0)