ETH Price: $3,436.18 (+1.43%)
Gas: 7 Gwei

Contract

0x38b958Ad21C6aE901502815d5Dedb050A8513228
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Payout117042552021-01-22 8:35:581273 days ago1611304558IN
0x38b958Ad...0A8513228
0 ETH0.0025727584
Create ERC20116777512021-01-18 6:56:331277 days ago1610952993IN
0x38b958Ad...0A8513228
0.05 ETH0.0068249239
Create ERC20116335202021-01-11 12:05:441284 days ago1610366744IN
0x38b958Ad...0A8513228
0.05 ETH0.0150508686
Create ERC20116236742021-01-09 23:59:271285 days ago1610236767IN
0x38b958Ad...0A8513228
0.05 ETH0.0131248575
Create ERC20116213562021-01-09 15:25:041286 days ago1610205904IN
0x38b958Ad...0A8513228
0.05 ETH0.01942477111.00000145
Create ERC20116201092021-01-09 10:45:451286 days ago1610189145IN
0x38b958Ad...0A8513228
0.05 ETH0.0129649474
Create ERC20116164242021-01-08 21:06:331287 days ago1610139993IN
0x38b958Ad...0A8513228
0.05 ETH0.01941945111
0x60806040116101742021-01-07 22:15:371288 days ago1610057737IN
 Create: ERC20Factory
0 ETH0.030662460

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
117042552021-01-22 8:35:581273 days ago1611304558
0x38b958Ad...0A8513228
0.3 ETH
116777512021-01-18 6:56:331277 days ago1610952993
0x38b958Ad...0A8513228
 Contract Creation0 ETH
116335202021-01-11 12:05:441284 days ago1610366744
0x38b958Ad...0A8513228
 Contract Creation0 ETH
116236742021-01-09 23:59:271285 days ago1610236767
0x38b958Ad...0A8513228
 Contract Creation0 ETH
116213562021-01-09 15:25:041286 days ago1610205904
0x38b958Ad...0A8513228
 Contract Creation0 ETH
116201092021-01-09 10:45:451286 days ago1610189145
0x38b958Ad...0A8513228
 Contract Creation0 ETH
116164242021-01-08 21:06:331287 days ago1610139993
0x38b958Ad...0A8513228
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20Factory

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: ERC20Factory.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

import "./IERC20Lib.sol";

contract ERC20Factory {
  address payable public owner;

  uint256 constant serviceFee = 50000000000000000; // 0.05 ETH

  event ERC20Created(address newERC20Address);

  constructor(address payable _owner) {
    owner = _owner;
  }

  function createClone(address target) internal returns (address result) {
    bytes20 targetBytes = bytes20(target)<<32;
    assembly {
      let clone := mload(0x40)
      mstore(clone, 0x3d602980600a3d3981f3363d3d373d3d3d363d6f000000000000000000000000)
      mstore(add(clone, 0x14), targetBytes)
      mstore(add(clone, 0x24), 0x5af43d82803e903d91602757fd5bf30000000000000000000000000000000000)
      result := create(0, clone, 0x33)
    }
  }
  function isClone(address target, address query) internal view returns (bool result) {
    bytes20 targetBytes = bytes20(target)<<32;
    assembly {
      let clone := mload(0x40)
      mstore(clone, 0x363d3d373d3d3d363d6f00000000000000000000000000000000000000000000)
      mstore(add(clone, 0xa), targetBytes)
      mstore(add(clone, 0x1a), 0x5af43d82803e903d91602757fd5bf30000000000000000000000000000000000)

      let other := add(clone, 0x40)
      extcodecopy(query, other, 0, 0x29)

      result := and(
        eq(mload(clone), mload(other)), 
        eq(mload(add(clone, 0x20)), mload(add(other, 0x20)))
      )
    }
  }

  function payout() external {
    require(owner.send(address(this).balance));
  }

  function payoutToken(address _tokenAddress) external {
    IERC20Lib token = IERC20Lib(_tokenAddress);
    uint256 amount = token.balanceOf(address(this));
    require(amount > 0, "Nothing to payout");
    token.transfer(owner, amount);
  }

  function createERC20(address libraryAddress_, string memory name_, string memory symbol_, uint256 totalSupply_) payable external {
    require(msg.value >= serviceFee, "Service Fee of 0.05ETH wasn't paid");
    address clone = createClone(libraryAddress_);
    IERC20Lib(clone).init(msg.sender, name_, symbol_, totalSupply_);
    emit ERC20Created(clone);
  }
}

File 2 of 2: IERC20Lib.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

interface IERC20Lib {
  function init(address owner_, string memory name_, string memory symbol_, uint256 totalSupply_) external;
  function balanceOf(address account) external view returns (uint256);
  function allowance(address owner, address spender) external view returns (uint256);
  function approve(address spender, uint256 amount) external returns (bool);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newERC20Address","type":"address"}],"name":"ERC20Created","type":"event"},{"inputs":[{"internalType":"address","name":"libraryAddress_","type":"address"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"name":"createERC20","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"payoutToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161087c38038061087c83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6107eb806100916000396000f3fe60806040526004361061003f5760003560e01c806363bd1d4a1461004457806370d3c7471461005b5780638da5cb5b1461007b578063b5bf2cc7146100a6575b600080fd5b34801561005057600080fd5b506100596100b9565b005b34801561006757600080fd5b5061005961007636600461051d565b6100fa565b34801561008757600080fd5b50610090610298565b60405161009d9190610658565b60405180910390f35b6100596100b436600461053e565b6102b4565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116914780156108fc02929091818181858888f193505050506100f857600080fd5b565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152819060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190610151903090600401610658565b60206040518083038186803b15801561016957600080fd5b505afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906105d7565b9050600081116101e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dd9061074f565b60405180910390fd5b6000546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263a9059cbb9261024092909116908590600401610679565b602060405180830381600087803b15801561025a57600080fd5b505af115801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906105b7565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b66b1a2bc2ec500003410156102f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dd906106f2565b6000610300856103cb565b6040517fd2209ad900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063d2209ad99061035b90339088908890889060040161069f565b600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505050507f41039c8b82bb5a365f56b4f9d87cee99e069b450bfdc3d87696fcd87783f24c1816040516103bc9190610658565b60405180910390a15050505050565b6040517f3d602980600a3d3981f3363d3d373d3d3d363d6f00000000000000000000000081527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b16601482018190527f5af43d82803e903d91602757fd5bf30000000000000000000000000000000000602483015260009160338184f0949350505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047957600080fd5b919050565b600082601f83011261048e578081fd5b813567ffffffffffffffff808211156104a9576104a9610786565b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682010181811083821117156104eb576104eb610786565b604052828152848301602001861015610502578384fd5b82602086016020830137918201602001929092529392505050565b60006020828403121561052e578081fd5b61053782610455565b9392505050565b60008060008060808587031215610553578283fd5b61055c85610455565b9350602085013567ffffffffffffffff80821115610578578485fd5b6105848883890161047e565b94506040870135915080821115610599578384fd5b506105a68782880161047e565b949793965093946060013593505050565b6000602082840312156105c8578081fd5b81518015158114610537578182fd5b6000602082840312156105e8578081fd5b5051919050565b60008151808452815b81811015610614576020818501810151868301820152016105f8565b818111156106255782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff86168252608060208301526106ce60808301866105ef565b82810360408401526106e081866105ef565b91505082606083015295945050505050565b60208082526022908201527f5365727669636520466565206f6620302e3035455448207761736e277420706160408201527f6964000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f7468696e6720746f207061796f7574000000000000000000000000000000604082015260600190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220524a14c76856998a31af8269ae9cc03d3056585bc4de43cc9f8ca7b0a5373f0364736f6c63430008000033000000000000000000000000862ab2a5e8feeca125519b5c6f948eb7954cfacb

Deployed Bytecode

0x60806040526004361061003f5760003560e01c806363bd1d4a1461004457806370d3c7471461005b5780638da5cb5b1461007b578063b5bf2cc7146100a6575b600080fd5b34801561005057600080fd5b506100596100b9565b005b34801561006757600080fd5b5061005961007636600461051d565b6100fa565b34801561008757600080fd5b50610090610298565b60405161009d9190610658565b60405180910390f35b6100596100b436600461053e565b6102b4565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116914780156108fc02929091818181858888f193505050506100f857600080fd5b565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152819060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190610151903090600401610658565b60206040518083038186803b15801561016957600080fd5b505afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906105d7565b9050600081116101e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dd9061074f565b60405180910390fd5b6000546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263a9059cbb9261024092909116908590600401610679565b602060405180830381600087803b15801561025a57600080fd5b505af115801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906105b7565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b66b1a2bc2ec500003410156102f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dd906106f2565b6000610300856103cb565b6040517fd2209ad900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063d2209ad99061035b90339088908890889060040161069f565b600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505050507f41039c8b82bb5a365f56b4f9d87cee99e069b450bfdc3d87696fcd87783f24c1816040516103bc9190610658565b60405180910390a15050505050565b6040517f3d602980600a3d3981f3363d3d373d3d3d363d6f00000000000000000000000081527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b16601482018190527f5af43d82803e903d91602757fd5bf30000000000000000000000000000000000602483015260009160338184f0949350505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047957600080fd5b919050565b600082601f83011261048e578081fd5b813567ffffffffffffffff808211156104a9576104a9610786565b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682010181811083821117156104eb576104eb610786565b604052828152848301602001861015610502578384fd5b82602086016020830137918201602001929092529392505050565b60006020828403121561052e578081fd5b61053782610455565b9392505050565b60008060008060808587031215610553578283fd5b61055c85610455565b9350602085013567ffffffffffffffff80821115610578578485fd5b6105848883890161047e565b94506040870135915080821115610599578384fd5b506105a68782880161047e565b949793965093946060013593505050565b6000602082840312156105c8578081fd5b81518015158114610537578182fd5b6000602082840312156105e8578081fd5b5051919050565b60008151808452815b81811015610614576020818501810151868301820152016105f8565b818111156106255782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff86168252608060208301526106ce60808301866105ef565b82810360408401526106e081866105ef565b91505082606083015295945050505050565b60208082526022908201527f5365727669636520466565206f6620302e3035455448207761736e277420706160408201527f6964000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f7468696e6720746f207061796f7574000000000000000000000000000000604082015260600190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220524a14c76856998a31af8269ae9cc03d3056585bc4de43cc9f8ca7b0a5373f0364736f6c63430008000033

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

000000000000000000000000862ab2a5e8feeca125519b5c6f948eb7954cfacb

-----Decoded View---------------
Arg [0] : _owner (address): 0x862ab2A5E8fEEca125519b5C6F948Eb7954cFACB

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000862ab2a5e8feeca125519b5c6f948eb7954cfacb


Deployed Bytecode Sourcemap

83:2005:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1399:80;;;;;;;;;;;;;:::i;:::-;;1483:240;;;;;;;;;;-1:-1:-1;1483:240:0;;;;;:::i;:::-;;:::i;109:28::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1727:359;;;;;;:::i;:::-;;:::i;1399:80::-;1440:5;;;:33;;:5;;;;;1451:21;1440:33;;;;;1451:21;;1440:33;:5;:33;1451:21;1440:5;:33;;;;;;;1432:42;;;;;;1399:80::o;1483:240::-;1607:30;;;;;1570:13;;1542:15;;1607;;;;;;:30;;1631:4;;1607:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1590:47;;1660:1;1651:6;:10;1643:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;1704:5;;1689:29;;;;;:14;;;;;;;:29;;1704:5;;;;1711:6;;1689:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1483:240;;;:::o;109:28::-;;;;;;:::o;1727:359::-;172:17;1870:9;:23;;1862:70;;;;;;;;;;;;:::i;:::-;1938:13;1954:28;1966:15;1954:11;:28::i;:::-;1988:63;;;;;1938:44;;-1:-1:-1;1988:21:0;;;;;;:63;;2010:10;;2022:5;;2029:7;;2038:12;;1988:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2062:19;2075:5;2062:19;;;;;;:::i;:::-;;;;;;;;1727:359;;;;;:::o;319:445::-;479:4;473:11;505:66;491:81;;418:19;;;;;;597:4;586:16;;579:37;;;648:66;641:4;630:16;;623:92;374:14;;749:4;473:11;374:14;732:22;722:32;452:308;-1:-1:-1;;;;452:308:0:o;14:198:2:-;84:20;;144:42;133:54;;123:65;;113:2;;202:1;199;192:12;113:2;65:147;;;:::o;217:772::-;;315:3;308:4;300:6;296:17;292:27;282:2;;337:5;330;323:20;282:2;377:6;364:20;403:18;440:2;436;433:10;430:2;;;446:18;;:::i;:::-;495:2;489:9;630:4;560:66;553:4;549:2;545:13;541:86;533:6;529:99;525:110;685:6;673:10;670:22;665:2;653:10;650:18;647:46;644:2;;;696:18;;:::i;:::-;732:2;725:22;756:18;;;793:15;;;810:4;789:26;786:35;-1:-1:-1;783:2:2;;;838:5;831;824:20;783:2;906;899:4;891:6;887:17;880:4;872:6;868:17;855:54;929:15;;;946:4;925:26;918:41;;;;933:6;272:717;-1:-1:-1;;;272:717:2:o;994:198::-;;1106:2;1094:9;1085:7;1081:23;1077:32;1074:2;;;1127:6;1119;1112:22;1074:2;1155:31;1176:9;1155:31;:::i;:::-;1145:41;1064:128;-1:-1:-1;;;1064:128:2:o;1197:722::-;;;;;1380:3;1368:9;1359:7;1355:23;1351:33;1348:2;;;1402:6;1394;1387:22;1348:2;1430:31;1451:9;1430:31;:::i;:::-;1420:41;;1512:2;1501:9;1497:18;1484:32;1535:18;1576:2;1568:6;1565:14;1562:2;;;1597:6;1589;1582:22;1562:2;1625:52;1669:7;1660:6;1649:9;1645:22;1625:52;:::i;:::-;1615:62;;1730:2;1719:9;1715:18;1702:32;1686:48;;1759:2;1749:8;1746:16;1743:2;;;1780:6;1772;1765:22;1743:2;;1808:54;1854:7;1843:8;1832:9;1828:24;1808:54;:::i;:::-;1338:581;;;;-1:-1:-1;1798:64:2;;1909:2;1894:18;1881:32;;-1:-1:-1;;;1338:581:2:o;1924:297::-;;2044:2;2032:9;2023:7;2019:23;2015:32;2012:2;;;2065:6;2057;2050:22;2012:2;2102:9;2096:16;2155:5;2148:13;2141:21;2134:5;2131:32;2121:2;;2182:6;2174;2167:22;2226:194;;2349:2;2337:9;2328:7;2324:23;2320:32;2317:2;;;2370:6;2362;2355:22;2317:2;-1:-1:-1;2398:16:2;;2307:113;-1:-1:-1;2307:113:2:o;2425:537::-;;2507:5;2501:12;2534:6;2529:3;2522:19;2559:3;2571:162;2585:6;2582:1;2579:13;2571:162;;;2647:4;2703:13;;;2699:22;;2693:29;2675:11;;;2671:20;;2664:59;2600:12;2571:162;;;2751:6;2748:1;2745:13;2742:2;;;2817:3;2810:4;2801:6;2796:3;2792:16;2788:27;2781:40;2742:2;-1:-1:-1;2876:2:2;2864:15;2881:66;2860:88;2851:98;;;;2951:4;2847:109;;2477:485;-1:-1:-1;;2477:485:2:o;2967:226::-;3143:42;3131:55;;;;3113:74;;3101:2;3086:18;;3068:125::o;3445:305::-;3657:42;3645:55;;;;3627:74;;3732:2;3717:18;;3710:34;3615:2;3600:18;;3582:168::o;3755:580::-;;4020:42;4012:6;4008:55;3997:9;3990:74;4100:3;4095:2;4084:9;4080:18;4073:31;4127:48;4170:3;4159:9;4155:19;4147:6;4127:48;:::i;:::-;4223:9;4215:6;4211:22;4206:2;4195:9;4191:18;4184:50;4251:35;4279:6;4271;4251:35;:::i;:::-;4243:43;;;4322:6;4317:2;4306:9;4302:18;4295:34;3980:355;;;;;;;:::o;4340:398::-;4542:2;4524:21;;;4581:2;4561:18;;;4554:30;4620:34;4615:2;4600:18;;4593:62;4691:4;4686:2;4671:18;;4664:32;4728:3;4713:19;;4514:224::o;4743:341::-;4945:2;4927:21;;;4984:2;4964:18;;;4957:30;5023:19;5018:2;5003:18;;4996:47;5075:2;5060:18;;4917:167::o;5089:184::-;5141:77;5138:1;5131:88;5238:4;5235:1;5228:15;5262:4;5259:1;5252:15

Swarm Source

ipfs://524a14c76856998a31af8269ae9cc03d3056585bc4de43cc9f8ca7b0a5373f03

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

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.