ETH Price: $1,673.81 (+3.43%)
Gas: 8 Gwei
 
Transaction Hash
Method
Block
From
To
Value
0xdc52822dded56642163a7babf9f30963ffb323e2c3314abcb8621100071a9439Transfer(pending)2023-09-24 5:03:335 days 4 hrs ago1695531813IN
Universa Token
0 ETH(Pending)(Pending)
Transfer182260372023-09-27 8:54:352 days 53 mins ago1695804875IN
Universa Token
0 ETH0.000494839.48157483
Transfer181970772023-09-23 7:37:476 days 2 hrs ago1695454667IN
Universa Token
0 ETH0.000324429.2425332
Transfer181947132023-09-22 23:40:476 days 10 hrs ago1695426047IN
Universa Token
0 ETH0.00034479.8237024
Transfer181616742023-09-18 8:33:4711 days 1 hr ago1695026027IN
Universa Token
0 ETH0.000374210.66454009
Transfer181610602023-09-18 6:29:3511 days 3 hrs ago1695018575IN
Universa Token
0 ETH0.000297558.48012245
Transfer181559932023-09-17 13:17:1111 days 20 hrs ago1694956631IN
Universa Token
0 ETH0.000353610.07751348
Transfer181559932023-09-17 13:17:1111 days 20 hrs ago1694956631IN
Universa Token
0 ETH0.000353610.07751348
Transfer181553432023-09-17 11:03:5911 days 22 hrs ago1694948639IN
Universa Token
0 ETH0.0003562710.15708018
Transfer181553422023-09-17 11:03:4711 days 22 hrs ago1694948627IN
Universa Token
0 ETH0.0003689610.51510721
Transfer181543982023-09-17 7:50:4712 days 1 hr ago1694937047IN
Universa Token
0 ETH0.000285539.43081302
Transfer181543802023-09-17 7:47:1112 days 2 hrs ago1694936831IN
Universa Token
0 ETH0.000381878.06025918
Transfer181058642023-09-10 12:06:1118 days 21 hrs ago1694347571IN
Universa Token
0 ETH0.000430529.08496961
Transfer181023242023-09-10 0:12:3519 days 9 hrs ago1694304755IN
Universa Token
0 ETH0.000220489
Transfer181023242023-09-10 0:12:3519 days 9 hrs ago1694304755IN
Universa Token
0 ETH0.000426399
Transfer180758732023-09-06 7:17:2323 days 2 hrs ago1693984643IN
Universa Token
0 ETH0.0004599613.10842619
Transfer180598832023-09-04 1:37:4725 days 8 hrs ago1693791467IN
Universa Token
0 ETH0.000370310.55705002
Transfer180479322023-09-02 9:26:5927 days 21 mins ago1693646819IN
Universa Token
0 ETH0.0004410612.56990382
Transfer180475622023-09-02 8:12:1127 days 1 hr ago1693642331IN
Universa Token
0 ETH0.0003795210.81595866
Transfer180345702023-08-31 12:30:5928 days 21 hrs ago1693485059IN
Universa Token
0 ETH0.0006810622.49452497
Transfer180345502023-08-31 12:26:4728 days 21 hrs ago1693484807IN
Universa Token
0 ETH0.0009902318.97836942
Transfer180246592023-08-30 3:11:5930 days 6 hrs ago1693365119IN
Universa Token
0 ETH0.0006325118.02603282
Transfer180193042023-08-29 9:12:2331 days 35 mins ago1693300343IN
Universa Token
0 ETH0.0005402517.8437527
Transfer180192522023-08-29 9:01:3531 days 46 mins ago1693299695IN
Universa Token
0 ETH0.0009075317.39331158
Transfer179912142023-08-25 10:48:5934 days 22 hrs ago1692960539IN
Universa Token
0 ETH0.0005678116.18762263
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UTNP

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-01-13
*/

pragma solidity ^0.4.13;

/**
 * @title UTN-P ERC20 token by Universa Blockchain.
 *
 * @dev Based on OpenZeppelin framework.
 *
 * Features:
 *
 * * ERC20 compatibility, with token details as properties.
 * * total supply: 4997891952 (initially given to the contract author).
 * * decimals: 18
 * * BurnableToken: some addresses are allowed to burn tokens.
 * * “third-party smart contract trading protection”: transferFrom/approve/allowance methods are present but do nothing.
 * * TimeLock: implemented externally (in TokenTimelock contract), some tokens are time-locked for 3 months.
 * * Bulk send: implemented externally (in BulkSender contract), some tokens are time-locked for 3 months.
 */

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

}

contract BurnableToken is BasicToken {

    event Burn(address indexed burner, uint256 value);

    /**
     * @dev Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public {
        require(_value <= balances[msg.sender]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
    }
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract UTNP is BasicToken, BurnableToken, ERC20, Ownable {

    string public constant name = "UTN-P: Universa Token";
    string public constant symbol = "UTNP";
    uint8 public constant decimals = 18;
    string public constant version = "1.0";

    uint256 constant INITIAL_SUPPLY_UTN = 4997891952;

    /// @dev whether an address is permitted to perform burn operations.
    mapping(address => bool) public isBurner;

    /**
     * @dev Constructor that:
     * * gives all of existing tokens to the message sender;
     * * initializes the burners (also adding the message sender);
     */
    function UTNP() public {
        totalSupply = INITIAL_SUPPLY_UTN * (10 ** uint256(decimals));
        balances[msg.sender] = totalSupply;

        isBurner[msg.sender] = true;
    }

    /**
     * @dev Standard method to comply with ERC20 interface;
     * prevents some Ethereum-contract-initiated operations.
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        return false;
    }

    /**
     * @dev Standard method to comply with ERC20 interface;
     * prevents some Ethereum-contract-initiated operations.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        return false;
    }

    /**
     * @dev Standard method to comply with ERC20 interface;
     * prevents some Ethereum-contract-initiated operations.
     */
    function allowance(address _owner, address _spender) public view returns (uint256) {
        return 0;
    }

    /**
     * @dev Grant or remove burn permissions. Only owner can do that!
     */
    function grantBurner(address _burner, bool _value) public onlyOwner {
        isBurner[_burner] = _value;
    }

    /**
     * @dev Throws if called by any account other than the burner.
     */
    modifier onlyBurner() {
        require(isBurner[msg.sender]);
        _;
    }

    /**
     * @dev Burns a specific amount of tokens.
     * Only an address listed in `isBurner` can do this.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public onlyBurner {
        super.burn(_value);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_burner","type":"address"},{"name":"_value","type":"bool"}],"name":"grantBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

6060604052341561000f57600080fd5b60028054600160a060020a033316600160a060020a031990911681179091556b102628c99c3d562bf7c00000600081815591825260016020818152604080852093909355600390529120805460ff19169091179055610768806100736000396000f3006060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b31461016957806318160ddd1461019f57806323b872dd146101c4578063313ce567146101ec57806342966c68146102155780634334614a1461022d57806354fd4d501461024c578063567a03a71461025f57806370a08231146102835780638da5cb5b146102a257806395d89b41146102d1578063a9059cbb146102e4578063dd62ed3e14610306578063f2fde38b1461032b575b600080fd5b34156100ea57600080fd5b6100f261034a565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012e578082015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017457600080fd5b61018b600160a060020a0360043516602435610381565b604051901515815260200160405180910390f35b34156101aa57600080fd5b6101b2610389565b60405190815260200160405180910390f35b34156101cf57600080fd5b61018b600160a060020a036004358116906024351660443561038f565b34156101f757600080fd5b6101ff610398565b60405160ff909116815260200160405180910390f35b341561022057600080fd5b61022b60043561039d565b005b341561023857600080fd5b61018b600160a060020a03600435166103d0565b341561025757600080fd5b6100f26103e5565b341561026a57600080fd5b61022b600160a060020a0360043516602435151561041c565b341561028e57600080fd5b6101b2600160a060020a0360043516610462565b34156102ad57600080fd5b6102b561047d565b604051600160a060020a03909116815260200160405180910390f35b34156102dc57600080fd5b6100f261048c565b34156102ef57600080fd5b61018b600160a060020a03600435166024356104c3565b341561031157600080fd5b6101b2600160a060020a0360043581169060243516610381565b341561033657600080fd5b61022b600160a060020a03600435166105be565b60408051908101604052601581527f55544e2d503a20556e69766572736120546f6b656e0000000000000000000000602082015281565b600092915050565b60005481565b60009392505050565b601281565b600160a060020a03331660009081526003602052604090205460ff1615156103c457600080fd5b6103cd81610659565b50565b60036020526000908152604090205460ff1681565b60408051908101604052600381527f312e300000000000000000000000000000000000000000000000000000000000602082015281565b60025433600160a060020a0390811691161461043757600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600160a060020a031660009081526001602052604090205490565b600254600160a060020a031681565b60408051908101604052600481527f55544e5000000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a03831615156104da57600080fd5b600160a060020a0333166000908152600160205260409020548211156104ff57600080fd5b600160a060020a033316600090815260016020526040902054610528908363ffffffff61071416565b600160a060020a03338116600090815260016020526040808220939093559085168152205461055d908363ffffffff61072616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60025433600160a060020a039081169116146105d957600080fd5b600160a060020a03811615156105ee57600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526001602052604081205482111561067e57600080fd5b5033600160a060020a0381166000908152600160205260409020546106a39083610714565b600160a060020a038216600090815260016020526040812091909155546106d0908363ffffffff61071416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60008282111561072057fe5b50900390565b60008282018381101561073557fe5b93925050505600a165627a7a72305820664588c96d34e5a74eaad24b1388f142ca884acdcabe989c3f0cfe99ef7889000029

Deployed Bytecode

0x6060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b31461016957806318160ddd1461019f57806323b872dd146101c4578063313ce567146101ec57806342966c68146102155780634334614a1461022d57806354fd4d501461024c578063567a03a71461025f57806370a08231146102835780638da5cb5b146102a257806395d89b41146102d1578063a9059cbb146102e4578063dd62ed3e14610306578063f2fde38b1461032b575b600080fd5b34156100ea57600080fd5b6100f261034a565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012e578082015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017457600080fd5b61018b600160a060020a0360043516602435610381565b604051901515815260200160405180910390f35b34156101aa57600080fd5b6101b2610389565b60405190815260200160405180910390f35b34156101cf57600080fd5b61018b600160a060020a036004358116906024351660443561038f565b34156101f757600080fd5b6101ff610398565b60405160ff909116815260200160405180910390f35b341561022057600080fd5b61022b60043561039d565b005b341561023857600080fd5b61018b600160a060020a03600435166103d0565b341561025757600080fd5b6100f26103e5565b341561026a57600080fd5b61022b600160a060020a0360043516602435151561041c565b341561028e57600080fd5b6101b2600160a060020a0360043516610462565b34156102ad57600080fd5b6102b561047d565b604051600160a060020a03909116815260200160405180910390f35b34156102dc57600080fd5b6100f261048c565b34156102ef57600080fd5b61018b600160a060020a03600435166024356104c3565b341561031157600080fd5b6101b2600160a060020a0360043581169060243516610381565b341561033657600080fd5b61022b600160a060020a03600435166105be565b60408051908101604052601581527f55544e2d503a20556e69766572736120546f6b656e0000000000000000000000602082015281565b600092915050565b60005481565b60009392505050565b601281565b600160a060020a03331660009081526003602052604090205460ff1615156103c457600080fd5b6103cd81610659565b50565b60036020526000908152604090205460ff1681565b60408051908101604052600381527f312e300000000000000000000000000000000000000000000000000000000000602082015281565b60025433600160a060020a0390811691161461043757600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600160a060020a031660009081526001602052604090205490565b600254600160a060020a031681565b60408051908101604052600481527f55544e5000000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a03831615156104da57600080fd5b600160a060020a0333166000908152600160205260409020548211156104ff57600080fd5b600160a060020a033316600090815260016020526040902054610528908363ffffffff61071416565b600160a060020a03338116600090815260016020526040808220939093559085168152205461055d908363ffffffff61072616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60025433600160a060020a039081169116146105d957600080fd5b600160a060020a03811615156105ee57600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526001602052604081205482111561067e57600080fd5b5033600160a060020a0381166000908152600160205260409020546106a39083610714565b600160a060020a038216600090815260016020526040812091909155546106d0908363ffffffff61071416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60008282111561072057fe5b50900390565b60008282018381101561073557fe5b93925050505600a165627a7a72305820664588c96d34e5a74eaad24b1388f142ca884acdcabe989c3f0cfe99ef7889000029

Swarm Source

bzzr://664588c96d34e5a74eaad24b1388f142ca884acdcabe989c3f0cfe99ef788900

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

The Universa blockchain is a cooperative ledger of state changes, performed bylicensed and trusted nodes.

Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.