Issuing too many bonds can result in users being unable to redeem. This is caused by arithmetic overflow in previewRedeemAtMaturity.
If a user's bonds and the paidAmount's (or bonds * nonPaidAmount) product is greater than 2**256, it will overflow, reverting all attempts to redeem bonds.
https://github.com/spearbit-audits/porter/issues/17
Description:
Issuing too many bonds can result in users being unable to redeem. This is caused by arithmetic overflow in previewRedeemAtMaturity.
If a user's bonds and the paidAmount's (or bonds * nonPaidAmount) product is greater than 2**256, it will overflow, reverting all attempts to redeem bonds.
This is fixed by adding the safety checks