Minor fix in contract deletion

This commit is contained in:
Grégoire Henry 2017-05-09 17:35:56 +02:00
parent 81b720fee0
commit 3b38720fb6

View File

@ -188,12 +188,15 @@ module Contract = struct
Storage.Roll.Contract_change.get c contract >>=? fun change -> Storage.Roll.Contract_change.get c contract >>=? fun change ->
loop c change >>=? fun (c, change) -> loop c change >>=? fun (c, change) ->
Lwt.return Tez_repr.(change -? amount) >>=? fun change -> Lwt.return Tez_repr.(change -? amount) >>=? fun change ->
Storage.Roll.Contract_change.set c contract change if Tez_repr.(change = zero) then
Storage.Roll.Contract_change.delete c contract
else
Storage.Roll.Contract_change.set c contract change
let assert_empty c contract = let assert_empty c contract =
Storage.Roll.Contract_change.get c contract >>=? fun change -> Storage.Roll.Contract_change.mem c contract >>= fun change ->
Storage.Roll.Contract_roll_list.get c contract >>=? fun roll_list -> Storage.Roll.Contract_roll_list.get c contract >>=? fun roll_list ->
fail_unless (Tez_repr.(change = zero) && fail_unless (not change &&
match roll_list with None -> true | Some _ -> false) match roll_list with None -> true | Some _ -> false)
Deleted_contract_owning_rolls Deleted_contract_owning_rolls