@@ -16,21 +16,22 @@ which can be reused or customized by everyone.
1616To understand how to use the library better to check [ examples] ( examples ) and [ doc] ( doc ) folders.
1717
1818At the moment library is using own version of ink!, but it is the same as [ ink!-3.0-rc3] ( https://github.com/paritytech/ink/releases/tag/v3.0.0-rc3 )
19- with additional [ fix] ( https://github.com/Supercolony-net/ink/commit/4ade565ca0adf746c130ef32e50f54a9504970cb ) .
20- !ink will fix that issue in next release.
19+ with additional fixes:
20+ - [ Not generate metadata if compile_as_dependency is true] ( https://github.com/paritytech/ink/pull/811 )
21+ - [ Remove Salt in code generation during build_create] ( https://github.com/paritytech/ink/pull/842 )
2122
22- ## Events
23+ ### Events
2324‼️ Important ‼️
2425
2526Events are not supported currently due to how ink! currently handles them.
2627The identifiers of events must be based on the name of the trait. At the moment, ink! doesn't support it,
2728but it must be fixed with this [ issue] ( https://github.com/paritytech/ink/issues/809 ) .
2829
29- ## The library is not production-ready, these issues must be resolved first:
30+ ### The library is not production-ready, these issues must be resolved first:
3031* [ Standard token naming convention] ( https://github.com/Supercolony-net/openbrush-contracts/issues/1 )
3132* [ Event's identifiers are based on the naming of the storage structure] ( https://github.com/Supercolony-net/openbrush-contracts/issues/2 )
3233
33- Usage of the library looks not pretty, but it will be simplified with resolving issues:
34+ ### Usage of the library looks not pretty, but it will be simplified with resolving issues:
3435* [ Returning of error doesn't mean revert of transaction] ( https://github.com/Supercolony-net/openbrush-contracts/issues/3 )
3536* [ #[ ink::trait_definition] doesn't support generics and default implementation] ( https://github.com/Supercolony-net/openbrush-contracts/issues/4 )
3637* [ Library provides implementation on Rust level instead of ink! level] ( https://github.com/Supercolony-net/openbrush-contracts/issues/5 )
@@ -39,14 +40,38 @@ Usage of the library looks not pretty, but it will be simplified with resolving
3940The upgradable contract will be available after resolving of this [ issue] ( https://github.com/Supercolony-net/openbrush-contracts/issues/7 )
4041
4142## Roadmap 🚗
43+ ------- Release 0.1.0
44+ - [x] Implement fungible, non-fungible, and multi tokens.
45+ - [x] Implement AccessControl and Ownable.
46+ - [x] Add examples of how to reuse ERC20, ERC721, AccessControl implementations.
47+ - [x] Stub implementations for ` token ` and ` access ` folders.
48+ - [x] Add base description of project
49+
50+ ------- Release 0.2.0
51+ - [x] Remove the boilerplate to make the internal implementation external.
52+ - - [x] Implement ` brush::contract ` macro to consume all brush's stuff before ink!.
53+ - - [x] Implement ` brush::trait_definition ` which stores definition of trait and allow to use it in ` brush::contract ` macro.
54+ - - [x] Implement ` impl_trait! ` macro which reuse internal implementation in external impl section.
55+ - [x] Refactor examples and tests with new macros.
56+ - [x] Decide how to handle errors and implement it in library(Decided to use ` panic! ` and ` assert! ` ).
57+
58+ ------- Release 0.3.0
59+ - [x] Create derive macro for storage traits. This macro must adds fields to contract's struct.
60+ - [x] Cover all contracts with unit tests and integration tests.
61+ - [x] Create documentation based on readme. Add comments to macros with example of usage.
62+ - [x] Add ` Ownable ` + ` ERC1155 ` example.
63+ - [x] Support simple modifiers(which can only call functions without code injection).
64+ - [x] Instead of ` impl_trait! ` macro add support of default implementation in external trait definition.
65+ Users can define default implementation in traits and macro will copy/paste this implementation during the generation of the contract.
66+
4267------- Release 1.0.0
4368- [ ] Finalize PSP for fungible tokens. Refactor of implementation.
44- - [ ] Support code injection in modifiers. Implement a reentrancy guard with new modifiers.
45- - [ ] Add more examples and documentation on how to use the library .
46-
69+ - [x ] Support code injection in modifiers.
70+ - [x] Implement a reentrancy guard and example of usage .
71+ - [ ] Add more examples and documentation on how to use the library.
4772
4873------- Pre-release 2.0.0
49- - [ ] PSPs for NFT and multi-token.
74+ - [ ] PSPs for NFT and multi-token.
5075- [ ] Add extensions: AccessControlEnumerable, ERC721Enumerable.
5176- [ ] Refactor NFT and multi-token according to final decisions in PSPs.
5277
@@ -57,14 +82,12 @@ The upgradable contract will be available after resolving of this [issue](https:
5782- [ ] More documentation and examples.
5883- [ ] Audit.
5984
60-
61-
6285------- Release 3.0.0
6386- [ ] All extensions for tokens(Pausable, TimeLockController and etc).
6487- [ ] Improve ink! to allow code injection to have default implementation on ink! level instead Rust level.
6588- [ ] Refactor the library according to new changes.
6689
67-
90+ ------- Release 4.0.0
6891- [ ] Add support of upgradable contracts to ink!/contract-pallet level.
6992- [ ] Create upgradable contracts.
7093
0 commit comments