Skip to content

Commit 43d601e

Browse files
authored
[factory] delete Factory implementation (#4599)
1 parent 3099b4f commit 43d601e

22 files changed

+124
-1242
lines changed

action/protocol/execution/protocol_test.go

+5-11
Original file line numberDiff line numberDiff line change
@@ -452,18 +452,14 @@ func (sct *SmartContractTest) prepareBlockchain(
452452
var daoKV db.KVStore
453453

454454
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
455-
if cfg.Chain.EnableTrielessStateDB {
456-
if cfg.Chain.EnableStateDBCaching {
457-
daoKV, err = db.CreateKVStoreWithCache(cfg.DB, cfg.Chain.TrieDBPath, cfg.Chain.StateDBCacheSize)
458-
} else {
459-
daoKV, err = db.CreateKVStore(cfg.DB, cfg.Chain.TrieDBPath)
460-
}
461-
r.NoError(err)
462-
sf, err = factory.NewStateDB(factoryCfg, daoKV, factory.RegistryStateDBOption(registry))
455+
if cfg.Chain.EnableStateDBCaching {
456+
daoKV, err = db.CreateKVStoreWithCache(cfg.DB, cfg.Chain.TrieDBPath, cfg.Chain.StateDBCacheSize)
463457
} else {
464-
sf, err = factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
458+
daoKV, err = db.CreateKVStore(cfg.DB, cfg.Chain.TrieDBPath)
465459
}
466460
r.NoError(err)
461+
sf, err = factory.NewStateDB(factoryCfg, daoKV, factory.RegistryStateDBOption(registry))
462+
r.NoError(err)
467463
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
468464
r.NoError(err)
469465
// create indexer
@@ -550,7 +546,6 @@ func (sct *SmartContractTest) run(r *require.Assertions) {
550546
defaultCfg.Genesis = genesis.TestDefault()
551547
cfg := deepcopy.Copy(defaultCfg).(config.Config)
552548
cfg.Chain.ProducerPrivKey = identityset.PrivateKey(28).HexString()
553-
cfg.Chain.EnableTrielessStateDB = false
554549
bc, sf, dao, ap := sct.prepareBlockchain(ctx, cfg, r)
555550
defer func() {
556551
r.NoError(bc.Stop(ctx))
@@ -1363,7 +1358,6 @@ func benchmarkHotContractWithFactory(b *testing.B, async bool) {
13631358
cfg := config.Default
13641359
cfg.Genesis = genesis.TestDefault()
13651360
cfg.Genesis.NumSubEpochs = uint64(b.N)
1366-
cfg.Chain.EnableTrielessStateDB = false
13671361
if async {
13681362
cfg.Genesis.GreenlandBlockHeight = 0
13691363
} else {

api/serverV2_integrity_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ func setupChain(cfg testConfig) (blockchain.Blockchain, blockdao.BlockDAO, block
290290
cfg.chain.EnableArchiveMode = true
291291
registry := protocol.NewRegistry()
292292
factoryCfg := factory.GenerateConfig(cfg.chain, cfg.genesis)
293-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
293+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
294294
if err != nil {
295295
return nil, nil, nil, nil, nil, nil, nil, "", err
296296
}

blockchain/config.go

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ type (
4848
GravityChainDB db.Config `yaml:"gravityChainDB"`
4949
Committee committee.Config `yaml:"committee"`
5050

51+
// EnableTrielessStateDB enables trieless state db (deprecated)
5152
EnableTrielessStateDB bool `yaml:"enableTrielessStateDB"`
5253
// EnableStateDBCaching enables cachedStateDBOption
5354
EnableStateDBCaching bool `yaml:"enableStateDBCaching"`

blockchain/integrity/integrity_test.go

+23-59
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ func TestCreateBlockchain(t *testing.T) {
490490
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
491491
require.NoError(rp.Register(registry))
492492
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
493-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
493+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
494494
require.NoError(err)
495495
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
496496
require.NoError(err)
@@ -546,7 +546,7 @@ func TestGetBlockHash(t *testing.T) {
546546
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
547547
require.NoError(rp.Register(registry))
548548
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
549-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
549+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
550550
require.NoError(err)
551551
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
552552
require.NoError(err)
@@ -711,7 +711,7 @@ func TestBlockchain_MintNewBlock(t *testing.T) {
711711
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
712712
require.NoError(t, rp.Register(registry))
713713
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
714-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
714+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
715715
require.NoError(t, err)
716716
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
717717
require.NoError(t, err)
@@ -781,7 +781,7 @@ func TestBlockchain_MintNewBlock_PopAccount(t *testing.T) {
781781
acc := account.NewProtocol(rewarding.DepositGas)
782782
require.NoError(t, acc.Register(registry))
783783
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
784-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
784+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
785785
require.NoError(t, err)
786786
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
787787
require.NoError(t, err)
@@ -1458,7 +1458,7 @@ func TestConstantinople(t *testing.T) {
14581458
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
14591459
db2, err := db.CreateKVStore(cfg.DB, cfg.Chain.TrieDBPath)
14601460
require.NoError(err)
1461-
sf, err := factory.NewFactory(factoryCfg, db2, factory.RegistryOption(registry))
1461+
sf, err := factory.NewStateDB(factoryCfg, db2, factory.RegistryStateDBOption(registry))
14621462
require.NoError(err)
14631463
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
14641464
require.NoError(err)
@@ -1706,7 +1706,7 @@ func TestLoadBlockchainfromDB(t *testing.T) {
17061706
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
17071707
db2, err := db.CreateKVStore(cfg.DB, cfg.Chain.TrieDBPath)
17081708
require.NoError(err)
1709-
sf, err := factory.NewFactory(factoryCfg, db2, factory.RegistryOption(registry))
1709+
sf, err := factory.NewStateDB(factoryCfg, db2, factory.RegistryStateDBOption(registry))
17101710
require.NoError(err)
17111711
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
17121712
require.NoError(err)
@@ -2029,7 +2029,7 @@ func TestBlockchainInitialCandidate(t *testing.T) {
20292029
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
20302030
db2, err := db.CreateKVStore(cfg.DB, cfg.Chain.TrieDBPath)
20312031
require.NoError(err)
2032-
sf, err := factory.NewFactory(factoryCfg, db2, factory.RegistryOption(registry))
2032+
sf, err := factory.NewStateDB(factoryCfg, db2, factory.RegistryStateDBOption(registry))
20332033
require.NoError(err)
20342034
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
20352035
require.NoError(err)
@@ -2080,7 +2080,7 @@ func TestBlockchain_AccountState(t *testing.T) {
20802080
acc := account.NewProtocol(rewarding.DepositGas)
20812081
require.NoError(acc.Register(registry))
20822082
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2083-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2083+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
20842084
require.NoError(err)
20852085
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
20862086
require.NoError(err)
@@ -2112,7 +2112,7 @@ func TestNewAccountAction(t *testing.T) {
21122112
acc := account.NewProtocol(rewarding.DepositGas)
21132113
require.NoError(acc.Register(registry))
21142114
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2115-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2115+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
21162116
require.NoError(err)
21172117
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
21182118
require.NoError(err)
@@ -2159,7 +2159,7 @@ func TestNewAccountAction(t *testing.T) {
21592159
}
21602160
ctx = genesis.WithGenesisContext(context.Background(), cfg.Genesis)
21612161
factoryCfg = factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2162-
sf1, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2162+
sf1, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
21632163
require.NoError(err)
21642164
store, err := filedao.NewFileDAOInMemForTest()
21652165
require.NoError(err)
@@ -2222,7 +2222,7 @@ func TestBlocks(t *testing.T) {
22222222
acc := account.NewProtocol(rewarding.DepositGas)
22232223
require.NoError(acc.Register(registry))
22242224
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2225-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2225+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
22262226
require.NoError(err)
22272227
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
22282228
require.NoError(err)
@@ -2297,7 +2297,7 @@ func TestActions(t *testing.T) {
22972297
cfg.Genesis.InitBalanceMap[a] = "100000"
22982298
cfg.Genesis.InitBalanceMap[c] = "100000"
22992299
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2300-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2300+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
23012301
require.NoError(err)
23022302
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
23032303
require.NoError(err)
@@ -2364,7 +2364,7 @@ func TestBlockchain_AddRemoveSubscriber(t *testing.T) {
23642364
// create chain
23652365
registry := protocol.NewRegistry()
23662366
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2367-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
2367+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
23682368
req.NoError(err)
23692369
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
23702370
req.NoError(err)
@@ -2383,13 +2383,8 @@ func TestBlockchain_AddRemoveSubscriber(t *testing.T) {
23832383
}
23842384

23852385
func TestHistoryForAccount(t *testing.T) {
2386-
testHistoryForAccount(t, false)
2387-
testHistoryForAccount(t, true)
2388-
}
2389-
2390-
func testHistoryForAccount(t *testing.T, statetx bool) {
23912386
require := require.New(t)
2392-
bc, sf, _, _, ap := newChain(t, statetx)
2387+
bc, sf, _, _, ap := newChain(t)
23932388
a := identityset.Address(28)
23942389
priKeyA := identityset.PrivateKey(28)
23952390
b := identityset.Address(29)
@@ -2423,29 +2418,13 @@ func testHistoryForAccount(t *testing.T, statetx bool) {
24232418
require.Equal(big.NewInt(110), AccountB.Balance)
24242419

24252420
// check history account's balance
2426-
if statetx {
2427-
_, err = sf.WorkingSetAtHeight(ctx, 0)
2428-
require.NoError(err)
2429-
} else {
2430-
sr, err := sf.WorkingSetAtHeight(ctx, bc.TipHeight()-1)
2431-
require.NoError(err)
2432-
AccountA, err = accountutil.AccountState(ctx, sr, a)
2433-
require.NoError(err)
2434-
AccountB, err = accountutil.AccountState(ctx, sr, b)
2435-
require.NoError(err)
2436-
require.Equal(big.NewInt(100), AccountA.Balance)
2437-
require.Equal(big.NewInt(100), AccountB.Balance)
2438-
}
2421+
_, err = sf.WorkingSetAtHeight(ctx, 0)
2422+
require.NoError(err)
24392423
}
24402424

24412425
func TestHistoryForContract(t *testing.T) {
2442-
testHistoryForContract(t, false)
2443-
testHistoryForContract(t, true)
2444-
}
2445-
2446-
func testHistoryForContract(t *testing.T, statetx bool) {
24472426
require := require.New(t)
2448-
bc, sf, _, dao, ap := newChain(t, statetx)
2427+
bc, sf, _, dao, ap := newChain(t)
24492428
ctx := genesis.WithGenesisContext(context.Background(), bc.Genesis())
24502429
genesisAccount := identityset.Address(27).String()
24512430
// deploy and get contract address
@@ -2471,19 +2450,8 @@ func testHistoryForContract(t *testing.T, statetx bool) {
24712450
require.Equal(expect, balance)
24722451

24732452
// check the the original balance again
2474-
if statetx {
2475-
_, err = sf.WorkingSetAtHeight(ctx, bc.TipHeight()-1)
2476-
require.NoError(err)
2477-
} else {
2478-
sr, err := sf.WorkingSetAtHeight(ctx, bc.TipHeight()-1)
2479-
require.NoError(err)
2480-
account, err = accountutil.AccountState(ctx, sr, contractAddr)
2481-
require.NoError(err)
2482-
balance = BalanceOfContract(contract, genesisAccount, sr, t, account.Root)
2483-
expect, ok = new(big.Int).SetString("2000000000000000000000000000", 10)
2484-
require.True(ok)
2485-
require.Equal(expect, balance)
2486-
}
2453+
_, err = sf.WorkingSetAtHeight(ctx, bc.TipHeight()-1)
2454+
require.NoError(err)
24872455
}
24882456

24892457
func deployXrc20(bc blockchain.Blockchain, dao blockdao.BlockDAO, ap actpool.ActPool, t *testing.T) string {
@@ -2545,7 +2513,7 @@ func BalanceOfContract(contract, genesisAccount string, sr protocol.StateReader,
25452513
return big.NewInt(0).SetBytes(ret)
25462514
}
25472515

2548-
func newChain(t *testing.T, stateTX bool) (blockchain.Blockchain, factory.Factory, db.KVStore, blockdao.BlockDAO, actpool.ActPool) {
2516+
func newChain(t *testing.T) (blockchain.Blockchain, factory.Factory, db.KVStore, blockdao.BlockDAO, actpool.ActPool) {
25492517
require := require.New(t)
25502518
cfg := config.Default
25512519

@@ -2573,13 +2541,9 @@ func newChain(t *testing.T, stateTX bool) (blockchain.Blockchain, factory.Factor
25732541
var sf factory.Factory
25742542
kv := db.NewMemKVStore()
25752543
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
2576-
if stateTX {
2577-
sf, err = factory.NewStateDB(factoryCfg, kv, factory.RegistryStateDBOption(registry))
2578-
require.NoError(err)
2579-
} else {
2580-
sf, err = factory.NewFactory(factoryCfg, kv, factory.RegistryOption(registry))
2581-
require.NoError(err)
2582-
}
2544+
sf, err = factory.NewStateDB(factoryCfg, kv, factory.RegistryStateDBOption(registry))
2545+
require.NoError(err)
2546+
25832547
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
25842548
require.NoError(err)
25852549
acc := account.NewProtocol(rewarding.DepositGas)

blocksync/blocksync_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func TestBlockSyncerProcessBlockTipHeight(t *testing.T) {
195195
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
196196
require.NoError(rp.Register(registry))
197197
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
198-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
198+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
199199
require.NoError(err)
200200
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
201201
require.NotNil(ap)
@@ -261,7 +261,7 @@ func TestBlockSyncerProcessBlockOutOfOrder(t *testing.T) {
261261
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
262262
require.NoError(rp.Register(registry))
263263
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
264-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
264+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
265265
require.NoError(err)
266266
ap1, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
267267
require.NotNil(ap1)
@@ -288,7 +288,7 @@ func TestBlockSyncerProcessBlockOutOfOrder(t *testing.T) {
288288
registry2 := protocol.NewRegistry()
289289
require.NoError(acc.Register(registry2))
290290
require.NoError(rp.Register(registry2))
291-
sf2, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry2))
291+
sf2, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry2))
292292
require.NoError(err)
293293
ap2, err := actpool.NewActPool(cfg.Genesis, sf2, cfg.ActPool)
294294
require.NotNil(ap2)
@@ -363,7 +363,7 @@ func TestBlockSyncerProcessBlock(t *testing.T) {
363363
)
364364
require.NoError(rolldposProtocol.Register(registry))
365365
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
366-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
366+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
367367
require.NoError(err)
368368
ap1, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
369369
require.NotNil(ap1)
@@ -389,7 +389,7 @@ func TestBlockSyncerProcessBlock(t *testing.T) {
389389
registry2 := protocol.NewRegistry()
390390
require.NoError(acc.Register(registry2))
391391
require.NoError(rolldposProtocol.Register(registry2))
392-
sf2, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry2))
392+
sf2, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry2))
393393
require.NoError(err)
394394
ap2, err := actpool.NewActPool(cfg.Genesis, sf2, cfg.ActPool)
395395
require.NotNil(ap2)
@@ -457,7 +457,7 @@ func TestBlockSyncerSync(t *testing.T) {
457457
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
458458
require.NoError(rp.Register(registry))
459459
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
460-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
460+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
461461
require.NoError(err)
462462
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
463463
require.NotNil(ap)

blocksync/buffer_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestBlockBufferFlush(t *testing.T) {
4242
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
4343
require.NoError(rp.Register(registry))
4444
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
45-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
45+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
4646
require.NoError(err)
4747
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
4848
require.NotNil(ap)
@@ -137,7 +137,7 @@ func TestBlockBufferGetBlocksIntervalsToSync(t *testing.T) {
137137
rp := rolldpos.NewProtocol(cfg.Genesis.NumCandidateDelegates, cfg.Genesis.NumDelegates, cfg.Genesis.NumSubEpochs)
138138
require.NoError(rp.Register(registry))
139139
factoryCfg := factory.GenerateConfig(cfg.Chain, cfg.Genesis)
140-
sf, err := factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(registry))
140+
sf, err := factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(registry))
141141
require.NoError(err)
142142
ap, err := actpool.NewActPool(cfg.Genesis, sf, cfg.ActPool)
143143
require.NotNil(ap)

chainservice/builder.go

+11-26
Original file line numberDiff line numberDiff line change
@@ -164,37 +164,22 @@ func (builder *Builder) createFactory(forTest bool) (factory.Factory, error) {
164164
factoryCfg := factory.GenerateConfig(builder.cfg.Chain, builder.cfg.Genesis)
165165
factoryDBCfg := builder.cfg.DB
166166
factoryDBCfg.DBType = builder.cfg.Chain.FactoryDBType
167-
if builder.cfg.Chain.EnableTrielessStateDB {
168-
if forTest {
169-
return factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(builder.cs.registry))
170-
}
171-
opts := []factory.StateDBOption{
172-
factory.RegistryStateDBOption(builder.cs.registry),
173-
factory.DefaultPatchOption(),
174-
}
175-
if builder.cfg.Chain.EnableStateDBCaching {
176-
dao, err = db.CreateKVStoreWithCache(factoryDBCfg, builder.cfg.Chain.TrieDBPath, builder.cfg.Chain.StateDBCacheSize)
177-
} else {
178-
dao, err = db.CreateKVStore(factoryDBCfg, builder.cfg.Chain.TrieDBPath)
179-
}
180-
if err != nil {
181-
return nil, err
182-
}
183-
return factory.NewStateDB(factoryCfg, dao, opts...)
184-
}
185167
if forTest {
186-
return factory.NewFactory(factoryCfg, db.NewMemKVStore(), factory.RegistryOption(builder.cs.registry))
168+
return factory.NewStateDB(factoryCfg, db.NewMemKVStore(), factory.RegistryStateDBOption(builder.cs.registry))
169+
}
170+
opts := []factory.StateDBOption{
171+
factory.RegistryStateDBOption(builder.cs.registry),
172+
factory.DefaultPatchOption(),
173+
}
174+
if builder.cfg.Chain.EnableStateDBCaching {
175+
dao, err = db.CreateKVStoreWithCache(factoryDBCfg, builder.cfg.Chain.TrieDBPath, builder.cfg.Chain.StateDBCacheSize)
176+
} else {
177+
dao, err = db.CreateKVStore(factoryDBCfg, builder.cfg.Chain.TrieDBPath)
187178
}
188-
dao, err = db.CreateKVStore(factoryDBCfg, builder.cfg.Chain.TrieDBPath)
189179
if err != nil {
190180
return nil, err
191181
}
192-
return factory.NewFactory(
193-
factoryCfg,
194-
dao,
195-
factory.RegistryOption(builder.cs.registry),
196-
factory.DefaultTriePatchOption(),
197-
)
182+
return factory.NewStateDB(factoryCfg, dao, opts...)
198183
}
199184

200185
func (builder *Builder) buildElectionCommittee() error {

0 commit comments

Comments
 (0)