estou há alguns dias apenas com a única observação de QA do token audit da OpenGradient, e o que realmente se destaca é o quão pequeno, na prática, é um “floating pragma”....

aqui vai o mecanismo. um floating pragma significa que a versão do Solidity de um contrato inteligente não fica travada em uma única versão específica do compilador; em vez disso, ela permite uma faixa. o risco é sutil: versões diferentes do compilador podem introduzir comportamentos ou correções de bugs diferentes. então, um contrato que compila bem hoje poderia, teoricamente, compilar de forma diferente mais tarde se for implantado novamente sob uma versão diferente do compilador dentro dessa faixa permitida. OpenGradientToken.sol teve isso sinalizado e depois corrigido, antes de o audit ser concluído....

pequena sinalização. totalmente resolvida....

o que eu acho que muita gente deixa passar é que esse é exatamente o tipo de achado que você quer que um audit encontre: não é uma vulnerabilidade crítica, é apenas uma lacuna de melhores práticas que pode importar algum dia se for ignorada. são os achados “chatos” que mostram que o audit foi realmente minucioso, e não apenas um carimbo.

eu realmente gosto de como o relatório de auditoria da OpenGradient nomeia essa questão específica e menor, em vez de alegar de forma vaga “nenhum problema encontrado” sem nada para verificar. um problema menor, nomeado e corrigido, é mais confiável do que um relatório suspeitosamente “impecável”....
b

mas eu não vou fingir que uma única observação de QA resolvida te diz tudo sobre a segurança de contratos no longo prazo. um audit é um retrato em um ponto no tempo; os outros contratos da OpenGradient e quaisquer upgrades futuros precisariam de uma análise própria separadamente....

já revisei um contrato com um floating pragma e ninguém percebeu até que, anos depois, uma atualização do compilador mudou o comportamento em runtime de uma forma que ninguém esperava.

o que ainda não consigo resolver é se a OpenGradient vai travar o pragma daqui para frente em quaisquer novos contratos no ecossistema, ou se é apenas uma correção pontual, específica para o contrato do token?
@OpenGradient $OPG

#OPG