Skip to content

Commit 7a399ed

Browse files
committed
Fix infinite loop when marshalling
1 parent 710fdb6 commit 7a399ed

File tree

4 files changed

+11
-26
lines changed

4 files changed

+11
-26
lines changed

chains/evm/message/across.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package message
22

33
import (
44
"context"
5+
"encoding/json"
56
"fmt"
67
"math/big"
78
"time"
@@ -176,7 +177,7 @@ func (h *AcrossMessageHandler) Listen(ctx context.Context) {
176177
case wMsg := <-msgChn:
177178
{
178179
d := &AcrossData{}
179-
err := d.UnmarshalJSON(wMsg.Payload)
180+
err := json.Unmarshal(wMsg.Payload, d)
180181
if err != nil {
181182
log.Warn().Msgf("Failed unmarshaling across message: %s", err)
182183
continue
@@ -204,7 +205,7 @@ func (h *AcrossMessageHandler) notify(data *AcrossData) error {
204205
}
205206

206207
data.Coordinator = h.host.ID()
207-
msgBytes, err := data.MarshalJSON()
208+
msgBytes, err := json.Marshal(data)
208209
if err != nil {
209210
return err
210211
}

chains/evm/message/across_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func (s *AcrossMessageHandlerTestSuite) Test_HandleMessage_FailedLogQuery() {
115115
s.mockEventFilterer.EXPECT().FilterLogs(gomock.Any(), gomock.Any()).Return([]types.Log{}, fmt.Errorf("error"))
116116

117117
errChn := make(chan error, 1)
118-
ad := message.AcrossData{
118+
ad := &message.AcrossData{
119119
ErrChn: errChn,
120120
DepositId: big.NewInt(100),
121121
Nonce: big.NewInt(101),
@@ -150,7 +150,7 @@ func (s *AcrossMessageHandlerTestSuite) Test_HandleMessage_LogMissing() {
150150
s.mockEventFilterer.EXPECT().LatestBlock().Return(big.NewInt(100), nil)
151151

152152
errChn := make(chan error, 1)
153-
ad := message.AcrossData{
153+
ad := &message.AcrossData{
154154
ErrChn: errChn,
155155
DepositId: big.NewInt(100),
156156
Nonce: big.NewInt(101),
@@ -190,7 +190,7 @@ func (s *AcrossMessageHandlerTestSuite) Test_HandleMessage_IgnoreRemovedLogs() {
190190
}, nil)
191191

192192
errChn := make(chan error, 1)
193-
ad := message.AcrossData{
193+
ad := &message.AcrossData{
194194
ErrChn: errChn,
195195
DepositId: big.NewInt(100),
196196
Nonce: big.NewInt(101),
@@ -239,7 +239,7 @@ func (s *AcrossMessageHandlerTestSuite) Test_HandleMessage_ValidLog() {
239239
s.mockCoordinator.EXPECT().Execute(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil)
240240

241241
errChn := make(chan error, 1)
242-
ad := message.AcrossData{
242+
ad := &message.AcrossData{
243243
ErrChn: errChn,
244244
DepositId: big.NewInt(100),
245245
Nonce: big.NewInt(101),
@@ -290,7 +290,7 @@ func (s *AcrossMessageHandlerTestSuite) Test_HandleMessage_ZeroOutputToken() {
290290
s.mockCoordinator.EXPECT().Execute(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil)
291291

292292
errChn := make(chan error, 1)
293-
ad := message.AcrossData{
293+
ad := &message.AcrossData{
294294
ErrChn: errChn,
295295
DepositId: big.NewInt(100),
296296
Nonce: big.NewInt(101),

chains/evm/message/mayan.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package message
33
import (
44
"context"
55
"encoding/hex"
6+
"encoding/json"
67
"fmt"
78
"math/big"
89

@@ -201,7 +202,7 @@ func (h *MayanMessageHandler) Listen(ctx context.Context) {
201202
case wMsg := <-msgChn:
202203
{
203204
d := &MayanData{}
204-
err := d.UnmarshalJSON(wMsg.Payload)
205+
err := json.Unmarshal(wMsg.Payload, d)
205206
if err != nil {
206207
log.Warn().Msgf("Failed unmarshaling Mayan message: %s", err)
207208
continue
@@ -288,7 +289,7 @@ func (h *MayanMessageHandler) notify(data *MayanData) error {
288289
}
289290

290291
data.Coordinator = h.host.ID()
291-
msgBytes, err := data.MarshalJSON()
292+
msgBytes, err := json.Marshal(data)
292293
if err != nil {
293294
return err
294295
}

chains/evm/message/message.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package message
22

33
import (
4-
"encoding/json"
54
"fmt"
65
"math/big"
76
"time"
@@ -37,14 +36,6 @@ type AcrossData struct {
3736
Destination uint64
3837
}
3938

40-
func (d *AcrossData) MarshalJSON() ([]byte, error) {
41-
return json.Marshal(d)
42-
}
43-
44-
func (d *AcrossData) UnmarshalJSON(data []byte) error {
45-
return json.Unmarshal(data, &d)
46-
}
47-
4839
func NewAcrossMessage(source, destination uint64, acrossData *AcrossData) *message.Message {
4940
return &message.Message{
5041
Source: source,
@@ -69,14 +60,6 @@ type MayanData struct {
6960
Destination uint64
7061
}
7162

72-
func (d *MayanData) MarshalJSON() ([]byte, error) {
73-
return json.Marshal(d)
74-
}
75-
76-
func (d *MayanData) UnmarshalJSON(data []byte) error {
77-
return json.Unmarshal(data, &d)
78-
}
79-
8063
func NewMayanMessage(source, destination uint64, mayanData *MayanData) *message.Message {
8164
return &message.Message{
8265
Source: source,

0 commit comments

Comments
 (0)