![ads](/images/gen/moonpay_20.png)
15M+ users trust MoonPay. Checkout with your preferred payment method.
![ads](/images/gen/cons_20.png)
Ready to onboard to Ethereum? With MetaMask Portfolio, you're in control.
![ads](/images/gen/nexo.png)
Get up to 0.5% cashback per purchase and receive daily interest.
![ads](/images/gen/cons_20.png)
Ready to simplify your web3 experience? Try the all-in-one web3 app trusted by millions worldwide.
Opt-in, make your first trade on Exchange Plus & receive random crypto rewards from 10,000 SHIB, to 0.01 BTC.
![ads](/images/gen/coinsgame_20a.png)
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
![ads](/images/gen/celsiuscasino_20.png)
9 years old Licensed Crypto Casino, Instant Withdraw 24/7, 6000+ Slots available, Paypal Deposit, Instant Live Support 24/7, 30% Rakeback.
![ads](/images/gen/bcgames_20.png)
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
![ads](/images/gen/bcgames_20.png)
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
![ads](/images/gen/cw_20.png)
Play 100s of games anonymously with all major cryptos. Join CryptoWins & start winning!
![ads](/images/gen/cryptoslots.png)
Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s!
Overview
ETH Balance
Eth Value
$15,540.45 (@ $2,647.06/ETH)Token Holdings
Could not find any matches!
- ERC-20 Tokens (>200)1,011,999,998 FREEFree Coin (FREE)$147.34@0.0062,677 IGIG (IG)$1.66@0.00198,559 NTKNetkoin (NTK)$5.26@0.0079.14605711 0xBTC0xBitcoin To... (0xBTC)$3.02@0.038125,974.87948855 0xMR0xMonero (0xMR)$1,029.29@0.039614,291.17547653 AMISAMIS (AMIS)245,000 CGCCGCOINS (CGC)100.07853403 EMSEthereum Mes... (EMS)4 GRTGoldenRatio (GRT)295,397 GARDHASHGARD (GARD)$2.55@0.00325,215.71827292 HEXHEX (HEX)$367.37@0.00119,091.75051125 HOTHoloToken (HOT)$13.11@0.0014300,000 KINKin (KIN)$3.64@0.00100 MTCMedical Toke... (MTC)100,000 NANJNANJCOIN (NANJ)$2.65@0.0018,587.786 NXXNexxus (NXX)3 OGNOriginToken (OGN)$0.24@0.0783722.85578648 PARETOPareto Netwo... (PARETO)0.00128945 GRGRigo Token (GRG)$0.01@6.20100 SATSocial Activ... (SAT)622.88125421 SMDXSOMIDAX (SMDX)$0.48@0.0008770 SPDSPINDLE (SPD)$0.01@0.0070.06 TKPTOKPIE (TKP)$40.53@0.57842,000 UBEXUBEX Token (UBEX)$0.08@0.00373.75812437 X8XX8XToken (X8X)$0.53@0.00141,223,993 XYOXY Oracle (XYO)$6,005.44@0.00490.04280081 LINKChainLink To... (LINK)$0.45@10.630.9 DAIDai Stableco... (DAI)$0.90@0.9990 MANADecentraland (MANA)$0.00@0.28049 KNCKyberNetwork (KNC)$3.98@0.44284 SNTStatusNetwor... (SNT)$0.09@0.021657.8099986 SWTSwarmCity (SWT)$0.92@0.01590.25 ZRXZRX (ZRX)$0.08@0.31381,000 0xLTC0xLitecoin T... (0xLTC)100,236.21070211 xZAR0xZAR (xZAR)1,000,000 2AR2A Rights Co... (2AR)3,559.04679257 4XB4xBit7,486,552 69C6ix9ine Chai... (69C)849.051515 7CID7Cryptid (7CID)100 AFTA Finance To... (AFT)1,087.77777778 ABFABF COMVA (ABF)84.14937759 ABRACAbra Coin (ABRAC)1,000 ABMABRAHAM (ABM)229,694.64402687 ACWAce Wins (ACW)1.12680272 AFCASHAFRICUNIA BANK6,207.76 SHOCKAfterShock V274,533.9944 AGVCAgaveCoin415,392.33333333 ABTKAir Basic (ABTK)100 APBTAirdoph Baza... (APBT)100.98 RARAirRewardCoi... (RAR)157,551 ARTLAirtel Token (ARTL)1,500 ALBCAlbCoin278,571.42857143 XYRAllyFocus (XYR)15,035 AMUAmazing Unit (AMU)28.42857143 XYSANALYSX (XYS)11.11 AETHAnarchETH (AETH)2,012,013.9467096 ANNCAnnual Coin (ANNC)1,600,000 ANTIFAAntifascistT... (ANTIFA)231,799.55928753 ANKApple Network$1.25@0.001,569,000 APPUApputoken118,159,302 ACTXARCHETYPALX (ACTX)0.00015 GZMArma Coin (GZM)1,007,700 ABBArmBlockchainBank50,000 TARMARMTOKEN174,018,674 ARXOAROREX4,393.1221865 ASHAsh From The... (ASH)1,000,000 DARSAAsset Compli... (DARSA)3,000 ASPASSPACE Toke... (ASP)1,443.518037 ASTAstra (AST)3,041.3099 AZBIAZBI core987.5 AZIEAzie Coin (AZIE)250,000 BAKERBakerKingSwap100,000,000 BBCBBCCRYPTO Co... (BBC)669,519 BEFXBelifex5,531,755.30034 BSCBenscoin (BSC)587.09677419 BRXBerryXToken100 BNXBinMax (BNX)26,408 BGFBiograffi4,364.29 BIBitanium (BI)100,000 BAPBitcoin ATM Pros50,013.33179711 BTCFBitcoin Fast10 BTCGBitcoin GEN (BTCG)20,000,000 PBTCBitcoin Pola... (PBTC)50,992.82727262 BTCSBitcoin Silv... (BTCS)8,642.41048764 BSVGBITCOIN SVGOLD15,000 BTCMBitcoinMonke... (BTCM)82.42339583 BSOVBitcoinSoV$4.34@0.0527111,000 BFTBitfortip (BFT)990 BITBitLite (BIT)1,380.96 TFUNDBitotal (TFUND)89,446 BTVSBitverts (BTVS)11,200 BZRBIZARRO TOKE... (BZR)38.4 HOLEBlack Hole1,000,500 BSTBlack Sun To... (BST)1,000,000 BPERBLACKPANTHER (BPER)7,257 DapBloc1 $Blockchain D... ($)10,000 CLOUTBLOCKCLOUT170 BLOBLONDCOIN (BLO)295,108.8580854 BNCBNC TOKEN (BNC)42,846.48032 BOXYBoxTrade (BOXY)51,179,392 BRAPBRAPPER (BRAP)697,709,512.266603 BRAPBRAPPER (BRAP)9,637,453.002118 BNGBravenge (BNG)500.97 BDXBright Dream... (BDX)43,420 BNTBright Nucle... (BNT)4 BTGBullion Troy... (BTG)972.7784 BNGBUNGEE TOKEN (BNG)5,128.75 BDBurnDrop (BD)10,206 BZRBuzero Coin (BZR)207,879,054.000045 C2XTC2X74.27990087 CACHECache0.00000001 CPCCashpayz Token35,557 CLXCeleum248,261.01352225 CSXCentaSaveX (CSX)34,650 CDKCertDocKits ... (CDK)1,078.217 CHLChelleCoin294.91886735 CHESSChess Coin$0.01@0.0067,003.8999985 CLOGCLO Gold (CLOG)99,500 COINCoinibal (COIN)5,986,097.16656004 CSOCOINSTO9,103.13333333 CVSCoinVisa136 CVRLComando Verm... (CVRL)1,719.66714473 COMBOCOMBO (COMBO)109.3 CNCConceptCar (CNC)1,001,109.98620115 CRXCore4,150,810 NCOVcorona coin (NCOV)56,633,150.1606349 COVIDCorona Coin (COVID)20,007,664.828252 TCOINCorona Time ... (TCOIN)439,390,578.173814 COVIDCoronaCoin (COVID)3,040,831,717.41386 nCoVCoronaCoin (nCoV)8,445,000 NCOVCoronaCoin (NCOV)728,741,298.041396 NCOVCoronaCoin (NCOV)10,728 CoroExCoronaCoin E... (CoroEx)10,012,333.7394958 CODOCoronaDollar (CODO)98,447 CIGCoronaInsura... (CIG)5,431,406.42438386 CNVCoronavirus ... (CNV)49,997.2445 CMKCosmetik (CMK)16,052.33448487 COTRCotrace (COTR)8,697,460 CVDCOVID19 (CVD)6,004,653,952.35724 CD19COVID19 (CD19)901,190,021.356963 COVCCOVIDCoin (COVC)5,808,883 COVCCOVIDCoin (COVC)416.63073334 CRCCR Coin1,236,106.0203052 CROCronos Coin (CRO)9,902,456.47214361 ICOCcrowdfunding... (ICOC)10,000 CTATCryptassist100 STMXCrypterio Co... (STMX)678.26255 CIDCryptid (CID)14,532.15257463 CIDCryptid (CID)997 CLOCryptlo60 CRCCrypto Chain (CRC)1,000,000 CTRCrypto Talke... (CTR)2,606,003,924,000,000 CRUCrypto Unit ... (CRU)41,669,377.7179257 NEWSCryptoNewsNet15,088.23187805 CRTSCryptotipsfr (CRTS)3,580,541,428.96174ERC20 ***100 CUPCupcake Toke... (CUP)406,162.28607 cUSDcUSD Currency1,488.75 CBXCybitex (CBX)258,541 CGNCYGEN (CGN)0.00656036 CZBNCZ-BINANCE (CZBN)310,099,249.657196 DTCDAATTY COIN25 DGTDagonToken (DGT)16,052 DSCDavid Schwar... (DSC)15,000 DCSDCS TOKEN7,000,000 DDXCDD eCoin (DDXC)2,900 DTTDeFi_Dues (DTT)1,123.75 DLTXDeltaExCoin (DLTX)99,990 DENCHDENCHCOIN10,050 DENDenCoin (DEN)1,665,839.61367257 DGMTDigiMax$24.79@0.0020 DCHFDigital CHF (DCHF)1,000 DDCTDigital Doll... (DDCT)10,090 DZARDigital Rand5,294,455.88399969 DIGIDigiverse (DIGI)308.93086006 DINKDINKY (DINK)55,420,310 DGODinngo Excha... (DGO)10 DGDXDiropia Gold... (DGDX)1,470,726.98664822 DUSTDistant Universe Stardust Token1 dMMMdMMM (dMMM)92,445.37892791 DOEDoecoins.com (DOE)19,777 DGCDogecoin Gol... (DGC)15,397,753 DGCDogecoin Gol... (DGC)99,996.9902 $Dollar Block... ($)998.78571429 DLTDollarLite (DLT)225 DRKDrakoin$0.07@0.0003100 DBDDreambuilder... (DBD)390,000 EMPE&MP... (EMP)1,010,679.46496898 EANEANTO Token$222,402.04@0.2201123,758,325 ECREastads Cred... (ECR)999,137.12944849 ECDFEasyCoinDigi... (ECDF)11,000 EOPTEasyOption.io Token150 EBXEbliex (EBX)938,337,679.35053 EGCIEggs Crypto ... (EGCI)1,000 EGYEGYPT390.41095891 ETLElectroLite ... (ETL)2,124.999 ETLXElectroLite ... (ETLX)500 ETEElite (ETE)3,266,545,720 EMPRempowrNFT Tokens (11)nft-hex.comnft-hex.comERC-1155
ERC-1155 TOKEN*
[Suspicious]ERC-1155 TOKEN*
[Suspicious]More Info
Private Name Tags
ContractCreator
Multichain Info
1 address found via- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Analytics
- Multichain Portfolio
- Info
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Transaction Hash MethodBlockFromTo0xfdffce434c99cd032a9bc30eab450286cf3ce875e5270e2ac97fdbef01ae9493 Sell ERC20Token (pending) 2024-08-11 5:08:51 11 mins ago 1723352931 IN 0 ETH$0.00 (Pending) (Pending) 0x8e745c6cb4a0fe85adb0d827360bec38e3c768fca6db572146b162901671a509 Buy Order With E... (pending) 2024-08-11 5:02:05 18 mins ago 1723352525 IN 0.0007778601 ETH$2.06 (Pending) (Pending) 0x11c2af8ef7263920d1038b2106083310ffa4f96b2d762bac4e947301150501f3 Cancel Order (pending) 2024-08-11 4:24:13 56 mins ago 1723350253 IN 0 ETH$0.00 (Pending) (Pending) 0xe40a5e434e2cab03ea1c3a55867e19e52ed4bfa9e293ce62d21e016efa7dfc8a Sell ERC20Token (pending) 2024-08-11 3:35:02 1 hr ago 1723347302 IN 0 ETH$0.00 (Pending) (Pending) Buy Order With E... 20500921 2024-08-10 21:32:11 7 hrs ago 1723325531 IN 0 ETH$0.00 0.00018071 1.15334424 Sell ERC20Token 20495831 2024-08-10 4:30:11 24 hrs ago 1723264211 IN 0 ETH$0.00 0.00015513 0.78419 Buy Order With E... 20495515 2024-08-10 3:26:47 25 hrs ago 1723260407 IN 0 ETH$0.00 0.00020934 1.31512892 Buy Order With E... 20495496 2024-08-10 3:22:59 25 hrs ago 1723260179 IN 0 ETH$0.00 0.00022724 1.33373981 Buy Order With E... 20488677 2024-08-09 4:33:23 2 days ago 1723178003 IN 0 ETH$0.00 0.00022395 1.28446779 Buy Order With E... 20488606 2024-08-09 4:18:59 2 days ago 1723177139 IN 0 ETH$0.00 0.00022076 1.4018175 Buy Order With E... 20488399 2024-08-09 3:37:23 2 days ago 1723174643 IN 0 ETH$0.00 0.00033439 1.96048877 Buy Order With E... 20488395 2024-08-09 3:36:35 2 days ago 1723174595 IN 0 ETH$0.00 0.00036121 1.96048877 Buy Order With E... 20488307 2024-08-09 3:18:59 2 days ago 1723173539 IN 0 ETH$0.00 0.00025171 1.59837151 Buy Order With E... 20486864 2024-08-08 22:29:11 2 days ago 1723156151 IN 0 ETH$0.00 0.00062907 3.95934565 Buy Order With E... 20474220 2024-08-07 4:11:11 4 days ago 1723003871 IN 0 ETH$0.00 0.00028683 1.68326008 Buy Order With E... 20473601 2024-08-07 2:06:47 4 days ago 1722996407 IN 0 ETH$0.00 0.00029428 1.84316546 Buy Order With E... 20473569 2024-08-07 2:00:23 4 days ago 1722996023 IN 0 ETH$0.00 0.00033046 1.91589259 Buy Order With E... 20468765 2024-08-06 9:55:11 4 days ago 1722938111 IN 0 ETH$0.00 0.00052763 3.32173977 Buy Order With E... 20467732 2024-08-06 6:27:23 4 days ago 1722925643 IN 0 ETH$0.00 0.00042608 2.71870156 Buy Order With E... 20466411 2024-08-06 2:01:35 5 days ago 1722909695 IN 0 ETH$0.00 0.00056188 2.86306098 Buy Order With E... 20466183 2024-08-06 1:15:47 5 days ago 1722906947 IN 0 ETH$0.00 0.00082638 5.2725909 Buy Order With E... 20465247 2024-08-05 22:07:47 5 days ago 1722895667 IN 0 ETH$0.00 0.00064149 4.04985178 Buy Order With E... 20464966 2024-08-05 21:11:35 5 days ago 1722892295 IN 0 ETH$0.00 0.00082482 5.06982274 Buy Order With E... 20458793 2024-08-05 0:31:11 6 days ago 1722817871 IN 0 ETH$0.00 0.00056435 3.81046314 Buy Order With E... 20458631 2024-08-04 23:58:47 6 days ago 1722815927 IN 0 ETH$0.00 0.00029087 1.82347755 Latest 25 internal transactions (View All)
Advanced mode:Parent Transaction Hash Block From To 20500921 2024-08-10 21:32:11 7 hrs ago 1723325531 0.00000797 ETH$0.02 20500921 2024-08-10 21:32:11 7 hrs ago 1723325531 0.00318202 ETH$8.42 20495515 2024-08-10 3:26:47 25 hrs ago 1723260407 0.00000607 ETH$0.02 20495515 2024-08-10 3:26:47 25 hrs ago 1723260407 0.00242402 ETH$6.42 20495496 2024-08-10 3:22:59 25 hrs ago 1723260179 0.00000484 ETH$0.01 20495496 2024-08-10 3:22:59 25 hrs ago 1723260179 0.00193315 ETH$5.12 20488677 2024-08-09 4:33:23 2 days ago 1723178003 0.00001245 ETH$0.03 20488677 2024-08-09 4:33:23 2 days ago 1723178003 0.00496755 ETH$13.15 20488606 2024-08-09 4:18:59 2 days ago 1723177139 0.00001062 ETH$0.03 20488606 2024-08-09 4:18:59 2 days ago 1723177139 0.00423937 ETH$11.22 20488582 2024-08-09 4:14:11 2 days ago 1723176851 0.0000028 ETH$0.01 20488582 2024-08-09 4:14:11 2 days ago 1723176851 0.00111723 ETH$2.96 20488399 2024-08-09 3:37:23 2 days ago 1723174643 0.0000025 ETH$0.01 20488399 2024-08-09 3:37:23 2 days ago 1723174643 0.0009975 ETH$2.64 20488395 2024-08-09 3:36:35 2 days ago 1723174595 0.0000025 ETH$0.01 20488395 2024-08-09 3:36:35 2 days ago 1723174595 0.0009975 ETH$2.64 20488307 2024-08-09 3:18:59 2 days ago 1723173539 0.0000065 ETH$0.02 20488307 2024-08-09 3:18:59 2 days ago 1723173539 0.0025935 ETH$6.87 20486864 2024-08-08 22:29:11 2 days ago 1723156151 0.0000285 ETH$0.08 20486864 2024-08-08 22:29:11 2 days ago 1723156151 0.0113715 ETH$30.10 20474220 2024-08-07 4:11:11 4 days ago 1723003871 0.000007 ETH$0.02 20474220 2024-08-07 4:11:11 4 days ago 1723003871 0.002794 ETH$7.40 20473946 2024-08-07 3:15:47 4 days ago 1723000547 0.00000527 ETH$0.01 20473946 2024-08-07 3:15:47 4 days ago 1723000547 0.00210412 ETH$5.57 20473920 2024-08-07 3:10:35 4 days ago 1723000235 0.0000125 ETH$0.03 Loading...LoadingContract Name:Exchange
Compiler Versionv0.4.24+commit.e67f0147
Contract Source Code (Solidity)
- library SafeMath
- - function mul(uint256 a, uint256 b)
- - function div(uint256 a, uint256 b)
- - function sub(uint256 a, uint256 b)
- - function add(uint256 a, uint256 b)
- library BytesLib
- - function toAddress(bytes _bytes, uint ...
- - function toUint(bytes _bytes, uint _s ...
- contract ERC223
- - function balanceOf(address who)
- - function name()
- - function symbol()
- - function decimals()
- - function totalSupply()
- - function transfer(address to, uint va ...
- - function transfer(address to, uint va ...
- contract ContractReceiver
- - function tokenFallback(address _from, ...
- contract ERC223I is ERC223
- - function name()
- - function symbol()
- - function decimals()
- - function totalSupply()
- - function transfer(address _to, uint _ ...
- - function transfer(address _to, uint _ ...
- - function isContract(address _addr)
- - function transferToAddress(address _t ...
- - function transferToContract(address _ ...
- - function balanceOf(address _owner)
- contract ERC20
- - function totalSupply()
- - function balanceOf(address holder)
- - function allowance(address holder, ad ...
- - function approve(address other, uint ...
- - function transfer(address to, uint am ...
- - function transferFrom(
- contract Exchange is ContractRecei ... *
- - function Exchange(
- - function()
- - function getBalance(address token, ad ...
- - function isOrderActive(uint256 orderI ...
- - function remainingAmount(uint256 orde ...
- - function getBuyTokenAmount(uint256 de ...
- - function calcFees(uint256 amount, uin ...
- - function tradeMiningAmount(uint256 fe ...
- - function withdrawTradeMining()
- - function changeTradeMiningPrice(uint2 ...
- - function tokenFallback(address from, ...
- - function sellEther(
- - function sellEtherWithRing(
- - function buyOrderWithEth(uint256 orde ...
- - function sellERC20Token(
- - function sellERC20TokenWithRing(
- - function buyOrderWithERC20Token(
- - function cancelOrder(uint256 orderId)
- - function _newOrder(
- - function _executeBuyOrder(address tra ...
- - function _executeSellOrder(address tr ...
- - function _executeTokenSwap(address tr ...
- - function _executeOrder(address trader ...
- - function _tradeMiningAndFees(uint256 ...
- - function sendTokensTo(
- - function pullTokens(address token, ui ...
- - function _topUpTradeMining(uint256 am ...
/** *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
[{"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
60806040526000805460ff1916905560048054600160a060020a031916905534801561002a57600080fd5b5060405160c080611a7783398101604090815281516020830151918301516060840151608085015160a09095015160058054600160a060020a03958616600160a060020a031991821617909155600880549590961694811694909417909455600991909155600a55600b92909255600c5560068054909116331790556119c2806100b56000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166322fdd3ea81146101375780632453ffa81461018257806341f9377f14610197578063514fcac7146101b457806353e1a7a0146101cc57806361d027b3146101e15780636fb768e81461021257806378d067dd1461022757806387bda8f21461024257806389a447e01461025a578063a4ff9c341461026f578063c0ee0b8a1461027a578063c49063e7146102e3578063c655de64146102fe578063cb2bb26414610313578063cf6ff1731461032d578063d4fac45d14610354578063d6e435851461037b578063e3319e82146103a7578063eeb3377a146103c9578063f2037fec146103f9578063fc5f42411461040e578063ff700e5214610423575b600080fd5b34801561014357600080fd5b50610170600160a060020a0360043581169060243581169060443590606435906084359060a4351661043e565b60408051918252519081900360200190f35b34801561018e57600080fd5b50610170610474565b3480156101a357600080fd5b506101b260043560243561047a565b005b3480156101c057600080fd5b506101b26004356104a8565b3480156101d857600080fd5b50610170610660565b3480156101ed57600080fd5b506101f6610666565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610170610675565b34801561023357600080fd5b5061017060043560243561067b565b34801561024e57600080fd5b50610170600435610738565b34801561026657600080fd5b5061017061074d565b6101b2600435610753565b34801561028657600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101b2948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061077d9650505050505050565b3480156102ef57600080fd5b50610170600435602435610882565b34801561030a57600080fd5b506101706108fb565b610170600160a060020a0360043516602435604435610901565b34801561033957600080fd5b506101b2600435600160a060020a0360243516604435610933565b34801561036057600080fd5b50610170600160a060020a0360043581169060243516610962565b34801561038757600080fd5b5061039360043561098e565b604080519115158252519081900360200190f35b610170600160a060020a036004358116906024359060443590606435166109aa565b3480156103d557600080fd5b50610170600160a060020a03600435811690602435166044356064356084356109dd565b34801561040557600080fd5b506101b2610a27565b34801561041a57600080fd5b50610170610a83565b34801561042f57600080fd5b50610170600435602435610a89565b60008080861161044d57600080fd5b6104578887610b64565b905061046833898984898989610d6b565b98975050505050505050565b60035481565b600654600160a060020a0316331461049157600080fd5b80151561049d57600080fd5b600b91909155600c55565b6000805460ff16156104b957600080fd5b506000805460ff1916600117815581815260026020526040812060048101549091106104e457600080fd5b805460a060020a900460ff1615156104fb57600080fd5b8054600160a060020a0316331461051157600080fd5b600481015433600090815260016020818152604080842092860154600160a060020a0316845291905290205461054c9163ffffffff61104a16565b3360009081526001602081815260408084209286018054600160a060020a03908116865293909252909220929092558254600484015491546105939391821692911661105c565b151561059e57600080fd5b6000828152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051848152429281019290925280517faa2a006d186dc89a3d6851834c85d16226329ac40bcad6531a5756a38ed1c90f9281900390910190a150506000805460ff19169055565b60095481565b600854600160a060020a031681565b600b5481565b600081815260026020526040812060045460018201548391600160a060020a03918216911614156106f5576106d182600601546106c584600501548861116490919063ffffffff16565b9063ffffffff61119316565b90506106ee600a546106c56009548461116490919063ffffffff16565b9250610730565b6004546002830154600160a060020a039081169116141561072b576106ee600a546106c56009548861116490919063ffffffff16565b600092505b505092915050565b60009081526002602052604090206004015490565b600a5481565b6000341161076057600080fd5b60045461077a9033908390600160a060020a0316346111aa565b50565b80511580156107965750600554600160a060020a031633145b156107aa576107a4826113cb565b5061087d565b8051605414156107fe576107a483336107ca84604063ffffffff6113ec16565b856107dc86600063ffffffff61141c16565b6107ed87602063ffffffff61141c16565b600454600160a060020a0316610d6b565b805160681415610857576107a4833361081e84604063ffffffff6113ec16565b8561083086600063ffffffff61141c16565b61084187602063ffffffff61141c16565b61085288605463ffffffff6113ec16565b610d6b565b8051602014156101325761087d8361087683600063ffffffff61141c16565b33856111aa565b505050565b600080808415156108965760009250610730565b6000848152600260205260409020805490925060a060020a900460ff1615156108c25760009250610730565b6108dd600c546106c5600b548861116490919063ffffffff16565b90508060075410156108f3576007549250610730565b809250610730565b60075481565b600034811061090f57600080fd5b60045461092b903390600160a060020a03168634878784610d6b565b949350505050565b6000811161094057600080fd5b600061094c8383610b64565b1161095657600080fd5b61087d338484846111aa565b600160a060020a0380821660009081526001602090815260408083209386168352929052205492915050565b60009081526002602052604090205460a060020a900460ff1690565b60003481106109b857600080fd5b6004546109d4903390600160a060020a03168734888888610d6b565b95945050505050565b6000808085116109ec57600080fd5b6109f68786610b64565b9050610a1c338888848888600460009054906101000a9004600160a060020a0316610d6b565b979650505050505050565b600654600090600160a060020a03163314610a4157600080fd5b600754600010610a5057600080fd5b50600780546000909155600654600554610a7891600160a060020a039081169184911661105c565b151561077a57600080fd5b600c5481565b60008080808511610a9957600080fd5b60008481526002602052604090206004546001820154919350600160a060020a0391821691161480610add57506004546002830154600160a060020a039081169116145b15610b3557600954600a54610af79163ffffffff61104a16565b9050610b2e816106c584600501546106c5600a54610b2288600601548c61116490919063ffffffff16565b9063ffffffff61116416565b9250610b57565b610b5482600501546106c584600601548861116490919063ffffffff16565b92505b6000831161073057600080fd5b6000805481908190819060ff1615610b7b57600080fd5b6000805460ff19166001178155604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051889550600160a060020a038616926370a0823192602480820193602093909283900390910190829087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506040513d6020811015610c1857600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018890529051919350600160a060020a038516916323b872dd916064808201926020929091908290030181600087803b158015610c8c57600080fd5b505af1158015610ca0573d6000803e3d6000fd5b505050506040513d6020811015610cb657600080fd5b5050604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b505050506040513d6020811015610d4357600080fd5b50519050610d57818363ffffffff61104a16565b6000805460ff191690559695505050505050565b6000805460ff1615610d7c57600080fd5b6000805460ff191660011781558511610d9457600080fd5b60008411610da157600080fd5b60008311610dae57600080fd5b600160a060020a038781169087161415610dc757600080fd5b600360008154809291906001019190505590506101006040519081016040528089600160a060020a0316815260200160011515815260200188600160a060020a0316815260200187600160a060020a0316815260200183600160a060020a03168152602001868152602001858152602001848152506002600083815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160020160006101000a815481600160a060020a030219169083600160a060020a0316021790555060808201518160030160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151816005015560e08201518160060155905050610f9f85600160008b600160a060020a0316600160a060020a0316815260200190815260200160002060008a600160a060020a0316600160a060020a031681526020019081526020016000205461143c90919063ffffffff16565b600160a060020a03808a1660008181526001602090815260408083208d86168085529083529281902095909555845186815290810192909252818401528882166060820152908416608082015260a0810187905260c0810186905260e081018590524261010082015290517f9684ab37f360879637d39ea3a41f58c0705a15f80d518ec92bd1c7383ef8a61a918190036101200190a16000805460ff19169055979650505050505050565b60008282111561105657fe5b50900390565b600454600090600160a060020a03838116911614156110b157604051600160a060020a0385169084156108fc029085906000818181858888f193505050501580156110ab573d6000803e3d6000fd5b5061115a565b81600160a060020a031663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b505050506040513d602081101561115757600080fd5b50505b5060019392505050565b6000828202831580611180575082848281151561117d57fe5b04145b151561118857fe5b8091505b5092915050565b60008082848115156111a157fe5b04949350505050565b60008054819060ff16156111bd57600080fd5b6000805460ff1916600117905560035485106111d857600080fd5b600083116111e557600080fd5b6000858152600260205260409020805490925060a060020a900460ff16151561120d57600080fd5b8154600160a060020a038781169116141561122757600080fd5b6002820154600160a060020a0385811691161461124357600080fd5b6004546003830154600160a060020a03908116911614611276576003820154600160a060020a0316321461127657600080fd5b6004546001830154600160a060020a03908116911614156112a35761129c86868561144b565b90506112d7565b6004546002830154600160a060020a03908116911614156112c95761129c8686856115bf565b6112d486868561173d565b90505b6112e18187611880565b15156112ec57600080fd5b60008581526002602052604090206004015415156113b9576000858152600260208181526040808420805474ffffffffffffffffffffffffffffffffffffffffff1916815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915593810180548516905560038101805490941690935560048301849055600583018490556006909201929092558051878152429281019290925280517feb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e98809281900390910190a15b50506000805460ff1916905550505050565b6007546000906113e1908363ffffffff61143c16565b600755506001919050565b6000808260140184511015151561140257600080fd5b505001602001516c01000000000000000000000000900490565b6000808260200184511015151561143257600080fd5b5050016020015190565b60008282018381101561118857fe5b6000828152600260205260408120600681015460058201548391829161147d91906106c590889063ffffffff61116416565b915061149a600a546106c56009548561116490919063ffffffff16565b9050600082116114a957600080fd5b60048301548211156114ba57600080fd5b60048301546114cf908363ffffffff61104a16565b6004840155825460028401546114f391600160a060020a039081169188911661105c565b15156114fe57600080fd5b61152587611512848463ffffffff61104a16565b6001860154600160a060020a031661105c565b151561153057600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688611570868663ffffffff61104a16565b60408051600160a060020a0395861681529390941660208401528284019190915260608201526080810188905260a081018490524260c082015290519081900360e00190a19695505050505050565b6000828152600260205260408120600a54600954839182916115ed91906106c590889063ffffffff61116416565b915061161283600601546106c58560050154610b22868a61104a90919063ffffffff16565b90506000811161162157600080fd5b600483015481111561163257600080fd5b6004830154611647908263ffffffff61104a16565b6004840155825461167e90600160a060020a031661166b878563ffffffff61104a16565b6002860154600160a060020a031661105c565b151561168957600080fd5b60018301546116a49088908390600160a060020a031661105c565b15156116af57600080fd5b82547f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a7285908890600160a060020a031688846116f08a8863ffffffff61104a16565b60408051600160a060020a039687168152949095166020850152838501929092526060830152608082015260a081018590524260c082015290519081900360e00190a15095945050505050565b600082815260026020526040812060068101546005820154839161176c916106c590879063ffffffff61116416565b90506000811161177b57600080fd5b600482015481111561178c57600080fd5b60048201546117a1908263ffffffff61104a16565b6004830155815460028301546117c591600160a060020a039081169187911661105c565b15156117d057600080fd5b815460a060020a900460ff1615156117e757600080fd5b60018201546118029087908390600160a060020a031661105c565b151561180d57600080fd5b815460408051600160a060020a03808a16825290921660208301528181018790526060820183905260808201869052600060a08301524260c0830152517f01f5d7c359dba416997ea6c723ea4663e9ad524f956ed8bb3b5234e6475a72859181900360e00190a150600095945050505050565b600080831515611893576001915061118c565b6008546004546118b191600160a060020a039081169187911661105c565b15156118bc57600080fd5b60075415156118ce576001915061118c565b6118e9600c546106c5600b548761116490919063ffffffff16565b90508015156118fb576001915061118c565b60075481111561190a57506007545b60075461191d908263ffffffff61104a16565b6007556005546119399084908390600160a060020a031661105c565b151561194457600080fd5b60408051600160a060020a038516815260208101839052428183015290517f5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c29181900360600190a150600193925050505600a165627a7a72305820b0946e0e1d3d1e148149c2bb4e2cd4e7a7e4ff34839dd14ff5edcfedca71a0cb0029000000000000000000000000b9440022a095343b440d590fcd2d7a3794bd76c800000000000000000000000092eeb915dafe3803f8a9d12000765c3b6af6d5fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400Deployed 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] : 00000000000000000000000000000000000000000000000000000002540be400Deployed 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...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingOVERVIEW
Order book DEX contract.
Multichain Portfolio | 26 Chains
Chain Token Portfolio % Price Amount Value ETH 88.87% $0.220052 1,010,679.465 $222,402.04 ETH Ether (ETH)6.21% $2,647.06 5.8708 $15,540.45 ETH 2.40% $0.004906 1,223,993 $6,005.44 ETH 1.75% $0.019266 227,773.6098 $4,388.29 ETH 0.41% $0.039627 25,974.8795 $1,029.29 ETH 0.15% $0.00113 325,215.7183 $367.37 ETH 0.07% $0.014934 12,219.5401 $182.48 ETH 0.06% <$0.000001 1,011,999,998 $147.34 ETH 0.02% $0.578436 70.06 $40.53 ETH 0.02% $0.039342 990 $38.95 ETH <0.01% $0.000015 1,665,839.6137 $24.79 ETH <0.01% $0.000026 726,216.1139 $19.24 ETH <0.01% $0.001442 9,091.7505 $13.11 ETH <0.01% $0.000156 48,298.98 $7.53 ETH <0.01% $0.000026 198,559 $5.26 ETH <0.01% $0.052653 82.4234 $4.34 ETH <0.01% $0.44276 9 $3.98 ETH <0.01% $0.000013 281,090.1178 $3.66 ETH <0.01% $0.000012 300,000 $3.64 ETH <0.01% $0.000424 7,156 $3.04 ETH <0.01% $0.038131 79.1461 $3.02 ETH <0.01% $0.000026 100,000 $2.65 ETH <0.01% $0.000009 295,397 $2.55 ETH <0.01% $0.000026 62,677 $1.66 ETH <0.01% $0.000005 231,799.5593 $1.25 ETH <0.01% $0.01586 57.81 $0.9168 ETH <0.01% $0.999004 0.9 $0.8991 ETH <0.01% $0.001416 373.7581 $0.5291 ETH <0.01% $0.000255 1,981.961 $0.5046 ETH <0.01% $0.000765 622.8813 $0.4762 ETH <0.01% $10.63 0.0428 $0.4549 ETH <0.01% $0.000012 29,480.7692 $0.3578 ETH <0.01% $0.078348 3 $0.235 ETH <0.01% $0.001537 131.6883 $0.2024 BSC <0.01% $0.014928 1,069.2219 $15.96 MATIC <0.01% $0.000452 1,981.97 $0.8966 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.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to DirtyBytesArrayToStorage (low-severity), ABIDecodeTwoDimensionalArrayMemory (very low-severity), KeccakCaching (medium-severity), EmptyByteArrayCopy (medium-severity), DynamicArrayCleanup (medium-severity), ImplicitConstructorCallvalueCheck (very low-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity), privateCanBeOverridden (low-severity), SignedArrayStorageCopy (low/medium-severity), ABIEncoderV2StorageArrayWithMultiSlotElement (low-severity), DynamicConstructorArgumentsClippedABIV2 (very low-severity), UninitializedFunctionPointerInConstructor_0.4.x (very low-severity), IncorrectEventSignatureInLibraries_0.4.x (very low-severity), ABIEncoderV2PackedStorage_0.4.x (low-severity), ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Address Cards
To use this feature, please login to your Etherscan account and return to this page.Before You Copy
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.