package testutil import ( "testing" "github.com/cosmos/iavl" "github.com/klauspost/compress/zstd" "github.com/stretchr/testify/require" cmtlog "github.com/cometbft/cometbft/libs/log" "tangled.org/gbl08ma.com/didplcbft/badgertodbm" "tangled.org/gbl08ma.com/didplcbft/dbmtoiavldb" "tangled.org/gbl08ma.com/didplcbft/dbmtoiavldb/zstddict" "tangled.org/gbl08ma.com/didplcbft/store" "tangled.org/gbl08ma.com/didplcbft/transaction" ) func NewTestTxFactory(t *testing.T) (*transaction.Factory, *iavl.MutableTree, transaction.ExtendedDB) { _, treeDB, err := badgertodbm.NewBadgerInMemoryDB() require.NoError(t, err) tree := iavl.NewMutableTree(dbmtoiavldb.AdaptWithCompression(treeDB, zstd.SpeedFastest, zstddict.PLCZstdDict), 500000, true, iavl.NewNopLogger(), iavl.AsyncPruningOption(false)) _, indexDB, err := badgertodbm.NewBadgerInMemoryDB() require.NoError(t, err) factory, err := transaction.NewFactory(tree, indexDB, store.Consensus.CountOperations, store.NewInMemoryDIDBloomFilterStore(cmtlog.NewNopLogger())) require.NoError(t, err) return factory, tree, indexDB }