## Description
This PR changes delegation withdraw flow to use pre-epoch exchange rate
when calculating rewards. This way both principal and rewards are
returned to the undelegator right away, and we no longer need to process
pending delegations one by one at epoch change time.
## Test Plan
cargo test
---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.
### Type of Change (Check all that apply)
- [x] user-visible impact
- [x] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [x] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes