Proxy contract
Resumindo Um proxy contract repassa chamadas a um contrato de lógica, permitindo mudar o código de um token sem alterar seu endereço.
Um proxy contract é um smart contract que mantém o endereço e os dados armazenados com os quais os usuários interagem, mas repassa cada chamada para um contrato separado com a lógica real. As pessoas continuam usando o mesmo endereço enquanto o código por trás pode ser trocado por uma nova versão. Equipes usam esse padrão no Ethereum, BNB Chain e Base para corrigir bugs em códigos que, de outra forma, seriam impossíveis de alterar.
Na prática, o proxy usa uma delegate call. Ele executa o código do contrato de lógica usando o próprio storage do proxy, de modo que saldos e configurações ficam no proxy, enquanto as regras vêm da implementação. Um endereço de admin — seja uma carteira comum, uma multisig ou um timelock — tem permissão para apontar o proxy para uma nova implementação. Padrões como proxies transparentes e UUPS diferem em onde fica a permissão de upgrade, mas a ideia é a mesma.
Isso importa porque o código que você leu ou viu auditado pode não ser o código rodando amanhã. Um upgrade pode adicionar uma função de mint, uma blacklist ou uma taxa de venda oculta depois que você já comprou. A renúncia de ownership no token também pode enganar, já que os direitos de upgrade costumam ficar com um proxy admin separado. Vários projetos legítimos usam proxies, então o padrão em si não é um red flag. O que conta é quem controla o upgrade e com quanta antecedência você é avisado.
Em um block explorer, verifique se o contrato está marcado como proxy e encontre o endereço de implementação e o admin. Avalie se o admin é uma carteira comum ou uma multisig, se um timelock impõe um delay antes que os upgrades entrem em vigor e se a auditoria cobre a implementação atual em vez de uma antiga. Veja o histórico da implementação em busca de trocas recentes. Na Solana, o equivalente é um upgradeable program com uma upgrade authority; uma autoridade revogada significa que o código está congelado.




