With the introduction of V1 contracts cargo-concordium will have to be updated to support their building, testing, and execution.
If feasible we should retain the ability to build and test both v0 and v1 contracts, however if this is too time consuming we should focus on V1 only.
Tasks
[x] Support building V1 contracts. The output, if requested, should be a versioned module that can be deployed by concordium-client.
[x] Support for running unit tests (cargo concordium test) of V1 contracts.
[x] Support for locally running V1 smart contracts. This is the most challenging part since invoking a contract can now lead to invocation of other contracts, or transfers to accounts. Thus this requires some design work to figure out what should the interaction be. Likely there won't be time for anything fancy for the first version, such as ability to script responses. A basic version that interrupts at a contract call is sufficient for a first version and further tasks should be created to refine the experience.
Task description
With the introduction of V1 contracts cargo-concordium will have to be updated to support their building, testing, and execution.
If feasible we should retain the ability to build and test both v0 and v1 contracts, however if this is too time consuming we should focus on V1 only.
Tasks