# BEP20 Contract Functions

{% hint style="success" %}
[Click here to access BSCscan page ](https://bscscan.com/token/0xbdc87a65e0b6bfb631847b7de815d2b07dec8ee7#code)
{% endhint %}

## Used variables

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

## Burn address

```solidity
address _addressburn = 0x000000000000000000000000000000000000dEaD;
```

## Mined supply and maximum supply

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

## Current owner

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

## Token name

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

## Decimals

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

## Token symbol

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

## Total supply

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

## Circulating supply

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

## Burnt amount

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

## Mined supply

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

## Total supply

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

## Wallet balance

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

## Transfer function

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

## Programmed minting

```solidity
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;
    }
```

## Minting start

```solidity
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;
   }
```

## Minting function

```solidity
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;
    }
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ivipcoin.com/ivipcoin-ivip/contract-at-binance-smart-chain-bep20/bep20-contract-functions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
