From 35c4bfe0326eecc3d2feeb592b6a0057038ebb3e Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Fri, 19 Oct 2018 18:52:38 +0800 Subject: consensus: dexcon: fetch config from state --- dex/backend.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'dex/backend.go') diff --git a/dex/backend.go b/dex/backend.go index 4151fa8e2..10f74dafd 100644 --- a/dex/backend.go +++ b/dex/backend.go @@ -110,6 +110,8 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) { } rawdb.WriteDatabaseVersion(chainDb, core.BlockChainVersion) } + engine := dexcon.New() + dex := &Dexon{ config: config, chainDb: chainDb, @@ -121,7 +123,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) { bloomRequests: make(chan chan *bloombits.Retrieval), bloomIndexer: NewBloomIndexer(chainDb, params.BloomBitsBlocks, params.BloomConfirms), blockdb: db, - engine: dexcon.New(chainConfig.Dexcon), + engine: engine, } var ( @@ -154,9 +156,13 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) { } dex.APIBackend.gpo = gasprice.NewOracle(dex.APIBackend, gpoParams) + // Dexcon related objects. dex.governance = NewDexconGovernance(dex.APIBackend, dex.chainConfig, config.PrivateKey) dex.app = NewDexconApp(dex.txPool, dex.blockchain, dex.governance, chainDb, config, vmConfig) + // Set config fetcher so engine can fetch current system configuration from state. + engine.SetConfigFetcher(dex.governance) + pm, err := NewProtocolManager(dex.chainConfig, config.SyncMode, config.NetworkId, dex.eventMux, dex.txPool, dex.engine, dex.blockchain, chainDb, dex.governance) -- cgit v1.2.3