74 lines
1.2 KiB
Solidity
74 lines
1.2 KiB
Solidity
pragma solidity ^0.4.24;
|
|
|
|
import "../../Initializable.sol";
|
|
import "./ERC20.sol";
|
|
import "../../lifecycle/Pausable.sol";
|
|
|
|
|
|
/**
|
|
* @title Pausable token
|
|
* @dev ERC20 modified with pausable transfers.
|
|
**/
|
|
contract ERC20Pausable is Initializable, ERC20, Pausable {
|
|
|
|
function initialize(address sender) public initializer {
|
|
Pausable.initialize(sender);
|
|
}
|
|
|
|
function transfer(
|
|
address to,
|
|
uint256 value
|
|
)
|
|
public
|
|
whenNotPaused
|
|
returns (bool)
|
|
{
|
|
return super.transfer(to, value);
|
|
}
|
|
|
|
function transferFrom(
|
|
address from,
|
|
address to,
|
|
uint256 value
|
|
)
|
|
public
|
|
whenNotPaused
|
|
returns (bool)
|
|
{
|
|
return super.transferFrom(from, to, value);
|
|
}
|
|
|
|
function approve(
|
|
address spender,
|
|
uint256 value
|
|
)
|
|
public
|
|
whenNotPaused
|
|
returns (bool)
|
|
{
|
|
return super.approve(spender, value);
|
|
}
|
|
|
|
function increaseAllowance(
|
|
address spender,
|
|
uint addedValue
|
|
)
|
|
public
|
|
whenNotPaused
|
|
returns (bool success)
|
|
{
|
|
return super.increaseAllowance(spender, addedValue);
|
|
}
|
|
|
|
function decreaseAllowance(
|
|
address spender,
|
|
uint subtractedValue
|
|
)
|
|
public
|
|
whenNotPaused
|
|
returns (bool success)
|
|
{
|
|
return super.decreaseAllowance(spender, subtractedValue);
|
|
}
|
|
}
|