Contract 0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xc439b08344b75a735ad9b91a968743c224f7092075793c21df6199d074ead55eTransfer277637982022-04-30 17:44:06402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004116990535 54.285928546
0xea515696c690c92532621c1bc73a90d8266f7f49695c24729fa0f61cf7a1ef2aApprove277636922022-04-30 17:40:26402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004342171163 88.532625762
0xc9b6777baaaa9639825f1c898c7d84f4e69ebdf18f93d7d6aedab99180c43888Transfer277636552022-04-30 17:39:12402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.010725712374 141.092521275
0x27664d2d3a60ccc0e0b5bbc876a8298cae0f5c3971409b6feed472752896813bTransfer277636232022-04-30 17:38:04402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.010056711008 132.292071829
0x4f554ecd1623f76d974a7abecae170c75c66b124a1f038884785f60cb635de6bTransfer277635562022-04-30 17:34:52402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.008262866331 108.71191248
0xbf3a2077a97a75f823fd171c8b70fb44fb88cbcc0e2d8c88617e1d5c3e6b7911Transfer277635402022-04-30 17:33:48402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.006474573807 85.170468004
0xa3991fa1ac57a9190b3c76f2a8fedc377b9813f965dfa46e7cf7c03181bdf20eTransfer277635232022-04-30 17:32:40402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004242984978 55.814796016
0xbd2b5686fd085f89b9b6561ff4cbfba349d558c224aa8d4c13ddb30d56bc269fTransfer277634952022-04-30 17:31:32402 days 18 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004105278022 54.003315263
0xcaa4fb8e0b14726c27ac709f4a760860d5629893f4769c93a8ada7b993152c80Transfer277634572022-04-30 17:30:16402 days 19 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004339562933 57.076231189
0x797e6e80e73f7a40366a87903284424e4d86a764281d3640e39db492d4193014Transfer277634052022-04-30 17:28:28402 days 19 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004772181521 62.7662601
0xda1d72d699a9eb7ed12f1a5648ac067809bcf914df7587c0aa0415908eb69a4eTransfer277633782022-04-30 17:27:30402 days 19 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.004927095906 64.814005794
0x3102fdd1f6233fd8ecaf4a3aeb799846c75530b759ef5925a384d2c620c63b4dTransfer277633432022-04-30 17:26:20402 days 19 hrs ago0x6ecc17e38a014279542b9815c1aa8ebe0583f66f IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.00464762145 61.127980035
0x5d69fdda56fc29d72adf142b89156435eb7ac4d37dbcf90057c6d650cac98429Approve275991942022-04-26 13:33:41406 days 22 hrs ago0x05aadb94e7912757f59b8cf609aee917ad9a40fc IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.001676926467 34.190891553
0x2363defaefb0d678c21fa38b334ed88c276c6e5a3d8fa634f52889d2755acff3Transfer274868112022-04-23 16:25:40409 days 20 hrs ago0xdb0a6bbff9893f91740610ba94130966284fad40 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002142276868 30.069998008
0x5c49e87eec161affa0b6d87c4b567ba2abed82a2a738e5099de37881e2228b9fApprove274864192022-04-23 16:07:56409 days 20 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.000802634879 30.018508481
0x8728f6f8469c409ac39911d74f42922ab65e3070f170a6159a00b6cbd6f5c3a4Approve274864012022-04-23 16:07:20409 days 20 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.000802995101 30.018508481
0x6e9a89fe1d5cb993b72c84e04cb3c9b3fd50b8fb3228a933d23996965e891ecdApprove274863772022-04-23 16:06:28409 days 20 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.000803355324 30.018508505
0x774de910b3e1b45b92179bad061decab44b8759a2defc11c8ff1bc26607b7649Transfer274738922022-04-23 8:04:27410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002659931192 34.984824509
0xe180bb85d3f2d6d3525a662bc9a235736b98ca5465aa7fed81722674fe8657ceTransfer274737022022-04-23 7:56:41410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002477959957 32.591442402
0x59fa243859159d9edc4e4a0a6eb99ea41a2965975e14e5ea150c04b32bfce978Transfer274736502022-04-23 7:54:53410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002317819687 30.485192724
0x45d0c73038a11950ee8d89adc2eab420a7657a7688bc988ea8470c225cad6e25Transfer274735362022-04-23 7:51:01410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002429454161 31.953468479
0x8249a62db9d7e1ab22db1472876d2bd29fd8266bb743a5848e73aee566ec3348Transfer274734892022-04-23 7:48:34410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.002317819692 30.485192778
0xe2a7aa38222adcce0553a4b4c90df7fc332b726aa0b8453cdf39005ce3751058Transfer274733472022-04-23 7:43:06410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.00287748858 37.852228796
0xc0d26c4699e28ac7dd34179754f24dd95936e695e5db43c98e28306e357e0499Transfer274732162022-04-23 7:38:20410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.00228625217 30.07
0x8c0038ec5ebcde11742f2a6b3e6ce76bc770bf18a30eb8e3ab35fc595ae4761eTransfer274731752022-04-23 7:36:54410 days 4 hrs ago0x415a3f37aeed4ba2eb2b75670ab82d1d91261639 IN  0xeca2aa5dbb9b8c23db5637e1a17bbf3b95628cac0 MATIC0.0025296274 33.270999999
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xb7b9fb5e57cc36c399f144b321a9590d5e44ac7a692047b9975eaafde0f4277f261894362022-03-21 13:23:58442 days 23 hrs ago 0x729f7f44bf64ce814716b6261e267dbe6cdf021c  Contract Creation0 MATIC
[ Download CSV Export 
Loading

Minimal Proxy Contract for 0xd4f77342a08eff87b67d2f0cfd34ed8c8e6aa49e

Contract Name:
CustomERC20

Compiler Version
v0.6.9+commit.3e3065ac

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
Decompile ByteCode
/**
 *Submitted for verification at polygonscan.com on 2022-02-21
*/

// 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/lib/InitializableOwnable.sol


/**
 * @title Ownable
 * @author DODO Breeder
 *
 * @notice Ownership related functions
 */
contract InitializableOwnable {
    address public _OWNER_;
    address public _NEW_OWNER_;
    bool internal _INITIALIZED_;

    // ============ Events ============

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

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

    // ============ Modifiers ============

    modifier notInitialized() {
        require(!_INITIALIZED_, "DODO_INITIALIZED");
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == _OWNER_, "NOT_OWNER");
        _;
    }

    // ============ Functions ============

    function initOwner(address newOwner) public notInitialized {
        _INITIALIZED_ = true;
        _OWNER_ = newOwner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        emit OwnershipTransferPrepared(_OWNER_, newOwner);
        _NEW_OWNER_ = newOwner;
    }

    function claimOwnership() public {
        require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM");
        emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);
        _OWNER_ = _NEW_OWNER_;
        _NEW_OWNER_ = address(0);
    }
}

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


contract CustomERC20 is InitializableOwnable {
    using SafeMath for uint256;

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

    uint256 public tradeBurnRatio;
    uint256 public tradeFeeRatio;
    address public team;

    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);

    event ChangeTeam(address oldTeam, address newTeam);


    function init(
        address _creator,
        uint256 _totalSupply,
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _tradeBurnRatio,
        uint256 _tradeFeeRatio,
        address _team
    ) public {
        initOwner(_creator);
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalSupply;
        balances[_creator] = _totalSupply;
        require(_tradeBurnRatio >= 0 && _tradeBurnRatio <= 5000, "TRADE_BURN_RATIO_INVALID");
        require(_tradeFeeRatio >= 0 && _tradeFeeRatio <= 5000, "TRADE_FEE_RATIO_INVALID");
        tradeBurnRatio = _tradeBurnRatio;
        tradeFeeRatio = _tradeFeeRatio;
        team = _team;
        emit Transfer(address(0), _creator, _totalSupply);
    }

    function transfer(address to, uint256 amount) public returns (bool) {
        _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(amount <= allowed[from][msg.sender], "ALLOWANCE_NOT_ENOUGH");
        _transfer(from,to,amount);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(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];
    }


    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(balances[sender] >= amount, "ERC20: transfer amount exceeds balance");

        balances[sender] = balances[sender].sub(amount);

        uint256 burnAmount;
        uint256 feeAmount;
        if(tradeBurnRatio > 0) {
            burnAmount = amount.mul(tradeBurnRatio).div(10000);
            balances[address(0)] = balances[address(0)].add(burnAmount);
            emit Transfer(sender, address(0), burnAmount);
        }

        if(tradeFeeRatio > 0) {
            feeAmount = amount.mul(tradeFeeRatio).div(10000);
            balances[team] = balances[team].add(feeAmount);
            emit Transfer(sender, team, feeAmount);
        }
        
        uint256 receiveAmount = amount.sub(burnAmount).sub(feeAmount);
        balances[recipient] = balances[recipient].add(receiveAmount);

        emit Transfer(sender, recipient, receiveAmount);
    }


    //=================== Ownable ======================
    function changeTeamAccount(address newTeam) external onlyOwner {
        require(tradeFeeRatio > 0, "NOT_TRADE_FEE_TOKEN");
        emit ChangeTeam(team,newTeam);
        team = newTeam;
    }

    function abandonOwnership(address zeroAddress) external onlyOwner {
        require(zeroAddress == address(0), "NOT_ZERO_ADDRESS");
        emit OwnershipTransferred(_OWNER_, address(0));
        _OWNER_ = address(0);
    }
}

Contract ABI

[{"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":false,"internalType":"address","name":"oldTeam","type":"address"},{"indexed":false,"internalType":"address","name":"newTeam","type":"address"}],"name":"ChangeTeam","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"zeroAddress","type":"address"}],"name":"abandonOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"address","name":"newTeam","type":"address"}],"name":"changeTeamAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","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"},{"internalType":"uint256","name":"_tradeBurnRatio","type":"uint256"},{"internalType":"uint256","name":"_tradeFeeRatio","type":"uint256"},{"internalType":"address","name":"_team","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"initOwner","outputs":[],"stateMutability":"nonpayable","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":"team","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeBurnRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeFeeRatio","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.