multiply the final amount by 1.015 to slightly increase the swapped amount
This commit is contained in:
parent
b908dc1881
commit
6abcb97f3a
@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math/big"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@ -757,6 +758,17 @@ func (h *MenuHandlers) TransactionSwapPreview(ctx context.Context, sym string, i
|
|||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// multiply by 1.015 (i.e. * 1015 / 1000)
|
||||||
|
amountInt, ok := new(big.Int).SetString(finalAmountStr, 10)
|
||||||
|
if !ok {
|
||||||
|
return res, fmt.Errorf("invalid amount: %s", finalAmountStr)
|
||||||
|
}
|
||||||
|
|
||||||
|
amountInt.Mul(amountInt, big.NewInt(1015))
|
||||||
|
amountInt.Div(amountInt, big.NewInt(1000))
|
||||||
|
|
||||||
|
finalAmountStr = amountInt.String()
|
||||||
|
|
||||||
// call the credit send API to get the reverse quote
|
// call the credit send API to get the reverse quote
|
||||||
r, err := h.accountService.GetCreditSendReverseQuote(ctx, swapData.ActivePoolAddress, swapData.ActiveSwapFromAddress, swapData.ActiveSwapToAddress, finalAmountStr)
|
r, err := h.accountService.GetCreditSendReverseQuote(ctx, swapData.ActivePoolAddress, swapData.ActiveSwapFromAddress, swapData.ActiveSwapToAddress, finalAmountStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -778,15 +790,15 @@ func (h *MenuHandlers) TransactionSwapPreview(ctx context.Context, sym string, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Scale down the quoted output amount
|
// Scale down the quoted output amount
|
||||||
quoteAmountStr := store.ScaleDownBalance(sendOutputAmount, swapData.ActiveSwapToDecimal)
|
// quoteAmountStr := store.ScaleDownBalance(sendOutputAmount, swapData.ActiveSwapToDecimal)
|
||||||
|
|
||||||
// Format the qouteAmount amount to 2 decimal places
|
// Format the qouteAmount amount to 2 decimal places
|
||||||
qouteAmount, _ := store.TruncateDecimalString(quoteAmountStr, 2)
|
// qouteAmount, _ := store.TruncateDecimalString(quoteAmountStr, 2)
|
||||||
|
|
||||||
// store the qouteAmount in the temporary value
|
// store the qouteAmount in the temporary value
|
||||||
err = userStore.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(qouteAmount))
|
err = userStore.WriteEntry(ctx, sessionId, storedb.DATA_TEMPORARY_VALUE, []byte(inputStr))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logg.ErrorCtxf(ctx, "failed to write temporary qouteAmount entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", qouteAmount, "error", err)
|
logg.ErrorCtxf(ctx, "failed to write temporary inputStr entry with", "key", storedb.DATA_TEMPORARY_VALUE, "value", inputStr, "error", err)
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -799,7 +811,7 @@ func (h *MenuHandlers) TransactionSwapPreview(ctx context.Context, sym string, i
|
|||||||
|
|
||||||
res.Content = l.Get(
|
res.Content = l.Get(
|
||||||
"%s will receive %s %s",
|
"%s will receive %s %s",
|
||||||
string(recipientPhoneNumber), qouteAmount, swapData.ActiveSwapToSym,
|
string(recipientPhoneNumber), inputStr, swapData.ActiveSwapToSym,
|
||||||
)
|
)
|
||||||
|
|
||||||
return res, nil
|
return res, nil
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user