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