Contract 0xB18713Ac02Fc2090c0447e539524a5c76f327a3b 7

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb0951febc4e694728585f8fc579636944d601ff9972fe049cce0ab9838e31579Makeoffer126288822021-11-14 1:23:4216 days 14 hrs ago0x14d2cb20d34d8a628ecf62f6edc866fcc49f846f IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556755
0xe470e4c97a55a076959013de42522244f7d6acdfaf1752635c6f30b78709f9f8Makeoffer122882352021-11-01 22:24:5128 days 17 hrs ago0x04bf7da296e9145c6be2301fb036c96c88d25f5f IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556695
0x65d508fc8b22faabd9ee195c2a339fc1201890814d9a13591c0840abe2826296Makeoffer118083252021-10-16 0:40:1445 days 15 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00014122
0x50e7a7b9cdc249a24eb68a72986ae13030397251ed72830f02d31298e2c6dc57Buy118082792021-10-16 0:37:5045 days 15 hrs ago0x6847abf4b740db5ce169d1653b30fd087e9f6047 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000462625
0x24dc619a6a99fcbddd911c6bc756da671b6a00024678433565bb0f56c6999da3Makeoffer118070922021-10-15 23:38:2645 days 16 hrs ago0x49e17d08491a79600f43dde0de3493de7227e5a7 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556695
0x3770ec50830d8061b1a361e6cb9debccfd0c45815cf7f54a89cd152b0b248093Makeoffer116793952021-10-11 11:48:1050 days 4 hrs ago0x3edeed76371eebc3a3538062079d8e7d3dfef1bf IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556695
0xf4fd3041c7fc57a7fb0c21de162ac17c3f8548380af6625498286e7a63398cc9Buy112616072021-09-26 21:33:5864 days 18 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00032244
0x69ee70c5f96f63edbc0965d5a322f492111136edf287312717cd4865eaa45385Buy112615902021-09-26 21:33:0264 days 18 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000538865
0x67de5c256c5e56274b342c076c29131962b8c5037fa01799f69bc1bd532a6c83Deleteoffer103418762021-08-25 16:35:2796 days 23 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000113075
0x25e606b42a96ea71cf27d85bf0987de2dee2155f4998fa2561ed0a6e0fce785fDeleteoffer103418382021-08-25 16:33:3396 days 23 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000113995
0xccf18db8a122e1ef6402001e7607c891f7d8ef33be91f65ddcad8e1ed4b2c961Makeoffer103418002021-08-25 16:31:3996 days 23 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00014092
0xdf8a9db0df7d7b263636e7a1e743188508154b523befb16a8c403250d5619f59Buy101994822021-08-20 17:17:17101 days 22 hrs ago0x2e1a732553a759b40a1376c01923e9899ae9b1c1 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000384945
0xee4f7558e0e6de7af158b7446f88565f8e72580f71c7548dc852f9f93a438681Buy101993382021-08-20 17:09:54101 days 22 hrs ago0x2e1a732553a759b40a1376c01923e9899ae9b1c1 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000459945
0xd456dd590d69121b98e4074612ae431dfe5a5d75fa6d3b38129f3166da6f8384Buy101992662021-08-20 17:06:17101 days 22 hrs ago0x2e1a732553a759b40a1376c01923e9899ae9b1c1 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000341475
0xe56767392af079145ce7a7b6089e10e37d2991172b8319655b43cb0bcbd1cbebMakeoffer101451352021-08-18 19:36:38103 days 20 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556455
0xb13789987d9214b6acc373e22758f0b7372bd8fceb22d99fa2c13563958e24daMakeoffer100902572021-08-16 21:48:03105 days 18 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.000556755
0x07cc60da2bf1f94e7f0fa7bfbe1586240470bcf5205cbf72ded5ee1d8dd3ca01Buy56545712021-03-13 20:57:41261 days 18 hrs ago0x00a599ce6e94490d4dd6567f3ef99fffddec9ba1 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00122761
0xaf533e3eca87f733313af96d70820a857512beb3b2ca3eb3c9acfa4c6c6f6dc1Buy56545522021-03-13 20:56:44261 days 18 hrs ago0x00a599ce6e94490d4dd6567f3ef99fffddec9ba1 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00079548
0x8fa565f7e6f6f937b712e96b30fffafbc6da365dbdefb6d30e515bd46c8500aaMakeoffer55157372021-03-09 1:01:04266 days 14 hrs ago0x6847abf4b740db5ce169d1653b30fd087e9f6047 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00111351
0x932d2381af9fe25042420642e1eb77c951f412a9aed0e90b3a504b417ea2de77Makeoffer5100712020-09-15 20:33:13440 days 19 hrs ago0x3448616bc4a15b84ab57afede4f6e1c37418ee4c IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00222702
0x13ca53a4842911d7f0b4388a77d5292ba48c1fcca65428d392644d23b6cf535fMakeoffer5099912020-09-15 20:29:13440 days 19 hrs ago0x777a2c14cf169abefc272c6c681adf6c0505d6bb IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.00222702
0xfcc7c55a9a3d7f358c703c91531f856d61be05a182328ff22a85b5d66a99931eMakeoffer5098712020-09-15 20:23:13440 days 19 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.0005644
0x71c2b4f8fd68f07b2707e2ecb1310859a1ea7d300efe124e1e785d3873e4225dMakeoffer4938162020-09-15 7:00:28441 days 8 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.0005644
0x6f6345edfb98b822b67ee15b2d6d8456ae07ab770b6bfa95b3ce551b76aaeff0Makeoffer4937562020-09-15 6:57:28441 days 8 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.0005644
0x9dda691fa04a2abb2dd4bf89cbc204a6a0810b1880e44ff0e49784e73aa2190fMakeoffer4937482020-09-15 6:57:04441 days 8 hrs ago0xc965e082b0082449047501032f0e9e7f3dc5cc12 IN  0xb18713ac02fc2090c0447e539524a5c76f327a3b0 BNB0.0005644
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xd8e53567b0b944dc0689335c2f6f4e3e5d30672ea21ddbe2de6438e4023ecf603717882020-09-11 1:19:04445 days 14 hrs ago 0xb18713ac02fc2090c0447e539524a5c76f327a3b0xc965e082b0082449047501032f0e9e7f3dc5cc120.01 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SWAPCAT

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2020-09-10
*/

pragma solidity ^0.4.20;

// 😸 WWW.SWAP.CAT 😸
//
// a simple DEX for fixed price token offers directly from wallet to wallet
//
// users can set up erc20 tokens for sale for any other erc20
//
// funds stay in users wallets, dex contract gets a spending allowance
//
// payments go directly into the sellers wallet
//
// this DEX takes no fees
//
// mostly useful to provide stablecoin liquidity or sell tokens for a premium
//
// offers have to be adjusted by the user if prices change
//




// we need the erc20 interface to access the tokens details

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    // no return value on transfer and transferFrom to tolerate old erc20 tokens
    // we work around that in the buy function by checking balance twice
    function transferFrom(address sender, address recipient, uint256 amount) external;
    function transfer(address to, uint256 amount) external;
    function decimals() external view returns (uint256);
    function symbol() external view returns (string);
    function name() external view returns (string);

}





contract SWAPCAT {

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// lets make mappings to store offer data

    mapping (uint24 => uint256) internal price;
    mapping (uint24 => address) internal offertoken;
    mapping (uint24 => address) internal buyertoken;
    mapping (uint24 => address) internal seller;
    uint24 internal offercount;


// admin address, receives donations and can move stuck funds, nothing else    
    address internal admin = 0xc965E082B0082449047501032F0E9e7F3DC5Cc12;






////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// set up your erc20 offer. give token addresses and the price in baseunits
// to change a price simply call this again with the changed price + offerid

function makeoffer(address _offertoken, address _buyertoken, uint256 _price, uint24 _offerid) public returns (uint24) {

// if no offerid is given a new offer is made, if offerid is given only the offers price is changed if owner matches
        if(_offerid==0)
                    {
                    _offerid=offercount;
                    offercount++;seller[_offerid]=msg.sender;
                    offertoken[_offerid]=_offertoken;
                    buyertoken[_offerid]=_buyertoken;
                    }
                    else
                    {
                    require(seller[_offerid]==msg.sender,"only original seller can change offer!");
                    }
        price[_offerid]=_price;

// returns the offerid
        return _offerid;
    }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////









////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// delete an offer

function deleteoffer(uint24 _offerid) public returns (string) {
        require(seller[_offerid]==msg.sender,"only original seller can change offer!");
        delete seller[_offerid];
        delete offertoken[_offerid];
        delete buyertoken[_offerid];
        delete price[_offerid];
        return "offer deleted";
    }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// return the total number of offers to loop through all offers
// its the web frontends job to keep track of offers

function getoffercount() public view returns (uint24){ return offercount-1;}

//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////






////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// get a tokens name, symbol and decimals 

    function tokeninfo(address _tokenaddr) public view returns (uint256, string, string) {
        IERC20 tokeni = IERC20(_tokenaddr);
        return (tokeni.decimals(),tokeni.symbol(),tokeni.name());
        }   
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////











////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// get a single offers details

    function showoffer(uint24 _offerid) public view returns (address, address, address, uint256, uint256) {
        

        IERC20 offertokeni = IERC20(offertoken[_offerid]);


// get offertokens balance and allowance, whichever is lower is the available amount        
        uint256 availablebalance = offertokeni.balanceOf(seller[_offerid]);
        uint256 availableallow = offertokeni.allowance(seller[_offerid],address(this));

        if(availableallow<availablebalance){availablebalance = availableallow;}

        return (offertoken[_offerid],buyertoken[_offerid],seller[_offerid],price[_offerid],availablebalance);
        
    }   
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// return the price in buyertokens for the specified amount of offertokens

function pricepreview(uint24 _offerid, uint256 _amount) public view returns (uint256) {
        IERC20 offertokeni = IERC20(offertoken[_offerid]);
        return  _amount * price[_offerid] / (uint256(10) ** offertokeni.decimals())+1;
    }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////






////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// return the amount in offertokens for the specified amount of buyertokens, for debugging

//function pricepreviewreverse(uint24 _offerid, uint256 _amount) public view returns (uint256) {
//        IERC20 offertokeni = IERC20(offertoken[_offerid]);
//        return  _amount * (uint256(10) ** offertokeni.decimals()) / price[_offerid];
//    }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////






////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// the actual exchange function
// the buyer must bring the price correctly to ensure no frontrunning / changed offer
// if the offer is changed in meantime, it will not execute

function buy(uint24 _offerid, uint256 _offertokenamount, uint256 _price) public returns (string) {

        IERC20 offertokeninterface = IERC20(offertoken[_offerid]);
        IERC20 buyertokeninterface = IERC20(buyertoken[_offerid]);


// given price is being checked with recorded data from mappings
       require(price[_offerid] == _price,"offer price wrong");


// calculate the price of the order
        uint256 buyertokenAmount =  _offertokenamount * _price / (uint256(10) ** offertokeninterface.decimals())+1;


////// these 4 checks have been spared out since the final check suffices, this save ~50000 gas
////        // check if the buyers allowance and balance are right
////                require(buyertokeninterface.allowance(msg.sender, address(this)) >= buyertokenAmount, "Check the buyers token allowance");
////                require(buyertokeninterface.balanceOf(msg.sender) >= buyertokenAmount,"buyer not enough to pay");
////        // check if the sellers allowance and balance are right        
////                require(offertokeninterface.allowance(seller[_offerid], address(this)) >= _offertokenamount, "Check the sellers token allowance");
////                require(offertokeninterface.balanceOf(seller[_offerid]) >= _offertokenamount,"seller not enough on stock");
  
        
// some old erc20 tokens give no return value so we must work around by getting their balance before and after the exchange        
        uint256 oldbuyerbalance = buyertokeninterface.balanceOf(msg.sender);
        uint256 oldsellerbalance = offertokeninterface.balanceOf(seller[_offerid]);


// finally do the exchange        
        buyertokeninterface.transferFrom(msg.sender,seller[_offerid], buyertokenAmount);
        offertokeninterface.transferFrom(seller[_offerid],msg.sender,_offertokenamount);


// now check if the balances changed on both accounts.
// we do not check for exact amounts since some tokens behave differently with fees, burnings, etc
// we assume if both balances are higher than before all is good
        require(oldbuyerbalance > buyertokeninterface.balanceOf(msg.sender),"buyer error");
        require(oldsellerbalance > offertokeninterface.balanceOf(seller[_offerid]),"seller error");
        return "tokens exchanged. ENJOY!";
    }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////












////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// in case someone wrongfully directly sends erc20 to this contract address, the admin can move them out
function losttokens(address token) public {
        IERC20 tokeninterface = IERC20(token);
        tokeninterface.transfer(admin,tokeninterface.balanceOf(address(this)));
}
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// straight ether payments to this contract are considered donations. thank you!
function () public payable {admin.transfer(address(this).balance);        }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////






}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_tokenaddr","type":"address"}],"name":"tokeninfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"losttokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offerid","type":"uint24"}],"name":"deleteoffer","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offertoken","type":"address"},{"name":"_buyertoken","type":"address"},{"name":"_price","type":"uint256"},{"name":"_offerid","type":"uint24"}],"name":"makeoffer","outputs":[{"name":"","type":"uint24"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_offerid","type":"uint24"}],"name":"showoffer","outputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_offerid","type":"uint24"},{"name":"_amount","type":"uint256"}],"name":"pricepreview","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_offerid","type":"uint24"},{"name":"_offertokenamount","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"buy","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getoffercount","outputs":[{"name":"","type":"uint24"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405260048054630100000060b860020a03191676c965e082b0082449047501032f0e9e7f3dc5cc1200000017905534801561003c57600080fd5b5061112c8061004c6000396000f3006080604052600436106100745763ffffffff60e060020a60003504166364473a1281146100ba578063657ce0ef146101c05780636a540b74146101e357806374759ae41461027557806394b1a131146102bf578063c2250f8b14610316578063e3ca70b014610348578063e3fb4aea1461036b575b600454604051600160a060020a0363010000009092049190911690303180156108fc02916000818181858888f193505050501580156100b7573d6000803e3d6000fd5b50005b3480156100c657600080fd5b506100db600160a060020a0360043516610380565b604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561012257818101518382015260200161010a565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561018257818101518382015260200161016a565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156101cc57600080fd5b506101e1600160a060020a03600435166105ab565b005b3480156101ef57600080fd5b5061020062ffffff600435166106a7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023a578181015183820152602001610222565b50505050905090810190601f1680156102675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028157600080fd5b506102a7600160a060020a036004358116906024351660443562ffffff606435166107d2565b6040805162ffffff9092168252519081900360200190f35b3480156102cb57600080fd5b506102dc62ffffff60043516610922565b60408051600160a060020a039687168152948616602086015292909416838301526060830152608082019290925290519081900360a00190f35b34801561032257600080fd5b5061033662ffffff60043516602435610ad1565b60408051918252519081900360200190f35b34801561035457600080fd5b5061020062ffffff60043516602435604435610ba0565b34801561037757600080fd5b506102a76110f1565b6000606080600084905080600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b505050506040513d60208110156103f257600080fd5b5051604080517f95d89b410000000000000000000000000000000000000000000000000000000081529051600160a060020a038416916395d89b4191600480830192600092919082900301818387803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561048b57600080fd5b8101908080516401000000008111156104a357600080fd5b820160208101848111156104b657600080fd5b81516401000000008111828201871017156104d057600080fd5b505092919050505082600160a060020a03166306fdde036040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561051657600080fd5b505af115801561052a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561055357600080fd5b81019080805164010000000081111561056b57600080fd5b8201602081018481111561057e57600080fd5b815164010000000081118282018710171561059857600080fd5b50959b949a509850929650505050505050565b600480546040805160e060020a6370a082310281523093810193909352518392600160a060020a038085169363a9059cbb9363010000009091049091169184916370a08231916024808201926020929091908290030181600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506040513d602081101561063d57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a039093166004840152602483019190915251604480830192600092919082900301818387803b15801561068b57600080fd5b505af115801561069f573d6000803e3d6000fd5b505050505050565b62ffffff8116600090815260036020526040902054606090600160a060020a03163314610744576040805160e560020a62461bcd02815260206004820152602660248201527f6f6e6c79206f726967696e616c2073656c6c65722063616e206368616e67652060448201527f6f66666572210000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5062ffffff166000908152600360209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19908116909155600183528184208054821690556002835281842080549091169055828252808320929092558151808301909252600d82527f6f666665722064656c65746564000000000000000000000000000000000000009082015290565b600062ffffff82161515610869576004805462ffffff198116600162ffffff92831681810190931691909117909255600081815260036020908152604080832080543373ffffffffffffffffffffffffffffffffffffffff199182161790915594825280832080548616600160a060020a038c81169190911790915560029092529091208054909316908716179091559150610903565b62ffffff8216600090815260036020526040902054600160a060020a03163314610903576040805160e560020a62461bcd02815260206004820152602660248201527f6f6e6c79206f726967696e616c2073656c6c65722063616e206368616e67652060448201527f6f66666572210000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5062ffffff811660009081526020819052604090209190915592915050565b62ffffff81166000908152600160209081526040808320546003835281842054825160e060020a6370a08231028152600160a060020a0391821660048201529251859485948594859416928492839285926370a082319260248084019391929182900301818787803b15801561099757600080fd5b505af11580156109ab573d6000803e3d6000fd5b505050506040513d60208110156109c157600080fd5b505162ffffff8a1660009081526003602090815260408083205481517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152306024820152915194965087169363dd62ed3e93604480840194938390030190829087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b505050506040513d6020811015610a6b57600080fd5b5051905081811015610a7b578091505b5062ffffff9790971660009081526001602090815260408083205460028352818420546003845282852054938590529190932054600160a060020a039384169b9184169a93909216985090965090945092505050565b62ffffff821660009081526001602090815260408083205481517f313ce5670000000000000000000000000000000000000000000000000000000081529151600160a060020a0390911692839263313ce567926004808301939282900301818887803b158015610b4057600080fd5b505af1158015610b54573d6000803e3d6000fd5b505050506040513d6020811015610b6a57600080fd5b505162ffffff8516600090815260208190526040902054600a9190910a908402811515610b9357fe5b0460010191505092915050565b62ffffff831660009081526001602090815260408083205460028352818420549284905290832054606093600160a060020a03928316939092169190819081908714610c36576040805160e560020a62461bcd02815260206004820152601160248201527f6f666665722070726963652077726f6e67000000000000000000000000000000604482015290519081900360640190fd5b84600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d6020811015610c9e57600080fd5b5051600a0a888802811515610caf57fe5b04600101925083600160a060020a03166370a08231336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610d1057600080fd5b505af1158015610d24573d6000803e3d6000fd5b505050506040513d6020811015610d3a57600080fd5b505162ffffff8a16600090815260036020908152604080832054815160e060020a6370a08231028152600160a060020a03918216600482015291519496508916936370a0823193602480840194938390030190829087803b158015610d9e57600080fd5b505af1158015610db2573d6000803e3d6000fd5b505050506040513d6020811015610dc857600080fd5b505162ffffff8a166000908152600360205260408082205481517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0391821660248201526044810188905291519394508716926323b872dd9260648084019391929182900301818387803b158015610e4e57600080fd5b505af1158015610e62573d6000803e3d6000fd5b5050505062ffffff89166000908152600360205260408082205481517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152336024820152604481018c90529151908816926323b872dd926064808201939182900301818387803b158015610ee657600080fd5b505af1158015610efa573d6000803e3d6000fd5b50506040805160e060020a6370a082310281523360048201529051600160a060020a03881693506370a08231925060248083019260209291908290030181600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b505050506040513d6020811015610f7357600080fd5b50518211610fcb576040805160e560020a62461bcd02815260206004820152600b60248201527f6275796572206572726f72000000000000000000000000000000000000000000604482015290519081900360640190fd5b62ffffff8916600090815260036020908152604080832054815160e060020a6370a08231028152600160a060020a0391821660048201529151908916936370a0823193602480850194919392918390030190829087803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b505050506040513d602081101561105857600080fd5b505181116110b0576040805160e560020a62461bcd02815260206004820152600c60248201527f73656c6c6572206572726f720000000000000000000000000000000000000000604482015290519081900360640190fd5b505060408051808201909152601881527f746f6b656e732065786368616e6765642e20454e4a4f592100000000000000006020820152979650505050505050565b60045462ffffff1660001901905600a165627a7a72305820b088d9bf973f3dcbd9bb8f46440b7deed70730b363a6daa0daf08e942a5e209e0029

Deployed ByteCode Sourcemap

1254:9300:0:-;;;;;;;;;-1:-1:-1;;;1254:9300:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10366:5;;:37;;-1:-1:-1;;;;;10366:5:0;;;;;;;;;10389:4;10381:21;10366:37;;;;;;;;;10381:21;10366:5;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10366:37:0;1254:9300;4315:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4315:209:0;-1:-1:-1;;;;;4315:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4315:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4315:209:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4315:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9825:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9825:175:0;-1:-1:-1;;;;;9825:175:0;;;;;;;3213:335;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3213:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3213:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2133:790;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2133:790:0;-1:-1:-1;;;;;2133:790:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4837:652;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4837:652:0;;;;;;;;;;;-1:-1:-1;;;;;4837:652:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5828:242:0;;;;;;;;;;;;;;;;;;;;;;;;;7126:2319;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7126:2319:0;;;;;;;;;;;3925:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3925:76:0;;;;4315:209;4375:7;4384:6;4392;4411:13;4434:10;4411:34;;4464:6;-1:-1:-1;;;;;4464:15:0;;:17;;;;;-1:-1:-1;;;4464:17:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4464:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4464:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4464:17:0;4482:15;;;;;;;;-1:-1:-1;;;;;4482:13:0;;;;;:15;;;;;;;;;;;;;;;:13;:15;;;5:2:-1;;;;30:1;27;20:12;5:2;4482:15:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4482:15:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;4482:15:0;80::-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;4482:15:0;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;4482:15:0;;;;;;4498:6;-1:-1:-1;;;;;4498:11:0;;:13;;;;;-1:-1:-1;;;4498:13:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4498:13:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4498:13:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;4498:13:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;4498:13:0;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;-1:-1;4456:56:0;;;;-1:-1:-1;4498:13:0;-1:-1:-1;4315:209:0;;-1:-1:-1;;;;;;;4315:209:0:o;9825:175::-;9950:5;;;9956:39;;;-1:-1:-1;;;;;9956:39:0;;9989:4;9956:39;;;;;;;;9909:5;;-1:-1:-1;;;;;9926:23:0;;;;;;9950:5;;;;;;;;9926:23;;9956:24;;:39;;;;;;;;;;;;;;;9878:21;9926:23;9956:39;;;5:2:-1;;;;30:1;27;20:12;5:2;9956:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9956:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9956:39:0;9926:70;;;-1:-1:-1;;;9926:70:0;;;;;;-1:-1:-1;;;;;9926:70:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9926:70:0;;;;;;;-1:-1:-1;9926:70:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;9926:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9926:70:0;;;;9825:175;;:::o;3213:335::-;3294:16;;;;;;;:6;:16;;;;;;3267:6;;-1:-1:-1;;;;;3294:16:0;3312:10;3294:28;3286:78;;;;;-1:-1:-1;;;;;3286:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3382:16:0;;;;;;:6;:16;;;;;;;;3375:23;;-1:-1:-1;;3375:23:0;;;;;;-1:-1:-1;3416:20:0;;;;;3409:27;;;;;;3454:10;:20;;;;;3447:27;;;;;;;3492:15;;;;;;3485:22;;;;3518;;;;;;;;;;;;;;;;;3213:335::o;2133:790::-;2243:6;2385:11;;;;2382:449;;;2451:10;;;-1:-1:-1;;2484:12:0;;2451:10;;;;;2484:12;;;;;;;;;;;;;-1:-1:-1;2497:16:0;;;:6;:16;;;;;;;;:27;;2514:10;-1:-1:-1;;2497:27:0;;;;;;;2547:20;;;;;;:32;;;;-1:-1:-1;;;;;2547:32:0;;;;;;;;;;2602:10;:20;;;;;;:32;;;;;;;;;;;;2451:10;-1:-1:-1;2382:449:0;;;2737:16;;;;;;;:6;:16;;;;;;-1:-1:-1;;;;;2737:16:0;2755:10;2737:28;2729:78;;;;;-1:-1:-1;;;;;2729:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2841:15:0;;;:5;:15;;;;;;;;;;:22;;;;:15;2133:790;-1:-1:-1;;2133:790:0:o;4837:652::-;4990:20;;;4894:7;4990:20;;;:10;:20;;;;;;;;;5169:6;:16;;;;;;5147:39;;-1:-1:-1;;;;;5147:39:0;;-1:-1:-1;;;;;5169:16:0;;;5147:39;;;;;;4894:7;;;;;;;;4990:20;;4894:7;;;;4990:20;;5147:21;;:39;;;;;4990:20;;5147:39;;;;;;4894:7;4990:20;5147:39;;;5:2:-1;;;;30:1;27;20:12;5:2;5147:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5147:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5147:39:0;5244:16;;;;;;;:6;5147:39;5244:16;;;;;;;;5222:53;;;;;-1:-1:-1;;;;;5244:16:0;;;5222:53;;;;5269:4;5222:53;;;;;;5147:39;;-1:-1:-1;5222:21:0;;;;;:53;;;;;5147:39;5222:53;;;;;;;:21;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;5222:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5222:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5222:53:0;;-1:-1:-1;5291:31:0;;;5288:71;;;5343:14;5324:33;;5288:71;-1:-1:-1;5379:20:0;;;;;;;;;:10;:20;;;;;;;;;5400:10;:20;;;;;;5421:6;:16;;;;;;5438:15;;;;;;;;;-1:-1:-1;;;;;5379:20:0;;;;5400;;;;5421:16;;;;;-1:-1:-1;5438:15:0;;-1:-1:-1;5454:16:0;;-1:-1:-1;4837:652:0;-1:-1:-1;;;4837:652:0:o;5828:242::-;5953:20;;;5905:7;5953:20;;;:10;:20;;;;;;;;;6037:22;;;;;;;-1:-1:-1;;;;;5953:20:0;;;;;;6037;;:22;;;;;5953:20;6037:22;;;;;5905:7;5953:20;6037:22;;;5:2:-1;;;;30:1;27;20:12;5:2;6037:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6037:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6037:22:0;6003:15;;;:5;:15;;;6037:22;6003:15;;;;;;;6030:2;6022:37;;;;;5993:25;;:67;;;;;;;;6061:1;5993:69;5985:77;;5828:242;;;;;:::o;7126:2319::-;7272:20;;;7236:26;7272:20;;;:10;:20;;;;;;;;;7340:10;:20;;;;;;7449:15;;;;;;;;7215:6;;-1:-1:-1;;;;;7272:20:0;;;;7340;;;;7236:26;;;;;7449:25;;7441:54;;;;;-1:-1:-1;;;;;7441:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7620:19;-1:-1:-1;;;;;7620:28:0;;:30;;;;;-1:-1:-1;;;7620:30:0;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7620:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7620:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7620:30:0;7613:2;7605:45;7575:26;;;:76;;;;;;;;7652:1;7575:78;7547:106;;8627:19;-1:-1:-1;;;;;8627:29:0;;8657:10;8627:41;;;;;-1:-1:-1;;;8627:41:0;;;;;;;-1:-1:-1;;;;;8627:41:0;-1:-1:-1;;;;;8627:41:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8627:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8627:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8627:41:0;8736:16;;;;;;;:6;8627:41;8736:16;;;;;;;;8706:47;;-1:-1:-1;;;;;8706:47:0;;-1:-1:-1;;;;;8736:16:0;;;8706:47;;;;;;8627:41;;-1:-1:-1;8706:29:0;;;;;:47;;;;;8627:41;8706:47;;;;;;;:29;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;8706:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8706:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8706:47:0;8848:16;;;;;;;:6;8706:47;8848:16;;;;;;8804:79;;;;;8837:10;8804:79;;;;-1:-1:-1;;;;;8848:16:0;;;8804:79;;;;;;;;;;;;8706:47;;-1:-1:-1;8804:32:0;;;;;:79;;;;;8848:16;;8804:79;;;;;;8848:16;8804:32;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;8804:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;8927:16:0;;;;;;;:6;:16;;;;;;;8894:79;;;;;-1:-1:-1;;;;;8927:16:0;;;8894:79;;;;8944:10;8894:79;;;;;;;;;;;;:32;;;;;;:79;;;;;;;;;;;8927:16;8894:32;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;8894:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9236:41:0;;;-1:-1:-1;;;;;9236:41:0;;9266:10;9236:41;;;;;;-1:-1:-1;;;;;9236:29:0;;;-1:-1:-1;9236:29:0;;-1:-1:-1;9236:41:0;;;;;;;;;;;;;;-1:-1:-1;9236:29:0;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;9236:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9236:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9236:41:0;9218:59;;9210:82;;;;;-1:-1:-1;;;;;9210:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9360:16;;;;;;;:6;:16;;;;;;;;;9330:47;;-1:-1:-1;;;;;9330:47:0;;-1:-1:-1;;;;;9360:16:0;;;9330:47;;;;;;:29;;;;;;:47;;;;;9360:16;;9330:47;;;;;;;;;:29;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;9330:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9330:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9330:47:0;9311:66;;9303:90;;;;;-1:-1:-1;;;;;9303:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9404:33:0;;;;;;;;;;;;;;;;;;7126:2319;-1:-1:-1;;;;;;;7126:2319:0:o;3925:76::-;3987:10;;;;-1:-1:-1;;3987:12:0;;3925:76::o

Swarm Source

bzzr://b088d9bf973f3dcbd9bb8f46440b7deed70730b363a6daa0daf08e942a5e209e
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.