@@ -2,6 +2,7 @@ pragma solidity ^0.4.15;
2
2
3
3
import "./SmartToken.sol " ;
4
4
import "zeppelin-solidity/contracts/token/MintableToken.sol " ;
5
+ import "zeppelin-solidity/contracts/token/BurnableToken.sol " ;
5
6
import "zeppelin-solidity/contracts/lifecycle/Pausable.sol " ;
6
7
7
8
/**
@@ -11,7 +12,7 @@ import "zeppelin-solidity/contracts/lifecycle/Pausable.sol";
11
12
to transfer value and data to execute a call on transfer.
12
13
Uses OpenZeppelin MintableToken and Pausable.
13
14
*/
14
- contract LifToken is SmartToken , MintableToken , Pausable {
15
+ contract LifToken is SmartToken , BurnableToken , MintableToken , Pausable {
15
16
// Token Name
16
17
string public constant NAME = "Líf " ;
17
18
@@ -51,18 +52,11 @@ contract LifToken is SmartToken, MintableToken, Pausable {
51
52
@param _value The amount of tokens to be burned.
52
53
*/
53
54
function burn (uint256 _value ) public whenNotPaused {
54
- require (_value > 0 );
55
-
56
- address burner = msg .sender ;
57
- balances[burner] = balances[burner].sub (_value);
58
- totalSupply = totalSupply.sub (_value);
59
- Burn (burner, _value);
55
+ super .burn (_value);
60
56
61
57
// a Transfer event to 0x0 can be useful for observers to keep track of
62
58
// all the Lif by just looking at those events
63
- Transfer (burner , address (0 ), _value);
59
+ Transfer (msg . sender , address (0 ), _value);
64
60
}
65
61
66
- event Burn (address indexed burner , uint value );
67
-
68
62
}
0 commit comments