From daf7c03cf6825580a7a69ad8c5ef1c6732d2e6af Mon Sep 17 00:00:00 2001 From: mendesfabio Date: Thu, 30 May 2024 08:16:31 -0300 Subject: [PATCH] fix holders counting --- src/mappings/poolController.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/mappings/poolController.ts b/src/mappings/poolController.ts index beb3f96e..cf82d536 100644 --- a/src/mappings/poolController.ts +++ b/src/mappings/poolController.ts @@ -56,7 +56,7 @@ import { hexToBigInt, getBalancerSnapshot, } from './helpers/misc'; -import { ONE_BD, ProtocolFeeType, ZERO_ADDRESS, ZERO_BD } from './helpers/constants'; +import { ONE_BD, ProtocolFeeType, VAULT_ADDRESS, ZERO_ADDRESS, ZERO_BD } from './helpers/constants'; import { updateAmpFactor } from './helpers/stable'; import { getPoolTokenManager, getPoolTokens } from './helpers/pools'; import { @@ -678,11 +678,21 @@ export function handleTransfer(event: Transfer): void { poolShareFrom.save(); } - if (poolShareTo !== null && poolShareTo.balance.notEqual(ZERO_BD) && poolShareToBalance.equals(ZERO_BD)) { + if ( + poolShareTo !== null && + poolShareTo.balance.notEqual(ZERO_BD) && + poolShareToBalance.equals(ZERO_BD) && + poolShareTo.userAddress != VAULT_ADDRESS.toHex() + ) { pool.holdersCount = pool.holdersCount.plus(BigInt.fromI32(1)); } - if (poolShareFrom !== null && poolShareFrom.balance.equals(ZERO_BD) && poolShareFromBalance.notEqual(ZERO_BD)) { + if ( + poolShareFrom !== null && + poolShareFrom.balance.equals(ZERO_BD) && + poolShareFromBalance.notEqual(ZERO_BD) && + poolShareFrom.userAddress != VAULT_ADDRESS.toHex() + ) { pool.holdersCount = pool.holdersCount.minus(BigInt.fromI32(1)); }