More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 7,342 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy Order With E... | 15559339 | 862 days ago | IN | 0 ETH | 0.00010981 | ||||
Buy Order With E... | 12917948 | 1278 days ago | IN | 0 ETH | 0.00314322 | ||||
Buy Order With E... | 12057027 | 1411 days ago | IN | 0.00143375 ETH | 0.00298536 | ||||
Buy Order With E... | 11981809 | 1423 days ago | IN | 0.00005606 ETH | 0.01019121 | ||||
Buy Order With E... | 11309177 | 1526 days ago | IN | 0.0320802 ETH | 0.00450131 | ||||
Buy Order With E... | 11309128 | 1526 days ago | IN | 0.01182957 ETH | 0.00415305 | ||||
Buy Order With E... | 11063133 | 1564 days ago | IN | 0.0074234 ETH | 0.00266912 | ||||
Buy Order With E... | 10726171 | 1616 days ago | IN | 0.006121 ETH | 0.00916316 | ||||
Buy Order With E... | 10704129 | 1619 days ago | IN | 0.00501253 ETH | 0.01902131 | ||||
Buy Order With E... | 10488566 | 1653 days ago | IN | 0.05012531 ETH | 0.00792871 | ||||
Cancel Order | 10469571 | 1656 days ago | IN | 0 ETH | 0.00226675 | ||||
Cancel Order | 10469568 | 1656 days ago | IN | 0 ETH | 0.00226675 | ||||
Cancel Order | 10179754 | 1700 days ago | IN | 0 ETH | 0.00090189 | ||||
Cancel Order | 10020463 | 1725 days ago | IN | 0 ETH | 0.00063118 | ||||
Buy Order With E... | 10008718 | 1727 days ago | IN | 0.0032054 ETH | 0.00047979 | ||||
Cancel Order | 10001771 | 1728 days ago | IN | 0 ETH | 0.00020982 | ||||
Cancel Order | 10001764 | 1728 days ago | IN | 0 ETH | 0.00020982 | ||||
Cancel Order | 10001210 | 1728 days ago | IN | 0 ETH | 0.00037579 | ||||
Buy Order With E... | 9989012 | 1730 days ago | IN | 0.00546578 ETH | 0.00023873 | ||||
Cancel Order | 9985453 | 1731 days ago | IN | 0 ETH | 0.00023694 | ||||
Cancel Order | 9985191 | 1731 days ago | IN | 0 ETH | 0.00008376 | ||||
Buy Order With E... | 9970292 | 1733 days ago | IN | 0.00551558 ETH | 0.00048529 | ||||
Buy Order With E... | 9963504 | 1734 days ago | IN | 0.00350459 ETH | 0.00023989 | ||||
Cancel Order | 9961813 | 1734 days ago | IN | 0 ETH | 0.00030607 | ||||
Buy Order With E... | 9956579 | 1735 days ago | IN | 0.00363105 ETH | 0.00026691 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20469265 | 173 days ago | 0.00025 ETH | ||||
20469265 | 173 days ago | 0.09975 ETH | ||||
12917948 | 1278 days ago | 0.00027597 ETH | ||||
12917948 | 1278 days ago | 0.1101125 ETH | ||||
11981809 | 1423 days ago | 0.00000014 ETH | ||||
11981809 | 1423 days ago | 0.00005592 ETH | ||||
11898737 | 1436 days ago | 0.00000302 ETH | ||||
11898737 | 1436 days ago | 0.00120697 ETH | ||||
11309177 | 1526 days ago | 0.0000802 ETH | ||||
11309177 | 1526 days ago | 0.032 ETH | ||||
11309128 | 1526 days ago | 0.00002957 ETH | ||||
11309128 | 1526 days ago | 0.0118 ETH | ||||
11063133 | 1564 days ago | 0.00001855 ETH | ||||
11063133 | 1564 days ago | 0.00740484 ETH | ||||
10726171 | 1616 days ago | 0.0000153 ETH | ||||
10726171 | 1616 days ago | 0.0061057 ETH | ||||
10704129 | 1619 days ago | 0.00001253 ETH | ||||
10704129 | 1619 days ago | 0.00499999 ETH | ||||
10550409 | 1643 days ago | 0.00000125 ETH | ||||
10550409 | 1643 days ago | 0.00049875 ETH | ||||
10488566 | 1653 days ago | 0.00012531 ETH | ||||
10488566 | 1653 days ago | 0.05 ETH | ||||
10179754 | 1700 days ago | 0.01 ETH | ||||
10008718 | 1727 days ago | 0.00000801 ETH | ||||
10008718 | 1727 days ago | 0.00319739 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Exchange
Compiler Version
v0.4.24+commit.e67f0147
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
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
Loading...
Loading
Loading...
Loading
OVERVIEW
Decentralized exchange order book contract.Multichain Portfolio | 30 Chains
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.