-
Notifications
You must be signed in to change notification settings - Fork 561
/
AMLToken.sol
35 lines (28 loc) · 1.19 KB
/
AMLToken.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
* This smart contract code is Copyright 2017 TokenMarket Ltd. For more information see https://tokenmarket.net
*
* Licensed under the Apache License, version 2.0: https://github.com/TokenMarketNet/ico/blob/master/LICENSE.txt
*/
pragma solidity ^0.4.14;
import "./BurnableCrowdsaleToken.sol";
/**
* The AML Token
*
* This subset of BurnableCrowdsaleToken gives the Owner a possibility to
* reclaim tokens from a participant before the token is released
* (after participant has failed the AML).
*/
contract AMLToken is BurnableCrowdsaleToken {
function AMLToken(string _name, string _symbol, uint _initialSupply, uint _decimals, bool _mintable) BurnableCrowdsaleToken(_name, _symbol, _initialSupply, _decimals, _mintable) {
}
/// @dev Here the owner can reclaim the tokens from a participant if
/// the token is not released yet
/// @param fromWhom address of the participant whose tokens we want to claim
function transferToOwner(address fromWhom) onlyOwner {
if (released) revert();
uint amount = balanceOf(fromWhom);
balances[fromWhom] = balances[fromWhom].sub(amount);
balances[owner] = balances[owner].add(amount);
Transfer(fromWhom, owner, amount);
}
}