Budget mint cash need: ⌈(budget + 1) · (1 / p_min − 1)⌉ + 1, rounded as Move rounds it (one mul_div_up of (budget + 1) · (1e9 − p_min) / p_min). Exact-amount mints pass min(max_premium, budget). p_min = 0 throws, as the Move division aborts.
⌈(budget + 1) · (1 / p_min − 1)⌉ + 1
mul_div_up
(budget + 1) · (1e9 − p_min) / p_min
min(max_premium, budget)
p_min = 0
Budget mint cash need:
⌈(budget + 1) · (1 / p_min − 1)⌉ + 1, rounded as Move rounds it (onemul_div_upof(budget + 1) · (1e9 − p_min) / p_min). Exact-amount mints passmin(max_premium, budget).p_min = 0throws, as the Move division aborts.