diff --git a/src/lib.rs b/src/lib.rs index 0fc8b27..40b086c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -151,6 +151,9 @@ impl DAOContract { } // transfer tokens to the destination address token(&e).transfer(&e.current_contract_address(), &to, &amount); + + // update available balance + update_available_balance(&e, &claimant, &(-amount)); } /// Create a new ballot diff --git a/src/test.rs b/src/test.rs index bc2cce9..4668992 100644 --- a/src/test.rs +++ b/src/test.rs @@ -140,4 +140,14 @@ fn test() { let balance = env.get_available_balance(&operators.first().unwrap()); assert!(balance > 0); }); + + let available = client.available(&developer); + assert!(available > 0); + + client.claim(&developer, &developer, &available); + + env.as_contract(&client.address, || { + let balance = env.get_available_balance(&developer); + assert_eq!(balance, 0); + }); }