Skip to content

Commit f52ccb8

Browse files
committed
WIP: add supply verifier manager to main server config
1 parent 9bbead1 commit f52ccb8

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-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: 28 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"
@@ -624,6 +625,32 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
624625
},
625626
)
626627

628+
// Set up the supply verifier, which validates supply commitment leaves
629+
// published by asset issuers.
630+
//
631+
// Initialize the database backend for the supply syncer.
632+
supplySyncerDb := tapdb.NewTransactionExecutor(
633+
db, func(tx *sql.Tx) tapdb.BaseUniverseStore {
634+
return db.WithTx(tx)
635+
},
636+
)
637+
supplySyncerStore := tapdb.NewSupplySyncerStore(supplySyncerDb)
638+
639+
// Create the supply syncer which is used by the supply verifier.
640+
supplySyncer := supplyverifier.NewSupplySyncer(
641+
tap.NewRpcSupplySync, supplySyncerStore,
642+
)
643+
644+
supplyVerifyManager := supplyverifier.NewManager(
645+
supplyverifier.ManagerCfg{
646+
Chain: chainBridge,
647+
//SupplyCommitView: supplyCommitStore,
648+
SupplySyncer: supplySyncer,
649+
IssuanceSubscriptions: universeSyncer,
650+
DaemonAdapters: lndFsmDaemonAdapters,
651+
},
652+
)
653+
627654
return &tap.Config{
628655
DebugLevel: cfg.DebugLevel,
629656
RuntimeID: runtimeID,
@@ -678,6 +705,7 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
678705
ChainPorter: chainPorter,
679706
FsmDaemonAdapters: lndFsmDaemonAdapters,
680707
SupplyCommitManager: supplyCommitManager,
708+
SupplyVerifyManager: supplyVerifyManager,
681709
UniverseArchive: uniArchive,
682710
UniverseSyncer: universeSyncer,
683711
UniverseFederation: universeFederation,

0 commit comments

Comments
 (0)