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

OpenBrush follow-up Grant update #8

Merged
merged 1 commit into from
Dec 8, 2021

Conversation

xgreenx
Copy link

@xgreenx xgreenx commented Dec 8, 2021

Increased the time and cost for milestones 3(delivered) and 4(in progress).
Added additional deliveries in milestone 4.

Milestone 3 - Delivered

During the third milestone, we: learned how ink's macros work; analyzed the ink's generated code; investigated the wasm code bloat of the contract. It took around: 78 hours.
Based on the results, we've done the next changes:

  • Implementation of SimpleHashMap and updating of several examples to check the size: 20h. (we only provided the report about our results. ink! team implemented that by themselves)
  • Rework dispatch logic in ink!. Initially, it was a report to show the benefits of refactoring. It takes 16h to implement that in the draft variant. After the change related to Result in ink! that change was actual and we implemented that fully, finalization took 16h. Later during the analysis of WASM, we found that we can optimize the decoding process during dispatching too. So we implemented an additional part. It took 24h. The change generated huge profit and we decided to implement that change fully. Finalization of the change takes 24h. Total time: 80h (The change on Review, so it will require additional changes in future)
  • We found that delegator's sub-contracts takes a lot of space, we found the reason and did a change: 4h
  • Testing of different compilation flags and that PR: 13h
  • Optimize decode for [T; N]. Version with manual implementation of Decode::decode for AccountId: 1h. But in the PR we decided to implement that on parity-scale-codec level. Total time: 20h
  • Testing of different combination of #[inline], #[inline(always)] and #[inline(never)] in ink! created that change: 12h
  • After investigation, we got a more deep understanding of what takes most of the space in contracts and refactored contracts in OpenBrush to take less space: 40h

The total time is: 227h(General) + 40h(OpenBrush)

In the milestone specify 3 weeks for 1.5 developers - 180h - 9,000 USD

But it took more time than expected, so we increased that up to 4 weeks and 12,000 USD.

Milestone 4 - In progress

We got feedbacks from users of the OpenBrush and added 3 new deliveries in milestone 4. Each delivery contains a big refactoring, so we increased the time and cost up to 4.5 weeks and 22,500 USD.

Added additional deliveries in milestone 4.
@xgreenx xgreenx self-assigned this Dec 8, 2021
@0xMarkian 0xMarkian merged commit d5a93f5 into master Dec 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants