Checked Math

Segurança · Profundo

Uma família de métodos aritméticos do Rust — incluindo checked_add, checked_sub, checked_mul, checked_div e seus equivalentes saturating_* — que retornam um Option<T> (None em overflow/underflow) em vez de fazer wrap silenciosamente, permitindo que programas Solana propaguem um erro em vez de continuar com valores corrompidos. Como a aritmética de inteiros padrão do Rust entra em panic em overflow apenas em builds debug e faz wrap silenciosamente em builds release (o modo usado para deploys on-chain), toda aritmética financeira e sensível a segurança em programas Solana deve usar esses métodos. A macro declare_program! do Anchor e muitas checklists de auditoria exigem explicitamente math checked em todos os cálculos de valores de token.

Termos relacionados