github.com/Finschia/finschia-sdk@v0.48.1/testutil/context.go (about)

     1  package testutil
     2  
     3  import (
     4  	tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
     5  	dbm "github.com/tendermint/tm-db"
     6  
     7  	"github.com/Finschia/ostracon/libs/log"
     8  
     9  	"github.com/Finschia/finschia-sdk/store"
    10  	sdk "github.com/Finschia/finschia-sdk/types"
    11  )
    12  
    13  // DefaultContext creates a sdk.Context with a fresh dbm that can be used in tests.
    14  func DefaultContext(key sdk.StoreKey, tkey sdk.StoreKey) sdk.Context {
    15  	db := dbm.NewMemDB()
    16  	cms := store.NewCommitMultiStore(db)
    17  	cms.MountStoreWithDB(key, sdk.StoreTypeIAVL, db)
    18  	cms.MountStoreWithDB(tkey, sdk.StoreTypeTransient, db)
    19  	err := cms.LoadLatestVersion()
    20  	if err != nil {
    21  		panic(err)
    22  	}
    23  	ctx := sdk.NewContext(cms, tmproto.Header{}, false, log.NewNopLogger())
    24  
    25  	return ctx
    26  }