Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WASM implementation of adapters' traits on WASM types #1506

Merged

Conversation

UMR1352
Copy link
Contributor

@UMR1352 UMR1352 commented Jan 22, 2025

Description of change

Implemented remaining adapter traits on WASM types.

Links to any relevant issues

Fixes issue #1444

chrisgitiota and others added 30 commits December 4, 2024 12:00
* MoveType has been moved from identity_iota_core to identity_iota_interaction
* The identity_iota_interaction README has been updated to use the latest draft for folder and crate names
…lpha

# Conflicts:
#	identity_iota_core/Cargo.toml
#	identity_iota_core/src/rebased/iota/well_known_networks.rs
…ta_core for the redesigned crate structure

* Compiling identity_iota_core for wasm32 will result in one compiler error
  due to missing wasm-bindings for ProgrammableTransaction
  (TODO in identity_iota_core/src/rebased/transaction.rs)
* identity_iota_core and examples are compilable for non wasm32 platforms
  * Remaining compiler warnings should be investigated
* identity_iota_core e2e tests are compilable but will fail due to serialization/deserialization issues.
  For example:
    IotaTransactionBlockResponse bcs deserialization failed: NotSupported("deserialize_any")
    thread 'identity::adding_controller_works' panicked at /home/christof/Develop/iotaledger/identity.rs/identity_iota_core/src/rebased/transaction.rs:84:14:
    IotaTransactionBlockResponse bcs deserialization failed: NotSupported("deserialize_any")
    stack backtrace:
      0: rust_begin_unwind
      1: core::panicking::panic_fmt
      2: core::result::unwrap_failed
      3: <identity_iota_core::rebased::transaction::TransactionOutput<T> as core::convert::From<identity_iota_core::rebased::transaction::TransactionOutputInternal<T>>>::from
      4: <T as identity_iota_core::rebased::transaction::Transaction>::execute_with_opt_gas::{{closure}}
      5: identity_iota_core::rebased::transaction::Transaction::execute::{{closure}}
      6: e2e::identity::adding_controller_works::{{closure}}
      7: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
      8: tokio::runtime::runtime::Runtime::block_on
      9: e2e::identity::adding_controller_works
      10: core::ops::function::FnOnce::call_once
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
…ialization

BCS deserialization is not available for IotaTransactionBlockResponse because the BCS format is not self describing and several struct fields of IotaTransactionBlockResponse are optionally skipped during serialization. JSON deserialization will probably be available but using a cloned instance to convert a TransactionOutputInternal into a TransactionOutput will have a much better efficiency.
…Credential

All tests running successfully for the first time now
* Fix clippy error writing `&Vec` instead of `&[_]` involves a new object where a slice will do
* allow error clippy::too_many_arguments
…iles and add clippy + format steps for bindings/wasm/iota_interaction_ts
@UMR1352 UMR1352 added Wasm Related to Wasm bindings. Becomes part of the Wasm changelog Added A new feature that requires a minor release. Part of "Added" section in changelog Patch Change without affecting the API that requires a patch release. Part of "Patch" section in changelog labels Jan 22, 2025
@UMR1352 UMR1352 self-assigned this Jan 22, 2025
@UMR1352 UMR1352 requested a review from a team as a code owner January 22, 2025 12:32
Copy link
Contributor

@wulfraem wulfraem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, wait, is that target branch correct?

@UMR1352 UMR1352 requested a review from chrisgitiota January 23, 2025 14:07
@UMR1352 UMR1352 changed the base branch from feat/wasm32-develop-alpha to feat/identity-rebased-alpha January 23, 2025 14:07
Removed superfluous @iota/iota-sdk dependency from iota_interaction_ts package
}
}

impl IotaTransactionBlockResponseT for ManagedIotaTransactionBlockResponseAdapter {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately there has already been a very similar looking implementation for IotaTransactionBlockResponseT in bindings/wasm/iota_interaction_ts/src/iota_client_ts_sdk.rs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooof, removing the one I added then

@UMR1352 UMR1352 merged commit 7c4c46d into feat/identity-rebased-alpha Jan 27, 2025
11 checks passed
@UMR1352 UMR1352 deleted the feat/platform-agnostic-types-and-adapters branch January 27, 2025 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Added A new feature that requires a minor release. Part of "Added" section in changelog Patch Change without affecting the API that requires a patch release. Part of "Patch" section in changelog Wasm Related to Wasm bindings. Becomes part of the Wasm changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants