article
Two taps on my round-up button could buy the same top-up twice
Full-case rounding moved from the browser to the server and still read the order before its transaction, so two overlapping requests could each add the same shortfall. Locking first and reading second makes the repeat a no-op, and I list the gaps that are still open.
Read more