From a4bdbd1416caded47e1604976dbd676338e3841f Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 28 May 2025 10:19:01 +0100 Subject: [PATCH] feat: address prompt feature toggle on ui --- packages/admin-ui/src/pages/Wallet/helper.jsx | 12 ++++++++++++ packages/server/lib/routes/customerRoutes.js | 6 +++++- .../1748423577379-add-last-used-address.js | 16 ++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 packages/server/migrations/1748423577379-add-last-used-address.js diff --git a/packages/admin-ui/src/pages/Wallet/helper.jsx b/packages/admin-ui/src/pages/Wallet/helper.jsx index e1440eaf..35e3d4a5 100644 --- a/packages/admin-ui/src/pages/Wallet/helper.jsx +++ b/packages/admin-ui/src/pages/Wallet/helper.jsx @@ -36,6 +36,7 @@ const AdvancedWalletSchema = Yup.object().shape({ cryptoUnits: Yup.string().required(), feeMultiplier: Yup.string().required(), allowTransactionBatching: Yup.boolean(), + enableLastUsedAddress: Yup.boolean(), }) const OverridesSchema = Yup.object().shape({ @@ -127,6 +128,17 @@ const getAdvancedWalletElements = () => { labelProp: 'display', }, }, + { + name: 'enableLastUsedAddress', + header: `Allow last used address prompt `, + size: 'sm', + stripe: true, + width: 260, + view: (_, ite) => { + return ite.enableLastUsedAddress ? 'Yes' : `No` + }, + input: Checkbox, + }, ] } diff --git a/packages/server/lib/routes/customerRoutes.js b/packages/server/lib/routes/customerRoutes.js index b4f8aa55..a37f3a37 100644 --- a/packages/server/lib/routes/customerRoutes.js +++ b/packages/server/lib/routes/customerRoutes.js @@ -353,7 +353,11 @@ function addOrUpdateCustomer( .then(discount => ({ ...customer, discount })) }) .then(customer => { - if (!cryptoCode) return customer + const enableLastUsedAddress = !!configManager.getWalletSettings( + cryptoCode, + config, + ).enableLastUsedAddress + if (!cryptoCode || !enableLastUsedAddress) return customer return customers .getLastUsedAddress(customer.id, cryptoCode) .then(lastUsedAddress => { diff --git a/packages/server/migrations/1748423577379-add-last-used-address.js b/packages/server/migrations/1748423577379-add-last-used-address.js new file mode 100644 index 00000000..6cefe88f --- /dev/null +++ b/packages/server/migrations/1748423577379-add-last-used-address.js @@ -0,0 +1,16 @@ +const { saveConfig } = require('../lib/new-settings-loader') + +exports.up = function (next) { + const newConfig = { + wallets_advanced_enableLastUsedAddress: false, + } + return saveConfig(newConfig) + .then(next) + .catch(err => { + return next(err) + }) +} + +module.exports.down = function (next) { + next() +}