fix circular dependency with MiniMeToken -
This commit is contained in:
parent
df2bbab7a0
commit
92e0c8282a
|
@ -5,3 +5,4 @@ config/production/password
|
|||
config/livenet/password
|
||||
chains.json
|
||||
embarkArtifacts/
|
||||
.idea
|
||||
|
|
|
@ -6,7 +6,7 @@ The Status Meritocracy allows `Contributors` to show their appreciation of other
|
|||
|
||||
The Status Meritocracy is a SNT Reward System that allows a `Contributor` in the registry to award allocated SNT, along with praise, to other `Contributors`.
|
||||
|
||||
The DApp will also display a leaderboard of `Contributors` who have been awarded the most and have partcipated the most in the Meritocracy, along with their praise
|
||||
The DApp will also display a leaderboard of `Contributors` who have been awarded the most and have participated the most in the Meritocracy, along with their praise
|
||||
|
||||
### Goals
|
||||
- Allow `Contributors` to build social capital, ideally in the form of Merit (degrades to popularity?)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/*global web3*/
|
||||
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import {Button, Grid, Row, Col, Alert } from 'react-bootstrap';
|
||||
import * as NumericInput from 'react-numeric-input';
|
||||
import Select from 'react-select';
|
||||
|
|
|
@ -30,7 +30,7 @@ import "../common/Controlled.sol";
|
|||
import "./TokenController.sol";
|
||||
import "./ApproveAndCallFallBack.sol";
|
||||
import "./MiniMeTokenInterface.sol";
|
||||
import "./MiniMeTokenFactory.sol";
|
||||
import "./TokenFactory.sol";
|
||||
|
||||
/**
|
||||
* @dev The actual token contract, the default controller is the msg.sender
|
||||
|
@ -84,7 +84,7 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||
bool public transfersEnabled;
|
||||
|
||||
// The factory used to create new clone tokens
|
||||
MiniMeTokenFactory public tokenFactory;
|
||||
TokenFactory public tokenFactory;
|
||||
|
||||
////////////////
|
||||
// Constructor
|
||||
|
@ -116,7 +116,7 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||
)
|
||||
public
|
||||
{
|
||||
tokenFactory = MiniMeTokenFactory(_tokenFactory);
|
||||
tokenFactory = TokenFactory(_tokenFactory);
|
||||
name = _tokenName; // Set the name
|
||||
decimals = _decimalUnits; // Set the decimals
|
||||
symbol = _tokenSymbol; // Set the symbol
|
||||
|
@ -425,14 +425,14 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||
if (snapshotBlock == 0) {
|
||||
snapshotBlock = block.number;
|
||||
}
|
||||
MiniMeToken cloneToken = tokenFactory.createCloneToken(
|
||||
MiniMeToken cloneToken = MiniMeToken(tokenFactory.createCloneToken(
|
||||
address(this),
|
||||
snapshotBlock,
|
||||
_cloneTokenName,
|
||||
_cloneDecimalUnits,
|
||||
_cloneTokenSymbol,
|
||||
_transfersEnabled
|
||||
);
|
||||
));
|
||||
|
||||
cloneToken.changeController(msg.sender);
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
pragma solidity ^0.5.0;
|
||||
|
||||
import "./TokenFactory.sol";
|
||||
import "./MiniMeToken.sol";
|
||||
|
||||
////////////////
|
||||
|
@ -11,7 +12,7 @@ import "./MiniMeToken.sol";
|
|||
* In solidity this is the way to create a contract from a contract of the
|
||||
* same class
|
||||
*/
|
||||
contract MiniMeTokenFactory {
|
||||
contract MiniMeTokenFactory is TokenFactory {
|
||||
|
||||
/**
|
||||
* @notice Update the DApp by creating a new token with new functionalities
|
||||
|
@ -32,7 +33,7 @@ contract MiniMeTokenFactory {
|
|||
uint8 _decimalUnits,
|
||||
string memory _tokenSymbol,
|
||||
bool _transfersEnabled
|
||||
) public returns (MiniMeToken) {
|
||||
) public returns (address payable) {
|
||||
MiniMeToken newToken = new MiniMeToken(
|
||||
address(this),
|
||||
_parentToken,
|
||||
|
@ -44,6 +45,6 @@ contract MiniMeTokenFactory {
|
|||
);
|
||||
|
||||
newToken.changeController(msg.sender);
|
||||
return newToken;
|
||||
return address(newToken);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
pragma solidity ^0.5.0;
|
||||
|
||||
contract TokenFactory {
|
||||
function createCloneToken(
|
||||
address _parentToken,
|
||||
uint _snapshotBlock,
|
||||
string memory _tokenName,
|
||||
uint8 _decimalUnits,
|
||||
string memory _tokenSymbol,
|
||||
bool _transfersEnabled
|
||||
) public returns (address payable);
|
||||
}
|
Loading…
Reference in New Issue