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.