Contract 0x3a584656d5ead19065cd8962f4c91362d984f914 1

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x4563391c4ecb33329231eaa38af1833e6284c9a0f2e7293b60c8b6f992177395Fragmentation252944632022-02-24 15:35:1484 days 22 hrs ago0xe84f234f88b57327ece486e190a4d79a419002dc IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.11927872 88
0x228617b55c4a226bf5ed402b6639fc9fd70eaf484ee441920c696b74beccb0b4Fragmentation252006592022-02-21 17:10:5287 days 21 hrs ago0xe84f234f88b57327ece486e190a4d79a419002dc IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.04472952 33
0x6626c40bdfdf83bd5e02190ace7e0fa644882811a6419438ce652c52ec571f1fFragmentation251541172022-02-20 12:41:5089 days 1 hr ago0xc8548f25ca04016a3c2891a027242a3dc7f992aa IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.04472952 33
0x6e4a5d508869e961b35bc3b33989d5da83fc5aed08f21af3de6854c880ab45c3Fragmentation251505912022-02-20 10:31:4589 days 4 hrs ago0xbf94e54465d83205da2c49995ed74105c25a7b70 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.06999954 51
0x2cb866dc22a16bc7e52d77509a51f1ab76712c571c0dafe7e874fa3d708156baFragmentation247965142022-02-11 1:46:5298 days 12 hrs ago0xd96affa35576606c8c27191dddd6d44c8790579c IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0546096 40
0x50e6b0b913c32027cc3903c0b3991cc48043cb9ec0d606b4c5a264d49750da69Fragmentation243408942022-01-30 11:22:45110 days 3 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.17485176 129
0xeb5bf1efbd220983769381770cca2f3c762b6f339fc97f03174c11c8205c896bFragmentation239396222022-01-20 8:39:13120 days 5 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.58148376 429
0x81aede1e63cdd892e1cc44b3a8d76b6d885a8e1bf2e02dea7c8fe4b3b2bfffa5Fragmentation237542462022-01-15 16:57:44124 days 21 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0920901669
0xcda3f6748e7a2fe3a6906390b482d7b6b879582635b919f38599cc74bfdc59aaFragmentation236739362022-01-13 14:15:44127 days 19 mins ago0x676dfd439c51c7130bdf0f534ee8cb31857be425 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.059617845
0xe9da9680379f513261e1e09a7084cf8519380ef21f92abfd32e98085efad89b5Fragmentation236645672022-01-13 8:27:32127 days 6 hrs ago0x15076740d1861ee491d869aeabaad935f68dc7b1 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.1801764135
0x7f9103658d1213d56c11b51c1235664c2d66e20408722752a927ed46adb4a13dFragmentation236468832022-01-12 21:43:10127 days 16 hrs ago0x676dfd439c51c7130bdf0f534ee8cb31857be425 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0847897664
0x3940fff375438f7b6a6528417759bdfa1763d0d6ffe9d97bdf0c97ef01da0ddcFragmentation236463592022-01-12 21:20:52127 days 17 hrs ago0x676dfd439c51c7130bdf0f534ee8cb31857be425 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0800776860
0x60de9a2bb74035d12c70b41ab387fae644d8a4b643c08622cb2b65d60b9c4d68Fragmentation235906372022-01-11 10:14:38129 days 4 hrs ago0xd96affa35576606c8c27191dddd6d44c8790579c IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0520509639
0x570317320f6247a4bc3fff65a4b1bae5177bb190e74041df1466da692c06d6e7Fragmentation235898552022-01-11 9:45:38129 days 4 hrs ago0x834d26a198500b9ed53a260ced9a5df073f82440 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.053077640
0x6ee7036b96dd1cc30fda5d4322904b549ad8fbbbe5d26cff920795774250dc9bFragmentation235574452022-01-10 13:01:01130 days 1 hr ago0x81aabec7a34712f2c53db319eb83d6f90e18afe3 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.49505500
0x17782f85713554ed6bb9db8e89e1a6767ac332cd679fcba3273970d685a1fe4cFragmentation233376022022-01-04 12:02:51136 days 2 hrs ago0x0ddeacbea805dd283cfcb3775dee0cbc007c944b IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.61304628462
0x40d7e86166f66171711f396e2012bf424e01288f2ba9306d8b251c1789e82076Fragmentation229663972021-12-26 1:27:05145 days 13 hrs ago0x46c9a2f679de359c7d9d44f9990441e779b8e306 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0477698436
0xe3add2488be933cd1bac4186958d6c329901eed8610df539c61dccf244cf94d6Fragmentation227428232021-12-20 8:52:17151 days 5 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.079490460
0x2c2961f641a47608dcf21f26df99324fd0b9581af548b78f5c313f7cdea70905Fragmentation226721052021-12-18 13:59:36153 days 35 mins ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0914139669
0x068e6c7e07a9f820e9d4efc370090a13dc3a149c518717df174a3ba0e8877713Fragmentation226620052021-12-18 7:46:21153 days 6 hrs ago0x54be40f159ec67c030d76b8912dd6e87b883d964 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0477698436
0x45904a1b0048fa5caa4c7f6075de98c6a45886d382315f464df8414ebcae3e23Fragmentation226606332021-12-18 6:54:57153 days 7 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.072866255
0xd97b0d5eb6141585104efa42c13d3f7ef961560f2f83a2bc88898e7fb1da0f10Fragmentation226598422021-12-18 6:21:35153 days 8 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.06624250
0x5ec99a6d122088abe4049b6e394f90eabd3066d6f12c79c92c534c3852f0bb40Fragmentation226404482021-12-17 18:21:35153 days 20 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0834649263
0x389a60cda5d9dd8c353dcd71e363e68c4f323cdc4775858090d3a36ee52ffc4cFragmentation226010242021-12-16 18:21:04154 days 20 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.092738870
0xd74f9630de80f20a109858546aed60f31d16f9dfe7c74e4d3dee6e3a5835c097Fragmentation226001702021-12-16 17:51:16154 days 20 hrs ago0x2beb7950a72aa280762bbc8aa0ed3c30064c4b75 IN  0x3a584656d5ead19065cd8962f4c91362d984f9140 MATIC0.0834649263
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x4563391c4ecb33329231eaa38af1833e6284c9a0f2e7293b60c8b6f992177395252944632022-02-24 15:35:1484 days 22 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x228617b55c4a226bf5ed402b6639fc9fd70eaf484ee441920c696b74beccb0b4252006592022-02-21 17:10:5287 days 21 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x6626c40bdfdf83bd5e02190ace7e0fa644882811a6419438ce652c52ec571f1f251541172022-02-20 12:41:5089 days 1 hr ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x6e4a5d508869e961b35bc3b33989d5da83fc5aed08f21af3de6854c880ab45c3251505912022-02-20 10:31:4589 days 4 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x2cb866dc22a16bc7e52d77509a51f1ab76712c571c0dafe7e874fa3d708156ba247965142022-02-11 1:46:5298 days 12 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x50e6b0b913c32027cc3903c0b3991cc48043cb9ec0d606b4c5a264d49750da69243408942022-01-30 11:22:45110 days 3 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xeb5bf1efbd220983769381770cca2f3c762b6f339fc97f03174c11c8205c896b239396222022-01-20 8:39:13120 days 5 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x81aede1e63cdd892e1cc44b3a8d76b6d885a8e1bf2e02dea7c8fe4b3b2bfffa5237542462022-01-15 16:57:44124 days 21 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xcda3f6748e7a2fe3a6906390b482d7b6b879582635b919f38599cc74bfdc59aa236739362022-01-13 14:15:44127 days 19 mins ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xe9da9680379f513261e1e09a7084cf8519380ef21f92abfd32e98085efad89b5236645672022-01-13 8:27:32127 days 6 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x7f9103658d1213d56c11b51c1235664c2d66e20408722752a927ed46adb4a13d236468832022-01-12 21:43:10127 days 16 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x3940fff375438f7b6a6528417759bdfa1763d0d6ffe9d97bdf0c97ef01da0ddc236463592022-01-12 21:20:52127 days 17 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x60de9a2bb74035d12c70b41ab387fae644d8a4b643c08622cb2b65d60b9c4d68235906372022-01-11 10:14:38129 days 4 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x570317320f6247a4bc3fff65a4b1bae5177bb190e74041df1466da692c06d6e7235898552022-01-11 9:45:38129 days 4 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x6ee7036b96dd1cc30fda5d4322904b549ad8fbbbe5d26cff920795774250dc9b235574452022-01-10 13:01:01130 days 1 hr ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x17782f85713554ed6bb9db8e89e1a6767ac332cd679fcba3273970d685a1fe4c233376022022-01-04 12:02:51136 days 2 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x40d7e86166f66171711f396e2012bf424e01288f2ba9306d8b251c1789e82076229663972021-12-26 1:27:05145 days 13 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xe3add2488be933cd1bac4186958d6c329901eed8610df539c61dccf244cf94d6227428232021-12-20 8:52:17151 days 5 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x2c2961f641a47608dcf21f26df99324fd0b9581af548b78f5c313f7cdea70905226721052021-12-18 13:59:36153 days 35 mins ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x068e6c7e07a9f820e9d4efc370090a13dc3a149c518717df174a3ba0e8877713226620052021-12-18 7:46:21153 days 6 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x45904a1b0048fa5caa4c7f6075de98c6a45886d382315f464df8414ebcae3e23226606332021-12-18 6:54:57153 days 7 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xd97b0d5eb6141585104efa42c13d3f7ef961560f2f83a2bc88898e7fb1da0f10226598422021-12-18 6:21:35153 days 8 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x5ec99a6d122088abe4049b6e394f90eabd3066d6f12c79c92c534c3852f0bb40226404482021-12-17 18:21:35153 days 20 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0x389a60cda5d9dd8c353dcd71e363e68c4f323cdc4775858090d3a36ee52ffc4c226010242021-12-16 18:21:04154 days 20 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
0xd74f9630de80f20a109858546aed60f31d16f9dfe7c74e4d3dee6e3a5835c097226001702021-12-16 17:51:16154 days 20 hrs ago 0x3a584656d5ead19065cd8962f4c91362d984f914  Contract Creation0 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC721Split

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-09-27
*/

pragma solidity 0.8.7;

// ----------------------------------------------------------------------------
// NFT split contract 
// ----------------------------------------------------------------------------
// SPDX-License-Identifier: MIT
// ----------------------------------------------------------------------------

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) { c = a + b; require(c >= a); }
    function sub(uint a, uint b) internal pure returns (uint c) { require(b <= a); c = a - b; }
    function mul(uint a, uint b) internal pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); }
    function div(uint a, uint b) internal pure returns (uint c) { require(b > 0); c = a / b; }
}

interface ERC20Interface {
    function totalSupply() external view returns (uint);
    function balanceOf(address tokenOwner) external view returns (uint);
    function allowance(address tokenOwner, address spender) external view returns (uint remaining);
    function transfer(address to, uint tokens) external returns (bool success);
    function approve(address spender, uint tokens) external returns (bool success);
    function transferFrom(address from, address to, uint tokens) external returns (bool success);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function decimals() external view returns (uint8);
    function burn(address tokenAddress) external returns (bool success);
    function mint(address tokenAddress, uint256 tokens) external returns (bool success);
}

interface ApproveAndCallFallBack {
    function receiveApproval(address from, uint tokens, address token, bytes memory data) external;
}

interface ERC721Interface {
  function approve(address to, uint256 tokenId) external;
  function safeTransferFrom(address from, address to, uint256 tokenId) external;
  function tokenURI(uint256 tokenId) external view returns (string memory);
  function symbol() external view returns (string memory);
  function name() external view returns (string memory);
}

interface IERC721Receiver {
    function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4);
}

contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed from, address indexed to);

    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address transferOwner) public onlyOwner {
        require(transferOwner != newOwner);
        newOwner = transferOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

// ----------------------------------------------------------------------------
// ERC20 Token 
// ----------------------------------------------------------------------------
contract ERC20 is Owned {
    using SafeMath for uint;

    bool public running = true;
    string public symbol;
    string public name;
    address public ERC721tokenCONTRACT;
    uint256 public ERC721tokenID;
    string public ERC721tokenURI;
    uint8 public decimals;
    uint _totalSupply;

    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;
    
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

    constructor(string memory _symbol, 
                string memory _name, 
                address _contractAddress, 
                uint256 _tokenId, 
                string memory _tokenURI, 
                uint8 _decimals) {
        symbol = _symbol;
        name = _name;
        ERC721tokenCONTRACT = _contractAddress;
        ERC721tokenID = _tokenId;
        ERC721tokenURI = _tokenURI;
        decimals = _decimals;
    }

    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }

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

    function transfer(address to, uint tokens) public returns (bool success) {
        require(tokens <= balances[msg.sender]);
        require(to != address(0));
        _transfer(msg.sender, to, tokens);
        return true;
    }

    function _transfer(address from, address to, uint256 tokens) internal {
        balances[from] = balances[from].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
    }

    function approve(address spender, uint tokens) public returns (bool success) {
        _approve(msg.sender, spender, tokens);
        return true;
    }

    function increaseAllowance(address spender, uint addedTokens) public returns (bool success) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].add(addedTokens));
        return true;
    }

    function decreaseAllowance(address spender, uint subtractedTokens) public returns (bool success) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].sub(subtractedTokens));
        return true;
    }

    function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
        _approve(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
        return true;
    }

    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0));
        require(spender != address(0));
        allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        require(to != address(0));
        _approve(from, msg.sender, allowed[from][msg.sender].sub(tokens));
        _transfer(from, to, tokens);
        return true;
    }

    function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }
    
    function burn(address tokenAddress) public onlyOwner returns (bool success) {
        require(balances[tokenAddress] > 0);
        emit Transfer(tokenAddress, address(0), balances[tokenAddress]);
        _totalSupply = _totalSupply.sub(balances[tokenAddress]);
        balances[tokenAddress] = balances[tokenAddress].sub(balances[tokenAddress]);
        return true;
    }

    function mint(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) {
        balances[tokenAddress] = balances[tokenAddress].add(tokens);
        _totalSupply = _totalSupply.add(tokens);
        emit Transfer(address(0), tokenAddress, tokens);
        return true;
    } 

    function multiTransfer(address[] memory to, uint[] memory values) public returns (uint) {
        require(to.length == values.length);
        require(to.length < 100);
        uint sum;
        for (uint j; j < values.length; j++) {
            sum += values[j];
        }
        require(sum <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(sum);
        for (uint i; i < to.length; i++) {
            balances[to[i]] = balances[to[i]].add(values[i]);
            emit Transfer(msg.sender, to[i], values[i]);
        }
        return(to.length);
    }
}

contract ERC721Split is Owned {
    using SafeMath for uint;
    
    uint8 decimals = 0;
    string name = "WERC721";
    address erc20contract;

    event Split(address contractAddress, uint256 tokenId, address ercAddress, uint256 time);
    event Constructor(address ERC20contractAddress, string _symbol, string _name, address _contractAddress, uint256 _tokenId, string _tokenURI, uint8 _decimals);
    
    struct SplitInfo {
        address addr721;
        uint256 tokenId;
    }
    mapping (address => SplitInfo) ByERC20contract;
    mapping(address => address[]) byOwner;
    
    function getAllERC20byAddress(address tokenOwner) public view returns (address[] memory) {
        return byOwner[tokenOwner];
    }
    
    mapping(address => mapping(uint256 => address)) public getERC20contract;
    
    function fragmentation(address contractAddress, uint256 tokenId, uint256 splitAmount) public returns (address ERC20contract) { 
        require(splitAmount <= 1000000000000, 'MUST BE LESS THAN TRILLION');
        require(splitAmount != 0, 'MUST BE NOT ZERO');
        require(contractAddress != address(0), 'ZERO ADDRESS');
        ERC721Interface(contractAddress).safeTransferFrom(msg.sender, address(this), tokenId);
        if (getERC20contract[contractAddress][tokenId] == address(0)) { // CREATE2
            bytes memory bytecode = abi.encodePacked(type(ERC20).creationCode, abi.encode(
                ERC721Interface(contractAddress).symbol(), 
                name, 
                contractAddress, 
                tokenId, 
                ERC721Interface(contractAddress).tokenURI(tokenId), 
                decimals));
            bytes32 salt = keccak256(abi.encodePacked(contractAddress, tokenId, address(this)));
            erc20contract = deploy(bytecode, salt);
            emit Constructor(erc20contract, ERC721Interface(contractAddress).symbol(), name, contractAddress, tokenId, ERC721Interface(contractAddress).tokenURI(tokenId), decimals);
        } else {
            erc20contract = getERC20contract[contractAddress][tokenId];
        }
        require(ERC20Interface(erc20contract).mint(msg.sender, splitAmount));
        ByERC20contract[erc20contract].addr721 = contractAddress;
        ByERC20contract[erc20contract].tokenId = tokenId;
        getERC20contract[contractAddress][tokenId] = erc20contract;
        emit Split(contractAddress, tokenId, erc20contract, block.timestamp);
        byOwner[msg.sender].push(erc20contract);
        return (erc20contract);
    }
    
    function defragmentation(address ERC20contract) public returns (bool success) {
        require(ERC20Interface(ERC20contract).balanceOf(msg.sender) == ERC20Interface(ERC20contract).totalSupply());
        require(ERC20Interface(ERC20contract).burn(msg.sender));
        ERC721Interface(ByERC20contract[ERC20contract].addr721).safeTransferFrom(address(this), msg.sender, ByERC20contract[ERC20contract].tokenId);
        for (uint i; i < byOwner[msg.sender].length - 1; i++) { if (byOwner[msg.sender][i] == ERC20contract) { delete byOwner[msg.sender][i]; } }
        return true;
    }
    
    function deploy(bytes memory code, bytes32 salt) internal returns (address addr) {
    assembly {
        addr := create2(0, add(code, 0x20), mload(code), salt)
        if iszero(extcodesize(addr)) { revert(0, 0) }
        }
    }
    
    function getERC721contract(address ERC20contract) public view returns (address ERC721contractAddress, uint256 tokenId) {
        return (ByERC20contract[ERC20contract].addr721, ByERC20contract[ERC20contract].tokenId);
    }

    function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {
        return this.onERC721Received.selector;
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"ERC20contractAddress","type":"address"},{"indexed":false,"internalType":"string","name":"_symbol","type":"string"},{"indexed":false,"internalType":"string","name":"_name","type":"string"},{"indexed":false,"internalType":"address","name":"_contractAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"string","name":"_tokenURI","type":"string"},{"indexed":false,"internalType":"uint8","name":"_decimals","type":"uint8"}],"name":"Constructor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"ercAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Split","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ERC20contract","type":"address"}],"name":"defragmentation","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"splitAmount","type":"uint256"}],"name":"fragmentation","outputs":[{"internalType":"address","name":"ERC20contract","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"getAllERC20byAddress","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"getERC20contract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ERC20contract","type":"address"}],"name":"getERC721contract","outputs":[{"internalType":"address","name":"ERC721contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"transferOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6001805460ff60a01b1916905560c060405260076080819052665745524337323160c81b60a09081526200003791600291906200005e565b503480156200004557600080fd5b50600080546001600160a01b0319163317905562000141565b8280546200006c9062000104565b90600052602060002090601f016020900481019282620000905760008555620000db565b82601f10620000ab57805160ff1916838001178555620000db565b82800160010185558215620000db579182015b82811115620000db578251825591602001919060010190620000be565b50620000e9929150620000ed565b5090565b5b80821115620000e95760008155600101620000ee565b600181811c908216806200011957607f821691505b602082108114156200013b57634e487b7160e01b600052602260045260246000fd5b50919050565b61263280620001516000396000f3fe60806040523480156200001157600080fd5b5060043610620000ab5760003560e01c806387d267b0116200006e57806387d267b014620001a85780638da5cb5b14620001df578063aff812c614620001f3578063d4ee1d90146200021b578063f2fde38b146200022f57600080fd5b806307e6ad3114620000b0578063150b7a02146200010b5780636625c5c0146200014657806377303133146200017657806379ba5097146200019c575b600080fd5b620000e7620000c136600462000d44565b6001600160a01b0390811660009081526004602052604090208054600190910154911691565b604080516001600160a01b0390931683526020830191909152015b60405180910390f35b6200012c6200011c36600462000d69565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200162000102565b6200015d6200015736600462000e4d565b62000246565b6040516001600160a01b03909116815260200162000102565b6200018d6200018736600462000d44565b620008d3565b604051620001029190620010bf565b620001a66200094b565b005b6200015d620001b936600462000e20565b60066020908152600092835260408084209091529082529020546001600160a01b031681565b6000546200015d906001600160a01b031681565b6200020a6200020436600462000d44565b620009c7565b604051901515815260200162000102565b6001546200015d906001600160a01b031681565b620001a66200024036600462000d44565b62000ca3565b600064e8d4a51000821115620002a35760405162461bcd60e51b815260206004820152601a60248201527f4d555354204245204c455353205448414e205452494c4c494f4e00000000000060448201526064015b60405180910390fd5b81620002e55760405162461bcd60e51b815260206004820152601060248201526f4d555354204245204e4f54205a45524f60801b60448201526064016200029a565b6001600160a01b0384166200032c5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b60448201526064016200029a565b604051632142170760e11b8152336004820152306024820152604481018490526001600160a01b038516906342842e0e90606401600060405180830381600087803b1580156200037b57600080fd5b505af115801562000390573d6000803e3d6000fd5b505050506001600160a01b038481166000908152600660209081526040808320878452909152902054166200070c57600060405180602001620003d39062000d19565b6020820181038252601f19601f82011660405250856001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156200042157600080fd5b505afa15801562000436573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000460919081019062000ea7565b60028787896001600160a01b031663c87b56dd8a6040518263ffffffff1660e01b81526004016200049391815260200190565b60006040518083038186803b158015620004ac57600080fd5b505afa158015620004c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620004eb919081019062000ea7565b6001546040516200050f969594939291600160a01b900460ff16906020016200110e565b60408051601f19818403018152908290526200052f929160200162001017565b60408051601f19818403018152908290526bffffffffffffffffffffffff19606088811b821660208501526034840188905230901b166054830152915060009060680160405160208183030381529060405280519060200120905062000596828262000cf9565b600380546001600160a01b0319166001600160a01b03928316908117909155604080516395d89b4160e01b815290517f6c231b19bf9919c0eefe5aed5e092de44bfc9134119489a8ad4a3d177f63b919938a16916395d89b41916004808301926000929190829003018186803b1580156200061057600080fd5b505afa15801562000625573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200064f919081019062000ea7565b600289898b6001600160a01b031663c87b56dd8c6040518263ffffffff1660e01b81526004016200068291815260200190565b60006040518083038186803b1580156200069b57600080fd5b505afa158015620006b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620006da919081019062000ea7565b600154604051620006fc97969594939291600160a01b900460ff16906200104a565b60405180910390a1505062000747565b6001600160a01b038085166000908152600660209081526040808320878452909152902054600380546001600160a01b031916919092161790555b6003546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f1990604401602060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007cf919062000e83565b620007d957600080fd5b600380546001600160a01b03908116600090815260046020908152604080832080548a86166001600160a01b031991821681179092558654861685528285206001018a90558654828652600685528386208b8752855294839020805490911694861694909417909355935484519283529082018790529091168183015242606082015290517f93c8b901dbcf7a37814481d8ba9d09051c4560eaee0c6db9590ed5bbcf24bb8f916080908290030190a1503360009081526005602090815260408220600380548254600181018455928552929093200180546001600160a01b0319166001600160a01b039283161790559054169392505050565b6001600160a01b0381166000908152600560209081526040918290208054835181840281018401909452808452606093928301828280156200093f57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000920575b50505050509050919050565b6001546001600160a01b031633146200096357600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a0357600080fd5b505afa15801562000a18573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3e919062000f27565b6040516370a0823160e01b81523360048201526001600160a01b038416906370a082319060240160206040518083038186803b15801562000a7e57600080fd5b505afa15801562000a93573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ab9919062000f27565b1462000ac457600080fd5b60405163226bf2d160e21b81523360048201526001600160a01b038316906389afcb4490602401602060405180830381600087803b15801562000b0657600080fd5b505af115801562000b1b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b41919062000e83565b62000b4b57600080fd5b6001600160a01b0382811660009081526004602081905260409182902080546001909101549251632142170760e11b8152309281019290925233602483015260448201929092529116906342842e0e90606401600060405180830381600087803b15801562000bb957600080fd5b505af115801562000bce573d6000803e3d6000fd5b5050505060005b3360009081526005602052604090205462000bf390600190620011d9565b81101562000c9a5733600090815260056020526040902080546001600160a01b03851691908390811062000c2b5762000c2b6200125a565b6000918252602090912001546001600160a01b0316141562000c855733600090815260056020526040902080548290811062000c6b5762000c6b6200125a565b600091825260209091200180546001600160a01b03191690555b8062000c918162001226565b91505062000bd5565b50600192915050565b6000546001600160a01b0316331462000cbb57600080fd5b6001546001600160a01b038281169116141562000cd757600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000818351602085016000f59050803b62000d1357600080fd5b92915050565b611376806200128783390190565b80356001600160a01b038116811462000d3f57600080fd5b919050565b60006020828403121562000d5757600080fd5b62000d628262000d27565b9392505050565b6000806000806080858703121562000d8057600080fd5b62000d8b8562000d27565b935062000d9b6020860162000d27565b925060408501359150606085013567ffffffffffffffff81111562000dbf57600080fd5b8501601f8101871362000dd157600080fd5b803562000de862000de282620011ae565b6200117a565b81815288602083850101111562000dfe57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121562000e3457600080fd5b62000e3f8362000d27565b946020939093013593505050565b60008060006060848603121562000e6357600080fd5b62000e6e8462000d27565b95602085013595506040909401359392505050565b60006020828403121562000e9657600080fd5b8151801515811462000d6257600080fd5b60006020828403121562000eba57600080fd5b815167ffffffffffffffff81111562000ed257600080fd5b8201601f8101841362000ee457600080fd5b805162000ef562000de282620011ae565b81815285602083850101111562000f0b57600080fd5b62000f1e826020830160208601620011f3565b95945050505050565b60006020828403121562000f3a57600080fd5b5051919050565b6000815180845262000f5b816020860160208601620011f3565b601f01601f19169290920160200192915050565b8054600090600181811c908083168062000f8a57607f831692505b602080841082141562000fad57634e487b7160e01b600052602260045260246000fd5b8388526020880182801562000fcb576001811462000fdd576200100a565b60ff198716825282820197506200100a565b60008981526020902060005b87811015620010045781548482015290860190840162000fe9565b83019850505b5050505050505092915050565b600083516200102b818460208801620011f3565b83519083019062001041818360208801620011f3565b01949350505050565b600060018060a01b03808a16835260e060208401526200106e60e084018a62000f41565b838103604085015262001082818a62000f6f565b9050818816606085015286608085015283810360a0850152620010a6818762000f41565b9250505060ff831660c083015298975050505050505050565b6020808252825182820181905260009190848201906040850190845b81811015620011025783516001600160a01b031683529284019291840191600101620010db565b50909695505050505050565b60c0815260006200112360c083018962000f41565b828103602084015262001137818962000f6f565b6001600160a01b0388166040850152606084018790528381036080850152905062001163818662000f41565b91505060ff831660a0830152979650505050505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715620011a657620011a662001270565b604052919050565b600067ffffffffffffffff821115620011cb57620011cb62001270565b50601f01601f191660200190565b600082821015620011ee57620011ee62001244565b500390565b60005b8381101562001210578181015183820152602001620011f6565b8381111562001220576000848401525b50505050565b60006000198214156200123d576200123d62001244565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe60806040526001805460ff60a01b1916600160a01b1790553480156200002457600080fd5b50604051620013763803806200137683398101604081905262000047916200024f565b600080546001600160a01b0319163317905585516200006e906002906020890190620000db565b50845162000084906003906020880190620000db565b50600480546001600160a01b0319166001600160a01b03861617905560058390558151620000ba906006906020850190620000db565b506007805460ff191660ff9290921691909117905550620003709350505050565b828054620000e9906200031d565b90600052602060002090601f0160209004810192826200010d576000855562000158565b82601f106200012857805160ff191683800117855562000158565b8280016001018555821562000158579182015b82811115620001585782518255916020019190600101906200013b565b50620001669291506200016a565b5090565b5b808211156200016657600081556001016200016b565b600082601f8301126200019357600080fd5b81516001600160401b0380821115620001b057620001b06200035a565b604051601f8301601f19908116603f01168101908282118183101715620001db57620001db6200035a565b81604052838152602092508683858801011115620001f857600080fd5b600091505b838210156200021c5785820183015181830184015290820190620001fd565b838211156200022e5760008385830101525b9695505050505050565b805160ff811681146200024a57600080fd5b919050565b60008060008060008060c087890312156200026957600080fd5b86516001600160401b03808211156200028157600080fd5b6200028f8a838b0162000181565b97506020890151915080821115620002a657600080fd5b620002b48a838b0162000181565b60408a015190975091506001600160a01b0382168214620002d457600080fd5b606089015160808a0151929650945080821115620002f157600080fd5b506200030089828a0162000181565b9250506200031160a0880162000238565b90509295509295509295565b600181811c908216806200033257607f821691505b602082108114156200035457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610ff680620003806000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806379ba5097116100c3578063b5c90e981161007c578063b5c90e98146102c4578063cae9ca51146102d7578063d4ee1d90146102ea578063d85bd526146102fd578063dd62ed3e14610311578063f2fde38b1461034a57600080fd5b806379ba50971461024e57806389afcb44146102585780638da5cb5b1461026b57806395d89b4114610296578063a457c2d71461029e578063a9059cbb146102b157600080fd5b806321d77c421161011557806321d77c42146101c557806323b872dd146101cd578063313ce567146101e057806339509351146101ff57806340c10f191461021257806370a082311461022557600080fd5b806306fdde0314610152578063081fa35e14610170578063095ea7b31461018757806318160ddd146101aa5780631e89d545146101b2575b600080fd5b61015a61035d565b6040516101679190610e71565b60405180910390f35b61017960055481565b604051908152602001610167565b61019a610195366004610c47565b6103eb565b6040519015158152602001610167565b600854610179565b6101796101c0366004610d20565b610402565b61015a6105ef565b61019a6101db366004610c0b565b6105fc565b6007546101ed9060ff1681565b60405160ff9091168152602001610167565b61019a61020d366004610c47565b610660565b61019a610220366004610c47565b610696565b610179610233366004610bbd565b6001600160a01b031660009081526009602052604090205490565b610256610732565b005b61019a610266366004610bbd565b6107ad565b60005461027e906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b61015a610891565b61019a6102ac366004610c47565b61089e565b61019a6102bf366004610c47565b6108d4565b60045461027e906001600160a01b031681565b61019a6102e5366004610c71565b61090e565b60015461027e906001600160a01b031681565b60015461019a90600160a01b900460ff1681565b61017961031f366004610bd8565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b610256610358366004610bbd565b610989565b6003805461036a90610f08565b80601f016020809104026020016040519081016040528092919081815260200182805461039690610f08565b80156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b60006103f83384846109dd565b5060015b92915050565b6000815183511461041257600080fd5b606483511061042057600080fd5b6000805b83518110156104665783818151811061043f5761043f610f74565b6020026020010151826104529190610ed9565b91508061045e81610f43565b915050610424565b503360009081526009602052604090205481111561048357600080fd5b3360009081526009602052604090205461049d9082610a65565b336000908152600960205260408120919091555b84518110156105e5576105248482815181106104cf576104cf610f74565b6020026020010151600960008885815181106104ed576104ed610f74565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054610a8590919063ffffffff16565b6009600087848151811061053a5761053a610f74565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555084818151811061057857610578610f74565b60200260200101516001600160a01b0316336001600160a01b0316600080516020610fa18339815191528684815181106105b4576105b4610f74565b60200260200101516040516105cb91815260200190565b60405180910390a3806105dd81610f43565b9150506104b1565b5050915192915050565b6006805461036a90610f08565b60006001600160a01b03831661061157600080fd5b6001600160a01b0384166000908152600a602090815260408083203380855292529091205461064b9186916106469086610a65565b6109dd565b610656848484610aa0565b5060019392505050565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916103f89185906106469086610a85565b600080546001600160a01b031633146106ae57600080fd5b6001600160a01b0383166000908152600960205260409020546106d19083610a85565b6001600160a01b0384166000908152600960205260409020556008546106f79083610a85565b6008556040518281526001600160a01b03841690600090600080516020610fa18339815191529060200160405180910390a350600192915050565b6001546001600160a01b0316331461074957600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080546001600160a01b031633146107c557600080fd5b6001600160a01b0382166000908152600960205260409020546107e757600080fd5b6001600160a01b0382166000818152600960209081526040808320549051908152919291600080516020610fa1833981519152910160405180910390a36001600160a01b03821660009081526009602052604090205460085461084991610a65565b6008556001600160a01b03821660009081526009602052604090205461086f9080610a65565b6001600160a01b0383166000908152600960205260409020555060015b919050565b6002805461036a90610f08565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916103f89185906106469086610a65565b336000908152600960205260408120548211156108f057600080fd5b6001600160a01b03831661090357600080fd5b6103f8338484610aa0565b600061091b3385856109dd565b604051638f4ffcb160e01b81526001600160a01b03851690638f4ffcb19061094d903390879030908890600401610e34565b600060405180830381600087803b15801561096757600080fd5b505af115801561097b573d6000803e3d6000fd5b506001979650505050505050565b6000546001600160a01b031633146109a057600080fd5b6001546001600160a01b03828116911614156109bb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109f057600080fd5b6001600160a01b038216610a0357600080fd5b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600082821115610a7457600080fd5b610a7e8284610ef1565b9392505050565b6000610a918284610ed9565b9050828110156103fc57600080fd5b6001600160a01b038316600090815260096020526040902054610ac39082610a65565b6001600160a01b038085166000908152600960205260408082209390935590841681522054610af29082610a85565b6001600160a01b038084166000818152600960205260409081902093909355915190851690600080516020610fa183398151915290610a589085815260200190565b80356001600160a01b038116811461088c57600080fd5b600082601f830112610b5c57600080fd5b81356020610b71610b6c83610eb5565b610e84565b80838252828201915082860187848660051b8901011115610b9157600080fd5b60005b85811015610bb057813584529284019290840190600101610b94565b5090979650505050505050565b600060208284031215610bcf57600080fd5b610a7e82610b34565b60008060408385031215610beb57600080fd5b610bf483610b34565b9150610c0260208401610b34565b90509250929050565b600080600060608486031215610c2057600080fd5b610c2984610b34565b9250610c3760208501610b34565b9150604084013590509250925092565b60008060408385031215610c5a57600080fd5b610c6383610b34565b946020939093013593505050565b600080600060608486031215610c8657600080fd5b610c8f84610b34565b92506020808501359250604085013567ffffffffffffffff80821115610cb457600080fd5b818701915087601f830112610cc857600080fd5b813581811115610cda57610cda610f8a565b610cec601f8201601f19168501610e84565b91508082528884828501011115610d0257600080fd5b80848401858401376000848284010152508093505050509250925092565b60008060408385031215610d3357600080fd5b823567ffffffffffffffff80821115610d4b57600080fd5b818501915085601f830112610d5f57600080fd5b81356020610d6f610b6c83610eb5565b8083825282820191508286018a848660051b8901011115610d8f57600080fd5b600096505b84871015610db957610da581610b34565b835260019690960195918301918301610d94565b5096505086013592505080821115610dd057600080fd5b50610ddd85828601610b4b565b9150509250929050565b6000815180845260005b81811015610e0d57602081850181015186830182015201610df1565b81811115610e1f576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0385811682526020820185905283166040820152608060608201819052600090610e6790830184610de7565b9695505050505050565b602081526000610a7e6020830184610de7565b604051601f8201601f1916810167ffffffffffffffff81118282101715610ead57610ead610f8a565b604052919050565b600067ffffffffffffffff821115610ecf57610ecf610f8a565b5060051b60200190565b60008219821115610eec57610eec610f5e565b500190565b600082821015610f0357610f03610f5e565b500390565b600181811c90821680610f1c57607f821691505b60208210811415610f3d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610f5757610f57610f5e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220919d40f150850f4fae252efaaba27cc9642a4826dc235a1aa2ee0d4c1fb6aa4f64736f6c63430008070033a26469706673582212207f4f7ddf53a1dce78a60e4ae29976eee9870b495ab92943af35ca43da2d7e92764736f6c63430008070033

Deployed ByteCode Sourcemap

7773:3813:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:225;;;;;;:::i;:::-;-1:-1:-1;;;;;11331:30:0;;;11264:29;11331:30;;;:15;:30;;;;;:38;;;11371;;;;11331;;;11193:225;;;;;-1:-1:-1;;;;;6856:32:1;;;6838:51;;6920:2;6905:18;;6898:34;;;;6811:18;11193:225:0;;;;;;;;11426:155;;;;;;:::i;:::-;-1:-1:-1;;;11426:155:0;;;;;;;;;;-1:-1:-1;;;;;;8412:33:1;;;8394:52;;8382:2;8367:18;11426:155:0;8250:202:1;8610:1723:0;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5332:32:1;;;5314:51;;5302:2;5287:18;8610:1723:0;5168:203:1;8380:134:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2767:196::-;;;:::i;:::-;;8526:71;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8526:71:0;;;2323:20;;;;;-1:-1:-1;;;;;2323:20:0;;;10345:589;;;;;;:::i;:::-;;:::i;:::-;;;8223:14:1;;8216:22;8198:41;;8186:2;8171:18;10345:589:0;8058:187:1;2350:23:0;;;;;-1:-1:-1;;;;;2350:23:0;;;2604:155;;;;;;:::i;:::-;;:::i;8610:1723::-;8712:21;8770:13;8755:11;:28;;8747:67;;;;-1:-1:-1;;;8747:67:0;;9465:2:1;8747:67:0;;;9447:21:1;9504:2;9484:18;;;9477:30;9543:28;9523:18;;;9516:56;9589:18;;8747:67:0;;;;;;;;;8833:16;8825:45;;;;-1:-1:-1;;;8825:45:0;;9820:2:1;8825:45:0;;;9802:21:1;9859:2;9839:18;;;9832:30;-1:-1:-1;;;9878:18:1;;;9871:46;9934:18;;8825:45:0;9618:340:1;8825:45:0;-1:-1:-1;;;;;8889:29:0;;8881:54;;;;-1:-1:-1;;;8881:54:0;;10165:2:1;8881:54:0;;;10147:21:1;10204:2;10184:18;;;10177:30;-1:-1:-1;;;10223:18:1;;;10216:42;10275:18;;8881:54:0;9963:336:1;8881:54:0;8946:85;;-1:-1:-1;;;8946:85:0;;8996:10;8946:85;;;5616:34:1;9016:4:0;5666:18:1;;;5659:43;5718:18;;;5711:34;;;-1:-1:-1;;;;;8946:49:0;;;;;5551:18:1;;8946:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;9046:33:0;;;9100:1;9046:33;;;:16;:33;;;;;;;;:42;;;;;;;;;;9042:848;;9130:21;9171:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;9242:15;-1:-1:-1;;;;;9226:39:0;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9226:41:0;;;;;;;;;;;;:::i;:::-;9287:4;9311:15;9346:7;9389:15;-1:-1:-1;;;;;9373:41:0;;9415:7;9373:50;;;;;;;;;;;;;10450:25:1;;10438:2;10423:18;;10304:177;9373:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9373:50:0;;;;;;;;;;;;:::i;:::-;9443:8;;9197:255;;;;;;;;;-1:-1:-1;;;9443:8:0;;;;;9197:255;;;:::i;:::-;;;;-1:-1:-1;;9197:255:0;;;;;;;;;;9154:299;;;9197:255;9154:299;;:::i;:::-;;;;-1:-1:-1;;9154:299:0;;;;;;;;;;-1:-1:-1;;4549:2:1;4545:15;;;4541:24;;9154:299:0;9493:57;;4529:37:1;4582:12;;;4575:28;;;9544:4:0;4637:15:1;;4633:24;4619:12;;;4612:46;9154:299:0;-1:-1:-1;9468:12:0;;4674::1;;9493:57:0;;;;;;;;;;;;9483:68;;;;;;9468:83;;9582:22;9589:8;9599:4;9582:6;:22::i;:::-;9566:13;:38;;-1:-1:-1;;;;;;9566:38:0;-1:-1:-1;;;;;9566:38:0;;;;;;;;;9651:41;;;-1:-1:-1;;;9651:41:0;;;;9624:163;;9651:39;;;;;:41;;;;;-1:-1:-1;;9651:41:0;;;;;;;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9651:41:0;;;;;;;;;;;;:::i;:::-;9694:4;9700:15;9717:7;9742:15;-1:-1:-1;;;;;9726:41:0;;9768:7;9726:50;;;;;;;;;;;;;10450:25:1;;10438:2;10423:18;;10304:177;9726:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9726:50:0;;;;;;;;;;;;:::i;:::-;9778:8;;9624:163;;;;;;;;;;-1:-1:-1;;;9778:8:0;;;;;9624:163;:::i;:::-;;;;;;;;9104:695;;9042:848;;;-1:-1:-1;;;;;9836:33:0;;;;;;;:16;:33;;;;;;;;:42;;;;;;;;;9820:13;:58;;-1:-1:-1;;;;;;9820:58:0;9836:42;;;;9820:58;;;9042:848;9923:13;;9908:59;;-1:-1:-1;;;9908:59:0;;9943:10;9908:59;;;6838:51:1;6905:18;;;6898:34;;;-1:-1:-1;;;;;9923:13:0;;;;9908:34;;6811:18:1;;9908:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9900:68;;;;;;9995:13;;;-1:-1:-1;;;;;9995:13:0;;;9979:30;;;;:15;:30;;;;;;;;:56;;;;;-1:-1:-1;;;;;;9979:56:0;;;;;;;;10062:13;;;;10046:30;;;;;-1:-1:-1;10046:38:0;:48;;;10150:13;;10105:33;;;:16;:33;;;;;:42;;;;;;;;;:58;;;;;10150:13;;;10105:58;;;;;;;10211:13;;10179:63;;7212:34:1;;;7262:18;;;7255:34;;;10211:13:0;;;7305:18:1;;;7298:43;10226:15:0;7372:2:1;7357:18;;7350:34;10179:63:0;;;;7161:3:1;10179:63:0;;;;;;;-1:-1:-1;10261:10:0;10253:19;;;;:7;:19;;;;;;;10278:13;;;10253:39;;10278:13;10253:39;;;;;;;;;;;;;;-1:-1:-1;;;;;;10253:39:0;-1:-1:-1;;;;;10278:13:0;;;10253:39;;;10311:13;;;8610:1723;;;;;:::o;8380:134::-;-1:-1:-1;;;;;8487:19:0;;;;;;:7;:19;;;;;;;;;8480:26;;;;;;;;;;;;;;;;;8451:16;;8480:26;;;8487:19;8480:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8480:26:0;;;;;;;;;;;;;;;;;;;;;;;8380:134;;;:::o;2767:196::-;2834:8;;-1:-1:-1;;;;;2834:8:0;2820:10;:22;2812:31;;;;;;2887:8;;;2880:5;;2859:37;;-1:-1:-1;;;;;2887:8:0;;;;2880:5;;;;2859:37;;;2915:8;;;;2907:16;;-1:-1:-1;;;;;;2907:16:0;;;-1:-1:-1;;;;;2915:8:0;;2907:16;;;;2934:21;;;2767:196::o;10345:589::-;10409:12;10512:13;-1:-1:-1;;;;;10497:41:0;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10442:51;;-1:-1:-1;;;10442:51:0;;10482:10;10442:51;;;5314::1;-1:-1:-1;;;;;10442:39:0;;;;;5287:18:1;;10442:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;10434:107;;;;;;10560:46;;-1:-1:-1;;;10560:46:0;;10595:10;10560:46;;;5314:51:1;-1:-1:-1;;;;;10560:34:0;;;;;5287:18:1;;10560:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10552:55;;;;;;-1:-1:-1;;;;;10634:30:0;;;;;;;:15;:30;;;;;;;;;:38;;;10718;;;;10618:139;;-1:-1:-1;;;10618:139:0;;10699:4;10618:139;;;5616:34:1;;;;10706:10:0;5666:18:1;;;5659:43;5718:18;;;5711:34;;;;10634:38:0;;;10618:72;;5551:18:1;;10618:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10773:6;10768:137;10793:10;10785:19;;;;:7;:19;;;;;:26;:30;;10814:1;;10785:30;:::i;:::-;10781:1;:34;10768:137;;;10836:10;10828:19;;;;:7;:19;;;;;:22;;-1:-1:-1;;;;;10828:39:0;;;:19;10848:1;;10828:22;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;10828:22:0;:39;10824:79;;;10886:10;10878:19;;;;:7;:19;;;;;:22;;10898:1;;10878:22;;;;;;:::i;:::-;;;;;;;;;;10871:29;;-1:-1:-1;;;;;;10871:29:0;;;10824:79;10817:3;;;;:::i;:::-;;;;10768:137;;;-1:-1:-1;10922:4:0;;10345:589;-1:-1:-1;;10345:589:0:o;2604:155::-;2570:5;;-1:-1:-1;;;;;2570:5:0;2556:10;:19;2548:28;;;;;;2707:8:::1;::::0;-1:-1:-1;;;;;2690:25:0;;::::1;2707:8:::0;::::1;2690:25;;2682:34;;;::::0;::::1;;2727:8;:24:::0;;-1:-1:-1;;;;;;2727:24:0::1;-1:-1:-1::0;;;;;2727:24:0;;;::::1;::::0;;;::::1;::::0;;2604:155::o;10946:235::-;11013:12;11103:4;11096;11090:11;11083:4;11077;11073:15;11070:1;11062:46;11054:54;;11140:4;11128:17;11118:45;;11159:1;11156;11149:12;11118:45;10946:235;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:888::-;478:6;486;494;502;555:3;543:9;534:7;530:23;526:33;523:53;;;572:1;569;562:12;523:53;595:29;614:9;595:29;:::i;:::-;585:39;;643:38;677:2;666:9;662:18;643:38;:::i;:::-;633:48;;728:2;717:9;713:18;700:32;690:42;;783:2;772:9;768:18;755:32;810:18;802:6;799:30;796:50;;;842:1;839;832:12;796:50;865:22;;918:4;910:13;;906:27;-1:-1:-1;896:55:1;;947:1;944;937:12;896:55;983:2;970:16;1008:48;1024:31;1052:2;1024:31;:::i;:::-;1008:48;:::i;:::-;1079:2;1072:5;1065:17;1119:7;1114:2;1109;1105;1101:11;1097:20;1094:33;1091:53;;;1140:1;1137;1130:12;1091:53;1195:2;1190;1186;1182:11;1177:2;1170:5;1166:14;1153:45;1239:1;1234:2;1229;1222:5;1218:14;1214:23;1207:34;1260:5;1250:15;;;;;383:888;;;;;;;:::o;1276:254::-;1344:6;1352;1405:2;1393:9;1384:7;1380:23;1376:32;1373:52;;;1421:1;1418;1411:12;1373:52;1444:29;1463:9;1444:29;:::i;:::-;1434:39;1520:2;1505:18;;;;1492:32;;-1:-1:-1;;;1276:254:1:o;1535:322::-;1612:6;1620;1628;1681:2;1669:9;1660:7;1656:23;1652:32;1649:52;;;1697:1;1694;1687:12;1649:52;1720:29;1739:9;1720:29;:::i;:::-;1710:39;1796:2;1781:18;;1768:32;;-1:-1:-1;1847:2:1;1832:18;;;1819:32;;1535:322;-1:-1:-1;;;1535:322:1:o;1862:277::-;1929:6;1982:2;1970:9;1961:7;1957:23;1953:32;1950:52;;;1998:1;1995;1988:12;1950:52;2030:9;2024:16;2083:5;2076:13;2069:21;2062:5;2059:32;2049:60;;2105:1;2102;2095:12;2144:635;2224:6;2277:2;2265:9;2256:7;2252:23;2248:32;2245:52;;;2293:1;2290;2283:12;2245:52;2326:9;2320:16;2359:18;2351:6;2348:30;2345:50;;;2391:1;2388;2381:12;2345:50;2414:22;;2467:4;2459:13;;2455:27;-1:-1:-1;2445:55:1;;2496:1;2493;2486:12;2445:55;2525:2;2519:9;2550:48;2566:31;2594:2;2566:31;:::i;2550:48::-;2621:2;2614:5;2607:17;2661:7;2656:2;2651;2647;2643:11;2639:20;2636:33;2633:53;;;2682:1;2679;2672:12;2633:53;2695:54;2746:2;2741;2734:5;2730:14;2725:2;2721;2717:11;2695:54;:::i;:::-;2768:5;2144:635;-1:-1:-1;;;;;2144:635:1:o;2784:184::-;2854:6;2907:2;2895:9;2886:7;2882:23;2878:32;2875:52;;;2923:1;2920;2913:12;2875:52;-1:-1:-1;2946:16:1;;2784:184;-1:-1:-1;2784:184:1:o;2973:258::-;3015:3;3053:5;3047:12;3080:6;3075:3;3068:19;3096:63;3152:6;3145:4;3140:3;3136:14;3129:4;3122:5;3118:16;3096:63;:::i;:::-;3213:2;3192:15;-1:-1:-1;;3188:29:1;3179:39;;;;3220:4;3175:50;;2973:258;-1:-1:-1;;2973:258:1:o;3236:1053::-;3321:12;;3286:3;;3376:1;3396:18;;;;3449;;;;3476:61;;3530:4;3522:6;3518:17;3508:27;;3476:61;3556:2;3604;3596:6;3593:14;3573:18;3570:38;3567:161;;;3650:10;3645:3;3641:20;3638:1;3631:31;3685:4;3682:1;3675:15;3713:4;3710:1;3703:15;3567:161;11181:19;;;11233:4;11224:14;;3825:18;3852:104;;;;3970:1;3965:318;;;;3818:465;;3852:104;-1:-1:-1;;3887:24:1;;3873:39;;3932:14;;;;-1:-1:-1;3852:104:1;;3965:318;11030:1;11023:14;;;11067:4;11054:18;;4059:1;4073:167;4087:6;4084:1;4081:13;4073:167;;;4167:14;;4152:13;;;4145:37;4210:16;;;;4102:10;;4073:167;;;4260:13;;;-1:-1:-1;;3818:465:1;;;;;;;;3236:1053;;;;:::o;4697:466::-;4872:3;4910:6;4904:13;4926:53;4972:6;4967:3;4960:4;4952:6;4948:17;4926:53;:::i;:::-;5042:13;;5001:16;;;;5064:57;5042:13;5001:16;5098:4;5086:17;;5064:57;:::i;:::-;5137:20;;4697:466;-1:-1:-1;;;;4697:466:1:o;5756:903::-;6069:4;6115:1;6111;6106:3;6102:11;6098:19;6156:2;6148:6;6144:15;6133:9;6126:34;6196:3;6191:2;6180:9;6176:18;6169:31;6223:46;6264:3;6253:9;6249:19;6241:6;6223:46;:::i;:::-;6317:9;6309:6;6305:22;6300:2;6289:9;6285:18;6278:50;6351:41;6385:6;6377;6351:41;:::i;:::-;6337:55;;6440:2;6432:6;6428:15;6423:2;6412:9;6408:18;6401:43;6481:6;6475:3;6464:9;6460:19;6453:35;6537:9;6529:6;6525:22;6519:3;6508:9;6504:19;6497:51;6565:33;6591:6;6583;6565:33;:::i;:::-;6557:41;;;;6647:4;6639:6;6635:17;6629:3;6618:9;6614:19;6607:46;5756:903;;;;;;;;;;:::o;7395:658::-;7566:2;7618:21;;;7688:13;;7591:18;;;7710:22;;;7537:4;;7566:2;7789:15;;;;7763:2;7748:18;;;7537:4;7832:195;7846:6;7843:1;7840:13;7832:195;;;7911:13;;-1:-1:-1;;;;;7907:39:1;7895:52;;8002:15;;;;7967:12;;;;7943:1;7861:9;7832:195;;;-1:-1:-1;8044:3:1;;7395:658;-1:-1:-1;;;;;;7395:658:1:o;8457:801::-;8779:3;8768:9;8761:22;8742:4;8806:46;8847:3;8836:9;8832:19;8824:6;8806:46;:::i;:::-;8900:9;8892:6;8888:22;8883:2;8872:9;8868:18;8861:50;8934:41;8968:6;8960;8934:41;:::i;:::-;-1:-1:-1;;;;;9011:32:1;;9006:2;8991:18;;8984:60;9075:2;9060:18;;9053:34;;;9124:22;;;9118:3;9103:19;;9096:51;8920:55;-1:-1:-1;9164:33:1;8920:55;9182:6;9164:33;:::i;:::-;9156:41;;;9246:4;9238:6;9234:17;9228:3;9217:9;9213:19;9206:46;8457:801;;;;;;;;;:::o;10486:275::-;10557:2;10551:9;10622:2;10603:13;;-1:-1:-1;;10599:27:1;10587:40;;10657:18;10642:34;;10678:22;;;10639:62;10636:88;;;10704:18;;:::i;:::-;10740:2;10733:22;10486:275;;-1:-1:-1;10486:275:1:o;10766:186::-;10814:4;10847:18;10839:6;10836:30;10833:56;;;10869:18;;:::i;:::-;-1:-1:-1;10935:2:1;10914:15;-1:-1:-1;;10910:29:1;10941:4;10906:40;;10766:186::o;11249:125::-;11289:4;11317:1;11314;11311:8;11308:34;;;11322:18;;:::i;:::-;-1:-1:-1;11359:9:1;;11249:125::o;11379:258::-;11451:1;11461:113;11475:6;11472:1;11469:13;11461:113;;;11551:11;;;11545:18;11532:11;;;11525:39;11497:2;11490:10;11461:113;;;11592:6;11589:1;11586:13;11583:48;;;11627:1;11618:6;11613:3;11609:16;11602:27;11583:48;;11379:258;;;:::o;11642:135::-;11681:3;-1:-1:-1;;11702:17:1;;11699:43;;;11722:18;;:::i;:::-;-1:-1:-1;11769:1:1;11758:13;;11642:135::o;11782:127::-;11843:10;11838:3;11834:20;11831:1;11824:31;11874:4;11871:1;11864:15;11898:4;11895:1;11888:15;11914:127;11975:10;11970:3;11966:20;11963:1;11956:31;12006:4;12003:1;11996:15;12030:4;12027:1;12020:15;12046:127;12107:10;12102:3;12098:20;12095:1;12088:31;12138:4;12135:1;12128:15;12162:4;12159:1;12152:15

Swarm Source

ipfs://7f4f7ddf53a1dce78a60e4ae29976eee9870b495ab92943af35ca43da2d7e927
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.