diff --git a/chains/lighter/message/lighter.go b/chains/lighter/message/lighter.go index 83bf2b9b..96a4db99 100644 --- a/chains/lighter/message/lighter.go +++ b/chains/lighter/message/lighter.go @@ -155,7 +155,7 @@ func (h *LighterMessageHandler) calldata(tx *lighter.LighterTx, borrowAmount *bi return consts.LighterABI.Pack( "withdraw", common.HexToHash(tx.Hash), - common.HexToAddress(tx.L1Address), + common.BytesToAddress(tx.Transfer.Memo[:20]), borrowAmount) } diff --git a/chains/lighter/message/lighter_test.go b/chains/lighter/message/lighter_test.go index 98a82591..29e5461c 100644 --- a/chains/lighter/message/lighter_test.go +++ b/chains/lighter/message/lighter_test.go @@ -95,6 +95,7 @@ func (s *LighterMessageHandlerTestSuite) Test_HandleMessage_ValidMessage() { Transfer: &lighter.Transfer{ USDCAmount: 2000000, ToAccountIndex: 3, + Memo: []byte{238, 123, 250, 212, 202, 237, 62, 98, 106, 248, 169, 199, 213, 3, 76, 213, 137, 238, 73, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }, nil) @@ -137,6 +138,7 @@ func (s *LighterMessageHandlerTestSuite) Test_HandleMessage_InvalidTxType() { Transfer: &lighter.Transfer{ USDCAmount: 2000000, ToAccountIndex: 3, + Memo: []byte{238, 123, 250, 212, 202, 237, 62, 98, 106, 248, 169, 199, 213, 3, 76, 213, 137, 238, 73, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }, nil) @@ -179,6 +181,7 @@ func (s *LighterMessageHandlerTestSuite) Test_HandleMessage_InvalidAccount() { Transfer: &lighter.Transfer{ USDCAmount: 2000000, ToAccountIndex: 5, + Memo: []byte{238, 123, 250, 212, 202, 237, 62, 98, 106, 248, 169, 199, 213, 3, 76, 213, 137, 238, 73, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }, nil) @@ -258,6 +261,7 @@ func (s *LighterMessageHandlerTestSuite) Test_HandleMessage_BorrowAmountTooHigh( Transfer: &lighter.Transfer{ USDCAmount: 2000000, ToAccountIndex: 3, + Memo: []byte{238, 123, 250, 212, 202, 237, 62, 98, 106, 248, 169, 199, 213, 3, 76, 213, 137, 238, 73, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }, nil) diff --git a/protocol/lighter/api.go b/protocol/lighter/api.go index 01a26ecf..8315ee84 100644 --- a/protocol/lighter/api.go +++ b/protocol/lighter/api.go @@ -24,6 +24,7 @@ type Transfer struct { FromAccountIndex uint64 ToAccountIndex int Fee uint64 + Memo []byte } type LighterTx struct {