-
Notifications
You must be signed in to change notification settings - Fork 526
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
Adding deliverables document for MoveVM Substrate Pallet part 1 #974
Conversation
Hey @MeerKatDev, good to see your contribution! I've finished my external evaluation here #975. As you can see from my evaluation, in general, I will accept your milestone delivery, but still have some small questions:
Could you please clarify my questions? Appreciate it! |
Hi @Whisker17 , thanks for the rapid response, appreciate it a lot!
We have set up many integration tests (under the However, to show how it will look in the future, we added some test stubs and the Substrate runtime mock, which is running correctly and configuring testing runtime. We added unit tests where we could perform them without executing the Substrate runtime (or its mock). We will add more integration tests and unit tests in the next milestones.
Yes, we mentioned doctests in the Testing Guide, which covers our approach to the testing part in general (not only in Milestone 1 but for the whole project). As mentioned in our grant proposal for Milestone 1, we would implement stubs for the same set of APIs that Pontem did, and afterwards, we would add or remove new calls (RPC, extrinsics, etc.). That is why we found it less valuable for the project to provide extensive doctests during the planning and prototyping phase, since much can change during Milestone 2. Thus, as stated in the Testing Guide, we consider doctests as part of the project, and we will provide them when we are sure that the functions will not be removed and will be exposed to the future user. |
Yeah, good to hear that, so this m1 delivery is good to me, looking forward to your m2! |
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.
Hi @MeerKatDev. I am trying to verify the evaluation and struggle to get the move-cli compiled. docker build -t move/cli -f docker/move-cli/Dockerfile .
fails with the following errors. Any idea what's missing?
156.3 error[E0277]: the trait bound `U256FromStrError: StdError` is not satisfied
156.3 --> language/move-command-line-common/src/parser.rs:197:50
156.3 |
156.3 197 | let (u, _) = parse_u256(contents)?;
156.3 | ^ the trait `StdError` is not implemented for `U256FromStrError`
156.3 |
156.3 = help: the following other types implement trait `FromResidual<R>`:
156.3 <Result<T, F> as FromResidual<Result<Infallible, E>>>
156.3 <Result<T, F> as FromResidual<Yeet<E>>>
156.3 = note: required for `anyhow::Error` to implement `From<U256FromStrError>`
156.3 = note: required for `Result<ParsedValue<Extra>, anyhow::Error>` to implement `FromResidual<Result<Infallible, U256FromStrError>>`
156.3
156.3 error[E0277]: the trait bound `U256FromStrError: StdError` is not satisfied
156.3 --> language/move-command-line-common/src/parser.rs:217:84
156.3 |
156.3 217 | let (u, _) = parse_u256(contents.strip_suffix("u256").unwrap())?;
156.3 | ^ the trait `StdError` is not implemented for `U256FromStrError`
156.3 |
156.3 = help: the following other types implement trait `FromResidual<R>`:
156.3 <Result<T, F> as FromResidual<Result<Infallible, E>>>
156.3 <Result<T, F> as FromResidual<Yeet<E>>>
156.3 = note: required for `anyhow::Error` to implement `From<U256FromStrError>`
156.3 = note: required for `Result<ParsedValue<Extra>, anyhow::Error>` to implement `FromResidual<Result<Infallible, U256FromStrError>>`
156.3
156.4 error[E0277]: the trait bound `U256CastError: StdError` is not satisfied
156.4 --> language/move-command-line-common/src/values.rs:315:76
156.4 |
156.4 315 | Extra::move_value_into_concrete(MoveValue::U64(u.try_into()?))
156.4 | ^ the trait `StdError` is not implemented for `U256CastError`
156.4 |
156.4 = help: the following other types implement trait `FromResidual<R>`:
156.4 <Result<T, F> as FromResidual<Result<Infallible, E>>>
156.4 <Result<T, F> as FromResidual<Yeet<E>>>
156.4 = note: required for `anyhow::Error` to implement `From<U256CastError>`
156.4 = note: required for `Result<<Extra as ParsableValue>::ConcreteValue, anyhow::Error>` to implement `FromResidual<Result<Infallible, U256CastError>>`
156.4
156.4 For more information about this error, try `rustc --explain E0277`.
156.4 error: could not compile `move-command-line-common` due to 3 previous errors
156.4 warning: build failed, waiting for other jobs to finish...
------
Dockerfile:39
--------------------
37 | && [ -x "$(set -x; command -v npm)" ]
38 |
39 | >>> RUN cd /move; cargo build -p move-cli
40 |
41 | ENTRYPOINT ["/move/target/debug/move"]
--------------------
ERROR: failed to solve: process "/bin/sh -c cd /move; cargo build -p move-cli" did not complete successfully: exit code: 101
This is an expected failure - we modified only the It was more a proof of concept (PoC) thing we did to have better time estimates for the second Milestone. The move compiler depends on |
Sorry for the late reply, @MeerKatDev. I have reviewed and confirmed the external evaluation. I very much appreciate the thorough design documentation. Your milestone is hereby accepted. I have forwarded your invoice for processing. |
Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#1769