Blockwell

Chronobank TIME

ERC20

This contract is an ERC20 token.

Name Chronobank TIME
Symbol TIME
Decimals 8
Total Supply 710,113 TIME

About

Stats

Public Functions 29
Event Types 3
Code Size 40,919 bytes

Events (3) keyboard_arrow_up

Approval Event

Parameters help
from
address help
spender
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

UpgradeProposal Event

Parameters help
newVersion
address help

UPGRADE_FREEZE_TIME Constant

uint help
3 days

chronoBankPlatform Variable

address help

name Variable

string help

symbol Variable

string help

smbl Variable

bytes32 help
Internal Variable

latestVersion Variable

address help
Internal Variable

pendingVersion Variable

address help
Internal Variable

pendingVersionTimestamp Variable

uint help
Internal Variable

userOptOutVersion Variable

mapping(address => address) help
Internal Variable

Functions Expand All Collapse All

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function totalSupply() constant returns (uint256) {
  return chronoBankPlatform.totalSupply(smbl);
}

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
function balanceOf(address _owner) constant returns (uint256) {
  return chronoBankPlatform.balanceOf(_owner, smbl);
}

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 success);

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 success);

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function approve(address _spender, uint256 _value) returns (bool success);

Parameters help

Name Type
_from
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function allowance(address _from, address _spender) constant returns (uint256) {
  return chronoBankPlatform.allowance(_from, _spender, smbl);
}

init keyboard_arrow_up

Parameters help

Name Type
_chronoBankPlatform
ChronoBankPlatform help
_symbol
string help
_name
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function init(
  ChronoBankPlatform _chronoBankPlatform,
  string _symbol,
  string _name
) returns (bool) {
  if (address(chronoBankPlatform) != 0x0) {
    return false;
  }
  chronoBankPlatform = _chronoBankPlatform;
  symbol = _symbol;
  smbl = stringToBytes32(_symbol);
  name = _name;
  return true;
}

stringToBytes32 keyboard_arrow_up

Parameters help

Name Type
source
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function stringToBytes32(string memory source) returns (bytes32 result) {
  assembly {
    result := mload(add(source, 32))
  }
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function decimals() constant returns (uint8) {
  return chronoBankPlatform.baseUnit(smbl);
}

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function transfer(address _to, uint256 _value) returns (bool) {
  return _transferWithReference(_to, _value, "");
}

transferWithReference keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help
_reference
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferWithReference(
  address _to,
  uint256 _value,
  string _reference
) returns (bool) {
  return _transferWithReference(_to, _value, _reference);
}

__transferWithReference keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help
_reference
string help
_sender
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyAccess checks for the following:
Source Code
function __transferWithReference(
  address _to,
  uint256 _value,
  string _reference,
  address _sender
) onlyAccess(_sender) returns (bool) {
  return
    chronoBankPlatform.proxyTransferWithReference(
      _to,
      _value,
      smbl,
      _reference,
      _sender
    );
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) returns (bool) {
  return _transferFromWithReference(_from, _to, _value, "");
}

transferFromWithReference keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help
_reference
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferFromWithReference(
  address _from,
  address _to,
  uint256 _value,
  string _reference
) returns (bool) {
  return _transferFromWithReference(_from, _to, _value, _reference);
}

__transferFromWithReference keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help
_reference
string help
_sender
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyAccess checks for the following:
Source Code
function __transferFromWithReference(
  address _from,
  address _to,
  uint256 _value,
  string _reference,
  address _sender
) onlyAccess(_sender) returns (bool) {
  return
    chronoBankPlatform.proxyTransferFromWithReference(
      _from,
      _to,
      _value,
      smbl,
      _reference,
      _sender
    );
}

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function approve(address _spender, uint256 _value) returns (bool) {
  return _approve(_spender, _value);
}

__approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint help
_sender
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyAccess checks for the following:
Source Code
function __approve(
  address _spender,
  uint256 _value,
  address _sender
) onlyAccess(_sender) returns (bool) {
  return chronoBankPlatform.proxyApprove(_spender, _value, smbl, _sender);
}

emitTransfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyChronoBankPlatform checks for the following:
Source Code
function emitTransfer(
  address _from,
  address _to,
  uint256 _value
) onlyChronoBankPlatform() {
  Transfer(_from, _to, _value);
}

emitApprove keyboard_arrow_up

Parameters help

Name Type
_from
address help
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyChronoBankPlatform checks for the following:
Source Code
function emitApprove(
  address _from,
  address _spender,
  uint256 _value
) onlyChronoBankPlatform() {
  Approval(_from, _spender, _value);
}

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help payable
Source Code
function() payable {
  _getAsset().__process.value(msg.value)(msg.data, msg.sender);
}

getVersionFor keyboard_arrow_up

Parameters help

Name Type
_sender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function getVersionFor(address _sender) constant returns (address) {
  return
    userOptOutVersion[_sender] == 0
      ? latestVersion
      : userOptOutVersion[_sender];
}

getLatestVersion keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getLatestVersion() constant returns (address) {
  return latestVersion;
}

getPendingVersion keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getPendingVersion() constant returns (address) {
  return pendingVersion;
}

getPendingVersionTimestamp keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getPendingVersionTimestamp() constant returns (uint256) {
  return pendingVersionTimestamp;
}

proposeUpgrade keyboard_arrow_up

Parameters help

Name Type
_newVersion
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyAssetOwner checks for the following:
Source Code
function proposeUpgrade(address _newVersion) onlyAssetOwner() returns (bool) {
  // Should not already be in the upgrading process.
  if (pendingVersion != 0x0) {
    return false;
  }
  // New version address should be other than 0x0.
  if (_newVersion == 0x0) {
    return false;
  }
  // Don't apply freeze-time for the initial setup.
  if (latestVersion == 0x0) {
    latestVersion = _newVersion;
    return true;
  }
  pendingVersion = _newVersion;
  pendingVersionTimestamp = now;
  UpgradeProposal(_newVersion);
  return true;
}

purgeUpgrade keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyAssetOwner checks for the following:
Source Code
function purgeUpgrade() onlyAssetOwner() returns (bool) {
  if (pendingVersion == 0x0) {
    return false;
  }
  delete pendingVersion;
  delete pendingVersionTimestamp;
  return true;
}

commitUpgrade keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function commitUpgrade() returns (bool) {
  if (pendingVersion == 0x0) {
    return false;
  }
  if (pendingVersionTimestamp + UPGRADE_FREEZE_TIME > now) {
    return false;
  }
  latestVersion = pendingVersion;
  delete pendingVersion;
  delete pendingVersionTimestamp;
  return true;
}

optOut keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function optOut() returns (bool) {
  if (userOptOutVersion[msg.sender] != 0x0) {
    return false;
  }
  userOptOutVersion[msg.sender] = latestVersion;
  return true;
}

optIn keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function optIn() returns (bool) {
  delete userOptOutVersion[msg.sender];
  return true;
}

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.

internal ChronoBankAssetProxy._getAsset keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction
Source Code
function _getAsset() internal returns (ChronoBankAsset) {
  return ChronoBankAsset(getVersionFor(msg.sender));
}

internal ChronoBankAssetProxy._transferWithReference keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help
_reference
string help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _transferWithReference(
  address _to,
  uint256 _value,
  string _reference
) internal returns (bool) {
  return
    _getAsset().__transferWithReference(_to, _value, _reference, msg.sender);
}

internal ChronoBankAssetProxy._transferFromWithReference keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help
_reference
string help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _transferFromWithReference(
  address _from,
  address _to,
  uint256 _value,
  string _reference
) internal returns (bool) {
  return
    _getAsset().__transferFromWithReference(
      _from,
      _to,
      _value,
      _reference,
      msg.sender
    );
}

internal ChronoBankAssetProxy._approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _approve(address _spender, uint256 _value) internal returns (bool) {
  return _getAsset().__approve(_spender, _value, msg.sender);
}