From 5205af8f1e34e7d9d94deb0747d0cfe00c3c8f8b Mon Sep 17 00:00:00 2001 From: artemkolodko Date: Mon, 29 Jan 2024 14:47:54 +0000 Subject: [PATCH 1/3] Always hold 1 ONE on user balance --- src/modules/payment/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/payment/index.ts b/src/modules/payment/index.ts index 42ceedc..091aa70 100644 --- a/src/modules/payment/index.ts +++ b/src/modules/payment/index.ts @@ -114,6 +114,12 @@ export class BotPayments { this.logger.error(`Cannot get user balance ${accountId} ${userAccount.address}`) } + // always hold 1 ONE on user balance to pay fees + const minOneAmount = new BigNumber(10 ** 18) + if(availableBalance.minus(txFee).gt(minOneAmount)) { + availableBalance = availableBalance.minus(minOneAmount) + } + if (availableBalance.minus(txFee).gt(0)) { try { this.logger.info(`User ${accountId} ${userAccount.address} transfer funds ${availableBalance.toFixed()} ONE to multisig wallet: ${this.holderAddress}...`) From 85020c0ac597c6ef60e759e5a2fcc1caf3378699 Mon Sep 17 00:00:00 2001 From: fegloff Date: Mon, 29 Jan 2024 10:05:32 -0500 Subject: [PATCH 2/3] fix eslint error --- src/modules/payment/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/payment/index.ts b/src/modules/payment/index.ts index 091aa70..bab51b0 100644 --- a/src/modules/payment/index.ts +++ b/src/modules/payment/index.ts @@ -116,7 +116,7 @@ export class BotPayments { // always hold 1 ONE on user balance to pay fees const minOneAmount = new BigNumber(10 ** 18) - if(availableBalance.minus(txFee).gt(minOneAmount)) { + if (availableBalance.minus(txFee).gt(minOneAmount)) { availableBalance = availableBalance.minus(minOneAmount) } From ec45f266528a210474907f9902a53b22f0713a2b Mon Sep 17 00:00:00 2001 From: artemkolodko Date: Tue, 30 Jan 2024 11:23:46 +0000 Subject: [PATCH 3/3] Fix hot wallet withdraw check --- src/modules/payment/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/payment/index.ts b/src/modules/payment/index.ts index 091aa70..54b22e6 100644 --- a/src/modules/payment/index.ts +++ b/src/modules/payment/index.ts @@ -116,7 +116,9 @@ export class BotPayments { // always hold 1 ONE on user balance to pay fees const minOneAmount = new BigNumber(10 ** 18) - if(availableBalance.minus(txFee).gt(minOneAmount)) { + if(availableBalance.minus(txFee).lt(minOneAmount)) { + return + } else { availableBalance = availableBalance.minus(minOneAmount) }