Skip to content

Commit 9f0aa16

Browse files
mergify[bot]colin-axner
authored andcommitted
fix: change non nil relayer check to non empty (backport cosmos#1774) (cosmos#1790)
* fix: change non nil relayer check to non empty (cosmos#1774) * change non nil relayer check to non empty Change relayers != nil to len(relayers) != 0 Rename ErrRelayersNotNil to ErrRelayersNotEmpty Add test cases * add changelog entry (cherry picked from commit 126ab2d) # Conflicts: # CHANGELOG.md * fix changelog conflicts Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
1 parent 0b08666 commit 9f0aa16

File tree

6 files changed

+42
-13
lines changed

6 files changed

+42
-13
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
8181

8282
### Bug Fixes
8383

84+
* (apps/29-fee) [\#1774](https://github.com/cosmos/ibc-go/pull/1774) Change non nil relayer assertion to non empty to avoid import/export issues for genesis upgrades.
8485
* (apps/29-fee) [\#1278](https://github.com/cosmos/ibc-go/pull/1278) The URI path for the query to get all incentivized packets for a specific channel did not follow the same format as the rest of queries.
8586

8687
## [v3.1.0](https://github.com/cosmos/ibc-go/releases/tag/v3.1.0) - 2022-04-16

modules/apps/29-fee/types/errors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var (
1010
ErrRefundAccNotFound = sdkerrors.Register(ModuleName, 3, "no account found for given refund address")
1111
ErrBalanceNotFound = sdkerrors.Register(ModuleName, 4, "balance not found for given account address")
1212
ErrFeeNotFound = sdkerrors.Register(ModuleName, 5, "there is no fee escrowed for the given packetID")
13-
ErrRelayersNotNil = sdkerrors.Register(ModuleName, 6, "relayers must be nil. This feature is not supported")
13+
ErrRelayersNotEmpty = sdkerrors.Register(ModuleName, 6, "relayers must not be set. This feature is not supported")
1414
ErrCounterpartyPayeeEmpty = sdkerrors.Register(ModuleName, 7, "counterparty payee must not be empty")
1515
ErrForwardRelayerAddressNotFound = sdkerrors.Register(ModuleName, 8, "forward relayer address not found")
1616
ErrFeeNotEnabled = sdkerrors.Register(ModuleName, 9, "fee module is not enabled for this channel. If this error occurs after channel setup, fee module may not be enabled")

modules/apps/29-fee/types/fee.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ func (p PacketFee) Validate() error {
2525
return sdkerrors.Wrap(err, "failed to convert RefundAddress into sdk.AccAddress")
2626
}
2727

28-
// enforce relayer is nil
29-
if p.Relayers != nil {
30-
return ErrRelayersNotNil
28+
// enforce relayers are not set
29+
if len(p.Relayers) != 0 {
30+
return ErrRelayersNotEmpty
3131
}
3232

3333
if err := p.Fee.Validate(); err != nil {

modules/apps/29-fee/types/fee_test.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ func TestPacketFeeValidation(t *testing.T) {
4747
func() {},
4848
true,
4949
},
50+
{
51+
"success with empty slice for Relayers",
52+
func() {
53+
packetFee.Relayers = []string{}
54+
},
55+
true,
56+
},
5057
{
5158
"should fail when refund address is invalid",
5259
func() {
@@ -102,6 +109,13 @@ func TestPacketFeeValidation(t *testing.T) {
102109
},
103110
false,
104111
},
112+
{
113+
"should fail with non empty Relayers",
114+
func() {
115+
packetFee.Relayers = []string{"relayer"}
116+
},
117+
false,
118+
},
105119
}
106120

107121
for _, tc := range testCases {
@@ -113,9 +127,9 @@ func TestPacketFeeValidation(t *testing.T) {
113127
err := packetFee.Validate()
114128

115129
if tc.expPass {
116-
require.NoError(t, err)
130+
require.NoError(t, err, tc.name)
117131
} else {
118-
require.Error(t, err)
132+
require.Error(t, err, tc.name)
119133
}
120134
}
121135
}

modules/apps/29-fee/types/msgs.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,9 @@ func (msg MsgPayPacketFee) ValidateBasic() error {
133133
return sdkerrors.Wrap(err, "failed to convert msg.Signer into sdk.AccAddress")
134134
}
135135

136-
// enforce relayer is nil
137-
if msg.Relayers != nil {
138-
return ErrRelayersNotNil
136+
// enforce relayer is not set
137+
if len(msg.Relayers) != 0 {
138+
return ErrRelayersNotEmpty
139139
}
140140

141141
if err := msg.Fee.Validate(); err != nil {

modules/apps/29-fee/types/msgs_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,13 @@ func TestMsgPayPacketFeeValidation(t *testing.T) {
171171
func() {},
172172
true,
173173
},
174+
{
175+
"success with empty relayers",
176+
func() {
177+
msg.Relayers = []string{}
178+
},
179+
true,
180+
},
174181
{
175182
"invalid channelID",
176183
func() {
@@ -210,9 +217,9 @@ func TestMsgPayPacketFeeValidation(t *testing.T) {
210217
err := msg.ValidateBasic()
211218

212219
if tc.expPass {
213-
require.NoError(t, err)
220+
require.NoError(t, err, tc.name)
214221
} else {
215-
require.Error(t, err)
222+
require.Error(t, err, tc.name)
216223
}
217224
}
218225
}
@@ -257,6 +264,13 @@ func TestMsgPayPacketFeeAsyncValidation(t *testing.T) {
257264
func() {},
258265
true,
259266
},
267+
{
268+
"success with empty relayers",
269+
func() {
270+
msg.PacketFee.Relayers = []string{}
271+
},
272+
true,
273+
},
260274
{
261275
"invalid channelID",
262276
func() {
@@ -354,9 +368,9 @@ func TestMsgPayPacketFeeAsyncValidation(t *testing.T) {
354368
err := msg.ValidateBasic()
355369

356370
if tc.expPass {
357-
require.NoError(t, err)
371+
require.NoError(t, err, tc.name)
358372
} else {
359-
require.Error(t, err)
373+
require.Error(t, err, tc.name)
360374
}
361375
}
362376
}

0 commit comments

Comments
 (0)