Contract 0x204B937FEaEc333E9e6d72D35f1D131f187ECeA1 5

OTC  
 
 
Txn Hash
Method
Block
From
To
Value
0x21671a7720bc3f8c05b7ac0b667e8359633c4cc698eec9a9dcc262b7bc780694Kill152227082022-07-27 5:54:4811 days 9 hrs ago0x0fc4f62fa79a7e2531490087b7044451f8702bb0 IN  HEXOTC0 Ether0.00070627 11.00648028
0x2c891406c1bc8f416f8e955230fec329b6facc7508c5417ba9f4492d8884a972Take131839152021-09-08 8:05:38333 days 7 hrs ago0x40f8546e4b9e67c59682650a2671c6ba474d45d4 IN  HEXOTC5 Ether0.00218038 89.88678638
0x63b34deea6a7b6e037d50178540fcd996943de52848b10fab81dc17b25df7d8aMake124833332021-05-22 9:38:05442 days 5 hrs ago0x1fe88c2f08f491e5fff7bcd8094a0c3fbb6aecbe IN  HEXOTC0 Ether0.0059499844
0xaf5f9d4b11ed42dc69f8587cc00f9967535698905acbe069e99bf7c31f4f7270Kill124833232021-05-22 9:36:38442 days 5 hrs ago0x1fe88c2f08f491e5fff7bcd8094a0c3fbb6aecbe IN  HEXOTC0 Ether0.0027451852
0xa6de8fabe5d0fc5a802153e6572b8c1472f43e57f8530b5963f1f69c5c5dc7d8Kill122221052021-04-12 0:54:37482 days 14 hrs ago0x510e94e1e8b973c3f483cfefa8cb7b1d8d4a5923 IN  HEXOTC0 Ether0.0034606575
0xbe6a236ddcc36299c6fcc298d7ac275c16280e11073590f6f7c27b06d435f269Take121967332021-04-08 3:21:08486 days 12 hrs ago0x510e94e1e8b973c3f483cfefa8cb7b1d8d4a5923 IN  HEXOTC0 Ether0.0061057293
0x6f9b02afe8c23877b6cecc5a1dbc5caa184ab41d7821c8e50fe83ee85520022fMake121966852021-04-08 3:08:41486 days 12 hrs ago0x510e94e1e8b973c3f483cfefa8cb7b1d8d4a5923 IN  HEXOTC0 Ether0.0132793591
0x9a30adfd2c3b4a67190d69dc9e77d62dc4deb781b7c0a508d94003a1052d76b8Make121299202021-03-28 20:53:00496 days 18 hrs ago0x68cbc12a70a14f055110ddbec73a7f0f5551ffda IN  HEXOTC0.06942 Ether0.01577797116
0xa86b7d360564fb602ba705330b0fa37c5ff5e9a2e6a00f2f8f6e69cb5e0f6650Kill120768322021-03-20 16:48:59504 days 22 hrs ago0x5c963c439153f0a1f51a8898111a747cc2cd33fb IN  HEXOTC0 Ether0.00669059145.00000145
0xaec81593a1d1651842acadbccf64d85264b243ea7d37219f1bd1ea544ddccc1dMake120671712021-03-19 5:04:01506 days 10 hrs ago0x5c963c439153f0a1f51a8898111a747cc2cd33fb IN  HEXOTC0 Ether0.02251944172
0xb7ebf92392e2b9a8dd170bab5c086d6169c1794008798c3fccade0c75aebb203Kill115797652021-01-03 6:13:57581 days 9 hrs ago0x9504946d9294ad46868f870745357d9c7d279ea3 IN  HEXOTC0 Ether0.0047807109.88612488
0xa6c9d53622dd56c0aaa318471e5091b15f380a87adbb2f002b1a0b1f8f0f2488Make115779062021-01-02 23:06:13581 days 16 hrs ago0x9504946d9294ad46868f870745357d9c7d279ea3 IN  HEXOTC50 Ether0.0068020550
0x604edf2be52424692b6f4d8930f972894355d176d98c49cdfe36a8ef83916639Kill113295532020-11-25 19:55:35619 days 19 hrs ago0x97be0621788ff8b9bb5f430bafed1af0c734d109 IN  HEXOTC0 Ether0.0010528424.2
0x94ea1d4441c9687d53c5fc5a71cbc0262eef88f57bc45dda42e6754254019dfbMake111737252020-11-01 21:54:01643 days 17 hrs ago0xdaf48daaff088c823331b310ef13de48c241ff96 IN  HEXOTC0 Ether0.0027492121.00000145
0x4fa5859d0a70bdbc105b43aa77de0a6adb9189509f88fcbb00b46974d0506427Take111736492020-11-01 21:40:56643 days 17 hrs ago0xdaf48daaff088c823331b310ef13de48c241ff96 IN  HEXOTC0.8 Ether0.0011515423
0xd72e552d2721deacf64886940774a4023e471d33d212ce15faaa50473fe118bdMake111630052020-10-31 6:23:06645 days 9 hrs ago0x97b695ca3b5dbe977040f0ded1fe9147e0b4e4ab IN  HEXOTC0.0025 Ether0.0031865923.43
0x791651b8c500cee097a3d70d19a9e6a0beb3bb4154373ba3e6a1acb5a7a14ddeTake111546732020-10-29 23:27:33646 days 16 hrs ago0xa9040d2f9fd8b0d499f510c1fde47c05cf1682a3 IN  HEXOTC0.0001 Ether0.0017022734
0x472a0279692ed9bc1227ec17f7d2604677d53b94f220747237ca7412d3a2e40eMake111546682020-10-29 23:26:35646 days 16 hrs ago0x9f16a93a0e0b43be219fe1cdcdd95dad0061d5a1 IN  HEXOTC0 Ether0.0041885132
0xb07884efa315ced6324b3745834e7a0a29ba0e263aa2f7c855a82cb77974ac93Make111545812020-10-29 23:04:15646 days 16 hrs ago0xa9040d2f9fd8b0d499f510c1fde47c05cf1682a3 IN  HEXOTC0.000001 Ether0.0042150331
0x3e8bdd235f185a14f07eee618c1c288756bbcec650ec2a869a0dd20e4fce03d5Kill110181352020-10-09 0:44:22667 days 14 hrs ago0xc37b89897dbbb16942979f933ca387ef2b3854b4 IN  HEXOTC0 Ether0.0024138945.00000145
0x83fa1588e07cb9595f47e19758dbcc035a43e464b7be59fc062e3fe5968503d1Make110151862020-10-08 13:33:33668 days 1 hr ago0xc37b89897dbbb16942979f933ca387ef2b3854b4 IN  HEXOTC0 Ether0.0081148970
0xeb106567dc5149fca0285d609dd153afce03ea976326571517d7c767546e4046Make108706732020-09-16 3:15:10690 days 12 hrs ago0x0fc4f62fa79a7e2531490087b7044451f8702bb0 IN  HEXOTC0.1 Ether0.01945043143
0x3519dbbb148c4e7c2c0ccbd54150cee84e8a7747759e28e1479636c75899dfc4Kill101628392020-05-29 20:31:45799 days 18 hrs ago0xe8e0875fa798a72c24d65c45838f2afa2c427ed7 IN  HEXOTC0 Ether0.0006459814
0x374b6b3c57952d142a26051a99a761837fd6ee641ad7953db4352aa8eb891898Make101608712020-05-29 13:13:45800 days 2 hrs ago0xe8e0875fa798a72c24d65c45838f2afa2c427ed7 IN  HEXOTC0 Ether0.0032725725
0x2ae907a5324c5ac4943d726c57a20c7162e4960907f96e966327657c26ec4d2cMake100774942020-05-16 13:48:40813 days 1 hr ago0xfc78a4c683f9d16b1b4e704d02b98dce4f4a78d7 IN  HEXOTC0.0001 Ether0.001515
[ Download CSV Export 

OVERVIEW

Over-the-counter P2P market for HEX/ETH

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x21671a7720bc3f8c05b7ac0b667e8359633c4cc698eec9a9dcc262b7bc780694152227082022-07-27 5:54:4811 days 9 hrs ago HEXOTC0x0fc4f62fa79a7e2531490087b7044451f8702bb00.1 Ether
0xd7001f1859d4b7e9c0b4a53d1cbb935b2811f9a88a4ab73308ffa59f38c0c018131839152021-09-08 8:05:38333 days 7 hrs ago HEXOTC0x1fe88c2f08f491e5fff7bcd8094a0c3fbb6aecbe5 Ether
0xd7001f1859d4b7e9c0b4a53d1cbb935b2811f9a88a4ab73308ffa59f38c0c018131839152021-09-08 8:05:38333 days 7 hrs ago 0xbf3f6477dbd514ef85b7d3ec6ac2205fd0962039 HEXOTC5 Ether
0xbe6a236ddcc36299c6fcc298d7ac275c16280e11073590f6f7c27b06d435f269121967332021-04-08 3:21:08486 days 12 hrs ago HEXOTC0x510e94e1e8b973c3f483cfefa8cb7b1d8d4a59230.0025 Ether
0xb7ebf92392e2b9a8dd170bab5c086d6169c1794008798c3fccade0c75aebb203115797652021-01-03 6:13:57581 days 9 hrs ago HEXOTC0x9504946d9294ad46868f870745357d9c7d279ea350 Ether
0x604edf2be52424692b6f4d8930f972894355d176d98c49cdfe36a8ef83916639113295532020-11-25 19:55:35619 days 19 hrs ago HEXOTC0x97be0621788ff8b9bb5f430bafed1af0c734d1090.1 Ether
0x4fa5859d0a70bdbc105b43aa77de0a6adb9189509f88fcbb00b46974d0506427111736492020-11-01 21:40:56643 days 17 hrs ago HEXOTC0x73372d2cfb7442bbf6607e5cb080449ed0f9e87b0.8 Ether
0x791651b8c500cee097a3d70d19a9e6a0beb3bb4154373ba3e6a1acb5a7a14dde111546732020-10-29 23:27:33646 days 16 hrs ago HEXOTC0x9f16a93a0e0b43be219fe1cdcdd95dad0061d5a10.0001 Ether
0x12d4537b581526268475b30b775faf7ad8ff3945f9fae07f658721746dc48eda100691972020-05-15 6:42:23814 days 8 hrs ago HEXOTC0x1fe88c2f08f491e5fff7bcd8094a0c3fbb6aecbe0.13 Ether
0x89c3731431e4f88adf7888315653a3f8426fc0fad9446d41db75d2534f82bd97100691582020-05-15 6:33:06814 days 8 hrs ago HEXOTCHEXOTC: Deployer0.1 Ether
0xb17328aed34424f3e1762561cefc323ae6eb5e7f5308cc4b3f4f55e7adfe9548100236782020-05-08 5:23:35821 days 10 hrs ago HEXOTC0x080b9db4dc48d20c0d899e1465d1c2e3499721b90.01 Ether
0x57fcdbefa88b07c9dc7986df3c1739f115d2ef7bf070a072e2ac502f6e7cefba100236692020-05-08 5:20:59821 days 10 hrs ago HEXOTC0x080b9db4dc48d20c0d899e1465d1c2e3499721b90.01 Ether
0xaf7bb3c19473c0b2311b03cb5b1cdb321d3ff0e32b7b27b2fb36bce39f0049bf100236552020-05-08 5:16:56821 days 10 hrs ago HEXOTC0x080b9db4dc48d20c0d899e1465d1c2e3499721b90.004 Ether
0x718f7e5031db3805b732fa66b3c2c71525da261dc0eebabdfe7f9b5b363ab5fc99837692020-05-02 1:13:43827 days 14 hrs ago HEXOTC0xdaf48daaff088c823331b310ef13de48c241ff961 Ether
0xc07eebbcbb28cd5777155bf2b98a4404bbb82961931c0d0afe1a136d0c23f20d99699122020-04-29 21:25:43829 days 18 hrs ago HEXOTC0x19a6dde26cb64c45b4bcf27cf68d86505d6a3c9b14 Ether
0xc386c052fb8feb476327fc6df08069537ed0ef4004291e2d75bdef84cab7123699639512020-04-28 23:33:42830 days 15 hrs ago HEXOTC0x19a6dde26cb64c45b4bcf27cf68d86505d6a3c9b14 Ether
0xa9c12bbcca1b64104b530eb01bf20bf425f6ffc072f3fdf00f2eccf61361437199369212020-04-24 18:49:32834 days 20 hrs ago HEXOTC0x19a6dde26cb64c45b4bcf27cf68d86505d6a3c9b0.0001 Ether
0x2ff153bf6216511b3d1e809f8c079acb9027d30d963b49e97f497b81043c6fb199220012020-04-22 11:32:45837 days 3 hrs ago HEXOTC0x4a8b2aa05aa9697258383779206a77a942c6e6cc0.012 Ether
0x421b5e040975705bf889085c4a64500f26ba4c88d1db82d7358ec516c1c5628e99220002020-04-22 11:32:31837 days 3 hrs ago HEXOTC0x4a8b2aa05aa9697258383779206a77a942c6e6cc0.01 Ether
0xdd522b3240f11331676f6371da1419c3b05ac287709b4cf72daed5385a937fa498982272020-04-18 19:17:49840 days 20 hrs ago HEXOTCHEXOTC: Deployer0.8 Ether
0x96d1ae95708b3f27679e4e5bfb0d5adcf725cbf79464e5e85d8cdc1985c5a24a96966152020-03-18 16:20:36871 days 23 hrs ago HEXOTC0x97be0621788ff8b9bb5f430bafed1af0c734d1090.2 Ether
0xbdef92459e9aa0851f6f20b9e0a81c5088d566eed8d3099240ed19a94b66a46d96664112020-03-14 0:40:12876 days 14 hrs ago HEXOTCHEXOTC: Deployer0.1 Ether
0x3ebde37186de74c42461f2f7a28502c22e8e4164b1f0a123e662b2b18d651e4f95824202020-03-01 2:14:17889 days 13 hrs ago HEXOTC0x431fb3e56ff1d26e781e2824fa3dcbaa6a3aa4db0.1 Ether
0x29fb1fded4ace4d4ac32998e82e2310425be49ad7c3c4f7645b5bea7f964a49595026832020-02-17 20:08:23901 days 19 hrs ago HEXOTC0xcd76bd589a81e978014f237c5063c80335490ae00.0045 Ether
0x0a4b401dcbc1a3a7d5a23e1cb9126da3a5ef49011ba18560d6c8a78ec04cfe1a94722332020-02-13 3:31:03906 days 11 hrs ago HEXOTCHEXOTC: Deployer0.2 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HEXOTC

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license

Contract Source Code (Solidity Multiple files format)

File 2 of 3: hex-otc.sol
/// hex-otc.sol
//
// This program is free software: you can redistribute it and/or modify it
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//

pragma solidity ^0.4.18;

import "./math.sol";
import "./erc20.sol";

contract EventfulMarket {

    event LogMake(
        bytes32  indexed  id,
        address  indexed  maker,
        uint           pay_amt,
        uint           buy_amt,
        uint64            timestamp,
        uint              escrowType
    );

    event LogTake(
        bytes32           id,
        address  indexed  maker,
        address  indexed  taker,
        uint          take_amt,
        uint           give_amt,
        uint64            timestamp,
        uint              escrowType
    );

    event LogKill(
        bytes32  indexed  id,
        address  indexed  maker,
        uint           pay_amt,
        uint           buy_amt,
        uint64            timestamp,
        uint              escrowType
    );
}

contract HEXOTC is EventfulMarket, DSMath {

    ERC20 hexInterface;
    address constant hexAddress = 0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39;
    uint constant hexDecimals = 8;
    uint public last_offer_id;

    mapping (uint => OfferInfo) public offers;

    bool locked;

    struct OfferInfo {
        uint     pay_amt;
        uint     buy_amt;
        address  owner;
        uint64   timestamp;
        bytes32  offerId;
        uint   escrowType; //0 HEX - 1 ETH
    }

    modifier can_buy(uint id) {
        require(isActive(id), "cannot buy, offer ID not active");
        _;
    }

    modifier can_cancel(uint id) {
        require(isActive(id), "cannot cancel, offer ID not active");
        require(getOwner(id) == msg.sender, "cannot cancel, msg.sender not the same as offer maker");
        _;
    }

    modifier can_offer {
        _;
    }

    modifier synchronized {
        require(!locked, "Sync lock");
        locked = true;
        _;
        locked = false;
    }

    constructor() public{
            hexInterface = ERC20(hexAddress);
    }

    function isActive(uint id) public view returns (bool active) {
        return offers[id].timestamp > 0;
    }

    function getOwner(uint id) public view returns (address owner) {
        return offers[id].owner;
    }

    function getOffer(uint id) public view returns (uint, uint, bytes32) {
      var offer = offers[id];
      return (offer.pay_amt, offer.buy_amt, offer.offerId);
    }

    // Transfers funds from caller to
    // offer maker, and from market to caller.
    function buyHEX(uint id) //quantitiy in wei
        public
        payable
        can_buy(id)
        synchronized
        returns (bool)
    {
        //checks
        OfferInfo memory offer = offers[id];
        require(offer.escrowType == 0, "Incorrect escrow type");
        require(msg.value > 0 && msg.value == offer.buy_amt, "msg.value error");
        require(offer.buy_amt > 0 && offer.pay_amt > 0, "values are zero");
        //transfer
        offer.owner.transfer(msg.value);//send eth to offer maker (seller)
        require(hexInterface.transfer(msg.sender, offer.pay_amt), "Transfer failed"); //send escrowed hex from contract to offer taker (buyer)
        //events
        emit LogTake(
            bytes32(id),
            offer.owner,
            msg.sender,
            uint(offer.pay_amt),
            uint(offer.buy_amt),
            uint64(now),
            offer.escrowType
        );
        //delete offer
        offers[id].pay_amt = 0;
        offers[id].buy_amt = 0;
        delete offers[id];

        return true;
    }

    //Transfers funds from caller to
    // offer maker, and from market to caller.
    function buyETH(uint id) 
        public
        can_buy(id)
        synchronized
        returns (bool)
    {
        //checks
        OfferInfo memory offer = offers[id];
        require(offer.escrowType == 1, "Incorrect escrow type");
        require(hexInterface.balanceOf(msg.sender) >= offer.buy_amt, "Balance is less than requested spend amount");
        require(offer.buy_amt > 0 && offer.pay_amt > 0, "values are zero");
        //transfer
        require(hexInterface.transferFrom(msg.sender, offer.owner, offer.buy_amt), "Transfer failed");//send HEX to offer maker (seller)
        msg.sender.transfer(offer.pay_amt);//send ETH to offer taker (buyer)
        //events
        emit LogTake(
            bytes32(id),
            offer.owner,
            msg.sender,
            uint(offer.pay_amt),
            uint(offer.buy_amt),
            uint64(now),
            offer.escrowType
        );
        //delete offer
        offers[id].pay_amt = 0;
        offers[id].buy_amt = 0;
        delete offers[id];
            
        return true;
    }

    // cancel an offer, refunds offer maker.
    function cancel(uint id)
        public
        can_cancel(id)
        synchronized
        returns (bool success)
    {
        // read-only offer. Modify an offer by directly accessing offers[id]
        OfferInfo memory offer = offers[id];
        delete offers[id];
        if(offer.escrowType == 0){ //hex
            require(hexInterface.transfer(offer.owner, offer.pay_amt), "Transfer failed");
        }
        else{ //eth
            offer.owner.transfer(offer.pay_amt);
        }
        emit LogKill(
            bytes32(id),
            offer.owner,
            uint(offer.pay_amt),
            uint(offer.buy_amt),
            uint64(now),
            offer.escrowType
        );

        success = true;
    }

    //cancel
    function kill(bytes32 id)
        public
    {
        require(cancel(uint256(id)), "Error on cancel order.");
    }

    //make
    function make(
        uint  pay_amt,
        uint  buy_amt
    )
        public
        payable
        returns (bytes32 id)
    {
        if(msg.value > 0){
            return bytes32(offerETH(pay_amt, buy_amt));
        }
        else{
            return bytes32(offerHEX(pay_amt, buy_amt));
        }
    }

    // make a new offer to sell ETH. Takes ETH funds from the caller into market escrow.
    function offerETH(uint pay_amt, uint buy_amt) //amounts in wei / hearts
        public
        payable
        can_offer
        synchronized
        returns (uint id)
    {
        //checks
        require(pay_amt > 0, "pay_amt is 0");
        require(buy_amt > 0, "buy_amt is 0");
        require(pay_amt == msg.value, "pay_amt not equal to msg.value");//msg.value is escrowed
        //create new offer
        newOffer(id, pay_amt, buy_amt, 1);
        //events
        emit LogMake(
            bytes32(id),
            msg.sender,
            uint(pay_amt),
            uint(buy_amt),
            uint64(now),
            1
        );
    }

    // make a new offer to sell HEX. Takes HEX funds from the caller into market escrow.
    function offerHEX(uint pay_amt, uint buy_amt) //amounts in hearts / wei
        public
        can_offer
        synchronized
        returns (uint id)
    {
        //checks
        require(hexInterface.balanceOf(msg.sender) >= pay_amt, "Insufficient balanceOf hex");
        require(pay_amt > 0, "pay_amt is 0");
        require(buy_amt > 0,  "buy_amt is 0");
        //create new offer
        newOffer(id, pay_amt, buy_amt, 0);
        //transfer to escrow
        require(hexInterface.transferFrom(msg.sender, address(this), pay_amt), "Transfer failed");
        //events
        emit LogMake(
            bytes32(id),
            msg.sender,
            uint(pay_amt),
            uint(buy_amt),
            uint64(now),
            0
        );
    }

    //formulate new offer
    function newOffer(uint id, uint pay_amt, uint buy_amt, uint escrowType)
        internal
    {
        OfferInfo memory info;
        info.pay_amt = pay_amt;
        info.buy_amt = buy_amt;
        info.owner = msg.sender;
        info.timestamp = uint64(now);
        info.escrowType = escrowType;
        id = _next_id();
        info.offerId = bytes32(id);
        offers[id] = info;
    }

    //take
    function take(bytes32 id)
        public
        payable
    {
        if(msg.value > 0){
            require(buyHEX(uint256(id)), "Buy HEX failed");
        }
        else{
            require(buyETH(uint256(id)), "Sell HEX failed");
        }

    }

    //get next id
    function _next_id()
        internal
        returns (uint)
    {
        last_offer_id++;
        return last_offer_id;
    }
}

File 1 of 3: erc20.sol
/// erc20.sol -- API for the ERC20 token standard

// See <https://github.com/ethereum/EIPs/issues/20>.

// This file likely does not meet the threshold of originality
// required for copyright to apply.  As a result, this is free and
// unencumbered software belonging to the public domain.

pragma solidity ^0.4.8;

contract ERC20Events {
    event Approval(address indexed src, address indexed guy, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);
}

contract ERC20 is ERC20Events {
    function totalSupply() public view returns (uint);
    function balanceOf(address guy) public view returns (uint);
    function allowance(address src, address guy) public view returns (uint);

    function approve(address guy, uint wad) public returns (bool);
    function transfer(address dst, uint wad) public returns (bool);
    function transferFrom(
        address src, address dst, uint wad
    ) public returns (bool);
}

File 3 of 3: math.sol
/// math.sol -- mixin for inline numerical wizardry

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.4.13;

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"last_offer_id","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"buyHEX","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"cancel","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getOffer","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"isActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"offers","outputs":[{"name":"pay_amt","type":"uint256"},{"name":"buy_amt","type":"uint256"},{"name":"owner","type":"address"},{"name":"timestamp","type":"uint64"},{"name":"offerId","type":"bytes32"},{"name":"escrowType","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pay_amt","type":"uint256"},{"name":"buy_amt","type":"uint256"}],"name":"offerHEX","outputs":[{"name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"pay_amt","type":"uint256"},{"name":"buy_amt","type":"uint256"}],"name":"make","outputs":[{"name":"id","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"pay_amt","type":"uint256"},{"name":"buy_amt","type":"uint256"}],"name":"offerETH","outputs":[{"name":"id","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getOwner","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"take","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"buyETH","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":false,"name":"pay_amt","type":"uint256"},{"indexed":false,"name":"buy_amt","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint64"},{"indexed":false,"name":"escrowType","type":"uint256"}],"name":"LogMake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"take_amt","type":"uint256"},{"indexed":false,"name":"give_amt","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint64"},{"indexed":false,"name":"escrowType","type":"uint256"}],"name":"LogTake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"maker","type":"address"},{"indexed":false,"name":"pay_amt","type":"uint256"},{"indexed":false,"name":"buy_amt","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint64"},{"indexed":false,"name":"escrowType","type":"uint256"}],"name":"LogKill","type":"event"}]

608060405234801561001057600080fd5b5060008054600160a060020a031916732b591e99afe9f32eaa6214f7b7629768c40eeb3917905561184d806100466000396000f3006080604052600436106100c45763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663232cae0b81146100c9578063404cd129146100f057806340e58ee51461010f5780634579268a1461012757806382afd23b1461015d5780638a72ea6a14610175578063a321d886146101d1578063abc7aea6146101ec578063b42241ab146101fa578063b4f9b6c814610208578063c41a360a14610222578063cc9ae69314610256578063efbf818514610261575b600080fd5b3480156100d557600080fd5b506100de610279565b60408051918252519081900360200190f35b6100fb60043561027f565b604080519115158252519081900360200190f35b34801561011b57600080fd5b506100fb6004356106d1565b34801561013357600080fd5b5061013f600435610a9a565b60408051938452602084019290925282820152519081900360600190f35b34801561016957600080fd5b506100fb600435610ab9565b34801561018157600080fd5b5061018d600435610ae0565b604080519687526020870195909552600160a060020a039093168585015267ffffffffffffffff9091166060850152608084015260a0830152519081900360c00190f35b3480156101dd57600080fd5b506100de600435602435610b2b565b6100de600435602435610e75565b6100de600435602435610ea0565b34801561021457600080fd5b50610220600435611071565b005b34801561022e57600080fd5b5061023a6004356110d3565b60408051600160a060020a039092168252519081900360200190f35b6102206004356110f2565b34801561026d57600080fd5b506100fb6004356111be565b60015481565b60006102896117ac565b8261029381610ab9565b15156102e9576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74206275792c206f66666572204944206e6f742061637469766500604482015290519081900360640190fd5b60035460ff1615610332576040805160e560020a62461bcd02815260206004820152600960248201526000805160206117e2833981519152604482015290519081900360640190fd5b60038054600160ff1990911681178255600086815260026020818152604092839020835160c08101855281548152948101549185019190915290810154600160a060020a0381169284019290925260a060020a90910467ffffffffffffffff16606083015291820154608082015260049091015460a0820181905290925015610405576040805160e560020a62461bcd02815260206004820152601560248201527f496e636f727265637420657363726f7720747970650000000000000000000000604482015290519081900360640190fd5b6000341180156104185750816020015134145b151561046e576040805160e560020a62461bcd02815260206004820152600f60248201527f6d73672e76616c7565206572726f720000000000000000000000000000000000604482015290519081900360640190fd5b60008260200151118015610483575081516000105b15156104d9576040805160e560020a62461bcd02815260206004820152600f60248201527f76616c75657320617265207a65726f0000000000000000000000000000000000604482015290519081900360640190fd5b8160400151600160a060020a03166108fc349081150290604051600060405180830381858888f19350505050158015610516573d6000803e3d6000fd5b50600080548351604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481019290925251600160a060020a039092169263a9059cbb926044808401936020939083900390910190829087803b15801561058757600080fd5b505af115801561059b573d6000803e3d6000fd5b505050506040513d60208110156105b157600080fd5b505115156105f7576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020611802833981519152604482015290519081900360640190fd5b604082810151835160208086015160a08088015186518b815293840194909452828601919091524267ffffffffffffffff166060830152608082019290925292513393600160a060020a03909316927fe32979120a8c2b655dfe3fd55827c80162b2fd874c9231b6010f09643e0826c992908290030190a360008481526002602081905260408220828155600180820184905591810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690556003810183905560040191909155925050506003805460ff19169055919050565b60006106db6117ac565b826106e581610ab9565b1515610761576040805160e560020a62461bcd02815260206004820152602260248201527f63616e6e6f742063616e63656c2c206f66666572204944206e6f74206163746960448201527f7665000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3361076b826110d3565b600160a060020a0316146107ef576040805160e560020a62461bcd02815260206004820152603560248201527f63616e6e6f742063616e63656c2c206d73672e73656e646572206e6f7420746860448201527f652073616d65206173206f66666572206d616b65720000000000000000000000606482015290519081900360840190fd5b60035460ff1615610838576040805160e560020a62461bcd02815260206004820152600960248201526000805160206117e2833981519152604482015290519081900360640190fd5b6003805460ff1916600190811782556000868152600260208181526040808420815160c081018352815481529581018054878501528185018054600160a060020a0381169489019490945267ffffffffffffffff60a060020a85041660608901529782018054608089015260048301805460a08a019081528e895296909552918690558590557bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19909116909555938290559255905190925015156109de5760008054604080850151855182517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810191909152915192169263a9059cbb926044808401936020939083900390910190829087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d602081101561099357600080fd5b505115156109d9576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020611802833981519152604482015290519081900360640190fd5b610a1c565b60408083015183519151600160a060020a039091169180156108fc02916000818181858888f19350505050158015610a1a573d6000803e3d6000fd5b505b604080830151835160208086015160a087015185519384529183015267ffffffffffffffff42168285015260608201529151600160a060020a039091169186917f116b7db7c0d94e060a2224f5a1da06b497e78b6d601283df9e5cd0067bedad059181900360800190a350506003805460ff19169055506001919050565b6000908152600260205260409020805460018201546003909201549092565b60009081526002602081905260408220015460a060020a900467ffffffffffffffff161190565b600260208190526000918252604090912080546001820154928201546003830154600490930154919392600160a060020a0382169260a060020a90920467ffffffffffffffff169186565b60035460009060ff1615610b77576040805160e560020a62461bcd02815260206004820152600960248201526000805160206117e2833981519152604482015290519081900360640190fd5b6003805460ff1916600117905560008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015290518693600160a060020a03909316926370a0823192602480820193602093909283900390910190829087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506040513d6020811015610c1857600080fd5b50511015610c70576040805160e560020a62461bcd02815260206004820152601a60248201527f496e73756666696369656e742062616c616e63654f6620686578000000000000604482015290519081900360640190fd5b60008311610cc8576040805160e560020a62461bcd02815260206004820152600c60248201527f7061795f616d7420697320300000000000000000000000000000000000000000604482015290519081900360640190fd5b60008211610d20576040805160e560020a62461bcd02815260206004820152600c60248201527f6275795f616d7420697320300000000000000000000000000000000000000000604482015290519081900360640190fd5b610d2d81848460006116b9565b60008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790529051600160a060020a03909216926323b872dd926064808401936020939083900390910190829087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b505050506040513d6020811015610dcb57600080fd5b50511515610e11576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020611802833981519152604482015290519081900360640190fd5b604080518481526020810184905267ffffffffffffffff421681830152600060608201529051339183917fc45649be10995cdb5b984d9c3a7df1a8f46b1d050ee1048d164aace54268ca729181900360800190a36003805460ff1916905592915050565b600080341115610e9057610e898383610ea0565b9050610e9a565b610e898383610b2b565b92915050565b60035460009060ff1615610eec576040805160e560020a62461bcd02815260206004820152600960248201526000805160206117e2833981519152604482015290519081900360640190fd5b6003805460ff1916600117905560008311610f51576040805160e560020a62461bcd02815260206004820152600c60248201527f7061795f616d7420697320300000000000000000000000000000000000000000604482015290519081900360640190fd5b60008211610fa9576040805160e560020a62461bcd02815260206004820152600c60248201527f6275795f616d7420697320300000000000000000000000000000000000000000604482015290519081900360640190fd5b348314611000576040805160e560020a62461bcd02815260206004820152601e60248201527f7061795f616d74206e6f7420657175616c20746f206d73672e76616c75650000604482015290519081900360640190fd5b61100d81848460016116b9565b604080518481526020810184905267ffffffffffffffff421681830152600160608201529051339183917fc45649be10995cdb5b984d9c3a7df1a8f46b1d050ee1048d164aace54268ca729181900360800190a36003805460ff1916905592915050565b61107a816106d1565b15156110d0576040805160e560020a62461bcd02815260206004820152601660248201527f4572726f72206f6e2063616e63656c206f726465722e00000000000000000000604482015290519081900360640190fd5b50565b60009081526002602081905260409091200154600160a060020a031690565b600034111561115f576111048161027f565b151561115a576040805160e560020a62461bcd02815260206004820152600e60248201527f42757920484558206661696c6564000000000000000000000000000000000000604482015290519081900360640190fd5b6110d0565b611168816111be565b15156110d0576040805160e560020a62461bcd02815260206004820152600f60248201527f53656c6c20484558206661696c65640000000000000000000000000000000000604482015290519081900360640190fd5b60006111c86117ac565b826111d281610ab9565b1515611228576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74206275792c206f66666572204944206e6f742061637469766500604482015290519081900360640190fd5b60035460ff1615611271576040805160e560020a62461bcd02815260206004820152600960248201526000805160206117e2833981519152604482015290519081900360640190fd5b60038054600160ff1990911681178255600086815260026020818152604092839020835160c08101855281548152818601549281019290925291820154600160a060020a0381169382019390935260a060020a90920467ffffffffffffffff16606083015292830154608082015260049092015460a0830181905291935014611344576040805160e560020a62461bcd02815260206004820152601560248201527f496e636f727265637420657363726f7720747970650000000000000000000000604482015290519081900360640190fd5b60208083015160008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015290519394600160a060020a03909216936370a0823193602480840194938390030190829087803b1580156113ae57600080fd5b505af11580156113c2573d6000803e3d6000fd5b505050506040513d60208110156113d857600080fd5b50511015611456576040805160e560020a62461bcd02815260206004820152602b60248201527f42616c616e6365206973206c657373207468616e20726571756573746564207360448201527f70656e6420616d6f756e74000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000826020015111801561146b575081516000105b15156114c1576040805160e560020a62461bcd02815260206004820152600f60248201527f76616c75657320617265207a65726f0000000000000000000000000000000000604482015290519081900360640190fd5b6000805460408085015160208087015183517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0393841660248201526044810191909152925191909316936323b872dd93606480850194919392918390030190829087803b15801561154157600080fd5b505af1158015611555573d6000803e3d6000fd5b505050506040513d602081101561156b57600080fd5b505115156115b1576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020611802833981519152604482015290519081900360640190fd5b8151604051339180156108fc02916000818181858888f193505050501580156115de573d6000803e3d6000fd5b50604082810151835160208086015160a08088015186518b815293840194909452828601919091524267ffffffffffffffff166060830152608082019290925292513393600160a060020a03909316927fe32979120a8c2b655dfe3fd55827c80162b2fd874c9231b6010f09643e0826c992908290030190a360008481526002602081905260408220828155600180820184905591810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690556003810183905560040191909155925050506003805460ff19169055919050565b6116c16117ac565b8381526020810183905233604082015267ffffffffffffffff4216606082015260a081018290526116f061179f565b6080820181815260009182526002602081815260409384902085518155908501516001820155928401519083018054606086015167ffffffffffffffff1660a060020a027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff600160a060020a0390941673ffffffffffffffffffffffffffffffffffffffff19909216919091179290921691909117905551600382015560a09091015160049091015550505050565b6001805481019081905590565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290560053796e63206c6f636b00000000000000000000000000000000000000000000005472616e73666572206661696c65640000000000000000000000000000000000a165627a7a723058203f20891a44a0c997534580a0a49a65d50bc19feaccbc8e56c2bc4a2d6a89b9750029

Deployed ByteCode Sourcemap

1152:7706:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1343:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1343:25:1;;;;;;;;;;;;;;;;;;;;2775:1082;;;;;;;;;;;;;;;;;;;;;;;;5096:749;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5096:749:1;;;;;2511:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2511:169:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2279:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2279:111:1;;;;;1377:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1377:41:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1377:41:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7195:780;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7195:780:1;;;;;;;6007:324;;;;;;;;6429:668;;;;;;;;5867:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5867:120:1;;;;;;;2398:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2398:105:1;;;;;;;;;-1:-1:-1;;;;;2398:105:1;;;;;;;;;;;;;;8434:262;;;;;;3951:1091;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3951:1091:1;;;;;1343:25;;;;:::o;2775:1082::-;2913:4;2953:22;;:::i;:::-;2869:2;1704:12;1713:2;1704:8;:12::i;:::-;1696:56;;;;;;;-1:-1:-1;;;;;1696:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:6;;;;2098:7;2090:29;;;;;-1:-1:-1;;;;;2090:29:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2090:29:1;;;;;;;;;;;;;;;2130:6;:13;;2139:4;-1:-1:-1;;2130:13:1;;;;;;;-1:-1:-1;2978:10:1;;;:6;:10;;;;;;;;;2953:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2953:35:1;;;;;;;;;-1:-1:-1;;;2953:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3007:21:1;2999:55;;;;;-1:-1:-1;;;;;2999:55:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3085:1;3073:9;:13;:43;;;;;3103:5;:13;;;3090:9;:26;3073:43;3065:71;;;;;;;-1:-1:-1;;;;;3065:71:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3171:1;3155:5;:13;;;:17;:38;;;;-1:-1:-1;3176:13:1;;3192:1;-1:-1:-1;3155:38:1;3147:66;;;;;;;-1:-1:-1;;;;;3147:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3244:5;:11;;;-1:-1:-1;;;;;3244:20:1;:31;3265:9;3244:31;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;3328:12:1;;;3362:13;;3328:48;;;;;;3350:10;3328:48;;;;;;;;;;;;-1:-1:-1;;;;;3328:12:1;;;;:21;;:48;;;;;;;;;;;;;;;;;:12;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;3328:48:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3328:48:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3328:48:1;3320:76;;;;;;;-1:-1:-1;;;;;3320:76:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3320:76:1;;;;;;;;;;;;;;;3535:11;;;;;3591:13;;3625;;;;;3680:16;;;;;3487:220;;;;;;;;;;;;;;;;;;;3661:3;3487:220;;;;;;;;;;;;;;;3561:10;;-1:-1:-1;;;;;3487:220:1;;;;;;;;;;;;;3763:1;3742:10;;;:6;:10;;;;;;;:22;;;3775:18;;;;:22;;;3808:17;;;;;-1:-1:-1;;3808:17:1;;;;;;;;;;;;;;;3775:18;-1:-1:-1;;;2166:6:1;:14;;-1:-1:-1;;2166:14:1;;;2775:1082;;-1:-1:-1;2775:1082:1:o;5096:749::-;5201:12;5309:22;;:::i;:::-;5157:2;1828:12;1837:2;1828:8;:12::i;:::-;1820:59;;;;;;;-1:-1:-1;;;;;1820:59:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1914:10;1898:12;1907:2;1898:8;:12::i;:::-;-1:-1:-1;;;;;1898:26:1;;1890:92;;;;;-1:-1:-1;;;;;1890:92:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:6;;;;2098:7;2090:29;;;;;-1:-1:-1;;;;;2090:29:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2090:29:1;;;;;;;;;;;;;;;2130:6;:13;;-1:-1:-1;;2130:13:1;2139:4;2130:13;;;;;:6;5334:10;;;:6;:10;;;;;;;;5309:35;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5309:35:1;;;;;;;;;;-1:-1:-1;;;5309:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;5362:10;;;;;;;5355:17;;;;;;;-1:-1:-1;;5355:17:1;;;;;;;;;;;;5386:16;;5309:35;;-1:-1:-1;5386:21:1;5383:217;;;5437:12;;;5459:11;;;;;5472:13;;5437:49;;;;;-1:-1:-1;;;;;5437:49:1;;;;;;;;;;;;;;;;:12;;;:21;;:49;;;;;;;;;;;;;;;;;:12;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;5437:49:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5437:49:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5437:49:1;5429:77;;;;;;;-1:-1:-1;;;;;5429:77:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5429:77:1;;;;;;;;;;;;;;;5383:217;;;5553:11;;;;;5574:13;;5553:35;;-1:-1:-1;;;;;5553:20:1;;;;:35;;;;;5574:13;5553:35;5574:13;5553:35;5574:13;5553:20;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5553:35:1;5383:217;5663:11;;;;;5694:13;;5728;;;;;5783:16;;;;5615:195;;;;;;;;;;5764:3;5615:195;;;;;;;;;;;-1:-1:-1;;;;;5615:195:1;;;;5645:2;;5615:195;;;;;;;;;-1:-1:-1;;2166:6:1;:14;;-1:-1:-1;;2166:14:1;;;-1:-1:-1;5833:4:1;;5096:749;-1:-1:-1;5096:749:1:o;2511:169::-;2559:4;2601:10;;;:6;:10;;;;;2628:13;;2643;;;;2658;;;;;2628;;2511:169::o;2279:111::-;2327:11;2358:10;;;:6;:10;;;;;;;:20;;-1:-1:-1;;;2358:20:1;;;;:24;;2279:111::o;1377:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1377:41:1;;;-1:-1:-1;;;1377:41:1;;;;;;;:::o;7195:780::-;2099:6;;7342:7;;2099:6;;2098:7;2090:29;;;;;-1:-1:-1;;;;;2090:29:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2090:29:1;;;;;;;;;;;;;;;2130:6;:13;;-1:-1:-1;;2130:13:1;2139:4;2130:13;;;:6;7393:12;;:34;;;;;;7416:10;7393:34;;;;;;7431:7;;-1:-1:-1;;;;;7393:12:1;;;;:22;;:34;;;;;;;;;;;;;;;;;;:12;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;7393:34:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7393:34:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7393:34:1;:45;;7385:84;;;;;-1:-1:-1;;;;;7385:84:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7498:1;7488:11;;7480:36;;;;;-1:-1:-1;;;;;7480:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7545:1;7535:11;;7527:37;;;;;-1:-1:-1;;;;;7527:37:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7603:33;7612:2;7616:7;7625;7634:1;7603:8;:33::i;:::-;7685:12;;;:61;;;;;;7711:10;7685:61;;;;7731:4;7685:61;;;;;;;;;;;;-1:-1:-1;;;;;7685:12:1;;;;:25;;:61;;;;;;;;;;;;;;;;;:12;:61;;;5:2:-1;;;;30:1;27;20:12;5:2;7685:61:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7685:61:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7685:61:1;7677:89;;;;;;;-1:-1:-1;;;;;7677:89:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7677:89:1;;;;;;;;;;;;;;;7800:167;;;;;;;;;;;;;7936:3;7800:167;;;;;;;;;;;;7848:10;;7830:2;;7800:167;;;;;;;;;2166:6;:14;;-1:-1:-1;;2166:14:1;;;7195:780;;-1:-1:-1;;7195:780:1:o;6007:324::-;6127:10;6170:1;6158:9;:13;6155:169;;;6202:26;6211:7;6220;6202:8;:26::i;:::-;6194:35;-1:-1:-1;6187:42:1;;6155:169;6285:26;6294:7;6303;6285:8;:26::i;6155:169::-;6007:324;;;;:::o;6429:668::-;2099:6;;6593:7;;2099:6;;2098:7;2090:29;;;;;-1:-1:-1;;;;;2090:29:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2090:29:1;;;;;;;;;;;;;;;2130:6;:13;;-1:-1:-1;;2130:13:1;2139:4;2130:13;;;:6;6644:11;;6636:36;;;;;-1:-1:-1;;;;;6636:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6701:1;6691:11;;6683:36;;;;;-1:-1:-1;;;;;6683:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6749:9;6738:20;;6730:63;;;;;-1:-1:-1;;;;;6730:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6855:33;6864:2;6868:7;6877;6886:1;6855:8;:33::i;:::-;6922:167;;;;;;;;;;;;;7058:3;6922:167;;;;;6944:11;6922:167;;;;;;6970:10;;6952:2;;6922:167;;;;;;;;;2166:6;:14;;-1:-1:-1;;2166:14:1;;;6429:668;;-1:-1:-1;;6429:668:1:o;5867:120::-;5933:19;5948:2;5933:6;:19::i;:::-;5925:54;;;;;;;-1:-1:-1;;;;;5925:54:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;5867:120;:::o;2398:105::-;2446:13;2479:10;;;:6;:10;;;;;;;;:16;;-1:-1:-1;;;;;2479:16:1;;2398:105::o;8434:262::-;8524:1;8512:9;:13;8509:178;;;8549:19;8564:2;8549:6;:19::i;:::-;8541:46;;;;;;;-1:-1:-1;;;;;8541:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8509:178;;;8636:19;8651:2;8636:6;:19::i;:::-;8628:47;;;;;;;-1:-1:-1;;;;;8628:47:1;;;;;;;;;;;;;;;;;;;;;;;;;;;3951:1091;4054:4;4094:22;;:::i;:::-;4010:2;1704:12;1713:2;1704:8;:12::i;:::-;1696:56;;;;;;;-1:-1:-1;;;;;1696:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:6;;;;2098:7;2090:29;;;;;-1:-1:-1;;;;;2090:29:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2090:29:1;;;;;;;;;;;;;;;2130:6;:13;;2139:4;-1:-1:-1;;2130:13:1;;;;;;;-1:-1:-1;4119:10:1;;;:6;:10;;;;;;;;;4094:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4094:35:1;;;;;;;;;-1:-1:-1;;;4094:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4148:21:1;4140:55;;;;;-1:-1:-1;;;;;4140:55:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4252:13;;;;;4214:12;;;:34;;;;;;4237:10;4214:34;;;;;;4252:13;;-1:-1:-1;;;;;4214:12:1;;;;:22;;:34;;;;;4252:13;4214:34;;;;;;;:12;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;4214:34:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4214:34:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4214:34:1;:51;;4206:107;;;;;-1:-1:-1;;;;;4206:107:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:1;4332:5;:13;;;:17;:38;;;;-1:-1:-1;4353:13:1;;4369:1;-1:-1:-1;4332:38:1;4324:66;;;;;;;-1:-1:-1;;;;;4324:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4429:12;;;4467:11;;;;;4480:13;;;;;4429:65;;;;;4455:10;4429:65;;;;-1:-1:-1;;;;;4429:65:1;;;;;;;;;;;;;;;;:12;;;;;:25;;:65;;;;;4480:13;;4429:65;;;;;;;;;:12;:65;;;5:2:-1;;;;30:1;27;20:12;5:2;4429:65:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4429:65:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4429:65:1;4421:93;;;;;;;-1:-1:-1;;;;;4421:93:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4421:93:1;;;;;;;;;;;;;;;4579:13;;4559:34;;:10;;:34;;;;;4579:13;4559:34;4579:13;4559:34;4579:13;4559:10;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4708:11:1;;;;;4764:13;;4798;;;;;4853:16;;;;;4660:220;;;;;;;;;;;;;;;;;;;4834:3;4660:220;;;;;;;;;;;;;;;4734:10;;-1:-1:-1;;;;;4660:220:1;;;;;;;;;;;;;4936:1;4915:10;;;:6;:10;;;;;;;:22;;;4948:18;;;;:22;;;4981:17;;;;;-1:-1:-1;;4981:17:1;;;;;;;;;;;;;;;4948:18;-1:-1:-1;;;2166:6:1;:14;;-1:-1:-1;;2166:14:1;;;3951:1091;;-1:-1:-1;3951:1091:1:o;8010:404::-;8116:21;;:::i;:::-;8148:22;;;8181:12;;;:22;;;8227:10;8214;;;:23;8248:28;8272:3;8248:28;:14;;;:28;8287:15;;;:28;;;8331:10;:8;:10::i;:::-;8352:12;;;:26;;;;8389:10;;;:6;:10;;;;;;;;;:17;;;;;;;;8367:11;8389:17;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8389:17:1;;-1:-1:-1;;;;;8389:17:1;;;-1:-1:-1;;8389:17:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;8010:404:1:o;8723:132::-;8801:13;:15;;;;;;;;8723:132;:::o;1152:7706::-;;;;;;;;;-1:-1:-1;1152:7706:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://3f20891a44a0c997534580a0a49a65d50bc19feaccbc8e56c2bc4a2d6a89b975
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.