pub trait TryMath {
// Required methods
fn try_add(self, v: i128) -> Result<i128>;
fn try_div(self, v: i128) -> Result<i128>;
fn try_mul(self, v: i128) -> Result<i128>;
fn try_sub(self, v: i128) -> Result<i128>;
fn try_rem(self, v: i128) -> Result<i128>;
fn try_mul_x18(self, v: i128) -> Result<i128>;
fn try_div_x18(self, v: i128) -> Result<i128>;
fn try_sqrt_x18(self) -> Result<i128>;
}