Blockwell

BTSE Token

ERC20

This contract is an ERC20 token.

Name BTSE Token
Symbol BTSE
Decimals 8
Total Supply 2,100,000 BTSE

About link description

BTSE (BTSE) is a cryptocurrency launched in 2020and operates on the Ethereum platform. BTSE has a current supply of 165,904,711 with 4,354,711 in circulation. The last known price of BTSE is 5.72400411 USD and is down -0.43 over the last 24 hours. It is currently trading on 5 active market(s) with $379,787.37 traded over the last 24 hours. More information can be found at https://www.btse.com.

Stats

Public Functions 26
Event Types 6
Code Size 47,885 bytes

Events (6) keyboard_arrow_up

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Paused Event

Parameters help
account
address help

RoleGranted Event

Parameters help
role
bytes32 help
account
address help
sender
address help

RoleRevoked Event

Parameters help
role
bytes32 help
account
address help
sender
address help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

Unpaused Event

Parameters help
account
address help

MINTER_ROLE Constant

bytes32 help

PAUSER_ROLE Constant

bytes32 help

BURNER_ROLE Constant

bytes32 help

DEFAULT_ADMIN_ROLE Constant

bytes32 help
0x00

initialized Variable

bool help
Internal Variable

initializing Variable

bool help
Internal Variable

______gap Variable

uint256[] help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

_roles Variable

mapping(bytes32 => RoleData) help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

_balances Variable

mapping(address => uint256) help
Internal Variable

_allowances Variable

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

_totalSupply Variable

uint256 help
Internal Variable

_name Variable

string help
Internal Variable

_symbol Variable

string help
Internal Variable

_decimals Variable

uint8 help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

_paused Variable

bool help
Internal Variable

__gap Variable

uint256[] help
Internal Variable

Functions Expand All Collapse All

paused keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function paused() public view returns (bool) {
  return _paused;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function name() public view returns (string memory) {
  return _name;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function symbol() public view returns (string memory) {
  return _symbol;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function decimals() public view returns (uint8) {
  return _decimals;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function totalSupply() public view override returns (uint256) {
  return _totalSupply;
}

Parameters help

Name Type
account
address help

Properties

Visibility help public
Mutability help view
Source Code
function balanceOf(address account) public view override returns (uint256) {
  return _balances[account];
}

Parameters help

Name Type
recipient
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transfer(address recipient, uint256 amount)
  public
  virtual
  override
  returns (bool)
{
  _transfer(_msgSender(), recipient, amount);
  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
  virtual
  override
  returns (uint256)
{
  return _allowances[owner][spender];
}

Parameters help

Name Type
spender
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function approve(address spender, uint256 amount)
  public
  virtual
  override
  returns (bool)
{
  _approve(_msgSender(), spender, amount);
  return true;
}

Parameters help

Name Type
sender
address help
recipient
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transferFrom(
  address sender,
  address recipient,
  uint256 amount
) public virtual override returns (bool) {
  _transfer(sender, recipient, amount);
  _approve(
    sender,
    _msgSender(),
    _allowances[sender][_msgSender()].sub(
      amount,
      "ERC20: transfer amount exceeds allowance"
    )
  );
  return true;
}

Parameters help

Name Type
spender
address help
addedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function increaseAllowance(address spender, uint256 addedValue)
  public
  virtual
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].add(addedValue)
  );
  return true;
}

Parameters help

Name Type
spender
address help
subtractedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function decreaseAllowance(address spender, uint256 subtractedValue)
  public
  virtual
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].sub(
      subtractedValue,
      "ERC20: decreased allowance below zero"
    )
  );
  return true;
}

burn keyboard_arrow_up

Parameters help

Name Type
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burn(uint256 amount) public virtual {
  _burn(_msgSender(), amount);
}

burnFrom keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burnFrom(address account, uint256 amount) public virtual {
  uint256 decreasedAllowance = allowance(account, _msgSender()).sub(
    amount,
    "ERC20: burn amount exceeds allowance"
  );

  _approve(account, _msgSender(), decreasedAllowance);
  _burn(account, amount);
}

hasRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help public
Mutability help view
Source Code
function hasRole(bytes32 role, address account) public view returns (bool) {
  return _roles[role].members.contains(account);
}

getRoleMemberCount keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help

Properties

Visibility help public
Mutability help view
Source Code
function getRoleMemberCount(bytes32 role) public view returns (uint256) {
  return _roles[role].members.length();
}

getRoleMember keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
index
uint256 help

Properties

Visibility help public
Mutability help view
Source Code
function getRoleMember(bytes32 role, uint256 index)
  public
  view
  returns (address)
{
  return _roles[role].members.at(index);
}

getRoleAdmin keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help

Properties

Visibility help public
Mutability help view
Source Code
function getRoleAdmin(bytes32 role) public view returns (bytes32) {
  return _roles[role].adminRole;
}

grantRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

null
Source Code
function grantRole(bytes32 role, address account) public virtual {
  require(
    hasRole(_roles[role].adminRole, _msgSender()),
    "AccessControl: sender must be an admin to grant"
  );

  _grantRole(role, account);
}

revokeRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

null
Source Code
function revokeRole(bytes32 role, address account) public virtual {
  require(
    hasRole(_roles[role].adminRole, _msgSender()),
    "AccessControl: sender must be an admin to revoke"
  );

  _revokeRole(role, account);
}

renounceRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function renounceRole(bytes32 role, address account) public virtual {
  require(
    account == _msgSender(),
    "AccessControl: can only renounce roles for self"
  );

  _revokeRole(role, account);
}

initialize keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help
admin
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function initialize(
  string memory name,
  string memory symbol,
  address admin
) public {
  __BTSE_init(name, symbol, admin);
}

burn keyboard_arrow_up

Parameters help

Name Type
from
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burn(address from, uint256 amount) public {
  require(
    hasRole(BURNER_ROLE, msg.sender),
    "BTSE: must have burner role to burn"
  ); // _msgSender() ?
  _burn(from, amount);
}

mint keyboard_arrow_up

Parameters help

Name Type
to
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function mint(address to, uint256 amount) public {
  require(
    hasRole(MINTER_ROLE, msg.sender),
    "BTSE: must have minter role to mint"
  );
  _mint(to, amount);
}

pause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

null
Source Code
function pause() public {
  require(
    hasRole(PAUSER_ROLE, msg.sender),
    "BTSE: must have pauser role to pause"
  );
  _pause();
}

unpause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

null
Source Code
function unpause() public {
  require(
    hasRole(PAUSER_ROLE, msg.sender),
    "BTSE: must have pauser role to unpause"
  );
  _unpause();
}

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 BTSE.__BTSE_init keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help
admin
address help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __BTSE_init(
  string memory name,
  string memory symbol,
  address admin
) internal initializer {
  __Context_init_unchained();
  __AccessControl_init_unchained();
  __ERC20_init_unchained(name, symbol);
  __ERC20Burnable_init_unchained();
  __Pausable_init_unchained();
  __ERC20Pausable_init_unchained();
  __BTSE_init_unchained(name, symbol, admin);
}

internal BTSE.__BTSE_init_unchained keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help
admin
address help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __BTSE_init_unchained(
  string memory name,
  string memory symbol,
  address admin
) internal initializer {
  _setupRole(DEFAULT_ADMIN_ROLE, admin);
  _setupRole(MINTER_ROLE, admin);
  _setupRole(BURNER_ROLE, admin);
  _setupRole(PAUSER_ROLE, admin);

  _setupDecimals(8);
}

internal BTSE._beforeTokenTransfer keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _beforeTokenTransfer(
  address from,
  address to,
  uint256 amount
) internal override(ERC20UpgradeSafe, ERC20PausableUpgradeSafe) {
  super._beforeTokenTransfer(from, to, amount);
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal AccessControlUpgradeSafe.__AccessControl_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __AccessControl_init() internal initializer {
  __Context_init_unchained();
  __AccessControl_init_unchained();
}

internal AccessControlUpgradeSafe.__AccessControl_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __AccessControl_init_unchained() internal initializer {}

internal AccessControlUpgradeSafe._setupRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _setupRole(bytes32 role, address account) internal virtual {
  _grantRole(role, account);
}

internal AccessControlUpgradeSafe._setRoleAdmin keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
adminRole
bytes32 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
  _roles[role].adminRole = adminRole;
}

internal AccessControlUpgradeSafe._grantRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help private
Mutability help transaction
Source Code
function _grantRole(bytes32 role, address account) private {
  if (_roles[role].members.add(account)) {
    emit RoleGranted(role, account, _msgSender());
  }
}

internal AccessControlUpgradeSafe._revokeRole keyboard_arrow_up

Parameters help

Name Type
role
bytes32 help
account
address help

Properties

Visibility help private
Mutability help transaction
Source Code
function _revokeRole(bytes32 role, address account) private {
  if (_roles[role].members.remove(account)) {
    emit RoleRevoked(role, account, _msgSender());
  }
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ERC20BurnableUpgradeSafe.__ERC20Burnable_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20Burnable_init() internal initializer {
  __Context_init_unchained();
  __ERC20Burnable_init_unchained();
}

internal ERC20BurnableUpgradeSafe.__ERC20Burnable_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20Burnable_init_unchained() internal initializer {}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ERC20UpgradeSafe.__ERC20_init keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20_init(string memory name, string memory symbol)
  internal
  initializer
{
  __Context_init_unchained();
  __ERC20_init_unchained(name, symbol);
}

internal ERC20UpgradeSafe.__ERC20_init_unchained keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20_init_unchained(string memory name, string memory symbol)
  internal
  initializer
{
  _name = name;
  _symbol = symbol;
  _decimals = 18;
}

internal ERC20UpgradeSafe._transfer keyboard_arrow_up

Parameters help

Name Type
sender
address help
recipient
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transfer(
  address sender,
  address recipient,
  uint256 amount
) internal virtual {
  require(sender != address(0), "ERC20: transfer from the zero address");
  require(recipient != address(0), "ERC20: transfer to the zero address");

  _beforeTokenTransfer(sender, recipient, amount);

  _balances[sender] = _balances[sender].sub(
    amount,
    "ERC20: transfer amount exceeds balance"
  );
  _balances[recipient] = _balances[recipient].add(amount);
  emit Transfer(sender, recipient, amount);
}

internal ERC20UpgradeSafe._mint keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _mint(address account, uint256 amount) internal virtual {
  require(account != address(0), "ERC20: mint to the zero address");

  _beforeTokenTransfer(address(0), account, amount);

  _totalSupply = _totalSupply.add(amount);
  _balances[account] = _balances[account].add(amount);
  emit Transfer(address(0), account, amount);
}

internal ERC20UpgradeSafe._burn keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _burn(address account, uint256 amount) internal virtual {
  require(account != address(0), "ERC20: burn from the zero address");

  _beforeTokenTransfer(account, address(0), amount);

  _balances[account] = _balances[account].sub(
    amount,
    "ERC20: burn amount exceeds balance"
  );
  _totalSupply = _totalSupply.sub(amount);
  emit Transfer(account, address(0), amount);
}

internal ERC20UpgradeSafe._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 virtual {
  require(owner != address(0), "ERC20: approve from the zero address");
  require(spender != address(0), "ERC20: approve to the zero address");

  _allowances[owner][spender] = amount;
  emit Approval(owner, spender, amount);
}

internal ERC20UpgradeSafe._setupDecimals keyboard_arrow_up

Parameters help

Name Type
decimals_
uint8 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _setupDecimals(uint8 decimals_) internal {
  _decimals = decimals_;
}

internal ERC20UpgradeSafe._beforeTokenTransfer keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _beforeTokenTransfer(
  address from,
  address to,
  uint256 amount
) internal virtual {}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ERC20PausableUpgradeSafe.__ERC20Pausable_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20Pausable_init() internal initializer {
  __Context_init_unchained();
  __Pausable_init_unchained();
  __ERC20Pausable_init_unchained();
}

internal ERC20PausableUpgradeSafe.__ERC20Pausable_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20Pausable_init_unchained() internal initializer {}

internal ERC20PausableUpgradeSafe._beforeTokenTransfer keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _beforeTokenTransfer(
  address from,
  address to,
  uint256 amount
) internal virtual override {
  super._beforeTokenTransfer(from, to, amount);

  require(!paused(), "ERC20Pausable: token transfer while paused");
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ERC20UpgradeSafe.__ERC20_init keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20_init(string memory name, string memory symbol)
  internal
  initializer
{
  __Context_init_unchained();
  __ERC20_init_unchained(name, symbol);
}

internal ERC20UpgradeSafe.__ERC20_init_unchained keyboard_arrow_up

Parameters help

Name Type
name
string help
symbol
string help

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __ERC20_init_unchained(string memory name, string memory symbol)
  internal
  initializer
{
  _name = name;
  _symbol = symbol;
  _decimals = 18;
}

internal ERC20UpgradeSafe._transfer keyboard_arrow_up

Parameters help

Name Type
sender
address help
recipient
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transfer(
  address sender,
  address recipient,
  uint256 amount
) internal virtual {
  require(sender != address(0), "ERC20: transfer from the zero address");
  require(recipient != address(0), "ERC20: transfer to the zero address");

  _beforeTokenTransfer(sender, recipient, amount);

  _balances[sender] = _balances[sender].sub(
    amount,
    "ERC20: transfer amount exceeds balance"
  );
  _balances[recipient] = _balances[recipient].add(amount);
  emit Transfer(sender, recipient, amount);
}

internal ERC20UpgradeSafe._mint keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _mint(address account, uint256 amount) internal virtual {
  require(account != address(0), "ERC20: mint to the zero address");

  _beforeTokenTransfer(address(0), account, amount);

  _totalSupply = _totalSupply.add(amount);
  _balances[account] = _balances[account].add(amount);
  emit Transfer(address(0), account, amount);
}

internal ERC20UpgradeSafe._burn keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _burn(address account, uint256 amount) internal virtual {
  require(account != address(0), "ERC20: burn from the zero address");

  _beforeTokenTransfer(account, address(0), amount);

  _balances[account] = _balances[account].sub(
    amount,
    "ERC20: burn amount exceeds balance"
  );
  _totalSupply = _totalSupply.sub(amount);
  emit Transfer(account, address(0), amount);
}

internal ERC20UpgradeSafe._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 virtual {
  require(owner != address(0), "ERC20: approve from the zero address");
  require(spender != address(0), "ERC20: approve to the zero address");

  _allowances[owner][spender] = amount;
  emit Approval(owner, spender, amount);
}

internal ERC20UpgradeSafe._setupDecimals keyboard_arrow_up

Parameters help

Name Type
decimals_
uint8 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _setupDecimals(uint8 decimals_) internal {
  _decimals = decimals_;
}

internal ERC20UpgradeSafe._beforeTokenTransfer keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _beforeTokenTransfer(
  address from,
  address to,
  uint256 amount
) internal virtual {}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal PausableUpgradeSafe.__Pausable_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Pausable_init() internal initializer {
  __Context_init_unchained();
  __Pausable_init_unchained();
}

internal PausableUpgradeSafe.__Pausable_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Pausable_init_unchained() internal initializer {
  _paused = false;
}

internal PausableUpgradeSafe._pause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function _pause() internal virtual whenNotPaused {
  _paused = true;
  emit Paused(_msgSender());
}

internal PausableUpgradeSafe._unpause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function _unpause() internal virtual whenPaused {
  _paused = false;
  emit Unpaused(_msgSender());
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}

internal ContextUpgradeSafe.__Context_init keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init() internal initializer {
  __Context_init_unchained();
}

internal ContextUpgradeSafe.__Context_init_unchained keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction

Modifiers help

Source Code
function __Context_init_unchained() internal initializer {}

internal ContextUpgradeSafe._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view virtual returns (address payable) {
  return msg.sender;
}

internal ContextUpgradeSafe._msgData keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgData() internal view virtual returns (bytes memory) {
  this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
  return msg.data;
}

internal Initializable.isConstructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help private
Mutability help view
Source Code
function isConstructor() private view returns (bool) {
  // extcodesize checks the size of the code stored in an address, and
  // address returns the current address. Since the code is still not
  // deployed when running a constructor, any checks on its code size will
  // yield zero, making it an effective way to detect if a contract is
  // under construction or not.
  address self = address(this);
  uint256 cs;
  assembly {
    cs := extcodesize(self)
  }
  return cs == 0;
}