feat: add blacklist message to machine communication
This commit is contained in:
parent
8af7c97c16
commit
677cb39f0c
4 changed files with 7 additions and 8 deletions
|
|
@ -26,7 +26,7 @@ const insertIntoBlacklist = address => {
|
|||
}
|
||||
|
||||
function blocked (address) {
|
||||
const sql = `SELECT * FROM blacklist WHERE address = $1`
|
||||
const sql = `SELECT address, content FROM blacklist b LEFT OUTER JOIN blacklist_messages bm ON bm.id = b.blacklist_message_id WHERE address = $1`
|
||||
return db.any(sql, [address])
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const E = require('../error')
|
|||
|
||||
const PENDING_INTERVAL_MS = 60 * T.minutes
|
||||
|
||||
const massageFields = ['direction', 'cryptoNetwork', 'bills', 'blacklisted', 'addressReuse', 'promoCodeApplied', 'validWalletScore', 'cashInFeeCrypto']
|
||||
const massageFields = ['direction', 'cryptoNetwork', 'bills', 'blacklisted', 'blacklistMessage', 'addressReuse', 'promoCodeApplied', 'validWalletScore', 'cashInFeeCrypto']
|
||||
const massageUpdateFields = _.concat(massageFields, 'cryptoAtoms')
|
||||
|
||||
const massage = _.flow(_.omit(massageFields),
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ function post (machineTx, pi) {
|
|||
return cashInAtomic.atomic(machineTx, pi)
|
||||
.then(r => {
|
||||
const updatedTx = r.tx
|
||||
let blacklisted = false
|
||||
let blacklisted = null
|
||||
let addressReuse = false
|
||||
let walletScore = {}
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ function post (machineTx, pi) {
|
|||
walletScore = fetchedWalletScore
|
||||
|
||||
if (_.some(it => it.address === updatedTx.toAddress)(blacklistItems)) {
|
||||
blacklisted = true
|
||||
blacklisted = _.find(it => it.address === updatedTx.toAddress)(blacklistItems)
|
||||
notifier.notifyIfActive('compliance', 'blacklistNotify', r.tx, false)
|
||||
} else if (isReusedAddress && rejectAddressReuse) {
|
||||
notifier.notifyIfActive('compliance', 'blacklistNotify', r.tx, true)
|
||||
|
|
@ -61,7 +61,8 @@ function post (machineTx, pi) {
|
|||
.then(changes => _.set('walletScore', _.isNil(walletScore) ? null : walletScore.score, changes))
|
||||
.then(changes => cashInLow.update(db, updatedTx, changes))
|
||||
.then(tx => _.set('bills', machineTx.bills, tx))
|
||||
.then(tx => _.set('blacklisted', blacklisted, tx))
|
||||
.then(tx => _.set('blacklisted', Boolean(blacklisted), tx))
|
||||
.then(tx => _.set('blacklistMessage', blacklisted?.content, tx))
|
||||
.then(tx => _.set('addressReuse', addressReuse, tx))
|
||||
.then(tx => _.set('validWalletScore', _.isNil(walletScore) ? true : walletScore.isValid, tx))
|
||||
})
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@ exports.up = function (next) {
|
|||
allow_toggle BOOLEAN NOT NULL DEFAULT true
|
||||
)`,
|
||||
`INSERT INTO blacklist_messages (id, label, content, allow_toggle) VALUES ('${defaultMessageId}', 'Suspicious address', 'This address may be associated with a deceptive offer or a prohibited group. Please make sure you''re using an address from your own wallet.', false)`,
|
||||
`ALTER TABLE blacklist ADD COLUMN blacklist_message_id UUID REFERENCES blacklist_messages(id)`,
|
||||
`UPDATE blacklist SET blacklist_message_id = '${defaultMessageId}'`,
|
||||
`ALTER TABLE blacklist ALTER COLUMN blacklist_message_id SET NOT NULL`
|
||||
`ALTER TABLE blacklist ADD COLUMN blacklist_message_id UUID REFERENCES blacklist_messages(id) NOT NULL DEFAULT '${defaultMessageId}'`
|
||||
]
|
||||
|
||||
db.multi(sql, next)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue