ETH Price: $3,074.08 (-7.01%)
 

Overview

ETH Balance

0.330324189704711933 ETH

Eth Value

$1,015.44 (@ $3,074.08/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Order With E...155593392022-09-18 8:47:35862 days ago1663490855IN
Saturn Network 1
0 ETH0.000109812
Buy Order With E...129179482021-07-29 1:55:291278 days ago1627523729IN
Saturn Network 1
0 ETH0.0031432222.71
Buy Order With E...120570272021-03-17 15:35:501411 days ago1615995350IN
Saturn Network 1
0.00143375 ETH0.00298536140
Buy Order With E...119818092021-03-06 1:21:001423 days ago1614993660IN
Saturn Network 1
0.00005606 ETH0.0101912184
Buy Order With E...113091772020-11-22 16:44:181526 days ago1606063458IN
Saturn Network 1
0.0320802 ETH0.0045013151
Buy Order With E...113091282020-11-22 16:34:211526 days ago1606062861IN
Saturn Network 1
0.01182957 ETH0.0041530548
Buy Order With E...110631332020-10-15 22:25:481564 days ago1602800748IN
Saturn Network 1
0.0074234 ETH0.0026691222
Buy Order With E...107261712020-08-24 23:36:301616 days ago1598312190IN
Saturn Network 1
0.006121 ETH0.0091631663
Buy Order With E...107041292020-08-21 14:33:541619 days ago1598020434IN
Saturn Network 1
0.00501253 ETH0.01902131139
Buy Order With E...104885662020-07-19 7:26:431653 days ago1595143603IN
Saturn Network 1
0.05012531 ETH0.0079287166
Cancel Order104695712020-07-16 8:47:361656 days ago1594889256IN
Saturn Network 1
0 ETH0.0022667553
Cancel Order104695682020-07-16 8:46:411656 days ago1594889201IN
Saturn Network 1
0 ETH0.0022667553.00000145
Cancel Order101797542020-06-01 11:35:001700 days ago1591011300IN
Saturn Network 1
0 ETH0.0009018924
Cancel Order100204632020-05-07 17:31:551725 days ago1588872715IN
Saturn Network 1
0 ETH0.0006311815
Buy Order With E...100087182020-05-05 21:39:411727 days ago1588714781IN
Saturn Network 1
0.0032054 ETH0.000479794
Cancel Order100017712020-05-04 19:56:321728 days ago1588622192IN
Saturn Network 1
0 ETH0.000209825
Cancel Order100017642020-05-04 19:55:191728 days ago1588622119IN
Saturn Network 1
0 ETH0.000209825
Cancel Order100012102020-05-04 17:59:071728 days ago1588615147IN
Saturn Network 1
0 ETH0.0003757910
Buy Order With E...99890122020-05-02 20:45:121730 days ago1588452312IN
Saturn Network 1
0.00546578 ETH0.000238732
Cancel Order99854532020-05-02 7:37:511731 days ago1588405071IN
Saturn Network 1
0 ETH0.000236945
Cancel Order99851912020-05-02 6:34:191731 days ago1588401259IN
Saturn Network 1
0 ETH0.000083762
Buy Order With E...99702922020-04-29 22:50:361733 days ago1588200636IN
Saturn Network 1
0.00551558 ETH0.000485294
Buy Order With E...99635042020-04-28 21:55:501734 days ago1588110950IN
Saturn Network 1
0.00350459 ETH0.000239892
Cancel Order99618132020-04-28 15:27:201734 days ago1588087640IN
Saturn Network 1
0 ETH0.000306076
Buy Order With E...99565792020-04-27 20:08:191735 days ago1588018099IN
Saturn Network 1
0.00363105 ETH0.000266912.2
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
204692652024-08-06 11:35:11173 days ago1722944111
Saturn Network 1
0.00025 ETH
204692652024-08-06 11:35:11173 days ago1722944111
Saturn Network 1
0.09975 ETH
129179482021-07-29 1:55:291278 days ago1627523729
Saturn Network 1
0.00027597 ETH
129179482021-07-29 1:55:291278 days ago1627523729
Saturn Network 1
0.1101125 ETH
119818092021-03-06 1:21:001423 days ago1614993660
Saturn Network 1
0.00000014 ETH
119818092021-03-06 1:21:001423 days ago1614993660
Saturn Network 1
0.00005592 ETH
118987372021-02-21 6:41:241436 days ago1613889684
Saturn Network 1
0.00000302 ETH
118987372021-02-21 6:41:241436 days ago1613889684
Saturn Network 1
0.00120697 ETH
113091772020-11-22 16:44:181526 days ago1606063458
Saturn Network 1
0.0000802 ETH
113091772020-11-22 16:44:181526 days ago1606063458
Saturn Network 1
0.032 ETH
113091282020-11-22 16:34:211526 days ago1606062861
Saturn Network 1
0.00002957 ETH
113091282020-11-22 16:34:211526 days ago1606062861
Saturn Network 1
0.0118 ETH
110631332020-10-15 22:25:481564 days ago1602800748
Saturn Network 1
0.00001855 ETH
110631332020-10-15 22:25:481564 days ago1602800748
Saturn Network 1
0.00740484 ETH
107261712020-08-24 23:36:301616 days ago1598312190
Saturn Network 1
0.0000153 ETH
107261712020-08-24 23:36:301616 days ago1598312190
Saturn Network 1
0.0061057 ETH
107041292020-08-21 14:33:541619 days ago1598020434
Saturn Network 1
0.00001253 ETH
107041292020-08-21 14:33:541619 days ago1598020434
Saturn Network 1
0.00499999 ETH
105504092020-07-28 21:21:581643 days ago1595971318
Saturn Network 1
0.00000125 ETH
105504092020-07-28 21:21:581643 days ago1595971318
Saturn Network 1
0.00049875 ETH
104885662020-07-19 7:26:431653 days ago1595143603
Saturn Network 1
0.00012531 ETH
104885662020-07-19 7:26:431653 days ago1595143603
Saturn Network 1
0.05 ETH
101797542020-06-01 11:35:001700 days ago1591011300
Saturn Network 1
0.01 ETH
100087182020-05-05 21:39:411727 days ago1588714781
Saturn Network 1
0.00000801 ETH
100087182020-05-05 21:39:411727 days ago1588714781
Saturn Network 1
0.00319739 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Exchange

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-02-04
*/

pragma solidity ^0.4.24;

// Saturn Network

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

library BytesLib {
  function toAddress(bytes _bytes, uint _start) internal pure returns (address) {
    require(_bytes.length >= (_start + 20));
    address tempAddress;

    assembly {
      tempAddress := div(mload(add(add(_bytes, 0x20), _start)), 0x1000000000000000000000000)
    }

    return tempAddress;
  }

  function toUint(bytes _bytes, uint _start) internal pure returns (uint256) {
    require(_bytes.length >= (_start + 32));
    uint256 tempUint;

    assembly {
      tempUint := mload(add(add(_bytes, 0x20), _start))
    }

    return tempUint;
  }
}

contract ERC223 {
  uint public totalSupply;
  function balanceOf(address who) constant public returns (uint);

  function name() constant public returns (string _name);
  function symbol() constant public returns (string _symbol);
  function decimals() constant public returns (uint8 _decimals);
  function totalSupply() constant public returns (uint256 _supply);

  function transfer(address to, uint value) public returns (bool ok);
  function transfer(address to, uint value, bytes data) public returns (bool ok);
  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event ERC223Transfer(address indexed _from, address indexed _to, uint256 _value, bytes _data);
}

contract ContractReceiver {
  function tokenFallback(address _from, uint _value, bytes _data) public;
}

contract ERC20 {
    function totalSupply() public view returns (uint);
    function balanceOf(address holder) public view returns (uint);
    function allowance(address holder, address other) public view returns (uint);

    function approve(address other, uint amount) public returns (bool);
    function transfer(address to, uint amount) public returns (bool);
    function transferFrom(
        address from, address to, uint amount
    ) public returns (bool);
}

contract Exchange is ContractReceiver {
  using SafeMath for uint256;
  using BytesLib for bytes;

  struct Order {
    address owner;
    bool    active;
    address sellToken;
    address buyToken;
    address ring;
    uint256 amount;
    uint256 priceMul;
    uint256 priceDiv;
  }

  // person => token => balance
  mapping(address => mapping(address => uint256)) private balances;
  mapping(uint256 => Order) private orderBook;
  uint256 public orderCount;
  address private etherAddress = 0x0;

  address private saturnToken;
  address private admin;
  uint256 public tradeMiningBalance;
  address public treasury;

  uint256 public feeMul;
  uint256 public feeDiv;
  uint256 public tradeMiningMul;
  uint256 public tradeMiningDiv;

  event NewOrder(
    uint256 id,
    address owner,
    address sellToken,
    address buyToken,
    address ring,
    uint256 amount,
    uint256 priceMul,
    uint256 priceDiv,
    uint256 time
  );

  event OrderCancelled(
    uint256 id,
    uint256 time
  );

  event OrderFulfilled(
    uint256 id,
    uint256 time
  );

  event Trade(
    address from,
    address to,
    uint256 orderId,
    uint256 soldTokens,
    uint256 boughtTokens,
    uint256 feePaid,
    uint256 time
  );

  event Mined(
    address trader,
    uint256 amount,
    uint256 time
  );

  // this syntax was too advanced for ETC pre-Agharta
  /* constructor( */
  function Exchange(
    address _saturnToken,
    address _treasury,
    uint256 _feeMul,
    uint256 _feeDiv,
    uint256 _tradeMiningMul,
    uint256 _tradeMiningDiv
  ) public {
    saturnToken    = _saturnToken;
    treasury       = _treasury;
    feeMul         = _feeMul;
    feeDiv         = _feeDiv;
    tradeMiningMul = _tradeMiningMul;
    tradeMiningDiv = _tradeMiningDiv;
    // admin can only add & remove tokens from SATURN trade mining token distribution program
    // admin has no ability to halt trading, delist tokens, or claim anyone's funds
    admin          = msg.sender;
  }

  function() payable public { revert(); }

  //////////////////
  // public views //
  //////////////////
  // TODO: add views for prices too
  // TODO: and for order owner too

  function getBalance(address token, address user) view public returns(uint256) {
    return balances[user][token];
  }

  function isOrderActive(uint256 orderId) view public returns(bool) {
    return orderBook[orderId].active;
  }

  function remainingAmount(uint256 orderId) view public returns(uint256) {
    return orderBook[orderId].amount;
  }

  function getBuyTokenAmount(uint256 desiredSellTokenAmount, uint256 orderId) public view returns(uint256 amount) {
    require(desiredSellTokenAmount > 0);
    Order storage order = orderBook[orderId];

    if (order.sellToken == etherAddress || order.buyToken == etherAddress) {
      uint256 feediff = feeDiv.sub(feeMul);
      amount = desiredSellTokenAmount.mul(order.priceDiv).mul(feeDiv).div(order.priceMul).div(feediff);
    } else {
      amount = desiredSellTokenAmount.mul(order.priceDiv).div(order.priceMul);
    }
    require(amount > 0);
  }

  function calcFees(uint256 amount, uint256 orderId) public view returns(uint256 fees) {
    Order storage order = orderBook[orderId];

    if (order.sellToken == etherAddress) {
      uint256 sellTokenAmount = amount.mul(order.priceMul).div(order.priceDiv);
      fees = sellTokenAmount.mul(feeMul).div(feeDiv);
    } else if (order.buyToken == etherAddress) {
      fees = amount.mul(feeMul).div(feeDiv);
    } else {
      fees = 0;
    }
    return fees;
  }

  function tradeMiningAmount(uint256 fees, uint256 orderId) public view returns(uint256) {
    if (fees == 0) { return 0; }
    Order storage order = orderBook[orderId];
    if (!order.active) { return 0; }
    uint256 tokenAmount = fees.mul(tradeMiningMul).div(tradeMiningDiv);

    if (tradeMiningBalance < tokenAmount) {
      return tradeMiningBalance;
    } else {
      return tokenAmount;
    }
  }

  ////////////////////
  // public methods //
  ////////////////////

  function withdrawTradeMining() public {
    if (msg.sender != admin) { revert(); }
    require(tradeMiningBalance > 0);

    uint toSend = tradeMiningBalance;
    tradeMiningBalance = 0;
    require(sendTokensTo(admin, toSend, saturnToken));
  }

  function changeTradeMiningPrice(uint256 newMul, uint256 newDiv) public {
    if (msg.sender != admin) { revert(); }
    require(newDiv != 0);
    tradeMiningMul = newMul;
    tradeMiningDiv = newDiv;
  }

  // handle incoming ERC223 tokens
  function tokenFallback(address from, uint value, bytes data) public {
    // depending on length of data
    // this should be either an order creating transaction
    // or an order taking transaction
    // or a transaction allocating tokens for trade mining
    if (data.length == 0 && msg.sender == saturnToken) {
      _topUpTradeMining(value);
    } else if (data.length == 84) {
      _newOrder(from, msg.sender, data.toAddress(64), value, data.toUint(0), data.toUint(32), etherAddress);
    } else if (data.length == 104) {
      _newOrder(from, msg.sender, data.toAddress(64), value, data.toUint(0), data.toUint(32), data.toAddress(84));
    } else if (data.length == 32) {
      _executeOrder(from, data.toUint(0), msg.sender, value);
    } else {
      // unknown payload!
      revert();
    }
  }

  function sellEther(
    address buyToken,
    uint256 priceMul,
    uint256 priceDiv
  ) public payable returns(uint256 orderId) {
    require(msg.value > 0);
    return _newOrder(msg.sender, etherAddress, buyToken, msg.value, priceMul, priceDiv, etherAddress);
  }

  function sellEtherWithRing(
    address buyToken,
    uint256 priceMul,
    uint256 priceDiv,
    address ring
  ) public payable returns(uint256 orderId) {
    require(msg.value > 0);
    return _newOrder(msg.sender, etherAddress, buyToken, msg.value, priceMul, priceDiv, ring);
  }

  function buyOrderWithEth(uint256 orderId) public payable {
    require(msg.value > 0);
    _executeOrder(msg.sender, orderId, etherAddress, msg.value);
  }

  function sellERC20Token(
    address sellToken,
    address buyToken,
    uint256 amount,
    uint256 priceMul,
    uint256 priceDiv
  ) public returns(uint256 orderId) {
    require(amount > 0);
    require(pullTokens(sellToken, amount));
    return _newOrder(msg.sender, sellToken, buyToken, amount, priceMul, priceDiv, etherAddress);
  }

  function sellERC20TokenWithRing(
    address sellToken,
    address buyToken,
    uint256 amount,
    uint256 priceMul,
    uint256 priceDiv,
    address ring
  ) public returns(uint256 orderId) {
    require(amount > 0);
    require(pullTokens(sellToken, amount));
    return _newOrder(msg.sender, sellToken, buyToken, amount, priceMul, priceDiv, ring);
  }

  function buyOrderWithERC20Token(
    uint256 orderId,
    address token,
    uint256 amount
  ) public {
    require(amount > 0);
    require(pullTokens(token, amount));
    _executeOrder(msg.sender, orderId, token, amount);
  }

  function cancelOrder(uint256 orderId) public {
    Order storage order = orderBook[orderId];
    require(order.amount > 0);
    require(order.active);
    require(msg.sender == order.owner);

    balances[msg.sender][order.sellToken] = balances[msg.sender][order.sellToken].sub(order.amount);
    require(sendTokensTo(order.owner, order.amount, order.sellToken));

    // deleting the order refunds the caller some gas (up to 50%)
    // this also sets order.active to false
    delete orderBook[orderId];
    emit OrderCancelled(orderId, now);
  }

  /////////////////////
  // private methods //
  /////////////////////

  function _newOrder(
    address owner,
    address sellToken,
    address buyToken,
    uint256 amount,
    uint256 priceMul,
    uint256 priceDiv,
    address ring
  ) private returns(uint256 orderId) {
    /////////////////////////
    // step 1. validations //
    /////////////////////////
    require(amount > 0);
    require(priceMul > 0);
    require(priceDiv > 0);
    require(sellToken != buyToken);
    ///////////////////////////////
    // step 2. Update order book //
    ///////////////////////////////
    orderId = orderCount++;
    orderBook[orderId] = Order(owner, true, sellToken, buyToken, ring, amount, priceMul, priceDiv);
    balances[owner][sellToken] = balances[owner][sellToken].add(amount);

    emit NewOrder(orderId, owner, sellToken, buyToken, ring, amount, priceMul, priceDiv, now);
  }

  function _executeBuyOrder(address trader, uint256 orderId, uint256 buyTokenAmount) private returns(uint256) {
    // buytoken: tkn
    // selltoken: ether
    Order storage order = orderBook[orderId];
    uint256 sellTokenAmount = buyTokenAmount.mul(order.priceMul).div(order.priceDiv);
    uint256 fees = sellTokenAmount.mul(feeMul).div(feeDiv);

    require(sellTokenAmount > 0);
    require(sellTokenAmount <= order.amount);
    order.amount = order.amount.sub(sellTokenAmount);
    // send tokens to order owner
    require(sendTokensTo(order.owner, buyTokenAmount, order.buyToken));
    // send ether to trader
    require(sendTokensTo(trader, sellTokenAmount.sub(fees), order.sellToken));

    emit Trade(trader, order.owner, orderId, sellTokenAmount.sub(fees), buyTokenAmount, fees, now);
    return fees;
  }

  function _executeSellOrder(address trader, uint256 orderId, uint256 buyTokenAmount) private returns(uint256) {
    // buytoken: ether
    // selltoken: tkn
    Order storage order = orderBook[orderId];
    uint256 fees = buyTokenAmount.mul(feeMul).div(feeDiv);
    uint256 sellTokenAmount = buyTokenAmount.sub(fees).mul(order.priceMul).div(order.priceDiv);


    require(sellTokenAmount > 0);
    require(sellTokenAmount <= order.amount);
    order.amount = order.amount.sub(sellTokenAmount);
    // send ether to order owner
    require(sendTokensTo(order.owner, buyTokenAmount.sub(fees), order.buyToken));
    // send token to trader
    require(sendTokensTo(trader, sellTokenAmount, order.sellToken));

    emit Trade(trader, order.owner, orderId, sellTokenAmount, buyTokenAmount.sub(fees), fees, now);
    return fees;
  }

  function _executeTokenSwap(address trader, uint256 orderId, uint256 buyTokenAmount) private returns(uint256) {
    // no ether was exchanged
    Order storage order = orderBook[orderId];
    uint256 sellTokenAmount = buyTokenAmount.mul(order.priceMul).div(order.priceDiv);

    require(sellTokenAmount > 0);
    require(sellTokenAmount <= order.amount);
    order.amount = order.amount.sub(sellTokenAmount);

    require(sendTokensTo(order.owner, buyTokenAmount, order.buyToken));
    require(sendTokensTo(trader, sellTokenAmount, order.sellToken));

    emit Trade(trader, order.owner, orderId, sellTokenAmount, buyTokenAmount, 0, now);
    return 0;
  }

  function _executeOrder(address trader, uint256 orderId, address buyToken, uint256 buyTokenAmount) private {
    /////////////////////////
    // step 0. validations //
    /////////////////////////
    require(orderId < orderCount);
    require(buyTokenAmount > 0);
    Order storage order = orderBook[orderId];
    require(order.active);
    require(trader != order.owner);
    require(buyToken == order.buyToken);

    // enforce exclusivity for the rings
    if (order.ring != etherAddress) { require(order.ring == tx.origin); }

    ////////////////////////////
    // step 1. token exchange //
    ////////////////////////////
    uint256 fees;
    if (order.sellToken == etherAddress) {
      // buy order: taker sends ether, gets tokens
      fees = _executeBuyOrder(trader, orderId, buyTokenAmount);
    } else if (order.buyToken == etherAddress) {
      // sell order: taker sends tokens, gets ether
      fees = _executeSellOrder(trader, orderId, buyTokenAmount);
    } else {
      fees = _executeTokenSwap(trader, orderId, buyTokenAmount);
    }

    ////////////////////////////
    // step 2. fees & wrap up //
    ////////////////////////////
    // collect fees and issue trade mining
    require(_tradeMiningAndFees(fees, trader));
    // deleting the order refunds the caller some gas
    if (orderBook[orderId].amount == 0) {
      delete orderBook[orderId];
      emit OrderFulfilled(orderId, now);
    }
  }

  function _tradeMiningAndFees(uint256 fees, address trader) private returns(bool) {
    if (fees == 0) { return true; }
    // step one: send fees to the treasury
    require(sendTokensTo(treasury, fees, etherAddress));
    if (tradeMiningBalance == 0) { return true; }

    // step two: calculate reward
    uint256 tokenAmount = fees.mul(tradeMiningMul).div(tradeMiningDiv);
    if (tokenAmount == 0) { return true; }
    if (tokenAmount > tradeMiningBalance) { tokenAmount = tradeMiningBalance; }

    // account for sent tokens
    tradeMiningBalance = tradeMiningBalance.sub(tokenAmount);
    // step three: send the reward to the trader
    require(sendTokensTo(trader, tokenAmount, saturnToken));
    emit Mined(trader, tokenAmount, now);
    return true;
  }

  function sendTokensTo(address destination, uint256 amount, address tkn) private returns(bool) {
    if (tkn == etherAddress) {
      destination.transfer(amount);
    } else {
      // works with both ERC223 and ERC20
      require(ERC20(tkn).transfer(destination, amount));
    }
    return true;
  }

  // ERC20 fixture
  function pullTokens(address token, uint256 amount) private returns(bool) {
    return ERC20(token).transferFrom(msg.sender, address(this), amount);
  }

  function _topUpTradeMining(uint256 amount) private returns(bool) {
    tradeMiningBalance = tradeMiningBalance.add(amount);
    return true;
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"sellToken","type":"address"},{"name":"buyToken","type":"address"},{"name":"amount","type":"uint256"},{"name":"priceMul","type":"uint256"},{"name":"priceDiv","type":"uint256"},{"name":"ring","type":"address"}],"name":"sellERC20TokenWithRing","outputs":[{"name":"orderId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"orderCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newMul","type":"uint256"},{"name":"newDiv","type":"uint256"}],"name":"changeTradeMiningPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"orderId","type":"uint256"}],"name":"cancelOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeMul","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"treasury","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradeMiningMul","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"},{"name":"orderId","type":"uint256"}],"name":"calcFees","outputs":[{"name":"fees","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"orderId","type":"uint256"}],"name":"remainingAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeDiv","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"orderId","type":"uint256"}],"name":"buyOrderWithEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"fees","type":"uint256"},{"name":"orderId","type":"uint256"}],"name":"tradeMiningAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradeMiningBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"buyToken","type":"address"},{"name":"priceMul","type":"uint256"},{"name":"priceDiv","type":"uint256"}],"name":"sellEther","outputs":[{"name":"orderId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"orderId","type":"uint256"},{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"buyOrderWithERC20Token","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"orderId","type":"uint256"}],"name":"isOrderActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"buyToken","type":"address"},{"name":"priceMul","type":"uint256"},{"name":"priceDiv","type":"uint256"},{"name":"ring","type":"address"}],"name":"sellEtherWithRing","outputs":[{"name":"orderId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"sellToken","type":"address"},{"name":"buyToken","type":"address"},{"name":"amount","type":"uint256"},{"name":"priceMul","type":"uint256"},{"name":"priceDiv","type":"uint256"}],"name":"sellERC20Token","outputs":[{"name":"orderId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTradeMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tradeMiningDiv","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"desiredSellTokenAmount","type":"uint256"},{"name":"orderId","type":"uint256"}],"name":"getBuyTokenAmount","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_saturnToken","type":"address"},{"name":"_treasury","type":"address"},{"name":"_feeMul","type":"uint256"},{"name":"_feeDiv","type":"uint256"},{"name":"_tradeMiningMul","type":"uint256"},{"name":"_tradeMiningDiv","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"sellToken","type":"address"},{"indexed":false,"name":"buyToken","type":"address"},{"indexed":false,"name":"ring","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"priceMul","type":"uint256"},{"indexed":false,"name":"priceDiv","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"NewOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"OrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"OrderFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"orderId","type":"uint256"},{"indexed":false,"name":"soldTokens","type":"uint256"},{"indexed":false,"name":"boughtTokens","type":"uint256"},{"indexed":false,"name":"feePaid","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"trader","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"Mined","type":"event"}]

608060405260038054600160a060020a031916905534801561002057600080fd5b5060405160c0806118d783398101604090815281516020830151918301516060840151608085015160a09095015160048054600160a060020a03958616600160a060020a031991821617909155600780549590961694811694909417909455600891909155600955600a92909255600b55600580549091163317905561182c806100ab6000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166322fdd3ea81146101375780632453ffa81461018257806341f9377f14610197578063514fcac7146101b457806353e1a7a0146101cc57806361d027b3146101e15780636fb768e81461021257806378d067dd1461022757806387bda8f21461024257806389a447e01461025a578063a4ff9c341461026f578063c0ee0b8a1461027a578063c49063e7146102e3578063c655de64146102fe578063cb2bb26414610313578063cf6ff1731461032d578063d4fac45d14610354578063d6e435851461037b578063e3319e82146103a7578063eeb3377a146103c9578063f2037fec146103f9578063fc5f42411461040e578063ff700e5214610423575b600080fd5b34801561014357600080fd5b50610170600160a060020a0360043581169060243581169060443590606435906084359060a4351661043e565b60408051918252519081900360200190f35b34801561018e57600080fd5b5061017061047b565b3480156101a357600080fd5b506101b2600435602435610481565b005b3480156101c057600080fd5b506101b26004356104af565b3480156101d857600080fd5b5061017061064c565b3480156101ed57600080fd5b506101f6610652565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610170610661565b34801561023357600080fd5b50610170600435602435610667565b34801561024e57600080fd5b50610170600435610727565b34801561026657600080fd5b5061017061073c565b6101b2600435610742565b34801561028657600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101b2948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061076c9650505050505050565b3480156102ef57600080fd5b50610170600435602435610871565b34801561030a57600080fd5b506101706108fb565b610170600160a060020a0360043516602435604435610901565b34801561033957600080fd5b506101b2600435600160a060020a0360243516604435610933565b34801561036057600080fd5b50610170600160a060020a0360043581169060243516610961565b34801561038757600080fd5b5061039360043561098b565b604080519115158252519081900360200190f35b610170600160a060020a036004358116906024359060443590606435166109b8565b3480156103d557600080fd5b50610170600160a060020a03600435811690602435166044356064356084356109eb565b34801561040557600080fd5b506101b2610a3c565b34801561041a57600080fd5b50610170610a98565b34801561042f57600080fd5b50610170600435602435610a9e565b600080851161044c57600080fd5b6104568786610b7b565b151561046157600080fd5b61047033888888888888610c1f565b979650505050505050565b60025481565b600554600160a060020a0316331461049857600080fd5b8015156104a457600080fd5b600a91909155600b55565b600081815260016020526040812060048101549091106104ce57600080fd5b805474010000000000000000000000000000000000000000900460ff1615156104f657600080fd5b8054600160a060020a0316331461050c57600080fd5b6004810154336000908152602081815260408083206001860154600160a060020a031684529091529020546105469163ffffffff610ed616565b33600090815260208181526040808320600186018054600160a060020a0390811686529190935292209290925582546004840154925461058a939183169216610ee8565b151561059557600080fd5b6000828152600160208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff19168155928301805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028401805482169055600384018054909116905560048301849055600583018490556006909201929092558051848152429281019290925280517faa2a006d186dc89a3d6851834c85d16226329ac40bcad6531a5756a38ed1c90f9281900390910190a15050565b60085481565b600754600160a060020a031681565b600a5481565b600081815260016020819052604082206003549181015490918391600160a060020a03908116911614156106e4576106c082600601546106b4846005015488610ffa90919063ffffffff16565b9063ffffffff61102916565b90506106dd6009546106b460085484610ffa90919063ffffffff16565b925061071f565b6003546002830154600160a060020a039081169116141561071a576106dd6009546106b460085488610ffa90919063ffffffff16565b600092505b505092915050565b60009081526001602052604090206004015490565b60095481565b6000341161074f57600080fd5b6003546107699033908390600160a060020a031634611040565b50565b80511580156107855750600454600160a060020a031633145b15610799576107938261124c565b5061086c565b8051605414156107ed5761079383336107b984604063ffffffff61126d16565b856107cb86600063ffffffff61129d16565b6107dc87602063ffffffff61129d16565b600354600160a060020a0316610c1f565b80516068141561084657610793833361080d84604063ffffffff61126d16565b8561081f86600063ffffffff61129d16565b61083087602063ffffffff61129d16565b61084188605463ffffffff61126d16565b610c1f565b8051602014156101325761086c8361086583600063ffffffff61129d16565b3385611040565b505050565b60008080841515610885576000925061071f565b6000848152600160205260409020805490925074010000000000000000000000000000000000000000900460ff1615156108c2576000925061071f565b6108dd600b546106b4600a5488610ffa90919063ffffffff16565b90508060065410156108f357600654925061071f565b80925061071f565b60065481565b600034811061090f57600080fd5b60035461092b903390600160a060020a03168634878784610c1f565b949350505050565b6000811161094057600080fd5b61094a8282610b7b565b151561095557600080fd5b61086c33848484611040565b600160a060020a038082166000908152602081815260408083209386168352929052205492915050565b60009081526001602052604090205474010000000000000000000000000000000000000000900460ff1690565b60003481106109c657600080fd5b6003546109e2903390600160a060020a03168734888888610c1f565b95945050505050565b60008084116109f957600080fd5b610a038685610b7b565b1515610a0e57600080fd5b610a32338787878787600360009054906101000a9004600160a060020a0316610c1f565b9695505050505050565b600554600090600160a060020a03163314610a5657600080fd5b600654600010610a6557600080fd5b50600680546000909155600554600454610a8d91600160a060020a0390811691849116610ee8565b151561076957600080fd5b600b5481565b60008080808511610aae57600080fd5b600084815260016020819052604090912060035491810154909350600160a060020a0390811691161480610af457506003546002830154600160a060020a039081169116145b15610b4c57600854600954610b0e9163ffffffff610ed616565b9050610b45816106b484600501546106b4600954610b3988600601548c610ffa90919063ffffffff16565b9063ffffffff610ffa16565b9250610b6e565b610b6b82600501546106b4846006015488610ffa90919063ffffffff16565b92505b6000831161071f57600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390529051600091600160a060020a038516916323b872dd9160648082019260209290919082900301818787803b158015610bec57600080fd5b505af1158015610c00573d6000803e3d6000fd5b505050506040513d6020811015610c1657600080fd5b50519392505050565b6000808511610c2d57600080fd5b60008411610c3a57600080fd5b60008311610c4757600080fd5b600160a060020a038781169087161415610c6057600080fd5b600260008154809291906001019190505590506101006040519081016040528089600160a060020a0316815260200160011515815260200188600160a060020a0316815260200187600160a060020a0316815260200183600160a060020a03168152602001868152602001858152602001848152506001600083815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060808201518160030160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151816005015560e08201518160060155905050610e37856000808b600160a060020a0316600160a060020a0316815260200190815260200160002060008a600160a060020a0316600160a060020a03168152602001908152602001600020546112bd90919063ffffffff16565b600160a060020a03808a166000818152602081815260408083208d86168085529083529281902095909555845186815290810192909252818401528882166060820152908416608082015260a0810187905260c0810186905260e081018590524261010082015290517f9684ab37f360879637d39ea3a41f58c0705a15f80d518ec92bd1c7383ef8a61a918190036101200190a1979650505050505050565b600082821115610ee257fe5b50900390565b600354600090600160a060020a0383811691161415610f3d57604051600160a060020a0385169084156108fc029085906000818181858888f19350505050158015610f37573d6000803e3d6000fd5b50610ff0565b81600160a060020a031663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fb957600080fd5b505af1158015610fcd573d6000803e3d6000fd5b505050506040513d6020811015610fe357600080fd5b50511515610ff057600080fd5b5060019392505050565b6000828202831580611016575082848281151561101357fe5b04145b151561101e57fe5b8091505b5092915050565b600080828481151561103757fe5b04949350505050565b6000806002548510151561105357600080fd5b6000831161106057600080fd5b6000858152600160205260409020805490925074010000000000000000000000000000000000000000900460ff16151561109957600080fd5b8154600160a060020a03878116911614156110b357600080fd5b6002820154600160a060020a038581169116146110cf57600080fd5b6003805490830154600160a060020a03908116911614611102576003820154600160a060020a0316321461110257600080fd5b6003546001830154600160a060020a039081169116141561112f576111288686856112cc565b9050611163565b6003546002830154600160a060020a039081169116141561115557611128868685611440565b6111608686856115be565b90505b61116d81876116ea565b151561117857600080fd5b6000858152600160205260409020600401541515611244576000858152600160208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff19168155928301805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028401805482169055600384018054909116905560048301849055600583018490556006909201929092558051878152429281019290925280517feb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e98809281900390910190a15b505050505050565b600654600090611262908363ffffffff6112bd16565b600655506001919050565b6000808260140184511015151561128357600080fd5b505001602001516c01000000000000000000000000900490565b600080826020018451101515156112b357600080fd5b5050016020015190565b60008282018381101561101e57fe5b600082815260016020526040812060068101546005820154839182916112fe91906106b490889063ffffffff610ffa16565b915061131b6009546106b460085485610ffa90919063ffffffff16565b90506000821161132a57600080fd5b600483015482111561133b57600080fd5b6004830154611350908363ffffffff610ed616565b60048401558254600284015461137491600160a060020a0390811691889116610ee8565b151561137f57600080fd5b6113a687611393848463ffffffff610ed616565b6001860154600160a060020a0316610ee8565b15156113b157600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a0316886113f1868663ffffffff610ed616565b60408051600160a060020a0395861681529390941660208401528284019190915260608201526080810188905260a081018490524260c082015290519081900360e00190a19695505050505050565b60008281526001602052604081206009546008548391829161146e91906106b490889063ffffffff610ffa16565b915061149383600601546106b48560050154610b39868a610ed690919063ffffffff16565b9050600081116114a257600080fd5b60048301548111156114b357600080fd5b60048301546114c8908263ffffffff610ed616565b600484015582546114ff90600160a060020a03166114ec878563ffffffff610ed616565b6002860154600160a060020a0316610ee8565b151561150a57600080fd5b60018301546115259088908390600160a060020a0316610ee8565b151561153057600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688846115718a8863ffffffff610ed616565b60408051600160a060020a039687168152949095166020850152838501929092526060830152608082015260a081018590524260c082015290519081900360e00190a15095945050505050565b60008281526001602052604081206006810154600582015483916115ed916106b490879063ffffffff610ffa16565b9050600081116115fc57600080fd5b600482015481111561160d57600080fd5b6004820154611622908263ffffffff610ed616565b60048301558154600283015461164691600160a060020a0390811691879116610ee8565b151561165157600080fd5b600182015461166c9087908390600160a060020a0316610ee8565b151561167757600080fd5b815460408051600160a060020a03808a16825290921660208301528181018790526060820183905260808201869052600060a08301524260c0830152517f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a72859181900360e00190a150600095945050505050565b6000808315156116fd5760019150611022565b60075460035461171b91600160a060020a0390811691879116610ee8565b151561172657600080fd5b60065415156117385760019150611022565b611753600b546106b4600a5487610ffa90919063ffffffff16565b90508015156117655760019150611022565b60065481111561177457506006545b600654611787908263ffffffff610ed616565b6006556004546117a39084908390600160a060020a0316610ee8565b15156117ae57600080fd5b60408051600160a060020a038516815260208101839052428183015290517f5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c29181900360600190a150600193925050505600a165627a7a723058202010bc52368ea0ee38b0099f8ceee568961a3f0c4d317bc50903c65ca8945c150029000000000000000000000000b9440022a095343b440d590fcd2d7a3794bd76c800000000000000000000000092eeb915dafe3803f8a9d12000765c3b6af6d5fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400

Deployed Bytecode

0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166322fdd3ea81146101375780632453ffa81461018257806341f9377f14610197578063514fcac7146101b457806353e1a7a0146101cc57806361d027b3146101e15780636fb768e81461021257806378d067dd1461022757806387bda8f21461024257806389a447e01461025a578063a4ff9c341461026f578063c0ee0b8a1461027a578063c49063e7146102e3578063c655de64146102fe578063cb2bb26414610313578063cf6ff1731461032d578063d4fac45d14610354578063d6e435851461037b578063e3319e82146103a7578063eeb3377a146103c9578063f2037fec146103f9578063fc5f42411461040e578063ff700e5214610423575b600080fd5b34801561014357600080fd5b50610170600160a060020a0360043581169060243581169060443590606435906084359060a4351661043e565b60408051918252519081900360200190f35b34801561018e57600080fd5b5061017061047b565b3480156101a357600080fd5b506101b2600435602435610481565b005b3480156101c057600080fd5b506101b26004356104af565b3480156101d857600080fd5b5061017061064c565b3480156101ed57600080fd5b506101f6610652565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610170610661565b34801561023357600080fd5b50610170600435602435610667565b34801561024e57600080fd5b50610170600435610727565b34801561026657600080fd5b5061017061073c565b6101b2600435610742565b34801561028657600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101b2948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061076c9650505050505050565b3480156102ef57600080fd5b50610170600435602435610871565b34801561030a57600080fd5b506101706108fb565b610170600160a060020a0360043516602435604435610901565b34801561033957600080fd5b506101b2600435600160a060020a0360243516604435610933565b34801561036057600080fd5b50610170600160a060020a0360043581169060243516610961565b34801561038757600080fd5b5061039360043561098b565b604080519115158252519081900360200190f35b610170600160a060020a036004358116906024359060443590606435166109b8565b3480156103d557600080fd5b50610170600160a060020a03600435811690602435166044356064356084356109eb565b34801561040557600080fd5b506101b2610a3c565b34801561041a57600080fd5b50610170610a98565b34801561042f57600080fd5b50610170600435602435610a9e565b600080851161044c57600080fd5b6104568786610b7b565b151561046157600080fd5b61047033888888888888610c1f565b979650505050505050565b60025481565b600554600160a060020a0316331461049857600080fd5b8015156104a457600080fd5b600a91909155600b55565b600081815260016020526040812060048101549091106104ce57600080fd5b805474010000000000000000000000000000000000000000900460ff1615156104f657600080fd5b8054600160a060020a0316331461050c57600080fd5b6004810154336000908152602081815260408083206001860154600160a060020a031684529091529020546105469163ffffffff610ed616565b33600090815260208181526040808320600186018054600160a060020a0390811686529190935292209290925582546004840154925461058a939183169216610ee8565b151561059557600080fd5b6000828152600160208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff19168155928301805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028401805482169055600384018054909116905560048301849055600583018490556006909201929092558051848152429281019290925280517faa2a006d186dc89a3d6851834c85d16226329ac40bcad6531a5756a38ed1c90f9281900390910190a15050565b60085481565b600754600160a060020a031681565b600a5481565b600081815260016020819052604082206003549181015490918391600160a060020a03908116911614156106e4576106c082600601546106b4846005015488610ffa90919063ffffffff16565b9063ffffffff61102916565b90506106dd6009546106b460085484610ffa90919063ffffffff16565b925061071f565b6003546002830154600160a060020a039081169116141561071a576106dd6009546106b460085488610ffa90919063ffffffff16565b600092505b505092915050565b60009081526001602052604090206004015490565b60095481565b6000341161074f57600080fd5b6003546107699033908390600160a060020a031634611040565b50565b80511580156107855750600454600160a060020a031633145b15610799576107938261124c565b5061086c565b8051605414156107ed5761079383336107b984604063ffffffff61126d16565b856107cb86600063ffffffff61129d16565b6107dc87602063ffffffff61129d16565b600354600160a060020a0316610c1f565b80516068141561084657610793833361080d84604063ffffffff61126d16565b8561081f86600063ffffffff61129d16565b61083087602063ffffffff61129d16565b61084188605463ffffffff61126d16565b610c1f565b8051602014156101325761086c8361086583600063ffffffff61129d16565b3385611040565b505050565b60008080841515610885576000925061071f565b6000848152600160205260409020805490925074010000000000000000000000000000000000000000900460ff1615156108c2576000925061071f565b6108dd600b546106b4600a5488610ffa90919063ffffffff16565b90508060065410156108f357600654925061071f565b80925061071f565b60065481565b600034811061090f57600080fd5b60035461092b903390600160a060020a03168634878784610c1f565b949350505050565b6000811161094057600080fd5b61094a8282610b7b565b151561095557600080fd5b61086c33848484611040565b600160a060020a038082166000908152602081815260408083209386168352929052205492915050565b60009081526001602052604090205474010000000000000000000000000000000000000000900460ff1690565b60003481106109c657600080fd5b6003546109e2903390600160a060020a03168734888888610c1f565b95945050505050565b60008084116109f957600080fd5b610a038685610b7b565b1515610a0e57600080fd5b610a32338787878787600360009054906101000a9004600160a060020a0316610c1f565b9695505050505050565b600554600090600160a060020a03163314610a5657600080fd5b600654600010610a6557600080fd5b50600680546000909155600554600454610a8d91600160a060020a0390811691849116610ee8565b151561076957600080fd5b600b5481565b60008080808511610aae57600080fd5b600084815260016020819052604090912060035491810154909350600160a060020a0390811691161480610af457506003546002830154600160a060020a039081169116145b15610b4c57600854600954610b0e9163ffffffff610ed616565b9050610b45816106b484600501546106b4600954610b3988600601548c610ffa90919063ffffffff16565b9063ffffffff610ffa16565b9250610b6e565b610b6b82600501546106b4846006015488610ffa90919063ffffffff16565b92505b6000831161071f57600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390529051600091600160a060020a038516916323b872dd9160648082019260209290919082900301818787803b158015610bec57600080fd5b505af1158015610c00573d6000803e3d6000fd5b505050506040513d6020811015610c1657600080fd5b50519392505050565b6000808511610c2d57600080fd5b60008411610c3a57600080fd5b60008311610c4757600080fd5b600160a060020a038781169087161415610c6057600080fd5b600260008154809291906001019190505590506101006040519081016040528089600160a060020a0316815260200160011515815260200188600160a060020a0316815260200187600160a060020a0316815260200183600160a060020a03168152602001868152602001858152602001848152506001600083815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060808201518160030160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151816005015560e08201518160060155905050610e37856000808b600160a060020a0316600160a060020a0316815260200190815260200160002060008a600160a060020a0316600160a060020a03168152602001908152602001600020546112bd90919063ffffffff16565b600160a060020a03808a166000818152602081815260408083208d86168085529083529281902095909555845186815290810192909252818401528882166060820152908416608082015260a0810187905260c0810186905260e081018590524261010082015290517f9684ab37f360879637d39ea3a41f58c0705a15f80d518ec92bd1c7383ef8a61a918190036101200190a1979650505050505050565b600082821115610ee257fe5b50900390565b600354600090600160a060020a0383811691161415610f3d57604051600160a060020a0385169084156108fc029085906000818181858888f19350505050158015610f37573d6000803e3d6000fd5b50610ff0565b81600160a060020a031663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fb957600080fd5b505af1158015610fcd573d6000803e3d6000fd5b505050506040513d6020811015610fe357600080fd5b50511515610ff057600080fd5b5060019392505050565b6000828202831580611016575082848281151561101357fe5b04145b151561101e57fe5b8091505b5092915050565b600080828481151561103757fe5b04949350505050565b6000806002548510151561105357600080fd5b6000831161106057600080fd5b6000858152600160205260409020805490925074010000000000000000000000000000000000000000900460ff16151561109957600080fd5b8154600160a060020a03878116911614156110b357600080fd5b6002820154600160a060020a038581169116146110cf57600080fd5b6003805490830154600160a060020a03908116911614611102576003820154600160a060020a0316321461110257600080fd5b6003546001830154600160a060020a039081169116141561112f576111288686856112cc565b9050611163565b6003546002830154600160a060020a039081169116141561115557611128868685611440565b6111608686856115be565b90505b61116d81876116ea565b151561117857600080fd5b6000858152600160205260409020600401541515611244576000858152600160208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff19168155928301805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028401805482169055600384018054909116905560048301849055600583018490556006909201929092558051878152429281019290925280517feb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e98809281900390910190a15b505050505050565b600654600090611262908363ffffffff6112bd16565b600655506001919050565b6000808260140184511015151561128357600080fd5b505001602001516c01000000000000000000000000900490565b600080826020018451101515156112b357600080fd5b5050016020015190565b60008282018381101561101e57fe5b600082815260016020526040812060068101546005820154839182916112fe91906106b490889063ffffffff610ffa16565b915061131b6009546106b460085485610ffa90919063ffffffff16565b90506000821161132a57600080fd5b600483015482111561133b57600080fd5b6004830154611350908363ffffffff610ed616565b60048401558254600284015461137491600160a060020a0390811691889116610ee8565b151561137f57600080fd5b6113a687611393848463ffffffff610ed616565b6001860154600160a060020a0316610ee8565b15156113b157600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a0316886113f1868663ffffffff610ed616565b60408051600160a060020a0395861681529390941660208401528284019190915260608201526080810188905260a081018490524260c082015290519081900360e00190a19695505050505050565b60008281526001602052604081206009546008548391829161146e91906106b490889063ffffffff610ffa16565b915061149383600601546106b48560050154610b39868a610ed690919063ffffffff16565b9050600081116114a257600080fd5b60048301548111156114b357600080fd5b60048301546114c8908263ffffffff610ed616565b600484015582546114ff90600160a060020a03166114ec878563ffffffff610ed616565b6002860154600160a060020a0316610ee8565b151561150a57600080fd5b60018301546115259088908390600160a060020a0316610ee8565b151561153057600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688846115718a8863ffffffff610ed616565b60408051600160a060020a039687168152949095166020850152838501929092526060830152608082015260a081018590524260c082015290519081900360e00190a15095945050505050565b60008281526001602052604081206006810154600582015483916115ed916106b490879063ffffffff610ffa16565b9050600081116115fc57600080fd5b600482015481111561160d57600080fd5b6004820154611622908263ffffffff610ed616565b60048301558154600283015461164691600160a060020a0390811691879116610ee8565b151561165157600080fd5b600182015461166c9087908390600160a060020a0316610ee8565b151561167757600080fd5b815460408051600160a060020a03808a16825290921660208301528181018790526060820183905260808201869052600060a08301524260c0830152517f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a72859181900360e00190a150600095945050505050565b6000808315156116fd5760019150611022565b60075460035461171b91600160a060020a0390811691879116610ee8565b151561172657600080fd5b60065415156117385760019150611022565b611753600b546106b4600a5487610ffa90919063ffffffff16565b90508015156117655760019150611022565b60065481111561177457506006545b600654611787908263ffffffff610ed616565b6006556004546117a39084908390600160a060020a0316610ee8565b15156117ae57600080fd5b60408051600160a060020a038516815260208101839052428183015290517f5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c29181900360600190a150600193925050505600a165627a7a723058202010bc52368ea0ee38b0099f8ceee568961a3f0c4d317bc50903c65ca8945c150029

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

000000000000000000000000b9440022a095343b440d590fcd2d7a3794bd76c800000000000000000000000092eeb915dafe3803f8a9d12000765c3b6af6d5fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400

-----Decoded View---------------
Arg [0] : _saturnToken (address): 0xb9440022a095343B440D590FCD2d7A3794Bd76c8
Arg [1] : _treasury (address): 0x92EEb915Dafe3803f8A9d12000765c3B6Af6d5fD
Arg [2] : _feeMul (uint256): 1
Arg [3] : _feeDiv (uint256): 400
Arg [4] : _tradeMiningMul (uint256): 1
Arg [5] : _tradeMiningDiv (uint256): 10000000000

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000b9440022a095343b440d590fcd2d7a3794bd76c8
Arg [1] : 00000000000000000000000092eeb915dafe3803f8a9d12000765c3b6af6d5fd
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000190
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 00000000000000000000000000000000000000000000000000000002540be400


Deployed Bytecode Sourcemap

2653:13982:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4760:8;;;9259:369;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9259:369:0;-1:-1:-1;;;;;9259:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3107:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3107:25:0;;;;7082:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7082:208:0;;;;;;;;;9876:561;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9876:561:0;;;;;3304:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3304:21:0;;;;3274:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3274:23:0;;;;;;;;-1:-1:-1;;;;;3274:23:0;;;;;;;;;;;;;;3356:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3356:29:0;;;;5852:472;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5852:472:0;;;;;;;5160:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5160:116:0;;;;;3330:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3330:21:0;;;;8739:158;;;;;;7332:826;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7332:826:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7332:826:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7332:826:0;;-1:-1:-1;7332:826:0;;-1:-1:-1;;;;;;;7332:826:0;6330:414;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6330:414:0;;;;;;;3236:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3236:33:0;;;;8164:272;;-1:-1:-1;;;;;8164:272:0;;;;;;;;;9634:236;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9634:236:0;;;-1:-1:-1;;;;;9634:236:0;;;;;;;4918:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4918:119:0;-1:-1:-1;;;;;4918:119:0;;;;;;;;;;5043:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5043:111:0;;;;;;;;;;;;;;;;;;;;;;;8442:291;;-1:-1:-1;;;;;8442:291:0;;;;;;;;;;;;;;;;8903:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8903:350:0;-1:-1:-1;;;;;8903:350:0;;;;;;;;;;;;;;;;6824:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6824:252:0;;;;3390:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3390:29:0;;;;5282:564;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5282:564:0;;;;;;;9259:369;9444:15;9476:10;;;9468:19;;;;;;9502:29;9513:9;9524:6;9502:10;:29::i;:::-;9494:38;;;;;;;;9546:76;9556:10;9568:9;9579:8;9589:6;9597:8;9607;9617:4;9546:9;:76::i;:::-;9539:83;9259:369;-1:-1:-1;;;;;;;9259:369:0:o;3107:25::-;;;;:::o;7082:208::-;7178:5;;-1:-1:-1;;;;;7178:5:0;7164:10;:19;7160:38;;7187:8;;;7160:38;7212:11;;;7204:20;;;;;;7231:14;:23;;;;7261:14;:23;7082:208::o;9876:561::-;9928:19;9950:18;;;:9;:18;;;;;9983:12;;;;9950:18;;-1:-1:-1;9975:25:0;;;;;;10015:12;;;;;;;10007:21;;;;;;;;10057:11;;-1:-1:-1;;;;;10057:11:0;10043:10;:25;10035:34;;;;;;10160:12;;;;10127:10;10118:8;:20;;;;;;;;;;;10139:15;;;;-1:-1:-1;;;;;10139:15:0;10118:37;;;;;;;;:55;;;:41;:55;:::i;:::-;10087:10;10078:8;:20;;;;;;;;;;;10099:15;;;;;-1:-1:-1;;;;;10099:15:0;;;10078:37;;;;;;;;:95;;;;10201:11;;10214:12;;;;10228:15;;10188:56;;10201:11;;;;10228:15;10188:12;:56::i;:::-;10180:65;;;;;;;;10373:18;;;;:9;:18;;;;;;;;10366:25;;-1:-1:-1;;10366:25:0;;;;;;;;-1:-1:-1;;10366:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:28;;;;;10427:3;10403:28;;;;;;;;;;;;;;;;;;;9876:561;;:::o;3304:21::-;;;;:::o;3274:23::-;;;-1:-1:-1;;;;;3274:23:0;;:::o;3356:29::-;;;;:::o;5852:472::-;5923:12;5966:18;;;:9;:18;;;;;;;6016:12;;5997:15;;;;5966:18;;5923:12;;-1:-1:-1;;;;;5997:15:0;;;6016:12;;5997:31;5993:308;;;6065:46;6096:5;:14;;;6065:26;6076:5;:14;;;6065:6;:10;;:26;;;;:::i;:::-;:30;:46;:30;:46;:::i;:::-;6039:72;;6127:39;6159:6;;6127:27;6147:6;;6127:15;:19;;:27;;;;:::i;:39::-;6120:46;;5993:308;;;6202:12;;6184:14;;;;-1:-1:-1;;;;;6184:14:0;;;6202:12;;6184:30;6180:121;;;6232:30;6255:6;;6232:18;6243:6;;6232;:10;;:18;;;;:::i;6180:121::-;6292:1;6285:8;;6180:121;5852:472;;;;;;:::o;5160:116::-;5222:7;5245:18;;;:9;:18;;;;;:25;;;;5160:116::o;3330:21::-;;;;:::o;8739:158::-;8823:1;8811:9;:13;8803:22;;;;;;8867:12;;8832:59;;8846:10;;8858:7;;-1:-1:-1;;;;;8867:12:0;8881:9;8832:13;:59::i;:::-;8739:158;:::o;7332:826::-;7606:11;;:16;:45;;;;-1:-1:-1;7640:11:0;;-1:-1:-1;;;;;7640:11:0;7626:10;:25;7606:45;7602:551;;;7662:24;7680:5;7662:17;:24::i;:::-;;7602:551;;;7704:4;:11;7719:2;7704:17;7700:453;;;7732:101;7742:4;7748:10;7760:18;:4;7775:2;7760:18;:14;:18;:::i;:::-;7780:5;7787:14;:4;7799:1;7787:14;:11;:14;:::i;:::-;7803:15;:4;7815:2;7803:15;:11;:15;:::i;:::-;7820:12;;-1:-1:-1;;;;;7820:12:0;7732:9;:101::i;7700:453::-;7851:4;:11;7866:3;7851:18;7847:306;;;7880:107;7890:4;7896:10;7908:18;:4;7923:2;7908:18;:14;:18;:::i;:::-;7928:5;7935:14;:4;7947:1;7935:14;:11;:14;:::i;:::-;7951:15;:4;7963:2;7951:15;:11;:15;:::i;:::-;7968:18;:4;7983:2;7968:18;:14;:18;:::i;:::-;7880:9;:107::i;7847:306::-;8005:4;:11;8020:2;8005:17;8001:152;;;8033:54;8047:4;8053:14;:4;8065:1;8053:14;:11;:14;:::i;:::-;8069:10;8081:5;8033:13;:54::i;:::-;7332:826;;;:::o;6330:414::-;6408:7;;;6428:9;;6424:28;;;6448:1;6441:8;;;;6424:28;6480:18;;;;:9;:18;;;;;6510:12;;6480:18;;-1:-1:-1;6510:12:0;;;;;6509:13;6505:32;;;6533:1;6526:8;;;;6505:32;6565:44;6594:14;;6565:24;6574:14;;6565:4;:8;;:24;;;;:::i;:44::-;6543:66;;6643:11;6622:18;;:32;6618:121;;;6672:18;;6665:25;;;;6618:121;6720:11;6713:18;;;;3236:33;;;;:::o;8164:272::-;8280:15;8312:9;:13;-1:-1:-1;8304:22:0;;;;;;8362:12;;8340:90;;8350:10;;-1:-1:-1;;;;;8362:12:0;8376:8;8386:9;8397:8;8407;8362:12;8340:9;:90::i;:::-;8333:97;8164:272;-1:-1:-1;;;;8164:272:0:o;9634:236::-;9765:1;9756:10;;9748:19;;;;;;9782:25;9793:5;9800:6;9782:10;:25::i;:::-;9774:34;;;;;;;;9815:49;9829:10;9841:7;9850:5;9857:6;9815:13;:49::i;4918:119::-;-1:-1:-1;;;;;5010:14:0;;;4987:7;5010:14;;;;;;;;;;;:21;;;;;;;;;;4918:119;;;;:::o;5043:111::-;5103:4;5123:18;;;:9;:18;;;;;:25;;;;;;;5043:111::o;8442:291::-;8585:15;8617:9;:13;-1:-1:-1;8609:22:0;;;;;;8667:12;;8645:82;;8655:10;;-1:-1:-1;;;;;8667:12:0;8681:8;8691:9;8702:8;8712;8722:4;8645:9;:82::i;:::-;8638:89;8442:291;-1:-1:-1;;;;;8442:291:0:o;8903:350::-;9061:15;9093:10;;;9085:19;;;;;;9119:29;9130:9;9141:6;9119:10;:29::i;:::-;9111:38;;;;;;;;9163:84;9173:10;9185:9;9196:8;9206:6;9214:8;9224;9234:12;;;;;;;;;-1:-1:-1;;;;;9234:12:0;9163:9;:84::i;:::-;9156:91;8903:350;-1:-1:-1;;;;;;8903:350:0:o;6824:252::-;6887:5;;6953:11;;-1:-1:-1;;;;;6887:5:0;6873:10;:19;6869:38;;6896:8;;;6869:38;6921:18;;6942:1;-1:-1:-1;6913:31:0;;;;;;-1:-1:-1;6967:18:0;;;7013:1;6992:22;;;7042:5;;7057:11;;7029:40;;-1:-1:-1;;;;;7042:5:0;;;;6967:18;;7057:11;7029:12;:40::i;:::-;7021:49;;;;;;;3390:29;;;;:::o;5282:564::-;5378:14;;;5409:26;;;5401:35;;;;;;5465:18;;;;:9;:18;;;;;;;;5515:12;;5496:15;;;;5465:18;;-1:-1:-1;;;;;;5496:15:0;;;5515:12;;5496:31;;:65;;-1:-1:-1;5549:12:0;;5531:14;;;;-1:-1:-1;;;;;5531:14:0;;;5549:12;;5531:30;5496:65;5492:323;;;5601:6;;5590;;:18;;;:10;:18;:::i;:::-;5572:36;;5626:87;5705:7;5626:74;5685:5;:14;;;5626:54;5673:6;;5626:42;5653:5;:14;;;5626:22;:26;;:42;;;;:::i;:::-;:46;:54;:46;:54;:::i;:87::-;5617:96;;5492:323;;;5745:62;5792:5;:14;;;5745:42;5772:5;:14;;;5745:22;:26;;:42;;;;:::i;:62::-;5736:71;;5492:323;5838:1;5829:10;;5821:19;;;;;16326:153;16413:60;;;;;;16439:10;16413:60;;;;16459:4;16413:60;;;;;;;;;;;;16393:4;;-1:-1:-1;;;;;16413:25:0;;;;;:60;;;;;;;;;;;;;;;16393:4;16413:25;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;16413:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16413:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16413:60:0;;16326:153;-1:-1:-1;;;16326:153:0:o;10520:841::-;10713:15;10838:10;;;10830:19;;;;;;10875:1;10864:12;;10856:21;;;;;;10903:1;10892:12;;10884:21;;;;;;-1:-1:-1;;;;;10920:21:0;;;;;;;;10912:30;;;;;;11070:10;;:12;;;;;;;;;;;;11060:22;;11110:73;;;;;;;;;11116:5;-1:-1:-1;;;;;11110:73:0;;;;;11123:4;11110:73;;;;;;11129:9;-1:-1:-1;;;;;11110:73:0;;;;;11140:8;-1:-1:-1;;;;;11110:73:0;;;;;11150:4;-1:-1:-1;;;;;11110:73:0;;;;;11156:6;11110:73;;;;11164:8;11110:73;;;;11174:8;11110:73;;;11089:9;:18;11099:7;11089:18;;;;;;;;;;;:94;;;;;;;;;;;;;-1:-1:-1;;;;;11089:94:0;;;;;-1:-1:-1;;;;;11089:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11089:94:0;;;;;-1:-1:-1;;;;;11089:94:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11089:94:0;;;;;-1:-1:-1;;;;;11089:94:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11089:94:0;;;;;-1:-1:-1;;;;;11089:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:38;11250:6;11219:8;:15;11228:5;-1:-1:-1;;;;;11219:15:0;-1:-1:-1;;;;;11219:15:0;;;;;;;;;;;;:26;11235:9;-1:-1:-1;;;;;11219:26:0;-1:-1:-1;;;;;11219:26:0;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;-1:-1:-1;;;;;11190:15:0;;;:8;:15;;;;;;;;;;;:26;;;;;;;;;;;;;:67;;;;11271:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11351:3;11271:84;;;;;;;;;;;;;;;10520:841;;;;;;;;;:::o;500:113::-;558:7;581:6;;;;574:14;;;;-1:-1:-1;602:5:0;;;500:113::o;15991:309::-;16103:12;;16079:4;;-1:-1:-1;;;;;16096:19:0;;;16103:12;;16096:19;16092:185;;;16126:28;;-1:-1:-1;;;;;16126:20:0;;;:28;;;;;16147:6;;16126:28;;;;16147:6;16126:20;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16126:28:0;16092:185;;;16234:3;-1:-1:-1;;;;;16228:19:0;;16248:11;16261:6;16228:40;;;;;;;;;;;;;-1:-1:-1;;;;;16228:40:0;-1:-1:-1;;;;;16228:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16228:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16228:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16228:40:0;16220:49;;;;;;;;-1:-1:-1;16290:4:0;15991:309;;;;;:::o;71:147::-;129:7;157:5;;;176:6;;;:20;;;195:1;190;186;:5;;;;;;;;:10;176:20;169:28;;;;;;211:1;204:8;;71:147;;;;;;:::o;224:270::-;282:7;373:9;389:1;385;:5;;;;;;;;;224:270;-1:-1:-1;;;;224:270:0:o;13731:1466::-;14007:19;14384:12;13955:10;;13945:7;:20;13937:29;;;;;;;;13998:1;13981:18;;13973:27;;;;;;14029:18;;;;:9;:18;;;;;14062:12;;14029:18;;-1:-1:-1;14062:12:0;;;;;14054:21;;;;;;;;14100:11;;-1:-1:-1;;;;;14090:21:0;;;14100:11;;14090:21;;14082:30;;;;;;14139:14;;;;-1:-1:-1;;;;;14127:26:0;;;14139:14;;14127:26;14119:35;;;;;;14223:12;;;14209:10;;;;-1:-1:-1;;;;;14209:10:0;;;14223:12;;14209:26;14205:69;;14247:10;;;;-1:-1:-1;;;;;14247:10:0;14261:9;14247:23;14239:32;;;;;;14426:12;;;14407:15;;;-1:-1:-1;;;;;14407:15:0;;;14426:12;;14407:31;14403:411;;;14508:49;14525:6;14533:7;14542:14;14508:16;:49::i;:::-;14501:56;;14403:411;;;14593:12;;14575:14;;;;-1:-1:-1;;;;;14575:14:0;;;14593:12;;14575:30;14571:243;;;14676:50;14694:6;14702:7;14711:14;14676:17;:50::i;14571:243::-;14756:50;14774:6;14782:7;14791:14;14756:17;:50::i;:::-;14749:57;;14571:243;14976:33;14996:4;15002:6;14976:19;:33::i;:::-;14968:42;;;;;;;;15076:18;;;;:9;:18;;;;;:25;;;:30;15072:120;;;15124:18;;;;:9;:18;;;;;;;;15117:25;;-1:-1:-1;;15117:25:0;;;;;;;;-1:-1:-1;;15117:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15156:28;;;;;15180:3;15156:28;;;;;;;;;;;;;;;;;;;15072:120;13731:1466;;;;;;:::o;16485:147::-;16578:18;;16544:4;;16578:30;;16601:6;16578:30;:22;:30;:::i;:::-;16557:18;:51;-1:-1:-1;16622:4:0;16485:147;;;:::o;781:302::-;850:7;912:19;892:6;901:2;892:11;874:6;:13;:30;;866:39;;;;;;;;-1:-1:-1;;983:30:0;999:4;983:30;977:37;1016:27;973:71;;;781:302::o;1089:256::-;1155:7;1217:16;1197:6;1206:2;1197:11;1179:6;:13;:30;;1171:39;;;;;;;;-1:-1:-1;;1278:30:0;1294:4;1278:30;1272:37;;1089:256::o;619:133::-;677:7;705:5;;;724:6;;;;717:14;;;11367:833;11466:7;11551:18;;;:9;:18;;;;;11641:14;;;;11621;;;;11466:7;;;;11602:54;;11641:14;11602:34;;:14;;:34;:18;:34;:::i;:54::-;11576:80;;11678:39;11710:6;;11678:27;11698:6;;11678:15;:19;;:27;;;;:::i;:39::-;11663:54;-1:-1:-1;11752:1:0;11734:19;;11726:28;;;;;;11788:12;;;;11769:31;;;11761:40;;;;;;11823:12;;;;:33;;11840:15;11823:33;:16;:33;:::i;:::-;11808:12;;;:48;11919:11;;11948:14;;;;11906:57;;-1:-1:-1;;;;;11919:11:0;;;;11932:14;;11948;11906:12;:57::i;:::-;11898:66;;;;;;;;12008:64;12021:6;12029:25;:15;12049:4;12029:25;:19;:25;:::i;:::-;12056:15;;;;-1:-1:-1;;;;;12056:15:0;12008:12;:64::i;:::-;12000:73;;;;;;;;12101:11;;12087:89;;12093:6;;-1:-1:-1;;;;;12101:11:0;12114:7;12123:25;:15;12143:4;12123:25;:19;:25;:::i;:::-;12087:89;;;-1:-1:-1;;;;;12087:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12172:3;12087:89;;;;;;;;;;;;;;12190:4;11367:833;-1:-1:-1;;;;;;11367:833:0:o;12206:844::-;12306:7;12391:18;;;:9;:18;;;;;12462:6;;12450;;12306:7;;;;12431:38;;12462:6;12431:26;;:14;;:26;:18;:26;:::i;:38::-;12416:53;;12502:64;12551:5;:14;;;12502:44;12531:5;:14;;;12502:24;12521:4;12502:14;:18;;:24;;;;:::i;:64::-;12476:90;-1:-1:-1;12603:1:0;12585:19;;12577:28;;;;;;12639:12;;;;12620:31;;;12612:40;;;;;;12674:12;;;;:33;;12691:15;12674:33;:16;:33;:::i;:::-;12659:12;;;:48;12769:11;;12756:67;;-1:-1:-1;;;;;12769:11:0;12782:24;:14;12801:4;12782:24;:18;:24;:::i;:::-;12808:14;;;;-1:-1:-1;;;;;12808:14:0;12756:12;:67::i;:::-;12748:76;;;;;;;;12906:15;;;;12868:54;;12881:6;;12889:15;;-1:-1:-1;;;;;12906:15:0;12868:12;:54::i;:::-;12860:63;;;;;;;;12951:11;;12937:89;;12943:6;;-1:-1:-1;;;;;12951:11:0;12964:7;12973:15;12990:24;:14;13009:4;12990:24;:18;:24;:::i;:::-;12937:89;;;-1:-1:-1;;;;;12937:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13022:3;12937:89;;;;;;;;;;;;;;-1:-1:-1;13040:4:0;12206:844;-1:-1:-1;;;;;12206:844:0:o;13056:669::-;13156:7;13225:18;;;:9;:18;;;;;13315:14;;;;13295;;;;13156:7;;13276:54;;:34;;:14;;:34;:18;:34;:::i;:54::-;13250:80;-1:-1:-1;13365:1:0;13347:19;;13339:28;;;;;;13401:12;;;;13382:31;;;13374:40;;;;;;13436:12;;;;:33;;13453:15;13436:33;:16;:33;:::i;:::-;13421:12;;;:48;13499:11;;13528:14;;;;13486:57;;-1:-1:-1;;;;;13499:11:0;;;;13512:14;;13528;13486:12;:57::i;:::-;13478:66;;;;;;;;13597:15;;;;13559:54;;13572:6;;13580:15;;-1:-1:-1;;;;;13597:15:0;13559:12;:54::i;:::-;13551:63;;;;;;;;13642:11;;13628:76;;;-1:-1:-1;;;;;13628:76:0;;;;;13642:11;;;13628:76;;;;;;;;;;;;;;;;;;;;;;13642:11;13628:76;;;;13700:3;13628:76;;;;;;;;;;;;;;-1:-1:-1;13718:1:0;;13056:669;-1:-1:-1;;;;;13056:669:0:o;15203:782::-;15278:4;;15295:9;;15291:31;;;15315:4;15308:11;;;;15291:31;15393:8;;15409:12;;15380:42;;-1:-1:-1;;;;;15393:8:0;;;;15403:4;;15409:12;15380;:42::i;:::-;15372:51;;;;;;;;15434:18;;:23;15430:45;;;15468:4;15461:11;;;;15430:45;15540:44;15569:14;;15540:24;15549:14;;15540:4;:8;;:24;;;;:::i;:44::-;15518:66;-1:-1:-1;15595:16:0;;15591:38;;;15622:4;15615:11;;;;15591:38;15653:18;;15639:11;:32;15635:75;;;-1:-1:-1;15689:18:0;;15635:75;15771:18;;:35;;15794:11;15771:35;:22;:35;:::i;:::-;15750:18;:56;15905:11;;15871:46;;15884:6;;15892:11;;-1:-1:-1;;;;;15905:11:0;15871:12;:46::i;:::-;15863:55;;;;;;;;15930:31;;;-1:-1:-1;;;;;15930:31:0;;;;;;;;;;15957:3;15930:31;;;;;;;;;;;;;;;-1:-1:-1;15975:4:0;;15203:782;-1:-1:-1;;;15203:782:0:o

Swarm Source

bzzr://2010bc52368ea0ee38b0099f8ceee568961a3f0c4d317bc50903c65ca8945c15

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Decentralized exchange order book contract.

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.