Skip to content

Commit 0c9f87b

Browse files
committed
rfq+rfqmsg: use new AssetRate type in NewBuyRequest func argument
As a result of this change the price oracle's quote expiry value is used in the request constructor.
1 parent c93957c commit 0c9f87b

File tree

2 files changed

+8
-13
lines changed

2 files changed

+8
-13
lines changed

rfq/negotiator.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,11 @@ func (n *Negotiator) HandleOutgoingBuyOrder(buyOrder BuyOrder) error {
162162
// We calculate a proposed bid price for our peer's
163163
// consideration. If a price oracle is not specified we will
164164
// skip this step.
165-
var assetRateBid fn.Option[rfqmath.BigIntFixedPoint]
165+
var assetRateHint fn.Option[rfqmsg.AssetRate]
166166

167167
if n.cfg.PriceOracle != nil {
168168
// Query the price oracle for a bid price.
169-
rate, _, err := n.queryBidFromPriceOracle(
169+
rate, expiryUnix, err := n.queryBidFromPriceOracle(
170170
*buyOrder.Peer, buyOrder.AssetID,
171171
buyOrder.AssetGroupKey, buyOrder.MinAssetAmount,
172172
fn.None[rfqmsg.AssetRate](),
@@ -180,13 +180,16 @@ func (n *Negotiator) HandleOutgoingBuyOrder(buyOrder BuyOrder) error {
180180
"request: %v", err)
181181
}
182182

183-
assetRateBid = fn.Some[rfqmath.BigIntFixedPoint](*rate)
183+
expiry := time.Unix(int64(expiryUnix), 0)
184+
assetRateHint = fn.Some[rfqmsg.AssetRate](
185+
rfqmsg.NewAssetRate(*rate, expiry),
186+
)
184187
}
185188

186189
request, err := rfqmsg.NewBuyRequest(
187190
*buyOrder.Peer, buyOrder.AssetID,
188191
buyOrder.AssetGroupKey, buyOrder.MinAssetAmount,
189-
assetRateBid,
192+
assetRateHint,
190193
)
191194
if err != nil {
192195
err := fmt.Errorf("unable to create buy request "+

rfqmsg/buy_request.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"github.com/btcsuite/btcd/btcec/v2"
99
"github.com/lightninglabs/taproot-assets/asset"
1010
"github.com/lightninglabs/taproot-assets/fn"
11-
"github.com/lightninglabs/taproot-assets/rfqmath"
1211
"github.com/lightningnetwork/lnd/routing/route"
1312
"github.com/lightningnetwork/lnd/tlv"
1413
)
@@ -52,21 +51,14 @@ type BuyRequest struct {
5251
// NewBuyRequest creates a new asset buy quote request.
5352
func NewBuyRequest(peer route.Vertex, assetID *asset.ID,
5453
assetGroupKey *btcec.PublicKey, assetAmount uint64,
55-
rateHint fn.Option[rfqmath.BigIntFixedPoint]) (*BuyRequest, error) {
54+
assetRateHint fn.Option[AssetRate]) (*BuyRequest, error) {
5655

5756
id, err := NewID()
5857
if err != nil {
5958
return nil, fmt.Errorf("unable to generate random "+
6059
"quote request id: %w", err)
6160
}
6261

63-
// Construct a suggested asset rate if a rate hint is provided.
64-
var assetRateHint fn.Option[AssetRate]
65-
rateHint.WhenSome(func(rate rfqmath.BigIntFixedPoint) {
66-
expiry := time.Now().Add(DefaultQuoteLifetime).UTC()
67-
assetRateHint = fn.Some(NewAssetRate(rate, expiry))
68-
})
69-
7062
return &BuyRequest{
7163
Peer: peer,
7264
Version: latestBuyRequestVersion,

0 commit comments

Comments
 (0)