diff --git a/app/app.go b/app/app.go index e73f442b..455adf5e 100644 --- a/app/app.go +++ b/app/app.go @@ -740,6 +740,7 @@ func New( icatypes.ModuleName, ibcfeetypes.ModuleName, wasmtypes.ModuleName, + logicmoduletypes.ModuleName, ) app.ModuleManager.SetOrderEndBlockers( diff --git a/x/logic/fs/wasm_test.go b/x/logic/fs/wasm_test.go index 97bc475c..bd4b18bf 100644 --- a/x/logic/fs/wasm_test.go +++ b/x/logic/fs/wasm_test.go @@ -8,15 +8,17 @@ import ( "net/url" "testing" + "cosmossdk.io/store/metrics" + "github.com/golang/mock/gomock" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -122,8 +124,8 @@ func TestWasmHandler(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the uri #%d: %s", nc, tc.uri), func() { Convey("and a wasm keeper initialized with the given values", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) wasmKeeper := testutil.NewMockWasmKeeper(ctrl) ctx := sdk. NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) diff --git a/x/logic/interpreter/interpreter.go b/x/logic/interpreter/interpreter.go index 35a89059..42339410 100644 --- a/x/logic/interpreter/interpreter.go +++ b/x/logic/interpreter/interpreter.go @@ -6,10 +6,10 @@ import ( "io" "io/fs" + storetypes "cosmossdk.io/store/types" + "github.com/ichiban/prolog" "github.com/ichiban/prolog/engine" - - sdk "github.com/cosmos/cosmos-sdk/types" ) // Predicates is a map of predicate names to their execution costs. @@ -20,7 +20,7 @@ type Option func(*prolog.Interpreter) error // WithPredicates configures the interpreter to register the specified predicates. // The predicates names must be present in the registry, otherwise the function will return an error. -func WithPredicates(_ goctx.Context, predicates Predicates, meter sdk.GasMeter) Option { +func WithPredicates(_ goctx.Context, predicates Predicates, meter storetypes.GasMeter) Option { return func(i *prolog.Interpreter) error { for predicate, cost := range predicates { if err := Register(i, predicate, cost, meter); err != nil { diff --git a/x/logic/interpreter/registry.go b/x/logic/interpreter/registry.go index a35c83fd..f46df62a 100644 --- a/x/logic/interpreter/registry.go +++ b/x/logic/interpreter/registry.go @@ -5,11 +5,11 @@ import ( "strconv" "strings" + storetypes "cosmossdk.io/store/types" + "github.com/ichiban/prolog" "github.com/ichiban/prolog/engine" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/okp4/okp4d/x/logic/predicate" ) @@ -138,7 +138,7 @@ var RegistryNames = func() []string { // executing the predicate(ctx). // //nolint:lll -func Register(i *prolog.Interpreter, name string, cost uint64, meter sdk.GasMeter) error { +func Register(i *prolog.Interpreter, name string, cost uint64, meter storetypes.GasMeter) error { if p, ok := registry[name]; ok { parts := strings.Split(name, "/") if len(parts) == 2 { @@ -148,7 +148,7 @@ func Register(i *prolog.Interpreter, name string, cost uint64, meter sdk.GasMete return err } - hook := func() sdk.Gas { + hook := func() storetypes.Gas { meter.ConsumeGas(cost, fmt.Sprintf("predicate %s", name)) return meter.GasRemaining() diff --git a/x/logic/keeper/grpc_query_ask.go b/x/logic/keeper/grpc_query_ask.go index c574cbce..520b51ee 100644 --- a/x/logic/keeper/grpc_query_ask.go +++ b/x/logic/keeper/grpc_query_ask.go @@ -3,6 +3,8 @@ package keeper import ( goctx "context" + storetypes "cosmossdk.io/store/types" + errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -26,7 +28,7 @@ func (k Keeper) Ask(ctx goctx.Context, req *types.QueryServiceAskRequest) (respo sdkCtx = withGasMeter(sdkCtx, limits) defer func() { if r := recover(); r != nil { - if gasError, ok := r.(sdk.ErrorOutOfGas); ok { + if gasError, ok := r.(storetypes.ErrorOutOfGas); ok { response, err = nil, errorsmod.Wrapf( types.LimitExceeded, "out of gas: %s <%s> (%d/%d)", types.ModuleName, gasError.Descriptor, sdkCtx.GasMeter().GasConsumed(), sdkCtx.GasMeter().Limit()) @@ -49,7 +51,7 @@ func (k Keeper) Ask(ctx goctx.Context, req *types.QueryServiceAskRequest) (respo // withGasMeter returns a new context with a gas meter that has the given limit. // The gas meter is go-router-safe. func withGasMeter(sdkCtx sdk.Context, limits types.Limits) sdk.Context { - gasMeter := meter.WithSafeMeter(sdk.NewGasMeter(limits.MaxGas.Uint64())) + gasMeter := meter.WithSafeMeter(storetypes.NewGasMeter(limits.MaxGas.Uint64())) return sdkCtx.WithGasMeter(gasMeter) } diff --git a/x/logic/keeper/grpc_query_ask_test.go b/x/logic/keeper/grpc_query_ask_test.go index 67ceb917..9292af9e 100644 --- a/x/logic/keeper/grpc_query_ask_test.go +++ b/x/logic/keeper/grpc_query_ask_test.go @@ -10,8 +10,8 @@ import ( . "github.com/smartystreets/goconvey/convey" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/baseapp" - storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/testutil" moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" diff --git a/x/logic/keeper/grpc_query_params_test.go b/x/logic/keeper/grpc_query_params_test.go index f7eedb30..f7d22bbd 100644 --- a/x/logic/keeper/grpc_query_params_test.go +++ b/x/logic/keeper/grpc_query_params_test.go @@ -12,8 +12,8 @@ import ( "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/baseapp" - storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/testutil" moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" diff --git a/x/logic/keeper/interpreter.go b/x/logic/keeper/interpreter.go index a08451bc..acd805d9 100644 --- a/x/logic/keeper/interpreter.go +++ b/x/logic/keeper/interpreter.go @@ -4,6 +4,8 @@ import ( goctx "context" "math" + storetypes "cosmossdk.io/store/types" + "github.com/ichiban/prolog" "github.com/samber/lo" @@ -98,7 +100,7 @@ func (k Keeper) solsToAnswer(sdkCtx sdk.Context, sols *prolog.Solutions) (*types if err := sols.Err(); err != nil { if sdkCtx.GasMeter().IsOutOfGas() { - panic(sdk.ErrorOutOfGas{Descriptor: "Prolog interpreter execution"}) + panic(storetypes.ErrorOutOfGas{Descriptor: "Prolog interpreter execution"}) } solError = sols.Err().Error() } diff --git a/x/logic/keeper/keeper.go b/x/logic/keeper/keeper.go index eb6ef225..4210f590 100644 --- a/x/logic/keeper/keeper.go +++ b/x/logic/keeper/keeper.go @@ -5,10 +5,10 @@ import ( "fmt" "io/fs" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/codec" - storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/types" diff --git a/x/logic/keeper/msg_server_test.go b/x/logic/keeper/msg_server_test.go index 04cb24da..c70c1eed 100644 --- a/x/logic/keeper/msg_server_test.go +++ b/x/logic/keeper/msg_server_test.go @@ -10,7 +10,7 @@ import ( . "github.com/smartystreets/goconvey/convey" - storetypes "github.com/cosmos/cosmos-sdk/store/types" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/testutil" moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" diff --git a/x/logic/meter/safe.go b/x/logic/meter/safe.go index 4edf26de..a977b36c 100644 --- a/x/logic/meter/safe.go +++ b/x/logic/meter/safe.go @@ -3,19 +3,19 @@ package meter import ( "sync" - sdk "github.com/cosmos/cosmos-sdk/types" + storetypes "cosmossdk.io/store/types" ) -// safeMeterDecorater is a wrapper around sdk.GasMeter that provides go-routine-safe access to the underlying gas meter. +// safeMeterDecorater is a wrapper around storetypes.GasMeter that provides go-routine-safe access to the underlying gas meter. // This is needed because the interpreter uses multiple go-routines, and the gas meter is shared between multiple // goroutines. type safeMeterDecorater struct { - gasMeter sdk.GasMeter + gasMeter storetypes.GasMeter mutex sync.RWMutex } -// WithSafeMeter returns a new instance of sdk.GasMeter that is go-routine-safe. -func WithSafeMeter(gasMeter sdk.GasMeter) sdk.GasMeter { +// WithSafeMeter returns a new instance of storetypes.GasMeter that is go-routine-safe. +func WithSafeMeter(gasMeter storetypes.GasMeter) storetypes.GasMeter { return &safeMeterDecorater{ gasMeter: gasMeter, } diff --git a/x/logic/meter/weighted.go b/x/logic/meter/weighted.go index 54551f11..7a4a07a0 100644 --- a/x/logic/meter/weighted.go +++ b/x/logic/meter/weighted.go @@ -3,17 +3,17 @@ package meter import ( "math" - "github.com/cosmos/cosmos-sdk/types" + storetypes "cosmossdk.io/store/types" ) // weightedMeterDecorator is decorator that wraps a gas meter and adds a weight multiplier to the consumed gas. type weightedMeterDecorator struct { - decorated types.GasMeter + decorated storetypes.GasMeter weight uint64 } // WithWeightedMeter returns a new weightedMeterDecorator with the given weight. -func WithWeightedMeter(decorated types.GasMeter, weight uint64) types.GasMeter { +func WithWeightedMeter(decorated storetypes.GasMeter, weight uint64) storetypes.GasMeter { return &weightedMeterDecorator{ decorated: decorated, weight: weight, @@ -21,27 +21,27 @@ func WithWeightedMeter(decorated types.GasMeter, weight uint64) types.GasMeter { } // GasConsumed returns the amount of gas consumed by the decorated gas meter. -func (m *weightedMeterDecorator) GasConsumed() types.Gas { +func (m *weightedMeterDecorator) GasConsumed() storetypes.Gas { return m.decorated.GasConsumed() } // GasConsumedToLimit returns the amount of gas consumed by the decorated gas meter. -func (m *weightedMeterDecorator) GasConsumedToLimit() types.Gas { +func (m *weightedMeterDecorator) GasConsumedToLimit() storetypes.Gas { return m.decorated.GasConsumedToLimit() } // GasRemaining returns the amount of gas remaining in the decorated gas meter. -func (m *weightedMeterDecorator) GasRemaining() types.Gas { +func (m *weightedMeterDecorator) GasRemaining() storetypes.Gas { return m.decorated.GasRemaining() } // Limit returns the limit of the decorated gas meter. -func (m *weightedMeterDecorator) Limit() types.Gas { +func (m *weightedMeterDecorator) Limit() storetypes.Gas { return m.decorated.Limit() } // ConsumeGas consumes the given amount of gas from the decorated gas meter. -func (m *weightedMeterDecorator) ConsumeGas(amount types.Gas, descriptor string) { +func (m *weightedMeterDecorator) ConsumeGas(amount storetypes.Gas, descriptor string) { consumed, overflow := multiplyUint64Overflow(m.weight, amount) if overflow { m.decorated.ConsumeGas(math.MaxUint64, descriptor) @@ -51,7 +51,7 @@ func (m *weightedMeterDecorator) ConsumeGas(amount types.Gas, descriptor string) } // RefundGas refunds the given amount of gas to the decorated gas meter. -func (m *weightedMeterDecorator) RefundGas(amount types.Gas, descriptor string) { +func (m *weightedMeterDecorator) RefundGas(amount storetypes.Gas, descriptor string) { consumed, overflow := multiplyUint64Overflow(m.decorated.GasConsumed(), amount) if overflow { m.decorated.RefundGas(math.MaxUint64, descriptor) diff --git a/x/logic/migrations/v2/types/params.pb.go b/x/logic/migrations/v2/types/params.pb.go index dd0d7799..c893bf62 100644 --- a/x/logic/migrations/v2/types/params.pb.go +++ b/x/logic/migrations/v2/types/params.pb.go @@ -13,13 +13,15 @@ import ( _ "github.com/cosmos/gogoproto/gogoproto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + sdkmath "cosmossdk.io/math" ) // Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +var ( + _ = proto.Marshal + _ = fmt.Errorf + _ = math.Inf +) // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -42,9 +44,11 @@ func (*Params) ProtoMessage() {} func (*Params) Descriptor() ([]byte, []int) { return fileDescriptor_55eca4aea58a32e5, []int{0} } + func (m *Params) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } + func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { return xxx_messageInfo_Params.Marshal(b, m, deterministic) @@ -57,12 +61,15 @@ func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } + func (m *Params) XXX_Merge(src proto.Message) { xxx_messageInfo_Params.Merge(m, src) } + func (m *Params) XXX_Size() int { return m.Size() } + func (m *Params) XXX_DiscardUnknown() { xxx_messageInfo_Params.DiscardUnknown(m) } @@ -89,13 +96,13 @@ type Limits struct { // executing a request by the interpreter. The interpreter calculates the gas consumption based on the number and type // of operations that are executed, as well as, in some cases, the complexity of the processed data. // nil value remove max gas limitation. - MaxGas *github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,1,opt,name=max_gas,json=maxGas,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_gas,omitempty" yaml:"max_gas",omitempty` + MaxGas *sdkmath.Uint `protobuf:"bytes,1,opt,name=max_gas,json=maxGas,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_gas,omitempty" yaml:"max_gas",omitempty` // max_size specifies the maximum size, in bytes, that is accepted for a program. // nil value remove size limitation. - MaxSize *github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,3,opt,name=max_size,json=maxSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_size,omitempty" yaml:"max_size"` + MaxSize *sdkmath.Uint `protobuf:"bytes,3,opt,name=max_size,json=maxSize,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_size,omitempty" yaml:"max_size"` // max_result_count specifies the maximum number of results that can be requested for a query. // nil value remove max result count limitation. - MaxResultCount *github_com_cosmos_cosmos_sdk_types.Uint `protobuf:"bytes,2,opt,name=max_result_count,json=maxResultCount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_result_count,omitempty" yaml:"max_result_count"` + MaxResultCount *sdkmath.Uint `protobuf:"bytes,2,opt,name=max_result_count,json=maxResultCount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Uint" json:"max_result_count,omitempty" yaml:"max_result_count"` } func (m *Limits) Reset() { *m = Limits{} } @@ -104,9 +111,11 @@ func (*Limits) ProtoMessage() {} func (*Limits) Descriptor() ([]byte, []int) { return fileDescriptor_55eca4aea58a32e5, []int{1} } + func (m *Limits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } + func (m *Limits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { return xxx_messageInfo_Limits.Marshal(b, m, deterministic) @@ -119,12 +128,15 @@ func (m *Limits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } + func (m *Limits) XXX_Merge(src proto.Message) { xxx_messageInfo_Limits.Merge(m, src) } + func (m *Limits) XXX_Size() int { return m.Size() } + func (m *Limits) XXX_DiscardUnknown() { xxx_messageInfo_Limits.DiscardUnknown(m) } @@ -148,9 +160,11 @@ func (*Interpreter) ProtoMessage() {} func (*Interpreter) Descriptor() ([]byte, []int) { return fileDescriptor_55eca4aea58a32e5, []int{2} } + func (m *Interpreter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } + func (m *Interpreter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { return xxx_messageInfo_Interpreter.Marshal(b, m, deterministic) @@ -163,12 +177,15 @@ func (m *Interpreter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } + func (m *Interpreter) XXX_Merge(src proto.Message) { xxx_messageInfo_Interpreter.Merge(m, src) } + func (m *Interpreter) XXX_Size() int { return m.Size() } + func (m *Interpreter) XXX_DiscardUnknown() { xxx_messageInfo_Interpreter.DiscardUnknown(m) } @@ -383,6 +400,7 @@ func encodeVarintParams(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } + func (m *Params) Size() (n int) { if m == nil { return 0 @@ -439,9 +457,11 @@ func (m *Interpreter) Size() (n int) { func sovParams(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } + func sozParams(x uint64) (n int) { return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } + func (m *Params) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -558,6 +578,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { } return nil } + func (m *Limits) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -617,7 +638,7 @@ func (m *Limits) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Uint + var v sdkmath.Uint m.MaxGas = &v if err := m.MaxGas.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -653,7 +674,7 @@ func (m *Limits) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Uint + var v sdkmath.Uint m.MaxResultCount = &v if err := m.MaxResultCount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -689,7 +710,7 @@ func (m *Limits) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Uint + var v sdkmath.Uint m.MaxSize = &v if err := m.MaxSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -716,6 +737,7 @@ func (m *Limits) Unmarshal(dAtA []byte) error { } return nil } + func (m *Interpreter) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -830,6 +852,7 @@ func (m *Interpreter) Unmarshal(dAtA []byte) error { } return nil } + func skipParams(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/logic/migrations/v3/migrations.go b/x/logic/migrations/v3/migrations.go index 38d42911..926bfdee 100644 --- a/x/logic/migrations/v3/migrations.go +++ b/x/logic/migrations/v3/migrations.go @@ -1,8 +1,8 @@ package v2 import ( + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/codec" - storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" diff --git a/x/logic/module.go b/x/logic/module.go index df621251..86eb09be 100644 --- a/x/logic/module.go +++ b/x/logic/module.go @@ -5,25 +5,25 @@ import ( "encoding/json" "fmt" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - - abci "github.com/cometbft/cometbft/abci/types" + "cosmossdk.io/core/appmodule" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/okp4/okp4d/x/logic/client/cli" "github.com/okp4/okp4d/x/logic/exported" "github.com/okp4/okp4d/x/logic/keeper" "github.com/okp4/okp4d/x/logic/types" ) var ( - _ module.AppModule = AppModule{} + _ module.HasGenesis = AppModule{} + _ module.HasServices = AppModule{} + + _ appmodule.AppModule = AppModule{} _ module.AppModuleBasic = AppModuleBasic{} ) @@ -76,18 +76,6 @@ func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *r _ = types.RegisterQueryServiceHandlerClient(context.Background(), mux, types.NewQueryServiceClient(clientCtx)) } -// GetTxCmd returns the root Tx command for the module. The subcommands of this root command are used by end-users to -// generate new transactions containing messages defined in the module. -func (a AppModuleBasic) GetTxCmd() *cobra.Command { - return cli.GetTxCmd() -} - -// GetQueryCmd returns the root query command for the module. The subcommands of this root command are used by end-users -// to generate new queries to the subset of the state defined by the module. -func (AppModuleBasic) GetQueryCmd() *cobra.Command { - return cli.GetQueryCmd(types.StoreKey) -} - // ---------------------------------------------------------------------------- // AppModule // ---------------------------------------------------------------------------- @@ -119,6 +107,10 @@ func NewAppModule( } } +func (am AppModule) IsOnePerModuleType() {} + +func (am AppModule) IsAppModule() {} + // RegisterServices registers a gRPC query service to respond to the module-specific gRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterMsgServiceServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) @@ -142,19 +134,13 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { } } -// RegisterInvariants registers the invariants of the module. If an invariant deviates from its predicted value, -// the InvariantRegistry triggers appropriate logic (most often the chain will be halted). -func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} - // InitGenesis performs the module's genesis initialization. It returns no validator updates. -func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage) []abci.ValidatorUpdate { +func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage) { var genState types.GenesisState // Initialize global index to index in genesis state cdc.MustUnmarshalJSON(gs, &genState) InitGenesis(ctx, am.keeper, genState) - - return []abci.ValidatorUpdate{} } // ExportGenesis returns the module's exported genesis state as raw JSON bytes. @@ -168,9 +154,6 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw func (AppModule) ConsensusVersion() uint64 { return 3 } // BeginBlock contains the logic that is automatically triggered at the beginning of each block. -func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} - -// EndBlock contains the logic that is automatically triggered at the end of each block. -func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { - return []abci.ValidatorUpdate{} +func (am AppModule) BeginBlock(_ context.Context) error { + return nil } diff --git a/x/logic/predicate/address_test.go b/x/logic/predicate/address_test.go index 9b6fa3c8..4b1165c7 100644 --- a/x/logic/predicate/address_test.go +++ b/x/logic/predicate/address_test.go @@ -6,15 +6,18 @@ import ( "strings" "testing" + "cosmossdk.io/store/metrics" + + dbm "github.com/cosmos/cosmos-db" + "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -123,8 +126,8 @@ func TestBech32(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/bank_test.go b/x/logic/predicate/bank_test.go index 805d6be7..fcb6bd18 100644 --- a/x/logic/predicate/bank_test.go +++ b/x/logic/predicate/bank_test.go @@ -6,16 +6,21 @@ import ( "strings" "testing" + "cosmossdk.io/math" + + "cosmossdk.io/store/metrics" + + dbm "github.com/cosmos/cosmos-db" + "github.com/golang/mock/gomock" "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -41,7 +46,7 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(100))), }, }, query: `bank_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', X).`, @@ -51,7 +56,7 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(100))), }, }, query: `bank_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X]).`, @@ -61,7 +66,7 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X, Y]).`, @@ -71,7 +76,7 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [-(D, A) | _]).`, @@ -81,11 +86,11 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, query: `bank_balances('okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38', [_, X]).`, @@ -95,11 +100,11 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, program: `bank_balances_has_coin(A, D, V) :- bank_balances(A, R), member(D-V, R).`, @@ -111,12 +116,12 @@ func TestBank(t *testing.T) { { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", Coins: sdk.NewCoins( - sdk.NewCoin("uknow", sdk.NewInt(589)), - sdk.NewCoin("uatom", sdk.NewInt(693)), - sdk.NewCoin("uband", sdk.NewInt(4282)), - sdk.NewCoin("uakt", sdk.NewInt(4099)), - sdk.NewCoin("ukava", sdk.NewInt(836)), - sdk.NewCoin("uscrt", sdk.NewInt(599)), + sdk.NewCoin("uknow", math.NewInt(589)), + sdk.NewCoin("uatom", math.NewInt(693)), + sdk.NewCoin("uband", math.NewInt(4282)), + sdk.NewCoin("uakt", math.NewInt(4099)), + sdk.NewCoin("ukava", math.NewInt(836)), + sdk.NewCoin("uscrt", math.NewInt(599)), ), }, }, @@ -128,11 +133,11 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_balances(Accounts, Balances).`, @@ -152,13 +157,13 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(1000))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(1000))), }, }, spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(100))), }, }, query: `bank_spendable_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', X).`, @@ -168,7 +173,7 @@ func TestBank(t *testing.T) { spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(100))), }, }, query: `bank_spendable_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X]).`, @@ -178,7 +183,7 @@ func TestBank(t *testing.T) { spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_spendable_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X, Y]).`, @@ -188,7 +193,7 @@ func TestBank(t *testing.T) { spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_spendable_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [-(D, A) | _]).`, @@ -198,11 +203,11 @@ func TestBank(t *testing.T) { spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, query: `bank_spendable_balances('okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38', [_, X]).`, @@ -212,11 +217,11 @@ func TestBank(t *testing.T) { spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, program: `bank_spendable_has_coin(A, D, V) :- bank_spendable_balances(A, R), member(D-V, R).`, @@ -228,12 +233,12 @@ func TestBank(t *testing.T) { { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", Coins: sdk.NewCoins( - sdk.NewCoin("uknow", sdk.NewInt(589)), - sdk.NewCoin("uatom", sdk.NewInt(693)), - sdk.NewCoin("uband", sdk.NewInt(4282)), - sdk.NewCoin("uakt", sdk.NewInt(4099)), - sdk.NewCoin("ukava", sdk.NewInt(836)), - sdk.NewCoin("uscrt", sdk.NewInt(599)), + sdk.NewCoin("uknow", math.NewInt(589)), + sdk.NewCoin("uatom", math.NewInt(693)), + sdk.NewCoin("uband", math.NewInt(4282)), + sdk.NewCoin("uakt", math.NewInt(4099)), + sdk.NewCoin("ukava", math.NewInt(836)), + sdk.NewCoin("uscrt", math.NewInt(599)), ), }, }, @@ -246,21 +251,21 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(1220))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(1220))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(8000))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(8000))), }, }, spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_spendable_balances(Accounts, SpendableCoins).`, @@ -281,19 +286,19 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(1000))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(1000))), }, }, spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(100))), }, }, lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(900))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(900))), }, }, query: `bank_locked_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', X).`, @@ -303,7 +308,7 @@ func TestBank(t *testing.T) { lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(100))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(100))), }, }, query: `bank_locked_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X]).`, @@ -313,7 +318,7 @@ func TestBank(t *testing.T) { lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_locked_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [X, Y]).`, @@ -323,7 +328,7 @@ func TestBank(t *testing.T) { lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(589))), }, }, query: `bank_locked_balances('okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm', [-(D, A) | _]).`, @@ -333,11 +338,11 @@ func TestBank(t *testing.T) { lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, query: `bank_locked_balances('okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38', [_, X]).`, @@ -347,11 +352,11 @@ func TestBank(t *testing.T) { lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420)), sdk.NewCoin("uatom", sdk.NewInt(493))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420)), sdk.NewCoin("uatom", math.NewInt(493))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(589)), sdk.NewCoin("uatom", sdk.NewInt(693))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(589)), sdk.NewCoin("uatom", math.NewInt(693))), }, }, program: `bank_locked_has_coin(A, D, V) :- bank_locked_balances(A, R), member(D-V, R).`, @@ -363,12 +368,12 @@ func TestBank(t *testing.T) { { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", Coins: sdk.NewCoins( - sdk.NewCoin("uknow", sdk.NewInt(589)), - sdk.NewCoin("uatom", sdk.NewInt(693)), - sdk.NewCoin("uband", sdk.NewInt(4282)), - sdk.NewCoin("uakt", sdk.NewInt(4099)), - sdk.NewCoin("ukava", sdk.NewInt(836)), - sdk.NewCoin("uscrt", sdk.NewInt(599)), + sdk.NewCoin("uknow", math.NewInt(589)), + sdk.NewCoin("uatom", math.NewInt(693)), + sdk.NewCoin("uband", math.NewInt(4282)), + sdk.NewCoin("uakt", math.NewInt(4099)), + sdk.NewCoin("ukava", math.NewInt(836)), + sdk.NewCoin("uscrt", math.NewInt(599)), ), }, }, @@ -381,31 +386,31 @@ func TestBank(t *testing.T) { balances: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(1220))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(1220))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(8000))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(8000))), }, }, spendableCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(420))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(420))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(589))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(589))), }, }, lockedCoins: []bank.Balance{ { Address: "okp41ffd5wx65l407yvm478cxzlgygw07h79sq0m3fm", - Coins: sdk.NewCoins(sdk.NewCoin("uknow", sdk.NewInt(800))), + Coins: sdk.NewCoins(sdk.NewCoin("uknow", math.NewInt(800))), }, { Address: "okp41wze8mn5nsgl9qrgazq6a92fvh7m5e6pslyrz38", - Coins: sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(7411))), + Coins: sdk.NewCoins(sdk.NewCoin("uatom", math.NewInt(7411))), }, }, query: `bank_locked_balances(Accounts, LockedCoins).`, @@ -425,8 +430,8 @@ func TestBank(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) bankKeeper := testutil.NewMockBankKeeper(ctrl) ctx := sdk. NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()). diff --git a/x/logic/predicate/block_test.go b/x/logic/predicate/block_test.go index b9cc18cf..7a744701 100644 --- a/x/logic/predicate/block_test.go +++ b/x/logic/predicate/block_test.go @@ -5,15 +5,18 @@ import ( "testing" "time" + "cosmossdk.io/store/metrics" + + dbm "github.com/cosmos/cosmos-db" + "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -37,8 +40,8 @@ func TestBlock(t *testing.T) { for _, tc := range cases { Convey(fmt.Sprintf("Given the clause body: %s", tc.implication), t, func() { Convey("Given a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tc.header, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/builtin_test.go b/x/logic/predicate/builtin_test.go index c303a7a8..d50e66c1 100644 --- a/x/logic/predicate/builtin_test.go +++ b/x/logic/predicate/builtin_test.go @@ -9,11 +9,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -42,8 +42,8 @@ func TestWrite(t *testing.T) { buffer := util.NewBoundedBufferMust(tc.userOutputSize) Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/chain_test.go b/x/logic/predicate/chain_test.go index 88a3d095..cf9bf6c5 100644 --- a/x/logic/predicate/chain_test.go +++ b/x/logic/predicate/chain_test.go @@ -4,15 +4,18 @@ import ( "fmt" "testing" + "cosmossdk.io/store/metrics" + + dbm "github.com/cosmos/cosmos-db" + "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -33,8 +36,8 @@ func TestChainID(t *testing.T) { for _, tc := range cases { Convey(fmt.Sprintf("Given the clause body: %s", tc.implication), t, func() { Convey("Given a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tc.header, false, log.NewNopLogger()) Convey("and an interpreter", func() { diff --git a/x/logic/predicate/crypto_test.go b/x/logic/predicate/crypto_test.go index 7367b0c7..47dca957 100644 --- a/x/logic/predicate/crypto_test.go +++ b/x/logic/predicate/crypto_test.go @@ -6,15 +6,18 @@ import ( "strings" "testing" + "cosmossdk.io/store/metrics" + + dbm "github.com/cosmos/cosmos-db" + "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -101,8 +104,8 @@ func TestCryptoOperations(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { @@ -307,8 +310,8 @@ func TestXVerify(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/did_test.go b/x/logic/predicate/did_test.go index 3108478c..827971b3 100644 --- a/x/logic/predicate/did_test.go +++ b/x/logic/predicate/did_test.go @@ -10,11 +10,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -105,8 +105,8 @@ func TestDID(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/encoding_test.go b/x/logic/predicate/encoding_test.go index 7ee7e821..c17e4505 100644 --- a/x/logic/predicate/encoding_test.go +++ b/x/logic/predicate/encoding_test.go @@ -10,11 +10,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -76,8 +76,8 @@ func TestHexBytesPredicate(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/file_test.go b/x/logic/predicate/file_test.go index 247c483b..a2f28505 100644 --- a/x/logic/predicate/file_test.go +++ b/x/logic/predicate/file_test.go @@ -15,11 +15,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/fs" @@ -132,8 +132,8 @@ func TestSourceFile(t *testing.T) { ), nil) Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { @@ -322,8 +322,8 @@ func TestOpen(t *testing.T) { } }) Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/json_test.go b/x/logic/predicate/json_test.go index ebca37e9..390bd3b5 100644 --- a/x/logic/predicate/json_test.go +++ b/x/logic/predicate/json_test.go @@ -10,11 +10,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -365,8 +365,8 @@ func TestJsonProlog(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { @@ -471,8 +471,8 @@ func TestJsonPrologWithMoreComplexStructBidirectional(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("#%d : given the json: %s and the term %s", nc, tc.json, tc.term), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/string_test.go b/x/logic/predicate/string_test.go index 38a84c8d..583b72e3 100644 --- a/x/logic/predicate/string_test.go +++ b/x/logic/predicate/string_test.go @@ -6,15 +6,18 @@ import ( "strings" "testing" + dbm "github.com/cosmos/cosmos-db" + + "cosmossdk.io/store/metrics" + "github.com/ichiban/prolog/engine" . "github.com/smartystreets/goconvey/convey" - tmdb "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/store" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -141,8 +144,8 @@ func TestReadString(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { @@ -326,8 +329,8 @@ func TestStringBytes(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/predicate/uri_test.go b/x/logic/predicate/uri_test.go index ac354f15..7571bf2c 100644 --- a/x/logic/predicate/uri_test.go +++ b/x/logic/predicate/uri_test.go @@ -10,11 +10,11 @@ import ( . "github.com/smartystreets/goconvey/convey" + "cosmossdk.io/log" 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" + "cosmossdk.io/store" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/okp4/okp4d/x/logic/testutil" @@ -173,8 +173,8 @@ func TestURIEncoded(t *testing.T) { for nc, tc := range cases { Convey(fmt.Sprintf("Given the query #%d: %s", nc, tc.query), func() { Convey("and a context", func() { - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) Convey("and a vm", func() { diff --git a/x/logic/testutil/expected_keepers_mocks.go b/x/logic/testutil/expected_keepers_mocks.go index 0482de82..4c980f06 100644 --- a/x/logic/testutil/expected_keepers_mocks.go +++ b/x/logic/testutil/expected_keepers_mocks.go @@ -5,13 +5,12 @@ package testutil import ( + context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" - types "github.com/cosmos/cosmos-sdk/types" - types0 "github.com/cosmos/cosmos-sdk/x/auth/types" - types1 "github.com/cosmos/cosmos-sdk/x/bank/types" + types0 "github.com/cosmos/cosmos-sdk/x/bank/types" + gomock "github.com/golang/mock/gomock" ) // MockAccountKeeper is a mock of AccountKeeper interface. @@ -38,10 +37,10 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder { } // GetAccount mocks base method. -func (m *MockAccountKeeper) GetAccount(ctx types.Context, addr types.AccAddress) types0.AccountI { +func (m *MockAccountKeeper) GetAccount(ctx context.Context, addr types.AccAddress) types.AccountI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAccount", ctx, addr) - ret0, _ := ret[0].(types0.AccountI) + ret0, _ := ret[0].(types.AccountI) return ret0 } @@ -75,10 +74,10 @@ func (m *MockBankKeeper) EXPECT() *MockBankKeeperMockRecorder { } // GetAccountsBalances mocks base method. -func (m *MockBankKeeper) GetAccountsBalances(ctx types.Context) []types1.Balance { +func (m *MockBankKeeper) GetAccountsBalances(ctx context.Context) []types0.Balance { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAccountsBalances", ctx) - ret0, _ := ret[0].([]types1.Balance) + ret0, _ := ret[0].([]types0.Balance) return ret0 } @@ -89,7 +88,7 @@ func (mr *MockBankKeeperMockRecorder) GetAccountsBalances(ctx interface{}) *gomo } // GetAllBalances mocks base method. -func (m *MockBankKeeper) GetAllBalances(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) GetAllBalances(ctx context.Context, addr types.AccAddress) types.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAllBalances", ctx, addr) ret0, _ := ret[0].(types.Coins) @@ -103,7 +102,7 @@ func (mr *MockBankKeeperMockRecorder) GetAllBalances(ctx, addr interface{}) *gom } // GetBalance mocks base method. -func (m *MockBankKeeper) GetBalance(ctx types.Context, addr types.AccAddress, denom string) types.Coin { +func (m *MockBankKeeper) GetBalance(ctx context.Context, addr types.AccAddress, denom string) types.Coin { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetBalance", ctx, addr, denom) ret0, _ := ret[0].(types.Coin) @@ -117,7 +116,7 @@ func (mr *MockBankKeeperMockRecorder) GetBalance(ctx, addr, denom interface{}) * } // LockedCoins mocks base method. -func (m *MockBankKeeper) LockedCoins(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) LockedCoins(ctx context.Context, addr types.AccAddress) types.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LockedCoins", ctx, addr) ret0, _ := ret[0].(types.Coins) @@ -131,7 +130,7 @@ func (mr *MockBankKeeperMockRecorder) LockedCoins(ctx, addr interface{}) *gomock } // SpendableCoins mocks base method. -func (m *MockBankKeeper) SpendableCoins(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types.AccAddress) types.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SpendableCoins", ctx, addr) ret0, _ := ret[0].(types.Coins) @@ -168,7 +167,7 @@ func (m *MockWasmKeeper) EXPECT() *MockWasmKeeperMockRecorder { } // QuerySmart mocks base method. -func (m *MockWasmKeeper) QuerySmart(ctx types.Context, contractAddr types.AccAddress, req []byte) ([]byte, error) { +func (m *MockWasmKeeper) QuerySmart(ctx context.Context, contractAddr types.AccAddress, req []byte) ([]byte, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "QuerySmart", ctx, contractAddr, req) ret0, _ := ret[0].([]byte) diff --git a/x/logic/testutil/gas_mocks.go b/x/logic/testutil/gas_mocks.go index 9793c61c..8e65926b 100644 --- a/x/logic/testutil/gas_mocks.go +++ b/x/logic/testutil/gas_mocks.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/cosmos/cosmos-sdk/store/types (interfaces: GasMeter) +// Source: cosmossdk.io/store/types (interfaces: GasMeter) // Package testutil is a generated GoMock package. package testutil diff --git a/x/logic/types/expected_keepers.go b/x/logic/types/expected_keepers.go index 68dcabfd..d775f962 100644 --- a/x/logic/types/expected_keepers.go +++ b/x/logic/types/expected_keepers.go @@ -1,26 +1,27 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" - auth "github.com/cosmos/cosmos-sdk/x/auth/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" ) // AccountKeeper defines the expected account keeper used for simulations (noalias). type AccountKeeper interface { - GetAccount(ctx sdk.Context, addr sdk.AccAddress) auth.AccountI + GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI } // BankKeeper defines the expected interface needed to retrieve account balances. type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetAccountsBalances(ctx sdk.Context) []bank.Balance - SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - LockedCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + GetAccountsBalances(ctx context.Context) []bank.Balance + SpendableCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins + LockedCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins } // WasmKeeper defines the expected interface needed to request smart contracts. type WasmKeeper interface { - QuerySmart(ctx sdk.Context, contractAddr sdk.AccAddress, req []byte) ([]byte, error) + QuerySmart(ctx context.Context, contractAddr sdk.AccAddress, req []byte) ([]byte, error) }