ceremonyclient/node/app/wire_gen.go
Cassandra Heart 8dc7e0d526
v2.1.0.14 (#484)
* v2.1.0.14

* release notes
2025-12-03 23:56:34 -06:00

444 lines
21 KiB
Go

// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package app
import (
"github.com/google/wire"
"go.uber.org/zap"
"source.quilibrium.com/quilibrium/monorepo/bls48581"
"source.quilibrium.com/quilibrium/monorepo/bulletproofs"
"source.quilibrium.com/quilibrium/monorepo/channel"
"source.quilibrium.com/quilibrium/monorepo/config"
"source.quilibrium.com/quilibrium/monorepo/consensus"
"source.quilibrium.com/quilibrium/monorepo/node/compiler"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/app"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/difficulty"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/fees"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/global"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/provers"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/registration"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/reward"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/time"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/validator"
"source.quilibrium.com/quilibrium/monorepo/node/datarpc"
"source.quilibrium.com/quilibrium/monorepo/node/keys"
"source.quilibrium.com/quilibrium/monorepo/node/p2p"
"source.quilibrium.com/quilibrium/monorepo/node/rpc"
store2 "source.quilibrium.com/quilibrium/monorepo/node/store"
"source.quilibrium.com/quilibrium/monorepo/node/tests"
"source.quilibrium.com/quilibrium/monorepo/protobufs"
channel2 "source.quilibrium.com/quilibrium/monorepo/types/channel"
compiler2 "source.quilibrium.com/quilibrium/monorepo/types/compiler"
consensus2 "source.quilibrium.com/quilibrium/monorepo/types/consensus"
"source.quilibrium.com/quilibrium/monorepo/types/crypto"
"source.quilibrium.com/quilibrium/monorepo/types/hypergraph"
keys2 "source.quilibrium.com/quilibrium/monorepo/types/keys"
p2p2 "source.quilibrium.com/quilibrium/monorepo/types/p2p"
"source.quilibrium.com/quilibrium/monorepo/types/store"
"source.quilibrium.com/quilibrium/monorepo/types/tries"
"source.quilibrium.com/quilibrium/monorepo/vdf"
"source.quilibrium.com/quilibrium/monorepo/verenc"
)
// Injectors from wire.go:
func NewDHTNode(logger *zap.Logger, configConfig *config.Config, uint2 uint) (*DHTNode, error) {
p2PConfig := configConfig.P2P
engineConfig := configConfig.Engine
blossomSub := p2p.NewBlossomSub(p2PConfig, engineConfig, logger, uint2)
dhtNode, err := newDHTNode(blossomSub)
if err != nil {
return nil, err
}
return dhtNode, nil
}
func NewDBConsole(configConfig *config.Config) (*DBConsole, error) {
dbConsole, err := newDBConsole(configConfig)
if err != nil {
return nil, err
}
return dbConsole, nil
}
func NewClockStore(logger *zap.Logger, configConfig *config.Config, uint2 uint) (store.ClockStore, error) {
dbConfig := configConfig.DB
pebbleDB := store2.NewPebbleDB(logger, dbConfig, uint2)
pebbleClockStore := store2.NewPebbleClockStore(pebbleDB, logger)
return pebbleClockStore, nil
}
func NewDataWorkerNodeWithProxyPubsub(logger *zap.Logger, config2 *config.Config, coreId uint, rpcMultiaddr string, parentProcess int) (*DataWorkerNode, error) {
dbConfig := config2.DB
pebbleDB := store2.NewPebbleDB(logger, dbConfig, coreId)
pebbleDataProofStore := store2.NewPebbleDataProofStore(pebbleDB, logger)
pebbleClockStore := store2.NewPebbleClockStore(pebbleDB, logger)
pebbleTokenStore := store2.NewPebbleTokenStore(pebbleDB, logger)
bls48581KeyConstructor := provideBLSConstructor()
decaf448KeyConstructor := provideDecafConstructor()
fileKeyManager := keys.NewFileKeyManager(config2, bls48581KeyConstructor, decaf448KeyConstructor, logger)
frameProver := vdf.NewCachedWesolowskiFrameProver(logger)
pebbleKeyStore := store2.NewPebbleKeyStore(pebbleDB, logger)
decaf448BulletproofProver := bulletproofs.NewBulletproofProver()
cachedSignerRegistry, err := registration.NewCachedSignerRegistry(pebbleKeyStore, fileKeyManager, bls48581KeyConstructor, decaf448BulletproofProver, logger)
if err != nil {
return nil, err
}
mpCitHVerifiableEncryptor := newVerifiableEncryptor()
kzgInclusionProver := bls48581.NewKZGInclusionProver(logger)
pebbleHypergraphStore := store2.NewPebbleHypergraphStore(dbConfig, pebbleDB, logger, mpCitHVerifiableEncryptor, kzgInclusionProver)
hypergraph, err := provideHypergraph(pebbleHypergraphStore, config2)
if err != nil {
return nil, err
}
proverRegistry, err := provers.NewProverRegistry(logger, hypergraph)
if err != nil {
return nil, err
}
p2PConfig := config2.P2P
engineConfig := config2.Engine
proxyBlossomSub, err := rpc.NewProxyBlossomSub(p2PConfig, engineConfig, logger, coreId)
if err != nil {
return nil, err
}
pebbleInboxStore := store2.NewPebbleInboxStore(pebbleDB, logger)
pebbleShardsStore := store2.NewPebbleShardsStore(pebbleDB, logger)
pebbleConsensusStore := store2.NewPebbleConsensusStore(pebbleDB, logger)
bedlamCompiler := compiler.NewBedlamCompiler()
inMemoryPeerInfoManager := p2p.NewInMemoryPeerInfoManager(logger)
dynamicFeeManager := fees.NewDynamicFeeManager(logger, kzgInclusionProver)
blsAppFrameValidator := validator.NewBLSAppFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
blsGlobalFrameValidator := validator.NewBLSGlobalFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
uint64_2 := provideDifficultyAnchorFrameNumber(config2)
int64_2 := provideDifficultyAnchorParentTime()
uint32_2 := provideDifficultyAnchorDifficulty()
asertDifficultyAdjuster := difficulty.NewAsertDifficultyAdjuster(uint64_2, int64_2, uint32_2)
optimizedProofOfMeaningfulWorkRewardIssuance := reward.NewOptRewardIssuance()
doubleRatchetEncryptedChannel := channel.NewDoubleRatchetEncryptedChannel()
appConsensusEngineFactory := app.NewAppConsensusEngineFactory(logger, config2, proxyBlossomSub, hypergraph, fileKeyManager, pebbleKeyStore, pebbleClockStore, pebbleInboxStore, pebbleShardsStore, pebbleHypergraphStore, pebbleConsensusStore, frameProver, kzgInclusionProver, decaf448BulletproofProver, mpCitHVerifiableEncryptor, decaf448KeyConstructor, bedlamCompiler, cachedSignerRegistry, proverRegistry, inMemoryPeerInfoManager, dynamicFeeManager, blsAppFrameValidator, blsGlobalFrameValidator, asertDifficultyAdjuster, optimizedProofOfMeaningfulWorkRewardIssuance, bls48581KeyConstructor, doubleRatchetEncryptedChannel)
dataWorkerIPCServer := provideDataWorkerIPC(rpcMultiaddr, config2, cachedSignerRegistry, proverRegistry, appConsensusEngineFactory, inMemoryPeerInfoManager, proxyBlossomSub, frameProver, logger, coreId, parentProcess)
globalTimeReel, err := provideGlobalTimeReel(appConsensusEngineFactory)
if err != nil {
return nil, err
}
dataWorkerNode, err := newDataWorkerNode(logger, pebbleDataProofStore, pebbleClockStore, pebbleTokenStore, fileKeyManager, pebbleDB, frameProver, dataWorkerIPCServer, globalTimeReel, coreId, parentProcess)
if err != nil {
return nil, err
}
return dataWorkerNode, nil
}
func NewDataWorkerNodeWithoutProxyPubsub(logger *zap.Logger, config2 *config.Config, coreId uint, rpcMultiaddr string, parentProcess int) (*DataWorkerNode, error) {
dbConfig := config2.DB
pebbleDB := store2.NewPebbleDB(logger, dbConfig, coreId)
pebbleDataProofStore := store2.NewPebbleDataProofStore(pebbleDB, logger)
pebbleClockStore := store2.NewPebbleClockStore(pebbleDB, logger)
pebbleTokenStore := store2.NewPebbleTokenStore(pebbleDB, logger)
bls48581KeyConstructor := provideBLSConstructor()
decaf448KeyConstructor := provideDecafConstructor()
fileKeyManager := keys.NewFileKeyManager(config2, bls48581KeyConstructor, decaf448KeyConstructor, logger)
frameProver := vdf.NewCachedWesolowskiFrameProver(logger)
pebbleKeyStore := store2.NewPebbleKeyStore(pebbleDB, logger)
decaf448BulletproofProver := bulletproofs.NewBulletproofProver()
cachedSignerRegistry, err := registration.NewCachedSignerRegistry(pebbleKeyStore, fileKeyManager, bls48581KeyConstructor, decaf448BulletproofProver, logger)
if err != nil {
return nil, err
}
mpCitHVerifiableEncryptor := newVerifiableEncryptor()
kzgInclusionProver := bls48581.NewKZGInclusionProver(logger)
pebbleHypergraphStore := store2.NewPebbleHypergraphStore(dbConfig, pebbleDB, logger, mpCitHVerifiableEncryptor, kzgInclusionProver)
hypergraph, err := provideHypergraph(pebbleHypergraphStore, config2)
if err != nil {
return nil, err
}
proverRegistry, err := provers.NewProverRegistry(logger, hypergraph)
if err != nil {
return nil, err
}
p2PConfig := config2.P2P
engineConfig := config2.Engine
blossomSub := p2p.NewBlossomSub(p2PConfig, engineConfig, logger, coreId)
pebbleInboxStore := store2.NewPebbleInboxStore(pebbleDB, logger)
pebbleShardsStore := store2.NewPebbleShardsStore(pebbleDB, logger)
pebbleConsensusStore := store2.NewPebbleConsensusStore(pebbleDB, logger)
bedlamCompiler := compiler.NewBedlamCompiler()
inMemoryPeerInfoManager := p2p.NewInMemoryPeerInfoManager(logger)
dynamicFeeManager := fees.NewDynamicFeeManager(logger, kzgInclusionProver)
blsAppFrameValidator := validator.NewBLSAppFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
blsGlobalFrameValidator := validator.NewBLSGlobalFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
uint64_2 := provideDifficultyAnchorFrameNumber(config2)
int64_2 := provideDifficultyAnchorParentTime()
uint32_2 := provideDifficultyAnchorDifficulty()
asertDifficultyAdjuster := difficulty.NewAsertDifficultyAdjuster(uint64_2, int64_2, uint32_2)
optimizedProofOfMeaningfulWorkRewardIssuance := reward.NewOptRewardIssuance()
doubleRatchetEncryptedChannel := channel.NewDoubleRatchetEncryptedChannel()
appConsensusEngineFactory := app.NewAppConsensusEngineFactory(logger, config2, blossomSub, hypergraph, fileKeyManager, pebbleKeyStore, pebbleClockStore, pebbleInboxStore, pebbleShardsStore, pebbleHypergraphStore, pebbleConsensusStore, frameProver, kzgInclusionProver, decaf448BulletproofProver, mpCitHVerifiableEncryptor, decaf448KeyConstructor, bedlamCompiler, cachedSignerRegistry, proverRegistry, inMemoryPeerInfoManager, dynamicFeeManager, blsAppFrameValidator, blsGlobalFrameValidator, asertDifficultyAdjuster, optimizedProofOfMeaningfulWorkRewardIssuance, bls48581KeyConstructor, doubleRatchetEncryptedChannel)
dataWorkerIPCServer := provideDataWorkerIPC(rpcMultiaddr, config2, cachedSignerRegistry, proverRegistry, appConsensusEngineFactory, inMemoryPeerInfoManager, blossomSub, frameProver, logger, coreId, parentProcess)
globalTimeReel, err := provideGlobalTimeReel(appConsensusEngineFactory)
if err != nil {
return nil, err
}
dataWorkerNode, err := newDataWorkerNode(logger, pebbleDataProofStore, pebbleClockStore, pebbleTokenStore, fileKeyManager, pebbleDB, frameProver, dataWorkerIPCServer, globalTimeReel, coreId, parentProcess)
if err != nil {
return nil, err
}
return dataWorkerNode, nil
}
func NewMasterNode(logger *zap.Logger, config2 *config.Config, coreId uint) (*MasterNode, error) {
dbConfig := config2.DB
pebbleDB := store2.NewPebbleDB(logger, dbConfig, coreId)
pebbleDataProofStore := store2.NewPebbleDataProofStore(pebbleDB, logger)
pebbleClockStore := store2.NewPebbleClockStore(pebbleDB, logger)
pebbleTokenStore := store2.NewPebbleTokenStore(pebbleDB, logger)
bls48581KeyConstructor := provideBLSConstructor()
decaf448KeyConstructor := provideDecafConstructor()
fileKeyManager := keys.NewFileKeyManager(config2, bls48581KeyConstructor, decaf448KeyConstructor, logger)
p2PConfig := config2.P2P
engineConfig := config2.Engine
blossomSub := p2p.NewBlossomSub(p2PConfig, engineConfig, logger, coreId)
inMemoryPeerInfoManager := p2p.NewInMemoryPeerInfoManager(logger)
mpCitHVerifiableEncryptor := newVerifiableEncryptor()
kzgInclusionProver := bls48581.NewKZGInclusionProver(logger)
pebbleHypergraphStore := store2.NewPebbleHypergraphStore(dbConfig, pebbleDB, logger, mpCitHVerifiableEncryptor, kzgInclusionProver)
hypergraph, err := provideHypergraph(pebbleHypergraphStore, config2)
if err != nil {
return nil, err
}
pebbleKeyStore := store2.NewPebbleKeyStore(pebbleDB, logger)
frameProver := vdf.NewCachedWesolowskiFrameProver(logger)
decaf448BulletproofProver := bulletproofs.NewBulletproofProver()
cachedSignerRegistry, err := registration.NewCachedSignerRegistry(pebbleKeyStore, fileKeyManager, bls48581KeyConstructor, decaf448BulletproofProver, logger)
if err != nil {
return nil, err
}
proverRegistry, err := provers.NewProverRegistry(logger, hypergraph)
if err != nil {
return nil, err
}
dynamicFeeManager := fees.NewDynamicFeeManager(logger, kzgInclusionProver)
blsAppFrameValidator := validator.NewBLSAppFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
blsGlobalFrameValidator := validator.NewBLSGlobalFrameValidator(proverRegistry, bls48581KeyConstructor, frameProver, logger)
uint64_2 := provideDifficultyAnchorFrameNumber(config2)
int64_2 := provideDifficultyAnchorParentTime()
uint32_2 := provideDifficultyAnchorDifficulty()
asertDifficultyAdjuster := difficulty.NewAsertDifficultyAdjuster(uint64_2, int64_2, uint32_2)
optimizedProofOfMeaningfulWorkRewardIssuance := reward.NewOptRewardIssuance()
pebbleInboxStore := store2.NewPebbleInboxStore(pebbleDB, logger)
pebbleShardsStore := store2.NewPebbleShardsStore(pebbleDB, logger)
pebbleWorkerStore := store2.NewPebbleWorkerStore(pebbleDB, logger)
pebbleConsensusStore := store2.NewPebbleConsensusStore(pebbleDB, logger)
doubleRatchetEncryptedChannel := channel.NewDoubleRatchetEncryptedChannel()
bedlamCompiler := compiler.NewBedlamCompiler()
consensusEngineFactory := global.NewConsensusEngineFactory(logger, config2, blossomSub, hypergraph, fileKeyManager, pebbleKeyStore, frameProver, kzgInclusionProver, cachedSignerRegistry, proverRegistry, dynamicFeeManager, blsAppFrameValidator, blsGlobalFrameValidator, asertDifficultyAdjuster, optimizedProofOfMeaningfulWorkRewardIssuance, pebbleClockStore, pebbleInboxStore, pebbleHypergraphStore, pebbleShardsStore, pebbleWorkerStore, pebbleConsensusStore, doubleRatchetEncryptedChannel, decaf448BulletproofProver, mpCitHVerifiableEncryptor, decaf448KeyConstructor, bedlamCompiler, bls48581KeyConstructor, inMemoryPeerInfoManager)
globalConsensusComponents, err := provideGlobalConsensusComponents(consensusEngineFactory, config2)
if err != nil {
return nil, err
}
globalConsensusEngine := provideGlobalConsensusEngine(globalConsensusComponents)
globalTimeReel := provideGlobalTimeReelFromComponents(globalConsensusComponents)
masterNode, err := newMasterNode(logger, pebbleDataProofStore, pebbleClockStore, pebbleTokenStore, fileKeyManager, blossomSub, inMemoryPeerInfoManager, globalConsensusEngine, globalTimeReel, pebbleDB, coreId)
if err != nil {
return nil, err
}
return masterNode, nil
}
// wire.go:
func provideBLSConstructor() *bls48581.Bls48581KeyConstructor {
return &bls48581.Bls48581KeyConstructor{}
}
func provideDecafConstructor() *bulletproofs.Decaf448KeyConstructor {
return &bulletproofs.Decaf448KeyConstructor{}
}
var keyManagerSet = wire.NewSet(wire.FieldsOf(new(*config.Config), "Key"), provideBLSConstructor, wire.Bind(new(crypto.BlsConstructor), new(*bls48581.Bls48581KeyConstructor)), provideDecafConstructor, wire.Bind(
new(crypto.DecafConstructor),
new(*bulletproofs.Decaf448KeyConstructor),
), keys.NewFileKeyManager, wire.Bind(new(keys2.KeyManager), new(*keys.FileKeyManager)),
)
func newVerifiableEncryptor() *verenc.MPCitHVerifiableEncryptor {
return verenc.NewMPCitHVerifiableEncryptor(1)
}
var compilerSet = wire.NewSet(compiler.NewBedlamCompiler, wire.Bind(new(compiler2.CircuitCompiler), new(*compiler.BedlamCompiler)))
var verencSet = wire.NewSet(
newVerifiableEncryptor, wire.Bind(
new(crypto.VerifiableEncryptor),
new(*verenc.MPCitHVerifiableEncryptor),
),
)
var storeSet = wire.NewSet(wire.FieldsOf(new(*config.Config), "DB"), store2.NewPebbleDB, wire.Bind(new(store.KVDB), new(*store2.PebbleDB)), store2.NewPebbleClockStore, store2.NewPebbleTokenStore, store2.NewPebbleDataProofStore, store2.NewPebbleHypergraphStore, store2.NewPebbleInboxStore, store2.NewPebbleKeyStore, store2.NewPeerstoreDatastore, store2.NewPebbleShardsStore, store2.NewPebbleWorkerStore, store2.NewPebbleConsensusStore, wire.Bind(new(store.ClockStore), new(*store2.PebbleClockStore)), wire.Bind(new(store.TokenStore), new(*store2.PebbleTokenStore)), wire.Bind(new(store.DataProofStore), new(*store2.PebbleDataProofStore)), wire.Bind(new(store.HypergraphStore), new(*store2.PebbleHypergraphStore)), wire.Bind(new(store.InboxStore), new(*store2.PebbleInboxStore)), wire.Bind(new(store.KeyStore), new(*store2.PebbleKeyStore)), wire.Bind(new(tries.TreeBackingStore), new(*store2.PebbleHypergraphStore)), wire.Bind(new(store.ShardsStore), new(*store2.PebbleShardsStore)), wire.Bind(new(store.WorkerStore), new(*store2.PebbleWorkerStore)), wire.Bind(
new(consensus.ConsensusStore[*protobufs.ProposalVote]),
new(*store2.PebbleConsensusStore),
),
)
var pubSubSet = wire.NewSet(wire.FieldsOf(new(*config.Config), "P2P"), wire.FieldsOf(new(*config.Config), "Engine"), p2p.NewInMemoryPeerInfoManager, p2p.NewBlossomSub, channel.NewDoubleRatchetEncryptedChannel, wire.Bind(new(p2p2.PubSub), new(*p2p.BlossomSub)), wire.Bind(new(p2p2.PeerInfoManager), new(*p2p.InMemoryPeerInfoManager)), wire.Bind(
new(channel2.EncryptedChannel),
new(*channel.DoubleRatchetEncryptedChannel),
),
)
var proxyPubSubSet = wire.NewSet(wire.FieldsOf(new(*config.Config), "P2P"), wire.FieldsOf(new(*config.Config), "Engine"), p2p.NewInMemoryPeerInfoManager, rpc.NewProxyBlossomSub, channel.NewDoubleRatchetEncryptedChannel, wire.Bind(new(p2p2.PubSub), new(*rpc.ProxyBlossomSub)), wire.Bind(new(p2p2.PeerInfoManager), new(*p2p.InMemoryPeerInfoManager)), wire.Bind(
new(channel2.EncryptedChannel),
new(*channel.DoubleRatchetEncryptedChannel),
),
)
var engineSet = wire.NewSet(vdf.NewCachedWesolowskiFrameProver, bls48581.NewKZGInclusionProver, wire.Bind(new(crypto.InclusionProver), new(*bls48581.KZGInclusionProver)), bulletproofs.NewBulletproofProver, wire.Bind(
new(crypto.BulletproofProver),
new(*bulletproofs.Decaf448BulletproofProver),
),
)
func provideHypergraph(store3 *store2.PebbleHypergraphStore, config *config.Config,
) (hypergraph.Hypergraph, error) {
workers := 1
if config.Engine.ArchiveMode {
workers = 100
}
return store3.LoadHypergraph(&tests.Nopthenticator{}, workers)
}
var hypergraphSet = wire.NewSet(
provideHypergraph,
)
var validatorSet = wire.NewSet(registration.NewCachedSignerRegistry, wire.Bind(
new(consensus2.SignerRegistry),
new(*registration.CachedSignerRegistry),
), provers.NewProverRegistry, fees.NewDynamicFeeManager, validator.NewBLSGlobalFrameValidator, wire.Bind(
new(consensus2.GlobalFrameValidator),
new(*validator.BLSGlobalFrameValidator),
), validator.NewBLSAppFrameValidator, wire.Bind(
new(consensus2.AppFrameValidator),
new(*validator.BLSAppFrameValidator),
), provideDifficultyAnchorFrameNumber,
provideDifficultyAnchorParentTime,
provideDifficultyAnchorDifficulty, difficulty.NewAsertDifficultyAdjuster, wire.Bind(
new(consensus2.DifficultyAdjuster),
new(*difficulty.AsertDifficultyAdjuster),
), reward.NewOptRewardIssuance, wire.Bind(
new(consensus2.RewardIssuance),
new(*reward.OptimizedProofOfMeaningfulWorkRewardIssuance),
),
)
var globalConsensusSet = wire.NewSet(global.NewConsensusEngineFactory)
var appConsensusSet = wire.NewSet(app.NewAppConsensusEngineFactory)
func NewDataWorkerNode(
logger *zap.Logger, config2 *config.Config,
coreId uint,
rpcMultiaddr string,
parentProcess int,
) (*DataWorkerNode, error) {
if config2.Engine.EnableMasterProxy {
return NewDataWorkerNodeWithProxyPubsub(
logger, config2, coreId,
rpcMultiaddr,
parentProcess,
)
} else {
return NewDataWorkerNodeWithoutProxyPubsub(
logger, config2, coreId,
rpcMultiaddr,
parentProcess,
)
}
}
func provideDataWorkerIPC(
rpcMultiaddr string, config2 *config.Config,
signerRegistry consensus2.SignerRegistry,
proverRegistry consensus2.ProverRegistry,
appConsensusEngineFactory *app.AppConsensusEngineFactory,
peerInfoManager p2p2.PeerInfoManager,
pubsub p2p2.PubSub,
frameProver crypto.FrameProver,
logger *zap.Logger,
coreId uint,
parentProcess int,
) *datarpc.DataWorkerIPCServer {
svr, err := datarpc.NewDataWorkerIPCServer(
rpcMultiaddr, config2, signerRegistry,
proverRegistry,
peerInfoManager,
pubsub,
frameProver,
appConsensusEngineFactory,
logger,
uint32(coreId),
parentProcess,
)
if err != nil {
panic(err)
}
return svr
}
// GlobalConsensusComponents holds both the engine and time reel
type GlobalConsensusComponents struct {
Engine *global.GlobalConsensusEngine
TimeReel *time.GlobalTimeReel
}
func provideGlobalConsensusComponents(
factory *global.ConsensusEngineFactory, config2 *config.Config,
) (*GlobalConsensusComponents, error) {
engine, timeReel, err := factory.CreateGlobalConsensusEngine(10000)
if err != nil {
return nil, err
}
return &GlobalConsensusComponents{
Engine: engine,
TimeReel: timeReel,
}, nil
}
func provideGlobalConsensusEngine(
components *GlobalConsensusComponents,
) *global.GlobalConsensusEngine {
return components.Engine
}
func provideGlobalTimeReelFromComponents(
components *GlobalConsensusComponents,
) *time.GlobalTimeReel {
return components.TimeReel
}
// Provider functions for difficulty adjuster parameters
func provideDifficultyAnchorFrameNumber(config2 *config.Config) uint64 {
if config2.P2P.Network == 0 {
return 244200
} else {
return 0
}
}
func provideDifficultyAnchorParentTime() int64 {
return 1762862400000
}
func provideDifficultyAnchorDifficulty() uint32 {
return 80000
}
func provideGlobalTimeReel(
factory *app.AppConsensusEngineFactory,
) (*time.GlobalTimeReel, error) {
return factory.CreateGlobalTimeReel()
}