Proxy contract
Em resumo Um proxy contract reencaminha chamadas para outro contrato, permitindo alterar o código de um token sem mudar o endereço.
Um proxy contract é um smart contract que mantém o endereço e os dados com que os utilizadores interagem, mas reencaminha cada chamada para um contrato separado com a lógica real. A comunidade continua a usar o mesmo endereço enquanto o código por trás pode ser trocado por uma nova versão. Várias equipas usam este padrão na Ethereum, BNB Chain e Base para corrigir bugs em código que, de outra forma, seria impossível alterar.
Em termos mecânicos, o proxy utiliza um delegatecall. Executa o código do contrato de lógica diretamente no próprio storage do proxy, pelo que saldos e definições ficam no proxy enquanto as regras vêm da implementação. Um endereço de admin — seja uma wallet individual, uma multisig ou um timelock — tem permissão para apontar o proxy para uma nova implementação. Padrões como transparent proxies e UUPS diferem no local onde reside a permissão de upgrade, mas o princípio é o mesmo.
Isto é crucial porque o código lido ou auditado pode não ser o código a correr amanhã. Um upgrade pode introduzir uma mint function, uma blacklist ou uma sell tax oculta após a compra. Renunciar ao ownership no token também pode ser enganador, já que os privilégios de upgrade costumam pertencer a um proxy admin separado. Muitos projetos legítimos usam proxies, pelo que o padrão em si não é uma red flag. O essencial é quem controla o upgrade e com que antecedência é anunciado.
Num block explorer, verifica se o contrato está identificado como proxy e localiza o endereço da implementação e do admin. Avalia se o admin é uma wallet simples ou uma multisig, se um timelock impõe um atraso antes de os upgrades entrarem em vigor e se a auditoria cobre a implementação atual ou uma antiga. Analisa o histórico da implementação à procura de trocas recentes. Na Solana, o equivalente é um upgradeable program com uma upgrade authority, e revogar essa autoridade congela o código.




