diff --git a/lib/bill-math.js b/lib/bill-math.js index a64c3282..2e1542e3 100644 --- a/lib/bill-math.js +++ b/lib/bill-math.js @@ -11,6 +11,11 @@ exports.makeChange = function makeChange (cassettes, amount) { // Note: Everything here is converted to primitive numbers, // since they're all integers, well within JS number range, // and this is way more efficient in a tight loop. + + // Another note: While this greedy algorithm possibly works for all major denominations, + // it still requires a fallback for cases where it might not provide any solution. + // Example: Denominations: [3, 5, 10] | User inputs 4 times the [3] button, resulting in a 12 fiat tx + // This algorithm resolves for 1 x [10], and can't resolve the remainder of 2 const cassetteMap = _.map(cassettes, it => ({ denomination: it.denomination }))