-
Notifications
You must be signed in to change notification settings - Fork 90
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
WASM32 - Redesigned crate architecture #1497
base: feat/identity-rebased-alpha
Are you sure you want to change the base?
WASM32 - Redesigned crate architecture #1497
Conversation
* 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
…iota_interaction::...`
…lpha # Conflicts: # identity_iota_core/Cargo.toml # identity_iota_core/src/rebased/iota/well_known_networks.rs
…ta_core/rebase version
…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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooof this is huge. Good job! Fix formatting 👍
I'm currently investigating the formating issues. Using the nightly version of rustfmt we could use the unstable option ignore for this. As we are using the +nightly CLI option (according to the console log) this should work. Otherwise I will give rustfmt::skip a try. |
… from format checks
…nd identity_iota_interaction
…iles and add clippy + format steps for bindings/wasm/iota_interaction_ts
…s crate is processed as workspace member
…MEs and gitignore files
… words and specific contributor copyrights
…gs/wasm/identity_wasm" because bindings/wasm/iota_interaction_ts is needed to build the docker image
{(\/\/ Copyright.*\n)*?}// {(Modifications )?}Copyright {(\(c\) )?}{20\d{2}(-20\d{2})?} IOTA Stiftung{(, Fondazione Links)?}{(, Filancore GmbH)?} | ||
{(\/\/ Copyright.*\n)*}// SPDX-License-Identifier: Apache-2.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this update to the template make sense? ^^
{(\/\/ Copyright.*\n)*?}// {(Modifications )?}Copyright {(\(c\) )?}{20\d{2}(-20\d{2})?} IOTA Stiftung{(, Fondazione Links)?}{(, Filancore GmbH)?} | |
{(\/\/ Copyright.*\n)*}// SPDX-License-Identifier: Apache-2.0 | |
{(\/\/ Copyright.*\n)*?}// {(Modifications )?}Copyright {(\(c\) )?}{20\d{2}(-20\d{2})?} IOTA Stiftung{(?:, .+)?} | |
// SPDX-License-Identifier: Apache-2.0 |
This would:
- keep the list of non-IOTA contributors open, so that we don't have to extend it for contributions from currently unlisted contributors
- remove the
// Copyright
prefix from the second line, as I didn't find any cases where we needed it ^^;;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would running cargo +nightly fmt
make sense before merging?
Had these changes after running it:
git diff --shortstat
49 files changed, 423 insertions(+), 506 deletions(-)
Description of change
This PR introduces the new crate structure as been described in issue #1441.
Links to any relevant issues
Closes #1441
Type of change
How the change has been tested
cargo build --package identity_iota_core --lib --target wasm32-unknown-unknown --no-default-features --features iota-client --features revocation-bitmap
Regarding changes in MoveCalls originating from other currently opened PRs
The folder
identity_iota_core/src/rebased/iota/move_calls
is not used anymore but has not been deleted so far. Changes to this folder, resulting from other currently opened PRs will automatically be merged without problems. After these changes have been merged intoidentity_iota_core/src/rebased/iota/move_calls
they need to be integrated manually into the filesidentity_iota_core/src/iota_interaction_rust/asset_move_calls.rs
andidentity_iota_core/src/iota_interaction_rust/identity_move_calls.rs
.After this PR and all other PRs impacting
identity_iota_core/src/rebased/iota/move_calls
have been merged as described above, the folderidentity_iota_core/src/rebased/iota/move_calls
must be deleted.