Skip to content

Instantly share code, notes, and snippets.

@GEEGABYTE1
Created June 1, 2023 04:44
Show Gist options
  • Save GEEGABYTE1/4dcd050736f9c0e3b8a659b694469b46 to your computer and use it in GitHub Desktop.
Save GEEGABYTE1/4dcd050736f9c0e3b8a659b694469b46 to your computer and use it in GitHub Desktop.
Checking Total Balance Sample Alg
// fetch all tokens
async function checkBal() {
var token_dict = {}
console.log("In function")
const address = desiredWallet; // holder address needs to change
// Get token balances
const balances = await alchemy.core.getTokenBalances(address);
console.log(balances)
for (let i = 0; i <= balances['tokenBalances'].length; i++) {
//console.log("in for loop")
let cur_dict = balances['tokenBalances'][i]
if (cur_dict === undefined) {
continue
}
//console.log("Cur Dict: ", cur_dict)
let rel_balance = cur_dict['tokenBalance']
if (rel_balance === undefined) {
continue
} else {
let metadata = await alchemy.core.getTokenMetadata(cur_dict['contractAddress']);
rel_balance = rel_balance / Math.pow(10, metadata.decimals);
rel_balance = rel_balance.toFixed(2);
// console.log(`${i++}. ${metadata.name}: ${rel_balance} ${metadata.symbol}`);
token_dict[metadata.name] = rel_balance
}
}
console.log(token_dict)
const result = checkTokenBalance(token_dict)
console.log(result)
return result
}
function checkTokenBalance (token_dict) {
console.log('user tokens: ', token_dict)
const user_tokens = Object.keys(token_dict)
console.log("User Token Names: ", user_tokens)
const user_token_symbol = Object.values(token_dict)
console.log("User Token Symbols: ", user_token_symbol)
console.log("Current Query Token to Look For: ", queryToken[0])
if (user_tokens.includes(queryToken[0]) === true) {
const str_amount = token_dict[queryToken[0]]
const float_amount = parseFloat(str_amount)
if (float_amount > 0.3) {
return true
} else {
return false
}
} else {
alert(`Token: ${queryToken[0]} with Address: ${queryToken[1]} is not in your Wallet`)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment