mirror of
https://github.com/status-im/meritocracy.git
synced 2025-02-17 16:16:29 +00:00
fix circular dependency with MiniMeToken -
This commit is contained in:
parent
df2bbab7a0
commit
92e0c8282a
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@ config/production/password
|
|||||||
config/livenet/password
|
config/livenet/password
|
||||||
chains.json
|
chains.json
|
||||||
embarkArtifacts/
|
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 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
|
### Goals
|
||||||
- Allow `Contributors` to build social capital, ideally in the form of Merit (degrades to popularity?)
|
- Allow `Contributors` to build social capital, ideally in the form of Merit (degrades to popularity?)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/*global web3*/
|
/*global web3*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
|
||||||
import {Button, Grid, Row, Col, Alert } from 'react-bootstrap';
|
import {Button, Grid, Row, Col, Alert } from 'react-bootstrap';
|
||||||
import * as NumericInput from 'react-numeric-input';
|
import * as NumericInput from 'react-numeric-input';
|
||||||
import Select from 'react-select';
|
import Select from 'react-select';
|
||||||
|
@ -30,7 +30,7 @@ import "../common/Controlled.sol";
|
|||||||
import "./TokenController.sol";
|
import "./TokenController.sol";
|
||||||
import "./ApproveAndCallFallBack.sol";
|
import "./ApproveAndCallFallBack.sol";
|
||||||
import "./MiniMeTokenInterface.sol";
|
import "./MiniMeTokenInterface.sol";
|
||||||
import "./MiniMeTokenFactory.sol";
|
import "./TokenFactory.sol";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev The actual token contract, the default controller is the msg.sender
|
* @dev The actual token contract, the default controller is the msg.sender
|
||||||
@ -84,7 +84,7 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||||||
bool public transfersEnabled;
|
bool public transfersEnabled;
|
||||||
|
|
||||||
// The factory used to create new clone tokens
|
// The factory used to create new clone tokens
|
||||||
MiniMeTokenFactory public tokenFactory;
|
TokenFactory public tokenFactory;
|
||||||
|
|
||||||
////////////////
|
////////////////
|
||||||
// Constructor
|
// Constructor
|
||||||
@ -116,7 +116,7 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||||||
)
|
)
|
||||||
public
|
public
|
||||||
{
|
{
|
||||||
tokenFactory = MiniMeTokenFactory(_tokenFactory);
|
tokenFactory = TokenFactory(_tokenFactory);
|
||||||
name = _tokenName; // Set the name
|
name = _tokenName; // Set the name
|
||||||
decimals = _decimalUnits; // Set the decimals
|
decimals = _decimalUnits; // Set the decimals
|
||||||
symbol = _tokenSymbol; // Set the symbol
|
symbol = _tokenSymbol; // Set the symbol
|
||||||
@ -425,14 +425,14 @@ contract MiniMeToken is MiniMeTokenInterface, Controlled {
|
|||||||
if (snapshotBlock == 0) {
|
if (snapshotBlock == 0) {
|
||||||
snapshotBlock = block.number;
|
snapshotBlock = block.number;
|
||||||
}
|
}
|
||||||
MiniMeToken cloneToken = tokenFactory.createCloneToken(
|
MiniMeToken cloneToken = MiniMeToken(tokenFactory.createCloneToken(
|
||||||
address(this),
|
address(this),
|
||||||
snapshotBlock,
|
snapshotBlock,
|
||||||
_cloneTokenName,
|
_cloneTokenName,
|
||||||
_cloneDecimalUnits,
|
_cloneDecimalUnits,
|
||||||
_cloneTokenSymbol,
|
_cloneTokenSymbol,
|
||||||
_transfersEnabled
|
_transfersEnabled
|
||||||
);
|
));
|
||||||
|
|
||||||
cloneToken.changeController(msg.sender);
|
cloneToken.changeController(msg.sender);
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
pragma solidity ^0.5.0;
|
pragma solidity ^0.5.0;
|
||||||
|
|
||||||
|
import "./TokenFactory.sol";
|
||||||
import "./MiniMeToken.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
|
* In solidity this is the way to create a contract from a contract of the
|
||||||
* same class
|
* same class
|
||||||
*/
|
*/
|
||||||
contract MiniMeTokenFactory {
|
contract MiniMeTokenFactory is TokenFactory {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notice Update the DApp by creating a new token with new functionalities
|
* @notice Update the DApp by creating a new token with new functionalities
|
||||||
@ -32,7 +33,7 @@ contract MiniMeTokenFactory {
|
|||||||
uint8 _decimalUnits,
|
uint8 _decimalUnits,
|
||||||
string memory _tokenSymbol,
|
string memory _tokenSymbol,
|
||||||
bool _transfersEnabled
|
bool _transfersEnabled
|
||||||
) public returns (MiniMeToken) {
|
) public returns (address payable) {
|
||||||
MiniMeToken newToken = new MiniMeToken(
|
MiniMeToken newToken = new MiniMeToken(
|
||||||
address(this),
|
address(this),
|
||||||
_parentToken,
|
_parentToken,
|
||||||
@ -44,6 +45,6 @@ contract MiniMeTokenFactory {
|
|||||||
);
|
);
|
||||||
|
|
||||||
newToken.changeController(msg.sender);
|
newToken.changeController(msg.sender);
|
||||||
return newToken;
|
return address(newToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
12
contracts/token/TokenFactory.sol
Normal file
12
contracts/token/TokenFactory.sol
Normal file
@ -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…
x
Reference in New Issue
Block a user