[input-output-hk/cardano-sl] [CBR-347] Delete `IxSet’` (#3438)

@KtorZ , @parsonsmatt , marking you guys for review as this mostly touches the V1 code.

## Description

We had _two `IxSet` wrappers, one introduced by Alfredo, and one introduced by me. Alfredo and I agreed to migrate the code over to the one I introduced, as it is bit more feature complete. The most important improvement that my `IxSet` wrapper introduces is that it doesn’t require `Eq` or `Ord` instances for the elements in the set, but instead introduces a concept of a «primary key», and compares primary keys only, for better performance.

This updates the code base to use the (new) `IxSet` wrapper throughout. It still allows for an `IxSet` of V1 addresses, which we really should not do, but that’s a problem for a separate PR (and a separate ticket: CBR-356). I will look at that next.

## Linked issue


## Type of change

— [ ] 🐞 Bug fix (non-breaking change which fixes an issue)
— [ ] 🛠 New feature (non-breaking change which adds functionality)
— [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change)
— [x] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
— [ ] 🔨 New or improved tests for existing code
— [ ] ⛑ git-flow chore (backport, hotfix, etc)

## Developer checklist

— [ ] I have read the [style guide](https://github.com/input-output-hk/cardano-sl/blob/develop/docs/style-guide.md) document, and my code follows the code style of this project.
— [ ] If my code deals with exceptions, it follows the [guidelines](https://github.com/input-output-hk/cardano-sl/blob/develop/docs/exceptions.md).
— [ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on [cardanodocs.com](https://github.com/input-output-hk/cardanodocs.com), amending the inline [Haddock](https://www.haskell.org/haddock/) comments, any relevant README file or one of the document listed in the [docs](https://github.com/input-output-hk/cardano-sl/tree/develop/docs) directory.
— [ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

## Testing checklist

— [ ] I have added tests to cover my changes.
— [ ] All new and existing tests passed.

## QA Steps

## Screenshots (if available)

You can view, comment on, or merge this pull request online at:


— Commit Summary —

* [CBR-347] Delete `IxSet’`

— File Changes —

M wallet-new/src/Cardano/Wallet/API/Indices.hs (112)
M wallet-new/src/Cardano/Wallet/API/Request/Filter.hs (2)
M wallet-new/src/Cardano/Wallet/API/Request/Sort.hs (2)
M wallet-new/src/Cardano/Wallet/API/Response.hs (8)
M wallet-new/src/Cardano/Wallet/API/Response/Filter/IxSet.hs (10)
M wallet-new/src/Cardano/Wallet/API/Response/Filter/Legacy.hs (6)
M wallet-new/src/Cardano/Wallet/API/Response/Sort/IxSet.hs (15)
M wallet-new/src/Cardano/Wallet/API/V1/Handlers/Accounts.hs (8)
M wallet-new/src/Cardano/Wallet/API/V1/Handlers/Wallets.hs (8)
M wallet-new/src/Cardano/Wallet/API/V1/LegacyHandlers/Accounts.hs (2)
M wallet-new

Добавить комментарий