45 lines
1.5 KiB
Solidity
45 lines
1.5 KiB
Solidity
|
pragma solidity ^0.4.11;
|
||
|
|
||
|
import "./MiniMeToken.sol";
|
||
|
|
||
|
////////////////
|
||
|
// MiniMeTokenFactory
|
||
|
////////////////
|
||
|
|
||
|
/// @dev This contract is used to generate clone contracts from a contract.
|
||
|
/// In solidity this is the way to create a contract from a contract of the
|
||
|
/// same class
|
||
|
contract MiniMeTokenFactory {
|
||
|
|
||
|
/// @notice Update the DApp by creating a new token with new functionalities
|
||
|
/// the msg.sender becomes the controller of this clone token
|
||
|
/// @param _parentToken Address of the token being cloned
|
||
|
/// @param _snapshotBlock Block of the parent token that will
|
||
|
/// determine the initial distribution of the clone token
|
||
|
/// @param _tokenName Name of the new token
|
||
|
/// @param _decimalUnits Number of decimals of the new token
|
||
|
/// @param _tokenSymbol Token Symbol for the new token
|
||
|
/// @param _transfersEnabled If true, tokens will be able to be transferred
|
||
|
/// @return The address of the new token contract
|
||
|
function createCloneToken(
|
||
|
address _parentToken,
|
||
|
uint _snapshotBlock,
|
||
|
string _tokenName,
|
||
|
uint8 _decimalUnits,
|
||
|
string _tokenSymbol,
|
||
|
bool _transfersEnabled
|
||
|
) returns (MiniMeToken) {
|
||
|
MiniMeToken newToken = new MiniMeToken(
|
||
|
this,
|
||
|
_parentToken,
|
||
|
_snapshotBlock,
|
||
|
_tokenName,
|
||
|
_decimalUnits,
|
||
|
_tokenSymbol,
|
||
|
_transfersEnabled
|
||
|
);
|
||
|
|
||
|
newToken.changeController(msg.sender);
|
||
|
return newToken;
|
||
|
}
|
||
|
}
|