Blockwell

CREDITS

ERC20

This contract is an ERC20 token.

Name CREDITS
Symbol CS
Decimals 6
Total Supply 249,471,071 CS

About

Stats

Public Functions 21
Event Types 3
Code Size 9,197 bytes

Events (3) keyboard_arrow_up

Approval Event

Parameters help
tokenOwner
address help
spender
address help
tokens
uint help

Burn Event

Parameters help
from
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

name Variable

string help

symbol Variable

string help

decimals Variable

uint8 help

totalSupply Variable

uint256 help

TotalHoldersAmount Variable

uint help

Frozen Variable

bool help

CanChange Variable

bool help

Admin Variable

address help

AddressForReturn Variable

address help

owner Variable

address help

balanceOf Variable

mapping(address => uint256) help

AccountIsFrozen Variable

mapping(address => bool) help

AccountIsNotFrozen Variable

mapping(address => bool) help

AccountIsNotFrozenForReturn Variable

mapping(address => bool) help

AccountIsFrozenByDate Variable

mapping(address => uint) help

isHolder Variable

mapping(address => bool) help

isArrAccountIsFrozen Variable

mapping(address => bool) help

isArrAccountIsNotFrozen Variable

mapping(address => bool) help

isArrAccountIsNotFrozenForReturn Variable

mapping(address => bool) help

isArrAccountIsFrozenByDate Variable

mapping(address => bool) help

Accounts Variable

address[] help
Internal Variable

allowance Variable

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

Arrholders Variable

address[] help
Internal Variable

ArrAccountIsFrozen Variable

address[] help
Internal Variable

ArrAccountIsNotFrozen Variable

address[] help
Internal Variable

ArrAccountIsNotFrozenForReturn Variable

address[] help
Internal Variable

ArrAccountIsFrozenByDate Variable

address[] help
Internal Variable

Functions Expand All Collapse All

setAdmin keyboard_arrow_up

Parameters help

Name Type
_address
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function setAdmin(address _address) public onlyOwner {
  require(CanChange);
  Admin = _address;
}

setFrozen keyboard_arrow_up

Parameters help

Name Type
_Frozen
bool help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function setFrozen(bool _Frozen) public onlyOwner {
  require(CanChange);
  Frozen = _Frozen;
}

setCanChange keyboard_arrow_up

Parameters help

Name Type
_canChange
bool help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function setCanChange(bool _canChange) public onlyOwner {
  require(CanChange);
  CanChange = _canChange;
}

setAccountIsFrozen keyboard_arrow_up

Parameters help

Name Type
_address
address help
_IsFrozen
bool help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function setAccountIsFrozen(address _address, bool _IsFrozen)
  public
  isCanChange
{
  AccountIsFrozen[_address] = _IsFrozen;
  if (isArrAccountIsFrozen[_address] != true) {
    ArrAccountIsFrozen[ArrAccountIsFrozen.length++] = _address;
    isArrAccountIsFrozen[_address] = true;
  }
}

setAccountIsNotFrozen keyboard_arrow_up

Parameters help

Name Type
_address
address help
_IsFrozen
bool help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function setAccountIsNotFrozen(address _address, bool _IsFrozen)
  public
  isCanChange
{
  AccountIsNotFrozen[_address] = _IsFrozen;
  if (isArrAccountIsNotFrozen[_address] != true) {
    ArrAccountIsNotFrozen[ArrAccountIsNotFrozen.length++] = _address;
    isArrAccountIsNotFrozen[_address] = true;
  }
}

setAccountIsNotFrozenForReturn keyboard_arrow_up

Parameters help

Name Type
_address
address help
_IsFrozen
bool help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function setAccountIsNotFrozenForReturn(address _address, bool _IsFrozen)
  public
  isCanChange
{
  AccountIsNotFrozenForReturn[_address] = _IsFrozen;
  if (isArrAccountIsNotFrozenForReturn[_address] != true) {
    ArrAccountIsNotFrozenForReturn[
      ArrAccountIsNotFrozenForReturn.length++
    ] = _address;
    isArrAccountIsNotFrozenForReturn[_address] = true;
  }
}

setAccountIsFrozenByDate keyboard_arrow_up

Parameters help

Name Type
_address
address help
_Date
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function setAccountIsFrozenByDate(address _address, uint256 _Date)
  public
  isCanChange
{
  require(!isArrAccountIsFrozenByDate[_address]);
  AccountIsFrozenByDate[_address] = _Date;
  ArrAccountIsFrozenByDate[ArrAccountIsFrozenByDate.length++] = _address;
  isArrAccountIsFrozenByDate[_address] = true;
}

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transfer(address _to, uint256 _value) public {
  require(
    ((!Frozen && AccountIsFrozen[msg.sender] != true) ||
      ((Frozen) && AccountIsNotFrozen[msg.sender] == true) ||
      (AccountIsNotFrozenForReturn[msg.sender] == true &&
        _to == AddressForReturn)) && now > AccountIsFrozenByDate[msg.sender]
  );
  require(balanceOf[msg.sender] >= _value); // Check if the sender has enough
  require(balanceOf[_to] + _value >= balanceOf[_to]); // Check for overflows
  balanceOf[msg.sender] -= _value; // Subtract from the sender
  balanceOf[_to] += _value; // Add the same to the recipient
  Transfer(msg.sender, _to, _value); // Notify anyone listening that this transfer took place
  if (isHolder[_to] != true) {
    Arrholders[Arrholders.length++] = _to;
    isHolder[_to] = true;
  }
}

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)
  public
  returns (bool success)
{
  allowance[msg.sender][_spender] = _value;
  Approval(msg.sender, _spender, _value);
  return true;
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) public IsNotFrozen returns (bool success) {
  require(
    ((!Frozen && AccountIsFrozen[_from] != true) ||
      ((Frozen) && AccountIsNotFrozen[_from] == true)) &&
      now > AccountIsFrozenByDate[_from]
  );
  require(balanceOf[_from] >= _value); // Check if the sender has enough
  require(balanceOf[_to] + _value >= balanceOf[_to]); // Check for overflows
  require(_value <= allowance[_from][msg.sender]); // Check allowance
  balanceOf[_from] -= _value; // Subtract from the sender
  balanceOf[_to] += _value; // Add the same to the recipient
  allowance[_from][msg.sender] -= _value;
  Transfer(_from, _to, _value);
  if (isHolder[_to] != true) {
    Arrholders[Arrholders.length++] = _to;
    isHolder[_to] = true;
  }
  return true;
}

burn keyboard_arrow_up

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function burn(uint256 _value) public IsNotFrozen returns (bool success) {
  require(balanceOf[msg.sender] >= _value); // Check if the sender has enough
  balanceOf[msg.sender] -= _value; // Subtract from the sender
  totalSupply -= _value; // Updates totalSupply
  Burn(msg.sender, _value);
  return true;
}

burnFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burnFrom(address _from, uint256 _value)
  public
  IsNotFrozen
  returns (bool success)
{
  require(
    ((!Frozen && AccountIsFrozen[_from] != true) ||
      ((Frozen) && AccountIsNotFrozen[_from] == true)) &&
      now > AccountIsFrozenByDate[_from]
  );
  require(balanceOf[_from] >= _value); // Check if the targeted balance is enough
  require(_value <= allowance[_from][msg.sender]); // Check allowance
  balanceOf[_from] -= _value; // Subtract from the targeted balance
  allowance[_from][msg.sender] -= _value; // Subtract from the sender's allowance
  totalSupply -= _value; // Update totalSupply
  Burn(_from, _value);
  return true;
}

GetHoldersCount keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function GetHoldersCount() public view returns (uint256 _HoldersCount) {
  return (Arrholders.length - 1);
}

GetAccountIsFrozenCount keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function GetAccountIsFrozenCount() public view returns (uint256 _Count) {
  return (ArrAccountIsFrozen.length);
}

GetAccountIsNotFrozenForReturnCount keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function GetAccountIsNotFrozenForReturnCount()
  public
  view
  returns (uint256 _Count)
{
  return (ArrAccountIsNotFrozenForReturn.length);
}

GetAccountIsNotFrozenCount keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function GetAccountIsNotFrozenCount() public view returns (uint256 _Count) {
  return (ArrAccountIsNotFrozen.length);
}

GetAccountIsFrozenByDateCount keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function GetAccountIsFrozenByDateCount() public view returns (uint256 _Count) {
  return (ArrAccountIsFrozenByDate.length);
}

SetAddressForReturn keyboard_arrow_up

Parameters help

Name Type
_address
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function SetAddressForReturn(address _address)
  public
  isCanChange
  returns (bool success)
{
  AddressForReturn = _address;
  return true;
}

setSymbol keyboard_arrow_up

Parameters help

Name Type
_symbol
string help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function setSymbol(string _symbol) public onlyOwner {
  require(CanChange);
  symbol = _symbol;
}

setName keyboard_arrow_up

Parameters help

Name Type
_name
string help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function setName(string _name) public onlyOwner {
  require(CanChange);
  name = _name;
}

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

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.