-
Notifications
You must be signed in to change notification settings - Fork 521
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OpenBrush follow-up delivery milestone 4 (#385)
Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Co-authored-by: xgreenx <xgreenx9999@gmail.com>
- Loading branch information
1 parent
6bfd39c
commit 39e7e7e
Showing
1 changed file
with
30 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |