ETH Price: $2,503.90 (-0.57%)
Gas: 0.55 Gwei

Contract

0x783e95622e38F078Ff0026Cfe49BeC192fFa88a2
 

Overview

ETH Balance

0.0004 ETH

Eth Value

$1.00 (@ $2,503.90/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Eth164788062023-01-24 19:38:11585 days ago1674589091IN
0x783e9562...92fFa88a2
0 ETH0.0008066826.31415155
Withdraw Eth164773532023-01-24 14:45:59585 days ago1674571559IN
0x783e9562...92fFa88a2
0 ETH0.0007340523.94488567
Withdraw Eth164489942023-01-20 15:44:11589 days ago1674229451IN
0x783e9562...92fFa88a2
0 ETH0.0006003519.58367875
Withdraw Eth164476252023-01-20 11:09:35589 days ago1674212975IN
0x783e9562...92fFa88a2
0 ETH0.0004498314.67349213
Withdraw Eth164470192023-01-20 9:08:11589 days ago1674205691IN
0x783e9562...92fFa88a2
0 ETH0.0004677615.25864898
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004180916.10764624
Withdraw Eth164470152023-01-20 9:07:23589 days ago1674205643IN
0x783e9562...92fFa88a2
0 ETH0.0004937916.10764624
Withdraw Eth164448012023-01-20 1:42:47589 days ago1674178967IN
0x783e9562...92fFa88a2
0 ETH0.0004811515.69541351
Withdraw Eth164439732023-01-19 22:56:47589 days ago1674169007IN
0x783e9562...92fFa88a2
0 ETH0.0005509817.97313202
Withdraw Eth164435202023-01-19 21:25:35589 days ago1674163535IN
0x783e9562...92fFa88a2
0 ETH0.0005763718.80152959
Withdraw Eth164431642023-01-19 20:13:47590 days ago1674159227IN
0x783e9562...92fFa88a2
0 ETH0.0011035735.99854236
Withdraw Eth164427542023-01-19 18:51:23590 days ago1674154283IN
0x783e9562...92fFa88a2
0 ETH0.0006840922.31535503
Withdraw Eth164423172023-01-19 17:22:59590 days ago1674148979IN
0x783e9562...92fFa88a2
0 ETH0.0023128575.44557735
Withdraw Eth164419252023-01-19 16:04:23590 days ago1674144263IN
0x783e9562...92fFa88a2
0 ETH0.0012083739.41724049
Withdraw Eth164419042023-01-19 16:00:11590 days ago1674144011IN
0x783e9562...92fFa88a2
0 ETH0.0006229920.32196723
Withdraw Eth164418472023-01-19 15:48:47590 days ago1674143327IN
0x783e9562...92fFa88a2
0 ETH0.000727123.71807218
Withdraw Eth164418422023-01-19 15:47:47590 days ago1674143267IN
0x783e9562...92fFa88a2
0 ETH0.0008737128.50051299
Withdraw Eth164418292023-01-19 15:45:11590 days ago1674143111IN
0x783e9562...92fFa88a2
0 ETH0.0009251630.17894289
Withdraw Eth164418222023-01-19 15:43:47590 days ago1674143027IN
0x783e9562...92fFa88a2
0 ETH0.0010673934.81856397
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
164788062023-01-24 19:38:11585 days ago1674589091
0x783e9562...92fFa88a2
0.065 ETH
164773532023-01-24 14:45:59585 days ago1674571559
0x783e9562...92fFa88a2
0.05923 ETH
164489942023-01-20 15:44:11589 days ago1674229451
0x783e9562...92fFa88a2
10 ETH
164476252023-01-20 11:09:35589 days ago1674212975
0x783e9562...92fFa88a2
0.6868 ETH
164470192023-01-20 9:08:11589 days ago1674205691
0x783e9562...92fFa88a2
0.39 ETH
164470152023-01-20 9:07:23589 days ago1674205643
0x783e9562...92fFa88a2
1.02 ETH
164448012023-01-20 1:42:47589 days ago1674178967
0x783e9562...92fFa88a2
0.19 ETH
164439732023-01-19 22:56:47589 days ago1674169007
0x783e9562...92fFa88a2
0.086 ETH
164435202023-01-19 21:25:35589 days ago1674163535
0x783e9562...92fFa88a2
1 ETH
164431642023-01-19 20:13:47590 days ago1674159227
0x783e9562...92fFa88a2
3.2 ETH
164427542023-01-19 18:51:23590 days ago1674154283
0x783e9562...92fFa88a2
1 ETH
164423172023-01-19 17:22:59590 days ago1674148979
0x783e9562...92fFa88a2
1 ETH
164419252023-01-19 16:04:23590 days ago1674144263
0x783e9562...92fFa88a2
0.85 ETH
164419042023-01-19 16:00:11590 days ago1674144011
0x783e9562...92fFa88a2
9.556 ETH
164418472023-01-19 15:48:47590 days ago1674143327
0x783e9562...92fFa88a2
12 ETH
164418422023-01-19 15:47:47590 days ago1674143267
0x783e9562...92fFa88a2
1 ETH
164418292023-01-19 15:45:11590 days ago1674143111
0x783e9562...92fFa88a2
0.98 ETH
164418222023-01-19 15:43:47590 days ago1674143027
0x783e9562...92fFa88a2
3.118 ETH
164418102023-01-19 15:41:11590 days ago1674142871
0x783e9562...92fFa88a2
0.5 ETH
164417992023-01-19 15:38:59590 days ago1674142739
0x783e9562...92fFa88a2
4.3 ETH
164417882023-01-19 15:36:47590 days ago1674142607
0x783e9562...92fFa88a2
2.2 ETH
164417872023-01-19 15:36:35590 days ago1674142595
0x783e9562...92fFa88a2
8.55 ETH
164417182023-01-19 15:22:47590 days ago1674141767
0x783e9562...92fFa88a2
0.03 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AntfarmSale

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion
File 1 of 6 : AntfarmSale.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.10;

import "../libraries/OwnableWithdrawable.sol";
import "../libraries/TransferHelper.sol";

contract AntfarmSale is OwnableWithdrawable {
    // Initial: just deployed, owner needs to start public sale
    // Public: any investor can deposit ETH
    // Success: sale reached the softcap, owner can withdraw ETH deposited
    // Cancel: sale didn't reach the softcap, anyone can withdraw
    // Final: if success, users can claim their ATF
    enum Status {
        Initial,
        Public,
        Success,
        Cancel,
        Final
    }

    // Default value is the first element listed in
    // definition of the type, in this case "Initial"
    Status public status;

    address public immutable antfarmToken;

    uint256 public constant ATF_TO_SELL = 3_000_000 * 10**18;

    // Sale caps, Ether
    uint256 public immutable softcap;
    uint256 public immutable hardcap;

    uint256 public totalAmount;

    uint256 public startTime;

    // Var states balances and whitelist
    mapping(address => uint256) public investedAmount;

    error IncorrectStatus();
    error AmountNotAllowed();
    error SoftcapNotReached();
    error SoftcapReached();
    error CantCancelYet();

    constructor(
        address _antfarmToken,
        uint256 _softcap,
        uint256 _hardcap
    ) {
        require(_antfarmToken != address(0), "ZERO_ADDRESS");
        require(_softcap > 0 && _hardcap > 0, "CAPS_NULL");

        antfarmToken = _antfarmToken;
        softcap = _softcap;
        hardcap = _hardcap;

        startTime = block.timestamp;
    }

    modifier isStatus(Status _status) {
        if (status != _status) revert IncorrectStatus();
        _;
    }

    function startPublicSale() external onlyOwner isStatus(Status.Initial) {
        status = Status.Public;
    }

    function investPublic() external payable isStatus(Status.Public) {
        if (msg.value + totalAmount >= hardcap) revert AmountNotAllowed();

        investedAmount[msg.sender] += msg.value;
        totalAmount += msg.value;
    }

    function setSuccess() external onlyOwner isStatus(Status.Public) {
        if (totalAmount < softcap) revert SoftcapNotReached();
        status = Status.Success;
    }

    function setCancel() external onlyOwner isStatus(Status.Public) {
        if (totalAmount > softcap) revert SoftcapReached();
        status = Status.Cancel;
    }

    function publicSetCancel() external isStatus(Status.Public) {
        if (totalAmount > softcap) revert SoftcapReached();
        if (startTime + 4 weeks > block.timestamp) revert CantCancelYet();
        status = Status.Cancel;
    }

    function withdrawEth() external isStatus(Status.Cancel) {
        uint256 amountInvested = investedAmount[msg.sender];
        investedAmount[msg.sender] = 0;
        (bool success, ) = msg.sender.call{value: amountInvested}("");
        require(success, "Transfer failed.");
    }

    function claimEther() external onlyOwner isStatus(Status.Success) {
        (bool success, ) = owner().call{value: address(this).balance}("");
        require(success, "Transfer failed.");
    }

    function setFinal() external onlyOwner isStatus(Status.Success) {
        status = Status.Final;
    }

    function claimTokens() external isStatus(Status.Final) {
        uint256 amount = investedAmount[msg.sender];
        investedAmount[msg.sender] = 0;
        TransferHelper.safeTransfer(
            antfarmToken,
            msg.sender,
            (ATF_TO_SELL * amount) / totalAmount
        );
    }

    fallback() external payable {
        revert();
    }
}

File 2 of 6 : OwnableWithdrawable.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.10;

import "@openzeppelin/contracts/access/Ownable.sol";
import "../libraries/TransferHelper.sol";
import "../interfaces/IERC20.sol";

contract OwnableWithdrawable is Ownable {
    function withdrawToken(address _token, uint256 _amount) external onlyOwner {
        TransferHelper.safeTransfer(_token, owner(), _amount);
    }

    function withdrawTotalTokenBalance(address _token) external onlyOwner {
        uint256 amount = IERC20(_token).balanceOf(address(this));
        TransferHelper.safeTransfer(_token, owner(), amount);
    }
}

File 3 of 6 : TransferHelper.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity =0.8.10;

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes("approve(address,uint256)")));
        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(0x095ea7b3, to, value)
        );
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "TransferHelper::safeApprove: approve failed"
        );
    }

    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes("transfer(address,uint256)")));
        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(0xa9059cbb, to, value)
        );
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "TransferHelper::safeTransfer: transfer failed"
        );
    }

    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes("transferFrom(address,address,uint256)")));
        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(0x23b872dd, from, to, value)
        );
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "TransferHelper::transferFrom: transferFrom failed"
        );
    }

    function safeTransferETH(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(
            success,
            "TransferHelper::safeTransferETH: ETH transfer failed"
        );
    }
}

File 4 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.10;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

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

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

    function decimals() external view returns (uint8);

    function totalSupply() 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 returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

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

File 5 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 6 of 6 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_antfarmToken","type":"address"},{"internalType":"uint256","name":"_softcap","type":"uint256"},{"internalType":"uint256","name":"_hardcap","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountNotAllowed","type":"error"},{"inputs":[],"name":"CantCancelYet","type":"error"},{"inputs":[],"name":"IncorrectStatus","type":"error"},{"inputs":[],"name":"SoftcapNotReached","type":"error"},{"inputs":[],"name":"SoftcapReached","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"ATF_TO_SELL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antfarmToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hardcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"investPublic","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicSetCancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setCancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSuccess","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"softcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startPublicSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"status","outputs":[{"internalType":"enum AntfarmSale.Status","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawTotalTokenBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e060405234801561001057600080fd5b506040516111af3803806111af83398101604081905261002f91610137565b610038336100e7565b6001600160a01b0383166100825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6000821180156100925750600081115b6100ca5760405162461bcd60e51b815260206004820152600960248201526810d05414d7d395531360ba1b6044820152606401610079565b6001600160a01b0390921660805260a05260c0524260025561017a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060006060848603121561014c57600080fd5b83516001600160a01b038116811461016357600080fd5b602085015160409095015190969495509392505050565b60805160a05160c051610fe36101cc600039600081816102f3015261057c0152600081816103f10152818161080f015281816109d90152610a75015260008181610327015261067e0152610fe36000f3fe6080604052600436106101755760003560e01c80639e281a98116100cb578063d2618baf1161007f578063f2fde38b11610059578063f2fde38b146103bf578063f89be593146103df578063f905b41a1461041357600080fd5b8063d2618baf14610376578063d4c6e1e51461038b578063ebc03378146103aa57600080fd5b8063b071cbe6116100b0578063b071cbe6146102e1578063c12a00a814610315578063cff774441461034957600080fd5b80639e281a98146102ac578063a0ef91df146102cc57600080fd5b806348c54b9d1161012d578063728b429311610107578063728b42931461024f57806378e97925146102645780638da5cb5b1461027a57600080fd5b806348c54b9d1461021057806355291dbd14610225578063715018a61461023a57600080fd5b806311e98a251161015e57806311e98a25146101b15780631a39d8ef146101b9578063200d2ed2146101e257600080fd5b8063018624881461017a5780630c1c972a1461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004610e3e565b610428565b005b3480156101a857600080fd5b5061019a6104d6565b61019a61053b565b3480156101c557600080fd5b506101cf60015481565b6040519081526020015b60405180910390f35b3480156101ee57600080fd5b5060005461020390600160a01b900460ff1681565b6040516101d99190610e76565b34801561021c57600080fd5b5061019a610620565b34801561023157600080fd5b5061019a6106c3565b34801561024657600080fd5b5061019a6107b2565b34801561025b57600080fd5b5061019a6107c6565b34801561027057600080fd5b506101cf60025481565b34801561028657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d9565b3480156102b857600080fd5b5061019a6102c7366004610e9e565b610883565b3480156102d857600080fd5b5061019a6108a1565b3480156102ed57600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561032157600080fd5b506102947f000000000000000000000000000000000000000000000000000000000000000081565b34801561035557600080fd5b506101cf610364366004610e3e565b60036020526000908152604090205481565b34801561038257600080fd5b5061019a610990565b34801561039757600080fd5b506101cf6a027b46536c66c8e300000081565b3480156103b657600080fd5b5061019a610a34565b3480156103cb57600080fd5b5061019a6103da366004610e3e565b610b00565b3480156103eb57600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041f57600080fd5b5061019a610b90565b610430610bf1565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b49190610ec8565b90506104d2826104cc6000546001600160a01b031690565b83610c4b565b5050565b6104de610bf1565b600080600054600160a01b900460ff1660048111156104ff576104ff610e60565b1461051d5760405163168a690760e11b815260040160405180910390fd5b600080546001919060ff60a01b1916600160a01b835b021790555050565b600180600054600160a01b900460ff16600481111561055c5761055c610e60565b1461057a5760405163168a690760e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600154346105a99190610ef7565b106105e0576040517f1c18f84600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260036020526040812080543492906105ff908490610ef7565b9250508190555034600160008282546106189190610ef7565b909155505050565b600480600054600160a01b900460ff16600481111561064157610641610e60565b1461065f5760405163168a690760e11b815260040160405180910390fd5b336000818152600360205260408120805491905560015490916104d2917f000000000000000000000000000000000000000000000000000000000000000091906106b4856a027b46536c66c8e3000000610f0f565b6106be9190610f2e565b610c4b565b6106cb610bf1565b600280600054600160a01b900460ff1660048111156106ec576106ec610e60565b1461070a5760405163168a690760e11b815260040160405180910390fd5b600080546040516001600160a01b039091169047908381818185875af1925050503d8060008114610757576040519150601f19603f3d011682016040523d82523d6000602084013e61075c565b606091505b50509050806104d25760405162461bcd60e51b815260206004820152601060248201527f5472616e73666572206661696c65642e0000000000000000000000000000000060448201526064015b60405180910390fd5b6107ba610bf1565b6107c46000610dba565b565b6107ce610bf1565b600180600054600160a01b900460ff1660048111156107ef576107ef610e60565b1461080d5760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001541015610869576040517f3eaafb9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546002919060ff60a01b1916600160a01b83610533565b61088b610bf1565b6104d2826104cc6000546001600160a01b031690565b600380600054600160a01b900460ff1660048111156108c2576108c2610e60565b146108e05760405163168a690760e11b815260040160405180910390fd5b33600081815260036020526040808220805490839055905190929083908381818185875af1925050503d8060008114610935576040519150601f19603f3d011682016040523d82523d6000602084013e61093a565b606091505b505090508061098b5760405162461bcd60e51b815260206004820152601060248201527f5472616e73666572206661696c65642e0000000000000000000000000000000060448201526064016107a9565b505050565b610998610bf1565b600180600054600160a01b900460ff1660048111156109b9576109b9610e60565b146109d75760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001541115610a1a57604051637ed82da960e11b815260040160405180910390fd5b600080546003919060ff60a01b1916600160a01b83610533565b600180600054600160a01b900460ff166004811115610a5557610a55610e60565b14610a735760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001541115610ab657604051637ed82da960e11b815260040160405180910390fd5b426002546224ea00610ac89190610ef7565b1115610a1a576040517ffd1fc00d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b08610bf1565b6001600160a01b038116610b845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107a9565b610b8d81610dba565b50565b610b98610bf1565b600280600054600160a01b900460ff166004811115610bb957610bb9610e60565b14610bd75760405163168a690760e11b815260040160405180910390fd5b600080546004919060ff60a01b1916600160a01b83610533565b6000546001600160a01b031633146107c45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a9565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691610cd59190610f50565b6000604051808303816000865af19150503d8060008114610d12576040519150601f19603f3d011682016040523d82523d6000602084013e610d17565b606091505b5091509150818015610d41575080511580610d41575080806020019051810190610d419190610f8b565b610db35760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c65640000000000000000000000000000000000000060648201526084016107a9565b5050505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610e3957600080fd5b919050565b600060208284031215610e5057600080fd5b610e5982610e22565b9392505050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310610e9857634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215610eb157600080fd5b610eba83610e22565b946020939093013593505050565b600060208284031215610eda57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f0a57610f0a610ee1565b500190565b6000816000190483118215151615610f2957610f29610ee1565b500290565b600082610f4b57634e487b7160e01b600052601260045260246000fd5b500490565b6000825160005b81811015610f715760208186018101518583015201610f57565b81811115610f80576000828501525b509190910192915050565b600060208284031215610f9d57600080fd5b81518015158114610e5957600080fdfea2646970667358221220b3f65b5aa22f62adddabd463f2bf496ceb8e74e4fcdc3afae2bd0149a750f84164736f6c634300080a0033000000000000000000000000518b63da813d46556fea041a88b52e3caa8c16a800000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000001b1ae4d6e2ef500000

Deployed Bytecode

0x6080604052600436106101755760003560e01c80639e281a98116100cb578063d2618baf1161007f578063f2fde38b11610059578063f2fde38b146103bf578063f89be593146103df578063f905b41a1461041357600080fd5b8063d2618baf14610376578063d4c6e1e51461038b578063ebc03378146103aa57600080fd5b8063b071cbe6116100b0578063b071cbe6146102e1578063c12a00a814610315578063cff774441461034957600080fd5b80639e281a98146102ac578063a0ef91df146102cc57600080fd5b806348c54b9d1161012d578063728b429311610107578063728b42931461024f57806378e97925146102645780638da5cb5b1461027a57600080fd5b806348c54b9d1461021057806355291dbd14610225578063715018a61461023a57600080fd5b806311e98a251161015e57806311e98a25146101b15780631a39d8ef146101b9578063200d2ed2146101e257600080fd5b8063018624881461017a5780630c1c972a1461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004610e3e565b610428565b005b3480156101a857600080fd5b5061019a6104d6565b61019a61053b565b3480156101c557600080fd5b506101cf60015481565b6040519081526020015b60405180910390f35b3480156101ee57600080fd5b5060005461020390600160a01b900460ff1681565b6040516101d99190610e76565b34801561021c57600080fd5b5061019a610620565b34801561023157600080fd5b5061019a6106c3565b34801561024657600080fd5b5061019a6107b2565b34801561025b57600080fd5b5061019a6107c6565b34801561027057600080fd5b506101cf60025481565b34801561028657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d9565b3480156102b857600080fd5b5061019a6102c7366004610e9e565b610883565b3480156102d857600080fd5b5061019a6108a1565b3480156102ed57600080fd5b506101cf7f00000000000000000000000000000000000000000000001b1ae4d6e2ef50000081565b34801561032157600080fd5b506102947f000000000000000000000000518b63da813d46556fea041a88b52e3caa8c16a881565b34801561035557600080fd5b506101cf610364366004610e3e565b60036020526000908152604090205481565b34801561038257600080fd5b5061019a610990565b34801561039757600080fd5b506101cf6a027b46536c66c8e300000081565b3480156103b657600080fd5b5061019a610a34565b3480156103cb57600080fd5b5061019a6103da366004610e3e565b610b00565b3480156103eb57600080fd5b506101cf7f00000000000000000000000000000000000000000000000ad78ebc5ac620000081565b34801561041f57600080fd5b5061019a610b90565b610430610bf1565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b49190610ec8565b90506104d2826104cc6000546001600160a01b031690565b83610c4b565b5050565b6104de610bf1565b600080600054600160a01b900460ff1660048111156104ff576104ff610e60565b1461051d5760405163168a690760e11b815260040160405180910390fd5b600080546001919060ff60a01b1916600160a01b835b021790555050565b600180600054600160a01b900460ff16600481111561055c5761055c610e60565b1461057a5760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000001b1ae4d6e2ef500000600154346105a99190610ef7565b106105e0576040517f1c18f84600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260036020526040812080543492906105ff908490610ef7565b9250508190555034600160008282546106189190610ef7565b909155505050565b600480600054600160a01b900460ff16600481111561064157610641610e60565b1461065f5760405163168a690760e11b815260040160405180910390fd5b336000818152600360205260408120805491905560015490916104d2917f000000000000000000000000518b63da813d46556fea041a88b52e3caa8c16a891906106b4856a027b46536c66c8e3000000610f0f565b6106be9190610f2e565b610c4b565b6106cb610bf1565b600280600054600160a01b900460ff1660048111156106ec576106ec610e60565b1461070a5760405163168a690760e11b815260040160405180910390fd5b600080546040516001600160a01b039091169047908381818185875af1925050503d8060008114610757576040519150601f19603f3d011682016040523d82523d6000602084013e61075c565b606091505b50509050806104d25760405162461bcd60e51b815260206004820152601060248201527f5472616e73666572206661696c65642e0000000000000000000000000000000060448201526064015b60405180910390fd5b6107ba610bf1565b6107c46000610dba565b565b6107ce610bf1565b600180600054600160a01b900460ff1660048111156107ef576107ef610e60565b1461080d5760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000ad78ebc5ac62000006001541015610869576040517f3eaafb9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546002919060ff60a01b1916600160a01b83610533565b61088b610bf1565b6104d2826104cc6000546001600160a01b031690565b600380600054600160a01b900460ff1660048111156108c2576108c2610e60565b146108e05760405163168a690760e11b815260040160405180910390fd5b33600081815260036020526040808220805490839055905190929083908381818185875af1925050503d8060008114610935576040519150601f19603f3d011682016040523d82523d6000602084013e61093a565b606091505b505090508061098b5760405162461bcd60e51b815260206004820152601060248201527f5472616e73666572206661696c65642e0000000000000000000000000000000060448201526064016107a9565b505050565b610998610bf1565b600180600054600160a01b900460ff1660048111156109b9576109b9610e60565b146109d75760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000ad78ebc5ac62000006001541115610a1a57604051637ed82da960e11b815260040160405180910390fd5b600080546003919060ff60a01b1916600160a01b83610533565b600180600054600160a01b900460ff166004811115610a5557610a55610e60565b14610a735760405163168a690760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000ad78ebc5ac62000006001541115610ab657604051637ed82da960e11b815260040160405180910390fd5b426002546224ea00610ac89190610ef7565b1115610a1a576040517ffd1fc00d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b08610bf1565b6001600160a01b038116610b845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107a9565b610b8d81610dba565b50565b610b98610bf1565b600280600054600160a01b900460ff166004811115610bb957610bb9610e60565b14610bd75760405163168a690760e11b815260040160405180910390fd5b600080546004919060ff60a01b1916600160a01b83610533565b6000546001600160a01b031633146107c45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a9565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691610cd59190610f50565b6000604051808303816000865af19150503d8060008114610d12576040519150601f19603f3d011682016040523d82523d6000602084013e610d17565b606091505b5091509150818015610d41575080511580610d41575080806020019051810190610d419190610f8b565b610db35760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c65640000000000000000000000000000000000000060648201526084016107a9565b5050505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610e3957600080fd5b919050565b600060208284031215610e5057600080fd5b610e5982610e22565b9392505050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310610e9857634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215610eb157600080fd5b610eba83610e22565b946020939093013593505050565b600060208284031215610eda57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f0a57610f0a610ee1565b500190565b6000816000190483118215151615610f2957610f29610ee1565b500290565b600082610f4b57634e487b7160e01b600052601260045260246000fd5b500490565b6000825160005b81811015610f715760208186018101518583015201610f57565b81811115610f80576000828501525b509190910192915050565b600060208284031215610f9d57600080fd5b81518015158114610e5957600080fdfea2646970667358221220b3f65b5aa22f62adddabd463f2bf496ceb8e74e4fcdc3afae2bd0149a750f84164736f6c634300080a0033

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

000000000000000000000000518b63da813d46556fea041a88b52e3caa8c16a800000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000001b1ae4d6e2ef500000

-----Decoded View---------------
Arg [0] : _antfarmToken (address): 0x518b63Da813D46556FEa041A88b52e3CAa8C16a8
Arg [1] : _softcap (uint256): 200000000000000000000
Arg [2] : _hardcap (uint256): 500000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000518b63da813d46556fea041a88b52e3caa8c16a8
Arg [1] : 00000000000000000000000000000000000000000000000ad78ebc5ac6200000
Arg [2] : 00000000000000000000000000000000000000000000001b1ae4d6e2ef500000


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.