diff --git a/applications/openbrush-follow-up-2.md b/applications/openbrush-follow-up-2.md index 1608bee1eb8..c67f3d56b1a 100644 --- a/applications/openbrush-follow-up-2.md +++ b/applications/openbrush-follow-up-2.md @@ -289,37 +289,37 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 * **FTE:** 2.5 * **Costs:** 49 999 USD -| Number | Deliverable | Specification | -|--------|---------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 0a. | License | MIT | -| 0b. | Documentation | We will provide a report of how to transition from PSP22 on contract level to PSP22 on pallet level. Add documentation about the workflow of PSP22 and Statemint parachain. | -| 1. | Implement `AssetPallet` chain extension on substrate level to work with `asset-pallet` in runtime | We will implement a chain extension on the `substrate` level that allows interaction of contract with `asset-pallet`. Any network with that chain extension allows developing contracts that store information regarding fungible tokens on the `asset-pallet` level instead of the contract level. That allows to reduce the size of `PSP22` contracts and provide SCM support by default for fungible tokens. | -| 2. | Implement `AssetPallet` chain extension in OpenBrush | Usage of chain extension requires implementation on the level of the contract too, so we will implement it in OpenBrush. Anyone will be able to reuse chain extension. | -| 3. | Implement PSP22 with that chain extension in OpenBrush | The OpenBrush will provide a default implementation for `PSP22` implemented via `AssetPallet` extension. It will behave in the same way as `PSP22` but the information will be stored on the level of `asset-pallet`. | -| 4. | Create standards for `AssetPallet` Chain Extension and for `PSP22Asset` extension | The `AssetPallet` extension can be used by anyone and on any network. It requires the standardization of the methods and data types that are supported. We will create standards for that in the PSP repository. | -| 5. | Refactoring of trait system in the ink! | Refactoring of trait system in the ink! to support default implementation inside of traits. It should improve the developer's experience with traits and simplify its usage. | -| 6. | Support of XCM and cross transferring of `PSP22` tokens | If the support of XCM by the `asset-pallet` is not ready, we will participate in the development process to speed up it. The final step is that anyone will be able to transfer assets of `asset-pallet`, that are managed by the contract, between parachains freely. | -| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | -| 7b. | Marketing - The website upgrade | We are going to update out current website and add more specific things to improve the search for OpenBrush website in Google. | +| Number | Deliverable | Specification | +|--------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a report of how to transition from PSP22 on contract level to PSP22 on pallet level. Add documentation about the workflow of PSP22 and Statemint parachain. | +| 1. | Implement `AssetPallet` chain extension on substrate level to work with `pallet-assets` in runtime | We will implement a chain extension on the `substrate` level that allows interaction of contract with `pallet-assets`. Any network with that chain extension allows developing contracts that store information regarding fungible tokens on the `pallet-assets` level instead of the contract level. That allows to reduce the size of `PSP22` contracts and provide SCM support by default for fungible tokens. | +| 2. | Implement `AssetPallet` chain extension in OpenBrush | Usage of chain extension requires implementation on the level of the contract too, so we will implement it in OpenBrush. Anyone will be able to reuse chain extension. | +| 3. | Implement PSP22 with that chain extension in OpenBrush | The OpenBrush will provide a default implementation for `PSP22` implemented via `AssetPallet` extension. It will behave in the same way as `PSP22` but the information will be stored on the level of `pallet-assets`. | +| 4. | Create standards for `AssetPallet` Chain Extension and for `PSP22Asset` extension | The `AssetPallet` extension can be used by anyone and on any network. It requires the standardization of the methods and data types that are supported. We will create standards for that in the PSP repository. | +| 5. | Advanced ink! unit testing framework | Add support to the contract deployment, chain extension registration, and smart contract cross-contract calls into the ink! unit test framework. | +| 6. | Support of XCM and cross transferring of `PSP22` tokens | If the support of XCM by the `pallet-assets` is not ready, we will participate in the development process to speed up it. The final step is that anyone will be able to transfer assets of `pallet-assets`, that are managed by the contract, between parachains freely. | +| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +| 7b. | Marketing - The website upgrade | We are going to update out current website and add more specific things to improve the search for OpenBrush website in Google. | ### Future work #### Milestone 8. `UniquePallet`/`RMRKPallet` chain extension -* **Estimated Duration:** 6 weeks +* **Estimated Duration:** 7 weeks * **FTE:** 2.5 -* **Costs:** 45 000 USD - -| Number | Deliverable | Specification | -|--------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 0a. | License | MIT | -| 0b. | Documentation | We will provide a report regarding size reductions. We will create documentation and standards to describe the workflow of Non-Fungible token chain extension, how to reuse it and how it works. | -| 1. | Create PSP for NFT on RMRK | We plan to create a new standard for NFT tokens based on RMRK. We will work with the RMRK team on the finalization of the standard. We will try to be compatible with `PSP34`. Based on the result of the work we will decide to create the chain extension for the `unique-pallet` or for the `rmrk-pallet`. | -| 2. | Implement chain extension for NFT on substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `UniquePallet`/`RMRKPallet` chain extensions on the substrate level. Based on the cooperation with the RMRK team we will decide how better implement Non-Fungible tokens. | -| 3. | Implement chains extension in OpenBrush | Implementation of contract versions of the `UniquePallet`/`RMRKPallet` chain extension. Anyone will be able to call the logic of pallets from the contract. | -| 4. | Implement NFT contract via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chains extensions. | -| 5. | Reduce the size of the contracts more(investigation and implementation) | After the support of NFT chain extension, we plan to focus on the contract size reduction of NFT and related contracts because right now it is the main problem for contracts. | -| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +* **Costs:** 52 500 USD + +| Number | Deliverable | Specification | +|--------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a report regarding size reductions. We will create documentation and standards to describe the workflow of Non-Fungible token chain extension, how to reuse it and how it works. | +| 1. | Create PSP for NFT on RMRK | We plan to create a new standard for NFT tokens based on RMRK. We will work with the RMRK team on the finalization of the standard. We will try to be compatible with `PSP34`. Based on the result of the work we will decide to create the chain extension for the `unique-pallet` or for the `rmrk-pallet`. | +| 2. | Implement chain extension for NFT on substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `UniquePallet`/`RMRKPallet` chain extensions on the substrate level. Based on the cooperation with the RMRK team we will decide how better implement Non-Fungible tokens. | +| 3. | Implement chains extension in OpenBrush | Implementation of contract versions of the `UniquePallet`/`RMRKPallet` chain extension. Anyone will be able to call the logic of pallets from the contract. | +| 4. | Implement NFT contract via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chains extensions. | +| 5. | Refactoring of trait system in the ink! | Refactoring of trait system in the ink! to support default implementation inside of traits. It should improve the developer's experience with traits and simplify its usage. | +| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | #### Milestone 9. Multi token chain extension @@ -334,7 +334,7 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 | 1. | Implement chain extension for Multi token in substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `MultiPallet` extension on the substrate level. We hope that [Paratoken Standard](https://github.com/w3f/PSPs/pull/32) will be accepted and implemented and we will be able to integrate with it. | | 2. | Implement chains extension in OpenBrush | Implementation of contract versions of the `MultiPallet` chain extension. Anyone will be able to call the logic of multi asset pallet from the contract. | | 3. | Implement multi token contracts via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chain extension. | -| 4. | Reduce the size of the contracts more(investigation and implementation) | After the support of main chain extensions, we plan to focus on the contract size reduction of all contracts in OpenBursh. We plan to contribute to ink! and participate in according issue. | +| 4. | Reduce the size of the contracts more(investigation and implementation) | After the support of main chain extensions, we plan to focus on the contract size reduction of all contracts in OpenBrush. We plan to contribute to ink! and participate in according issue. | | 5. | Advanced documentation | For the better understanding, we will post on the OpenBrush website - the clear technical checklist to become an ink!/OpenBrush engineer. It will attract more developers and builders in the ecosystem | NOTES: