diff --git a/handlers/application/send.go b/handlers/application/send.go index 4132dc8..15751e1 100644 --- a/handlers/application/send.go +++ b/handlers/application/send.go @@ -335,8 +335,8 @@ func (h *MenuHandlers) MaxAmount(ctx context.Context, sym string, input []byte) // Format the active balance amount to 2 decimal places formattedBalance, _ := store.TruncateDecimalString(string(activeBal), 2) - // If normal transaction, or if the sym is max_amount, return balance - if string(transactionType) == "normal" || sym == "max_amount" { + // If normal transaction, or if the sym is send_max_amount, return balance + if string(transactionType) == "normal" || sym == "send_max_amount" { res.FlagReset = append(res.FlagReset, flag_swap_transaction) res.Content = l.Get("Maximum amount: %s %s\nEnter amount:", formattedBalance, string(activeSym)) diff --git a/handlers/application/send_test.go b/handlers/application/send_test.go index cde3598..207032a 100644 --- a/handlers/application/send_test.go +++ b/handlers/application/send_test.go @@ -277,7 +277,7 @@ func TestMaxAmount(t *testing.T) { } } - res, err := h.MaxAmount(ctx, "max_amount", []byte("")) + res, err := h.MaxAmount(ctx, "send_max_amount", []byte("")) if tt.expectedError { assert.Error(t, err) diff --git a/handlers/application/vouchers.go b/handlers/application/vouchers.go index 056f989..1d9d9aa 100644 --- a/handlers/application/vouchers.go +++ b/handlers/application/vouchers.go @@ -45,6 +45,26 @@ func (h *MenuHandlers) ManageVouchers(ctx context.Context, sym string, input []b res.FlagReset = append(res.FlagReset, flag_api_error) if len(vouchersResp) == 0 { + // clear the current active voucher data if it exists + _, err := userStore.ReadEntry(ctx, sessionId, storedb.DATA_ACTIVE_SYM) + if err == nil { + firstVoucherMap := map[storedb.DataTyp]string{ + storedb.DATA_ACTIVE_SYM: "", + storedb.DATA_ACTIVE_BAL: "", + storedb.DATA_ACTIVE_DECIMAL: "", + storedb.DATA_ACTIVE_ADDRESS: "", + } + + for key, value := range firstVoucherMap { + if err := userStore.WriteEntry(ctx, sessionId, key, []byte(value)); err != nil { + logg.ErrorCtxf(ctx, "Failed to reset active voucher data", "key", key, "error", err) + return res, err + } + } + + logg.InfoCtxf(ctx, "Default voucher reset") + } + res.FlagSet = append(res.FlagSet, flag_no_active_voucher) return res, nil } diff --git a/handlers/local.go b/handlers/local.go index 5a93ea8..a34be02 100644 --- a/handlers/local.go +++ b/handlers/local.go @@ -85,7 +85,7 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService) ls.DbRs.AddLocalFunc("validate_recipient", appHandlers.ValidateRecipient) ls.DbRs.AddLocalFunc("transaction_reset", appHandlers.TransactionReset) ls.DbRs.AddLocalFunc("invite_valid_recipient", appHandlers.InviteValidRecipient) - ls.DbRs.AddLocalFunc("max_amount", appHandlers.MaxAmount) + ls.DbRs.AddLocalFunc("send_max_amount", appHandlers.MaxAmount) ls.DbRs.AddLocalFunc("credit_max_amount", appHandlers.MaxAmount) ls.DbRs.AddLocalFunc("validate_amount", appHandlers.ValidateAmount) ls.DbRs.AddLocalFunc("reset_transaction_amount", appHandlers.ResetTransactionAmount) diff --git a/services/registration/amount b/services/registration/amount index b50e87a..5f5edfa 100644 --- a/services/registration/amount +++ b/services/registration/amount @@ -1 +1 @@ -{{.max_amount}} \ No newline at end of file +{{.send_max_amount}} \ No newline at end of file diff --git a/services/registration/amount.vis b/services/registration/amount.vis index f8ff102..a752c82 100644 --- a/services/registration/amount.vis +++ b/services/registration/amount.vis @@ -1,8 +1,8 @@ LOAD reset_transaction_amount 10 RELOAD reset_transaction_amount -LOAD max_amount 0 -RELOAD max_amount -MAP max_amount +LOAD send_max_amount 0 +RELOAD send_max_amount +MAP send_max_amount MOUT back 0 HALT LOAD validate_amount 64 diff --git a/services/registration/amount_swa b/services/registration/amount_swa index b50e87a..5f5edfa 100644 --- a/services/registration/amount_swa +++ b/services/registration/amount_swa @@ -1 +1 @@ -{{.max_amount}} \ No newline at end of file +{{.send_max_amount}} \ No newline at end of file