Question
In x/bank/keeper/keeper.go, there are two TODO comments:
// TODO: return error on account.TrackDelegation
vacc.TrackDelegation(sdkCtx.BlockHeader().Time, balance, amt)
// TODO: return error on account.TrackDelegation  
vacc.TrackUndelegation(amt)
 
What is the intended behavior?
Should I..
- Change the interface to return errors instead of panicking?
 
- Keep current interface but add error handling in keeper?
 
- Something else?
 
Current Behavior
TrackDelegation/TrackUndelegation panic on invalid conditions 
- No error return values
 
Impact
- Interface change = breaking change
 
- Requires updating all implementations and tests
 
Please clarify the intended direction before implementation.