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 #735

Merged
merged 6 commits into from
Dec 9, 2021
Merged

Conversation

0xMarkian
Copy link
Contributor

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.

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.

Those seem like useful additions to me.

@Noc2 Noc2 self-assigned this Dec 9, 2021
@Noc2 Noc2 added the amendment This PR proposes changes to an existing application. label Dec 9, 2021
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 for creating the PR. Looks good to me.

Copy link
Contributor

@mmagician mmagician left a comment

Choose a reason for hiding this comment

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

LGTM. I've gone over some of your contributions - thanks for the great work!

@mmagician mmagician merged commit 7cfaded into w3f:master Dec 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
amendment This PR proposes changes to an existing application.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants