ETH Price: $3,266.70 (+3.04%)
Gas: 2 Gwei

Contract

0x8C82443d507CD684048383A29413E619FBf7Fc0b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Open Presale170272352023-04-11 20:35:59471 days ago1681245359IN
0x8C82443d...9FBf7Fc0b
0 ETH0.000784727.34355977
Buy Token170272342023-04-11 20:35:47471 days ago1681245347IN
0x8C82443d...9FBf7Fc0b
0.28 ETH0.0012001327.73155203
Buy Token170272292023-04-11 20:34:47471 days ago1681245287IN
0x8C82443d...9FBf7Fc0b
0.2 ETH0.0010775328.98310621
Buy Token170272222023-04-11 20:33:23471 days ago1681245203IN
0x8C82443d...9FBf7Fc0b
2 ETH0.0049817550
Buy Token170272192023-04-11 20:32:47471 days ago1681245167IN
0x8C82443d...9FBf7Fc0b
0.5 ETH0.0019630530
Buy Token170272182023-04-11 20:32:23471 days ago1681245143IN
0x8C82443d...9FBf7Fc0b
2 ETH0.0026645426.74310007
Buy Token170272162023-04-11 20:31:59471 days ago1681245119IN
0x8C82443d...9FBf7Fc0b
0.2 ETH0.0018158827.75102597
Buy Token170272152023-04-11 20:31:47471 days ago1681245107IN
0x8C82443d...9FBf7Fc0b
0.17 ETH0.0028234928.33842261
Buy Token170272152023-04-11 20:31:47471 days ago1681245107IN
0x8C82443d...9FBf7Fc0b
2 ETH0.0028261428.36503221
Buy Token170272142023-04-11 20:31:35471 days ago1681245095IN
0x8C82443d...9FBf7Fc0b
0.5 ETH0.0029270529.3778221
Buy Token170272132023-04-11 20:31:23471 days ago1681245083IN
0x8C82443d...9FBf7Fc0b
0.1 ETH0.0028787528.89297268
Buy Token170272112023-04-11 20:30:59471 days ago1681245059IN
0x8C82443d...9FBf7Fc0b
1.25 ETH0.0029774729.88381854
Buy Token170272102023-04-11 20:30:47471 days ago1681245047IN
0x8C82443d...9FBf7Fc0b
0.5 ETH0.0033840533.96453054
Buy Token170272092023-04-11 20:30:35471 days ago1681245035IN
0x8C82443d...9FBf7Fc0b
2 ETH0.003025930.36985062
Buy Token170272032023-04-11 20:29:23471 days ago1681244963IN
0x8C82443d...9FBf7Fc0b
0.14 ETH0.0028936626.88029457
Buy Token170272002023-04-11 20:28:47471 days ago1681244927IN
0x8C82443d...9FBf7Fc0b
0.1 ETH0.0028427628.5317921
Buy Token170271952023-04-11 20:27:47471 days ago1681244867IN
0x8C82443d...9FBf7Fc0b
0.126 ETH0.0027544427.64540294
Buy Token170271942023-04-11 20:27:35471 days ago1681244855IN
0x8C82443d...9FBf7Fc0b
0.3 ETH0.0027437627.53815292
Buy Token170271922023-04-11 20:27:11471 days ago1681244831IN
0x8C82443d...9FBf7Fc0b
0.3 ETH0.0027539427.64037303
Buy Token170271912023-04-11 20:26:59471 days ago1681244819IN
0x8C82443d...9FBf7Fc0b
0.1 ETH0.0030874528.90034843
Buy Token170271882023-04-11 20:26:11471 days ago1681244771IN
0x8C82443d...9FBf7Fc0b
0.5 ETH0.002705327.15219224
Buy Token170271862023-04-11 20:25:47471 days ago1681244747IN
0x8C82443d...9FBf7Fc0b
0.2 ETH0.0022091130
Buy Token170271852023-04-11 20:25:35471 days ago1681244735IN
0x8C82443d...9FBf7Fc0b
0.25 ETH0.0025929626.02466331
Buy Token170271852023-04-11 20:25:35471 days ago1681244735IN
0x8C82443d...9FBf7Fc0b
0.4 ETH0.0026826326.92466331
Buy Token170271842023-04-11 20:25:23471 days ago1681244723IN
0x8C82443d...9FBf7Fc0b
0.1 ETH0.0026880626.97917018
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
170272222023-04-11 20:33:23471 days ago1681245203
0x8C82443d...9FBf7Fc0b
2 ETH
170272192023-04-11 20:32:47471 days ago1681245167
0x8C82443d...9FBf7Fc0b
0.5 ETH
170272182023-04-11 20:32:23471 days ago1681245143
0x8C82443d...9FBf7Fc0b
2 ETH
170272162023-04-11 20:31:59471 days ago1681245119
0x8C82443d...9FBf7Fc0b
0.2 ETH
170272152023-04-11 20:31:47471 days ago1681245107
0x8C82443d...9FBf7Fc0b
0.17 ETH
170272152023-04-11 20:31:47471 days ago1681245107
0x8C82443d...9FBf7Fc0b
2 ETH
170272142023-04-11 20:31:35471 days ago1681245095
0x8C82443d...9FBf7Fc0b
0.5 ETH
170272132023-04-11 20:31:23471 days ago1681245083
0x8C82443d...9FBf7Fc0b
0.1 ETH
170272112023-04-11 20:30:59471 days ago1681245059
0x8C82443d...9FBf7Fc0b
1.25 ETH
170272102023-04-11 20:30:47471 days ago1681245047
0x8C82443d...9FBf7Fc0b
0.5 ETH
170272092023-04-11 20:30:35471 days ago1681245035
0x8C82443d...9FBf7Fc0b
2 ETH
170272032023-04-11 20:29:23471 days ago1681244963
0x8C82443d...9FBf7Fc0b
0.14 ETH
170272002023-04-11 20:28:47471 days ago1681244927
0x8C82443d...9FBf7Fc0b
0.1 ETH
170271952023-04-11 20:27:47471 days ago1681244867
0x8C82443d...9FBf7Fc0b
0.126 ETH
170271942023-04-11 20:27:35471 days ago1681244855
0x8C82443d...9FBf7Fc0b
0.3 ETH
170271922023-04-11 20:27:11471 days ago1681244831
0x8C82443d...9FBf7Fc0b
0.3 ETH
170271912023-04-11 20:26:59471 days ago1681244819
0x8C82443d...9FBf7Fc0b
0.1 ETH
170271882023-04-11 20:26:11471 days ago1681244771
0x8C82443d...9FBf7Fc0b
0.5 ETH
170271862023-04-11 20:25:47471 days ago1681244747
0x8C82443d...9FBf7Fc0b
0.2 ETH
170271852023-04-11 20:25:35471 days ago1681244735
0x8C82443d...9FBf7Fc0b
0.25 ETH
170271852023-04-11 20:25:35471 days ago1681244735
0x8C82443d...9FBf7Fc0b
0.4 ETH
170271842023-04-11 20:25:23471 days ago1681244723
0x8C82443d...9FBf7Fc0b
0.1 ETH
170271832023-04-11 20:25:11471 days ago1681244711
0x8C82443d...9FBf7Fc0b
0.1 ETH
170271782023-04-11 20:24:11471 days ago1681244651
0x8C82443d...9FBf7Fc0b
0.1 ETH
170271782023-04-11 20:24:11471 days ago1681244651
0x8C82443d...9FBf7Fc0b
0.11 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
presaleScrilla

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-11
*/

/*
  _____   __  ____   ____  _      _       ____      ____  ____     ___  _____  ____  _        ___ 
 / ___/  /  ]|    \ |    || |    | |     /    |    |    \|    \   /  _]/ ___/ /    || |      /  _]
(   \_  /  / |  D  ) |  | | |    | |    |  o  |    |  o  )  D  ) /  [_(   \_ |  o  || |     /  [_ 
 \__  |/  /  |    /  |  | | |___ | |___ |     |    |   _/|    / |    _]\__  ||     || |___ |    _]
 /  \ /   \_ |    \  |  | |     ||     ||  _  |    |  |  |    \ |   [_ /  \ ||  _  ||     ||   [_ 
 \    \     ||  .  \ |  | |     ||     ||  |  |    |  |  |  .  \|     |\    ||  |  ||     ||     |
  \___|\____||__|\_||____||_____||_____||__|__|    |__|  |__|\_||_____| \___||__|__||_____||_____|
                                                                                                  
*/

//SPDX-License-Identifier: MIT Licensed
pragma solidity ^0.8.10;

interface IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function tokensForSale() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 value) external;

    function transfer(address to, uint256 value) external;

    function transferFrom(address from, address to, uint256 value) external;

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

/**
 * @dev These functions deal with verification of Merkle Tree proofs.
 *
 * The tree and the proofs can be generated using our
 * https://github.com/OpenZeppelin/merkle-tree[JavaScript library].
 * You will find a quickstart guide in the readme.
 *
 * WARNING: You should avoid using leaf values that are 64 bytes long prior to
 * hashing, or use a hash function other than keccak256 for hashing leaves.
 * This is because the concatenation of a sorted pair of internal nodes in
 * the merkle tree could be reinterpreted as a leaf value.
 * OpenZeppelin's JavaScript library generates merkle trees that are safe
 * against this attack out of the box.
 */
library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree. Each
     * pair of leaves and each pair of pre-images are assumed to be sorted.
     */
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProof(proof, leaf) == root;
    }

    /**
     * @dev Calldata version of {verify}
     *
     * _Available since v4.7._
     */
    function verifyCalldata(
        bytes32[] calldata proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProofCalldata(proof, leaf) == root;
    }

    /**
     * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up
     * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt
     * hash matches the root of the tree. When processing the proof, the pairs
     * of leafs & pre-images are assumed to be sorted.
     *
     * _Available since v4.4._
     */
    function processProof(
        bytes32[] memory proof,
        bytes32 leaf
    ) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            computedHash = _hashPair(computedHash, proof[i]);
        }
        return computedHash;
    }

    /**
     * @dev Calldata version of {processProof}
     *
     * _Available since v4.7._
     */
    function processProofCalldata(
        bytes32[] calldata proof,
        bytes32 leaf
    ) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            computedHash = _hashPair(computedHash, proof[i]);
        }
        return computedHash;
    }

    /**
     * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a merkle tree defined by
     * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.
     *
     * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.
     *
     * _Available since v4.7._
     */
    function multiProofVerify(
        bytes32[] memory proof,
        bool[] memory proofFlags,
        bytes32 root,
        bytes32[] memory leaves
    ) internal pure returns (bool) {
        return processMultiProof(proof, proofFlags, leaves) == root;
    }

    /**
     * @dev Calldata version of {multiProofVerify}
     *
     * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.
     *
     * _Available since v4.7._
     */
    function multiProofVerifyCalldata(
        bytes32[] calldata proof,
        bool[] calldata proofFlags,
        bytes32 root,
        bytes32[] memory leaves
    ) internal pure returns (bool) {
        return processMultiProofCalldata(proof, proofFlags, leaves) == root;
    }

    /**
     * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction
     * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another
     * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false
     * respectively.
     *
     * CAUTION: Not all merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree
     * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the
     * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).
     *
     * _Available since v4.7._
     */
    function processMultiProof(
        bytes32[] memory proof,
        bool[] memory proofFlags,
        bytes32[] memory leaves
    ) internal pure returns (bytes32 merkleRoot) {
        // This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by
        // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
        // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
        // the merkle tree.
        uint256 leavesLen = leaves.length;
        uint256 totalHashes = proofFlags.length;

        // Check proof validity.
        require(
            leavesLen + proof.length - 1 == totalHashes,
            "MerkleProof: invalid multiproof"
        );

        // The xxxPos values are "pointers" to the next value to consume in each array. All accesses are done using
        // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's "pop".
        bytes32[] memory hashes = new bytes32[](totalHashes);
        uint256 leafPos = 0;
        uint256 hashPos = 0;
        uint256 proofPos = 0;
        // At each step, we compute the next hash using two values:
        // - a value from the "main queue". If not all leaves have been consumed, we get the next leaf, otherwise we
        //   get the next hash.
        // - depending on the flag, either another value for the "main queue" (merging branches) or an element from the
        //   `proof` array.
        for (uint256 i = 0; i < totalHashes; i++) {
            bytes32 a = leafPos < leavesLen
                ? leaves[leafPos++]
                : hashes[hashPos++];
            bytes32 b = proofFlags[i]
                ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++]
                : proof[proofPos++];
            hashes[i] = _hashPair(a, b);
        }

        if (totalHashes > 0) {
            return hashes[totalHashes - 1];
        } else if (leavesLen > 0) {
            return leaves[0];
        } else {
            return proof[0];
        }
    }

    /**
     * @dev Calldata version of {processMultiProof}.
     *
     * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.
     *
     * _Available since v4.7._
     */
    function processMultiProofCalldata(
        bytes32[] calldata proof,
        bool[] calldata proofFlags,
        bytes32[] memory leaves
    ) internal pure returns (bytes32 merkleRoot) {
        // This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by
        // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the
        // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of
        // the merkle tree.
        uint256 leavesLen = leaves.length;
        uint256 totalHashes = proofFlags.length;

        // Check proof validity.
        require(
            leavesLen + proof.length - 1 == totalHashes,
            "MerkleProof: invalid multiproof"
        );

        // The xxxPos values are "pointers" to the next value to consume in each array. All accesses are done using
        // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's "pop".
        bytes32[] memory hashes = new bytes32[](totalHashes);
        uint256 leafPos = 0;
        uint256 hashPos = 0;
        uint256 proofPos = 0;
        // At each step, we compute the next hash using two values:
        // - a value from the "main queue". If not all leaves have been consumed, we get the next leaf, otherwise we
        //   get the next hash.
        // - depending on the flag, either another value for the "main queue" (merging branches) or an element from the
        //   `proof` array.
        for (uint256 i = 0; i < totalHashes; i++) {
            bytes32 a = leafPos < leavesLen
                ? leaves[leafPos++]
                : hashes[hashPos++];
            bytes32 b = proofFlags[i]
                ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++]
                : proof[proofPos++];
            hashes[i] = _hashPair(a, b);
        }

        if (totalHashes > 0) {
            return hashes[totalHashes - 1];
        } else if (leavesLen > 0) {
            return leaves[0];
        } else {
            return proof[0];
        }
    }

    function _hashPair(bytes32 a, bytes32 b) private pure returns (bytes32) {
        return a < b ? _efficientHash(a, b) : _efficientHash(b, a);
    }

    function _efficientHash(
        bytes32 a,
        bytes32 b
    ) private pure returns (bytes32 value) {
        /// @solidity memory-safe-assembly
        assembly {
            mstore(0x00, a)
            mstore(0x20, b)
            value := keccak256(0x00, 0x40)
        }
    }
}

contract presaleScrilla {
    IERC20 public Scrilla;

    address payable public owner;
    bytes32 public merkleRoot;

    uint256 public tokenPerEth = 2_333_333 ether;
    uint256 public totalUsers;
    uint256 public soldToken;
    uint256 public minPurchase = 0.1 ether;
    uint256 public maxPurchase = 2 ether;
    uint256 public tokensForSale = 350000000 ether;

    uint256 public amountRaisedInEth;
    address payable public fundReceiver =
        payable(0x3A04A1044494f2e7AdD96DB4C4786c8F2d99d494);

    uint256 public constant divider = 100;
    bool public SaleForEveryOne;
    bool public enableClaim;
    mapping(address => bool) public oldBuyer;
    struct user {
        uint256 Eth_balance;
        uint256 token_balance;
        uint256 claimed_token;
    }

    mapping(address => user) public users;

    modifier onlyOwner() {
        require(msg.sender == owner, "PRESALE: Not an owner");
        _;
    }

    event BuyToken(address indexed _user, uint256 indexed _amount);
    event ClaimToken(address indexed _user, uint256 indexed _amount);

    constructor(IERC20 _scrilla) {
        owner = payable(0x3A04A1044494f2e7AdD96DB4C4786c8F2d99d494);
        Scrilla = _scrilla;
    }

    receive() external payable {}

    // to buy token during preSale time with Eth => for web3 use

    function buyToken(bytes32[] calldata merkleProof) public payable {
        if (
            !MerkleProof.verify(merkleProof, merkleRoot, toBytes32(msg.sender))
        ) {
            require(
                SaleForEveryOne == true,
                "Presale : Presale is not Opened yet"
            );
        }
        require(
            msg.value >= minPurchase,
            "Presale : amount must be greater than minimum purchase"
        );
        require(
            users[msg.sender].Eth_balance + msg.value <= maxPurchase,
            "Presale : amount must be less than max purchase"
        );
        require(soldToken <= tokensForSale, "All Sold");

        uint256 numberOfTokens;
        numberOfTokens = EthToToken(msg.value);
        soldToken = soldToken + (numberOfTokens);
        amountRaisedInEth = amountRaisedInEth + (msg.value);
        fundReceiver.transfer(msg.value);

        users[msg.sender].Eth_balance =
            users[msg.sender].Eth_balance +
            (msg.value);
        users[msg.sender].token_balance =
            users[msg.sender].token_balance +
            (numberOfTokens);
    }

    // to change preSale amount limits
    function setSupply(
        uint256 tokenForPresale,
        uint256 _soldToken
    ) external onlyOwner {
        tokensForSale = tokenForPresale;
        soldToken = _soldToken;
    }

    function OpenPresale(bool _status) external onlyOwner {
        SaleForEveryOne = _status;
    }

    // Claim bought tokens
    function claimTokens() external {
        require(enableClaim == true, "Presale : Presale is not finished yet");
        require(users[msg.sender].token_balance != 0, "Presale: 0 to claim");

        user storage _usr = users[msg.sender];

        Scrilla.transfer(msg.sender, _usr.token_balance);
        _usr.claimed_token += _usr.token_balance;
        _usr.token_balance -= _usr.token_balance;

        emit ClaimToken(msg.sender, _usr.token_balance);
    }

    // to check percentage of token sold
    function getProgress() public view returns (uint256 _percent) {
        uint256 remaining = tokensForSale -
            (soldToken / (10 ** (Scrilla.decimals())));
        remaining = (remaining * (divider)) / (tokensForSale);
        uint256 hundred = 100;
        return hundred - (remaining);
    }

    /**
     * @notice Change merkle root hash
     */
    function setMerkleRoot(bytes32 merkleRootHash) external onlyOwner {
        merkleRoot = merkleRootHash;
    }

    function toBytes32(address addr) internal pure returns (bytes32) {
        return bytes32(uint256(uint160(addr)));
    }

    // to check number of token for given eth
    function EthToToken(uint256 _amount) public view returns (uint256) {
        uint256 numberOfTokens = (_amount * (tokenPerEth)) / (1e18);
        return numberOfTokens;
    }

    // to change Price of the token
    function changePrice(uint256 _price) external onlyOwner {
        tokenPerEth = _price;
    }

    function EnableClaim(bool _claim) public onlyOwner {
        enableClaim = _claim;
    }

    function changePurchaseLimits(
        uint256 _minPurchase,
        uint256 _maxPurchase
    ) public onlyOwner {
        minPurchase = _minPurchase;
        maxPurchase = _maxPurchase;
    }

    // transfer ownership
    function changeOwner(address payable _newOwner) external onlyOwner {
        owner = _newOwner;
    }

    // change tokens
    function changeToken(address _token) external onlyOwner {
        Scrilla = IERC20(_token);
    }

    // to draw funds for liquidity
    function transferFundsEth(uint256 _value) external onlyOwner {
        owner.transfer(_value);
    }

    // to draw out tokens
    function transferTokens(IERC20 token, uint256 _value) external onlyOwner {
        token.transfer(msg.sender, _value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_scrilla","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BuyToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ClaimToken","type":"event"},{"inputs":[{"internalType":"bool","name":"_claim","type":"bool"}],"name":"EnableClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EthToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"OpenPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SaleForEveryOne","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Scrilla","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountRaisedInEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"changePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPurchase","type":"uint256"},{"internalType":"uint256","name":"_maxPurchase","type":"uint256"}],"name":"changePurchaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"changeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"divider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProgress","outputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oldBuyer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"merkleRootHash","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenForPresale","type":"uint256"},{"internalType":"uint256","name":"_soldToken","type":"uint256"}],"name":"setSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"soldToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPerEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFundsEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"Eth_balance","type":"uint256"},{"internalType":"uint256","name":"token_balance","type":"uint256"},{"internalType":"uint256","name":"claimed_token","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a01ee1a3c424bee9534000060035567016345785d8a0000600655671bc16d674ec800006007556b0121836204bc2ce21e000000600855600a80546001600160a01b031916733a04a1044494f2e7add96db4c4786c8f2d99d49417905534801561006d57600080fd5b506040516112cf3803806112cf83398101604081905261008c916100d3565b60018054733a04a1044494f2e7add96db4c4786c8f2d99d4946001600160a01b031991821617909155600080549091166001600160a01b0392909216919091179055610103565b6000602082840312156100e557600080fd5b81516001600160a01b03811681146100fc57600080fd5b9392505050565b6111bd806101126000396000f3fe6080604052600436106101d15760003560e01c80638132581c116100f7578063bec3fa1711610095578063dec11f6e11610064578063dec11f6e14610515578063f63bd63514610545578063fb4aa0a114610565578063fc784d491461058557600080fd5b8063bec3fa171461049f578063bff1f9e1146104bf578063d2f5b800146104d5578063de031679146104f557600080fd5b8063977b055b116100d1578063977b055b146103f2578063a2b40d1914610408578063a6f9dae114610428578063a87430ba1461044857600080fd5b80638132581c1461038f5780638da5cb5b146103a5578063939c4456146103dd57600080fd5b806337a19baf1161016f5780634fed30471161013e5780634fed30471461031957806366829b16146103395780636769d1f9146103595780637cb647591461036f57600080fd5b806337a19baf146102b057806339a22492146102d05780633f5a9674146102f157806348c54b9d1461030457600080fd5b80632cdc59d1116101ab5780632cdc59d11461024d5780632eb4a7ab1461026f57806333b5b62e14610285578063378efa371461029b57600080fd5b80630a084473146101dd57806312aef8c31461020657806328dae6e31461021c57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360035481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f360085481565b34801561022857600080fd5b50600a5461023d90600160a81b900460ff1681565b60405190151581526020016101fd565b34801561025957600080fd5b5061026d610268366004610e58565b6105a5565b005b34801561027b57600080fd5b506101f360025481565b34801561029157600080fd5b506101f360065481565b3480156102a757600080fd5b506101f3606481565b3480156102bc57600080fd5b5061026d6102cb366004610e7a565b6105e3565b3480156102dc57600080fd5b50600a5461023d90600160a01b900460ff1681565b61026d6102ff366004610e9c565b61062b565b34801561031057600080fd5b5061026d6108cb565b34801561032557600080fd5b5061026d610334366004610e7a565b610a70565b34801561034557600080fd5b5061026d610354366004610f29565b610ab8565b34801561036557600080fd5b506101f360055481565b34801561037b57600080fd5b5061026d61038a366004610f46565b610b04565b34801561039b57600080fd5b506101f360095481565b3480156103b157600080fd5b506001546103c5906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b3480156103e957600080fd5b506101f3610b33565b3480156103fe57600080fd5b506101f360075481565b34801561041457600080fd5b5061026d610423366004610f46565b610bf6565b34801561043457600080fd5b5061026d610443366004610f29565b610c25565b34801561045457600080fd5b50610484610463366004610f29565b600c6020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101fd565b3480156104ab57600080fd5b5061026d6104ba366004610f5f565b610c71565b3480156104cb57600080fd5b506101f360045481565b3480156104e157600080fd5b506000546103c5906001600160a01b031681565b34801561050157600080fd5b5061026d610510366004610f46565b610cff565b34801561052157600080fd5b5061023d610530366004610f29565b600b6020526000908152604090205460ff1681565b34801561055157600080fd5b506101f3610560366004610f46565b610d67565b34801561057157600080fd5b50600a546103c5906001600160a01b031681565b34801561059157600080fd5b5061026d6105a0366004610e58565b610d92565b6001546001600160a01b031633146105d85760405162461bcd60e51b81526004016105cf90610f8b565b60405180910390fd5b600691909155600755565b6001546001600160a01b0316331461060d5760405162461bcd60e51b81526004016105cf90610f8b565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b61066c828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150339050610dc7565b6106da57600a54600160a01b900460ff1615156001146106da5760405162461bcd60e51b815260206004820152602360248201527f50726573616c65203a2050726573616c65206973206e6f74204f70656e6564206044820152621e595d60ea1b60648201526084016105cf565b60065434101561074b5760405162461bcd60e51b815260206004820152603660248201527f50726573616c65203a20616d6f756e74206d7573742062652067726561746572604482015275207468616e206d696e696d756d20707572636861736560501b60648201526084016105cf565b600754336000908152600c6020526040902054610769903490610fd0565b11156107cf5760405162461bcd60e51b815260206004820152602f60248201527f50726573616c65203a20616d6f756e74206d757374206265206c65737320746860448201526e616e206d617820707572636861736560881b60648201526084016105cf565b600854600554111561080e5760405162461bcd60e51b8152602060048201526008602482015267105b1b0814dbdb1960c21b60448201526064016105cf565b600061081934610d67565b9050806005546108299190610fd0565b60055560095461083a903490610fd0565b600955600a546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610876573d6000803e3d6000fd5b50336000908152600c6020526040902054610892903490610fd0565b336000908152600c60205260409020908155600101546108b3908290610fd0565b336000908152600c6020526040902060010155505050565b600a54600160a81b900460ff1615156001146109375760405162461bcd60e51b815260206004820152602560248201527f50726573616c65203a2050726573616c65206973206e6f742066696e6973686560448201526419081e595d60da1b60648201526084016105cf565b336000908152600c602052604090206001015461098c5760405162461bcd60e51b815260206004820152601360248201527250726573616c653a203020746f20636c61696d60681b60448201526064016105cf565b336000818152600c602052604080822091546001830154915163a9059cbb60e01b81526004810194909452602484019190915290916001600160a01b039091169063a9059cbb90604401600060405180830381600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050508060010154816002016000828254610a209190610fd0565b9091555050600181018054906000610a388380610fe8565b9091555050600181015460405133907f5d425a3a6a3d5a60fbf147dc6659ce3dfeb701fc44fe90058c32783b8807c57490600090a350565b6001546001600160a01b03163314610a9a5760405162461bcd60e51b81526004016105cf90610f8b565b600a8054911515600160a81b0260ff60a81b19909216919091179055565b6001546001600160a01b03163314610ae25760405162461bcd60e51b81526004016105cf90610f8b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610b2e5760405162461bcd60e51b81526004016105cf90610f8b565b600255565b600080546040805163313ce56760e01b8152905183926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba19190610fff565b610bac90600a611106565b600554610bb99190611115565b600854610bc69190610fe8565b600854909150610bd7606483611137565b610be19190611115565b90506064610bef8282610fe8565b9250505090565b6001546001600160a01b03163314610c205760405162461bcd60e51b81526004016105cf90610f8b565b600355565b6001546001600160a01b03163314610c4f5760405162461bcd60e51b81526004016105cf90610f8b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c9b5760405162461bcd60e51b81526004016105cf90610f8b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401600060405180830381600087803b158015610ce357600080fd5b505af1158015610cf7573d6000803e3d6000fd5b505050505050565b6001546001600160a01b03163314610d295760405162461bcd60e51b81526004016105cf90610f8b565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d63573d6000803e3d6000fd5b5050565b600080670de0b6b3a764000060035484610d819190611137565b610d8b9190611115565b9392505050565b6001546001600160a01b03163314610dbc5760405162461bcd60e51b81526004016105cf90610f8b565b600891909155600555565b600082610dd48584610ddd565b14949350505050565b600081815b8451811015610e2257610e0e82868381518110610e0157610e01611156565b6020026020010151610e2c565b915080610e1a8161116c565b915050610de2565b5090505b92915050565b6000818310610e48576000828152602084905260409020610d8b565b5060009182526020526040902090565b60008060408385031215610e6b57600080fd5b50508035926020909101359150565b600060208284031215610e8c57600080fd5b81358015158114610d8b57600080fd5b60008060208385031215610eaf57600080fd5b823567ffffffffffffffff80821115610ec757600080fd5b818501915085601f830112610edb57600080fd5b813581811115610eea57600080fd5b8660208260051b8501011115610eff57600080fd5b60209290920196919550909350505050565b6001600160a01b0381168114610f2657600080fd5b50565b600060208284031215610f3b57600080fd5b8135610d8b81610f11565b600060208284031215610f5857600080fd5b5035919050565b60008060408385031215610f7257600080fd5b8235610f7d81610f11565b946020939093013593505050565b602080825260159082015274282922a9a0a6229d102737ba1030b71037bbb732b960591b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610fe357610fe3610fba565b500190565b600082821015610ffa57610ffa610fba565b500390565b60006020828403121561101157600080fd5b815160ff81168114610d8b57600080fd5b600181815b8085111561105d57816000190482111561104357611043610fba565b8085161561105057918102915b93841c9390800290611027565b509250929050565b60008261107457506001610e26565b8161108157506000610e26565b816001811461109757600281146110a1576110bd565b6001915050610e26565b60ff8411156110b2576110b2610fba565b50506001821b610e26565b5060208310610133831016604e8410600b84101617156110e0575081810a610e26565b6110ea8383611022565b80600019048211156110fe576110fe610fba565b029392505050565b6000610d8b60ff841683611065565b60008261113257634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561115157611151610fba565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561118057611180610fba565b506001019056fea26469706673582212209a75a9c3bcf3ebf2429cb8471a4836b08f91adf39c6948166ada909173014f0864736f6c634300080a0033000000000000000000000000602b56ff80f2c52c88b6182ae9d4f6e30748c684

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80638132581c116100f7578063bec3fa1711610095578063dec11f6e11610064578063dec11f6e14610515578063f63bd63514610545578063fb4aa0a114610565578063fc784d491461058557600080fd5b8063bec3fa171461049f578063bff1f9e1146104bf578063d2f5b800146104d5578063de031679146104f557600080fd5b8063977b055b116100d1578063977b055b146103f2578063a2b40d1914610408578063a6f9dae114610428578063a87430ba1461044857600080fd5b80638132581c1461038f5780638da5cb5b146103a5578063939c4456146103dd57600080fd5b806337a19baf1161016f5780634fed30471161013e5780634fed30471461031957806366829b16146103395780636769d1f9146103595780637cb647591461036f57600080fd5b806337a19baf146102b057806339a22492146102d05780633f5a9674146102f157806348c54b9d1461030457600080fd5b80632cdc59d1116101ab5780632cdc59d11461024d5780632eb4a7ab1461026f57806333b5b62e14610285578063378efa371461029b57600080fd5b80630a084473146101dd57806312aef8c31461020657806328dae6e31461021c57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360035481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f360085481565b34801561022857600080fd5b50600a5461023d90600160a81b900460ff1681565b60405190151581526020016101fd565b34801561025957600080fd5b5061026d610268366004610e58565b6105a5565b005b34801561027b57600080fd5b506101f360025481565b34801561029157600080fd5b506101f360065481565b3480156102a757600080fd5b506101f3606481565b3480156102bc57600080fd5b5061026d6102cb366004610e7a565b6105e3565b3480156102dc57600080fd5b50600a5461023d90600160a01b900460ff1681565b61026d6102ff366004610e9c565b61062b565b34801561031057600080fd5b5061026d6108cb565b34801561032557600080fd5b5061026d610334366004610e7a565b610a70565b34801561034557600080fd5b5061026d610354366004610f29565b610ab8565b34801561036557600080fd5b506101f360055481565b34801561037b57600080fd5b5061026d61038a366004610f46565b610b04565b34801561039b57600080fd5b506101f360095481565b3480156103b157600080fd5b506001546103c5906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b3480156103e957600080fd5b506101f3610b33565b3480156103fe57600080fd5b506101f360075481565b34801561041457600080fd5b5061026d610423366004610f46565b610bf6565b34801561043457600080fd5b5061026d610443366004610f29565b610c25565b34801561045457600080fd5b50610484610463366004610f29565b600c6020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101fd565b3480156104ab57600080fd5b5061026d6104ba366004610f5f565b610c71565b3480156104cb57600080fd5b506101f360045481565b3480156104e157600080fd5b506000546103c5906001600160a01b031681565b34801561050157600080fd5b5061026d610510366004610f46565b610cff565b34801561052157600080fd5b5061023d610530366004610f29565b600b6020526000908152604090205460ff1681565b34801561055157600080fd5b506101f3610560366004610f46565b610d67565b34801561057157600080fd5b50600a546103c5906001600160a01b031681565b34801561059157600080fd5b5061026d6105a0366004610e58565b610d92565b6001546001600160a01b031633146105d85760405162461bcd60e51b81526004016105cf90610f8b565b60405180910390fd5b600691909155600755565b6001546001600160a01b0316331461060d5760405162461bcd60e51b81526004016105cf90610f8b565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b61066c828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150339050610dc7565b6106da57600a54600160a01b900460ff1615156001146106da5760405162461bcd60e51b815260206004820152602360248201527f50726573616c65203a2050726573616c65206973206e6f74204f70656e6564206044820152621e595d60ea1b60648201526084016105cf565b60065434101561074b5760405162461bcd60e51b815260206004820152603660248201527f50726573616c65203a20616d6f756e74206d7573742062652067726561746572604482015275207468616e206d696e696d756d20707572636861736560501b60648201526084016105cf565b600754336000908152600c6020526040902054610769903490610fd0565b11156107cf5760405162461bcd60e51b815260206004820152602f60248201527f50726573616c65203a20616d6f756e74206d757374206265206c65737320746860448201526e616e206d617820707572636861736560881b60648201526084016105cf565b600854600554111561080e5760405162461bcd60e51b8152602060048201526008602482015267105b1b0814dbdb1960c21b60448201526064016105cf565b600061081934610d67565b9050806005546108299190610fd0565b60055560095461083a903490610fd0565b600955600a546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610876573d6000803e3d6000fd5b50336000908152600c6020526040902054610892903490610fd0565b336000908152600c60205260409020908155600101546108b3908290610fd0565b336000908152600c6020526040902060010155505050565b600a54600160a81b900460ff1615156001146109375760405162461bcd60e51b815260206004820152602560248201527f50726573616c65203a2050726573616c65206973206e6f742066696e6973686560448201526419081e595d60da1b60648201526084016105cf565b336000908152600c602052604090206001015461098c5760405162461bcd60e51b815260206004820152601360248201527250726573616c653a203020746f20636c61696d60681b60448201526064016105cf565b336000818152600c602052604080822091546001830154915163a9059cbb60e01b81526004810194909452602484019190915290916001600160a01b039091169063a9059cbb90604401600060405180830381600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050508060010154816002016000828254610a209190610fd0565b9091555050600181018054906000610a388380610fe8565b9091555050600181015460405133907f5d425a3a6a3d5a60fbf147dc6659ce3dfeb701fc44fe90058c32783b8807c57490600090a350565b6001546001600160a01b03163314610a9a5760405162461bcd60e51b81526004016105cf90610f8b565b600a8054911515600160a81b0260ff60a81b19909216919091179055565b6001546001600160a01b03163314610ae25760405162461bcd60e51b81526004016105cf90610f8b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610b2e5760405162461bcd60e51b81526004016105cf90610f8b565b600255565b600080546040805163313ce56760e01b8152905183926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba19190610fff565b610bac90600a611106565b600554610bb99190611115565b600854610bc69190610fe8565b600854909150610bd7606483611137565b610be19190611115565b90506064610bef8282610fe8565b9250505090565b6001546001600160a01b03163314610c205760405162461bcd60e51b81526004016105cf90610f8b565b600355565b6001546001600160a01b03163314610c4f5760405162461bcd60e51b81526004016105cf90610f8b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c9b5760405162461bcd60e51b81526004016105cf90610f8b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401600060405180830381600087803b158015610ce357600080fd5b505af1158015610cf7573d6000803e3d6000fd5b505050505050565b6001546001600160a01b03163314610d295760405162461bcd60e51b81526004016105cf90610f8b565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d63573d6000803e3d6000fd5b5050565b600080670de0b6b3a764000060035484610d819190611137565b610d8b9190611115565b9392505050565b6001546001600160a01b03163314610dbc5760405162461bcd60e51b81526004016105cf90610f8b565b600891909155600555565b600082610dd48584610ddd565b14949350505050565b600081815b8451811015610e2257610e0e82868381518110610e0157610e01611156565b6020026020010151610e2c565b915080610e1a8161116c565b915050610de2565b5090505b92915050565b6000818310610e48576000828152602084905260409020610d8b565b5060009182526020526040902090565b60008060408385031215610e6b57600080fd5b50508035926020909101359150565b600060208284031215610e8c57600080fd5b81358015158114610d8b57600080fd5b60008060208385031215610eaf57600080fd5b823567ffffffffffffffff80821115610ec757600080fd5b818501915085601f830112610edb57600080fd5b813581811115610eea57600080fd5b8660208260051b8501011115610eff57600080fd5b60209290920196919550909350505050565b6001600160a01b0381168114610f2657600080fd5b50565b600060208284031215610f3b57600080fd5b8135610d8b81610f11565b600060208284031215610f5857600080fd5b5035919050565b60008060408385031215610f7257600080fd5b8235610f7d81610f11565b946020939093013593505050565b602080825260159082015274282922a9a0a6229d102737ba1030b71037bbb732b960591b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610fe357610fe3610fba565b500190565b600082821015610ffa57610ffa610fba565b500390565b60006020828403121561101157600080fd5b815160ff81168114610d8b57600080fd5b600181815b8085111561105d57816000190482111561104357611043610fba565b8085161561105057918102915b93841c9390800290611027565b509250929050565b60008261107457506001610e26565b8161108157506000610e26565b816001811461109757600281146110a1576110bd565b6001915050610e26565b60ff8411156110b2576110b2610fba565b50506001821b610e26565b5060208310610133831016604e8410600b84101617156110e0575081810a610e26565b6110ea8383611022565b80600019048211156110fe576110fe610fba565b029392505050565b6000610d8b60ff841683611065565b60008261113257634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561115157611151610fba565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561118057611180610fba565b506001019056fea26469706673582212209a75a9c3bcf3ebf2429cb8471a4836b08f91adf39c6948166ada909173014f0864736f6c634300080a0033

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

000000000000000000000000602b56ff80f2c52c88b6182ae9d4f6e30748c684

-----Decoded View---------------
Arg [0] : _scrilla (address): 0x602B56Ff80F2c52C88b6182ae9D4f6e30748C684

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000602b56ff80f2c52c88b6182ae9d4f6e30748c684


Deployed Bytecode Sourcemap

11405:5294:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11535:44;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;11535:44:0;;;;;;;;11737:46;;;;;;;;;;;;;;;;12016:23;;;;;;;;;;-1:-1:-1;12016:23:0;;;;-1:-1:-1;;;12016:23:0;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;12016:23:0;196:187:1;15924:198:0;;;;;;;;;;-1:-1:-1;15924:198:0;;;;;:::i;:::-;;:::i;:::-;;11501:25;;;;;;;;;;;;;;;;11649:38;;;;;;;;;;;;;;;;11938:37;;;;;;;;;;;;11972:3;11938:37;;14175:98;;;;;;;;;;-1:-1:-1;14175:98:0;;;;;:::i;:::-;;:::i;11982:27::-;;;;;;;;;;-1:-1:-1;11982:27:0;;;;-1:-1:-1;;;11982:27:0;;;;;;12765:1163;;;;;;:::i;:::-;;:::i;14309:472::-;;;;;;;;;;;;;:::i;15826:90::-;;;;;;;;;;-1:-1:-1;15826:90:0;;;;;:::i;:::-;;:::i;16290:99::-;;;;;;;;;;-1:-1:-1;16290:99:0;;;;;:::i;:::-;;:::i;11618:24::-;;;;;;;;;;;;;;;;15204:112;;;;;;;;;;-1:-1:-1;15204:112:0;;;;;:::i;:::-;;:::i;11792:32::-;;;;;;;;;;;;;;;;11466:28;;;;;;;;;;-1:-1:-1;11466:28:0;;;;-1:-1:-1;;;;;11466:28:0;;;;;;-1:-1:-1;;;;;2474:32:1;;;2456:51;;2444:2;2429:18;11466:28:0;2294:219:1;14831:307:0;;;;;;;;;;;;;:::i;11694:36::-;;;;;;;;;;;;;;;;15723:95;;;;;;;;;;-1:-1:-1;15723:95:0;;;;;:::i;:::-;;:::i;16157:103::-;;;;;;;;;;-1:-1:-1;16157:103:0;;;;;:::i;:::-;;:::i;12215:37::-;;;;;;;;;;-1:-1:-1;12215:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3165:25:1;;;3221:2;3206:18;;3199:34;;;;3249:18;;;3242:34;3153:2;3138:18;12215:37:0;2963:319:1;16570:126:0;;;;;;;;;;-1:-1:-1;16570:126:0;;;;;:::i;:::-;;:::i;11586:25::-;;;;;;;;;;;;;;;;11436:21;;;;;;;;;;-1:-1:-1;11436:21:0;;;;-1:-1:-1;;;;;11436:21:0;;;16433:102;;;;;;;;;;-1:-1:-1;16433:102:0;;;;;:::i;:::-;;:::i;12046:40::-;;;;;;;;;;-1:-1:-1;12046:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15501:177;;;;;;;;;;-1:-1:-1;15501:177:0;;;;;:::i;:::-;;:::i;11831:98::-;;;;;;;;;;-1:-1:-1;11831:98:0;;;;-1:-1:-1;;;;;11831:98:0;;;13976:191;;;;;;;;;;-1:-1:-1;13976:191:0;;;;;:::i;:::-;;:::i;15924:198::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;;;;;;;;;16051:11:::1;:26:::0;;;;16088:11:::1;:26:::0;15924:198::o;14175:98::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;14240:15:::1;:25:::0;;;::::1;;-1:-1:-1::0;;;14240:25:0::1;-1:-1:-1::0;;;;14240:25:0;;::::1;::::0;;;::::1;::::0;;14175:98::o;12765:1163::-;12860:66;12879:11;;12860:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12892:10:0;;;-1:-1:-1;12914:10:0;;-1:-1:-1;12860:18:0;:66::i;:::-;12841:244;;12979:15;;-1:-1:-1;;;12979:15:0;;;;:23;;12998:4;12979:23;12953:120;;;;-1:-1:-1;;;12953:120:0;;4393:2:1;12953:120:0;;;4375:21:1;4432:2;4412:18;;;4405:30;4471:34;4451:18;;;4444:62;-1:-1:-1;;;4522:18:1;;;4515:33;4565:19;;12953:120:0;4191:399:1;12953:120:0;13130:11;;13117:9;:24;;13095:128;;;;-1:-1:-1;;;13095:128:0;;4797:2:1;13095:128:0;;;4779:21:1;4836:2;4816:18;;;4809:30;4875:34;4855:18;;;4848:62;-1:-1:-1;;;4926:18:1;;;4919:52;4988:19;;13095:128:0;4595:418:1;13095:128:0;13301:11;;13262:10;13256:17;;;;:5;:17;;;;;:29;:41;;13288:9;;13256:41;:::i;:::-;:56;;13234:153;;;;-1:-1:-1;;;13234:153:0;;5485:2:1;13234:153:0;;;5467:21:1;5524:2;5504:18;;;5497:30;5563:34;5543:18;;;5536:62;-1:-1:-1;;;5614:18:1;;;5607:45;5669:19;;13234:153:0;5283:411:1;13234:153:0;13419:13;;13406:9;;:26;;13398:47;;;;-1:-1:-1;;;13398:47:0;;5901:2:1;13398:47:0;;;5883:21:1;5940:1;5920:18;;;5913:29;-1:-1:-1;;;5958:18:1;;;5951:38;6006:18;;13398:47:0;5699:331:1;13398:47:0;13458:22;13508:21;13519:9;13508:10;:21::i;:::-;13491:38;;13565:14;13552:9;;:28;;;;:::i;:::-;13540:9;:40;13611:17;;:31;;13632:9;;13611:31;:::i;:::-;13591:17;:51;13653:12;;:32;;-1:-1:-1;;;;;13653:12:0;;;;13675:9;13653:32;;;;;:12;:32;:12;:32;13675:9;13653:12;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13749:10:0;13743:17;;;;:5;:17;;;;;:29;:56;;13789:9;;13743:56;:::i;:::-;13704:10;13698:17;;;;:5;:17;;;;;:101;;;13857:31;;;:63;;13905:14;;13857:63;:::i;:::-;13816:10;13810:17;;;;:5;:17;;;;;:31;;:110;-1:-1:-1;;;12765:1163:0:o;14309:472::-;14360:11;;-1:-1:-1;;;14360:11:0;;;;:19;;14375:4;14360:19;14352:69;;;;-1:-1:-1;;;14352:69:0;;6237:2:1;14352:69:0;;;6219:21:1;6276:2;6256:18;;;6249:30;6315:34;6295:18;;;6288:62;-1:-1:-1;;;6366:18:1;;;6359:35;6411:19;;14352:69:0;6035:401:1;14352:69:0;14446:10;14440:17;;;;:5;:17;;;;;:31;;;14432:68;;;;-1:-1:-1;;;14432:68:0;;6643:2:1;14432:68:0;;;6625:21:1;6682:2;6662:18;;;6655:30;-1:-1:-1;;;6701:18:1;;;6694:49;6760:18;;14432:68:0;6441:343:1;14432:68:0;14539:10;14513:17;14533;;;:5;:17;;;;;;14563:7;;;14592:18;;;14563:48;;-1:-1:-1;;;14563:48:0;;;;;6963:51:1;;;;7030:18;;;7023:34;;;;14533:17:0;;-1:-1:-1;;;;;14563:7:0;;;;:16;;6936:18:1;;14563:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14644:4;:18;;;14622:4;:18;;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14695:18:0;;;;;;14673;:40;14695:18;;14673:40;:::i;:::-;;;;-1:-1:-1;;14754:18:0;;;;14731:42;;14742:10;;14731:42;;;;;14341:440;14309:472::o;15826:90::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;15888:11:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;15888:20:0::1;-1:-1:-1::0;;;;15888:20:0;;::::1;::::0;;;::::1;::::0;;15826:90::o;16290:99::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;16357:7:::1;:24:::0;;-1:-1:-1;;;;;;16357:24:0::1;-1:-1:-1::0;;;;;16357:24:0;;;::::1;::::0;;;::::1;::::0;;16290:99::o;15204:112::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;15281:10:::1;:27:::0;15204:112::o;14831:307::-;14875:16;14974:7;;:18;;;-1:-1:-1;;;14974:18:0;;;;14875:16;;-1:-1:-1;;;;;14974:7:0;;:16;;:18;;;;;;;;;;;;;;:7;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14967:26;;:2;:26;:::i;:::-;14954:9;;:40;;;;:::i;:::-;14924:13;;:71;;;;:::i;:::-;15045:13;;14904:91;;-1:-1:-1;15019:21:0;11972:3;14904:91;15019:21;:::i;:::-;15018:41;;;;:::i;:::-;15006:53;-1:-1:-1;15088:3:0;15109:21;15006:53;15088:3;15109:21;:::i;:::-;15102:28;;;;14831:307;:::o;15723:95::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;15790:11:::1;:20:::0;15723:95::o;16157:103::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;16235:5:::1;:17:::0;;-1:-1:-1;;;;;;16235:17:0::1;-1:-1:-1::0;;;;;16235:17:0;;;::::1;::::0;;;::::1;::::0;;16157:103::o;16570:126::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;16654:34:::1;::::0;-1:-1:-1;;;16654:34:0;;16669:10:::1;16654:34;::::0;::::1;6963:51:1::0;7030:18;;;7023:34;;;-1:-1:-1;;;;;16654:14:0;::::1;::::0;::::1;::::0;6936:18:1;;16654:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16570:126:::0;;:::o;16433:102::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;16505:5:::1;::::0;:22:::1;::::0;-1:-1:-1;;;;;16505:5:0;;::::1;::::0;:22;::::1;;;::::0;16520:6;;16505:5:::1;:22:::0;:5;:22;16520:6;16505:5;:22;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16433:102:::0;:::o;15501:177::-;15559:7;15579:22;15633:4;15616:11;;15605:7;:23;;;;:::i;:::-;15604:34;;;;:::i;:::-;15579:59;15501:177;-1:-1:-1;;;15501:177:0:o;13976:191::-;12315:5;;-1:-1:-1;;;;;12315:5:0;12301:10;:19;12293:53;;;;-1:-1:-1;;;12293:53:0;;;;;;;:::i;:::-;14095:13:::1;:31:::0;;;;14137:9:::1;:22:::0;13976:191::o;2781:190::-;2906:4;2959;2930:25;2943:5;2950:4;2930:12;:25::i;:::-;:33;;2781:190;-1:-1:-1;;;;2781:190:0:o;3648:321::-;3756:7;3799:4;3756:7;3814:118;3838:5;:12;3834:1;:16;3814:118;;;3887:33;3897:12;3911:5;3917:1;3911:8;;;;;;;;:::i;:::-;;;;;;;3887:9;:33::i;:::-;3872:48;-1:-1:-1;3852:3:0;;;;:::i;:::-;;;;3814:118;;;-1:-1:-1;3949:12:0;-1:-1:-1;3648:321:0;;;;;:::o;10948:149::-;11011:7;11042:1;11038;:5;:51;;11198:13;11292:15;;;11328:4;11321:15;;;11375:4;11359:21;;11038:51;;;-1:-1:-1;11198:13:0;11292:15;;;11328:4;11321:15;11375:4;11359:21;;;10948:149::o;388:248:1:-;456:6;464;517:2;505:9;496:7;492:23;488:32;485:52;;;533:1;530;523:12;485:52;-1:-1:-1;;556:23:1;;;626:2;611:18;;;598:32;;-1:-1:-1;388:248:1:o;823:273::-;879:6;932:2;920:9;911:7;907:23;903:32;900:52;;;948:1;945;938:12;900:52;987:9;974:23;1040:5;1033:13;1026:21;1019:5;1016:32;1006:60;;1062:1;1059;1052:12;1101:615;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1304:9;1291:23;1333:18;1374:2;1366:6;1363:14;1360:34;;;1390:1;1387;1380:12;1360:34;1428:6;1417:9;1413:22;1403:32;;1473:7;1466:4;1462:2;1458:13;1454:27;1444:55;;1495:1;1492;1485:12;1444:55;1535:2;1522:16;1561:2;1553:6;1550:14;1547:34;;;1577:1;1574;1567:12;1547:34;1630:7;1625:2;1615:6;1612:1;1608:14;1604:2;1600:23;1596:32;1593:45;1590:65;;;1651:1;1648;1641:12;1590:65;1682:2;1674:11;;;;;1704:6;;-1:-1:-1;1101:615:1;;-1:-1:-1;;;;1101:615:1:o;1721:131::-;-1:-1:-1;;;;;1796:31:1;;1786:42;;1776:70;;1842:1;1839;1832:12;1776:70;1721:131;:::o;1857:247::-;1916:6;1969:2;1957:9;1948:7;1944:23;1940:32;1937:52;;;1985:1;1982;1975:12;1937:52;2024:9;2011:23;2043:31;2068:5;2043:31;:::i;2109:180::-;2168:6;2221:2;2209:9;2200:7;2196:23;2192:32;2189:52;;;2237:1;2234;2227:12;2189:52;-1:-1:-1;2260:23:1;;2109:180;-1:-1:-1;2109:180:1:o;3287:328::-;3368:6;3376;3429:2;3417:9;3408:7;3404:23;3400:32;3397:52;;;3445:1;3442;3435:12;3397:52;3484:9;3471:23;3503:31;3528:5;3503:31;:::i;:::-;3553:5;3605:2;3590:18;;;;3577:32;;-1:-1:-1;;;3287:328:1:o;3841:345::-;4043:2;4025:21;;;4082:2;4062:18;;;4055:30;-1:-1:-1;;;4116:2:1;4101:18;;4094:51;4177:2;4162:18;;3841:345::o;5018:127::-;5079:10;5074:3;5070:20;5067:1;5060:31;5110:4;5107:1;5100:15;5134:4;5131:1;5124:15;5150:128;5190:3;5221:1;5217:6;5214:1;5211:13;5208:39;;;5227:18;;:::i;:::-;-1:-1:-1;5263:9:1;;5150:128::o;7068:125::-;7108:4;7136:1;7133;7130:8;7127:34;;;7141:18;;:::i;:::-;-1:-1:-1;7178:9:1;;7068:125::o;7198:273::-;7266:6;7319:2;7307:9;7298:7;7294:23;7290:32;7287:52;;;7335:1;7332;7325:12;7287:52;7367:9;7361:16;7417:4;7410:5;7406:16;7399:5;7396:27;7386:55;;7437:1;7434;7427:12;7476:422;7565:1;7608:5;7565:1;7622:270;7643:7;7633:8;7630:21;7622:270;;;7702:4;7698:1;7694:6;7690:17;7684:4;7681:27;7678:53;;;7711:18;;:::i;:::-;7761:7;7751:8;7747:22;7744:55;;;7781:16;;;;7744:55;7860:22;;;;7820:15;;;;7622:270;;;7626:3;7476:422;;;;;:::o;7903:806::-;7952:5;7982:8;7972:80;;-1:-1:-1;8023:1:1;8037:5;;7972:80;8071:4;8061:76;;-1:-1:-1;8108:1:1;8122:5;;8061:76;8153:4;8171:1;8166:59;;;;8239:1;8234:130;;;;8146:218;;8166:59;8196:1;8187:10;;8210:5;;;8234:130;8271:3;8261:8;8258:17;8255:43;;;8278:18;;:::i;:::-;-1:-1:-1;;8334:1:1;8320:16;;8349:5;;8146:218;;8448:2;8438:8;8435:16;8429:3;8423:4;8420:13;8416:36;8410:2;8400:8;8397:16;8392:2;8386:4;8383:12;8379:35;8376:77;8373:159;;;-1:-1:-1;8485:19:1;;;8517:5;;8373:159;8564:34;8589:8;8583:4;8564:34;:::i;:::-;8634:6;8630:1;8626:6;8622:19;8613:7;8610:32;8607:58;;;8645:18;;:::i;:::-;8683:20;;7903:806;-1:-1:-1;;;7903:806:1:o;8714:140::-;8772:5;8801:47;8842:4;8832:8;8828:19;8822:4;8801:47;:::i;8859:217::-;8899:1;8925;8915:132;;8969:10;8964:3;8960:20;8957:1;8950:31;9004:4;9001:1;8994:15;9032:4;9029:1;9022:15;8915:132;-1:-1:-1;9061:9:1;;8859:217::o;9081:168::-;9121:7;9187:1;9183;9179:6;9175:14;9172:1;9169:21;9164:1;9157:9;9150:17;9146:45;9143:71;;;9194:18;;:::i;:::-;-1:-1:-1;9234:9:1;;9081:168::o;9254:127::-;9315:10;9310:3;9306:20;9303:1;9296:31;9346:4;9343:1;9336:15;9370:4;9367:1;9360:15;9386:135;9425:3;-1:-1:-1;;9446:17:1;;9443:43;;;9466:18;;:::i;:::-;-1:-1:-1;9513:1:1;9502:13;;9386:135::o

Swarm Source

ipfs://9a75a9c3bcf3ebf2429cb8471a4836b08f91adf39c6948166ada909173014f08

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.