|
| 1 | +package keeper |
| 2 | + |
| 3 | +import ( |
| 4 | + "testing" |
| 5 | + |
| 6 | + "github.com/stretchr/testify/require" |
| 7 | + |
| 8 | + "cosmossdk.io/log" |
| 9 | + "cosmossdk.io/store" |
| 10 | + "cosmossdk.io/store/metrics" |
| 11 | + storetypes "cosmossdk.io/store/types" |
| 12 | + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" |
| 13 | + dbm "github.com/cosmos/cosmos-db" |
| 14 | + "github.com/cosmos/cosmos-sdk/codec" |
| 15 | + codectypes "github.com/cosmos/cosmos-sdk/codec/types" |
| 16 | + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" |
| 17 | + sdk "github.com/cosmos/cosmos-sdk/types" |
| 18 | + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" |
| 19 | + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" |
| 20 | + |
| 21 | + "github.com/sideprotocol/side/app" |
| 22 | + "github.com/sideprotocol/side/x/lending/keeper" |
| 23 | + "github.com/sideprotocol/side/x/lending/types" |
| 24 | +) |
| 25 | + |
| 26 | +func LendingKeeper(t testing.TB) (keeper.Keeper, sdk.Context) { |
| 27 | + db := dbm.NewMemDB() |
| 28 | + |
| 29 | + app := app.New(log.NewNopLogger(), db, nil, true, simtestutil.EmptyAppOptions{}) |
| 30 | + |
| 31 | + storeKey := storetypes.NewKVStoreKey(types.StoreKey) |
| 32 | + memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey) |
| 33 | + |
| 34 | + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) |
| 35 | + stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db) |
| 36 | + stateStore.MountStoreWithDB(memStoreKey, storetypes.StoreTypeMemory, nil) |
| 37 | + require.NoError(t, stateStore.LoadLatestVersion()) |
| 38 | + |
| 39 | + registry := codectypes.NewInterfaceRegistry() |
| 40 | + cdc := codec.NewProtoCodec(registry) |
| 41 | + |
| 42 | + authority := authtypes.NewModuleAddress(govtypes.ModuleName).String() |
| 43 | + |
| 44 | + k := keeper.NewKeeper( |
| 45 | + cdc, |
| 46 | + storeKey, |
| 47 | + memStoreKey, |
| 48 | + app.BankKeeper, |
| 49 | + authority, |
| 50 | + ) |
| 51 | + |
| 52 | + ctx := sdk.NewContext(stateStore, cmtproto.Header{}, false, log.NewNopLogger()) |
| 53 | + |
| 54 | + // Initialize params |
| 55 | + k.SetParams(ctx, types.DefaultParams()) |
| 56 | + |
| 57 | + return k, ctx |
| 58 | +} |
0 commit comments