[fix] stricter coin validation on deposits
Deposited coins with invalid assets should be caught early and handled gracefully in validate
as opposed to allowing them to fail downstream in handle
. This adds validation checks on deposited coins, along with TODOs to move them to a more appropriate place after hard fork.