Blockwell

Numeraire

ERC20

This contract is an ERC20 token.

Name Numeraire
Symbol NMR
Decimals 18
Total Supply 10,979,491 NMR

About link description

Numeraire (NMR) is a cryptocurrency token and operates on the Ethereum platform. Numeraire has a current supply of 10,979,454.346 with 2,974,893.096 in circulation. The last known price of Numeraire is $56.03 USD and is up 38.46% over the last 24 hours. It is currently trading on 45 active market(s) with $67,862,701.663 traded over the last 24 hours. More information can be found at https://numer.ai/.

Stats

Public Functions 29
Event Types 11
Code Size 18,186 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Confirmation Event

Parameters help
owner
address help
operation
bytes32 help

DelegateChanged Event

Parameters help
oldAddress
address help
newAddress
address help

Mint Event

Parameters help
value
uint256 help

Revoke Event

Parameters help
owner
address help
operation
bytes32 help

RoundCreated Event

Parameters help
tournamentID
uint256 help
roundID
uint256 help
endTime
uint256 help
resolutionTime
uint256 help

StakeDestroyed Event

Parameters help
tournamentID
uint256 help
roundID
uint256 help
stakerAddress
address help
tag
bytes32 help

StakeReleased Event

Parameters help
tournamentID
uint256 help
roundID
uint256 help
stakerAddress
address help
tag
bytes32 help
etherReward
uint256 help

Staked Event

Parameters help
staker
address help
tag
bytes32 help
totalAmountStaked
uint256 help
confidence
uint256 help
tournamentID
uint256 help
roundID
uint256 help

TournamentCreated Event

Parameters help
tournamentID
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

Functions Expand All Collapse All

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help payable
Source Code
    function () payable { }

getMintable keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
    function getMintable() constant returns (uint256) {
        return
            safeSubtract(
                safeAdd(initial_disbursement,
                    safeMultiply(weekly_disbursement,
                        safeSubtract(block.timestamp, deploy_time))
                    / 1 weeks),
                total_minted);
    }

changeShareable keyboard_arrow_up

Parameters help

Name Type
_owners
address[] help
_required
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyManyOwners checks for the following:
Source Code
  function changeShareable(address[] _owners, uint _required) onlyManyOwners(sha3(msg.data)) {
    for (uint i = 0; i < _owners.length; ++i) {
      owners[1 + i] = _owners[i];
      ownerIndex[_owners[i]] = 1 + i;
    }
    if (required > owners.length) throw;
    required = _required;
  }

revoke keyboard_arrow_up

Parameters help

Name Type
_operation
bytes32 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function revoke(bytes32 _operation) external {
    uint index = ownerIndex[msg.sender];
    // make sure they're an owner
    if (index == 0) return;
    uint ownerIndexBit = 2**index;
    var pending = pendings[_operation];
    if (pending.ownersDone & ownerIndexBit > 0) {
      pending.yetNeeded++;
      pending.ownersDone -= ownerIndexBit;
      Revoke(msg.sender, _operation);
    }
  }

getOwner keyboard_arrow_up

Parameters help

Name Type
ownerIndex
uint help

Properties

Visibility help public
Mutability help constant
Source Code
  function getOwner(uint ownerIndex) external constant returns (address) {
    return address(owners[ownerIndex + 1]);
  }

isOwner keyboard_arrow_up

Parameters help

Name Type
_addr
address help

Properties

Visibility help public
Mutability help constant
Source Code
  function isOwner(address _addr) constant returns (bool) {
    return ownerIndex[_addr] > 0;
  }

hasConfirmed keyboard_arrow_up

Parameters help

Name Type
_operation
bytes32 help
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
  function hasConfirmed(bytes32 _operation, address _owner) constant returns (bool) {
    var pending = pendings[_operation];
    uint index = ownerIndex[_owner];

    // make sure they're an owner
    if (index == 0) return false;

    // determine the bit to set for this owner.
    uint ownerIndexBit = 2**index;
    return !(pending.ownersDone & ownerIndexBit == 0);
  }

emergencyStop keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:

Requirements help

Source Code
  function emergencyStop() external onlyOwner {
    assert(stoppable);
    stopped = true;
  }

release keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyManyOwners checks for the following:

Requirements help

Source Code
  function release() external onlyManyOwners(sha3(msg.data)) {
    assert(stoppable);
    stopped = false;
  }

disableStopping keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyManyOwners checks for the following:
Source Code
  function disableStopping() external onlyManyOwners(sha3(msg.data)) {
    stoppable = false;
  }

disableContractUpgradability keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyManyOwners checks for the following:

Requirements help

Source Code
    function disableContractUpgradability() onlyManyOwners(sha3(msg.data)) returns (bool) {
        assert(contractUpgradable);
        contractUpgradable = false;
    }

changeDelegate keyboard_arrow_up

Parameters help

Name Type
_newDelegate
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyManyOwners checks for the following:

Requirements help

Source Code
    function changeDelegate(address _newDelegate) onlyManyOwners(sha3(msg.data)) returns (bool) {
        assert(contractUpgradable);

        if (_newDelegate != delegateContract) {
            previousDelegates.push(delegateContract);
            var oldDelegate = delegateContract;
            delegateContract = _newDelegate;
            DelegateChanged(oldDelegate, _newDelegate);
            return true;
        }

        return false;
    }

claimTokens keyboard_arrow_up

Parameters help

Name Type
_token
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
Source Code
    function claimTokens(address _token) onlyOwner {
        assert(_token != numerai);
        if (_token == 0x0) {
            msg.sender.transfer(this.balance);
            return;
        }

        NumeraireBackend token = NumeraireBackend(_token);
        uint256 balance = token.balanceOf(this);
        token.transfer(msg.sender, balance);
    }

mint keyboard_arrow_up

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function mint(uint256 _value) stopInEmergency returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("mint(uint256)")), _value);
    }

stake keyboard_arrow_up

Parameters help

Name Type
_value
uint256 help
_tag
bytes32 help
_tournamentID
uint256 help
_roundID
uint256 help
_confidence
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function stake(uint256 _value, bytes32 _tag, uint256 _tournamentID, uint256 _roundID, uint256 _confidence) stopInEmergency returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("stake(uint256,bytes32,uint256,uint256,uint256)")), _value, _tag, _tournamentID, _roundID, _confidence);
    }

stakeOnBehalf keyboard_arrow_up

Parameters help

Name Type
_staker
address help
_value
uint256 help
_tag
bytes32 help
_tournamentID
uint256 help
_roundID
uint256 help
_confidence
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function stakeOnBehalf(address _staker, uint256 _value, bytes32 _tag, uint256 _tournamentID, uint256 _roundID, uint256 _confidence) stopInEmergency onlyPayloadSize(6) returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("stakeOnBehalf(address,uint256,bytes32,uint256,uint256,uint256)")), _staker, _value, _tag, _tournamentID, _roundID, _confidence);
    }

releaseStake keyboard_arrow_up

Parameters help

Name Type
_staker
address help
_tag
bytes32 help
_etherValue
uint256 help
_tournamentID
uint256 help
_roundID
uint256 help
_successful
bool help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function releaseStake(address _staker, bytes32 _tag, uint256 _etherValue, uint256 _tournamentID, uint256 _roundID, bool _successful) stopInEmergency onlyPayloadSize(6) returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("releaseStake(address,bytes32,uint256,uint256,uint256,bool)")), _staker, _tag, _etherValue, _tournamentID, _roundID, _successful);
    }

destroyStake keyboard_arrow_up

Parameters help

Name Type
_staker
address help
_tag
bytes32 help
_tournamentID
uint256 help
_roundID
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function destroyStake(address _staker, bytes32 _tag, uint256 _tournamentID, uint256 _roundID) stopInEmergency onlyPayloadSize(4) returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("destroyStake(address,bytes32,uint256,uint256)")), _staker, _tag, _tournamentID, _roundID);
    }

numeraiTransfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
    function numeraiTransfer(address _to, uint256 _value) onlyPayloadSize(2) returns(bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("numeraiTransfer(address,uint256)")), _to, _value);
    }

withdraw keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
    function withdraw(address _from, address _to, uint256 _value) onlyPayloadSize(3) returns(bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("withdraw(address,address,uint256)")), _from, _to, _value);
    }

createTournament keyboard_arrow_up

Parameters help

Name Type
_tournamentID
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function createTournament(uint256 _tournamentID) returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("createTournament(uint256)")), _tournamentID);
    }

createRound keyboard_arrow_up

Parameters help

Name Type
_tournamentID
uint256 help
_roundID
uint256 help
_endTime
uint256 help
_resolutionTime
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function createRound(uint256 _tournamentID, uint256 _roundID, uint256 _endTime, uint256 _resolutionTime) returns (bool ok) {
        return delegateContract.delegatecall(bytes4(sha3("createRound(uint256,uint256,uint256,uint256)")), _tournamentID, _roundID, _endTime, _resolutionTime);
    }

getTournament keyboard_arrow_up

Parameters help

Name Type
_tournamentID
uint256 help

Properties

Visibility help public
Mutability help constant
Source Code
    function getTournament(uint256 _tournamentID) constant returns (uint256, uint256[]) {
        var tournament = tournaments[_tournamentID];
        return (tournament.creationTime, tournament.roundIDs);
    }

getRound keyboard_arrow_up

Parameters help

Name Type
_tournamentID
uint256 help
_roundID
uint256 help

Properties

Visibility help public
Mutability help constant
Source Code
    function getRound(uint256 _tournamentID, uint256 _roundID) constant returns (uint256, uint256, uint256) {
        var round = tournaments[_tournamentID].rounds[_roundID];
        return (round.creationTime, round.endTime, round.resolutionTime);
    }

getStake keyboard_arrow_up

Parameters help

Name Type
_tournamentID
uint256 help
_roundID
uint256 help
_staker
address help
_tag
bytes32 help

Properties

Visibility help public
Mutability help constant
Source Code
    function getStake(uint256 _tournamentID, uint256 _roundID, address _staker, bytes32 _tag) constant returns (uint256, uint256, bool, bool) {
        var stake = tournaments[_tournamentID].rounds[_roundID].stakes[_staker][_tag];
        return (stake.confidence, stake.amount, stake.successful, stake.resolved);
    }

transferFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:

Requirements help

Source Code
    function transferFrom(address _from, address _to, uint256 _value) stopInEmergency onlyPayloadSize(3) returns (bool ok) {
        require(!isOwner(_from) && _from != numerai); // Transfering from Numerai can only be done with the numeraiTransfer function

        // Check for sufficient funds.
        require(balanceOf[_from] >= _value);
        // Check for authorization to spend.
        require(allowance[_from][msg.sender] >= _value);

        balanceOf[_from] = safeSubtract(balanceOf[_from], _value);
        allowance[_from][msg.sender] = safeSubtract(allowance[_from][msg.sender], _value);
        balanceOf[_to] = safeAdd(balanceOf[_to], _value);

        // Notify anyone listening.
        Transfer(_from, _to, _value);

        return true;
    }

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function transfer(address _to, uint256 _value) stopInEmergency onlyPayloadSize(2) returns (bool ok) {
        // Check for sufficient funds.
        require(balanceOf[msg.sender] >= _value);

        balanceOf[msg.sender] = safeSubtract(balanceOf[msg.sender], _value);
        balanceOf[_to] = safeAdd(balanceOf[_to], _value);

        // Notify anyone listening.
        Transfer(msg.sender, _to, _value);

        return true;
    }

approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:

Requirements help

One or more of the following:
Source Code
    function approve(address _spender, uint256 _value) stopInEmergency onlyPayloadSize(2) returns (bool ok) {
        require((_value == 0) || (allowance[msg.sender][_spender] == 0));
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

changeApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_oldValue
uint256 help
_newValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

stopInEmergency checks for the following:
Source Code
    function changeApproval(address _spender, uint256 _oldValue, uint256 _newValue) stopInEmergency onlyPayloadSize(3) returns (bool ok) {
        require(allowance[msg.sender][_spender] == _oldValue);
        allowance[msg.sender][_spender] = _newValue;
        Approval(msg.sender, _spender, _newValue);
        return true;
    }