From 7e4bc1a6370e2eff4b94c3ca8ff3e24e7e1d5c2b Mon Sep 17 00:00:00 2001 From: zhl Date: Tue, 10 Jan 2023 14:40:53 +0800 Subject: [PATCH] add build script of wasm --- Cargo.lock | 1 + Cargo.toml | 2 ++ scripts/wasm_build.sh | 1 + src/lib.rs | 2 ++ 4 files changed, 6 insertions(+) create mode 100644 scripts/wasm_build.sh diff --git a/Cargo.lock b/Cargo.lock index da27ff3..6a85bca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -375,6 +375,7 @@ dependencies = [ "serde_json", "shamir_secret_sharing", "tiny-keccak", + "wasm-bindgen", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 571563e..91d9798 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,4 +24,6 @@ shamir_secret_sharing = "0.1.1" tiny-keccak = "1.5" primitive-types = "0.12.1" getrandom = { version = "0.2.7", features = ["js"]} +[target.'cfg(target_arch = "wasm32")'.dependencies] +wasm-bindgen = "0.2.83" diff --git a/scripts/wasm_build.sh b/scripts/wasm_build.sh new file mode 100644 index 0000000..c111ec6 --- /dev/null +++ b/scripts/wasm_build.sh @@ -0,0 +1 @@ +AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang wasm-pack build --target web \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index af2e155..a4e9251 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ use std::ffi::{CStr, CString}; use std::os::raw::c_char; +use wasm_bindgen::prelude::*; mod wallet; use wallet_impl::Wallet; @@ -112,6 +113,7 @@ pub unsafe extern "C" fn free_cwallet(cw: CWallet) { } #[no_mangle] +#[wasm_bindgen] pub unsafe extern "C" fn get_address( msg_key: *const c_char, master_key: *const c_char,