fix: address reuse query

This commit is contained in:
Nikola Ubavic 2022-10-31 18:10:35 +01:00
parent 34e34df62e
commit 28abcd7851

View file

@ -45,7 +45,7 @@ function post (machineTx, pi) {
if (_.some(it => it.address === updatedTx.toAddress)(blacklistItems)) {
blacklisted = true
notifier.notifyIfActive('compliance', 'blacklistNotify', r.tx, false)
} else if (isReusedAddress && rejectAddressReuse) {
} else if (isReusedAddress[0].exists && rejectAddressReuse) {
notifier.notifyIfActive('compliance', 'blacklistNotify', r.tx, true)
addressReuse = true
}
@ -167,8 +167,13 @@ function postProcess (r, pi, isBlacklisted, addressReuse, walletScore) {
function doesTxReuseAddress (tx) {
if (!tx.fiat || tx.fiat.isZero()) {
const sql = `SELECT EXISTS (SELECT DISTINCT to_address FROM cash_in_txs WHERE to_address = $1)`
return db.any(sql, [tx.toAddress])
const sql = `
SELECT EXISTS (
SELECT DISTINCT to_address FROM (
SELECT to_address FROM cash_in_txs WHERE id != $1
) AS x WHERE to_address = $2
)`
return db.any(sql, [tx.id, tx.toAddress])
}
return Promise.resolve(false)
}