POL Price: $0.153866 (-0.12%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sell Sapphires295072322022-06-13 6:36:101252 days ago1655102170IN
0x6a88eaC5...739ae7679
0 POL0.02148391247.33671938
Harvest Sapphire...291037412022-06-03 6:01:361262 days ago1654236096IN
0x6a88eaC5...739ae7679
0 POL0.001730631.69320001
Sell Sapphires288634512022-05-28 7:20:131268 days ago1653722413IN
0x6a88eaC5...739ae7679
0 POL0.0028090832.34000001
Harvest Sapphire...287393002022-05-25 4:47:461271 days ago1653454066IN
0x6a88eaC5...739ae7679
0 POL0.0016381530.00000001
Harvest Sapphire...286281602022-05-22 11:32:001274 days ago1653219120IN
0x6a88eaC5...739ae7679
0 POL0.0021405139.19999999
Sell Sapphires285767442022-05-21 5:35:061275 days ago1653111306IN
0x6a88eaC5...739ae7679
0 POL0.0025625830.38000001
Harvest Sapphire...285755632022-05-21 4:54:321275 days ago1653108872IN
0x6a88eaC5...739ae7679
0 POL0.0018729534.29999999
Sell Sapphires285206062022-05-19 19:59:331276 days ago1652990373IN
0x6a88eaC5...739ae7679
0 POL0.0026201530.16844826
Harvest Sapphire...284576942022-05-18 5:58:591278 days ago1652853539IN
0x6a88eaC5...739ae7679
0 POL0.062513281,144.827212
Sell Sapphires283396612022-05-15 7:33:131281 days ago1652599993IN
0x6a88eaC5...739ae7679
0 POL0.003619241.66666666
Sell Sapphires280853052022-05-08 20:35:061287 days ago1652042106IN
0x6a88eaC5...739ae7679
0 POL0.003619241.66666666
Sell Sapphires280650322022-05-08 8:19:001288 days ago1651997940IN
0x6a88eaC5...739ae7679
0 POL0.0026455631.35999991
Harvest Sapphire...280642572022-05-08 7:50:121288 days ago1651996212IN
0x6a88eaC5...739ae7679
0 POL0.0016959931.05933599
Sell Sapphires280570342022-05-08 3:26:221288 days ago1651980382IN
0x6a88eaC5...739ae7679
0 POL0.006065369.82771793
Harvest Sapphire...280227932022-05-07 7:13:441289 days ago1651907624IN
0x6a88eaC5...739ae7679
0 POL0.0020890138.25689112
Harvest Sapphire...279842562022-05-06 7:54:461290 days ago1651823686IN
0x6a88eaC5...739ae7679
0 POL0.00908991166.46667404
Harvest Sapphire...279833642022-05-06 7:20:001290 days ago1651821600IN
0x6a88eaC5...739ae7679
0 POL0.0020557537.64768002
Harvest Sapphire...279433332022-05-05 6:57:171291 days ago1651733837IN
0x6a88eaC5...739ae7679
0 POL0.0017700432.41545125
Harvest Sapphire...279225582022-05-04 17:52:521291 days ago1651686772IN
0x6a88eaC5...739ae7679
0 POL0.0020710637.92817518
Harvest Sapphire...279047442022-05-04 7:07:401292 days ago1651648060IN
0x6a88eaC5...739ae7679
0 POL0.0028361851.94000002
Harvest Sapphire...278688552022-05-03 9:09:331293 days ago1651568973IN
0x6a88eaC5...739ae7679
0 POL0.0021430439.24628576
Harvest Sapphire...278646172022-05-03 6:39:071293 days ago1651559947IN
0x6a88eaC5...739ae7679
0 POL0.0019801236.26275746
Harvest Sapphire...278271472022-05-02 7:44:141294 days ago1651477454IN
0x6a88eaC5...739ae7679
0 POL0.00208738.22
Harvest Sapphire...278252932022-05-02 6:34:191294 days ago1651473259IN
0x6a88eaC5...739ae7679
0 POL0.0017169431.44299621
Harvest Sapphire...277951732022-05-01 12:22:221294 days ago1651407742IN
0x6a88eaC5...739ae7679
0 POL0.0025041545.85953561
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
295072322022-06-13 6:36:101252 days ago1655102170
0x6a88eaC5...739ae7679
13.36135331 POL
295072322022-06-13 6:36:101252 days ago1655102170
0x6a88eaC5...739ae7679
0.40902101 POL
295072322022-06-13 6:36:101252 days ago1655102170
0x6a88eaC5...739ae7679
0.27268067 POL
288634512022-05-28 7:20:131268 days ago1653722413
0x6a88eaC5...739ae7679
7.482733 POL
288634512022-05-28 7:20:131268 days ago1653722413
0x6a88eaC5...739ae7679
0.22906325 POL
288634512022-05-28 7:20:131268 days ago1653722413
0x6a88eaC5...739ae7679
0.15270883 POL
285767442022-05-21 5:35:061275 days ago1653111306
0x6a88eaC5...739ae7679
10.68017556 POL
285767442022-05-21 5:35:061275 days ago1653111306
0x6a88eaC5...739ae7679
0.32694414 POL
285767442022-05-21 5:35:061275 days ago1653111306
0x6a88eaC5...739ae7679
0.21796276 POL
285206062022-05-19 19:59:331276 days ago1652990373
0x6a88eaC5...739ae7679
0.23491014 POL
285206062022-05-19 19:59:331276 days ago1652990373
0x6a88eaC5...739ae7679
0.00719112 POL
285206062022-05-19 19:59:331276 days ago1652990373
0x6a88eaC5...739ae7679
0.00479408 POL
283396612022-05-15 7:33:131281 days ago1652599993
0x6a88eaC5...739ae7679
4.6834681 POL
283396612022-05-15 7:33:131281 days ago1652599993
0x6a88eaC5...739ae7679
0.14337147 POL
283396612022-05-15 7:33:131281 days ago1652599993
0x6a88eaC5...739ae7679
0.09558098 POL
280853052022-05-08 20:35:061287 days ago1652042106
0x6a88eaC5...739ae7679
7.66433222 POL
280853052022-05-08 20:35:061287 days ago1652042106
0x6a88eaC5...739ae7679
0.23462241 POL
280853052022-05-08 20:35:061287 days ago1652042106
0x6a88eaC5...739ae7679
0.15641494 POL
280650322022-05-08 8:19:001288 days ago1651997940
0x6a88eaC5...739ae7679
35.33546288 POL
280650322022-05-08 8:19:001288 days ago1651997940
0x6a88eaC5...739ae7679
1.08169784 POL
280650322022-05-08 8:19:001288 days ago1651997940
0x6a88eaC5...739ae7679
0.72113189 POL
280570342022-05-08 3:26:221288 days ago1651980382
0x6a88eaC5...739ae7679
19.13615953 POL
280570342022-05-08 3:26:221288 days ago1651980382
0x6a88eaC5...739ae7679
0.5858008 POL
280570342022-05-08 3:26:221288 days ago1651980382
0x6a88eaC5...739ae7679
0.39053386 POL
277556302022-04-30 12:41:471295 days ago1651322507
0x6a88eaC5...739ae7679
0.15 POL
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Sapphire

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-04-27
*/

// SPDX-License-Identifier: UNLICENSED

library SafeMath {
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

   
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

pragma solidity 0.8.9;


abstract contract Context { 
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address public _marketing;
    

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    
    constructor () {
      address msgSender = _msgSender();
      _owner = msgSender;
      emit OwnershipTransferred(address(0), msgSender);
      _marketing = 0x7Ba0554aF1947699444091E0633B28e8CBe8AE16;
      
    }

    
    function owner() public view returns (address) {
      return _owner;
    }

    
    modifier onlyOwner() {
      require(_owner == _msgSender(), "Ownable: caller is not the owner");
      _;
    }

    function renounceOwnership() public onlyOwner {
      emit OwnershipTransferred(_owner, address(0));
      _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
      _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
      require(newOwner != address(0), "Ownable: new owner is the zero address");
      emit OwnershipTransferred(_owner, newOwner);
      _owner = newOwner;
    }
}

contract Sapphire is Context, Ownable {
    using SafeMath for uint256;

    uint256 private SAPPHIRE_TO_HATCH_1MINERS = 1080000;//for final version should be seconds in a day
    uint256 private PSN = 10000;
    uint256 private PSNH = 5000;
    uint256 private devFeeVal = 2;
    uint256 private marketingFeeVal = 3;
    uint private constant TIME_TO_UNSTAKE   = 6 days;
    
    bool private initialized = false;
    address payable private recAdd;
    address payable private marketingAdd;
    mapping (address => uint256) private sapphireMiners;
    mapping (address => uint256) private claimedSapphire;
    mapping (address => uint256) private lastHarvest;
    mapping (address => uint256) private lastStakeTime;
    mapping (address => address) private referrals;
    uint256 private marketSapphires;
    
    constructor() { 
        recAdd = payable(msg.sender);
        marketingAdd = payable(_marketing);
        
    }
    
    function harvestSapphires(address ref) public {
        require(initialized);
        
        if(ref == msg.sender) {
            ref = address(0);
        }
        
        if(referrals[msg.sender] == address(0) && referrals[msg.sender] != msg.sender) {
            referrals[msg.sender] = ref;
        }
        
        uint256 sapphiresUsed = getMySapphires(msg.sender);
        uint256 newMiners = SafeMath.div(sapphiresUsed,SAPPHIRE_TO_HATCH_1MINERS);
        sapphireMiners[msg.sender] = SafeMath.add(sapphireMiners[msg.sender],newMiners);
        claimedSapphire[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        
        //send referral sapphires
        claimedSapphire[referrals[msg.sender]] = SafeMath.add(claimedSapphire[referrals[msg.sender]],SafeMath.div(sapphiresUsed,8));
        
        //boost market to nerf miners hoarding
        marketSapphires=SafeMath.add(marketSapphires,SafeMath.div(sapphiresUsed,5));
    }
    
    function sellSapphires() public {
        require(initialized);
        require(block.timestamp > lastStakeTime[msg.sender].add(TIME_TO_UNSTAKE));
        uint256 hasSapphires = getMySapphires(msg.sender);
        uint256 sapphireValue = calculateSapphireSell(hasSapphires);
        uint256 fee1 = devFee(sapphireValue);
        uint256 fee2 = marketingFee(sapphireValue);
        claimedSapphire[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        marketSapphires = SafeMath.add(marketSapphires,hasSapphires);
        recAdd.transfer(fee1);
        marketingAdd.transfer(fee2);        
        payable (msg.sender).transfer(SafeMath.sub(sapphireValue,fee1));
        lastStakeTime[msg.sender] = block.timestamp;

    }
    
    function sapphireRewards(address adr) public view returns(uint256) {
        uint256 hasSapphires = getMySapphires(adr);
        uint256 sapphireValue = calculateSapphireSell(hasSapphires);
        return sapphireValue;
    }
    
    function buySapphires(address ref) public payable {
        require(initialized);
        lastStakeTime[msg.sender] = block.timestamp;
        uint256 sapphiresBought = calculateSapphireBuy(msg.value,SafeMath.sub(address(this).balance,msg.value));
        sapphiresBought = SafeMath.sub(sapphiresBought,devFee(sapphiresBought));
        sapphiresBought = SafeMath.sub(sapphiresBought,marketingFee(sapphiresBought));
        

        uint256 fee1 = devFee(msg.value);
        uint256 fee2 = marketingFee(msg.value);
        
        recAdd.transfer(fee1);
        marketingAdd.transfer(fee2);
        

        claimedSapphire[msg.sender] = SafeMath.add(claimedSapphire[msg.sender],sapphiresBought);
        harvestSapphires(ref);
    }
    
    function calculateTrade(uint256 rt,uint256 rs, uint256 bs) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(PSN,bs),SafeMath.add(PSNH,SafeMath.div(SafeMath.add(SafeMath.mul(PSN,rs),SafeMath.mul(PSNH,rt)),rt)));
    }
    
    function calculateSapphireSell(uint256 sapphires) public view returns(uint256) {
        return calculateTrade(sapphires,marketSapphires,address(this).balance);
    }
    
    function calculateSapphireBuy(uint256 eth,uint256 contractBalance) public view returns(uint256) {
        return calculateTrade(eth,contractBalance,marketSapphires);
    }
    
    function calculateSapphireBuySimple(uint256 eth) public view returns(uint256) {
        return calculateSapphireBuy(eth,address(this).balance);
    }
    
    function devFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,devFeeVal),100);
    }

    function marketingFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,marketingFeeVal),100);
    }
    

    function openMines() public payable onlyOwner {
        require(marketSapphires == 0);
        initialized = true;
        marketSapphires = 108000000000;
    }
    
    function getBalance() public view returns(uint256) {
        return address(this).balance;
    }
    
    function getMyMiners(address adr) public view returns(uint256) {
        return sapphireMiners[adr];
    }
    
    function getMySapphires(address adr) public view returns(uint256) {
        return SafeMath.add(claimedSapphire[adr],getSapphiresSinceLastHarvest(adr));
    }
    
    function getSapphiresSinceLastHarvest(address adr) public view returns(uint256) {
        uint256 secondsPassed=min(SAPPHIRE_TO_HATCH_1MINERS,SafeMath.sub(block.timestamp,lastHarvest[adr]));
        return SafeMath.mul(secondsPassed,sapphireMiners[adr]);
    }
    
    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return a < b ? a : b;
    } 
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"buySapphires","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"contractBalance","type":"uint256"}],"name":"calculateSapphireBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"}],"name":"calculateSapphireBuySimple","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sapphires","type":"uint256"}],"name":"calculateSapphireSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyMiners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMySapphires","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getSapphiresSinceLastHarvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"harvestSapphires","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openMines","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"sapphireRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellSapphires","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262107ac0600255612710600355611388600455600260055560036006556000600760006101000a81548160ff02191690831515021790555034801561004857600080fd5b5060006100596101f560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3737ba0554af1947699444091e0633b28e8cbe8ae16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101fd565b600033905090565b6118848061020c6000396000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a5780639a290b50116100595780639a290b50146102fe578063aae5c77b1461033b578063c57d0baf14610378578063f2fde38b146103a1576100f3565b80638da5cb5b14610270578063908aa2691461029b57806391be7dbe146102a557806396a773ca146102e2576100f3565b806362940cc4116100c657806362940cc4146101da578063715018a6146102055780637a80752b1461021c5780637af0538e14610259576100f3565b80631055e1a0146100f857806312065fe0146101355780633ae4cea6146101605780634b634b061461019d575b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a9190611480565b6103ca565b60405161012c91906114bc565b60405180910390f35b34801561014157600080fd5b5061014a6103dd565b60405161015791906114bc565b60405180910390f35b34801561016c57600080fd5b5061018760048036038101906101829190611535565b6103e5565b60405161019491906114bc565b60405180910390f35b3480156101a957600080fd5b506101c460048036038101906101bf9190611535565b61048f565b6040516101d191906114bc565b60405180910390f35b3480156101e657600080fd5b506101ef6104d8565b6040516101fc9190611571565b60405180910390f35b34801561021157600080fd5b5061021a6104fe565b005b34801561022857600080fd5b50610243600480360381019061023e919061158c565b610651565b60405161025091906114bc565b60405180910390f35b34801561026557600080fd5b5061026e610668565b005b34801561027c57600080fd5b5061028561091c565b6040516102929190611571565b60405180910390f35b6102a3610945565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190611480565b610a12565b6040516102d991906114bc565b60405180910390f35b6102fc60048036038101906102f79190611535565b610a28565b005b34801561030a57600080fd5b5061032560048036038101906103209190611535565b610c4b565b60405161033291906114bc565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190611535565b610c70565b60405161036f91906114bc565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190611535565b610cca565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190611535565b61116d565b005b60006103d68247610651565b9050919050565b600047905090565b60008061043c60025461043742600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120e565b611224565b905061048781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123d565b915050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610506611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90611629565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006106608383600e5461125b565b905092915050565b600760009054906101000a900460ff1661068157600080fd5b6106d66207e900600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ae90919063ffffffff16565b42116106e157600080fd5b60006106ec33610c70565b905060006106f982610a12565b90506000610706826112c4565b90506000610713836112e3565b90506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107aa600e54856112ae565b600e81905550600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610818573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610881573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff166108fc6108a6858561120e565b9081150290604051600060405180830381858888f193505050501580156108d1573d6000803e3d6000fd5b5042600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61094d611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611629565b60405180910390fd5b6000600e54146109e957600080fd5b6001600760006101000a81548160ff0219169083151502179055506419254d3800600e81905550565b6000610a2182600e544761125b565b9050919050565b600760009054906101000a900460ff16610a4157600080fd5b42600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610a9a34610a95473461120e565b610651565b9050610aae81610aa9836112c4565b61120e565b9050610ac281610abd836112e3565b61120e565b90506000610acf346112c4565b90506000610adc346112e3565b9050600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610b46573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610baf573d6000803e3d6000fd5b50610bf9600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846112ae565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c4584610cca565b50505050565b600080610c5783610c70565b90506000610c6482610a12565b90508092505050919050565b6000610cc3600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbe846103e5565b6112ae565b9050919050565b600760009054906101000a900460ff16610ce357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d1c57600090505b600073ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e4257503373ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610ec65780600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000610ed133610c70565b90506000610ee182600254611302565b9050610f2c600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826112ae565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110aa600a6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110a5846008611302565b6112ae565b600a6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611162600e5461115d846005611302565b6112ae565b600e81905550505050565b611175611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990611629565b60405180910390fd5b61120b81611318565b50565b6000818361121c9190611678565b905092915050565b60008183106112335781611235565b825b905092915050565b6000818361124b91906116ac565b905092915050565b600033905090565b60006112a561126c6003548461123d565b6112a060045461129b6112956112846003548a61123d565b6112906004548c61123d565b6112ae565b89611302565b6112ae565b611302565b90509392505050565b600081836112bc9190611706565b905092915050565b60006112dc6112d58360055461123d565b6064611302565b9050919050565b60006112fb6112f48360065461123d565b6064611302565b9050919050565b60008183611310919061178b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f9061182e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b6000819050919050565b61145d8161144a565b811461146857600080fd5b50565b60008135905061147a81611454565b92915050565b60006020828403121561149657611495611445565b5b60006114a48482850161146b565b91505092915050565b6114b68161144a565b82525050565b60006020820190506114d160008301846114ad565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611502826114d7565b9050919050565b611512816114f7565b811461151d57600080fd5b50565b60008135905061152f81611509565b92915050565b60006020828403121561154b5761154a611445565b5b600061155984828501611520565b91505092915050565b61156b816114f7565b82525050565b60006020820190506115866000830184611562565b92915050565b600080604083850312156115a3576115a2611445565b5b60006115b18582860161146b565b92505060206115c28582860161146b565b9150509250929050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116136020836115cc565b915061161e826115dd565b602082019050919050565b6000602082019050818103600083015261164281611606565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116838261144a565b915061168e8361144a565b9250828210156116a1576116a0611649565b5b828203905092915050565b60006116b78261144a565b91506116c28361144a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156116fb576116fa611649565b5b828202905092915050565b60006117118261144a565b915061171c8361144a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561175157611750611649565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006117968261144a565b91506117a18361144a565b9250826117b1576117b061175c565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118186026836115cc565b9150611823826117bc565b604082019050919050565b600060208201905081810360008301526118478161180b565b905091905056fea2646970667358221220bc97dd8b78fb5115268ed5e38566eae7c73797f9b5fa2061573b1a41121786bc64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100f35760003560e01c80638da5cb5b1161008a5780639a290b50116100595780639a290b50146102fe578063aae5c77b1461033b578063c57d0baf14610378578063f2fde38b146103a1576100f3565b80638da5cb5b14610270578063908aa2691461029b57806391be7dbe146102a557806396a773ca146102e2576100f3565b806362940cc4116100c657806362940cc4146101da578063715018a6146102055780637a80752b1461021c5780637af0538e14610259576100f3565b80631055e1a0146100f857806312065fe0146101355780633ae4cea6146101605780634b634b061461019d575b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a9190611480565b6103ca565b60405161012c91906114bc565b60405180910390f35b34801561014157600080fd5b5061014a6103dd565b60405161015791906114bc565b60405180910390f35b34801561016c57600080fd5b5061018760048036038101906101829190611535565b6103e5565b60405161019491906114bc565b60405180910390f35b3480156101a957600080fd5b506101c460048036038101906101bf9190611535565b61048f565b6040516101d191906114bc565b60405180910390f35b3480156101e657600080fd5b506101ef6104d8565b6040516101fc9190611571565b60405180910390f35b34801561021157600080fd5b5061021a6104fe565b005b34801561022857600080fd5b50610243600480360381019061023e919061158c565b610651565b60405161025091906114bc565b60405180910390f35b34801561026557600080fd5b5061026e610668565b005b34801561027c57600080fd5b5061028561091c565b6040516102929190611571565b60405180910390f35b6102a3610945565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190611480565b610a12565b6040516102d991906114bc565b60405180910390f35b6102fc60048036038101906102f79190611535565b610a28565b005b34801561030a57600080fd5b5061032560048036038101906103209190611535565b610c4b565b60405161033291906114bc565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190611535565b610c70565b60405161036f91906114bc565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190611535565b610cca565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190611535565b61116d565b005b60006103d68247610651565b9050919050565b600047905090565b60008061043c60025461043742600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120e565b611224565b905061048781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123d565b915050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610506611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90611629565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006106608383600e5461125b565b905092915050565b600760009054906101000a900460ff1661068157600080fd5b6106d66207e900600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ae90919063ffffffff16565b42116106e157600080fd5b60006106ec33610c70565b905060006106f982610a12565b90506000610706826112c4565b90506000610713836112e3565b90506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107aa600e54856112ae565b600e81905550600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610818573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610881573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff166108fc6108a6858561120e565b9081150290604051600060405180830381858888f193505050501580156108d1573d6000803e3d6000fd5b5042600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61094d611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611629565b60405180910390fd5b6000600e54146109e957600080fd5b6001600760006101000a81548160ff0219169083151502179055506419254d3800600e81905550565b6000610a2182600e544761125b565b9050919050565b600760009054906101000a900460ff16610a4157600080fd5b42600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610a9a34610a95473461120e565b610651565b9050610aae81610aa9836112c4565b61120e565b9050610ac281610abd836112e3565b61120e565b90506000610acf346112c4565b90506000610adc346112e3565b9050600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610b46573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610baf573d6000803e3d6000fd5b50610bf9600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846112ae565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c4584610cca565b50505050565b600080610c5783610c70565b90506000610c6482610a12565b90508092505050919050565b6000610cc3600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbe846103e5565b6112ae565b9050919050565b600760009054906101000a900460ff16610ce357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d1c57600090505b600073ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e4257503373ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610ec65780600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000610ed133610c70565b90506000610ee182600254611302565b9050610f2c600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826112ae565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110aa600a6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110a5846008611302565b6112ae565b600a6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611162600e5461115d846005611302565b6112ae565b600e81905550505050565b611175611253565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990611629565b60405180910390fd5b61120b81611318565b50565b6000818361121c9190611678565b905092915050565b60008183106112335781611235565b825b905092915050565b6000818361124b91906116ac565b905092915050565b600033905090565b60006112a561126c6003548461123d565b6112a060045461129b6112956112846003548a61123d565b6112906004548c61123d565b6112ae565b89611302565b6112ae565b611302565b90509392505050565b600081836112bc9190611706565b905092915050565b60006112dc6112d58360055461123d565b6064611302565b9050919050565b60006112fb6112f48360065461123d565b6064611302565b9050919050565b60008183611310919061178b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f9061182e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b6000819050919050565b61145d8161144a565b811461146857600080fd5b50565b60008135905061147a81611454565b92915050565b60006020828403121561149657611495611445565b5b60006114a48482850161146b565b91505092915050565b6114b68161144a565b82525050565b60006020820190506114d160008301846114ad565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611502826114d7565b9050919050565b611512816114f7565b811461151d57600080fd5b50565b60008135905061152f81611509565b92915050565b60006020828403121561154b5761154a611445565b5b600061155984828501611520565b91505092915050565b61156b816114f7565b82525050565b60006020820190506115866000830184611562565b92915050565b600080604083850312156115a3576115a2611445565b5b60006115b18582860161146b565b92505060206115c28582860161146b565b9150509250929050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116136020836115cc565b915061161e826115dd565b602082019050919050565b6000602082019050818103600083015261164281611606565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116838261144a565b915061168e8361144a565b9250828210156116a1576116a0611649565b5b828203905092915050565b60006116b78261144a565b91506116c28361144a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156116fb576116fa611649565b5b828202905092915050565b60006117118261144a565b915061171c8361144a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561175157611750611649565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006117968261144a565b91506117a18361144a565b9250826117b1576117b061175c565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118186026836115cc565b9150611823826117bc565b604082019050919050565b600060208201905081810360008301526118478161180b565b905091905056fea2646970667358221220bc97dd8b78fb5115268ed5e38566eae7c73797f9b5fa2061573b1a41121786bc64736f6c63430008090033

Deployed Bytecode Sourcemap

4178:5788:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8535:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9180:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9582:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9290:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3103:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3689:136;;;;;;;;;;;;;:::i;:::-;;8350:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6140:758;;;;;;;;;;;;;:::i;:::-;;3475:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9004:164;;;:::i;:::-;;8170:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7151:753;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6910:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9410:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5143:985;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3833:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8535:151;8604:7;8631:47;8652:3;8656:21;8631:20;:47::i;:::-;8624:54;;8535:151;;;:::o;9180:98::-;9222:7;9249:21;9242:28;;9180:98;:::o;9582:263::-;9653:7;9673:21;9695:77;9699:25;;9725:46;9738:15;9754:11;:16;9766:3;9754:16;;;;;;;;;;;;;;;;9725:12;:46::i;:::-;9695:3;:77::i;:::-;9673:99;;9790:47;9803:13;9817:14;:19;9832:3;9817:19;;;;;;;;;;;;;;;;9790:12;:47::i;:::-;9783:54;;;9582:263;;;:::o;9290:108::-;9344:7;9371:14;:19;9386:3;9371:19;;;;;;;;;;;;;;;;9364:26;;9290:108;;;:::o;3103:25::-;;;;;;;;;;;;;:::o;3689:136::-;3614:12;:10;:12::i;:::-;3604:22;;:6;;;;;;;;;;:22;;;3596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3786:1:::1;3749:40;;3770:6;::::0;::::1;;;;;;;;3749:40;;;;;;;;;;;;3815:1;3798:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3689:136::o:0;8350:173::-;8437:7;8464:51;8479:3;8483:15;8499;;8464:14;:51::i;:::-;8457:58;;8350:173;;;;:::o;6140:758::-;6191:11;;;;;;;;;;;6183:20;;;;;;6240:46;4550:6;6240:13;:25;6254:10;6240:25;;;;;;;;;;;;;;;;:29;;:46;;;;:::i;:::-;6222:15;:64;6214:73;;;;;;6298:20;6321:26;6336:10;6321:14;:26::i;:::-;6298:49;;6358:21;6382:35;6404:12;6382:21;:35::i;:::-;6358:59;;6428:12;6443:21;6450:13;6443:6;:21::i;:::-;6428:36;;6475:12;6490:27;6503:13;6490:12;:27::i;:::-;6475:42;;6558:1;6528:15;:27;6544:10;6528:27;;;;;;;;;;;;;;;:31;;;;6596:15;6570:11;:23;6582:10;6570:23;;;;;;;;;;;;;;;:41;;;;6640:42;6653:15;;6669:12;6640;:42::i;:::-;6622:15;:60;;;;6693:6;;;;;;;;;;;:15;;:21;6709:4;6693:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6725:12;;;;;;;;;;;:21;;:27;6747:4;6725:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6780:10;6771:29;;:63;6801:32;6814:13;6828:4;6801:12;:32::i;:::-;6771:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6873:15;6845:13;:25;6859:10;6845:25;;;;;;;;;;;;;;;:43;;;;6172:726;;;;6140:758::o;3475:77::-;3513:7;3538:6;;;;;;;;;;;3531:13;;3475:77;:::o;9004:164::-;3614:12;:10;:12::i;:::-;3604:22;;:6;;;;;;;;;;:22;;;3596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9088:1:::1;9069:15;;:20;9061:29;;;::::0;::::1;;9115:4;9101:11;;:18;;;;;;;;;;;;;;;;;;9148:12;9130:15;:30;;;;9004:164::o:0;8170:168::-;8240:7;8267:63;8282:9;8292:15;;8308:21;8267:14;:63::i;:::-;8260:70;;8170:168;;;:::o;7151:753::-;7220:11;;;;;;;;;;;7212:20;;;;;;7271:15;7243:13;:25;7257:10;7243:25;;;;;;;;;;;;;;;:43;;;;7297:23;7323:77;7344:9;7354:45;7367:21;7389:9;7354:12;:45::i;:::-;7323:20;:77::i;:::-;7297:103;;7429:53;7442:15;7458:23;7465:15;7458:6;:23::i;:::-;7429:12;:53::i;:::-;7411:71;;7511:59;7524:15;7540:29;7553:15;7540:12;:29::i;:::-;7511:12;:59::i;:::-;7493:77;;7593:12;7608:17;7615:9;7608:6;:17::i;:::-;7593:32;;7636:12;7651:23;7664:9;7651:12;:23::i;:::-;7636:38;;7695:6;;;;;;;;;;;:15;;:21;7711:4;7695:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7727:12;;;;;;;;;;;:21;;:27;7749:4;7727:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:57;7820:15;:27;7836:10;7820:27;;;;;;;;;;;;;;;;7848:15;7807:12;:57::i;:::-;7777:15;:27;7793:10;7777:27;;;;;;;;;;;;;;;:87;;;;7875:21;7892:3;7875:16;:21::i;:::-;7201:703;;;7151:753;:::o;6910:229::-;6968:7;6988:20;7011:19;7026:3;7011:14;:19::i;:::-;6988:42;;7041:21;7065:35;7087:12;7065:21;:35::i;:::-;7041:59;;7118:13;7111:20;;;;6910:229;;;:::o;9410:160::-;9467:7;9494:68;9507:15;:20;9523:3;9507:20;;;;;;;;;;;;;;;;9528:33;9557:3;9528:28;:33::i;:::-;9494:12;:68::i;:::-;9487:75;;9410:160;;;:::o;5143:985::-;5208:11;;;;;;;;;;;5200:20;;;;;;5251:10;5244:17;;:3;:17;;;5241:65;;;5292:1;5278:16;;5241:65;5362:1;5329:35;;:9;:21;5339:10;5329:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;:74;;;;;5393:10;5368:35;;:9;:21;5378:10;5368:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;5329:74;5326:133;;;5444:3;5420:9;:21;5430:10;5420:21;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;5326:133;5479:21;5503:26;5518:10;5503:14;:26::i;:::-;5479:50;;5540:17;5560:53;5573:13;5587:25;;5560:12;:53::i;:::-;5540:73;;5653:50;5666:14;:26;5681:10;5666:26;;;;;;;;;;;;;;;;5693:9;5653:12;:50::i;:::-;5624:14;:26;5639:10;5624:26;;;;;;;;;;;;;;;:79;;;;5744:1;5714:15;:27;5730:10;5714:27;;;;;;;;;;;;;;;:31;;;;5782:15;5756:11;:23;5768:10;5756:23;;;;;;;;;;;;;;;:41;;;;5894:82;5907:15;:38;5923:9;:21;5933:10;5923:21;;;;;;;;;;;;;;;;;;;;;;;;;5907:38;;;;;;;;;;;;;;;;5946:29;5959:13;5973:1;5946:12;:29::i;:::-;5894:12;:82::i;:::-;5853:15;:38;5869:9;:21;5879:10;5869:21;;;;;;;;;;;;;;;;;;;;;;;;;5853:38;;;;;;;;;;;;;;;:123;;;;6061:59;6074:15;;6090:29;6103:13;6117:1;6090:12;:29::i;:::-;6061:12;:59::i;:::-;6045:15;:75;;;;5189:939;;5143:985;:::o;3833:107::-;3614:12;:10;:12::i;:::-;3604:22;;:6;;;;;;;;;;:22;;;3596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3904:28:::1;3923:8;3904:18;:28::i;:::-;3833:107:::0;:::o;1563:98::-;1621:7;1652:1;1648;:5;;;;:::i;:::-;1641:12;;1563:98;;;;:::o;9857:105::-;9914:7;9945:1;9941;:5;:13;;9953:1;9941:13;;;9949:1;9941:13;9934:20;;9857:105;;;;:::o;1675:98::-;1733:7;1764:1;1760;:5;;;;:::i;:::-;1753:12;;1675:98;;;;:::o;2825:::-;2878:7;2905:10;2898:17;;2825:98;:::o;7916:242::-;7996:7;8023:127;8036:20;8049:3;;8053:2;8036:12;:20::i;:::-;8057:92;8070:4;;8075:73;8088:56;8101:20;8114:3;;8118:2;8101:12;:20::i;:::-;8122:21;8135:4;;8140:2;8122:12;:21::i;:::-;8088:12;:56::i;:::-;8145:2;8075:12;:73::i;:::-;8057:12;:92::i;:::-;8023:12;:127::i;:::-;8016:134;;7916:242;;;;;:::o;1451:98::-;1509:7;1540:1;1536;:5;;;;:::i;:::-;1529:12;;1451:98;;;;:::o;8698:136::-;8751:7;8778:48;8791:30;8804:6;8811:9;;8791:12;:30::i;:::-;8822:3;8778:12;:48::i;:::-;8771:55;;8698:136;;;:::o;8842:148::-;8901:7;8928:54;8941:36;8954:6;8961:15;;8941:12;:36::i;:::-;8978:3;8928:12;:54::i;:::-;8921:61;;8842:148;;;:::o;1786:98::-;1844:7;1875:1;1871;:5;;;;:::i;:::-;1864:12;;1786:98;;;;:::o;3948:223::-;4040:1;4020:22;;:8;:22;;;;4012:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4128:8;4099:38;;4120:6;;;;;;;;;;4099:38;;;;;;;;;;;;4155:8;4146:6;;:17;;;;;;;;;;;;;;;;;;3948:223;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:96::-;1546:7;1575:24;1593:5;1575:24;:::i;:::-;1564:35;;1509:96;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:329::-;1943:6;1992:2;1980:9;1971:7;1967:23;1963:32;1960:119;;;1998:79;;:::i;:::-;1960:119;2118:1;2143:53;2188:7;2179:6;2168:9;2164:22;2143:53;:::i;:::-;2133:63;;2089:117;1884:329;;;;:::o;2219:118::-;2306:24;2324:5;2306:24;:::i;:::-;2301:3;2294:37;2219:118;;:::o;2343:222::-;2436:4;2474:2;2463:9;2459:18;2451:26;;2487:71;2555:1;2544:9;2540:17;2531:6;2487:71;:::i;:::-;2343:222;;;;:::o;2571:474::-;2639:6;2647;2696:2;2684:9;2675:7;2671:23;2667:32;2664:119;;;2702:79;;:::i;:::-;2664:119;2822:1;2847:53;2892:7;2883:6;2872:9;2868:22;2847:53;:::i;:::-;2837:63;;2793:117;2949:2;2975:53;3020:7;3011:6;3000:9;2996:22;2975:53;:::i;:::-;2965:63;;2920:118;2571:474;;;;;:::o;3051:169::-;3135:11;3169:6;3164:3;3157:19;3209:4;3204:3;3200:14;3185:29;;3051:169;;;;:::o;3226:182::-;3366:34;3362:1;3354:6;3350:14;3343:58;3226:182;:::o;3414:366::-;3556:3;3577:67;3641:2;3636:3;3577:67;:::i;:::-;3570:74;;3653:93;3742:3;3653:93;:::i;:::-;3771:2;3766:3;3762:12;3755:19;;3414:366;;;:::o;3786:419::-;3952:4;3990:2;3979:9;3975:18;3967:26;;4039:9;4033:4;4029:20;4025:1;4014:9;4010:17;4003:47;4067:131;4193:4;4067:131;:::i;:::-;4059:139;;3786:419;;;:::o;4211:180::-;4259:77;4256:1;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4397:191;4437:4;4457:20;4475:1;4457:20;:::i;:::-;4452:25;;4491:20;4509:1;4491:20;:::i;:::-;4486:25;;4530:1;4527;4524:8;4521:34;;;4535:18;;:::i;:::-;4521:34;4580:1;4577;4573:9;4565:17;;4397:191;;;;:::o;4594:348::-;4634:7;4657:20;4675:1;4657:20;:::i;:::-;4652:25;;4691:20;4709:1;4691:20;:::i;:::-;4686:25;;4879:1;4811:66;4807:74;4804:1;4801:81;4796:1;4789:9;4782:17;4778:105;4775:131;;;4886:18;;:::i;:::-;4775:131;4934:1;4931;4927:9;4916:20;;4594:348;;;;:::o;4948:305::-;4988:3;5007:20;5025:1;5007:20;:::i;:::-;5002:25;;5041:20;5059:1;5041:20;:::i;:::-;5036:25;;5195:1;5127:66;5123:74;5120:1;5117:81;5114:107;;;5201:18;;:::i;:::-;5114:107;5245:1;5242;5238:9;5231:16;;4948:305;;;;:::o;5259:180::-;5307:77;5304:1;5297:88;5404:4;5401:1;5394:15;5428:4;5425:1;5418:15;5445:185;5485:1;5502:20;5520:1;5502:20;:::i;:::-;5497:25;;5536:20;5554:1;5536:20;:::i;:::-;5531:25;;5575:1;5565:35;;5580:18;;:::i;:::-;5565:35;5622:1;5619;5615:9;5610:14;;5445:185;;;;:::o;5636:225::-;5776:34;5772:1;5764:6;5760:14;5753:58;5845:8;5840:2;5832:6;5828:15;5821:33;5636:225;:::o;5867:366::-;6009:3;6030:67;6094:2;6089:3;6030:67;:::i;:::-;6023:74;;6106:93;6195:3;6106:93;:::i;:::-;6224:2;6219:3;6215:12;6208:19;;5867:366;;;:::o;6239:419::-;6405:4;6443:2;6432:9;6428:18;6420:26;;6492:9;6486:4;6482:20;6478:1;6467:9;6463:17;6456:47;6520:131;6646:4;6520:131;:::i;:::-;6512:139;;6239:419;;;:::o

Swarm Source

ipfs://bc97dd8b78fb5115268ed5e38566eae7c73797f9b5fa2061573b1a41121786bc

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.