INNER CODE UNIT · TypeScript
clean
Deezzir/solana-bot · src/commands.ts:66
export async function clean(wallets: common.Wallet[], burn: boolean = false): Promise<void> {
if (wallets.length === 0) throw new Error('No wallets available.');
common.log(common.yellow(`${burn ? 'Burning tokens and closing' : 'Closing'} token accounts for the wallets...`));
const unsold_mints = new Map<string, { amount: bigint; decimals: number }>();
const unclosed_wallets: common.Wallet[] = [];
const unsold_wallets: common.Wallet[] = [];
let total_closed_cnt = 0;
let total_failed_cnt = 0;
for (const batch of common.chunks(wallets, 40)) {
await Promise.all(
batch.map(async (wallet) => {
try {
const closer = wallet.keypair;
const prefix = `${wallet.keypair.publicKey.toString().padEnd(44, ' ')} ${wallet.name} (${wallet.id})`;
common.log(`Cleaning ${prefix}...`);
const {