| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| 0x164762d3cff4dda8713fc997e6aeed1ff728c10100ca61a958b9d5028575b72c | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| 0x6977b341453089df5dd00508122de9a069b57d7b0af37872b8ed660463769804 | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| 0xf4209738b2a65920c476e312578adae4de0df0882df3f2bcd01cbd3d6b38d63a | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| 0x06a1628facbf735f08b0188388a2618438096e6b89b5807ab6b4a9ff10ceb853 | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| 0xd803ddf84280efb78084c1972ccf217f17e09f3a2bf3f2dc3731790b9ff10b69 | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| 0x11c2af8ef7263920d1038b2106083310ffa4f96b2d762bac4e947301150501f3 | Cancel Order | (pending) | 6 days ago | IN | 0 ETH | (Pending) | |||
| Buy Order With E... | 24130389 | 65 days ago | IN | 0 ETH | 0.00000429 | ||||
| Buy Order With E... | 24121747 | 67 days ago | IN | 0 ETH | 0.00000595 | ||||
| Buy Order With E... | 23920698 | 95 days ago | IN | 0 ETH | 0.00000994 | ||||
| Buy Order With E... | 23696179 | 126 days ago | IN | 0 ETH | 0.00001741 | ||||
| Buy Order With E... | 23696179 | 126 days ago | IN | 0.00000074 ETH | 0.00001195 | ||||
| Buy Order With E... | 23696166 | 126 days ago | IN | 0 ETH | 0.00001912 | ||||
| Buy Order With E... | 23696160 | 126 days ago | IN | 0.00000017 ETH | 0.00001561 | ||||
| Buy Order With E... | 23696108 | 126 days ago | IN | 0 ETH | 0.00001545 | ||||
| Buy Order With E... | 23696094 | 126 days ago | IN | 0.000011 ETH | 0.00001632 | ||||
| Buy Order With E... | 23696023 | 126 days ago | IN | 0 ETH | 0.00001959 | ||||
| Buy Order With E... | 23696023 | 126 days ago | IN | 0.00043 ETH | 0.00001769 | ||||
| Buy Order With E... | 23696010 | 126 days ago | IN | 0 ETH | 0.00002031 | ||||
| Buy Order With E... | 23696010 | 126 days ago | IN | 0.00013 ETH | 0.00002014 | ||||
| Buy Order With E... | 23654359 | 132 days ago | IN | 0 ETH | 0.00001713 | ||||
| Buy Order With E... | 23654359 | 132 days ago | IN | 0 ETH | 0.00001713 | ||||
| Buy Order With E... | 23603344 | 139 days ago | IN | 0 ETH | 0.00001744 | ||||
| Buy Order With E... | 23603333 | 139 days ago | IN | 0 ETH | 0.00001689 | ||||
| Buy Order With E... | 23535023 | 149 days ago | IN | 0 ETH | 0.00005327 | ||||
| Buy Order With E... | 23534813 | 149 days ago | IN | 0 ETH | 0.00007738 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 24262789 | 47 days ago | 0.00000002 ETH | ||||
| Transfer | 24262789 | 47 days ago | 0.00000893 ETH | ||||
| Transfer | 24130389 | 65 days ago | 0.00002481 ETH | ||||
| Transfer | 24130389 | 65 days ago | 0.00989999 ETH | ||||
| Transfer | 23920698 | 95 days ago | 0.00005804 ETH | ||||
| Transfer | 23920698 | 95 days ago | 0.02316025 ETH | ||||
| Transfer | 23696179 | 126 days ago | 0.00000059 ETH | ||||
| Transfer | 23696179 | 126 days ago | 0.00023805 ETH | ||||
| Transfer | 23696179 | 126 days ago | 0 ETH | ||||
| Transfer | 23696179 | 126 days ago | 0.00000073 ETH | ||||
| Transfer | 23696166 | 126 days ago | 0.00000059 ETH | ||||
| Transfer | 23696166 | 126 days ago | 0.00023871 ETH | ||||
| Transfer | 23696160 | 126 days ago | 0 ETH | ||||
| Transfer | 23696160 | 126 days ago | 0.00000016 ETH | ||||
| Transfer | 23696108 | 126 days ago | 0.0000007 ETH | ||||
| Transfer | 23696108 | 126 days ago | 0.00028101 ETH | ||||
| Transfer | 23696094 | 126 days ago | 0.00000002 ETH | ||||
| Transfer | 23696094 | 126 days ago | 0.00001097 ETH | ||||
| Transfer | 23696023 | 126 days ago | 0.00000188 ETH | ||||
| Transfer | 23696023 | 126 days ago | 0.00075371 ETH | ||||
| Transfer | 23696023 | 126 days ago | 0.00000107 ETH | ||||
| Transfer | 23696023 | 126 days ago | 0.00042892 ETH | ||||
| Transfer | 23696010 | 126 days ago | 0.00000125 ETH | ||||
| Transfer | 23696010 | 126 days ago | 0.00050225 ETH | ||||
| Transfer | 23696010 | 126 days ago | 0.00000032 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Exchange
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-02-08
*/
// Saturn Protocol
// File: contracts/SafeMath.sol
pragma solidity ^0.4.24;
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;
}
}
// File: contracts/BytesLib.sol
// from
// https://github.com/GNSPS/solidity-bytes-utils/blob/master/contracts/BytesLib.sol
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;
}
}
// File: contracts/ERC223.sol
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 ERC223I is ERC223 {
using SafeMath for uint;
mapping(address => uint) balances;
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
function name() constant public returns (string _name) {
return name;
}
function symbol() constant public returns (string _symbol) {
return symbol;
}
function decimals() constant public returns (uint8 _decimals) {
return decimals;
}
function totalSupply() constant public returns (uint256 _totalSupply) {
return totalSupply;
}
function transfer(address _to, uint _value, bytes _data) public returns (bool success) {
if (isContract(_to)) {
return transferToContract(_to, _value, _data);
} else {
return transferToAddress(_to, _value, _data);
}
}
function transfer(address _to, uint _value) public returns (bool success) {
bytes memory empty;
if (isContract(_to)) {
return transferToContract(_to, _value, empty);
} else {
return transferToAddress(_to, _value, empty);
}
}
function isContract(address _addr) private view returns (bool is_contract) {
uint length;
assembly {
length := extcodesize(_addr)
}
return (length > 0);
}
function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
if (balanceOf(msg.sender) < _value) revert();
balances[msg.sender] = balanceOf(msg.sender).sub(_value);
balances[_to] = balanceOf(_to).add(_value);
Transfer(msg.sender, _to, _value);
ERC223Transfer(msg.sender, _to, _value, _data);
return true;
}
function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
if (balanceOf(msg.sender) < _value) revert();
balances[msg.sender] = balanceOf(msg.sender).sub(_value);
balances[_to] = balanceOf(_to).add(_value);
ContractReceiver reciever = ContractReceiver(_to);
reciever.tokenFallback(msg.sender, _value, _data);
Transfer(msg.sender, _to, _value);
ERC223Transfer(msg.sender, _to, _value, _data);
return true;
}
function balanceOf(address _owner) constant public returns (uint balance) {
return balances[_owner];
}
}
// File: contracts/Exchange.sol
// Saturn Protocol
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;
bool private rentrancy_lock = false;
modifier nonReentrant() {
require(!rentrancy_lock);
rentrancy_lock = true;
_;
rentrancy_lock = false;
}
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
);
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 = msg.sender;
}
function() payable public { revert(); }
//////////////////
// public views //
//////////////////
// add views for prices too
// 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);
uint256 pulledAmount = pullTokens(sellToken, amount);
return _newOrder(msg.sender, sellToken, buyToken, pulledAmount, priceMul, priceDiv, etherAddress);
}
function sellERC20TokenWithRing(
address sellToken,
address buyToken,
uint256 amount,
uint256 priceMul,
uint256 priceDiv,
address ring
) public returns(uint256 orderId) {
require(amount > 0);
uint256 pulledAmount = pullTokens(sellToken, amount);
return _newOrder(msg.sender, sellToken, buyToken, pulledAmount, priceMul, priceDiv, ring);
}
function buyOrderWithERC20Token(
uint256 orderId,
address token,
uint256 amount
) public {
require(amount > 0);
require(pullTokens(token, amount) > 0);
_executeOrder(msg.sender, orderId, token, amount);
}
function cancelOrder(uint256 orderId) public nonReentrant {
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
// 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 nonReentrant 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(order.active);
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 nonReentrant {
/////////////////////////
// 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
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
ERC20(tkn).transfer(destination, amount);
}
return true;
}
// ERC20 fixture
function pullTokens(address token, uint256 amount) private nonReentrant returns(uint256) {
ERC20 tkn = ERC20(token);
// need to do this balance dance in order to account for deflationary tokens
uint256 balanceBefore = tkn.balanceOf(address(this));
tkn.transferFrom(msg.sender, address(this), amount);
uint256 balanceAfter = tkn.balanceOf(address(this));
return balanceAfter.sub(balanceBefore);
}
function _topUpTradeMining(uint256 amount) private returns(bool) {
tradeMiningBalance = tradeMiningBalance.add(amount);
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
60806040526000805460ff1916905560048054600160a060020a031916905534801561002a57600080fd5b5060405160c080611a7783398101604090815281516020830151918301516060840151608085015160a09095015160058054600160a060020a03958616600160a060020a031991821617909155600880549590961694811694909417909455600991909155600a55600b92909255600c5560068054909116331790556119c2806100b56000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166322fdd3ea81146101375780632453ffa81461018257806341f9377f14610197578063514fcac7146101b457806353e1a7a0146101cc57806361d027b3146101e15780636fb768e81461021257806378d067dd1461022757806387bda8f21461024257806389a447e01461025a578063a4ff9c341461026f578063c0ee0b8a1461027a578063c49063e7146102e3578063c655de64146102fe578063cb2bb26414610313578063cf6ff1731461032d578063d4fac45d14610354578063d6e435851461037b578063e3319e82146103a7578063eeb3377a146103c9578063f2037fec146103f9578063fc5f42411461040e578063ff700e5214610423575b600080fd5b34801561014357600080fd5b50610170600160a060020a0360043581169060243581169060443590606435906084359060a4351661043e565b60408051918252519081900360200190f35b34801561018e57600080fd5b50610170610474565b3480156101a357600080fd5b506101b260043560243561047a565b005b3480156101c057600080fd5b506101b26004356104a8565b3480156101d857600080fd5b50610170610660565b3480156101ed57600080fd5b506101f6610666565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610170610675565b34801561023357600080fd5b5061017060043560243561067b565b34801561024e57600080fd5b50610170600435610738565b34801561026657600080fd5b5061017061074d565b6101b2600435610753565b34801561028657600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101b2948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061077d9650505050505050565b3480156102ef57600080fd5b50610170600435602435610882565b34801561030a57600080fd5b506101706108fb565b610170600160a060020a0360043516602435604435610901565b34801561033957600080fd5b506101b2600435600160a060020a0360243516604435610933565b34801561036057600080fd5b50610170600160a060020a0360043581169060243516610962565b34801561038757600080fd5b5061039360043561098e565b604080519115158252519081900360200190f35b610170600160a060020a036004358116906024359060443590606435166109aa565b3480156103d557600080fd5b50610170600160a060020a03600435811690602435166044356064356084356109dd565b34801561040557600080fd5b506101b2610a27565b34801561041a57600080fd5b50610170610a83565b34801561042f57600080fd5b50610170600435602435610a89565b60008080861161044d57600080fd5b6104578887610b64565b905061046833898984898989610d6b565b98975050505050505050565b60035481565b600654600160a060020a0316331461049157600080fd5b80151561049d57600080fd5b600b91909155600c55565b6000805460ff16156104b957600080fd5b506000805460ff1916600117815581815260026020526040812060048101549091106104e457600080fd5b805460a060020a900460ff1615156104fb57600080fd5b8054600160a060020a0316331461051157600080fd5b600481015433600090815260016020818152604080842092860154600160a060020a0316845291905290205461054c9163ffffffff61104a16565b3360009081526001602081815260408084209286018054600160a060020a03908116865293909252909220929092558254600484015491546105939391821692911661105c565b151561059e57600080fd5b6000828152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051848152429281019290925280517faa2a006d186dc89a3d6851834c85d16226329ac40bcad6531a5756a38ed1c90f9281900390910190a150506000805460ff19169055565b60095481565b600854600160a060020a031681565b600b5481565b600081815260026020526040812060045460018201548391600160a060020a03918216911614156106f5576106d182600601546106c584600501548861116490919063ffffffff16565b9063ffffffff61119316565b90506106ee600a546106c56009548461116490919063ffffffff16565b9250610730565b6004546002830154600160a060020a039081169116141561072b576106ee600a546106c56009548861116490919063ffffffff16565b600092505b505092915050565b60009081526002602052604090206004015490565b600a5481565b6000341161076057600080fd5b60045461077a9033908390600160a060020a0316346111aa565b50565b80511580156107965750600554600160a060020a031633145b156107aa576107a4826113cb565b5061087d565b8051605414156107fe576107a483336107ca84604063ffffffff6113ec16565b856107dc86600063ffffffff61141c16565b6107ed87602063ffffffff61141c16565b600454600160a060020a0316610d6b565b805160681415610857576107a4833361081e84604063ffffffff6113ec16565b8561083086600063ffffffff61141c16565b61084187602063ffffffff61141c16565b61085288605463ffffffff6113ec16565b610d6b565b8051602014156101325761087d8361087683600063ffffffff61141c16565b33856111aa565b505050565b600080808415156108965760009250610730565b6000848152600260205260409020805490925060a060020a900460ff1615156108c25760009250610730565b6108dd600c546106c5600b548861116490919063ffffffff16565b90508060075410156108f3576007549250610730565b809250610730565b60075481565b600034811061090f57600080fd5b60045461092b903390600160a060020a03168634878784610d6b565b949350505050565b6000811161094057600080fd5b600061094c8383610b64565b1161095657600080fd5b61087d338484846111aa565b600160a060020a0380821660009081526001602090815260408083209386168352929052205492915050565b60009081526002602052604090205460a060020a900460ff1690565b60003481106109b857600080fd5b6004546109d4903390600160a060020a03168734888888610d6b565b95945050505050565b6000808085116109ec57600080fd5b6109f68786610b64565b9050610a1c338888848888600460009054906101000a9004600160a060020a0316610d6b565b979650505050505050565b600654600090600160a060020a03163314610a4157600080fd5b600754600010610a5057600080fd5b50600780546000909155600654600554610a7891600160a060020a039081169184911661105c565b151561077a57600080fd5b600c5481565b60008080808511610a9957600080fd5b60008481526002602052604090206004546001820154919350600160a060020a0391821691161480610add57506004546002830154600160a060020a039081169116145b15610b3557600954600a54610af79163ffffffff61104a16565b9050610b2e816106c584600501546106c5600a54610b2288600601548c61116490919063ffffffff16565b9063ffffffff61116416565b9250610b57565b610b5482600501546106c584600601548861116490919063ffffffff16565b92505b6000831161073057600080fd5b6000805481908190819060ff1615610b7b57600080fd5b6000805460ff19166001178155604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051889550600160a060020a038616926370a0823192602480820193602093909283900390910190829087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506040513d6020811015610c1857600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018890529051919350600160a060020a038516916323b872dd916064808201926020929091908290030181600087803b158015610c8c57600080fd5b505af1158015610ca0573d6000803e3d6000fd5b505050506040513d6020811015610cb657600080fd5b5050604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b505050506040513d6020811015610d4357600080fd5b50519050610d57818363ffffffff61104a16565b6000805460ff191690559695505050505050565b6000805460ff1615610d7c57600080fd5b6000805460ff191660011781558511610d9457600080fd5b60008411610da157600080fd5b60008311610dae57600080fd5b600160a060020a038781169087161415610dc757600080fd5b600360008154809291906001019190505590506101006040519081016040528089600160a060020a0316815260200160011515815260200188600160a060020a0316815260200187600160a060020a0316815260200183600160a060020a03168152602001868152602001858152602001848152506002600083815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060808201518160030160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151816005015560e08201518160060155905050610f9f85600160008b600160a060020a0316600160a060020a0316815260200190815260200160002060008a600160a060020a0316600160a060020a031681526020019081526020016000205461143c90919063ffffffff16565b600160a060020a03808a1660008181526001602090815260408083208d86168085529083529281902095909555845186815290810192909252818401528882166060820152908416608082015260a0810187905260c0810186905260e081018590524261010082015290517f9684ab37f360879637d39ea3a41f58c0705a15f80d518ec92bd1c7383ef8a61a918190036101200190a16000805460ff19169055979650505050505050565b60008282111561105657fe5b50900390565b600454600090600160a060020a03838116911614156110b157604051600160a060020a0385169084156108fc029085906000818181858888f193505050501580156110ab573d6000803e3d6000fd5b5061115a565b81600160a060020a031663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b505050506040513d602081101561115757600080fd5b50505b5060019392505050565b6000828202831580611180575082848281151561117d57fe5b04145b151561118857fe5b8091505b5092915050565b60008082848115156111a157fe5b04949350505050565b60008054819060ff16156111bd57600080fd5b6000805460ff1916600117905560035485106111d857600080fd5b600083116111e557600080fd5b6000858152600260205260409020805490925060a060020a900460ff16151561120d57600080fd5b8154600160a060020a038781169116141561122757600080fd5b6002820154600160a060020a0385811691161461124357600080fd5b6004546003830154600160a060020a03908116911614611276576003820154600160a060020a0316321461127657600080fd5b6004546001830154600160a060020a03908116911614156112a35761129c86868561144b565b90506112d7565b6004546002830154600160a060020a03908116911614156112c95761129c8686856115bf565b6112d486868561173d565b90505b6112e18187611880565b15156112ec57600080fd5b60008581526002602052604090206004015415156113b9576000858152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051878152429281019290925280517feb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e98809281900390910190a15b50506000805460ff1916905550505050565b6007546000906113e1908363ffffffff61143c16565b600755506001919050565b6000808260140184511015151561140257600080fd5b505001602001516c01000000000000000000000000900490565b6000808260200184511015151561143257600080fd5b5050016020015190565b60008282018381101561118857fe5b6000828152600260205260408120600681015460058201548391829161147d91906106c590889063ffffffff61116416565b915061149a600a546106c56009548561116490919063ffffffff16565b9050600082116114a957600080fd5b60048301548211156114ba57600080fd5b60048301546114cf908363ffffffff61104a16565b6004840155825460028401546114f391600160a060020a039081169188911661105c565b15156114fe57600080fd5b61152587611512848463ffffffff61104a16565b6001860154600160a060020a031661105c565b151561153057600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688611570868663ffffffff61104a16565b60408051600160a060020a0395861681529390941660208401528284019190915260608201526080810188905260a081018490524260c082015290519081900360e00190a19695505050505050565b6000828152600260205260408120600a54600954839182916115ed91906106c590889063ffffffff61116416565b915061161283600601546106c58560050154610b22868a61104a90919063ffffffff16565b90506000811161162157600080fd5b600483015481111561163257600080fd5b6004830154611647908263ffffffff61104a16565b6004840155825461167e90600160a060020a031661166b878563ffffffff61104a16565b6002860154600160a060020a031661105c565b151561168957600080fd5b60018301546116a49088908390600160a060020a031661105c565b15156116af57600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688846116f08a8863ffffffff61104a16565b60408051600160a060020a039687168152949095166020850152838501929092526060830152608082015260a081018590524260c082015290519081900360e00190a15095945050505050565b600082815260026020526040812060068101546005820154839161176c916106c590879063ffffffff61116416565b90506000811161177b57600080fd5b600482015481111561178c57600080fd5b60048201546117a1908263ffffffff61104a16565b6004830155815460028301546117c591600160a060020a039081169187911661105c565b15156117d057600080fd5b815460a060020a900460ff1615156117e757600080fd5b60018201546118029087908390600160a060020a031661105c565b151561180d57600080fd5b815460408051600160a060020a03808a16825290921660208301528181018790526060820183905260808201869052600060a08301524260c0830152517f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a72859181900360e00190a150600095945050505050565b600080831515611893576001915061118c565b6008546004546118b191600160a060020a039081169187911661105c565b15156118bc57600080fd5b60075415156118ce576001915061118c565b6118e9600c546106c5600b548761116490919063ffffffff16565b90508015156118fb576001915061118c565b60075481111561190a57506007545b60075461191d908263ffffffff61104a16565b6007556005546119399084908390600160a060020a031661105c565b151561194457600080fd5b60408051600160a060020a038516815260208101839052428183015290517f5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c29181900360600190a150600193925050505600a165627a7a72305820b0946e0e1d3d1e148149c2bb4e2cd4e7a7e4ff34839dd14ff5edcfedca71a0cb0029000000000000000000000000b9440022a095343b440d590fcd2d7a3794bd76c800000000000000000000000092eeb915dafe3803f8a9d12000765c3b6af6d5fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400
Deployed Bytecode
0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166322fdd3ea81146101375780632453ffa81461018257806341f9377f14610197578063514fcac7146101b457806353e1a7a0146101cc57806361d027b3146101e15780636fb768e81461021257806378d067dd1461022757806387bda8f21461024257806389a447e01461025a578063a4ff9c341461026f578063c0ee0b8a1461027a578063c49063e7146102e3578063c655de64146102fe578063cb2bb26414610313578063cf6ff1731461032d578063d4fac45d14610354578063d6e435851461037b578063e3319e82146103a7578063eeb3377a146103c9578063f2037fec146103f9578063fc5f42411461040e578063ff700e5214610423575b600080fd5b34801561014357600080fd5b50610170600160a060020a0360043581169060243581169060443590606435906084359060a4351661043e565b60408051918252519081900360200190f35b34801561018e57600080fd5b50610170610474565b3480156101a357600080fd5b506101b260043560243561047a565b005b3480156101c057600080fd5b506101b26004356104a8565b3480156101d857600080fd5b50610170610660565b3480156101ed57600080fd5b506101f6610666565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610170610675565b34801561023357600080fd5b5061017060043560243561067b565b34801561024e57600080fd5b50610170600435610738565b34801561026657600080fd5b5061017061074d565b6101b2600435610753565b34801561028657600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101b2948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061077d9650505050505050565b3480156102ef57600080fd5b50610170600435602435610882565b34801561030a57600080fd5b506101706108fb565b610170600160a060020a0360043516602435604435610901565b34801561033957600080fd5b506101b2600435600160a060020a0360243516604435610933565b34801561036057600080fd5b50610170600160a060020a0360043581169060243516610962565b34801561038757600080fd5b5061039360043561098e565b604080519115158252519081900360200190f35b610170600160a060020a036004358116906024359060443590606435166109aa565b3480156103d557600080fd5b50610170600160a060020a03600435811690602435166044356064356084356109dd565b34801561040557600080fd5b506101b2610a27565b34801561041a57600080fd5b50610170610a83565b34801561042f57600080fd5b50610170600435602435610a89565b60008080861161044d57600080fd5b6104578887610b64565b905061046833898984898989610d6b565b98975050505050505050565b60035481565b600654600160a060020a0316331461049157600080fd5b80151561049d57600080fd5b600b91909155600c55565b6000805460ff16156104b957600080fd5b506000805460ff1916600117815581815260026020526040812060048101549091106104e457600080fd5b805460a060020a900460ff1615156104fb57600080fd5b8054600160a060020a0316331461051157600080fd5b600481015433600090815260016020818152604080842092860154600160a060020a0316845291905290205461054c9163ffffffff61104a16565b3360009081526001602081815260408084209286018054600160a060020a03908116865293909252909220929092558254600484015491546105939391821692911661105c565b151561059e57600080fd5b6000828152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051848152429281019290925280517faa2a006d186dc89a3d6851834c85d16226329ac40bcad6531a5756a38ed1c90f9281900390910190a150506000805460ff19169055565b60095481565b600854600160a060020a031681565b600b5481565b600081815260026020526040812060045460018201548391600160a060020a03918216911614156106f5576106d182600601546106c584600501548861116490919063ffffffff16565b9063ffffffff61119316565b90506106ee600a546106c56009548461116490919063ffffffff16565b9250610730565b6004546002830154600160a060020a039081169116141561072b576106ee600a546106c56009548861116490919063ffffffff16565b600092505b505092915050565b60009081526002602052604090206004015490565b600a5481565b6000341161076057600080fd5b60045461077a9033908390600160a060020a0316346111aa565b50565b80511580156107965750600554600160a060020a031633145b156107aa576107a4826113cb565b5061087d565b8051605414156107fe576107a483336107ca84604063ffffffff6113ec16565b856107dc86600063ffffffff61141c16565b6107ed87602063ffffffff61141c16565b600454600160a060020a0316610d6b565b805160681415610857576107a4833361081e84604063ffffffff6113ec16565b8561083086600063ffffffff61141c16565b61084187602063ffffffff61141c16565b61085288605463ffffffff6113ec16565b610d6b565b8051602014156101325761087d8361087683600063ffffffff61141c16565b33856111aa565b505050565b600080808415156108965760009250610730565b6000848152600260205260409020805490925060a060020a900460ff1615156108c25760009250610730565b6108dd600c546106c5600b548861116490919063ffffffff16565b90508060075410156108f3576007549250610730565b809250610730565b60075481565b600034811061090f57600080fd5b60045461092b903390600160a060020a03168634878784610d6b565b949350505050565b6000811161094057600080fd5b600061094c8383610b64565b1161095657600080fd5b61087d338484846111aa565b600160a060020a0380821660009081526001602090815260408083209386168352929052205492915050565b60009081526002602052604090205460a060020a900460ff1690565b60003481106109b857600080fd5b6004546109d4903390600160a060020a03168734888888610d6b565b95945050505050565b6000808085116109ec57600080fd5b6109f68786610b64565b9050610a1c338888848888600460009054906101000a9004600160a060020a0316610d6b565b979650505050505050565b600654600090600160a060020a03163314610a4157600080fd5b600754600010610a5057600080fd5b50600780546000909155600654600554610a7891600160a060020a039081169184911661105c565b151561077a57600080fd5b600c5481565b60008080808511610a9957600080fd5b60008481526002602052604090206004546001820154919350600160a060020a0391821691161480610add57506004546002830154600160a060020a039081169116145b15610b3557600954600a54610af79163ffffffff61104a16565b9050610b2e816106c584600501546106c5600a54610b2288600601548c61116490919063ffffffff16565b9063ffffffff61116416565b9250610b57565b610b5482600501546106c584600601548861116490919063ffffffff16565b92505b6000831161073057600080fd5b6000805481908190819060ff1615610b7b57600080fd5b6000805460ff19166001178155604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051889550600160a060020a038616926370a0823192602480820193602093909283900390910190829087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506040513d6020811015610c1857600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018890529051919350600160a060020a038516916323b872dd916064808201926020929091908290030181600087803b158015610c8c57600080fd5b505af1158015610ca0573d6000803e3d6000fd5b505050506040513d6020811015610cb657600080fd5b5050604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b505050506040513d6020811015610d4357600080fd5b50519050610d57818363ffffffff61104a16565b6000805460ff191690559695505050505050565b6000805460ff1615610d7c57600080fd5b6000805460ff191660011781558511610d9457600080fd5b60008411610da157600080fd5b60008311610dae57600080fd5b600160a060020a038781169087161415610dc757600080fd5b600360008154809291906001019190505590506101006040519081016040528089600160a060020a0316815260200160011515815260200188600160a060020a0316815260200187600160a060020a0316815260200183600160a060020a03168152602001868152602001858152602001848152506002600083815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060808201518160030160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151816005015560e08201518160060155905050610f9f85600160008b600160a060020a0316600160a060020a0316815260200190815260200160002060008a600160a060020a0316600160a060020a031681526020019081526020016000205461143c90919063ffffffff16565b600160a060020a03808a1660008181526001602090815260408083208d86168085529083529281902095909555845186815290810192909252818401528882166060820152908416608082015260a0810187905260c0810186905260e081018590524261010082015290517f9684ab37f360879637d39ea3a41f58c0705a15f80d518ec92bd1c7383ef8a61a918190036101200190a16000805460ff19169055979650505050505050565b60008282111561105657fe5b50900390565b600454600090600160a060020a03838116911614156110b157604051600160a060020a0385169084156108fc029085906000818181858888f193505050501580156110ab573d6000803e3d6000fd5b5061115a565b81600160a060020a031663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b505050506040513d602081101561115757600080fd5b50505b5060019392505050565b6000828202831580611180575082848281151561117d57fe5b04145b151561118857fe5b8091505b5092915050565b60008082848115156111a157fe5b04949350505050565b60008054819060ff16156111bd57600080fd5b6000805460ff1916600117905560035485106111d857600080fd5b600083116111e557600080fd5b6000858152600260205260409020805490925060a060020a900460ff16151561120d57600080fd5b8154600160a060020a038781169116141561122757600080fd5b6002820154600160a060020a0385811691161461124357600080fd5b6004546003830154600160a060020a03908116911614611276576003820154600160a060020a0316321461127657600080fd5b6004546001830154600160a060020a03908116911614156112a35761129c86868561144b565b90506112d7565b6004546002830154600160a060020a03908116911614156112c95761129c8686856115bf565b6112d486868561173d565b90505b6112e18187611880565b15156112ec57600080fd5b60008581526002602052604090206004015415156113b9576000858152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051878152429281019290925280517feb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e98809281900390910190a15b50506000805460ff1916905550505050565b6007546000906113e1908363ffffffff61143c16565b600755506001919050565b6000808260140184511015151561140257600080fd5b505001602001516c01000000000000000000000000900490565b6000808260200184511015151561143257600080fd5b5050016020015190565b60008282018381101561118857fe5b6000828152600260205260408120600681015460058201548391829161147d91906106c590889063ffffffff61116416565b915061149a600a546106c56009548561116490919063ffffffff16565b9050600082116114a957600080fd5b60048301548211156114ba57600080fd5b60048301546114cf908363ffffffff61104a16565b6004840155825460028401546114f391600160a060020a039081169188911661105c565b15156114fe57600080fd5b61152587611512848463ffffffff61104a16565b6001860154600160a060020a031661105c565b151561153057600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688611570868663ffffffff61104a16565b60408051600160a060020a0395861681529390941660208401528284019190915260608201526080810188905260a081018490524260c082015290519081900360e00190a19695505050505050565b6000828152600260205260408120600a54600954839182916115ed91906106c590889063ffffffff61116416565b915061161283600601546106c58560050154610b22868a61104a90919063ffffffff16565b90506000811161162157600080fd5b600483015481111561163257600080fd5b6004830154611647908263ffffffff61104a16565b6004840155825461167e90600160a060020a031661166b878563ffffffff61104a16565b6002860154600160a060020a031661105c565b151561168957600080fd5b60018301546116a49088908390600160a060020a031661105c565b15156116af57600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688846116f08a8863ffffffff61104a16565b60408051600160a060020a039687168152949095166020850152838501929092526060830152608082015260a081018590524260c082015290519081900360e00190a15095945050505050565b600082815260026020526040812060068101546005820154839161176c916106c590879063ffffffff61116416565b90506000811161177b57600080fd5b600482015481111561178c57600080fd5b60048201546117a1908263ffffffff61104a16565b6004830155815460028301546117c591600160a060020a039081169187911661105c565b15156117d057600080fd5b815460a060020a900460ff1615156117e757600080fd5b60018201546118029087908390600160a060020a031661105c565b151561180d57600080fd5b815460408051600160a060020a03808a16825290921660208301528181018790526060820183905260808201869052600060a08301524260c0830152517f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a72859181900360e00190a150600095945050505050565b600080831515611893576001915061118c565b6008546004546118b191600160a060020a039081169187911661105c565b15156118bc57600080fd5b60075415156118ce576001915061118c565b6118e9600c546106c5600b548761116490919063ffffffff16565b90508015156118fb576001915061118c565b60075481111561190a57506007545b60075461191d908263ffffffff61104a16565b6007556005546119399084908390600160a060020a031661105c565b151561194457600080fd5b60408051600160a060020a038516815260208101839052428183015290517f5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c29181900360600190a150600193925050505600a165627a7a72305820b0946e0e1d3d1e148149c2bb4e2cd4e7a7e4ff34839dd14ff5edcfedca71a0cb0029
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
5202:14256:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7224:8;;;11731:389;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11731:389:0;-1:-1:-1;;;;;11731:389:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5828:25:0;;;;9534:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9534:208:0;;;;;;;;;12372:562;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12372:562:0;;;;;6025:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6025:21:0;;;;5995:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5995:23:0;;;;;;;;-1:-1:-1;;;;;5995:23:0;;;;;;;;;;;;;;6077:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6077:29:0;;;;8304:472;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8304:472:0;;;;;;;7612:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7612:116:0;;;;;6051:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6051:21:0;;;;11191:158;;;;;;9784:826;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9784:826:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9784:826:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9784:826:0;;-1:-1:-1;9784:826:0;;-1:-1:-1;;;;;;;9784:826:0;8782:414;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8782:414:0;;;;;;;5957:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5957:33:0;;;;10616:272;;-1:-1:-1;;;;;10616:272:0;;;;;;;;;12126:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12126:240:0;;;-1:-1:-1;;;;;12126:240:0;;;;;;;7370:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7370:119:0;-1:-1:-1;;;;;7370:119:0;;;;;;;;;;7495:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7495:111:0;;;;;;;;;;;;;;;;;;;;;;;10894:291;;-1:-1:-1;;;;;10894:291:0;;;;;;;;;;;;;;;;11355:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11355:370:0;-1:-1:-1;;;;;11355:370:0;;;;;;;;;;;;;;;;9276:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9276:252:0;;;;6111:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6111:29:0;;;;7734:564;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7734:564:0;;;;;;;11731:389;11916:15;;11948:10;;;11940:19;;;;;;11989:29;12000:9;12011:6;11989:10;:29::i;:::-;11966:52;;12032:82;12042:10;12054:9;12065:8;12075:12;12089:8;12099;12109:4;12032:9;:82::i;:::-;12025:89;11731:389;-1:-1:-1;;;;;;;;11731:389:0:o;5828:25::-;;;;:::o;9534:208::-;9630:5;;-1:-1:-1;;;;;9630:5:0;9616:10;:19;9612:38;;9639:8;;;9612:38;9664:11;;;9656:20;;;;;;9683:14;:23;;;;9713:14;:23;9534:208::o;12372:562::-;12437:19;5387:14;;;;5386:15;5378:24;;;;;;-1:-1:-1;5409:14:0;:21;;-1:-1:-1;;5409:21:0;5426:4;5409:21;;;12459:18;;;:9;:18;;;;;12492:12;;;;12459:18;;-1:-1:-1;12484:25:0;;;;;;12524:12;;-1:-1:-1;;;12524:12:0;;;;12516:21;;;;;;;;12566:11;;-1:-1:-1;;;;;12566:11:0;12552:10;:25;12544:34;;;;;;12669:12;;;;12636:10;12627:20;;;;:8;:20;;;;;;;;12648:15;;;;-1:-1:-1;;;;;12648:15:0;12627:37;;;;;;;;:55;;;:41;:55;:::i;:::-;12596:10;12587:20;;;;:8;:20;;;;;;;;12608:15;;;;;-1:-1:-1;;;;;12608:15:0;;;12587:37;;;;;;;;;:95;;;;12710:11;;12723:12;;;;12737:15;;12697:56;;12710:11;;;;12723:12;12737:15;12697:12;:56::i;:::-;12689:65;;;;;;;;12870:18;;;;:9;:18;;;;;;;;12863:25;;-1:-1:-1;;12863:25:0;;;;;;;;-1:-1:-1;;12863:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12900:28;;;;;12924:3;12900:28;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5462:5:0;5445:22;;-1:-1:-1;;5445:22:0;;;12372:562::o;6025:21::-;;;;:::o;5995:23::-;;;-1:-1:-1;;;;;5995:23:0;;:::o;6077:29::-;;;;:::o;8304:472::-;8375:12;8418:18;;;:9;:18;;;;;8468:12;;;8449:15;;;8375:12;;-1:-1:-1;;;;;8449:15:0;;;8468:12;;8449:31;8445:308;;;8517:46;8548:5;:14;;;8517:26;8528:5;:14;;;8517:6;:10;;:26;;;;:::i;:::-;:30;:46;:30;:46;:::i;:::-;8491:72;;8579:39;8611:6;;8579:27;8599:6;;8579:15;:19;;:27;;;;:::i;:39::-;8572:46;;8445:308;;;8654:12;;8636:14;;;;-1:-1:-1;;;;;8636:14:0;;;8654:12;;8636:30;8632:121;;;8684:30;8707:6;;8684:18;8695:6;;8684;:10;;:18;;;;:::i;8632:121::-;8744:1;8737:8;;8632:121;8304:472;;;;;;:::o;7612:116::-;7674:7;7697:18;;;:9;:18;;;;;:25;;;;7612:116::o;6051:21::-;;;;:::o;11191:158::-;11275:1;11263:9;:13;11255:22;;;;;;11319:12;;11284:59;;11298:10;;11310:7;;-1:-1:-1;;;;;11319:12:0;11333:9;11284:13;:59::i;:::-;11191:158;:::o;9784:826::-;10058:11;;:16;:45;;;;-1:-1:-1;10092:11:0;;-1:-1:-1;;;;;10092:11:0;10078:10;:25;10058:45;10054:551;;;10114:24;10132:5;10114:17;:24::i;:::-;;10054:551;;;10156:4;:11;10171:2;10156:17;10152:453;;;10184:101;10194:4;10200:10;10212:18;:4;10227:2;10212:18;:14;:18;:::i;:::-;10232:5;10239:14;:4;10251:1;10239:14;:11;:14;:::i;:::-;10255:15;:4;10267:2;10255:15;:11;:15;:::i;:::-;10272:12;;-1:-1:-1;;;;;10272:12:0;10184:9;:101::i;10152:453::-;10303:4;:11;10318:3;10303:18;10299:306;;;10332:107;10342:4;10348:10;10360:18;:4;10375:2;10360:18;:14;:18;:::i;:::-;10380:5;10387:14;:4;10399:1;10387:14;:11;:14;:::i;:::-;10403:15;:4;10415:2;10403:15;:11;:15;:::i;:::-;10420:18;:4;10435:2;10420:18;:14;:18;:::i;:::-;10332:9;:107::i;10299:306::-;10457:4;:11;10472:2;10457:17;10453:152;;;10485:54;10499:4;10505:14;:4;10517:1;10505:14;:11;:14;:::i;:::-;10521:10;10533:5;10485:13;:54::i;:::-;9784:826;;;:::o;8782:414::-;8860:7;;;8880:9;;8876:28;;;8900:1;8893:8;;;;8876:28;8932:18;;;;:9;:18;;;;;8962:12;;8932:18;;-1:-1:-1;;;;8962:12:0;;;;8961:13;8957:32;;;8985:1;8978:8;;;;8957:32;9017:44;9046:14;;9017:24;9026:14;;9017:4;:8;;:24;;;;:::i;:44::-;8995:66;;9095:11;9074:18;;:32;9070:121;;;9124:18;;9117:25;;;;9070:121;9172:11;9165:18;;;;5957:33;;;;:::o;10616:272::-;10732:15;10764:9;:13;-1:-1:-1;10756:22:0;;;;;;10814:12;;10792:90;;10802:10;;-1:-1:-1;;;;;10814:12:0;10828:8;10838:9;10849:8;10859;10814:12;10792:9;:90::i;:::-;10785:97;10616:272;-1:-1:-1;;;;10616:272:0:o;12126:240::-;12257:1;12248:10;;12240:19;;;;;;12302:1;12274:25;12285:5;12292:6;12274:10;:25::i;:::-;:29;12266:38;;;;;;12311:49;12325:10;12337:7;12346:5;12353:6;12311:13;:49::i;7370:119::-;-1:-1:-1;;;;;7462:14:0;;;7439:7;7462:14;;;:8;:14;;;;;;;;:21;;;;;;;;;;7370:119;;;;:::o;7495:111::-;7555:4;7575:18;;;:9;:18;;;;;:25;-1:-1:-1;;;7575:25:0;;;;;7495:111::o;10894:291::-;11037:15;11069:9;:13;-1:-1:-1;11061:22:0;;;;;;11119:12;;11097:82;;11107:10;;-1:-1:-1;;;;;11119:12:0;11133:8;11143:9;11154:8;11164;11174:4;11097:9;:82::i;:::-;11090:89;10894:291;-1:-1:-1;;;;;10894:291:0:o;11355:370::-;11513:15;;11545:10;;;11537:19;;;;;;11586:29;11597:9;11608:6;11586:10;:29::i;:::-;11563:52;;11629:90;11639:10;11651:9;11662:8;11672:12;11686:8;11696;11706:12;;;;;;;;;-1:-1:-1;;;;;11706:12:0;11629:9;:90::i;:::-;11622:97;11355:370;-1:-1:-1;;;;;;;11355:370:0:o;9276:252::-;9339:5;;9405:11;;-1:-1:-1;;;;;9339:5:0;9325:10;:19;9321:38;;9348:8;;;9321:38;9373:18;;9394:1;-1:-1:-1;9365:31:0;;;;;;-1:-1:-1;9419:18:0;;;9465:1;9444:22;;;9494:5;;9509:11;;9481:40;;-1:-1:-1;;;;;9494:5:0;;;;9419:18;;9509:11;9481:12;:40::i;:::-;9473:49;;;;;;;6111:29;;;;:::o;7734:564::-;7830:14;;;7861:26;;;7853:35;;;;;;7917:18;;;;:9;:18;;;;;7967:12;;;7948:15;;;7917:18;;-1:-1:-1;;;;;;7948:15:0;;;7967:12;;7948:31;;:65;;-1:-1:-1;8001:12:0;;7983:14;;;;-1:-1:-1;;;;;7983:14:0;;;8001:12;;7983:30;7948:65;7944:323;;;8053:6;;8042;;:18;;;:10;:18;:::i;:::-;8024:36;;8078:87;8157:7;8078:74;8137:5;:14;;;8078:54;8125:6;;8078:42;8105:5;:14;;;8078:22;:26;;:42;;;;:::i;:::-;:46;:54;:46;:54;:::i;:87::-;8069:96;;7944:323;;;8197:62;8244:5;:14;;;8197:42;8224:5;:14;;;8197:22;:26;;:42;;;;:::i;:62::-;8188:71;;7944:323;8290:1;8281:10;;8273:19;;;;;18874:428;18954:7;5387:14;;18954:7;;;;;;5387:14;;5386:15;5378:24;;;;;;5409:14;:21;;-1:-1:-1;;5409:21:0;5426:4;5409:21;;;19107:28;;;;;;19129:4;19107:28;;;;;;18988:5;;-1:-1:-1;;;;;;19107:13:0;;;;;:28;;;;;;;;;;;;;;;;;;:13;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;19107:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19107:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19107:28:0;19142:51;;;;;;19159:10;19142:51;;;;19179:4;19142:51;;;;;;;;;;;;19107:28;;-1:-1:-1;;;;;;19142:16:0;;;;;:51;;;;;19107:28;;19142:51;;;;;;;;-1:-1:-1;19142:16:0;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;19142:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19142:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19223:28:0;;;;;;19245:4;19223:28;;;;;;-1:-1:-1;;;;;19223:13:0;;;;;:28;;;;;19142:51;;19223:28;;;;;;;-1:-1:-1;19223:13:0;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;19223:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19223:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19223:28:0;;-1:-1:-1;19265:31:0;19223:28;19282:13;19265:31;:16;:31;:::i;:::-;5462:5;5445:22;;-1:-1:-1;;5445:22:0;;;19258:38;18874:428;-1:-1:-1;;;;;;18874:428:0:o;13017:854::-;13223:15;5387:14;;;;5386:15;5378:24;;;;;;5409:14;:21;;-1:-1:-1;;5409:21:0;5426:4;5409:21;;;13348:10;;13340:19;;;;;;13385:1;13374:12;;13366:21;;;;;;13413:1;13402:12;;13394:21;;;;;;-1:-1:-1;;;;;13430:21:0;;;;;;;;13422:30;;;;;;13580:10;;:12;;;;;;;;;;;;13570:22;;13620:73;;;;;;;;;13626:5;-1:-1:-1;;;;;13620:73:0;;;;;13633:4;13620:73;;;;;;13639:9;-1:-1:-1;;;;;13620:73:0;;;;;13650:8;-1:-1:-1;;;;;13620:73:0;;;;;13660:4;-1:-1:-1;;;;;13620:73:0;;;;;13666:6;13620:73;;;;13674:8;13620:73;;;;13684:8;13620:73;;;13599:9;:18;13609:7;13599:18;;;;;;;;;;;:94;;;;;;;;;;;;;-1:-1:-1;;;;;13599:94:0;;;;;-1:-1:-1;;;;;13599:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13599:94:0;;;;;-1:-1:-1;;;;;13599:94:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13599:94:0;;;;;-1:-1:-1;;;;;13599:94:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13599:94:0;;;;;-1:-1:-1;;;;;13599:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13729:38;13760:6;13729:8;:15;13738:5;-1:-1:-1;;;;;13729:15:0;-1:-1:-1;;;;;13729:15:0;;;;;;;;;;;;:26;13745:9;-1:-1:-1;;;;;13729:26:0;-1:-1:-1;;;;;13729:26:0;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;-1:-1:-1;;;;;13700:15:0;;;;;;;:8;:15;;;;;;;;:26;;;;;;;;;;;;;:67;;;;13781:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13861:3;13781:84;;;;;;;;;;;;;;;5462:5;5445:22;;-1:-1:-1;;5445:22:0;;;13017:854;;-1:-1:-1;;;;;;;13017:854:0:o;536:113::-;594:7;617:6;;;;610:14;;;;-1:-1:-1;638:5:0;;;536:113::o;18528:320::-;18660:12;;18636:4;;-1:-1:-1;;;;;18653:19:0;;;18660:12;;18653:19;18649:176;;;18683:28;;-1:-1:-1;;;;;18683:20:0;;;:28;;;;;18704:6;;18683:28;;;;18704:6;18683:20;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18683:28:0;18649:176;;;18783:3;-1:-1:-1;;;;;18777:19:0;;18797:11;18810:6;18777:40;;;;;;;;;;;;;-1:-1:-1;;;;;18777:40:0;-1:-1:-1;;;;;18777:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18777:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18777:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;18649:176:0;-1:-1:-1;18838:4:0;18528:320;;;;;:::o;107:147::-;165:7;193:5;;;212:6;;;:20;;;231:1;226;222;:5;;;;;;;;:10;212:20;205:28;;;;;;247:1;240:8;;107:147;;;;;;:::o;260:270::-;318:7;409:9;425:1;421;:5;;;;;;;;;260:270;-1:-1:-1;;;;260:270:0:o;16269:1465::-;16558:19;5387:14;;16558:19;;5387:14;;5386:15;5378:24;;;;;;5409:14;:21;;-1:-1:-1;;5409:21:0;5426:4;5409:21;;;16506:10;;16496:20;;16488:29;;;;;;16549:1;16532:18;;16524:27;;;;;;16580:18;;;;:9;:18;;;;;16613:12;;16580:18;;-1:-1:-1;;;;16613:12:0;;;;16605:21;;;;;;;;16651:11;;-1:-1:-1;;;;;16641:21:0;;;16651:11;;16641:21;;16633:30;;;;;;16690:14;;;;-1:-1:-1;;;;;16678:26:0;;;16690:14;;16678:26;16670:35;;;;;;16760:12;;16746:10;;;;-1:-1:-1;;;;;16746:10:0;;;16760:12;;16746:26;16742:69;;16784:10;;;;-1:-1:-1;;;;;16784:10:0;16798:9;16784:23;16776:32;;;;;;16963:12;;;16944:15;;;-1:-1:-1;;;;;16944:15:0;;;16963:12;;16944:31;16940:411;;;17045:49;17062:6;17070:7;17079:14;17045:16;:49::i;:::-;17038:56;;16940:411;;;17130:12;;17112:14;;;;-1:-1:-1;;;;;17112:14:0;;;17130:12;;17112:30;17108:243;;;17213:50;17231:6;17239:7;17248:14;17213:17;:50::i;17108:243::-;17293:50;17311:6;17319:7;17328:14;17293:17;:50::i;:::-;17286:57;;17108:243;17513:33;17533:4;17539:6;17513:19;:33::i;:::-;17505:42;;;;;;;;17613:18;;;;:9;:18;;;;;:25;;;:30;17609:120;;;17661:18;;;;:9;:18;;;;;;;;17654:25;;-1:-1:-1;;17654:25:0;;;;;;;;-1:-1:-1;;17654:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17693:28;;;;;17717:3;17693:28;;;;;;;;;;;;;;;;;;;17609:120;-1:-1:-1;;5462:5:0;5445:22;;-1:-1:-1;;5445:22:0;;;-1:-1:-1;;;;16269:1465:0:o;19308:147::-;19401:18;;19367:4;;19401:30;;19424:6;19401:30;:22;:30;:::i;:::-;19380:18;:51;-1:-1:-1;19445:4:0;19308:147;;;:::o;948:302::-;1017:7;1079:19;1059:6;1068:2;1059:11;1041:6;:13;:30;;1033:39;;;;;;;;-1:-1:-1;;1150:30:0;1166:4;1150:30;1144:37;1183:27;1140:71;;;948:302::o;1256:256::-;1322:7;1384:16;1364:6;1373:2;1364:11;1346:6;:13;:30;;1338:39;;;;;;;;-1:-1:-1;;1445:30:0;1461:4;1445:30;1439:37;;1256:256::o;655:133::-;713:7;741:5;;;760:6;;;;753:14;;;13877:833;13976:7;14061:18;;;:9;:18;;;;;14151:14;;;;14131;;;;13976:7;;;;14112:54;;14151:14;14112:34;;:14;;:34;:18;:34;:::i;:54::-;14086:80;;14188:39;14220:6;;14188:27;14208:6;;14188:15;:19;;:27;;;;:::i;:39::-;14173:54;-1:-1:-1;14262:1:0;14244:19;;14236:28;;;;;;14298:12;;;;14279:31;;;14271:40;;;;;;14333:12;;;;:33;;14350:15;14333:33;:16;:33;:::i;:::-;14318:12;;;:48;14429:11;;14458:14;;;;14416:57;;-1:-1:-1;;;;;14429:11:0;;;;14442:14;;14458;14416:12;:57::i;:::-;14408:66;;;;;;;;14518:64;14531:6;14539:25;:15;14559:4;14539:25;:19;:25;:::i;:::-;14566:15;;;;-1:-1:-1;;;;;14566:15:0;14518:12;:64::i;:::-;14510:73;;;;;;;;14611:11;;14597:89;;14603:6;;-1:-1:-1;;;;;14611:11:0;14624:7;14633:25;:15;14653:4;14633:25;:19;:25;:::i;:::-;14597:89;;;-1:-1:-1;;;;;14597:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14682:3;14597:89;;;;;;;;;;;;;;14700:4;13877:833;-1:-1:-1;;;;;;13877:833:0:o;14716:844::-;14816:7;14901:18;;;:9;:18;;;;;14972:6;;14960;;14816:7;;;;14941:38;;14972:6;14941:26;;:14;;:26;:18;:26;:::i;:38::-;14926:53;;15012:64;15061:5;:14;;;15012:44;15041:5;:14;;;15012:24;15031:4;15012:14;:18;;:24;;;;:::i;:64::-;14986:90;-1:-1:-1;15113:1:0;15095:19;;15087:28;;;;;;15149:12;;;;15130:31;;;15122:40;;;;;;15184:12;;;;:33;;15201:15;15184:33;:16;:33;:::i;:::-;15169:12;;;:48;15279:11;;15266:67;;-1:-1:-1;;;;;15279:11:0;15292:24;:14;15311:4;15292:24;:18;:24;:::i;:::-;15318:14;;;;-1:-1:-1;;;;;15318:14:0;15266:12;:67::i;:::-;15258:76;;;;;;;;15416:15;;;;15378:54;;15391:6;;15399:15;;-1:-1:-1;;;;;15416:15:0;15378:12;:54::i;:::-;15370:63;;;;;;;;15461:11;;15447:89;;15453:6;;-1:-1:-1;;;;;15461:11:0;15474:7;15483:15;15500:24;:14;15519:4;15500:24;:18;:24;:::i;:::-;15447:89;;;-1:-1:-1;;;;;15447:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15532:3;15447:89;;;;;;;;;;;;;;-1:-1:-1;15550:4:0;14716:844;-1:-1:-1;;;;;14716:844:0:o;15566:697::-;15666:7;15735:18;;;:9;:18;;;;;15825:14;;;;15805;;;;15666:7;;15786:54;;:34;;:14;;:34;:18;:34;:::i;:54::-;15760:80;-1:-1:-1;15875:1:0;15857:19;;15849:28;;;;;;15911:12;;;;15892:31;;;15884:40;;;;;;15946:12;;;;:33;;15963:15;15946:33;:16;:33;:::i;:::-;15931:12;;;:48;16009:11;;16038:14;;;;15996:57;;-1:-1:-1;;;;;16009:11:0;;;;16022:14;;16038;15996:12;:57::i;:::-;15988:66;;;;;;;;16069:12;;-1:-1:-1;;;16069:12:0;;;;16061:21;;;;;;;;16135:15;;;;16097:54;;16110:6;;16118:15;;-1:-1:-1;;;;;16135:15:0;16097:12;:54::i;:::-;16089:63;;;;;;;;16180:11;;16166:76;;;-1:-1:-1;;;;;16166:76:0;;;;;16180:11;;;16166:76;;;;;;;;;;;;;;;;;;;;;;16180:11;16166:76;;;;16238:3;16166:76;;;;;;;;;;;;;;-1:-1:-1;16256:1:0;;15566:697;-1:-1:-1;;;;;15566:697:0:o;17740:782::-;17815:4;;17832:9;;17828:31;;;17852:4;17845:11;;;;17828:31;17930:8;;17946:12;;17917:42;;-1:-1:-1;;;;;17930:8:0;;;;17940:4;;17946:12;17917;:42::i;:::-;17909:51;;;;;;;;17971:18;;:23;17967:45;;;18005:4;17998:11;;;;17967:45;18077:44;18106:14;;18077:24;18086:14;;18077:4;:8;;:24;;;;:::i;:44::-;18055:66;-1:-1:-1;18132:16:0;;18128:38;;;18159:4;18152:11;;;;18128:38;18190:18;;18176:11;:32;18172:75;;;-1:-1:-1;18226:18:0;;18172:75;18308:18;;:35;;18331:11;18308:35;:22;:35;:::i;:::-;18287:18;:56;18442:11;;18408:46;;18421:6;;18429:11;;-1:-1:-1;;;;;18442:11:0;18408:12;:46::i;:::-;18400:55;;;;;;;;18467:31;;;-1:-1:-1;;;;;18467:31:0;;;;;;;;;;18494:3;18467:31;;;;;;;;;;;;;;;-1:-1:-1;18512:4:0;;17740:782;-1:-1:-1;;;17740:782:0:o
Swarm Source
bzzr://b0946e0e1d3d1e148149c2bb4e2cd4e7a7e4ff34839dd14ff5edcfedca71a0cb
Loading...
Loading
Loading...
Loading
OVERVIEW
Order book DEX contract.Net Worth in USD
$240,051.42
Net Worth in ETH
121.094376
Token Allocations
EAN
92.65%
ETH
3.87%
XYO
2.06%
Others
1.42%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 92.65% | $0.00 | 1,010,679.465 | $0.00 | |
| ETH | 3.87% | $1,982.35 | 4.6877 | $9,292.75 | |
| ETH | 2.06% | $0.004038 | 1,223,993 | $4,942.86 | |
| ETH | 0.95% | $0.009992 | 227,773.6098 | $2,275.88 | |
| ETH | 0.23% | $0.021344 | 25,974.8795 | $554.41 | |
| ETH | 0.09% | $0.000663 | 325,215.7183 | $215.46 | |
| ETH | 0.08% | $0.014934 | 12,219.5401 | $182.48 | |
| ETH | 0.02% | $0.00 | 990 | $0.00 | |
| ETH | 0.02% | <$0.000001 | 1,011,999,998 | $37.15 | |
| ETH | 0.01% | $0.00002 | 1,665,839.6137 | $33.1 | |
| ETH | 0.01% | $0.000039 | 672,043.6839 | $26.16 | |
| ETH | <0.01% | $0.00 | 48,298.98 | $0.00 | |
| ETH | <0.01% | $0.000039 | 198,559 | $7.8 | |
| ETH | <0.01% | $0.000039 | 100,000 | $3.93 | |
| ETH | <0.01% | $0.000511 | 7,156 | $3.66 | |
| ETH | <0.01% | $0.000013 | 281,090.1178 | $3.66 | |
| ETH | <0.01% | $0.000398 | 9,091.7505 | $3.62 | |
| ETH | <0.01% | $0.032111 | 79.1461 | $2.54 | |
| ETH | <0.01% | $0.000039 | 62,677 | $2.46 | |
| ETH | <0.01% | $0.026816 | 79.4249 | $2.13 | |
| ETH | <0.01% | $0.00 | 509,600 | $0.00 | |
| ETH | <0.01% | $0.129191 | 9 | $1.16 | |
| ETH | <0.01% | $0.999811 | 0.9 | $0.8998 | |
| ETH | <0.01% | $0.000004 | 231,799.5593 | $0.8963 | |
| ETH | <0.01% | $0.00895 | 57.81 | $0.5174 | |
| ETH | <0.01% | $0.000255 | 1,981.961 | $0.5046 | |
| ETH | <0.01% | $0.00 | 622.8813 | $0.00 | |
| ETH | <0.01% | $8.81 | 0.0428 | $0.3771 | |
| ETH | <0.01% | $0.000001 | 300,000 | $0.2515 | |
| ETH | <0.01% | $0.000593 | 373.7581 | $0.2216 | |
| ETH | <0.01% | <$0.000001 | 521,651.4998 | $0.1896 | |
| BASE | <0.01% | $0.019895 | 160 | $3.18 | |
| BASE | <0.01% | $1,982.53 | 0.0002489 | $0.493451 | |
| BSC | <0.01% | $0.00109 | 1,076.8005 | $1.17 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.