Skip to content

Commit c93957c

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

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

rfq/negotiator.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -450,11 +450,11 @@ func (n *Negotiator) HandleOutgoingSellOrder(order SellOrder) {
450450
// We calculate a proposed ask price for our peer's
451451
// consideration. If a price oracle is not specified we will
452452
// skip this step.
453-
var assetRate fn.Option[rfqmath.BigIntFixedPoint]
453+
var assetRate fn.Option[rfqmsg.AssetRate]
454454

455455
if n.cfg.PriceOracle != nil {
456456
// Query the price oracle for an asking price.
457-
rate, _, err := n.queryAskFromPriceOracle(
457+
rate, expiryUnix, err := n.queryAskFromPriceOracle(
458458
order.Peer, order.AssetID, order.AssetGroupKey,
459459
order.MaxAssetAmount,
460460
fn.None[rfqmsg.AssetRate](),
@@ -466,7 +466,10 @@ func (n *Negotiator) HandleOutgoingSellOrder(order SellOrder) {
466466
return
467467
}
468468

469-
assetRate = fn.Some[rfqmath.BigIntFixedPoint](*rate)
469+
expiry := time.Unix(int64(expiryUnix), 0)
470+
assetRate = fn.Some[rfqmsg.AssetRate](
471+
rfqmsg.NewAssetRate(*rate, expiry),
472+
)
470473
}
471474

472475
request, err := rfqmsg.NewSellRequest(

rfqmsg/sell_request.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/btcsuite/btcd/btcec/v2"
88
"github.com/lightninglabs/taproot-assets/asset"
99
"github.com/lightninglabs/taproot-assets/fn"
10-
"github.com/lightninglabs/taproot-assets/rfqmath"
1110
"github.com/lightningnetwork/lnd/routing/route"
1211
"github.com/lightningnetwork/lnd/tlv"
1312
)
@@ -51,21 +50,13 @@ type SellRequest struct {
5150
// NewSellRequest creates a new asset sell quote request.
5251
func NewSellRequest(peer route.Vertex, assetID *asset.ID,
5352
assetGroupKey *btcec.PublicKey, assetAmount uint64,
54-
rateHint fn.Option[rfqmath.BigIntFixedPoint]) (*SellRequest,
55-
error) {
53+
assetRateHint fn.Option[AssetRate]) (*SellRequest, error) {
5654

5755
id, err := NewID()
5856
if err != nil {
5957
return nil, fmt.Errorf("unable to generate random id: %w", err)
6058
}
6159

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

0 commit comments

Comments
 (0)