POL Price: $0.220609 (+0.65%)
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve704729832025-04-19 0:40:114 days ago1745023211IN
0xb90dc063...764d3d98e
0 POL0.001468530
Approve682750002025-02-23 12:52:0558 days ago1740315125IN
0xb90dc063...764d3d98e
0 POL0.0008194930.6492425
Approve681798452025-02-21 4:00:3461 days ago1740110434IN
0xb90dc063...764d3d98e
0 POL0.0017647936
Approve681461392025-02-20 7:53:4762 days ago1740038027IN
0xb90dc063...764d3d98e
0 POL0.001967340.19
Approve678078562025-02-11 19:25:3170 days ago1739301931IN
0xb90dc063...764d3d98e
0 POL0.001468530
Approve677314942025-02-09 18:52:2572 days ago1739127145IN
0xb90dc063...764d3d98e
0 POL0.0010383832.77529393
Approve677314942025-02-09 18:52:2572 days ago1739127145IN
0xb90dc063...764d3d98e
0 POL0.0009504630.00000006
Approve677314942025-02-09 18:52:2572 days ago1739127145IN
0xb90dc063...764d3d98e
0 POL0.0009369632.44106808
Approve675510832025-02-05 2:35:0977 days ago1738722909IN
0xb90dc063...764d3d98e
0 POL0.0015936832.66960006
Approve675508102025-02-05 2:25:2977 days ago1738722329IN
0xb90dc063...764d3d98e
0 POL0.0009281631.87157887
Approve675365532025-02-04 17:54:0977 days ago1738691649IN
0xb90dc063...764d3d98e
0 POL0.0024352649.75
Approve674659082025-02-02 22:56:5979 days ago1738537019IN
0xb90dc063...764d3d98e
0 POL0.02211747451.72745954
Approve673309412025-01-30 13:59:5782 days ago1738245597IN
0xb90dc063...764d3d98e
0 POL0.0024261649.49133429
Approve672627452025-01-28 21:25:1184 days ago1738099511IN
0xb90dc063...764d3d98e
0 POL0.001221441.94110353
Approve672481542025-01-28 12:43:0484 days ago1738068184IN
0xb90dc063...764d3d98e
0 POL0.0015839232.35
Approve668602732025-01-18 19:19:2894 days ago1737227968IN
0xb90dc063...764d3d98e
0 POL0.0022972246.93
Approve668507902025-01-18 13:40:2194 days ago1737207621IN
0xb90dc063...764d3d98e
0 POL0.00570961116.47046888
Approve667614092025-01-16 8:18:5597 days ago1737015535IN
0xb90dc063...764d3d98e
0 POL0.0025047751.09486396
Approve664617442025-01-08 19:47:42104 days ago1736365662IN
0xb90dc063...764d3d98e
0 POL0.0018922138.59932577
Approve663731632025-01-06 13:35:42106 days ago1736170542IN
0xb90dc063...764d3d98e
0 POL0.0042713787.26
Approve663448072025-01-05 19:36:17107 days ago1736105777IN
0xb90dc063...764d3d98e
0 POL0.0008021430
Approve662254672025-01-02 17:22:32110 days ago1735838552IN
0xb90dc063...764d3d98e
0 POL0.0013999728.55808585
Approve662166002025-01-02 11:50:14110 days ago1735818614IN
0xb90dc063...764d3d98e
0 POL0.0036868375.20783275
Approve662166002025-01-02 11:50:14110 days ago1735818614IN
0xb90dc063...764d3d98e
0 POL0.0036868375.20783275
Approve662120712025-01-02 8:58:54111 days ago1735808334IN
0xb90dc063...764d3d98e
0 POL0.0013937328.43074338
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
551657292024-03-28 5:47:49391 days ago1711604869  Contract Creation0 POL
Loading...
Loading

Minimal Proxy Contract for 0x34b9dc29aadc313f2bf828b7be1e0dee393d28e3

Contract Name:
InitializableERC20

Compiler Version
v0.6.9+commit.3e3065ac

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at polygonscan.com on 2021-07-01
*/

// File: contracts/lib/SafeMath.sol

/*

    Copyright 2020 DODO ZOO.
    SPDX-License-Identifier: Apache-2.0

*/

pragma solidity 0.6.9;


/**
 * @title SafeMath
 * @author DODO Breeder
 *
 * @notice Math operations with safety checks that revert on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "MUL_ERROR");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "DIVIDING_ERROR");
        return a / b;
    }

    function divCeil(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 quotient = div(a, b);
        uint256 remainder = a - quotient * b;
        if (remainder > 0) {
            return quotient + 1;
        } else {
            return quotient;
        }
    }

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

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

    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = x / 2 + 1;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

// File: contracts/external/ERC20/InitializableERC20.sol



contract InitializableERC20 {
    using SafeMath for uint256;

    string public name;
    uint8 public decimals;
    string public symbol;
    uint256 public totalSupply;

    bool public initialized;

    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) internal allowed;

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    function init(
        address _creator,
        uint256 _totalSupply,
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) public {
        require(!initialized, "TOKEN_INITIALIZED");
        initialized = true;
        totalSupply = _totalSupply;
        balances[_creator] = _totalSupply;
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        emit Transfer(address(0), _creator, _totalSupply);
    }

    function transfer(address to, uint256 amount) public returns (bool) {
        require(to != address(0), "TO_ADDRESS_IS_EMPTY");
        require(amount <= balances[msg.sender], "BALANCE_NOT_ENOUGH");

        balances[msg.sender] = balances[msg.sender].sub(amount);
        balances[to] = balances[to].add(amount);
        emit Transfer(msg.sender, to, amount);
        return true;
    }

    function balanceOf(address owner) public view returns (uint256 balance) {
        return balances[owner];
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public returns (bool) {
        require(to != address(0), "TO_ADDRESS_IS_EMPTY");
        require(amount <= balances[from], "BALANCE_NOT_ENOUGH");
        require(amount <= allowed[from][msg.sender], "ALLOWANCE_NOT_ENOUGH");

        balances[from] = balances[from].sub(amount);
        balances[to] = balances[to].add(amount);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount);
        emit Transfer(from, to, amount);
        return true;
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        allowed[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return allowed[owner][spender];
    }
}

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ 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.