Skip to content

[Task] New "product-core" Repository for IOTA Interaction, CoreClient, Transaction and additional shared code #1636

Open
0 of 1 issue completed
@chrisgitiota

Description

@chrisgitiota

Description

The new product-core repository shall contain code shared by multiple IOTA products. The repository shall contain the crates:

  • core
  • iota_interaction
  • iota_interaction_ts (path bindings/wasm/iota_interaction_ts)
  • iota_interaction_rust

The following crates or folders, currently located in the identity.rs repository, need to be moved into the new repository:

  • Crate identity_iota_interaction moves into product-core/iota_interaction
  • Crate iota_interaction_ts moves into product-core/iota_interaction_ts
  • Folder identity_iota_core/src/iota_interaction_rust moves into product-core/iota_interaction_rust
  • The Transaction trait and implementation of the TransactionBuilder currently located in identity_iota_core/src/rebased/transaction_builder.rs moves into product-core/core

Regarding iota_interaction, iota_interaction_ts and iota_interaction_rust

Identity specific code, contained in these crates and folders, needs to remain in the identity repository (examples: iota_verifiable_credential, move_call_traits, ...).

Only code shared by multiple IOTA products shall be moved into the new repository (examples: iota_client_trait, sdk_types, keytool_signer?, ...).

Additional tasks:

  • Based on the implementation in the identity.rs repository a product agnostic version of the Transaction trait needs to be developed as been described here
  • To build iota_interaction_ts, a full NodeJS build process needs to be implemented
  • GH workflow checks already applied to the moved code, needs to be implemented in the new repository also

Motivation

  • Facilitate using the Transaction trait, IOTA Interaction and other shared code with all IOTA products
  • Clear separation between shared and product specific code

Sub-issues

Metadata

Metadata

Assignees

Labels

No changelogExcludes PR from becoming part of any changelogRustRelated to the core Rust code. Becomes part of the Rust changelog.WasmRelated to Wasm bindings. Becomes part of the Wasm changelog

Type

Projects

Status

In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions