From 7eaa771eb43961104cfae8c0425d68a836adfa31 Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Tue, 28 Oct 2025 11:33:17 +0300 Subject: [PATCH] added the GetCreditSendReverseQuote function --- remote/account_service.go | 1 + remote/http/service.go | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/remote/account_service.go b/remote/account_service.go index b43b81a..29286ba 100644 --- a/remote/account_service.go +++ b/remote/account_service.go @@ -31,4 +31,5 @@ type AccountService interface { GetSwapFromTokenMaxLimit(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, publicKey string) (*models.MaxLimitResult, error) CheckTokenInPool(ctx context.Context, poolAddress, tokenAddress string) (*models.TokenInPoolResult, error) GetCreditSendMaxLimit(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, publicKey string) (*models.CreditSendLimitsResult, error) + GetCreditSendReverseQuote(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, toTokenAMount string) (*models.CreditSendReverseQouteResult, error) } diff --git a/remote/http/service.go b/remote/http/service.go index b69e00e..a3c3e82 100644 --- a/remote/http/service.go +++ b/remote/http/service.go @@ -762,6 +762,26 @@ func (as *HTTPAccountService) GetCreditSendMaxLimit(ctx context.Context, poolAdd return &r, nil } +// GetCreditSendReverseQuote calls the API to getthe reverse quote for sending RAT amount +func (as *HTTPAccountService) GetCreditSendReverseQuote(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, toTokenAMount string) (*models.CreditSendReverseQouteResult, error) { + var r models.CreditSendReverseQouteResult + + ep, err := url.JoinPath(config.CreditSendReverseQuoteURL, poolAddress, fromTokenAddress, toTokenAddress, toTokenAMount) + if err != nil { + return nil, err + } + req, err := http.NewRequest("GET", ep, nil) + if err != nil { + return nil, err + } + _, err = doRequest(ctx, req, &r) + if err != nil { + return nil, err + } + + return &r, nil +} + // TODO: remove eth-custodial api dependency func doRequest(ctx context.Context, req *http.Request, rcpt any) (*api.OKResponse, error) { var okResponse api.OKResponse