ETH Price: $2,177.70 (+2.41%)

Contract

0xfE68FF6C87E7c5dFd2506B2d62B4a19a7C0BF521
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Take217328092025-01-29 21:15:35419 days ago1738185335IN
0xfE68FF6C...a7C0BF521
0 ETH0.000468014.97616458

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit208732852024-10-01 21:19:23539 days ago1727817563
0xfE68FF6C...a7C0BF521
0.49395415 ETH
-112579502020-11-14 20:17:261956 days ago1605385046
0xfE68FF6C...a7C0BF521
0.00173832 ETH
-110823232020-10-18 21:23:101983 days ago1603056190
0xfE68FF6C...a7C0BF521
0.01738324 ETH
-110816482020-10-18 18:47:031983 days ago1603046823
0xfE68FF6C...a7C0BF521
0.02151252 ETH
-108096062020-09-06 18:23:562025 days ago1599416636
0xfE68FF6C...a7C0BF521
0.21512524 ETH
-107352802020-08-26 9:34:262037 days ago1598434466
0xfE68FF6C...a7C0BF521
0.00052474 ETH
-106277882020-08-09 20:09:092053 days ago1597003749
0xfE68FF6C...a7C0BF521
0.00065593 ETH
-106274222020-08-09 18:49:512053 days ago1596998991
0xfE68FF6C...a7C0BF521
0.00081991 ETH
-106234772020-08-09 4:15:122054 days ago1596946512
0xfE68FF6C...a7C0BF521
0.00102489 ETH
-106218982020-08-08 22:36:132054 days ago1596926173
0xfE68FF6C...a7C0BF521
0.00128112 ETH
-106215412020-08-08 21:13:102054 days ago1596921190
0xfE68FF6C...a7C0BF521
0.0016014 ETH
-106211332020-08-08 19:42:002054 days ago1596915720
0xfE68FF6C...a7C0BF521
0.00200175 ETH
-106205792020-08-08 17:38:232054 days ago1596908303
0xfE68FF6C...a7C0BF521
0.02001756 ETH
-106189212020-08-08 11:31:512055 days ago1596886311
0xfE68FF6C...a7C0BF521
0.01060919 ETH
-106183162020-08-08 9:18:272055 days ago1596878307
0xfE68FF6C...a7C0BF521
0.02087947 ETH
-106179902020-08-08 8:07:532055 days ago1596874073
0xfE68FF6C...a7C0BF521
0.01177961 ETH
-106175272020-08-08 6:25:332055 days ago1596867933
0xfE68FF6C...a7C0BF521
0.01989729 ETH
-106163082020-08-08 1:48:302055 days ago1596851310
0xfE68FF6C...a7C0BF521
0.14710186 ETH
-106123362020-08-07 11:11:182056 days ago1596798678  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Auction

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-08-07
*/

/**
 *Submitted for verification at Etherscan.io on 2020-08-07
*/

/**
 *Submitted for verification at Etherscan.io on 2020-08-07
*/

// File: contracts/SafeMath.sol

pragma solidity ^0.6.0;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "sa");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "se");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "me");

        return c;
    }
}

// File: contracts/ERC20.sol

pragma solidity ^0.6.12;



contract ERC20 {
    using SafeMath for uint256;

    event  Approval(address indexed src, address indexed guy, uint wad);
    event  Transfer(address indexed src, address indexed dst, uint wad);

    uint256 public totalSupply;

    mapping (address => uint)                       public  balanceOf;
    mapping (address => mapping (address => uint))  public  allowance;

    function mint(address guy, uint256 wad) internal {
        balanceOf[guy] = balanceOf[guy].add(wad);
        totalSupply = totalSupply.add(wad);
        emit Transfer(address(0), guy, wad);
    }

    function approve(address guy, uint wad) external returns (bool) {
        allowance[msg.sender][guy] = wad;
        emit Approval(msg.sender, guy, wad);
        return true;
    }

    function transfer(address dst, uint wad) external returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        public
        returns (bool)
    {
        if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
            allowance[src][msg.sender] = allowance[src][msg.sender].sub(wad);
        }

        balanceOf[src] = balanceOf[src].sub(wad);
        balanceOf[dst] = balanceOf[dst].add(wad);

        emit Transfer(src, dst, wad);

        return true;
    }
}

// File: contracts/WETH.sol

pragma solidity ^0.6.12;


contract WETH {
    string public name     = "Wrapped Ether";
    string public symbol   = "WETH";
    uint8  public decimals = 18;

    event  Approval(address indexed src, address indexed guy, uint wad);
    event  Transfer(address indexed src, address indexed dst, uint wad);
    event  Deposit(address indexed dst, uint wad);
    event  Withdrawal(address indexed src, uint wad);

    mapping (address => uint)                       public  balanceOf;
    mapping (address => mapping (address => uint))  public  allowance;

    receive() external payable {
        deposit();
    }

    function deposit() public payable {
        balanceOf[msg.sender] += msg.value;
        emit Deposit(msg.sender, msg.value);
    }

    function withdraw(uint wad) public {
        require(balanceOf[msg.sender] >= wad, "not enough");
        balanceOf[msg.sender] -= wad;
        msg.sender.transfer(wad);
        emit Withdrawal(msg.sender, wad);
    }

    function totalSupply() public view returns (uint) {
        return address(this).balance;
    }

    function approve(address guy, uint wad) public returns (bool) {
        allowance[msg.sender][guy] = wad;
        emit Approval(msg.sender, guy, wad);
        return true;
    }

    function transfer(address dst, uint wad) public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        public
        returns (bool)
    {
        require(balanceOf[src] >= wad, "little balance");

        if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
            require(allowance[src][msg.sender] >= wad, "not allowed");
            allowance[src][msg.sender] -= wad;
        }

        balanceOf[src] -= wad;
        balanceOf[dst] += wad;

        emit Transfer(src, dst, wad);

        return true;
    }
}

// File: contracts/Auction.sol

pragma solidity ^0.6.12;





contract Auction {
    using SafeMath for uint256;

    uint256 public immutable FROM_PRICE;
    uint256 public immutable DURATION;
    uint256 public immutable MIN_START;

    WETH public immutable WRAPPED_ETH;
    ERC20 public immutable HOARD;

    uint256 public started;

    uint256 private unlocked = 1;
    modifier lock() {
        require(unlocked == 1);
        unlocked = 0;
        _;
        unlocked = 1;
    }

    constructor(
        address _weth,
        uint256 _minWait,
        uint256 _fromPrice,
        uint256 _duration,
        address _hoard
    ) public {
        WRAPPED_ETH = WETH(address(uint160(_weth)));
        MIN_START = block.timestamp + _minWait;
        FROM_PRICE = _fromPrice;
        DURATION = _duration;
        HOARD = ERC20(_hoard);
    }

    function start() external lock {
        require(block.timestamp > MIN_START, "wait");

        uint256 balance = address(this).balance;

        require(balance != 0, "empty");
        require(started == 0, "on");

        WRAPPED_ETH.deposit.value(balance)();
        started = block.timestamp;
    }

    function stop() external lock {
        require(started != 0, "off");

        uint256 delta = block.timestamp - started;
        require(delta >= DURATION || WRAPPED_ETH.balanceOf(address(this)) == 0, "on");

        delete started;
    }

    function price(uint256 offer, uint256 delta) public view returns (uint256) {
        return offer.mul(DURATION.sub(delta)).mul(FROM_PRICE) / (DURATION * 1 ether);
    }

    function take(uint256 _val) external lock {
        uint256 _started = started;
        require(_started != 0, "not");

        uint256 delta = block.timestamp - _started;
        require(delta < DURATION, "old");

        uint256 balance = WRAPPED_ETH.balanceOf(address(this));
        uint256 offer = balance < _val ? balance : _val;

        uint256 cost = price(offer, delta);
        require(HOARD.transferFrom(msg.sender, address(1), cost), "s1e");
        require(WRAPPED_ETH.transfer(msg.sender, offer), "s2e");
    }

    receive() external payable {}
}

// File: contracts/Poof.sol

pragma solidity ^0.6.12;





contract Poof is ERC20 {
    using SafeMath for uint256;

    string public constant name     = "Poof.eth";
    string public constant symbol   = "POOF";
    uint8  public constant decimals = 18;

    event Poof();
    event NotPoof(address _win, uint256 _total);

    WETH public immutable WRAPPED_ETH;

    uint256 private constant PERIOD = 1 hours;
    uint256 private constant SLOPE = 256;

    uint256 private constant BASE = 100;
    uint256 private constant FEE = 10;

    address public immutable FEE_RECIPIENT_1;
    address public immutable FEE_RECIPIENT_2;

    uint256 private constant INIT_MIN = 0.1 ether;
    uint256 private constant DUST = 0.00001 ether;

    uint256 private constant SHIFT_LOOPS = 232;
    uint256 private constant SHIFT_PLAYS = 208;
    uint256 private constant SHIFT_LAST = 160;

    bytes32 private constant MASK_PLAYS = bytes32((2 ** uint256(24)) - 1);
    bytes32 private constant MASK_LAST = bytes32((2 ** uint256(48)) - 1);
    bytes32 private constant MASK_HEAD = bytes32((2 ** uint256(160)) - 1);

    bytes32 internal p_data;

    function sortTokens(address _tokenA, address _tokenB) private pure returns (address token0, address token1) {
        (token0, token1) = _tokenA < _tokenB ? (_tokenA, _tokenB) : (_tokenB, _tokenA);
    }

    function pairFor(
        address _factory,
        address _tokenA,
        address _tokenB
    ) private pure returns (address pair) {
        (address token0, address token1) = sortTokens(_tokenA, _tokenB);
        pair = address(uint256(keccak256(abi.encodePacked(
            hex'ff',
            _factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        ))));
    }

    constructor(
        address _factory,
        address _shuf,
        address _weth,
        uint256 _minWait,
        uint256 _fromPrice,
        uint256 _duration
    ) public payable {
        address hoard_1 = pairFor(_factory, _weth, _shuf);
        address hoard_2 = pairFor(_factory, _weth, address(this));

        FEE_RECIPIENT_1 = address(new Auction(_weth, _minWait, _fromPrice, _duration, hoard_1));
        FEE_RECIPIENT_2 = address(new Auction(_weth, _minWait, _fromPrice, _duration, hoard_2));

        WRAPPED_ETH = WETH(address(uint160(_weth)));
        setData(address(this), block.timestamp, 0, 1);
    }

    function getData() public view returns (
        address head,
        uint256 last,
        uint256 plays,
        uint256 loops
    ) {
        bytes32 data = p_data;

        head = address(uint160(uint256(data & MASK_HEAD)));
        last = uint256((data >> SHIFT_LAST) & MASK_LAST);
        plays = uint256((data >> SHIFT_PLAYS) & MASK_PLAYS);
        loops = uint256(data >> SHIFT_LOOPS);
    }

    function setData(address _head, uint256 _last, uint256 _plays, uint256 _loops) private {
        p_data = (
            (bytes32(uint256(_head)) & MASK_HEAD) |
            ((bytes32(_last) & MASK_LAST) << SHIFT_LAST) |
            ((bytes32(_plays) & MASK_PLAYS) << SHIFT_PLAYS) |
            (bytes32(_loops) << SHIFT_LOOPS)
        );
    }

    function costFor(uint256 _plays, uint256 _delta) public pure returns (uint256) {
        uint256 start = INIT_MIN + ((INIT_MIN * _plays) / SLOPE);
        return DUST + ((start * (PERIOD - _delta)) / PERIOD);
    }

    receive() external payable {
        (
            address head,
            uint256 last,
            uint256 plays,
            uint256 loops
        ) = getData();

        uint256 delta = block.timestamp.sub(last);

        if (delta <= PERIOD) {
            uint256 cost = costFor(plays, delta);
            require(msg.value >= cost, "more ( ̄﹃ ̄)");

            setData(msg.sender, block.timestamp, plays + 1, loops);
            mint(head, 1 ether / loops);

            emit Poof();

            msg.sender.call{ value: msg.value - cost }("");
            return;
        }

        require(msg.value == 0, "wait");

        uint256 total = address(this).balance;
        uint256 fee = total.mul(FEE) / BASE;

        (bool success1,) = FEE_RECIPIENT_1.call{ value: fee}("");
        (bool success2,) = FEE_RECIPIENT_2.call{ value: fee}("");
        require(success1 && success2, "Error sending fees");

        emit NotPoof(head, total);

        setData(address(this), block.timestamp, 0, loops + 1);

        if (head != address(this)) {
            uint256 send = address(this).balance.sub(fee);
            WRAPPED_ETH.deposit.value(send)();
            WRAPPED_ETH.transfer(head, send);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_weth","type":"address"},{"internalType":"uint256","name":"_minWait","type":"uint256"},{"internalType":"uint256","name":"_fromPrice","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"address","name":"_hoard","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FROM_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HOARD","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_START","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WRAPPED_ETH","outputs":[{"internalType":"contract WETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offer","type":"uint256"},{"internalType":"uint256","name":"delta","type":"uint256"}],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"started","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_val","type":"uint256"}],"name":"take","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101206040526001805534801561001557600080fd5b50604051610ad4380380610ad4833981810160405260a081101561003857600080fd5b508051602082015160408301516060808501516080958601516001600160601b031995831b861660e0524290940160c0529190945260a05290911b166101005260805160a05160c05160e05160601c6101005160601c6109e06100f46000398061058e52806108eb52508061027052806104a55280610661528061082452806108c752508061075252806108a35250806102285280610327528061035352806103a95280610449525080610381528061071a52506109e06000f3fe6080604052600436106100955760003560e01c80638229c95a116100595780638229c95a1461014e578063be9a655514610163578063ca0246d614610178578063e4f9ca7c1461018d578063e83904ae146101be5761009c565b806307da68f5146100a15780631be05289146100b85780631f2698ab146100df578063487a2395146100f45780634fd9efc4146101245761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100b66101d3565b005b3480156100c457600080fd5b506100cd610325565b60408051918252519081900360200190f35b3480156100eb57600080fd5b506100cd610349565b34801561010057600080fd5b506100cd6004803603604081101561011757600080fd5b508035906020013561034f565b34801561013057600080fd5b506100b66004803603602081101561014757600080fd5b50356103f4565b34801561015a57600080fd5b506100cd610718565b34801561016f57600080fd5b506100b661073c565b34801561018457600080fd5b506100cd6108a1565b34801561019957600080fd5b506101a26108c5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ca57600080fd5b506101a26108e9565b6001546001146101e257600080fd5b6000600181905554610221576040805162461bcd60e51b815260206004820152600360248201526237b33360e91b604482015290519081900360640190fd5b60005442037f0000000000000000000000000000000000000000000000000000000000000000811015806102e45750604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156102b657600080fd5b505afa1580156102ca573d6000803e3d6000fd5b505050506040513d60208110156102e057600080fd5b5051155b61031a576040805162461bcd60e51b815260206004820152600260248201526137b760f11b604482015290519081900360640190fd5b506000805560018055565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60007f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000026103e37f00000000000000000000000000000000000000000000000000000000000000006103dd6103d6867f000000000000000000000000000000000000000000000000000000000000000061090d90919063ffffffff16565b879061094f565b9061094f565b816103ea57fe5b0490505b92915050565b60015460011461040357600080fd5b600060018190555480610443576040805162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b604482015290519081900360640190fd5b428190037f000000000000000000000000000000000000000000000000000000000000000081106104a1576040805162461bcd60e51b81526020600482015260036024820152621bdb1960ea1b604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561051057600080fd5b505afa158015610524573d6000803e3d6000fd5b505050506040513d602081101561053a57600080fd5b50519050600084821061054d578461054f565b815b9050600061055d828561034f565b604080516323b872dd60e01b8152336004820152600160248201526044810183905290519192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916064808201926020929091908290030181600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b505050506040513d602081101561060157600080fd5b505161063a576040805162461bcd60e51b815260206004820152600360248201526273316560e81b604482015290519081900360640190fd5b6040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb9160448083019260209291908290030181600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d60208110156106d357600080fd5b505161070c576040805162461bcd60e51b815260206004820152600360248201526273326560e81b604482015290519081900360640190fd5b50506001805550505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015460011461074b57600080fd5b60006001557f000000000000000000000000000000000000000000000000000000000000000042116107ad576040805162461bcd60e51b815260206004808301919091526024820152631dd85a5d60e21b604482015290519081900360640190fd5b47806107e8576040805162461bcd60e51b8152602060048201526005602482015264656d70747960d81b604482015290519081900360640190fd5b60005415610822576040805162461bcd60e51b815260206004820152600260248201526137b760f11b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561087d57600080fd5b505af1158015610891573d6000803e3d6000fd5b5050426000555050600180555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600082821115610949576040805162461bcd60e51b8152602060048201526002602482015261736560f01b604482015290519081900360640190fd5b50900390565b60008261095e575060006103ee565b8282028284828161096b57fe5b04146109a3576040805162461bcd60e51b81526020600482015260026024820152616d6560f01b604482015290519081900360640190fd5b939250505056fea26469706673582212205ed4571544eff9090e3c3d6a3a67eefacfa44ad06e042c18b0b1ffece07337b164736f6c634300060c0033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000009e3400000000000000000000000000260e069dead76baac587b5141bb606ef8b9bab6c

Deployed Bytecode

0x6080604052600436106100955760003560e01c80638229c95a116100595780638229c95a1461014e578063be9a655514610163578063ca0246d614610178578063e4f9ca7c1461018d578063e83904ae146101be5761009c565b806307da68f5146100a15780631be05289146100b85780631f2698ab146100df578063487a2395146100f45780634fd9efc4146101245761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100b66101d3565b005b3480156100c457600080fd5b506100cd610325565b60408051918252519081900360200190f35b3480156100eb57600080fd5b506100cd610349565b34801561010057600080fd5b506100cd6004803603604081101561011757600080fd5b508035906020013561034f565b34801561013057600080fd5b506100b66004803603602081101561014757600080fd5b50356103f4565b34801561015a57600080fd5b506100cd610718565b34801561016f57600080fd5b506100b661073c565b34801561018457600080fd5b506100cd6108a1565b34801561019957600080fd5b506101a26108c5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ca57600080fd5b506101a26108e9565b6001546001146101e257600080fd5b6000600181905554610221576040805162461bcd60e51b815260206004820152600360248201526237b33360e91b604482015290519081900360640190fd5b60005442037f00000000000000000000000000000000000000000000000000000000009e3400811015806102e45750604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a08231916024808301926020929190829003018186803b1580156102b657600080fd5b505afa1580156102ca573d6000803e3d6000fd5b505050506040513d60208110156102e057600080fd5b5051155b61031a576040805162461bcd60e51b815260206004820152600260248201526137b760f11b604482015290519081900360640190fd5b506000805560018055565b7f00000000000000000000000000000000000000000000000000000000009e340081565b60005481565b60007f00000000000000000000000000000000000000000000000000000000009e3400670de0b6b3a7640000026103e37f00000000000000000000000000000000000000000000021e19e0c9bab24000006103dd6103d6867f00000000000000000000000000000000000000000000000000000000009e340061090d90919063ffffffff16565b879061094f565b9061094f565b816103ea57fe5b0490505b92915050565b60015460011461040357600080fd5b600060018190555480610443576040805162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b604482015290519081900360640190fd5b428190037f00000000000000000000000000000000000000000000000000000000009e340081106104a1576040805162461bcd60e51b81526020600482015260036024820152621bdb1960ea1b604482015290519081900360640190fd5b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561051057600080fd5b505afa158015610524573d6000803e3d6000fd5b505050506040513d602081101561053a57600080fd5b50519050600084821061054d578461054f565b815b9050600061055d828561034f565b604080516323b872dd60e01b8152336004820152600160248201526044810183905290519192506001600160a01b037f000000000000000000000000260e069dead76baac587b5141bb606ef8b9bab6c16916323b872dd916064808201926020929091908290030181600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b505050506040513d602081101561060157600080fd5b505161063a576040805162461bcd60e51b815260206004820152600360248201526273316560e81b604482015290519081900360640190fd5b6040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2169163a9059cbb9160448083019260209291908290030181600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d60208110156106d357600080fd5b505161070c576040805162461bcd60e51b815260206004820152600360248201526273326560e81b604482015290519081900360640190fd5b50506001805550505050565b7f00000000000000000000000000000000000000000000021e19e0c9bab240000081565b60015460011461074b57600080fd5b60006001557f000000000000000000000000000000000000000000000000000000005f7c50d642116107ad576040805162461bcd60e51b815260206004808301919091526024820152631dd85a5d60e21b604482015290519081900360640190fd5b47806107e8576040805162461bcd60e51b8152602060048201526005602482015264656d70747960d81b604482015290519081900360640190fd5b60005415610822576040805162461bcd60e51b815260206004820152600260248201526137b760f11b604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561087d57600080fd5b505af1158015610891573d6000803e3d6000fd5b5050426000555050600180555050565b7f000000000000000000000000000000000000000000000000000000005f7c50d681565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000260e069dead76baac587b5141bb606ef8b9bab6c81565b600082821115610949576040805162461bcd60e51b8152602060048201526002602482015261736560f01b604482015290519081900360640190fd5b50900390565b60008261095e575060006103ee565b8282028284828161096b57fe5b04146109a3576040805162461bcd60e51b81526020600482015260026024820152616d6560f01b604482015290519081900360640190fd5b939250505056fea26469706673582212205ed4571544eff9090e3c3d6a3a67eefacfa44ad06e042c18b0b1ffece07337b164736f6c634300060c0033

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

000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000009e3400000000000000000000000000260e069dead76baac587b5141bb606ef8b9bab6c

-----Decoded View---------------
Arg [0] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [1] : _minWait (uint256): 5184000
Arg [2] : _fromPrice (uint256): 10000000000000000000000
Arg [3] : _duration (uint256): 10368000
Arg [4] : _hoard (address): 0x260E069deAd76baAC587B5141bB606Ef8b9Bab6c

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [1] : 00000000000000000000000000000000000000000000000000000000004f1a00
Arg [2] : 00000000000000000000000000000000000000000000021e19e0c9bab2400000
Arg [3] : 00000000000000000000000000000000000000000000000000000000009e3400
Arg [4] : 000000000000000000000000260e069dead76baac587b5141bb606ef8b9bab6c


Deployed Bytecode Sourcemap

4268:2155:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5413:246;;;;;;;;;;;;;:::i;:::-;;4369:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4529:22;;;;;;;;;;;;;:::i;5667:170::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5667:170:0;;;;;;;:::i;5845:538::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5845:538:0;;:::i;4327:35::-;;;;;;;;;;;;;:::i;5093:312::-;;;;;;;;;;;;;:::i;4409:34::-;;;;;;;;;;;;;:::i;4452:33::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4452:33:0;;;;;;;;;;;;;;4492:28;;;;;;;;;;;;;:::i;5413:246::-;4630:8;;4642:1;4630:13;4622:22;;;;;;4666:1;4655:8;:12;;;5462:7;5454:28:::1;;;::::0;;-1:-1:-1;;;5454:28:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5454:28:0;;;;;;;;;;;;;::::1;;5495:13;5529:7:::0;5511:15:::1;:25;5564:8;5555:17:::0;::::1;;::::0;:62:::1;;-1:-1:-1::0;5576:36:0::1;::::0;;-1:-1:-1;;;5576:36:0;;5606:4:::1;5576:36;::::0;::::1;::::0;;;:11:::1;-1:-1:-1::0;;;;;5576:21:0::1;::::0;-1:-1:-1;;5576:36:0;;;;;::::1;::::0;;;;;;;;:21;:36;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;5576:36:0;:41;5555:62:::1;5547:77;;;::::0;;-1:-1:-1;;;5547:77:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5547:77:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;5644:7:0::1;5637:14:::0;;4701:1;4690:12;;5413:246::o;4369:33::-;;;:::o;4529:22::-;;;;:::o;5667:170::-;5733:7;5810:8;5821:7;5810:18;5760:46;5795:10;5760:30;5770:19;5783:5;5770:8;:12;;:19;;;;:::i;:::-;5760:5;;:9;:30::i;:::-;:34;;:46::i;:::-;:69;;;;;;5753:76;;5667:170;;;;;:::o;5845:538::-;4630:8;;4642:1;4630:13;4622:22;;;;;;4666:1;4655:8;:12;;;5917:7;5943:13;5935:29:::1;;;::::0;;-1:-1:-1;;;5935:29:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5935:29:0;;;;;;;;;;;;;::::1;;5993:15;:26:::0;;::::1;6046:8;6038:16:::0;::::1;6030:32;;;::::0;;-1:-1:-1;;;6030:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6030:32:0;;;;;;;;;;;;;::::1;;6093:36;::::0;;-1:-1:-1;;;6093:36:0;;6123:4:::1;6093:36;::::0;::::1;::::0;;;6075:15:::1;::::0;-1:-1:-1;;;;;6093:11:0::1;:21;::::0;::::1;::::0;:36;;;;;::::1;::::0;;;;;;;;;:21;:36;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;6093:36:0;;-1:-1:-1;6140:13:0::1;6156:14:::0;;::::1;:31;;6183:4;6156:31;;;6173:7;6156:31;6140:47;;6200:12;6215:19;6221:5;6228;6215;:19::i;:::-;6253:48;::::0;;-1:-1:-1;;;6253:48:0;;6272:10:::1;6253:48;::::0;::::1;::::0;6292:1:::1;6253:48:::0;;;;;;;;;;;;;;-1:-1:-1;6253:5:0::1;-1:-1:-1::0;;;;;6253:18:0::1;::::0;-1:-1:-1;;6253:48:0;;;;;::::1;::::0;;;;;;;;;-1:-1:-1;6253:18:0;:48;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;6253:48:0;6245:64:::1;;;::::0;;-1:-1:-1;;;6245:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6245:64:0;;;;;;;;;;;;;::::1;;6328:39;::::0;;-1:-1:-1;;;6328:39:0;;6349:10:::1;6328:39;::::0;::::1;::::0;;;;;;;;;:11:::1;-1:-1:-1::0;;;;;6328:20:0::1;::::0;-1:-1:-1;;6328:39:0;;;;;::::1;::::0;;;;;;;;-1:-1:-1;6328:20:0;:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;6328:39:0;6320:55:::1;;;::::0;;-1:-1:-1;;;6320:55:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6320:55:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;4701:1:0;4690:12;;-1:-1:-1;;;;5845:538:0:o;4327:35::-;;;:::o;5093:312::-;4630:8;;4642:1;4630:13;4622:22;;;;;;4666:1;4655:8;:12;5161:9:::1;5143:15;:27;5135:44;;;::::0;;-1:-1:-1;;;5135:44:0;;::::1;;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;;;5135:44:0;;;;;;;;;;;;;::::1;;5210:21;5252:12:::0;5244:30:::1;;;::::0;;-1:-1:-1;;;5244:30:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5244:30:0;;;;;;;;;;;;;::::1;;5293:7;::::0;:12;5285:27:::1;;;::::0;;-1:-1:-1;;;5285:27:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5285:27:0;;;;;;;;;;;;;::::1;;5325:11;-1:-1:-1::0;;;;;5325:19:0::1;;5351:7;5325:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5382:15:0::1;5372:7;:25:::0;-1:-1:-1;;4701:1:0;4690:12;;-1:-1:-1;;5093:312:0:o;4409:34::-;;;:::o;4452:33::-;;;:::o;4492:28::-;;;:::o;392:154::-;450:7;483:1;478;:6;;470:21;;;;;-1:-1:-1;;;470:21:0;;;;;;;;;;;;-1:-1:-1;;;470:21:0;;;;;;;;;;;;;;;-1:-1:-1;514:5:0;;;392:154::o;554:219::-;612:7;636:6;632:47;;-1:-1:-1;666:1:0;659:8;;632:47;703:5;;;707:1;703;:5;:1;727:5;;;;;:10;719:25;;;;;-1:-1:-1;;;719:25:0;;;;;;;;;;;;-1:-1:-1;;;719:25:0;;;;;;;;;;;;;;;764:1;554:219;-1:-1:-1;;;554:219:0:o

Swarm Source

ipfs://5ed4571544eff9090e3c3d6a3a67eefacfa44ad06e042c18b0b1ffece07337b1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.