Multisig wallet implemented with hash-maps and arrays.
- Elements are added, removed, and checked for existence in constant time (O(1)).
- Elements are enumerated in O(n). No guarantees are made on the ordering.
- Hasmaps faster, optimised and gas efficient but unable to iterate over keys/values.
- A mixture of arrays and hash-maps can also be implemented as
- Optimise
removeOwner()
in both implementations - Use OZ EnumerateSet.sol ─ I wanted to expiriment for myself being the prime optimizooor that I am.