contract BNSERC is ERC20, ERC20Capped, ERC20Burnable, Pausable, Ownable {
    constructor()
    ERC20("Bitbns Token", "BNS")
    ERC20Capped(250000000000*10**decimals()) {

    }

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

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override
    {
        super._beforeTokenTransfer(from, to, amount);
    }

    // The following functions are overrides required by Solidity.

    function _afterTokenTransfer(address from, address to, uint256 amount)
        internal
        override(ERC20)
    {
        super._afterTokenTransfer(from, to, amount);
    }

    function _mint(address to, uint256 amount)
        internal
        override(ERC20, ERC20Capped)
    {
        super._mint(to, amount);
    }

    function _burn(address account, uint256 amount)
        internal
        override(ERC20)
    {
        super._burn(account, amount);
    }
}
function _afterTokenTransfer(address from, address to, uint256 amount)
    internal
    override(ERC20)
{
    super._afterTokenTransfer(from, to, amount);
}

// The following functions are overrides required by Solidity.