E com isso o Guga e o Filipe já podem se aposentar... hahaha
Dá pra acrescentar essa checagem antes do COMMIT.
if (totalContentsBeforeTabcoins.rows.length !==
(totalContentsTabcoinsAfter.rows[0].sum - totalContentsTabcoinsBefore.rows[0].sum)) {
throw new error...
} else if (totalContentsBeforeTabcoins.rows.length !==
((totalUsersTabcoinsAfter.rows[0].sum - totalUsersTabcoinsBefore.rows[0].sum) / 10)) {
throw new error...
} else if (DRY_RUN) {
throw new error...
} else {
await transaction.query('COMMIT');
...
}
Ela pode acusar um falso positivo se alguém fizer alguma transação no momento do script, mas pode ser uma garantia de que tudo ocorreu como deveria.