Skip to content

Commit 6164491

Browse files
committed
fix CallContract conversion panic
(cherry picked from commit a6d3f48)
1 parent 3bfa348 commit 6164491

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

pkg/chains/evm/proto_helpers.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,20 @@ func ConvertCallMsgFromProto(protoMsg *CallMsg) (*evmtypes.CallMsg, error) {
192192
if protoMsg == nil {
193193
return nil, errEmptyMsg
194194
}
195+
var from evmtypes.Address
196+
if len(protoMsg.From) != 0 {
197+
if len(protoMsg.From) != evmtypes.AddressLength {
198+
return nil, fmt.Errorf("invalid from address length: expected %d, got %d", evmtypes.AddressLength, len(protoMsg.From))
199+
}
200+
201+
from = evmtypes.Address(protoMsg.From)
202+
}
195203

204+
if len(protoMsg.To) != evmtypes.AddressLength {
205+
return nil, fmt.Errorf("invalid to address length: expected %d, got %d", evmtypes.AddressLength, len(protoMsg.To))
206+
}
196207
return &evmtypes.CallMsg{
197-
From: evmtypes.Address(protoMsg.GetFrom()),
208+
From: from,
198209
Data: protoMsg.GetData(),
199210
To: evmtypes.Address(protoMsg.GetTo()),
200211
}, nil

0 commit comments

Comments
 (0)