Implementation of an address Enumerable Set (#2061)

* Drafted Enumerable.sol.

* Drafted test framework.

* Tweaked the tests to follow oz structure.

* Coded EnumerableSet.

* Moved EnumerableSet to `utils`.

* Fixed linting.

* Improved comments.

* Tweaked contract description.

* Renamed struct to AddressSet.

* Relaxed version pragma to 0.5.0

* Removed events.

* Revert on useless operations.

* Small comment.

* Created AddressSet factory method.

* Failed transactions return false.

* Transactions now return false on failure.

* Remove comments from mock

* Rename mock functions

* Adapt tests to code style, use test-helpers

* Fix bug in remove, improve tests.

* Add changelog entry

* Add entry on Utils doc

* Add optimization for removal of last slot

* Update docs

* Fix headings of utilities documentation

Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
This commit is contained in:
Alberto Cuesta Cañada
2020-01-24 17:50:24 +00:00
committed by Nicolás Venturo
parent 73abd54cbe
commit 1e0f07751e
6 changed files with 272 additions and 3 deletions

View File

@ -10,6 +10,8 @@ Miscellaneous contracts containing utility functions, often related to working w
{{Arrays}}
{{EnumerableSet}}
{{Create2}}
{{ReentrancyGuard}}