separate files

This commit is contained in:
Ricardo Guilherme Schmidt 2019-09-18 05:46:47 -03:00
parent 2a06243124
commit 268babcfbf
No known key found for this signature in database
GPG Key ID: 1FD1630B93893608
2 changed files with 66 additions and 62 deletions

View File

@ -29,6 +29,7 @@ pragma solidity >=0.5.0 <0.6.0;
import "../common/Controlled.sol";
import "./TokenController.sol";
import "./ApproveAndCallFallBack.sol";
import "./MiniMeTokenFactory.sol";
/**
* @dev The actual token contract, the default controller is the msg.sender
@ -88,7 +89,7 @@ contract MiniMeToken is Controlled {
// Constructor
////////////////
/**
/**
* @notice Constructor to create a MiniMeToken
* @param _tokenFactory The address of the MiniMeTokenFactory contract that
* will create the Clone token contracts, the token factory needs to be
@ -111,7 +112,7 @@ contract MiniMeToken is Controlled {
uint8 _decimalUnits,
string memory _tokenSymbol,
bool _transfersEnabled
)
)
public
{
tokenFactory = MiniMeTokenFactory(_tokenFactory);
@ -152,8 +153,8 @@ contract MiniMeToken is Controlled {
address _from,
address _to,
uint256 _amount
)
public
)
public
returns (bool success)
{
@ -165,7 +166,7 @@ contract MiniMeToken is Controlled {
require(transfersEnabled, "Transfers disabled");
// The standard ERC 20 transferFrom functionality
if (allowed[_from][msg.sender] < _amount) {
if (allowed[_from][msg.sender] < _amount) {
return false;
}
allowed[_from][msg.sender] -= _amount;
@ -185,7 +186,7 @@ contract MiniMeToken is Controlled {
address _from,
address _to,
uint _amount
)
)
internal
returns(bool)
{
@ -232,7 +233,7 @@ contract MiniMeToken is Controlled {
address _spender,
uint256 _amount
)
internal
internal
returns (bool)
{
require(transfersEnabled, "Transfers disabled");
@ -283,7 +284,7 @@ contract MiniMeToken is Controlled {
function allowance(
address _owner,
address _spender
)
)
external
view
returns (uint256 remaining)
@ -303,7 +304,7 @@ contract MiniMeToken is Controlled {
address _spender,
uint256 _amount,
bytes memory _extraData
)
)
public
returns (bool success)
{
@ -341,10 +342,10 @@ contract MiniMeToken is Controlled {
function balanceOfAt(
address _owner,
uint _blockNumber
)
)
public
view
returns (uint)
returns (uint)
{
// These next few lines are used when the balance of the token is
@ -413,7 +414,7 @@ contract MiniMeToken is Controlled {
string memory _cloneTokenSymbol,
uint _snapshotBlock,
bool _transfersEnabled
)
)
public
returns(address)
{
@ -440,7 +441,7 @@ contract MiniMeToken is Controlled {
////////////////
// Generate and destroy tokens
////////////////
/**
* @notice Generates `_amount` tokens that are assigned to `_owner`
* @param _owner The address that will be assigned the new tokens
@ -474,7 +475,7 @@ contract MiniMeToken is Controlled {
function destroyTokens(
address _owner,
uint _amount
)
)
public
onlyController
returns (bool)
@ -514,7 +515,7 @@ contract MiniMeToken is Controlled {
function getValueAt(
Checkpoint[] storage checkpoints,
uint _block
)
)
internal
view
returns (uint)
@ -571,7 +572,7 @@ contract MiniMeToken is Controlled {
uint size;
if (_addr == address(0)){
return false;
}
}
assembly {
size := extcodesize(_addr)
}
@ -630,49 +631,3 @@ contract MiniMeToken is Controlled {
);
}
////////////////
// 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 memory _tokenName,
uint8 _decimalUnits,
string memory _tokenSymbol,
bool _transfersEnabled
) public returns (MiniMeToken) {
MiniMeToken newToken = new MiniMeToken(
address(this),
_parentToken,
_snapshotBlock,
_tokenName,
_decimalUnits,
_tokenSymbol,
_transfersEnabled
);
newToken.changeController(msg.sender);
return newToken;
}
}

View File

@ -0,0 +1,49 @@
pragma solidity >=0.5.0 <0.6.0;
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 memory _tokenName,
uint8 _decimalUnits,
string memory _tokenSymbol,
bool _transfersEnabled
) public returns (MiniMeToken) {
MiniMeToken newToken = new MiniMeToken(
address(this),
_parentToken,
_snapshotBlock,
_tokenName,
_decimalUnits,
_tokenSymbol,
_transfersEnabled
);
newToken.changeController(msg.sender);
return newToken;
}
}