From 01569b9b3939f81188eb9804cfd1b114bf29382d Mon Sep 17 00:00:00 2001 From: Alfred Kamanda Date: Tue, 28 Oct 2025 11:03:08 +0300 Subject: [PATCH] added the GetCreditSendMaxLimit 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 c33fec3..b43b81a 100644 --- a/remote/account_service.go +++ b/remote/account_service.go @@ -30,4 +30,5 @@ type AccountService interface { PoolSwap(ctx context.Context, amount, from, fromTokenAddress, poolAddress, toTokenAddress string) (*models.PoolSwapResult, error) 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) } diff --git a/remote/http/service.go b/remote/http/service.go index f1f8d55..81e26f0 100644 --- a/remote/http/service.go +++ b/remote/http/service.go @@ -742,6 +742,26 @@ func (as *HTTPAccountService) SendPINResetSMS(ctx context.Context, admin, phone return nil } +// GetCreditSendMaxLimit calls the API to check credit limits and return the maxRAT and maxSAT +func (as *HTTPAccountService) GetCreditSendMaxLimit(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, publicKey string) (*models.CreditSendLimitsResult, error) { + var r models.CreditSendLimitsResult + + ep, err := url.JoinPath(config.CreditSendURL, poolAddress, fromTokenAddress, toTokenAddress, publicKey) + 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