if you want to use a more accurate calculation for AdEx, here's the formula to calculate the circulating supply:
const fundAddr = '0xf83f7411046ce4a6fba6584b868fb15d45f0065a'
const teamAddr = '0x230fe2dc4fe6a13adaa87b433862e3b21148546d'
const tsSeconds = Math.floor(Date.now()/1000)
const MUL = 10000; // multiplier, 4 decimals
const TOTAL = 100*1000*1000*MUL; // 100m
const adxTeamBalance = (await token.balanceOf(teamAddr)).toNumber();
const teamTransferrableBalance = (await token.transferableTokens(teamAddr, tsSeconds)).toNumber();
const adxFundBalance = (await token.balanceOf(fundAddr)).toNumber();
const fundTransferrableBalance = (await token.transferableTokens(fundAddr, tsSeconds)).toNumber();
const nonTransferrable = (adxTeamBalance - teamTransferrableBalance) + (adxFundBalance - fundTransferrableBalance)
const circulating = (TOTAL - nonTransferrable) / MUL
can be verified against: https://github.com/adexnetwork/adex-token
if you want to use a more accurate calculation for AdEx, here's the formula to calculate the circulating supply:
can be verified against: https://github.com/adexnetwork/adex-token