MATIC Price: $1.00 (-0.72%)
Gas: 53 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value

There are no matching entries

Please try again later

Latest 1 internal transaction

Parent Txn Hash Block From To Value
345296062022-10-19 8:02:15526 days ago1666166535  Contract Creation0 MATIC
Loading...
Loading

Minimal Proxy Contract for 0xdf6fee057222d2f7933c215c11e5150bd2efc53e

Contract Name:
CoinTool_App

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2022-10-13
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

/*
//https://cointool.app web3 basic tools!
//
//
//  _____      _    _______          _                        
// / ____|    (_)  |__   __|        | |     /\                
//| |     ___  _ _ __ | | ___   ___ | |    /  \   _ __  _ __  
//| |    / _ \| | '_ \| |/ _ \ / _ \| |   / /\ \ | '_ \| '_ \ 
//| |___| (_) | | | | | | (_) | (_) | |_ / ____ \| |_) | |_) |
// \_____\___/|_|_| |_|_|\___/ \___/|_(_)_/    \_\ .__/| .__/ 
//                                               | |   | |    
//                                               |_|   |_|    
//
*/


interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
}

contract CoinTool_App{
    address owner;
    address private immutable original;
    mapping(address => mapping(bytes =>uint256)) public map;

    constructor() payable {
        original = address(this);
        owner = tx.origin;
    }
    receive() external payable {}
    fallback() external payable{}

    function t(uint256 total,bytes memory data,bytes calldata _salt) external payable {
        require(msg.sender == tx.origin);
        bytes memory bytecode = bytes.concat(bytes20(0x3D602d80600A3D3981F3363d3d373d3D3D363d73), bytes20(address(this)), bytes15(0x5af43d82803e903d91602b57fd5bf3));
        uint256 i = map[msg.sender][_salt]+1;
        uint256 end = total+i;
        for (i; i < end;++i) {
	        bytes32 salt = keccak256(abi.encodePacked(_salt,i,msg.sender));
			assembly {
	            let proxy := create2(0, add(bytecode, 32), mload(bytecode), salt)
                    let succeeded := call(
                        gas(),
                        proxy,
                        0,
                        add(data, 0x20),
                        mload(data),
                        0,
                        0
                    )
			}
        }
        map[msg.sender][_salt] += total;
    }


    function t_(uint256[] calldata a,bytes memory data,bytes calldata _salt) external payable {
        require(msg.sender == tx.origin);
        bytes memory bytecode = bytes.concat(bytes20(0x3D602d80600A3D3981F3363d3d373d3D3D363d73), bytes20(address(this)), bytes15(0x5af43d82803e903d91602b57fd5bf3));
        uint256 i = 0;
        for (i; i < a.length; ++i) {
	        bytes32 salt = keccak256(abi.encodePacked(_salt,a[i],msg.sender));
			assembly {
	            let proxy := create2(0, add(bytecode, 32), mload(bytecode), salt)
                    let succeeded := call(
                        gas(),
                        proxy,
                        0,
                        add(data, 0x20),
                        mload(data),
                        0,
                        0
                    )
			}
        }
        uint256 e = a[a.length-1];
        if(e>map[msg.sender][_salt]){
           map[msg.sender][_salt] = e;
        }
    }

    function f(uint256[] calldata a,bytes memory data,bytes memory _salt) external payable {
        require(msg.sender == tx.origin);
        bytes32 bytecode = keccak256(abi.encodePacked(bytes.concat(bytes20(0x3D602d80600A3D3981F3363d3d373d3D3D363d73), bytes20(address(this)), bytes15(0x5af43d82803e903d91602b57fd5bf3))));
        uint256 i = 0;
        for (i; i < a.length; ++i) {
	        bytes32 salt = keccak256(abi.encodePacked(_salt,a[i],msg.sender));
            address proxy = address(uint160(uint(keccak256(abi.encodePacked(
                    hex'ff',
                    address(this),
                    salt,
                    bytecode
                )))));
			assembly {
                let succeeded := call(
                    gas(),
                    proxy,
                    0,
                    add(data, 0x20),
                    mload(data),
                    0,
                    0
                )
			}
        }
    }



    function d(address a,bytes memory data) external payable{
        require(msg.sender == original);
        a.delegatecall(data);
    }
    function c(address a,bytes calldata data) external payable {
       require(msg.sender == original);
       external_call(a,data);
    }

    function dKill(address a,bytes memory data) external payable{
        require(msg.sender == original);
        a.delegatecall(data);
        selfdestruct(payable(msg.sender));
    }
    function cKill(address a,bytes calldata data) external payable {
       require(msg.sender == original);
       external_call(a,data);
       selfdestruct(payable(msg.sender));
    }

    function k() external {
        require(msg.sender == original);
        selfdestruct(payable(msg.sender));
    }
   
    function external_call(address destination,bytes memory data) internal{
        assembly {
            let succeeded := call(
                gas(),
                destination,
                0,
                add(data, 0x20),
                mload(data),
                0,
                0
            )
        }
    }


    function claimTokens(address _token) external  {
        require(owner == msg.sender);
        if (_token == address(0x0)) {
           payable (owner).transfer(address(this).balance);
            return;
        }
        IERC20 erc20token = IERC20(_token);
        uint256 balance = erc20token.balanceOf(address(this));
        erc20token.transfer(owner, balance);
    }

}

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"c","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"cKill","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"d","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"dKill","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"a","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"_salt","type":"bytes"}],"name":"f","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"k","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"map","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"_salt","type":"bytes"}],"name":"t","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"a","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"_salt","type":"bytes"}],"name":"t_","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Block Transaction Difficulty 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

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.