ETH Price: $2,091.95 (+0.98%)

Contract

0xBB1fA4FdEB3459733bF67EbC6f893003fA976a82
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer246591952026-03-15 0:06:2314 hrs ago1773533183IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000048531.02591546
Transfer245455352026-02-27 3:19:5916 days ago1772162399IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000002460.05219205
Transfer234388782025-09-25 8:32:23171 days ago1758789143IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000076431.61603884
Approve233845222025-09-17 18:14:23178 days ago1758132863IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000076171.64171611
Approve232215722025-08-26 0:01:47201 days ago1756166507IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000013880.5318376
Approve232215652025-08-26 0:00:23201 days ago1756166423IN
0xBB1fA4Fd...3fA976a82
0 ETH0.00001250.51879273
Approve224666572025-05-12 10:38:11307 days ago1747046291IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000145115.55732555
Approve224438512025-05-09 5:30:23310 days ago1746768623IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000064761.40346803
Approve224436942025-05-09 4:58:23310 days ago1746766703IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000063371.37292751
Approve224436702025-05-09 4:53:35310 days ago1746766415IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000101952.21006749
Approve222586812025-04-13 7:53:23336 days ago1744530803IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000017210.59379926
Approve222586732025-04-13 7:51:47336 days ago1744530707IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000027540.5978046
Transfer222049402025-04-05 19:56:23343 days ago1743882983IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000021990.46531583
Approve221900242025-04-03 17:58:11345 days ago1743703091IN
0xBB1fA4Fd...3fA976a82
0 ETH0.00003270.70490113
Transfer221617002025-03-30 19:04:59349 days ago1743361499IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000046880.991942
Approve220732642025-03-18 10:47:59362 days ago1742294879IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000023030.95511387
Approve218944912025-02-21 11:43:47387 days ago1740138227IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000057421.2454665
Transfer214944172024-12-27 14:33:11442 days ago1735309991IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000413488.74891797
Approve214942282024-12-27 13:55:23443 days ago1735307723IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000261935.69108335
Transfer214379032024-12-19 16:56:59450 days ago1734627419IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0009861520.84501604
Transfer208686082024-10-01 5:39:11530 days ago1727761151IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0005563218.40846873
Transfer208640322024-09-30 14:21:23531 days ago1727706083IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0008971718.9786745
Transfer208416882024-09-27 11:33:35534 days ago1727436815IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0005345911.3
Transfer204530972024-08-04 5:28:23588 days ago1722749303IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000052071
Transfer203955632024-07-27 4:41:59596 days ago1722055319IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000051591
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PATToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

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

/*
 * ERC-20 Standard Token Smart Contract Interface.
 * Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <mikhail.vladimirov@gmail.com>
 */
pragma solidity ^0.4.16;

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x <= MAX_UINT256 - y);
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x >= y);
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    assert (x <= MAX_UINT256 / y);
    return x * y;
  }
}

/**
 * Abstract Token Smart Contract that could be used as a base contract for
 * ERC-20 token contracts.
 */
contract AbstractToken is Token, SafeMath {
  /**
   * Create new Abstract Token contract.
   */
  function AbstractToken () {
    // Do nothing
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    uint256 fromBalance = accounts [msg.sender];
    if (fromBalance < _value) return false;
    if (_value > 0 && msg.sender != _to) {
      accounts [msg.sender] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (msg.sender, _to, _value);
    return true;
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success) {
    uint256 spenderAllowance = allowances [_from][msg.sender];
    if (spenderAllowance < _value) return false;
    uint256 fromBalance = accounts [_from];
    if (fromBalance < _value) return false;

    allowances [_from][msg.sender] =
      safeSub (spenderAllowance, _value);

    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (_from, _to, _value);
    return true;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success) {
    allowances [msg.sender][_spender] = _value;
    Approval (msg.sender, _spender, _value);

    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining) {
    return allowances [_owner][_spender];
  }

  /**
   * Mapping from addresses of token holders to the numbers of tokens belonging
   * to these token holders.
   */
  mapping (address => uint256) accounts;

  /**
   * Mapping from addresses of token holders to the mapping of addresses of
   * spenders to the allowances set by these token holders to these spenders.
   */
  mapping (address => mapping (address => uint256)) private allowances;
}

/**
 * PAT Token Smart Contract.
 */
contract PATToken is AbstractToken {
  uint256 constant internal TOKENS_COUNT = 42000000000e18;

  /**
   * Create PAT Token smart contract with given central bank address.
   *
   * @param _centralBank central bank address
   */
  function PATToken (address _centralBank)
    AbstractToken () {
    accounts [_centralBank] = TOKENS_COUNT; // Limit emission to 42G
  }

  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply) {
    return TOKENS_COUNT;
  }

  /**
   * Get name of this token.
   *
   * @return name of this token
   */
  function name () public pure returns (string) {
    return "Pangea Arbitration Token";
  }

  /**
   * Get symbol of this token.
   *
   * @return symbol of this token
   */
  function symbol () public pure returns (string) {
    return "PAT";
  }

  /**
   * Get number of decimals for this token.
   *
   * @return number of decimals for this token
   */
  function decimals () public pure returns (uint8) {
    return 18;
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_centralBank","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"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"}]

6060604052341561000f57600080fd5b604051602080610795833981016040528080519150505b5b5b600160a060020a03811660009081526020819052604090206b87b595f2383509fe1000000090555b505b610734806100616000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009b578063095ea7b31461012657806318160ddd1461015c57806323b872dd14610181578063313ce567146101bd57806370a08231146101e657806395d89b4114610217578063a9059cbb146102a2578063dd62ed3e146102d8575b600080fd5b34156100a657600080fd5b6100ae61030f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013157600080fd5b610148600160a060020a0360043516602435610351565b604051901515815260200160405180910390f35b341561016757600080fd5b61016f6103be565b60405190815260200160405180910390f35b341561018c57600080fd5b610148600160a060020a03600435811690602435166044356103cf565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101d0610538565b60405160ff909116815260200160405180910390f35b34156101f157600080fd5b61016f600160a060020a036004351661053e565b60405190815260200160405180910390f35b341561022257600080fd5b6100ae61055d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b610148600160a060020a036004351660243561059f565b604051901515815260200160405180910390f35b34156102e357600080fd5b61016f600160a060020a0360043581169060243516610696565b60405190815260200160405180910390f35b6103176106f6565b60408051908101604052601881527f50616e676561204172626974726174696f6e20546f6b656e0000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b87b595f2383509fe100000005b90565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561040a576000925061052f565b50600160a060020a03851660009081526020819052604090205483811015610435576000925061052f565b61043f82856106c3565b600160a060020a038088166000908152600160209081526040808320339094168352929052908120919091558411801561048b575084600160a060020a031686600160a060020a031614155b156104e35761049a81856106c3565b600160a060020a0380881660009081526020819052604080822093909355908716815220546104c990856106da565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60125b90565b600160a060020a0381166000908152602081905260409020545b919050565b6105656106f6565b60408051908101604052600381527f5041540000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a033316600090815260208190526040812054828110156105c9576000915061068f565b6000831180156105eb575083600160a060020a031633600160a060020a031614155b15610643576105fa81846106c3565b600160a060020a03338116600090815260208190526040808220939093559086168152205461062990846106da565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000818310156106cf57fe5b508082035b92915050565b60006000198290038311156106eb57fe5b508181015b92915050565b602060405190810160405260008152905600a165627a7a7230582050d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e3140029000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c

Deployed Bytecode

0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009b578063095ea7b31461012657806318160ddd1461015c57806323b872dd14610181578063313ce567146101bd57806370a08231146101e657806395d89b4114610217578063a9059cbb146102a2578063dd62ed3e146102d8575b600080fd5b34156100a657600080fd5b6100ae61030f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013157600080fd5b610148600160a060020a0360043516602435610351565b604051901515815260200160405180910390f35b341561016757600080fd5b61016f6103be565b60405190815260200160405180910390f35b341561018c57600080fd5b610148600160a060020a03600435811690602435166044356103cf565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101d0610538565b60405160ff909116815260200160405180910390f35b34156101f157600080fd5b61016f600160a060020a036004351661053e565b60405190815260200160405180910390f35b341561022257600080fd5b6100ae61055d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b610148600160a060020a036004351660243561059f565b604051901515815260200160405180910390f35b34156102e357600080fd5b61016f600160a060020a0360043581169060243516610696565b60405190815260200160405180910390f35b6103176106f6565b60408051908101604052601881527f50616e676561204172626974726174696f6e20546f6b656e0000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b87b595f2383509fe100000005b90565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561040a576000925061052f565b50600160a060020a03851660009081526020819052604090205483811015610435576000925061052f565b61043f82856106c3565b600160a060020a038088166000908152600160209081526040808320339094168352929052908120919091558411801561048b575084600160a060020a031686600160a060020a031614155b156104e35761049a81856106c3565b600160a060020a0380881660009081526020819052604080822093909355908716815220546104c990856106da565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60125b90565b600160a060020a0381166000908152602081905260409020545b919050565b6105656106f6565b60408051908101604052600381527f5041540000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a033316600090815260208190526040812054828110156105c9576000915061068f565b6000831180156105eb575083600160a060020a031633600160a060020a031614155b15610643576105fa81846106c3565b600160a060020a03338116600090815260208190526040808220939093559086168152205461062990846106da565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000818310156106cf57fe5b508082035b92915050565b60006000198290038311156106eb57fe5b508181015b92915050565b602060405190810160405260008152905600a165627a7a7230582050d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e3140029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c

-----Decoded View---------------
Arg [0] : _centralBank (address): 0xCDE042543307966bc16Eff3cDca4d32B23408C4c

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c


Swarm Source

bzzr://50d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e314

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.