-
Notifications
You must be signed in to change notification settings - Fork 470
Closed
Labels
A-examples[examples] Work item[examples] Work itemA-ink_env[ink_env] work item[ink_env] work itemB-designDesigning a new component, interface or functionality.Designing a new component, interface or functionality.B-enhancementNew feature or requestNew feature or requestC-discussionAn issue for discussion for a given topic.An issue for discussion for a given topic.
Description
Persisting the results from our discussion on Saturday:
- We want to remove the existing off-chain testing environment (
engine
) and replace it with an E2E testing framework. - This E2E testing framework will be a new crate based on
ink_waterfall
. So we want to make the waterfall a product as part of ink!. - We will retain the
[ink::test]
syntax, but it will then instead spawn asubstrate-contracts-node
(if one is not already spawned) and execute real transactions viacargo-contract instantiate/call/…
.
The reason behind this is that we found that we need a proper E2E testing framework to keep up with competing products. In the past users found it very irritating that they can't test e.g. the call builder in our off-chain testing environment. As we move more towards interoperability (XCM & Co.) the need for E2E testing will need to be prioritized. By making the waterfall part of ink! in this way we can in the future also use this setup to test contracts that interact with parachains.
It will also remove the need of duplicating the API and logic of pallet-contracts
in ink!.
Metadata
Metadata
Assignees
Labels
A-examples[examples] Work item[examples] Work itemA-ink_env[ink_env] work item[ink_env] work itemB-designDesigning a new component, interface or functionality.Designing a new component, interface or functionality.B-enhancementNew feature or requestNew feature or requestC-discussionAn issue for discussion for a given topic.An issue for discussion for a given topic.