O programa SPL Token define "mints" (cunhagens) e contas de token; o programa Associated Token Account (ATA) deriva endereços canônicos de carteira por "mint". Os crates Rust spl-token e spl-associated-token-account (mais os wrappers anchor-spl) codificam layouts e helpers de CPI para os programas e clientes do Agave 4.1.1.
// Sempre use matemática verificada para valores humanoslet raw = amount .checked_mul(10u64.pow(mint.decimals as u32)) .ok_or(ProgramError::InvalidArgument)?;
ID incorreto do programa de token para derivação ATA - "Mints" Token-2022 precisam do ID do programa Token-2022. Correção: passe o ID de programa correto para os helpers ATA.
Transferência sem delegado ao usar autoridade delegada - falha com incompatibilidade de proprietário. Correção: inclua o "signer" delegado ou use o proprietário.
Decimais assumidos como 9 - USDC usa 6. Correção: leia mint.decimals em tempo de execução.
Fechar ATA com "dust" (resíduos) - reabrir custa aluguel (rent). Correção: varra para zero antes de fechar ou mantenha a ATA.
Autoridade de "mint" deixada em "mints" da rede principal - risco de inflação ilimitada. Correção: revogue a autoridade de "mint" após o lançamento.