diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e871ab05af..9f2f304eec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -254,13 +254,12 @@ jobs: with: node-version: 22.8.0 - # Until we fix the "missing env error" - # - name: Test WASM - # if: ${{ matrix.command == 'test_wasm' }} - # run: | - # curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - # cd wasm-tests - # wasm-pack test --node + - name: Test WASM + if: ${{ matrix.command == 'test_wasm' }} + run: | + curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + cd wasm-tests + wasm-pack test --node - name: Check that fuel_core version.rs file is up to date if: ${{ matrix.command == 'check_fuel_core_version' }} diff --git a/packages/fuels-accounts/src/signers/fake.rs b/packages/fuels-accounts/src/signers/fake.rs index c544fc677d..7b2c550a12 100644 --- a/packages/fuels-accounts/src/signers/fake.rs +++ b/packages/fuels-accounts/src/signers/fake.rs @@ -26,7 +26,8 @@ impl FakeSigner { } } -#[async_trait] +#[cfg_attr(target_arch = "wasm32", async_trait(?Send))] +#[cfg_attr(not(target_arch = "wasm32"), async_trait)] impl Signer for FakeSigner { async fn sign(&self, _message: Message) -> Result { Ok(Signature::default()) diff --git a/packages/fuels-accounts/src/signers/private_key.rs b/packages/fuels-accounts/src/signers/private_key.rs index 7a3890ca34..4ad6af59ca 100644 --- a/packages/fuels-accounts/src/signers/private_key.rs +++ b/packages/fuels-accounts/src/signers/private_key.rs @@ -53,7 +53,8 @@ impl PrivateKeySigner { } } -#[async_trait] +#[cfg_attr(target_arch = "wasm32", async_trait(?Send))] +#[cfg_attr(not(target_arch = "wasm32"), async_trait)] impl Signer for PrivateKeySigner { async fn sign(&self, message: Message) -> Result { let sig = Signature::sign(&self.private_key, &message); diff --git a/wasm-tests/src/lib.rs b/wasm-tests/src/lib.rs index 8c8cf697ff..49cf5a9efe 100644 --- a/wasm-tests/src/lib.rs +++ b/wasm-tests/src/lib.rs @@ -6,12 +6,14 @@ mod tests { use fuels::{ accounts::predicate::Predicate, - core::{codec::ABIEncoder, traits::Tokenizable}, + core::{ + codec::{ABIEncoder, ABIFormatter}, + traits::Tokenizable, + }, macros::wasm_abigen, programs::debug::ScriptType, types::{AssetId, bech32::Bech32Address, errors::Result}, }; - use fuels_core::codec::abi_formatter::ABIFormatter; use wasm_bindgen_test::wasm_bindgen_test; #[wasm_bindgen_test] @@ -429,7 +431,7 @@ mod tests { assert_eq!( decoder.decode_fn_args( &call_description.decode_fn_selector().unwrap(), - &call_description.encoded_args + call_description.encoded_args.as_slice() )?, vec!["AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }"] ); @@ -448,7 +450,7 @@ mod tests { assert_eq!( decoder.decode_fn_args( &call_description.decode_fn_selector().unwrap(), - &call_description.encoded_args + call_description.encoded_args.as_slice() )?, vec![ "AllStruct { some_struct: SomeStruct { field: 2, field_2: true } }",