Blockwell

Axie Infinity Shard

ERC20

This contract is an ERC20 token.

Name Axie Infinity Shard
Symbol AXS
Decimals 18
Total Supply 270,000,000 AXS

About link description

Axie Infinity (AXS) is a cryptocurrency launched in 2020and operates on the Ethereum platform. Axie Infinity has a current supply of 270,000,000 with 60,907,500 in circulation. The last known price of Axie Infinity is 22.28303329 USD and is down -10.53 over the last 24 hours. It is currently trading on 58 active market(s) with $1,859,214,433.07 traded over the last 24 hours. More information can be found at https://axieinfinity.com/.

Stats

Public Functions 6
Event Types 2
Code Size 6,028 bytes

Events (2) keyboard_arrow_up

Approval Event

Parameters help
_owner
address help
_spender
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

mainchainGateway Variable

address help

balanceOf Variable

mapping(address => uint256) help

_allowance Variable

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

Functions Expand All Collapse All

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
  _approve(msg.sender, _spender, _value);
  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help view
Source Code
function allowance(address _owner, address _spender)
  public
  view
  returns (uint256 _value)
{
  if (_spender == mainchainGateway) return uint256(-1);

  return _allowance[_owner][_spender];
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function increaseAllowance(address _spender, uint256 _value)
  public
  returns (bool)
{
  _approve(msg.sender, _spender, _allowance[msg.sender][_spender].add(_value));
  return true;
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function decreaseAllowance(address _spender, uint256 _value)
  public
  returns (bool)
{
  _approve(msg.sender, _spender, _allowance[msg.sender][_spender].sub(_value));
  return true;
}

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) public returns (bool _success) {
  _transfer(msg.sender, _to, _value);
  return true;
}

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
) public returns (bool _success) {
  if (allowance(_from, msg.sender) != uint256(-1)) {
    super._approve(
      _from,
      msg.sender,
      _allowance[_from][msg.sender].sub(_value)
    );
  }

  _transfer(_from, _to, _value);
  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 ERC20._approve keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help
_amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _approve(
  address _owner,
  address _spender,
  uint256 _amount
) internal {
  require(_owner != address(0), "ERC20: approve from the zero address");
  require(_spender != address(0), "ERC20: approve to the zero address");

  _allowance[_owner][_spender] = _amount;
  emit Approval(_owner, _spender, _amount);
}

internal ERC20._transfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _transfer(
  address _from,
  address _to,
  uint256 _value
) internal {
  require(_from != address(0), "ERC20: transfer from the zero address");
  require(_to != address(0), "ERC20: transfer to the zero address");
  require(_to != address(this), "ERC20: transfer to this contract address");

  balanceOf[_from] = balanceOf[_from].sub(_value);
  balanceOf[_to] = balanceOf[_to].add(_value);
  emit Transfer(_from, _to, _value);
}

internal ERC20GatewayWhitelist._setGateway keyboard_arrow_up

Parameters help

Name Type
_mainchainGateway
address help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _setGateway(address _mainchainGateway) internal {
  require(
    _mainchainGateway != address(0),
    "ERC20GatewayWhitelist: setting gateway to the zero address"
  );
  mainchainGateway = _mainchainGateway;
}

internal ERC20._approve keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help
_amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _approve(
  address _owner,
  address _spender,
  uint256 _amount
) internal {
  require(_owner != address(0), "ERC20: approve from the zero address");
  require(_spender != address(0), "ERC20: approve to the zero address");

  _allowance[_owner][_spender] = _amount;
  emit Approval(_owner, _spender, _amount);
}

internal ERC20._transfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _transfer(
  address _from,
  address _to,
  uint256 _value
) internal {
  require(_from != address(0), "ERC20: transfer from the zero address");
  require(_to != address(0), "ERC20: transfer to the zero address");
  require(_to != address(this), "ERC20: transfer to this contract address");

  balanceOf[_from] = balanceOf[_from].sub(_value);
  balanceOf[_to] = balanceOf[_to].add(_value);
  emit Transfer(_from, _to, _value);
}