/
sudo_middleware.go
29 lines (23 loc) · 1.04 KB
/
sudo_middleware.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package keeper
import (
"testing"
tmdb "github.com/cometbft/cometbft-db"
"github.com/cometbft/cometbft/libs/log"
tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
"github.com/cosmos/cosmos-sdk/store"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/stretchr/testify/require"
"github.com/neutron-org/neutron/v2/x/contractmanager"
"github.com/neutron-org/neutron/v2/x/contractmanager/types"
)
func NewSudoLimitWrapper(t testing.TB, cmKeeper types.ContractManagerKeeper, wasmKeeper types.WasmKeeper) (types.WasmKeeper, sdk.Context, *storetypes.KVStoreKey) {
storeKey := sdk.NewKVStoreKey(types.StoreKey)
db := tmdb.NewMemDB()
stateStore := store.NewCommitMultiStore(db)
stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db)
require.NoError(t, stateStore.LoadLatestVersion())
limitWrapper := contractmanager.NewSudoLimitWrapper(cmKeeper, wasmKeeper)
ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger())
return limitWrapper, ctx, storeKey
}