From 55d0dfd23c4de6cd65051c4cbf51825aadbd2225 Mon Sep 17 00:00:00 2001 From: Daniel Wasserman Date: Thu, 3 Oct 2024 12:19:56 -0500 Subject: [PATCH 1/3] Feat: deduct fixed fee from dest amount --- services/rfq/relayer/quoter/quoter.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/services/rfq/relayer/quoter/quoter.go b/services/rfq/relayer/quoter/quoter.go index 3b5ecc8352..5ef57f4198 100644 --- a/services/rfq/relayer/quoter/quoter.go +++ b/services/rfq/relayer/quoter/quoter.go @@ -340,13 +340,25 @@ func (m *Manager) generateActiveRFQ(ctx context.Context, msg *model.ActiveRFQMes if err != nil { return nil, fmt.Errorf("error generating quote: %w", err) } - span.SetAttributes(attribute.String("dest_amount", rawQuote.DestAmount)) + fixedFee, ok := new(big.Int).SetString(rawQuote.FixedFee, 10) + if !ok { + return nil, fmt.Errorf("error parsing fixed fee: %s", rawQuote.FixedFee) + } + rawDestAmount, ok := new(big.Int).SetString(rawQuote.DestAmount, 10) + if !ok { + return nil, fmt.Errorf("error parsing dest amount: %s", rawQuote.DestAmount) + } + destAmountNet := new(big.Int).Sub(rawDestAmount, fixedFee) + span.SetAttributes( + attribute.String("dest_amount", rawQuote.DestAmount), + attribute.String("fixed_fee", rawQuote.FixedFee), + attribute.String("dest_amount_net", destAmountNet.String()), + ) rfqResp := model.WsRFQResponse{ RequestID: rfqRequest.RequestID, - DestAmount: rawQuote.DestAmount, + DestAmount: destAmountNet.String(), } - span.SetAttributes(attribute.String("dest_amount", rawQuote.DestAmount)) respBytes, err := json.Marshal(rfqResp) if err != nil { return nil, fmt.Errorf("error serializing response: %w", err) From ac59d5edf39b59c5372bfe5a4abfeba15d886e5e Mon Sep 17 00:00:00 2001 From: Daniel Wasserman Date: Thu, 3 Oct 2024 12:38:47 -0500 Subject: [PATCH 2/3] Fix: correct quote type --- services/rfq/api/model/request.go | 7 ------- services/rfq/api/rest/server.go | 6 +++--- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/services/rfq/api/model/request.go b/services/rfq/api/model/request.go index c0dd864068..9fe41744f9 100644 --- a/services/rfq/api/model/request.go +++ b/services/rfq/api/model/request.go @@ -42,13 +42,6 @@ type PutRFQRequest struct { Data QuoteData `json:"data"` } -// QuoteRequest represents a request for a quote. -type QuoteRequest struct { - RequestID string `json:"request_id"` - Data QuoteData `json:"data"` - CreatedAt time.Time `json:"created_at"` -} - // QuoteData represents the data within a quote request. type QuoteData struct { OriginChainID int `json:"origin_chain_id"` diff --git a/services/rfq/api/rest/server.go b/services/rfq/api/rest/server.go index 5470e0d4f0..e7e9fc8c31 100644 --- a/services/rfq/api/rest/server.go +++ b/services/rfq/api/rest/server.go @@ -557,9 +557,9 @@ func (r *QuoterAPIServer) PutRFQRequest(c *gin.Context) { Reason: "no quotes found", } } else { - quoteType := quoteTypeActive - if activeQuote == nil { - quoteType = quoteTypePassive + quoteType := quoteTypePassive + if quote.QuoteID == activeQuote.QuoteID { + quoteType = quoteTypeActive } span.SetAttributes( attribute.String("quote_type", quoteType), From 994cd52eb4a6266f340ea0ab5615567ab1a24b96 Mon Sep 17 00:00:00 2001 From: Daniel Wasserman Date: Mon, 7 Oct 2024 17:15:56 -0500 Subject: [PATCH 3/3] [goreleaser]