Skip to content

Commit d18d7f8

Browse files
committed
fix
1 parent 59ed2b5 commit d18d7f8

File tree

4 files changed

+7
-20
lines changed

4 files changed

+7
-20
lines changed

x/wasm/keeper/handler_plugin.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -122,20 +122,6 @@ func (h SDKMessageHandler) handleSdkMessage(ctx sdk.Context, contractAddr sdk.Ad
122122
return nil, errorsmod.Wrapf(sdkerrors.ErrUnknownRequest, "can't route message %+v", msg)
123123
}
124124

125-
type callDepthMessageHandler struct {
126-
Messenger
127-
MaxCallDepth uint32
128-
}
129-
130-
func (h callDepthMessageHandler) DispatchMsg(ctx sdk.Context, contractAddr sdk.AccAddress, contractIBCPortID string, msg wasmvmtypes.CosmosMsg) (events []sdk.Event, data [][]byte, msgResponses [][]*codectypes.Any, err error) {
131-
ctx, err = checkAndIncreaseCallDepth(ctx, h.MaxCallDepth)
132-
if err != nil {
133-
return nil, nil, nil, errorsmod.Wrap(err, "dispatch")
134-
}
135-
136-
return h.Messenger.DispatchMsg(ctx, contractAddr, contractIBCPortID, msg)
137-
}
138-
139125
// MessageHandlerChain defines a chain of handlers that are called one by one until it can be handled.
140126
type MessageHandlerChain struct {
141127
handlers []Messenger

x/wasm/keeper/keeper.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,11 @@ func (k *Keeper) handleContractResponse(
12871287
}
12881288
ctx.EventManager().EmitEvents(customEvents)
12891289
}
1290+
// keep track of call depth
1291+
ctx, err := checkAndIncreaseCallDepth(ctx, k.maxCallDepth)
1292+
if err != nil {
1293+
return nil, err
1294+
}
12901295
return k.wasmVMResponseHandler.Handle(ctx, contractAddr, ibcPort, msgs, data)
12911296
}
12921297

x/wasm/keeper/keeper_cgo.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ func NewKeeper(
6363
for _, o := range preOpts {
6464
o.apply(keeper)
6565
}
66-
// always wrap the messenger, even if it was replaced by an option
67-
keeper.messenger = callDepthMessageHandler{keeper.messenger, keeper.maxCallDepth}
6866
// only set the wasmvm if no one set this in the options
6967
// NewVM does a lot, so better not to create it and silently drop it.
7068
if keeper.wasmVM == nil {

x/wasm/keeper/options_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ func TestConstructorOptions(t *testing.T) {
5959
"message handler": {
6060
srcOpt: WithMessageHandler(&wasmtesting.MockMessageHandler{}),
6161
verify: func(t *testing.T, k Keeper) {
62-
require.IsType(t, callDepthMessageHandler{}, k.messenger)
63-
messenger, _ := k.messenger.(callDepthMessageHandler)
64-
assert.IsType(t, &wasmtesting.MockMessageHandler{}, messenger.Messenger)
62+
assert.IsType(t, &wasmtesting.MockMessageHandler{}, k.messenger)
6563
},
6664
},
6765
"query plugins": {
@@ -72,7 +70,7 @@ func TestConstructorOptions(t *testing.T) {
7270
},
7371
"message handler decorator": {
7472
srcOpt: WithMessageHandlerDecorator(func(old Messenger) Messenger {
75-
require.IsType(t, callDepthMessageHandler{}, old)
73+
require.IsType(t, &MessageHandlerChain{}, old)
7674
return &wasmtesting.MockMessageHandler{}
7775
}),
7876
verify: func(t *testing.T, k Keeper) {

0 commit comments

Comments
 (0)