From 183cfade8bf210c1acfd9d51bebb6a1d2a792750 Mon Sep 17 00:00:00 2001 From: xgreenx Date: Fri, 16 Jul 2021 18:19:55 +0300 Subject: [PATCH 1/9] Openbrush Grant Application from Supercolony --- applications/openbrush.md | 269 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 applications/openbrush.md diff --git a/applications/openbrush.md b/applications/openbrush.md new file mode 100644 index 00000000000..62d3b2b6cd7 --- /dev/null +++ b/applications/openbrush.md @@ -0,0 +1,269 @@ +# W3F Open Grant Proposal + +* **Project Name:** [OpenBrush](https://github.com/Supercolony-net/openbrush-contracts) +* **Team Name:** [SuperColony](https://github.com/Supercolony-net) +* **Payment Address:** ERC 20 ADDRESS: +0x112C9eDB60D16f9Cf501721b03B9D0F275682213 + +## Project Overview :page_facing_up: +Standard proposal - https://github.com/w3f/PSPs/pull/22 + +### Overview +Our mission within this project is to make ink! usable, and achieve its wide adoption. + +In order to be successful with this mission, we have outlined several steps that need to be taken. +1. OpenBrush is an open source library for secure smart-contract development on ink! as +[OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts) on Solidity. + +2. Openbrush should serve as a starting point for every developer entering a Polkadot(ink!) ecosystem. +3. In addition to having a standard implementation, Openbrush should also have macroses to simplify and abstract up applications(smart contracts) development. +4. In order for Openbrush to work and fulfill it's purpose, several changes must be made/several blockers overcome in `ink!` and substrate's `contract-pallet`. We are commited to do that in the context of this project. + +This project is important to us as it's our strategic goal to accelerate Polkadot ecosystem development. Applications on Ink! are a huge part of it. + +### Project Details +The open brush should be the starting point for smart contract developers from Ethereum. +It will contain the same folder structure as openzeppelin and documentation that describes the differences +between ink! and Solidity, how developers should change their mindset, how to design their project, +how to deploy contract and test them, etc. + +The library will provide the default implementation of standard contracts, which +can be customized by developers. Also, the library will provide additional +features which are not available in ink!(and our team will try to integrate them into ink! later), +but which can be useful for development. + +Our team aims to improve the smart-contract development experience, +and wants to improve ink!, make it more user-friendly and to popularize it. + +### Ecosystem Fit + +* Where and how does your project fit into the ecosystem? + +The necessity of a solution like this seemed rather urgent to us when we started to work with ink!. We quikcly realized that we strategically would like to become the company that builds in the ecosystem. We decided that we want to commit and help ink! become widespread and used. Right now usability of ink! is very low. Openbrush is dedicated to change that. + +* Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Our target audience are smart contract developers on ink!. + +* What need(s) does your project meet? + +Our project is the starting point for smart contract developers, coming from other ecosystems like Ethereum, and it aims to improve smart contract development on ink!. + +* Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +We are only aware about one project [metis](https://github.com/patractlabs/metis). We partnered with them to collaborate on the ecosystem as we have the same commmon end goal. + +* If so, how is your project different? + +Our project isn't restricted to only providing the base implementation of contracts. +Objectively speaking based on what we know, and what was listed in their proposal here are key differences: +- At the moment, Openbrush is in far more advanced stage, Developer Experience of our library is significantly higher +- Openbrush aims to propose and take care of standards for ink! (We've already created [PSP](https://github.com/w3f/PSPs/pull/22) for fungible tokens and we plan to cotinue doing so) +- Openbrush aims to be a starting point for a smart contract developer, provide documentation. +- Contribute to ink! and substrate `contract-pallet` to improve the smart-contract development experience(add new features, fix bugs, etc). + +## Team :busts_in_silhouette: + +### Team members + +**Markian Ivanichok** (Founder & Blockchain Engineer) +**Ian Arden** (Advisor) +**Hartej Sawhney** (Advisor) +**Dmitry Kryshtal** (Marketing and BD) +**Green Baneling** (Blockchain Core Rust Engineer) +**Sven Seven** (Fullstack Rust Engineer) +**Varg Vikernes** (Blockchain Rust Engineer) +**Vasyl Novak** (Researcher) +**Lera Laricheva** (Designer) + +### Contact + +* **Contact Name:** Dmitry Kryshtal +* **Contact Email:** dmitry.kryshtal@supercolony.net +* **Website:** [supercolony.net](supercolony.net) + +### Legal Structure + +* **Registered Address:** Dubai Silicon Oasis, DDP, Building A2, Dubai, UAE. +* **Registered Legal Entity:** Mempool Ventures FZCO, operating under Supercolony brand + +### Team's experience + +**Markian Ivanichok** +CEO of Supercolony, +Blockchain enterpreneur, Software Engineer. +Started my engineering carrer back when I was 15. Since then, I developed and got a lot of experience in engineerig and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded and invested in Sector F, one of the top consulting companies in Ukraine that helps enterpreneers to move faster. +Since the beginning of this year, co-founded and led Supercolony, a Polkadot venture studio that is dedicated to building and creating of Polkadot’s ecosystem. + +**Hartej Sawhney** +Co-Founder and President of Hosho, the leading blockchain, and security company that conducts smart contract audits and penetration testing of exchanges and blockchain protocols. He is an advisor at crypto hedge fund, Pink Sky Capital, Krypto.io, and BlitzPredict.io. + + +**Dmitry Kryshtal** +Head of Marketing and BD +8 years experienced T-Shaped marketer with a deeper understanding of analytics, creativity and strategy. Opinion leader in the cryptocurrency environment since 2017. Co-owner of the creative agency Citadel. Host of his own program on the biggest crypto-related YouTube channel in CIS – S3XYBTC. + +**Green Baneling** +Blockchain Core Developer +Primary programming languages are: C++, Go, Rust + +Finished the faculty of applied mathematic(Master of degree). Participated in programming competitions during education. Has worked as a programmer for around 6 years. + +Was a freelancer the first year, creating an application for IOS(Swift), creating modules for the desktop application on C++. After that, spent 2 years in a company which created software for TV devices(C++/ Haxe). After which, for 3 years, worked on different blockchain projects(C++/Go/Rust/Solidity/Js). + +**Varg Vikernes** +Junior Blockchain Engineer, +Worked in Big Data prior to blockchain, has now switched to developing on Polkadot and doesn’t regret it one bit. + +**Sven Seven** +Fullstack Developer +Software engineer with prod experience since 2015. Master degree Information Security. Has worked in finance, e-commerce, networking domains as full-stack dev. Programming languages are JS, Java, Python, Rust, C++ . Blockchain dev since 2021. + +**Vasyl Novak** +Researcher +BS in economics, MS in Quantitative Finance & Actuarial Science, experienced in, operations management, IB, financial and stratedy consulting, including crypto, passed CFA II level + +**Lera Laricheva** +Creative Designer +"In 2019 I started to get involved in the IT area. At first I tried myself as a developer, and eventually I went away from that, to design. At first I tried myself in design, then when I saw the result, and understood that I liked it, so I found courses and got a diploma. Then I tried freelancing, like many other beginners, but came to the conclusion that the working for a company is much better, and that is where a person can get a tremendous amount of experience, while constantly evolving, because you have to keep up with the tasks, and most importantly to understand them and try to implement them correctly. At the same time, it is my third year studying in Karazin, specialty marketing." + +### Team Code Repos + +* https://github.com/Supercolony-net + + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +* https://github.com/VargSupercolony +* https://github.com/sventime +* https://github.com/xgreenx +* https://github.com/PierreOssun + +### Team LinkedIn Profiles (if available) + +* https://www.linkedin.com/in/mivanichok/ +* https://www.linkedin.com/in/ian-arden/ +* https://www.linkedin.com/in/hartej/ +* https://www.linkedin.com/in/dmitry-kryshtal/ +* https://www.linkedin.com/in/valeria-laricheva/ + +## Development Status :open_book: + +[The project](https://github.com/Supercolony-net/openbrush-contracts) is already in a solid pre-release state. + +PSP - https://github.com/w3f/PSPs/pull/22 + +## Development Roadmap :nut_and_bolt: + +### Overview + +**We have decided to describe a full roadmap of an Openbrush here, with estimates. However the funding we request at this stage is a maximum amount of 30k USD.** +At this point of time Milestone 1 and 2 are finished and 3rd is in progress. + +* **Total Estimated Duration:** 6 months +* **Full-Time Equivalent (FTE):** 2.5 +* **Total Costs:** 105,000 USD + +### Milestone 1 - Implement reusable basic contracts in ink!, similar to Openzeppelin + +* **Estimated duration:** 2 weeks +* **FTE:** 2.5 +* **Costs:** 10,000 USD + +| Number | Deliverable | Specification | +| ----- | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will enhance inline documentation, and create a tutorial on how to import/customize contracts. | +| 0c. | Testing Guide | We will add unit tests to cover all basic logic and integration tests with Redspot, to verify that all works via `contract-pallet` | +| 1a. | Fungible token(Erc20) | We will implement reusable [Erc20](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC20) analog on ink! | +| 1b. | Non Fungible token(Erc721) | We will implement reusable [Erc721](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC721) analog on ink! | +| 1b. | Multi token(Erc1155) | We will implement reusable [Erc1155](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC1155) analog on ink! | +| 2a. | AccessControl | We will implement reusable [AccessControl](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/AccessControl.sol) analog on ink! | +| 2b. | Ownable | We will implement reusable [Ownable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol) analog on ink! | + +### Milestone 2 - Simplify usage of library. Add a new features to extend ink! + +* **Estimated duration:** 4 weeks +* **FTE:** 2.5 +* **Costs:** 20,000 USD + +| Number | Deliverable | Specification | +| ----- | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will enhance inline documentation, update previous documentation based on simplifications, documentation for new features. | +| 0c. | Testing Guide | We will test macros, update tests according to new features, simplifications. | +| 1. | Remove boilerplate code | We will provide a macro which will allow to remove boilerplate during usage of library(Library provides implementation on rust level in internal trait. User must reuse internal implementation with ink! messages. Our macro will simplify it). It will simplify the code structure and usage. | +| 2. | Derive for storages | We will provide a derive macro to generate implementation for storage's structs. It will simplify integration of fields inside of struct and implementation of storage's traits for that fields. | +| 3. | Support default implementation in external traits | We will add mnemonic support of default implementations inside of trait definition(traits defined via `#[ink::trait_definition]`). It is mnemonic, because under the hood we will generate internal trait with default implementation that will be used in external trait. | + +👇 We are currently here +### Milestone 3. Pre-release - Standardization of tokens contracts. Modifiers. Providing macros to define own library. + +* **Estimated Duration:** 4 weeks(+ time for PSP approving) +* **FTE:** 2.5 +* **Costs:** 20,000 USD + +| Number | Deliverable | Specification | +| ----- | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide inline documentation for macros, create a tutorial on how to use macros in your own project, with a detailed description of how it works inside. | +| 0c. | Testing Guide | We will add more tests to cover all macros, update tests according to new changes. | +| 1. | Create Proposal for Fungible token | We will create a proposal for standardization of Erc20 token in case of ink! and `contract-pallet`. Based on the final decision regarding the proposal update the implementation in library. | +| 2. | Support of modifiers | We will add support of modifiers, like in Solidity. User will be able to mark some function to use modifiers and it will simplify the code. | +| 3. | ReentrancyGuard | We will add implementation of [ReentrancyGuard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) | +| 4. | Create Proposal for Non Fungible token and Multi token | We will create proposals for NFT and multi token, when proposal for FT token will be approved. Based on the decisions of these approves, we will update implementation in library. | + +### Milestone 4. Release - Implement extensions for contracts. Contribution to ink! + +* **Estimated Duration:** 6 weeks(time depends on conversations in ink! repository) +* **FTE:** 2.5 +* **Costs:** 20,000 USD + +| Number | Deliverable | Specification | +| ----- | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide inline documentation, example of usage of extensions. | +| 0c. | Testing Guide | We will add tests for extensions and for a new changes from ink! side. | +| 1. | Implement extensions for tokens | We will implement extensions for Erc20, Erc721 and Erc1155 tokens. | +| 2. | Implement additional useful contract | We will implement [PaymentSplitter](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/finance/PaymentSplitter.sol), [TimelockController](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol) and etc. | +| 3. | Contribute to ink! with fixing of events | We will help to fix the [issue](https://github.com/paritytech/ink/issues/809) with events. | +| 4. | Add support of default implementation in trait definition on ink! level | We will help with the support of default implementation inside of trait definition. It will require discussions with the ink! team to define the best way how to implement that without conflicts with their future changes. | + +### Milestone 5 - Support of upgradable contracts + +* **Estimated Duration:** 7 weeks(time depends on conversations in ink! and `contract-pallet` repositories) +* **FTE:** 2.5 +* **Costs:** 35,000 USD + +| Number | Deliverable | Specification | +| ----- | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide inline documentation, example of upgradable contracts. | +| 0c. | Testing Guide | We will add tests to cover upgradability of contracts. | +| 1. | Implement delegated call | We will find and provide the idea of how [delegeted call](https://docs.soliditylang.org/en/v0.4.21/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries) can be implemented in `contract-pallet`. Help with it's implementation. | +| 2. | Help with fallback function | We will help with implementation of [fallback function](https://github.com/paritytech/ink/issues/739) if it is not ready. | +| 3. | Creation of Proxy contracts | We will provide an alternative of [Proxy](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/proxy) contracts. | +| 4. | Documentation and examples | We will add examples and documentation on how the upgradable contract must be implemented. | + +## Future Plans + +We're going to make strong impact on the community, making ink! simple and convenient for developers. +- Experise sharing + - Covering all crypto-related news websites, creating workshops online, handling all relevant forums and social networks +- Becoming an entry point for a developer starting in ink!/Wasm + - Nonstop updating our FAQ and knowledge base, creating educational content (text\video) +- Marketing and PR strategy + - Organizing hackatons, Developing growthhacking strategy for involving developers from different channels + + +## Additional Information :heavy_plus_sign: +So far we have taken it upon ourselves to fund this project. +In the roadmap you can see what was already done, currently we're on the 3-rd milestone. + +We haven’t applied for any other grant programs. + + +**How did you hear about the Grants Program?** Web3 Foundation Website / Medium / Twitter / Element / Announcement by another team / personal recommendation / etc. + +Rersonal recommendation. + From ce85216dc232a2236838348e21e7f5317a6cc6e1 Mon Sep 17 00:00:00 2001 From: xgreenx Date: Tue, 20 Jul 2021 19:27:33 +0300 Subject: [PATCH 2/9] Move some tasks from milestone 3 to milestone 2. Removed money for first milestone. Updated description of Grant and roadmap. --- applications/openbrush.md | 57 +++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 62d3b2b6cd7..ae2e042bec2 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -157,18 +157,19 @@ PSP - https://github.com/w3f/PSPs/pull/22 ### Overview -**We have decided to describe a full roadmap of an Openbrush here, with estimates. However the funding we request at this stage is a maximum amount of 30k USD.** -At this point of time Milestone 1 and 2 are finished and 3rd is in progress. +**We have decided to describe a full roadmap of an Openbrush here, with estimates. However, the funding we request at this stage is only for the second milestone.** +The first milestone already has been done. Funds for the next milestones will be requested in the next grant. -* **Total Estimated Duration:** 6 months +* **Total Estimated Duration:** 6 weeks * **Full-Time Equivalent (FTE):** 2.5 -* **Total Costs:** 105,000 USD +* **Total Costs:** 29,999 USD -### Milestone 1 - Implement reusable basic contracts in ink!, similar to Openzeppelin +### Previous work + +#### Milestone 1 - Implement reusable basic contracts in ink!, similar to Openzeppelin * **Estimated duration:** 2 weeks * **FTE:** 2.5 -* **Costs:** 10,000 USD | Number | Deliverable | Specification | | ----- | ----------- | ------------- | @@ -181,11 +182,13 @@ At this point of time Milestone 1 and 2 are finished and 3rd is in progress. | 2a. | AccessControl | We will implement reusable [AccessControl](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/AccessControl.sol) analog on ink! | | 2b. | Ownable | We will implement reusable [Ownable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol) analog on ink! | -### Milestone 2 - Simplify usage of library. Add a new features to extend ink! +### Current work + +#### Milestone 2 - Simplify usage of library. Add a new features to extend ink! Providing macros to define own library. -* **Estimated duration:** 4 weeks +* **Estimated duration:** 6 weeks * **FTE:** 2.5 -* **Costs:** 20,000 USD +* **Costs:** 29,999 USD | Number | Deliverable | Specification | | ----- | ----------- | ------------- | @@ -195,9 +198,12 @@ At this point of time Milestone 1 and 2 are finished and 3rd is in progress. | 1. | Remove boilerplate code | We will provide a macro which will allow to remove boilerplate during usage of library(Library provides implementation on rust level in internal trait. User must reuse internal implementation with ink! messages. Our macro will simplify it). It will simplify the code structure and usage. | | 2. | Derive for storages | We will provide a derive macro to generate implementation for storage's structs. It will simplify integration of fields inside of struct and implementation of storage's traits for that fields. | | 3. | Support default implementation in external traits | We will add mnemonic support of default implementations inside of trait definition(traits defined via `#[ink::trait_definition]`). It is mnemonic, because under the hood we will generate internal trait with default implementation that will be used in external trait. | +| 4. | Support of modifiers | We will add support of modifiers, like in Solidity. User will be able to mark some function to use modifiers and it will simplify the code. | +| 5. | ReentrancyGuard | We will add implementation of [ReentrancyGuard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) | -👇 We are currently here -### Milestone 3. Pre-release - Standardization of tokens contracts. Modifiers. Providing macros to define own library. +### Future work + +#### Milestone 3. Pre-release - Standardization of tokens contracts. Implement extensions for contracts. Documentation. * **Estimated Duration:** 4 weeks(+ time for PSP approving) * **FTE:** 2.5 @@ -209,27 +215,26 @@ At this point of time Milestone 1 and 2 are finished and 3rd is in progress. | 0b. | Documentation | We will provide inline documentation for macros, create a tutorial on how to use macros in your own project, with a detailed description of how it works inside. | | 0c. | Testing Guide | We will add more tests to cover all macros, update tests according to new changes. | | 1. | Create Proposal for Fungible token | We will create a proposal for standardization of Erc20 token in case of ink! and `contract-pallet`. Based on the final decision regarding the proposal update the implementation in library. | -| 2. | Support of modifiers | We will add support of modifiers, like in Solidity. User will be able to mark some function to use modifiers and it will simplify the code. | -| 3. | ReentrancyGuard | We will add implementation of [ReentrancyGuard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) | +| 2. | Implement extensions for tokens | We will implement extensions for Erc20, Erc721 and Erc1155 tokens. | +| 3. | Implement additional useful contract | We will implement [PaymentSplitter](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/finance/PaymentSplitter.sol), [TimelockController](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol) and etc. | | 4. | Create Proposal for Non Fungible token and Multi token | We will create proposals for NFT and multi token, when proposal for FT token will be approved. Based on the decisions of these approves, we will update implementation in library. | -### Milestone 4. Release - Implement extensions for contracts. Contribution to ink! +#### Milestone 4. Release - Contribution to ink! -* **Estimated Duration:** 6 weeks(time depends on conversations in ink! repository) -* **FTE:** 2.5 -* **Costs:** 20,000 USD +* **Estimated Duration:** 4 weeks(time depends on conversations in ink! repository) +* **FTE:** 2 +* **Costs:** 15,000 USD | Number | Deliverable | Specification | | ----- | ----------- | ------------- | | 0a. | License | MIT | | 0b. | Documentation | We will provide inline documentation, example of usage of extensions. | | 0c. | Testing Guide | We will add tests for extensions and for a new changes from ink! side. | -| 1. | Implement extensions for tokens | We will implement extensions for Erc20, Erc721 and Erc1155 tokens. | -| 2. | Implement additional useful contract | We will implement [PaymentSplitter](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/finance/PaymentSplitter.sol), [TimelockController](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol) and etc. | -| 3. | Contribute to ink! with fixing of events | We will help to fix the [issue](https://github.com/paritytech/ink/issues/809) with events. | -| 4. | Add support of default implementation in trait definition on ink! level | We will help with the support of default implementation inside of trait definition. It will require discussions with the ink! team to define the best way how to implement that without conflicts with their future changes. | +| 1. | Contribute to ink! with fixing of events | We will help to fix the [issue](https://github.com/paritytech/ink/issues/809) with events. | +| 2. | Add support of default implementation in trait definition on ink! level | We will help with the support of default implementation inside of trait definition. It will require discussions with the ink! team to define the best way how to implement that without conflicts with their future changes. | +| 3. | Refactor of implementation according changes in ink! | After changes in ink! we will refactor the code of library. | -### Milestone 5 - Support of upgradable contracts +#### Milestone 5 - Support of upgradable contracts * **Estimated Duration:** 7 weeks(time depends on conversations in ink! and `contract-pallet` repositories) * **FTE:** 2.5 @@ -248,22 +253,22 @@ At this point of time Milestone 1 and 2 are finished and 3rd is in progress. ## Future Plans We're going to make strong impact on the community, making ink! simple and convenient for developers. -- Experise sharing +- Expertise sharing - Covering all crypto-related news websites, creating workshops online, handling all relevant forums and social networks - Becoming an entry point for a developer starting in ink!/Wasm - Nonstop updating our FAQ and knowledge base, creating educational content (text\video) - Marketing and PR strategy - - Organizing hackatons, Developing growthhacking strategy for involving developers from different channels + - Organizing hackathons, Developing growthhacking strategy for involving developers from different channels ## Additional Information :heavy_plus_sign: So far we have taken it upon ourselves to fund this project. -In the roadmap you can see what was already done, currently we're on the 3-rd milestone. +In the roadmap you can see what was already done, currently we're on the 2-rd milestone. We haven’t applied for any other grant programs. **How did you hear about the Grants Program?** Web3 Foundation Website / Medium / Twitter / Element / Announcement by another team / personal recommendation / etc. -Rersonal recommendation. +Personal recommendation. From 80fd47f2a0a733bce98e3467d8a0dac3fa718a7f Mon Sep 17 00:00:00 2001 From: Markian | Supercolony Date: Tue, 20 Jul 2021 20:53:54 +0300 Subject: [PATCH 3/9] Update openbrush.md --- applications/openbrush.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index ae2e042bec2..4dfe798cf64 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -182,7 +182,7 @@ The first milestone already has been done. Funds for the next milestones will be | 2a. | AccessControl | We will implement reusable [AccessControl](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/AccessControl.sol) analog on ink! | | 2b. | Ownable | We will implement reusable [Ownable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol) analog on ink! | -### Current work +### Current work - Scope of this Grant #### Milestone 2 - Simplify usage of library. Add a new features to extend ink! Providing macros to define own library. From 5f89ae2d27ee4975b91b6087084de149eba123ab Mon Sep 17 00:00:00 2001 From: Markian | Supercolony Date: Tue, 20 Jul 2021 21:06:02 +0300 Subject: [PATCH 4/9] Update openbrush.md --- applications/openbrush.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 4dfe798cf64..885f91d3e41 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -184,7 +184,7 @@ The first milestone already has been done. Funds for the next milestones will be ### Current work - Scope of this Grant -#### Milestone 2 - Simplify usage of library. Add a new features to extend ink! Providing macros to define own library. +#### Milestone 2 - Simplify usage of library. Add a new features which extend ink!. Provide macroses that will allow creation of your own base implementation. * **Estimated duration:** 6 weeks * **FTE:** 2.5 From 23cd2e847fbf222ed2cc83d8baddddc51a4d18bb Mon Sep 17 00:00:00 2001 From: xgreenx Date: Wed, 21 Jul 2021 17:39:24 +0300 Subject: [PATCH 5/9] Moved milestone to current scope with zero cost. --- applications/openbrush.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 885f91d3e41..6f4e2f08065 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -164,12 +164,13 @@ The first milestone already has been done. Funds for the next milestones will be * **Full-Time Equivalent (FTE):** 2.5 * **Total Costs:** 29,999 USD -### Previous work +### Current work - Scope of this Grant #### Milestone 1 - Implement reusable basic contracts in ink!, similar to Openzeppelin * **Estimated duration:** 2 weeks * **FTE:** 2.5 +* **Costs:** 0 USD | Number | Deliverable | Specification | | ----- | ----------- | ------------- | @@ -182,7 +183,6 @@ The first milestone already has been done. Funds for the next milestones will be | 2a. | AccessControl | We will implement reusable [AccessControl](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/AccessControl.sol) analog on ink! | | 2b. | Ownable | We will implement reusable [Ownable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol) analog on ink! | -### Current work - Scope of this Grant #### Milestone 2 - Simplify usage of library. Add a new features which extend ink!. Provide macroses that will allow creation of your own base implementation. From 5501ec7bd4c4f94776004945def4b8d584e015e7 Mon Sep 17 00:00:00 2001 From: Markian | Supercolony Date: Wed, 21 Jul 2021 18:06:34 +0300 Subject: [PATCH 6/9] Update openbrush.md --- applications/openbrush.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 6f4e2f08065..82a0369e682 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -170,7 +170,7 @@ The first milestone already has been done. Funds for the next milestones will be * **Estimated duration:** 2 weeks * **FTE:** 2.5 -* **Costs:** 0 USD +* **Costs:** 10,000 USD (this cost is covered by Supercolony) | Number | Deliverable | Specification | | ----- | ----------- | ------------- | From 2ffa0556a0dfd0e8797e9e17454b076ff64d9841 Mon Sep 17 00:00:00 2001 From: Markian | Supercolony Date: Wed, 21 Jul 2021 18:44:46 +0300 Subject: [PATCH 7/9] Update applications/openbrush.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Aleixo Sánchez <15819210+alxs@users.noreply.github.com> --- applications/openbrush.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 82a0369e682..f153b945e62 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -170,7 +170,7 @@ The first milestone already has been done. Funds for the next milestones will be * **Estimated duration:** 2 weeks * **FTE:** 2.5 -* **Costs:** 10,000 USD (this cost is covered by Supercolony) +* **Costs:** ~~10,000 USD~~ (this cost is covered by Supercolony) | Number | Deliverable | Specification | | ----- | ----------- | ------------- | @@ -271,4 +271,3 @@ We haven’t applied for any other grant programs. **How did you hear about the Grants Program?** Web3 Foundation Website / Medium / Twitter / Element / Announcement by another team / personal recommendation / etc. Personal recommendation. - From 258118bf0bc5ab9a6e7ae94a3087a1feec1fd876 Mon Sep 17 00:00:00 2001 From: xgreenx Date: Thu, 22 Jul 2021 18:13:31 +0300 Subject: [PATCH 8/9] Moved Support fo additional contracts from milestone 3 to milestone 2. --- applications/openbrush.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 82a0369e682..363da5eb22d 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -160,7 +160,7 @@ PSP - https://github.com/w3f/PSPs/pull/22 **We have decided to describe a full roadmap of an Openbrush here, with estimates. However, the funding we request at this stage is only for the second milestone.** The first milestone already has been done. Funds for the next milestones will be requested in the next grant. -* **Total Estimated Duration:** 6 weeks +* **Total Estimated Duration:** 7 weeks * **Full-Time Equivalent (FTE):** 2.5 * **Total Costs:** 29,999 USD @@ -186,7 +186,7 @@ The first milestone already has been done. Funds for the next milestones will be #### Milestone 2 - Simplify usage of library. Add a new features which extend ink!. Provide macroses that will allow creation of your own base implementation. -* **Estimated duration:** 6 weeks +* **Estimated duration:** 7 weeks * **FTE:** 2.5 * **Costs:** 29,999 USD @@ -200,14 +200,15 @@ The first milestone already has been done. Funds for the next milestones will be | 3. | Support default implementation in external traits | We will add mnemonic support of default implementations inside of trait definition(traits defined via `#[ink::trait_definition]`). It is mnemonic, because under the hood we will generate internal trait with default implementation that will be used in external trait. | | 4. | Support of modifiers | We will add support of modifiers, like in Solidity. User will be able to mark some function to use modifiers and it will simplify the code. | | 5. | ReentrancyGuard | We will add implementation of [ReentrancyGuard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) | +| 6. | Implement additional useful contract | We will implement [PaymentSplitter](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/finance/PaymentSplitter.sol), [TimelockController](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol) and etc. | ### Future work #### Milestone 3. Pre-release - Standardization of tokens contracts. Implement extensions for contracts. Documentation. -* **Estimated Duration:** 4 weeks(+ time for PSP approving) +* **Estimated Duration:** 3 weeks(+ time for PSP approving) * **FTE:** 2.5 -* **Costs:** 20,000 USD +* **Costs:** 15,000 USD | Number | Deliverable | Specification | | ----- | ----------- | ------------- | @@ -216,8 +217,7 @@ The first milestone already has been done. Funds for the next milestones will be | 0c. | Testing Guide | We will add more tests to cover all macros, update tests according to new changes. | | 1. | Create Proposal for Fungible token | We will create a proposal for standardization of Erc20 token in case of ink! and `contract-pallet`. Based on the final decision regarding the proposal update the implementation in library. | | 2. | Implement extensions for tokens | We will implement extensions for Erc20, Erc721 and Erc1155 tokens. | -| 3. | Implement additional useful contract | We will implement [PaymentSplitter](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/finance/PaymentSplitter.sol), [TimelockController](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol) and etc. | -| 4. | Create Proposal for Non Fungible token and Multi token | We will create proposals for NFT and multi token, when proposal for FT token will be approved. Based on the decisions of these approves, we will update implementation in library. | +| 3. | Create Proposal for Non Fungible token and Multi token | We will create proposals for NFT and multi token, when proposal for FT token will be approved. Based on the decisions of these approves, we will update implementation in library. | #### Milestone 4. Release - Contribution to ink! From 44e717351450d04e3011b075fd812a6e9e54a85d Mon Sep 17 00:00:00 2001 From: Markian | Supercolony Date: Thu, 22 Jul 2021 19:27:14 +0300 Subject: [PATCH 9/9] Update openbrush.md --- applications/openbrush.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/openbrush.md b/applications/openbrush.md index 363da5eb22d..5e766a778af 100644 --- a/applications/openbrush.md +++ b/applications/openbrush.md @@ -188,7 +188,7 @@ The first milestone already has been done. Funds for the next milestones will be * **Estimated duration:** 7 weeks * **FTE:** 2.5 -* **Costs:** 29,999 USD +* **Costs:** 29,999 USD(covered by grant) + 5,000 USD which is covered by Supercolony | Number | Deliverable | Specification | | ----- | ----------- | ------------- |