Skip to content

Commit

Permalink
OpenBrush follow-up delivery milestone 4 (#385)
Browse files Browse the repository at this point in the history
Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com>
Co-authored-by: xgreenx <xgreenx9999@gmail.com>
  • Loading branch information
3 people authored Mar 14, 2022
1 parent 6bfd39c commit 39e7e7e
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions deliveries/openbrush_follow_up-milestone_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Milestone Delivery :mailbox:

**The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/milestone-deliverables-guidelines.md).**

* **Application Document:** [OpenBrush follow-up](https://github.com/w3f/Grants-Program/blob/master/applications/openbrush-follow-up.md).
* **Milestone Number:** 2 milestone of the grant and 4 milestone of the OpenBrush

**Context**

That milestone was related to the creation of the standards and their implementation in OpenBrush.
- [PSP22 - Fungible Token standard](https://github.com/w3f/PSPs/pull/22)
- [PSP34 - Non Fungible Token standard](https://github.com/w3f/PSPs/pull/34)
- [PSP37 - Multi Token standard](https://github.com/w3f/PSPs/pull/37)

Another important delivery was to use the latest ink! in OpenBrush.
We had two PR related to that. First, we started [supporting the `ink!-rc6`](https://github.com/Supercolony-net/openbrush-contracts/pull/53), but after some changes in ink! we were unable to use it according to several issues.
After fixing these issues we finally started to [support the latest ink](https://github.com/Supercolony-net/openbrush-contracts/pull/78) again.

**Deliverables**

| Number | Deliverable | Link | Notes |
|--------|---------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0b. | Documentation | [Documentation](https://docs.openbrush.io) | We actualized the documentation, refactored it to be more clear. Added separate section on how to [manage the structure of the project](https://docs.openbrush.io/smart-contracts/example/overview). Documented all extensions. |
| 0c. | Testing Guide | [How to test](https://github.com/Supercolony-net/openbrush-contracts#installation--testing) | Added CI to run unit and integration tests automatically. The latest usage of the ink! requires usage of the latest `substrate`. At the moment only `substrate-contracts-node` supports it by it takes a lot time to run all integration tests. |
| 1. | Create Proposal for Fungible token | [PSP22 - Fungible Token standard](https://github.com/w3f/PSPs/pull/22) | `PSP22` - `Published` state and implemented. |
| 2. | Implement extensions for tokens | [PSP22 - Burnable, Mintable, Metadata](https://github.com/Supercolony-net/openbrush-contracts/pull/43), [NFT and Multi token - Burnable, Mintable, Metadata](https://github.com/Supercolony-net/openbrush-contracts/pull/45), [PSP22 Extensions](https://github.com/Supercolony-net/openbrush-contracts/pull/47), [Refactor Burnable Mintable for all PSPs](https://github.com/Supercolony-net/openbrush-contracts/pull/73) | Implemented `Burnable`, `Mintable`, `Metadata` extensions for all PSPs. Also implemented `FlashLender` - for `PSP22`, `PSP22Wrapper`, `PSP22TokenTimelock`, `PSP22Capped`, `PSP22Pausable`. Updated contracts to latest changes in OpenZeppelin. |
| 3. | Create Proposal for Non Fungible token and Multi token | [PSP34 - Non Fungible Token standard](https://github.com/w3f/PSPs/pull/34), [PSP37 - Multi Token standard](https://github.com/w3f/PSPs/pull/37) | `PSP34` - `Ready for feedback` state and implemented. `PSP37` - `Draft` state and implemented but not fully adapted(waiting for feedback). |
| 4. | Use original ink! instead of our own | [`ink!-rc6`](https://github.com/Supercolony-net/openbrush-contracts/pull/53), [`ink!-rc10`](https://github.com/Supercolony-net/openbrush-contracts/pull/78) | We've updated and refactored OpenBrush several times to use a new feature from a new ink!. |
| 5. | Refactor the contracts to be compatible with PSPs | [Use `Result` in contracts](https://github.com/Supercolony-net/openbrush-contracts/pull/51), [PSP34 adaption](https://github.com/Supercolony-net/openbrush-contracts/pull/74), [latest ink!](https://github.com/Supercolony-net/openbrush-contracts/pull/78) | During each big change, all contracts were refactored. We only had a separate refactoring for `PSP34` after the finalization of the vision about the NFT standard. |
| 6. | Refactor the structure of the OpenBrush to provide agnostic traits | [Agnostic traits](https://github.com/Supercolony-net/openbrush-contracts/pull/58), [Wrappers for traits](https://github.com/Supercolony-net/openbrush-contracts/pull/54) | It was a big refactoring to support agnostic traits. OpenBrush provides agnostic traits, so with the "wrapper trait" feature, the users can do cross-contract calls only with traits without knowledge about the implementation. |

0 comments on commit 39e7e7e

Please sign in to comment.