Blockwell

Tether USD

ERC20

This contract is an ERC20 token.

Name Tether USD
Symbol USDT
Decimals 6
Total Supply 6,877,479,172 USDT

About link description

Tether (USDT) is a cryptocurrency launched in 2015and operates on the Ethereum platform. Tether has a current supply of 64,469,767,616.826355 with 62,019,248,695.48168 in circulation. The last known price of Tether is 1.0002193 USD and is up 0.03 over the last 24 hours. It is currently trading on 14455 active market(s) with $46,171,067,305.95 traded over the last 24 hours. More information can be found at https://tether.to.

Stats

Public Functions 18
Event Types 11
Code Size 14,888 bytes

Events (11) keyboard_arrow_up

AddedBlackList Event

Parameters help
_user
address help

Approval Event

Parameters help
owner
address help
spender
address help
value
uint help

Deprecate Event

Parameters help
newAddress
address help

DestroyedBlackFunds Event

Parameters help
_blackListedUser
address help
_balance
uint help

Issue Event

Parameters help
amount
uint help

Params Event

Parameters help
feeBasisPoints
uint help
maxFee
uint help

Pause Event

Parameters help

Redeem Event

Parameters help
amount
uint help

RemovedBlackList Event

Parameters help
_user
address help

Transfer Event

Parameters help
from
address help
to
address help
value
uint help

Unpause Event

Parameters help

MAX_UINT Constant

uint help
UNKNOWN VALUE - 1

name Variable

string help

symbol Variable

string help

decimals Variable

uint help

upgradedAddress Variable

address help

deprecated Variable

bool help

paused Variable

bool help

owner Variable

address help

basisPointsRate Variable

uint help

maximumFee Variable

uint help

_totalSupply Variable

uint help

balances Variable

mapping(address => uint) help

isBlackListed Variable

mapping(address => bool) help

allowed Variable

mapping(address => mapping(address => uint)) 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() public constant returns (uint256) {
  if (deprecated) {
    return StandardToken(upgradedAddress).totalSupply();
  } else {
    return _totalSupply;
  }
}

Parameters help

Name Type
who
address help

Properties

Visibility help public
Mutability help constant
Source Code
function balanceOf(address who) public constant returns (uint256) {
  if (deprecated) {
    return UpgradedStandardToken(upgradedAddress).balanceOf(who);
  } else {
    return super.balanceOf(who);
  }
}

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function transfer(address _to, uint256 _value) public whenNotPaused {
  require(!isBlackListed[msg.sender]);
  if (deprecated) {
    return
      UpgradedStandardToken(upgradedAddress).transferByLegacy(
        msg.sender,
        _to,
        _value
      );
  } else {
    return super.transfer(_to, _value);
  }
}

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferOwnership(address newOwner) public onlyOwner {
  if (newOwner != address(0)) {
    owner = newOwner;
  }
}

getBlackListStatus keyboard_arrow_up

Parameters help

Name Type
_maker
address help

Properties

Visibility help public
Mutability help constant
Source Code
function getBlackListStatus(address _maker) external constant returns (bool) {
  return isBlackListed[_maker];
}

getOwner keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getOwner() external constant returns (address) {
  return owner;
}

addBlackList keyboard_arrow_up

Parameters help

Name Type
_evilUser
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function addBlackList(address _evilUser) public onlyOwner {
  isBlackListed[_evilUser] = true;
  AddedBlackList(_evilUser);
}

removeBlackList keyboard_arrow_up

Parameters help

Name Type
_clearedUser
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function removeBlackList(address _clearedUser) public onlyOwner {
  isBlackListed[_clearedUser] = false;
  RemovedBlackList(_clearedUser);
}

destroyBlackFunds keyboard_arrow_up

Parameters help

Name Type
_blackListedUser
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function destroyBlackFunds(address _blackListedUser) public onlyOwner {
  require(isBlackListed[_blackListedUser]);
  uint256 dirtyFunds = balanceOf(_blackListedUser);
  balances[_blackListedUser] = 0;
  _totalSupply -= dirtyFunds;
  DestroyedBlackFunds(_blackListedUser, dirtyFunds);
}

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)
  public
  constant
  returns (uint256 remaining)
{
  if (deprecated) {
    return StandardToken(upgradedAddress).allowance(_owner, _spender);
  } else {
    return super.allowance(_owner, _spender);
  }
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) public whenNotPaused {
  require(!isBlackListed[_from]);
  if (deprecated) {
    return
      UpgradedStandardToken(upgradedAddress).transferFromByLegacy(
        msg.sender,
        _from,
        _to,
        _value
      );
  } else {
    return super.transferFrom(_from, _to, _value);
  }
}

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyPayloadSize checks for the following:
UNKNOWN VALUE must not be true
Source Code
function approve(address _spender, uint256 _value)
  public
  onlyPayloadSize(2 * 32)
{
  if (deprecated) {
    return
      UpgradedStandardToken(upgradedAddress).approveByLegacy(
        msg.sender,
        _spender,
        _value
      );
  } else {
    return super.approve(_spender, _value);
  }
}

pause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function pause() public onlyOwner whenNotPaused {
  paused = true;
  Pause();
}

unpause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function unpause() public onlyOwner whenPaused {
  paused = false;
  Unpause();
}

deprecate keyboard_arrow_up

Parameters help

Name Type
_upgradedAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function deprecate(address _upgradedAddress) public onlyOwner {
  deprecated = true;
  upgradedAddress = _upgradedAddress;
  Deprecate(_upgradedAddress);
}

issue keyboard_arrow_up

Parameters help

Name Type
amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function issue(uint256 amount) public onlyOwner {
  require(_totalSupply + amount > _totalSupply);
  require(balances[owner] + amount > balances[owner]);

  balances[owner] += amount;
  _totalSupply += amount;
  Issue(amount);
}

redeem keyboard_arrow_up

Parameters help

Name Type
amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function redeem(uint256 amount) public onlyOwner {
  require(_totalSupply >= amount);
  require(balances[owner] >= amount);

  _totalSupply -= amount;
  balances[owner] -= amount;
  Redeem(amount);
}

setParams keyboard_arrow_up

Parameters help

Name Type
newBasisPoints
uint help
newMaxFee
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function setParams(uint256 newBasisPoints, uint256 newMaxFee) public onlyOwner {
  // Ensure transparency by hardcoding limit beyond which fees can never be added
  require(newBasisPoints < 20);
  require(newMaxFee < 50);

  basisPointsRate = newBasisPoints;
  maximumFee = newMaxFee.mul(10**decimals);

  Params(basisPointsRate, maximumFee);
}

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.