Skip to content
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

Create CoinFabrik_On_Ink_Integration_Tests_3.md #2081

Merged
merged 2 commits into from
Dec 4, 2023

Conversation

valeriacaracciolo
Copy link
Contributor

Project Abstract

We have discovered that integration tests for ink! contracts lack some of the functionalities, or present implementation differences, when compared to E2E testing. Integration tests run significantly faster than E2E (end-to-end) tests. If a full range of functionalities were provided, it could reduce testing and QA times. Our intention is to flatten the anvil of ink! integration testing. With a properly flattened anvil, quality tools can be built.

We have already conducted a comprehensive analysis to identify any missing functionalities in integration tests and implementation differences with E2E tests, and to propose and develop new testing features based on our findings. This analysis was carried as part of a previous grants link1 and link2. As part of the latter grant, we have developed and resolved the issues with some of the functions with implementation differences or missing implementations: default_accounts(), set_contract_storage() and instantiate_contract().

In this grant proposal, we aim to resolve the issues identified in the previous milestones.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or Polkadot (USDC & USDT) or BTC address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

Added to sections Team Code Repos the [`on-ink_implementations`](https://github.com/CoinFabrik/on-ink_implementations) repository. We will be performing our developments of the missing functions in this repository.
@keeganquigley
Copy link
Contributor

Thanks for the application @valeriacaracciolo and we appreciate the work you've done so far.

  • Since one of your deliverables is to contribute to the ink! project repo, just curious if you've had any PRs successfully merged yet thus far? I can't find the GH handles for your current Rust engineers.

  • Will this be the last grant that you intend to seek, or otherwise how do you plan to fund the project moving forward?

@keeganquigley keeganquigley added the changes requested The team needs to clarify a few things first. label Nov 1, 2023
@keeganquigley keeganquigley self-assigned this Nov 1, 2023
@valeriacaracciolo
Copy link
Contributor Author

Hello @keeganquigley thank you for your review.

To your questions: we have already submitted the following PRs, none of them have already been merged. We are evaluating failing checks in each PR and opening conversations with the reviewers to resolve them.

Default accounts in integration test implementation #1955
use-ink/ink#1955
By @ramirez7358

Missing Limitation for Storage Size on Integration Testing for set_contract_storage() #1961
use-ink/ink#1961
By @ramirez7358

Implemented instantiate_contract() for integration testing environment #1963
use-ink/ink#1963
By @Helios-vmg

Add workspace initial support #1358
use-ink/cargo-contract#1358
This PR was started by @aon and continued by @faculerena

Add workspace-enabled example contracts #44
use-ink/ink-examples#44
This PR was started by @aon and continued by @faculerena

Regarding the following steps, this is the first half of the work we identified in #1875
We have already submitted a new application for the 2nd half - see #2081
Beyond that, we are looking forward to starting to research automation testing tools for ink!

Please let me know if you have further comments. Best,

@keeganquigley
Copy link
Contributor

Thanks @valeriacaracciolo I will go ahead and mark it ready for review and ping the rest of the committee.

@keeganquigley keeganquigley added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Nov 6, 2023
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the application. I have one initial question: Have you considered already applying for treasuring funding? No project should rely only on the grants program for funding, and even common good projects should at some point be funded via the on-chain treasury.

@valeriacaracciolo
Copy link
Contributor Author

Thank you @Noc2 for your review. This application serves as the third phase following the identified work on #1875 which was partially executed on #1980. Subsequently, our plan is to dive into research on tools for automating testing. Perhaps for that following stage, it might be prudent to search for other sources of funding. What do you think?

@keeganquigley following up on your question, one of our PRs was successfully merged
Add workspace initial support #1358
paritytech/cargo-contract#1358
Started by @aon and continued by @Facu

We are still waiting on the remaining requests.

@keeganquigley
Copy link
Contributor

Thanks @valeriacaracciolo I see there are a lot of pending checks remaining on the PRs. At this stage I think it might make sense to wait for these PRs to be addressed/merged before accepting more work, otherwise there's the possibility that further contributions might not get merged.

Copy link
Collaborator

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@valeriacaracciolo In my opinion it'd be good to look for alternative funding at this point, since we've already signed 4 grants with your team. Note that besides treasury funding the newly launched decentralized futures program might be an option as well here.

@valeriacaracciolo
Copy link
Contributor Author

Hello, @keeganquigley and @takahser I appreciate your review.

@keeganquigley , we're actively engaged with the ink! and have sought a timeline for PR reviews. Unfortunately, they appear to be swamped with their workload, and our options are limited at this point. We would be immensely helpful if you guys from the Grants Team could contribute to advancing this process.

@takahser , I want to clarify that this technically isn't our fourth grant; it's our second project. Following the Grant Team's advice for expedited reviews or approval, we split the projects into different requests. Initially, we proposed for the execution of this analysis an 8-week scope, received three approvals, and after consulting with @Noc2 we divided the project.

Time went by and by now we have already completed the delivery for this specific request (Milestone 3, from our point of view). We're eager to showcase our work to you. Could you please guide us on the next steps? Your prompt response would be greatly appreciated. As I am saying, we are ready to complete the Delivery.

@takahser
Copy link
Collaborator

takahser commented Nov 24, 2023

@valeriacaracciolo again, I believe that this would be a good point in time to consider alternative funding. Because as already indicated by others, ideally projects don't rely solely on our program for funding. At some point we'd expect to see some traction and validation for the demand of whatever project we've funded within the community.

We would be immensely helpful if you guys from the Grants Team could contribute to advancing this process.

I can try to push here; could you provide me with the list of PRs that are ready to being merged?

I want to clarify that this technically isn't our fourth grant

AFAIK we did in fact sign 4 grants already - even if some of them refer to the same project eventually:

  1. Scout CoinFabrik #1490
  2. ScoutCoinFabrik: Milestone 2 #1666
  3. Create CoinFabrik_On_Ink_Integration_Tests.md #1875
  4. Create CoinFabrik_On_Ink_Integration_Tests_2.md #1980

To iterate on this: My main issue here is that we risk funding a project that doesn't bring enough value to the community, as for me it's difficult to judge whether your project will be widely used. That's why I'd prefer to see some kind of community validation. If you chose treasury or the decentralised futures program, the community would be more involved.

@valeriacaracciolo
Copy link
Contributor Author

Surely @takahser we appreciate your help. These are the pending PRs:

Default accounts in integration test implementation
paritytech/ink#1955
By @ramirez7358

Missing Limitation for Storage Size on Integration Testing for set_contract_storage()
paritytech/ink#1961
By @ramirez7358

Implemented instantiate_contract() for integration testing environment paritytech/ink#1988 [Replaces #1963, includes new developments related to M3]
By @Helios-vmg

Add workspace-enabled example contracts
paritytech/ink-examples#52 [Replaces #44]
This PR was started by @aon and continued by @faculerena and @tenuki.

In terms of community validation, before applying I consulted with Sam Ruberti, who was overseeing ink!cubator at the time, and he recognized the value of these improvements. Since ink!cubator lacked resources, we came back here, trusting in the Grants Team to make this happen. Originally, we applied for a 2-week Analysis + 4-week Execution, with the option for an extension if additional cases arose. The Grants Team advised starting with the Analysis phase, which we followed. After completing the analysis, we realized an additional 4 weeks were necessary, so we applied for an extension to 8 weeks. The Grants Team was having an extraordinary demand at the time (as I understood) so gathering the Level 3 5 approvals was taking longer than expected and the initial delivery was ready (including an extra 3 weeks of uncompensated work due to our underestimated timeline), so the Grants Team suggested splitting the grant, to deliver that second milestone, with the plan to later apply for the final one. This presentation represents that final milestone, which is now ready for delivery. This is why at this point the suggestion to search for alternate funding is puzzling to me. We kept on working to complete this delivery based on those interactions.

I don’t believe we will apply for another grant - at least not in the near future. This work was identified when building Scout. By now, we don’t believe much additional work is needed.

@semuelle semuelle added the admin-review This application requires a review from an admin. label Nov 29, 2023
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application, @valeriacaracciolo, and sorry for the delay. I agree with @takahser that validation from the community and ink! team would be great. That being said, I'd be happy to bring this project to a close.

Also, sorry for the inconvenience, but we just started requiring KYC/KYB checks for all (potential) grantees. Could you please provide the information outlined under this link? Let me know if you have any questions or issues.

Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your thorough answers @valeriacaracciolo since your team does good work, I'm happy to sign this last grant to finish the missing implementations but then I think after that it's best to look for alternative sources of funding.

@Noc2 Noc2 merged commit 736d4e3 into w3f:master Dec 4, 2023
13 of 14 checks passed
Copy link
Contributor

github-actions bot commented Dec 4, 2023

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@valeriacaracciolo
Copy link
Contributor Author

Thank you @keeganquigley @Noc2 @semuelle for your evaluation. We will move ahead with presenting the delivery this week. Best,

@keeganquigley
Copy link
Contributor

Thanks @valeriacaracciolo could you also still have your team complete the KYB/KYC checks?

@valeriacaracciolo
Copy link
Contributor Author

Yes, @keeganquigley I've completed as much as I could, now waiting for our CEO to complete the identification part - I couldn't find a way to do it for him. In any case, it should be completed shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
admin-review This application requires a review from an admin. ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants