Refurbish deposit validation to allow coinffeine-server to use it

**Description:** refurbish deposit validation to allow coinffeine-server to use it. This is the last PR before having the server module working again.
**Testing:** tests pass.
**Coverage:** 93% for DepositValidator.
Why don't we return `Set[PublicKey]` instead of `Both[PublicKey]`?