use wasm_bindgen::prelude::*;
use crate::error_conversion::to_js;
#[wasm_bindgen]
pub struct MinerAddress {}
#[wasm_bindgen]
impl MinerAddress {
pub fn mainnet_fee_address() -> String {
ergo_lib::wallet::miner_fee::MINERS_FEE_MAINNET_ADDRESS_STR.clone()
}
pub fn testnet_fee_address() -> String {
ergo_lib::wallet::miner_fee::MINERS_FEE_TESTNET_ADDRESS_STR.clone()
}
}
#[wasm_bindgen]
#[derive(PartialEq, Eq, Debug, Clone)]
pub struct I64(i64);
#[wasm_bindgen]
impl I64 {
#[allow(clippy::should_implement_trait)]
pub fn from_str(string: &str) -> Result<I64, JsValue> {
string.parse::<i64>().map_err(to_js).map(I64)
}
pub fn to_str(&self) -> String {
format!("{}", self.0)
}
pub fn as_num(&self) -> js_sys::Number {
js_sys::Number::from(self.0 as f64)
}
pub fn checked_add(&self, other: &I64) -> Result<I64, JsValue> {
match self.0.checked_add(other.0) {
Some(value) => Ok(I64(value)),
None => Err(JsValue::from_str("overflow")),
}
}
}
impl From<i64> for I64 {
fn from(v: i64) -> Self {
I64(v)
}
}
impl From<I64> for i64 {
fn from(v: I64) -> Self {
v.0
}
}
#[allow(dead_code, missing_docs)]
pub fn set_panic_hook() {
#[cfg(feature = "console_error_panic_hook")]
console_error_panic_hook::set_once();
}