Skip to content

Commit 68756ec

Browse files
authored
Remove duplication of ConvertToErrorEvents (#7467)
* chore: move convert to errors to internal directory * chore: removed empty file
1 parent 8ed9222 commit 68756ec

File tree

6 files changed

+36
-64
lines changed

6 files changed

+36
-64
lines changed

modules/core/04-channel/v2/keeper/msg_server.go

+2-23
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111
channeltypesv1 "github.com/cosmos/ibc-go/v9/modules/core/04-channel/types"
1212
channeltypesv2 "github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/types"
1313
ibcerrors "github.com/cosmos/ibc-go/v9/modules/core/errors"
14+
internalerrors "github.com/cosmos/ibc-go/v9/modules/core/internal/errors"
1415
telemetryv2 "github.com/cosmos/ibc-go/v9/modules/core/internal/v2/telemetry"
15-
coretypes "github.com/cosmos/ibc-go/v9/modules/core/types"
1616
)
1717

1818
var _ channeltypesv2.MsgServer = &Keeper{}
@@ -127,7 +127,7 @@ func (k *Keeper) RecvPacket(ctx context.Context, msg *channeltypesv2.MsgRecvPack
127127
writeFn()
128128
} else {
129129
// Modify events in cached context to reflect unsuccessful acknowledgement
130-
sdkCtx.EventManager().EmitEvents(convertToErrorEvents(cacheCtx.EventManager().Events()))
130+
sdkCtx.EventManager().EmitEvents(internalerrors.ConvertToErrorEvents(cacheCtx.EventManager().Events()))
131131
}
132132

133133
ack.AcknowledgementResults = append(ack.AcknowledgementResults, channeltypesv2.AcknowledgementResult{
@@ -233,24 +233,3 @@ func (k *Keeper) ProvideCounterparty(goCtx context.Context, msg *channeltypesv2.
233233

234234
return &channeltypesv2.MsgProvideCounterpartyResponse{}, nil
235235
}
236-
237-
// convertToErrorEvents converts all events to error events by appending the
238-
// error attribute prefix to each event's attribute key.
239-
// TODO: https://github.com/cosmos/ibc-go/issues/7436
240-
func convertToErrorEvents(events sdk.Events) sdk.Events {
241-
if events == nil {
242-
return nil
243-
}
244-
245-
newEvents := make(sdk.Events, len(events))
246-
for i, event := range events {
247-
newAttributes := make([]sdk.Attribute, len(event.Attributes))
248-
for j, attribute := range event.Attributes {
249-
newAttributes[j] = sdk.NewAttribute(coretypes.ErrorAttributeKeyPrefix+attribute.Key, attribute.Value)
250-
}
251-
252-
newEvents[i] = sdk.NewEvent(coretypes.ErrorAttributeKeyPrefix+event.Type, newAttributes...)
253-
}
254-
255-
return newEvents
256-
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package errors
2+
3+
import (
4+
sdk "github.com/cosmos/cosmos-sdk/types"
5+
6+
coretypes "github.com/cosmos/ibc-go/v9/modules/core/types"
7+
)
8+
9+
// ConvertToErrorEvents converts all events to error events by appending the
10+
// error attribute prefix to each event's attribute key.
11+
func ConvertToErrorEvents(events sdk.Events) sdk.Events {
12+
if events == nil {
13+
return nil
14+
}
15+
16+
newEvents := make(sdk.Events, len(events))
17+
for i, event := range events {
18+
newEvents[i] = sdk.NewEvent(coretypes.ErrorAttributeKeyPrefix + event.Type)
19+
for _, attribute := range event.Attributes {
20+
newEvents[i] = newEvents[i].AppendAttributes(sdk.NewAttribute(coretypes.ErrorAttributeKeyPrefix+attribute.Key, attribute.Value))
21+
}
22+
}
23+
24+
return newEvents
25+
}

modules/core/keeper/events_test.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ package keeper_test
22

33
import (
44
"testing"
5-
65
"github.com/stretchr/testify/require"
76

87
sdk "github.com/cosmos/cosmos-sdk/types"
98

10-
"github.com/cosmos/ibc-go/v9/modules/core/keeper"
9+
internalerrors "github.com/cosmos/ibc-go/v9/modules/core/internal/errors"
1110
"github.com/cosmos/ibc-go/v9/modules/core/types"
1211
)
1312

@@ -99,7 +98,7 @@ func TestConvertToErrorEvents(t *testing.T) {
9998

10099
tc.malleate()
101100

102-
newEvents := keeper.ConvertToErrorEvents(events)
101+
newEvents := internalerrors.ConvertToErrorEvents(events)
103102
require.Equal(t, expEvents, newEvents)
104103
})
105104
}

modules/core/keeper/export_test.go

-9
This file was deleted.

modules/core/keeper/msg_server.go

+2-23
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
87
errorsmod "cosmossdk.io/errors"
98

109
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -15,8 +14,8 @@ import (
1514
channeltypes "github.com/cosmos/ibc-go/v9/modules/core/04-channel/types"
1615
porttypes "github.com/cosmos/ibc-go/v9/modules/core/05-port/types"
1716
ibcerrors "github.com/cosmos/ibc-go/v9/modules/core/errors"
17+
internalerrors "github.com/cosmos/ibc-go/v9/modules/core/internal/errors"
1818
"github.com/cosmos/ibc-go/v9/modules/core/internal/telemetry"
19-
coretypes "github.com/cosmos/ibc-go/v9/modules/core/types"
2019
)
2120

2221
var (
@@ -442,7 +441,7 @@ func (k *Keeper) RecvPacket(goCtx context.Context, msg *channeltypes.MsgRecvPack
442441
writeFn()
443442
} else {
444443
// Modify events in cached context to reflect unsuccessful acknowledgement
445-
ctx.EventManager().EmitEvents(convertToErrorEvents(cacheCtx.EventManager().Events()))
444+
ctx.EventManager().EmitEvents(internalerrors.ConvertToErrorEvents(cacheCtx.EventManager().Events()))
446445
}
447446

448447
// Set packet acknowledgement only if the acknowledgement is not nil.
@@ -999,26 +998,6 @@ func (k *Keeper) UpdateChannelParams(goCtx context.Context, msg *channeltypes.Ms
999998
return &channeltypes.MsgUpdateParamsResponse{}, nil
1000999
}
10011000

1002-
// convertToErrorEvents converts all events to error events by appending the
1003-
// error attribute prefix to each event's attribute key.
1004-
func convertToErrorEvents(events sdk.Events) sdk.Events {
1005-
if events == nil {
1006-
return nil
1007-
}
1008-
1009-
newEvents := make(sdk.Events, len(events))
1010-
for i, event := range events {
1011-
newAttributes := make([]sdk.Attribute, len(event.Attributes))
1012-
for j, attribute := range event.Attributes {
1013-
newAttributes[j] = sdk.NewAttribute(coretypes.ErrorAttributeKeyPrefix+attribute.Key, attribute.Value)
1014-
}
1015-
1016-
newEvents[i] = sdk.NewEvent(coretypes.ErrorAttributeKeyPrefix+event.Type, newAttributes...)
1017-
}
1018-
1019-
return newEvents
1020-
}
1021-
10221001
// getPacketHandlerAndModule returns the appropriate packet handler
10231002
// given the protocol version. An error is returned if the protocol
10241003
// version is not supported.

modules/core/keeper/msg_server_test.go

+5-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
87
upgradetypes "cosmossdk.io/x/upgrade/types"
98

109
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -20,7 +19,7 @@ import (
2019
host "github.com/cosmos/ibc-go/v9/modules/core/24-host"
2120
ibcerrors "github.com/cosmos/ibc-go/v9/modules/core/errors"
2221
"github.com/cosmos/ibc-go/v9/modules/core/exported"
23-
"github.com/cosmos/ibc-go/v9/modules/core/keeper"
22+
internalerrors "github.com/cosmos/ibc-go/v9/modules/core/internal/errors"
2423
packetservertypes "github.com/cosmos/ibc-go/v9/modules/core/packet-server/types"
2524
ibctm "github.com/cosmos/ibc-go/v9/modules/light-clients/07-tendermint"
2625
ibctesting "github.com/cosmos/ibc-go/v9/testing"
@@ -186,13 +185,13 @@ func (suite *KeeperTestSuite) TestHandleRecvPacket() {
186185

187186
if tc.expRevert {
188187
// context events should contain error events
189-
suite.Require().Contains(events, keeper.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
188+
suite.Require().Contains(events, internalerrors.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
190189
suite.Require().NotContains(events, ibcmock.NewMockRecvPacketEvent())
191190
} else {
192191
if tc.replay {
193192
// context should not contain application events
194193
suite.Require().NotContains(events, ibcmock.NewMockRecvPacketEvent())
195-
suite.Require().NotContains(events, keeper.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
194+
suite.Require().NotContains(events, internalerrors.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
196195
} else {
197196
// context events should contain application events
198197
suite.Require().Contains(events, ibcmock.NewMockRecvPacketEvent())
@@ -353,13 +352,13 @@ func (suite *KeeperTestSuite) TestRecvPacketV2() {
353352

354353
if tc.expRevert {
355354
// context events should contain error events
356-
suite.Require().Contains(events, keeper.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
355+
suite.Require().Contains(events, internalerrors.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
357356
suite.Require().NotContains(events, ibcmock.NewMockRecvPacketEvent())
358357
} else {
359358
if tc.replay {
360359
// context should not contain application events
361360
suite.Require().NotContains(events, ibcmock.NewMockRecvPacketEvent())
362-
suite.Require().NotContains(events, keeper.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
361+
suite.Require().NotContains(events, internalerrors.ConvertToErrorEvents(sdk.Events{ibcmock.NewMockRecvPacketEvent()})[0])
363362
} else {
364363
// context events should contain application events
365364
suite.Require().Contains(events, ibcmock.NewMockRecvPacketEvent())

0 commit comments

Comments
 (0)