bn_rs/bignumber/
bindgen.rs

1use wasm_bindgen::prelude::*;
2
3#[wasm_bindgen(module = "@ethersproject/bignumber")]
4extern "C" {
5    pub type BigNumber;
6
7    #[wasm_bindgen(static_method_of = BigNumber, js_name = from)]
8    pub fn new(number: String) -> BigNumber;
9
10    #[wasm_bindgen(static_method_of = BigNumber, js_name = from)]
11    pub fn new_from_array(number: &[u8]) -> BigNumber;
12
13    #[wasm_bindgen(method, getter, js_name = _hex)]
14    pub fn hex(this: &BigNumber) -> String;
15}
16
17#[cfg(test)]
18mod tests {
19    use wasm_bindgen_test::*;
20
21    use super::BigNumber;
22
23    #[wasm_bindgen_test]
24    fn new_then_hex() {
25        assert_eq!(
26            BigNumber::new("0x1e00".to_string()).hex(),
27            "0x1e00".to_string()
28        );
29    }
30
31    #[wasm_bindgen_test]
32    fn new_from_array_then_hex() {
33        assert_eq!(
34            BigNumber::new_from_array(&[30, 0]).hex(),
35            "0x1e00".to_string()
36        );
37    }
38}