Blockwell

Genesis Vision Token

ERC20

This contract is an ERC20 token.

Name Genesis Vision Token
Symbol GVT
Decimals 18
Total Supply 4,436,644 GVT

About link description

Genesis Vision (GVT) is a cryptocurrency and operates on the Ethereum platform. Genesis Vision has a current supply of 4,436,643.92853333 with 4,426,883.31189056 in circulation. The last known price of Genesis Vision is 2.27173093 USD and is down -0.95 over the last 24 hours. It is currently trading on 7 active market(s) with $256,542.36 traded over the last 24 hours. More information can be found at https://genesis.vision/.

Stats

Public Functions 13
Event Types 3
Code Size 7,871 bytes

Events (3) keyboard_arrow_up

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Migrate Event

Parameters help
_from
address help
_to
address help
_value
uint help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

name Constant

string help
Genesis Vision Token

symbol Constant

string help
GVT

decimals Constant

uint help
18

TOKEN_LIMIT Constant

uint help
44 * 1e6 * 1e18

ico Variable

address help

isFrozen Variable

bool help

migrationMaster Variable

address help

migrationAgent Variable

address help

totalMigrated Variable

uint help

totalSupply Variable

uint256 help

allowed Variable

mapping(address => mapping(address => uint256)) help
Internal Variable

balances Variable

mapping(address => uint256) help
Internal Variable

Functions Expand All Collapse All

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
function balanceOf(address _owner) constant returns (uint256 balance) {
  return balances[_owner];
}

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function transfer(address _to, uint256 _value) returns (bool) {
  balances[msg.sender] = balances[msg.sender].sub(_value);
  balances[_to] = balances[_to].add(_value);
  Transfer(msg.sender, _to, _value);
  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function allowance(address _owner, address _spender)
  constant
  returns (uint256 remaining)
{
  return allowed[_owner][_spender];
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) returns (bool) {
  var _allowance = allowed[_from][msg.sender];

  // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
  // require (_value <= _allowance);

  balances[_to] = balances[_to].add(_value);
  balances[_from] = balances[_from].sub(_value);
  allowed[_from][msg.sender] = _allowance.sub(_value);
  Transfer(_from, _to, _value);
  return true;
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

One or more of the following:
Source Code
function approve(address _spender, uint256 _value) returns (bool) {
  // To change the approve amount you first have to reduce the addresses`
  //  allowance to zero by calling `approve(_spender, 0)` if it is not
  //  already 0 to mitigate the race condition described here:
  //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
  require((_value == 0) || (allowed[msg.sender][_spender] == 0));

  allowed[msg.sender][_spender] = _value;
  Approval(msg.sender, _spender, _value);
  return true;
}

Parameters help

Name Type
holder
address help
value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function mint(address holder, uint256 value) {
  require(msg.sender == ico);
  require(value > 0);
  require(totalSupply + value <= TOKEN_LIMIT);

  balances[holder] += value;
  totalSupply += value;
  Transfer(0x0, holder, value);
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function unfreeze() {
  require(msg.sender == ico);
  isFrozen = false;
}

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transfer(address _to, uint256 _value) public returns (bool) {
  require(_to != address(0));
  require(!isFrozen);
  return super.transfer(_to, _value);
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) public returns (bool) {
  require(!isFrozen);
  return super.transferFrom(_from, _to, _value);
}

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
  require(!isFrozen);
  return super.approve(_spender, _value);
}

Parameters help

Name Type
value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function migrate(uint256 value) external {
  require(migrationAgent != 0);
  require(value > 0);
  require(value <= balances[msg.sender]);

  balances[msg.sender] -= value;
  totalSupply -= value;
  totalMigrated += value;
  MigrationAgent(migrationAgent).migrateFrom(msg.sender, value);
  Migrate(msg.sender, migrationAgent, value);
}

Parameters help

Name Type
_agent
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setMigrationAgent(address _agent) external {
  require(migrationAgent == 0);
  require(msg.sender == migrationMaster);
  migrationAgent = _agent;
}

Parameters help

Name Type
_master
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setMigrationMaster(address _master) external {
  require(msg.sender == migrationMaster);
  require(_master != 0);
  migrationMaster = _master;
}

Internal Functions Expand All Collapse All

Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.