1 个不稳定版本
| 0.1.0 | 2022年1月31日 |
|---|
#331 在 #safe
每月 36 次下载
6KB
69 行
Solana Safe Math
use solana_safe_math::{SafeMath};
fn process_init_escrow(
accounts: &[AccountInfo],
amount: u64,
program_id: &Pubkey
) -> ProgramResult {
let val = 10_u64;
val.safe_add(amount)?;
val.safe_sub(amount)?;
val.safe_mul(amount)?;
val.safe_div(amount)?;
val.safe_pow(8_u32)?;
}
支持 u128、u64、u32、u16 和 u8
lib.rs:
Anchor Safe Math
anchor_safe_math 是一组辅助数值运算函数集合,用于消除检查溢出、下溢和除以零错误时的冗余。
示例
use solana_safe_math::{SafeMath};
use solana_program::{entrypoint::ProgramResult};
fn process_init_escrow(
accounts: &[AccountInfo],
amount: u64,
program_id: &Pubkey
) -> ProgramResult {
let val = 10_u64;
val.safe_add(amount)?;
val.safe_sub(amount)?;
val.safe_mul(amount)?;
val.safe_div(amount)?;
val.safe_pow(8_u32)?;
}
依赖项
~16–24MB
~417K SLoC