iVipCoin
Search
K

Funções do contrato BEP20

Tire suas duvidas sobre funções na estrutura do código

Variáveis utilizadas

address public _previousOwner;
uint256 public _locktime;
uint256 public _nownow;
uint256 private _amountt;
uint256 public amountMint;

Carteira de queima

address _addressburn = 0x000000000000000000000000000000000000dEaD;

Fornecimento minerado e fornecimento máximo

uint256 private constant _preMineSupply = 11999999998 * (10 ** 5); // 12 billions (60% supply)
uint256 private constant _maxSupply = 20000000000 * (10 ** 5); // 20 billions max. supply (100% supply)

Proprietário atual

function getOwner() external override view returns (address) {
return owner();
}

Nome do token

function name() public override view returns (string memory) {
return _name;
}

Casas decimais

function decimals() public override view returns (uint8) {
return _decimals;
}

Simbolo do token

function symbol() public override view returns (string memory) {
return _symbol;
}

Fornecimento total

function totalSupply() public override view returns (uint256) {
return _totalSupply;
}

Fornecimento em circulação

function circulatingSupply() public view returns (uint256)
{
return _totalSupply.sub(balanceOf(_addressburn));
}

Quantidade queimada

function burn() public view returns (uint256) {
return balanceOf(_addressburn)/100000;
}

Fornecimento minerado

function preMineSupply() public override view returns (uint256) {
return _preMineSupply;
}

Fornecimento máximo

function maxSupply() public override view returns (uint256) {
return _maxSupply;
}

Balanço das carteira

function balanceOf(address account) public override view returns (uint256) {
return _balances[account];
}

Função de transferência

function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}

Cunhagem programada

function minttocome(uint256 time, uint256 amount) public virtual onlyOwner {
_previousOwner = _msgSender();
_amountt = amount * (10 ** 5);
require(_amountt <= (_maxSupply / 5));
require(time >= 7);
_locktime = now + (time * 86400);
_nownow = now;
amountMint = amount;
}

Inicio da cunhagem

function mintnow() public virtual onlyOwner returns (bool) {
require(now > _locktime , "mint Now");
require(_previousOwner == _msgSender(), "You don't have permission to unlock");
_mint(_msgSender(), _amountt);
return true;
}

Função de cunhagem

function _mint(address account, uint256 amount) internal returns(bool) {
require(account != address(0), 'BEP20: mint to the zero address');
if (amount.add(_totalSupply) > _maxSupply) {
return false;
}
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
_locktime = now + now;
amountMint = 0;
}