Feature description
At the moment we don't have any tests in the product-core repository that can be used in CI workflows to test the code provided in the iota_interaction, iota_interaction_rust, product_common rust crates and the @iota/iota-interaction-ts npmjs package.
For this purpose a test product needs to be implemented, that
- Shall be located in
examples/test-product
- Uses all relevant traits and types provided by
iota_interaction and product_common and @iota/iota-interaction-ts, especially:
product_common: CoreClient, CoreClientReadOnly, Transaction, TransactionBuilder and gas-station features
product_common: WASM bindings of the above mentioned interfaces and types
iota_interaction_rust + @iota/iota-interaction-ts: Platform specific usage of the WasmIotaClient and IotaClientAdapter to provide platform specific versions of the IOTA client
- Uses the product_common
PackageRegistry and MoveHistoryManager and provides a detailed test description to do manually package-publish and package-upgrade tests
- Additionally provides automated CI tests for package-publish and package-upgrade tests
- Provides a very simple Move SC package, a Rust library and a TS library
- Provides a
ReadOnly and a full client for Rust and TS
- Comes with some usage examples for the Rust and the TS libraries
- Provides CI test integration for the Rust and TS usage examples equivalent to the CI tests used in our products
- Shall demonstrate proper Rust and TS Error type design as been described here and here
- Shall demonstrate using clever Move errors
The code of the test product shall be used as a reference implementation of Trust Framework products demonstrating how resources provided in product-core are used in TF products.
The test product shall be properly documented to ease the setup of new TF product projects and introductory training of new PA developers.
The test product may be used in the upcoming cross product docs section of the TF documentation (issue link)
Related issues
Motivation
Requirements
Open questions
Are you planning to do it yourself in a pull request?
Yes
Feature description
At the moment we don't have any tests in the product-core repository that can be used in CI workflows to test the code provided in the
iota_interaction,iota_interaction_rust,product_commonrust crates and the@iota/iota-interaction-tsnpmjs package.For this purpose a test product needs to be implemented, that
examples/test-productiota_interactionandproduct_commonand@iota/iota-interaction-ts, especially:product_common:CoreClient,CoreClientReadOnly,Transaction,TransactionBuilderand gas-station featuresproduct_common: WASM bindings of the above mentioned interfaces and typesiota_interaction_rust+@iota/iota-interaction-ts: Platform specific usage of theWasmIotaClientandIotaClientAdapterto provide platform specific versions of the IOTA clientPackageRegistryandMoveHistoryManagerand provides a detailed test description to do manually package-publish and package-upgrade testsReadOnlyand a full client for Rust and TSThe code of the test product shall be used as a reference implementation of Trust Framework products demonstrating how resources provided in product-core are used in TF products.
The test product shall be properly documented to ease the setup of new TF product projects and introductory training of new PA developers.
The test product may be used in the upcoming cross product docs section of the TF documentation (issue link)
Related issues
Motivation
Requirements
Open questions
Are you planning to do it yourself in a pull request?
Yes