* Split events.rs into multiple files and start work on FilterEvents
* First pass filtering event(s)
* Tweak event examples to show filter_events
* cargo clippy + fmt
* consistify and tidy
* cargo fmt
* Tweak a couple of comments
* Expose phase and block_hash of filtered events, too
* cargo fmt
* expose FilteredEventDetails
* Add docs
* cargo clippy
* remove FilterEvents knowledge of EventSubscription so it's easier to unit test
* unit test filter_events
* tweak an integration test to use filter_events
* cargo fmt
* cargo clippy
* Tweak a comment
Co-authored-by: David <dvdplm@gmail.com>
Co-authored-by: David <dvdplm@gmail.com>
* Distinct handling for N fields + 1 hasher vs N fields + N hashers
* tweak comment
* cargo fmt
* fix typo
* Add a few storage specific tests
* clippy fixes
* cargo fmt
* Add a test to specifically address this fix
* comment typo
* Address niggles
* slgihtly nicer iter code