@@ -2,8 +2,8 @@ package rfqmsg
22
33import (
44 "fmt"
5+ "time"
56
6- "github.com/lightninglabs/taproot-assets/rfqmath"
77 "github.com/lightningnetwork/lnd/routing/route"
88)
99
@@ -30,29 +30,23 @@ type SellAccept struct {
3030 ID ID
3131
3232 // AssetRate is the accepted asset to BTC rate.
33- AssetRate rfqmath.BigIntFixedPoint
34-
35- // Expiry is the bid price expiry lifetime unix timestamp.
36- Expiry uint64
33+ AssetRate AssetRate
3734
3835 // sig is a signature over the serialized contents of the message.
3936 sig [64 ]byte
4037}
4138
4239// NewSellAcceptFromRequest creates a new instance of an asset sell quote accept
4340// message given an asset sell quote request message.
44- //
45- // // TODO(ffranr): Use new AssetRate type for assetRate arg.
4641func NewSellAcceptFromRequest (request SellRequest ,
47- assetRate rfqmath. BigIntFixedPoint , expiry uint64 ) * SellAccept {
42+ assetRate AssetRate ) * SellAccept {
4843
4944 return & SellAccept {
5045 Peer : request .Peer ,
5146 Request : request ,
5247 Version : latestSellAcceptVersion ,
5348 ID : request .ID ,
5449 AssetRate : assetRate ,
55- Expiry : expiry ,
5650 }
5751}
5852
@@ -72,15 +66,17 @@ func newSellAcceptFromWireMsg(wireMsg WireMessage,
7266 // currently assume that the in-asset is BTC.
7367 assetRate := msgData .OutAssetRate .Val .IntoBigIntFixedPoint ()
7468
69+ // Convert the unix timestamp in seconds to a time.Time.
70+ expiry := time .Unix (int64 (msgData .Expiry .Val ), 0 ).UTC ()
71+
7572 // Note that the `Request` field is populated later in the RFQ stream
7673 // service.
7774 return & SellAccept {
7875 Peer : wireMsg .Peer ,
7976 Request : request ,
8077 Version : msgData .Version .Val ,
8178 ID : msgData .ID .Val ,
82- AssetRate : assetRate ,
83- Expiry : msgData .Expiry .Val ,
79+ AssetRate : NewAssetRate (assetRate , expiry ),
8480 sig : msgData .Sig .Val ,
8581 }, nil
8682}
@@ -133,9 +129,9 @@ func (q *SellAccept) MsgID() ID {
133129
134130// String returns a human-readable string representation of the message.
135131func (q * SellAccept ) String () string {
136- return fmt .Sprintf ("SellAccept(peer=%x, id=%x, bid_asset_rate=%v , " +
137- "expiry=%d, scid=%d)" , q .Peer [:], q .ID [:], q .AssetRate ,
138- q .Expiry , q . ShortChannelId ())
132+ return fmt .Sprintf ("SellAccept(peer=%x, id=%x, asset_rate=%s , " +
133+ "scid=%d)" , q .Peer [:], q .ID [:], q .AssetRate . String () ,
134+ q .ShortChannelId ())
139135}
140136
141137// Ensure that the message type implements the OutgoingMsg interface.
0 commit comments