ETH Price: $2,001.63 (+5.11%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Donate160173602022-11-21 9:01:351196 days ago1669021295IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0016742111.42631519
Donate159714362022-11-14 23:03:111202 days ago1668466991IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0029241217.87109955
Donate158959452022-11-04 10:06:471213 days ago1667556407IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0011560613.58148864
Donate158933192022-11-04 1:18:351213 days ago1667524715IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0011568614.92326912
Donate158933182022-11-04 1:18:231213 days ago1667524703IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0011848215.28391385
Donate158917822022-11-03 20:09:591213 days ago1667506199IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0022040728.42756968
Donate158884742022-11-03 9:01:471214 days ago1667466107IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0026767731.44232081
Donate158788412022-11-02 0:45:111215 days ago1667349911IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0009116611.76019877
Donate158788402022-11-02 0:44:591215 days ago1667349899IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0016695312.01871603
Donate158583472022-10-30 4:00:111218 days ago1667102411IN
0x50EcA1f9...1F5fad2A0
0 ETH0.001073727.32804182
Donate158569142022-10-29 23:12:231218 days ago1667085143IN
0x50EcA1f9...1F5fad2A0
0 ETH0.000285928.92783243
Donate158509022022-10-29 3:02:111219 days ago1667012531IN
0x50EcA1f9...1F5fad2A0
0 ETH0.001188968.1145233
Donate158502832022-10-29 0:56:351219 days ago1667004995IN
0x50EcA1f9...1F5fad2A0
0 ETH0.001325079.04349136
Donate158433152022-10-28 1:33:591220 days ago1666920839IN
0x50EcA1f9...1F5fad2A0
0 ETH0.001674211.42625611
Donate158353272022-10-26 22:47:231221 days ago1666824443IN
0x50EcA1f9...1F5fad2A0
0 ETH0.001946113.28188058
Donate158329192022-10-26 14:42:591222 days ago1666795379IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0053804836.72108975
Donate158243382022-10-25 9:55:471223 days ago1666691747IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0016893411.53052188
Donate158212792022-10-24 23:42:111223 days ago1666654931IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0017562611.98722323
Donate158204172022-10-24 20:46:351223 days ago1666644395IN
0x50EcA1f9...1F5fad2A0
0 ETH0.002221415.1608034
Donate158204002022-10-24 20:43:111223 days ago1666644191IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0004586214.31487652
Donate158203492022-10-24 20:32:471223 days ago1666643567IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0004139312.92493689
Donate158202642022-10-24 20:15:231223 days ago1666642523IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0022630815.96836122
Donate158150152022-10-24 2:34:591224 days ago1666578899IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0020421914.40973653
Donate158120802022-10-23 16:43:591224 days ago1666543439IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0027874519.02401722
Donate158117752022-10-23 15:42:111225 days ago1666539731IN
0x50EcA1f9...1F5fad2A0
0 ETH0.0015948710.8848139
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer From160173602022-11-21 9:01:351196 days ago1669021295
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance160173602022-11-21 9:01:351196 days ago1669021295
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From159714362022-11-14 23:03:111202 days ago1668466991
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance159714362022-11-14 23:03:111202 days ago1668466991
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158959452022-11-04 10:06:471213 days ago1667556407
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158959452022-11-04 10:06:471213 days ago1667556407
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158933192022-11-04 1:18:351213 days ago1667524715
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158933192022-11-04 1:18:351213 days ago1667524715
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158933182022-11-04 1:18:231213 days ago1667524703
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158933182022-11-04 1:18:231213 days ago1667524703
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158917822022-11-03 20:09:591213 days ago1667506199
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158917822022-11-03 20:09:591213 days ago1667506199
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158884742022-11-03 9:01:471214 days ago1667466107
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158884742022-11-03 9:01:471214 days ago1667466107
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158788412022-11-02 0:45:111215 days ago1667349911
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158788412022-11-02 0:45:111215 days ago1667349911
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158788402022-11-02 0:44:591215 days ago1667349899
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158788402022-11-02 0:44:591215 days ago1667349899
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158583472022-10-30 4:00:111218 days ago1667102411
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158583472022-10-30 4:00:111218 days ago1667102411
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158569142022-10-29 23:12:231218 days ago1667085143
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158509022022-10-29 3:02:111219 days ago1667012531
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158509022022-10-29 3:02:111219 days ago1667012531
0x50EcA1f9...1F5fad2A0
0 ETH
Transfer From158502832022-10-29 0:56:351219 days ago1667004995
0x50EcA1f9...1F5fad2A0
0 ETH
Allowance158502832022-10-29 0:56:351219 days ago1667004995
0x50EcA1f9...1F5fad2A0
0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SeedRound

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: SeedRound.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.14;

import "./Ownable.sol";

interface ITetherSucks {
    function allowance(address owner, address spender) external view returns (uint);
    function transferFrom(address from, address to, uint value) external;
    function transfer(address to, uint value) external returns (bool);
    function balanceOf(address user) external view returns (uint256);
}

contract SeedRound is Ownable {

    // Donor Structure
    struct Donor {
        uint256 totalDonated;
        mapping ( uint8 => uint256 ) donatedPerStage;
    }

    // Address => User
    mapping ( address => Donor ) public donors;

    // List Of All Donors
    address[] private _allDonors;

    // Total Amount Donated
    uint256 private _totalDonated;

    // Receiver Of Donation
    address private presaleReceiver = 0xc792e5FA3539FD1b469383D61361fFc01b91935f;

    // maximum contribution
    uint256 public min_contribution = 20 * 10**6;

    // soft / hard cap
    uint256 public hardCap = 3_000_000 * 10**6;

    // Stage Structure
    struct Stage {
        uint256 hardCap;
        uint256 totalDonated;
    }

    // Stage => Stage Structure
    mapping ( uint8 => Stage ) public stages;

    // Current Stage
    uint8 public currentStage;

    // sale has ended
    bool public hasStarted;

    // Raise Token
    ITetherSucks public raiseToken = ITetherSucks(0xdAC17F958D2ee523a2206206994597C13D831ec7);

    // Donation Event, Trackers Donor And Amount Donated
    event Donated(address donor, uint256 amountDonated, uint256 totalInSale, uint256 totalInStage);


    constructor () {

        stages[0].hardCap = 2_000_000 * 10**6;
        stages[1].hardCap = 1_250_000 * 10**6;
        stages[2].hardCap = 1_500_000 * 10**6;
        stages[3].hardCap = 1_750_000 * 10**6;
        stages[4].hardCap = 2_000_000 * 10**6;
        stages[5].hardCap = 2_250_000 * 10**6;
        stages[6].hardCap = 2_500_000 * 10**6;
        stages[7].hardCap = 2_750_000 * 10**6;
        stages[8].hardCap = 3_000_000 * 10**6;
        stages[9].hardCap = 19_000_000 * 10**6;

        changeOwner(0xc792e5FA3539FD1b469383D61361fFc01b91935f);
    }

    function startSale() external onlyOwner {
        hasStarted = true;
    }

    function endSale() external onlyOwner {
        hasStarted = false;
    }

    function withdraw(ITetherSucks token_) external onlyOwner {
        token_.transfer(presaleReceiver, token_.balanceOf(address(this)));
    }

    function setMinContribution(uint min) external onlyOwner {
        min_contribution = min;
    }

    function setHardCap(uint8 stage, uint hardCap_) external onlyOwner {
        stages[stage].hardCap = hardCap_;
    }

    function setPresaleReceiver(address newReceiver) external onlyOwner {
        require(
            newReceiver != address(0),
            'Zero Address'
        );
        presaleReceiver = newReceiver;
    }

    function nextStage() external onlyOwner {
        currentStage++;
    }

    function donate(uint256 amount) external {
        uint received = _transferIn(amount);
        _process(msg.sender, received);
    }

    function currentHardCap() external view returns (uint256) {
        return stages[currentStage].hardCap;
    }

    function currentRaise() external view returns (uint256) {
        return stages[currentStage].totalDonated;
    }

    function donated(address user, uint8 stage) external view returns(uint256) {
        return donors[user].donatedPerStage[stage];
    }

    function totalUserDonated(address user) external view returns(uint256) {
        return donors[user].totalDonated;
    }

    function allDonors() external view returns (address[] memory) {
        return _allDonors;
    }

    function allDonorsAndDonationAmounts() external view returns (address[] memory, uint256[] memory) {
        uint len = _allDonors.length;
        uint256[] memory amounts = new uint256[](len);

        for (uint i = 0; i < len;) {
            amounts[i] = donors[_allDonors[i]].totalDonated;
            unchecked { ++i; }
        }
        return (_allDonors, amounts);
    }

    function amountDonatedAtEachStage(address user) external view returns (uint256[] memory) {
        uint len = currentStage + 1;
        uint256[] memory amounts = new uint256[](len);

        for (uint i = 0; i < len;) {
            amounts[i] = donors[user].donatedPerStage[uint8(i)];
            unchecked { ++i; }
        }
        return (amounts);
    }

    function donorAtIndex(uint256 index) external view returns (address) {
        return _allDonors[index];
    }

    function numberOfDonors() external view returns (uint256) {
        return _allDonors.length;
    }

    function totalDonated() external view returns (uint256) {
        return _totalDonated;
    }

    function _process(address user, uint amount) internal {
        require(
            amount > 0,
            'Zero Amount'
        );
        require(
            hasStarted,
            'Sale Has Not Started'
        );

        // add to donor list if first donation
        if (donors[user].totalDonated == 0) {
            _allDonors.push(user);
        }

        // increment amounts donated
        unchecked {
            stages[currentStage].totalDonated += amount;
            donors[user].totalDonated += amount;
            donors[user].donatedPerStage[currentStage] += amount;
            _totalDonated += amount;
        }

        require(
            donors[user].donatedPerStage[currentStage] >= min_contribution,
            'Contribution too low'
        );
        require(
            stages[currentStage].totalDonated <= stages[currentStage].hardCap,
            'Hard Cap Reached'
        );
        emit Donated(user, amount, _totalDonated, stages[currentStage].totalDonated);
    }

    function _transferIn(uint amount) internal returns (uint256) {
        require(
            raiseToken.allowance(msg.sender, address(this)) >= amount,
            'Insufficient Allowance'
        );

        // to presale recipient
        raiseToken.transferFrom(
            msg.sender,
            presaleReceiver,
            amount
        );
        
        return amount;
    }
}

File 2 of 2: Ownable.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity 0.8.14;

/**
 * @title Owner
 * @dev Set & change owner
 */
contract Ownable {

    address private owner;
    
    // event for EVM logging
    event OwnerSet(address indexed oldOwner, address indexed newOwner);
    
    // modifier to check if caller is owner
    modifier onlyOwner() {
        // If the first argument of 'require' evaluates to 'false', execution terminates and all
        // changes to the state and to Ether balances are reverted.
        // This used to consume all gas in old EVM versions, but not anymore.
        // It is often a good idea to use 'require' to check if functions are called correctly.
        // As a second argument, you can also provide an explanation about what went wrong.
        require(msg.sender == owner, "Caller is not owner");
        _;
    }
    
    /**
     * @dev Set contract deployer as owner
     */
    constructor() {
        owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
        emit OwnerSet(address(0), owner);
    }

    /**
     * @dev Change owner
     * @param newOwner address of new owner
     */
    function changeOwner(address newOwner) public onlyOwner {
        emit OwnerSet(owner, newOwner);
        owner = newOwner;
    }

    /**
     * @dev Return owner address 
     * @return address of owner
     */
    function getOwner() external view returns (address) {
        return owner;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"donor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountDonated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalInSale","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalInStage","type":"uint256"}],"name":"Donated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"inputs":[],"name":"allDonors","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allDonorsAndDonationAmounts","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"amountDonatedAtEachStage","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentHardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRaise","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentStage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"donate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"stage","type":"uint8"}],"name":"donated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"donorAtIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"donors","outputs":[{"internalType":"uint256","name":"totalDonated","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"min_contribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextStage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"numberOfDonors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raiseToken","outputs":[{"internalType":"contract ITetherSucks","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"stage","type":"uint8"},{"internalType":"uint256","name":"hardCap_","type":"uint256"}],"name":"setHardCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"min","type":"uint256"}],"name":"setMinContribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setPresaleReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"stages","outputs":[{"internalType":"uint256","name":"hardCap","type":"uint256"},{"internalType":"uint256","name":"totalDonated","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalDonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"totalUserDonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ITetherSucks","name":"token_","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600480546001600160a01b03191673c792e5fa3539fd1b469383d61361ffc01b91935f1790556301312d006005556502ba7def30006006556008805475dac17f958d2ee523a2206206994597c13d831ec7000062010000600160b01b031990911617905534801561007457600080fd5b50600080546001600160a01b0319163390811782556040519091906000805160206113e4833981519152908290a360076020526501d1a94a20007f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df81905565012309ce54007fb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b8285565015d3ef798007fb7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d556501977420dc007f3be6fd20d5acfde5b873b48692cd31f4d3c7e8ee8a813af4696af8859e5ca6c6557fb805995a7ec585a251200611a61d179cfd7fb105e1ab17dc415a7336783786f75565020bde7364007fbcdda56b5d08466ec462cbbe0adfa57cb0a15fcc8940ef68f702f21b787bc93555650246139ca8007f55c5b153ab560fcde54a63b18c7f53d75501706907cef8767fbded79ab9997c75565028048c5ec007fb7c49cceb9f85950584035457a41ebbd8cf93b9b612733ad25aa9731ac43aad6556502ba7def30007f4b1bf46c9f1bd48ff8274d40bad76a6615cb6c59a637d451a3994194b2db86be556009600052651147c84030007ff1f3e9c34634a546b3672c043f73844d83d55591bbe61b8e7e3a72bca1a812bf5561025e73c792e5fa3539fd1b469383d61361ffc01b91935f610263565b61030a565b6000546001600160a01b031633146102c15760405162461bcd60e51b815260206004820152601360248201527f43616c6c6572206973206e6f74206f776e657200000000000000000000000000604482015260640160405180910390fd5b600080546040516001600160a01b03808516939216916000805160206113e483398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6110cb806103196000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c80638c585f5f116100f9578063ca0cdea811610097578063ee3743ab11610071578063ee3743ab1461040d578063f14faf6f14610415578063fb86a40414610428578063feda925b1461043157600080fd5b8063ca0cdea8146103ba578063de75f04e146103da578063e21ead3c146103f757600080fd5b8063a6f9dae1116100d3578063a6f9dae11461034f578063adc1686c14610362578063b66a0e5d14610375578063be3249c91461037d57600080fd5b80638c585f5f14610317578063909f872414610331578063a2ce0f871461034657600080fd5b80634da60aa51161016657806364b2e2d91161014057806364b2e2d9146102c2578063675feff6146102ca578063891c5559146102f3578063893d20e81461030657600080fd5b80634da60aa51461025f57806351cff8d9146102905780635bf5d54c146102a357600080fd5b8062b37044146101ad5780631e88b2aa146101c457806335800b2b14610200578063380d831b1461022057806344691f7e1461022a578063473b0d461461024c575b600080fd5b6003545b6040519081526020015b60405180910390f35b6101eb6101d2366004610e10565b6007602052600090815260409020805460019091015482565b604080519283526020830191909152016101bb565b61021361020e366004610e4a565b610444565b6040516101bb9190610ea2565b61022861050a565b005b60085461023c90610100900460ff1681565b60405190151581526020016101bb565b61022861025a366004610eb5565b61054a565b600854610278906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101bb565b61022861029e366004610e4a565b610579565b6008546102b09060ff1681565b60405160ff90911681526020016101bb565b6002546101b1565b6101b16102d8366004610e4a565b6001600160a01b031660009081526001602052604090205490565b610228610301366004610ece565b610692565b6000546001600160a01b0316610278565b60085460ff166000908152600760205260409020546101b1565b6103396106d2565b6040516101bb9190610f31565b6101b160055481565b61022861035d366004610e4a565b610734565b610278610370366004610eb5565b6107b9565b6102286107e9565b6101b161038b366004610f44565b6001600160a01b038216600090815260016020818152604080842060ff86168552909201905290205492915050565b6101b16103c8366004610e4a565b60016020526000908152604090205481565b60085460ff166000908152600760205260409020600101546101b1565b6103ff610824565b6040516101bb929190610f79565b61022861094b565b610228610423366004610eb5565b6109a3565b6101b160065481565b61022861043f366004610e4a565b6109ba565b60085460609060009061045b9060ff166001610fbd565b60ff16905060008167ffffffffffffffff81111561047b5761047b610fe2565b6040519080825280602002602001820160405280156104a4578160200160208202803683370190505b50905060005b82811015610502576001600160a01b038516600090815260016020818152604080842060ff86168552909201905290205482518390839081106104ef576104ef610ff8565b60209081029190910101526001016104aa565b509392505050565b6000546001600160a01b0316331461053d5760405162461bcd60e51b81526004016105349061100e565b60405180910390fd5b6008805461ff0019169055565b6000546001600160a01b031633146105745760405162461bcd60e51b81526004016105349061100e565b600555565b6000546001600160a01b031633146105a35760405162461bcd60e51b81526004016105349061100e565b600480546040516370a0823160e01b815230928101929092526001600160a01b038381169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f919061103b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611054565b5050565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016105349061100e565b60ff909116600090815260076020526040902055565b6060600280548060200260200160405190810160405280929190818152602001828054801561072a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161070c575b5050505050905090565b6000546001600160a01b0316331461075e5760405162461bcd60e51b81526004016105349061100e565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600282815481106107ce576107ce610ff8565b6000918252602090912001546001600160a01b031692915050565b6000546001600160a01b031633146108135760405162461bcd60e51b81526004016105349061100e565b6008805461ff001916610100179055565b600254606090819060008167ffffffffffffffff81111561084757610847610fe2565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50905060005b828110156108e157600160006002838154811061089557610895610ff8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205482518390839081106108ce576108ce610ff8565b6020908102919091010152600101610876565b506002818180548060200260200160405190810160405280929190818152602001828054801561093a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161091c575b505050505091509350935050509091565b6000546001600160a01b031633146109755760405162461bcd60e51b81526004016105349061100e565b6008805460ff1690600061098883611076565b91906101000a81548160ff021916908360ff16021790555050565b60006109ae82610a4b565b905061068e3382610b8d565b6000546001600160a01b031633146109e45760405162461bcd60e51b81526004016105349061100e565b6001600160a01b038116610a295760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610534565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600854604051636eb1769f60e11b81523360048201523060248201526000918391620100009091046001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac7919061103b565b1015610b0e5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610534565b600854600480546040516323b872dd60e01b815233928101929092526001600160a01b0390811660248301526044820185905262010000909204909116906323b872dd90606401600060405180830381600087803b158015610b6f57600080fd5b505af1158015610b83573d6000803e3d6000fd5b5093949350505050565b60008111610bcb5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b6044820152606401610534565b600854610100900460ff16610c195760405162461bcd60e51b815260206004820152601460248201527314d85b194812185cc8139bdd0814dd185c9d195960621b6044820152606401610534565b6001600160a01b0382166000908152600160205260408120549003610c8457600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0384161790555b6008805460ff908116600090815260076020908152604080832060019081018054880190556001600160a01b03881684528083528184208054880181558654861685520190915280822080548601905560038054860190556005549354909216815220541015610d2d5760405162461bcd60e51b8152602060048201526014602482015273436f6e747269627574696f6e20746f6f206c6f7760601b6044820152606401610534565b60085460ff16600090815260076020526040902080546001909101541115610d8a5760405162461bcd60e51b815260206004820152601060248201526f12185c990810d85c0814995858da195960821b6044820152606401610534565b60035460085460ff166000908152600760209081526040918290206001015482516001600160a01b03871681529182018590529181019290925260608201527f8d09c6745838fd32e92a7aec9e4c21f8fcc0ddf4300881dcffdbf060ba8bcff29060800160405180910390a15050565b803560ff81168114610e0b57600080fd5b919050565b600060208284031215610e2257600080fd5b610e2b82610dfa565b9392505050565b6001600160a01b0381168114610e4757600080fd5b50565b600060208284031215610e5c57600080fd5b8135610e2b81610e32565b600081518084526020808501945080840160005b83811015610e9757815187529582019590820190600101610e7b565b509495945050505050565b602081526000610e2b6020830184610e67565b600060208284031215610ec757600080fd5b5035919050565b60008060408385031215610ee157600080fd5b610eea83610dfa565b946020939093013593505050565b600081518084526020808501945080840160005b83811015610e975781516001600160a01b031687529582019590820190600101610f0c565b602081526000610e2b6020830184610ef8565b60008060408385031215610f5757600080fd5b8235610f6281610e32565b9150610f7060208401610dfa565b90509250929050565b604081526000610f8c6040830185610ef8565b8281036020840152610f9e8185610e67565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168060ff03821115610fda57610fda610fa7565b019392505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b60006020828403121561104d57600080fd5b5051919050565b60006020828403121561106657600080fd5b81518015158114610e2b57600080fd5b600060ff821660ff810361108c5761108c610fa7565b6001019291505056fea26469706673582212207c2cb63ea7075cf1ac0862c846ce11b1237998689eaf0c752e7dd585e31bb8d464736f6c634300080e0033342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a85760003560e01c80638c585f5f116100f9578063ca0cdea811610097578063ee3743ab11610071578063ee3743ab1461040d578063f14faf6f14610415578063fb86a40414610428578063feda925b1461043157600080fd5b8063ca0cdea8146103ba578063de75f04e146103da578063e21ead3c146103f757600080fd5b8063a6f9dae1116100d3578063a6f9dae11461034f578063adc1686c14610362578063b66a0e5d14610375578063be3249c91461037d57600080fd5b80638c585f5f14610317578063909f872414610331578063a2ce0f871461034657600080fd5b80634da60aa51161016657806364b2e2d91161014057806364b2e2d9146102c2578063675feff6146102ca578063891c5559146102f3578063893d20e81461030657600080fd5b80634da60aa51461025f57806351cff8d9146102905780635bf5d54c146102a357600080fd5b8062b37044146101ad5780631e88b2aa146101c457806335800b2b14610200578063380d831b1461022057806344691f7e1461022a578063473b0d461461024c575b600080fd5b6003545b6040519081526020015b60405180910390f35b6101eb6101d2366004610e10565b6007602052600090815260409020805460019091015482565b604080519283526020830191909152016101bb565b61021361020e366004610e4a565b610444565b6040516101bb9190610ea2565b61022861050a565b005b60085461023c90610100900460ff1681565b60405190151581526020016101bb565b61022861025a366004610eb5565b61054a565b600854610278906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101bb565b61022861029e366004610e4a565b610579565b6008546102b09060ff1681565b60405160ff90911681526020016101bb565b6002546101b1565b6101b16102d8366004610e4a565b6001600160a01b031660009081526001602052604090205490565b610228610301366004610ece565b610692565b6000546001600160a01b0316610278565b60085460ff166000908152600760205260409020546101b1565b6103396106d2565b6040516101bb9190610f31565b6101b160055481565b61022861035d366004610e4a565b610734565b610278610370366004610eb5565b6107b9565b6102286107e9565b6101b161038b366004610f44565b6001600160a01b038216600090815260016020818152604080842060ff86168552909201905290205492915050565b6101b16103c8366004610e4a565b60016020526000908152604090205481565b60085460ff166000908152600760205260409020600101546101b1565b6103ff610824565b6040516101bb929190610f79565b61022861094b565b610228610423366004610eb5565b6109a3565b6101b160065481565b61022861043f366004610e4a565b6109ba565b60085460609060009061045b9060ff166001610fbd565b60ff16905060008167ffffffffffffffff81111561047b5761047b610fe2565b6040519080825280602002602001820160405280156104a4578160200160208202803683370190505b50905060005b82811015610502576001600160a01b038516600090815260016020818152604080842060ff86168552909201905290205482518390839081106104ef576104ef610ff8565b60209081029190910101526001016104aa565b509392505050565b6000546001600160a01b0316331461053d5760405162461bcd60e51b81526004016105349061100e565b60405180910390fd5b6008805461ff0019169055565b6000546001600160a01b031633146105745760405162461bcd60e51b81526004016105349061100e565b600555565b6000546001600160a01b031633146105a35760405162461bcd60e51b81526004016105349061100e565b600480546040516370a0823160e01b815230928101929092526001600160a01b038381169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f919061103b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611054565b5050565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016105349061100e565b60ff909116600090815260076020526040902055565b6060600280548060200260200160405190810160405280929190818152602001828054801561072a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161070c575b5050505050905090565b6000546001600160a01b0316331461075e5760405162461bcd60e51b81526004016105349061100e565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600282815481106107ce576107ce610ff8565b6000918252602090912001546001600160a01b031692915050565b6000546001600160a01b031633146108135760405162461bcd60e51b81526004016105349061100e565b6008805461ff001916610100179055565b600254606090819060008167ffffffffffffffff81111561084757610847610fe2565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50905060005b828110156108e157600160006002838154811061089557610895610ff8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205482518390839081106108ce576108ce610ff8565b6020908102919091010152600101610876565b506002818180548060200260200160405190810160405280929190818152602001828054801561093a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161091c575b505050505091509350935050509091565b6000546001600160a01b031633146109755760405162461bcd60e51b81526004016105349061100e565b6008805460ff1690600061098883611076565b91906101000a81548160ff021916908360ff16021790555050565b60006109ae82610a4b565b905061068e3382610b8d565b6000546001600160a01b031633146109e45760405162461bcd60e51b81526004016105349061100e565b6001600160a01b038116610a295760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610534565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600854604051636eb1769f60e11b81523360048201523060248201526000918391620100009091046001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac7919061103b565b1015610b0e5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610534565b600854600480546040516323b872dd60e01b815233928101929092526001600160a01b0390811660248301526044820185905262010000909204909116906323b872dd90606401600060405180830381600087803b158015610b6f57600080fd5b505af1158015610b83573d6000803e3d6000fd5b5093949350505050565b60008111610bcb5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b6044820152606401610534565b600854610100900460ff16610c195760405162461bcd60e51b815260206004820152601460248201527314d85b194812185cc8139bdd0814dd185c9d195960621b6044820152606401610534565b6001600160a01b0382166000908152600160205260408120549003610c8457600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0384161790555b6008805460ff908116600090815260076020908152604080832060019081018054880190556001600160a01b03881684528083528184208054880181558654861685520190915280822080548601905560038054860190556005549354909216815220541015610d2d5760405162461bcd60e51b8152602060048201526014602482015273436f6e747269627574696f6e20746f6f206c6f7760601b6044820152606401610534565b60085460ff16600090815260076020526040902080546001909101541115610d8a5760405162461bcd60e51b815260206004820152601060248201526f12185c990810d85c0814995858da195960821b6044820152606401610534565b60035460085460ff166000908152600760209081526040918290206001015482516001600160a01b03871681529182018590529181019290925260608201527f8d09c6745838fd32e92a7aec9e4c21f8fcc0ddf4300881dcffdbf060ba8bcff29060800160405180910390a15050565b803560ff81168114610e0b57600080fd5b919050565b600060208284031215610e2257600080fd5b610e2b82610dfa565b9392505050565b6001600160a01b0381168114610e4757600080fd5b50565b600060208284031215610e5c57600080fd5b8135610e2b81610e32565b600081518084526020808501945080840160005b83811015610e9757815187529582019590820190600101610e7b565b509495945050505050565b602081526000610e2b6020830184610e67565b600060208284031215610ec757600080fd5b5035919050565b60008060408385031215610ee157600080fd5b610eea83610dfa565b946020939093013593505050565b600081518084526020808501945080840160005b83811015610e975781516001600160a01b031687529582019590820190600101610f0c565b602081526000610e2b6020830184610ef8565b60008060408385031215610f5757600080fd5b8235610f6281610e32565b9150610f7060208401610dfa565b90509250929050565b604081526000610f8c6040830185610ef8565b8281036020840152610f9e8185610e67565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168060ff03821115610fda57610fda610fa7565b019392505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b60006020828403121561104d57600080fd5b5051919050565b60006020828403121561106657600080fd5b81518015158114610e2b57600080fd5b600060ff821660ff810361108c5761108c610fa7565b6001019291505056fea26469706673582212207c2cb63ea7075cf1ac0862c846ce11b1237998689eaf0c752e7dd585e31bb8d464736f6c634300080e0033

Deployed Bytecode Sourcemap

409:5783:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4694:93;4767:13;;4694:93;;;160:25:2;;;148:2;133:18;4694:93:1;;;;;;;;1174:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;718:25:2;;;774:2;759:18;;752:34;;;;691:18;1174:40:1;544:248:2;4109:358:1;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2245:73::-;;;:::i;:::-;;1296:22;;;;;;;;;;;;;;;2056:14:2;;2049:22;2031:41;;2019:2;2004:18;1296:22:1;1891:187:2;2470:96:1;;;;;;:::i;:::-;;:::i;1344:89::-;;;;;;;;-1:-1:-1;;;;;1344:89:1;;;;;;-1:-1:-1;;;;;2452:32:2;;;2434:51;;2422:2;2407:18;1344:89:1;2268:223:2;2324:140:1;;;;;;:::i;:::-;;:::i;1242:25::-;;;;;;;;;;;;2940:4:2;2928:17;;;2910:36;;2898:2;2883:18;1242:25:1;2768:184:2;4589:99:1;4664:10;:17;4589:99;;3499:120;;;;;;:::i;:::-;-1:-1:-1;;;;;3587:12:1;3561:7;3587:12;;;:6;:12;;;;;:25;;3499:120;2572:116;;;;;;:::i;:::-;;:::i;1397:81:0:-;1440:7;1466:5;-1:-1:-1;;;;;1466:5:0;1397:81;;3124:110:1;3206:12;;;;3173:7;3199:20;;;:6;:20;;;;;:28;3124:110;;3625:96;;;:::i;:::-;;;;;;;:::i;915:44::-;;;;;;1180:129:0;;;;;;:::i;:::-;;:::i;4473:110:1:-;;;;;;:::i;:::-;;:::i;2165:74::-;;;:::i;3359:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3451:12:1;;3425:7;3451:12;;;:6;:12;;;;;;;;:35;;;;;:28;;;:35;;;;;3359:134;;;;;602:42;;;;;;:::i;:::-;;;;;;;;;;;;;;3240:113;3320:12;;;;3287:7;3313:20;;;:6;:20;;;;;3320:12;3313:33;;3240:113;;3727:376;;;:::i;:::-;;;;;;;;:::i;2908:71::-;;;:::i;2985:133::-;;;;;;:::i;:::-;;:::i;989:42::-;;;;;;2694:208;;;;;;:::i;:::-;;:::i;4109:358::-;4219:12;;4180:16;;4208:8;;4219:16;;:12;;;:16;:::i;:::-;4208:27;;;;4245:24;4286:3;4272:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4272:18:1;;4245:45;;4306:6;4301:134;4322:3;4318:1;:7;4301:134;;;-1:-1:-1;;;;;4355:12:1;;;;;;:6;:12;;;;;;;;:38;;;;;:28;;;:38;;;;;4342:10;;:7;;4390:1;;4342:10;;;;;;:::i;:::-;;;;;;;;;;:51;4419:3;;4301:134;;;-1:-1:-1;4452:7:1;4109:358;-1:-1:-1;;;4109:358:1:o;2245:73::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;;;;;;;;;2293:10:1::1;:18:::0;;-1:-1:-1;;2293:18:1::1;::::0;;2245:73::o;2470:96::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;2537:16:1::1;:22:::0;2470:96::o;2324:140::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;2408:15:1::1;::::0;;2425:31:::1;::::0;-1:-1:-1;;;2425:31:1;;2450:4:::1;2425:31:::0;;::::1;2434:51:2::0;;;;-1:-1:-1;;;;;2392:15:1;;::::1;::::0;::::1;::::0;2408;;;::::1;::::0;2392;;2425:16:::1;::::0;2407:18:2;;2425:31:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2392:65;::::0;-1:-1:-1;;;;;;2392:65:1::1;::::0;;;;;;-1:-1:-1;;;;;6278:32:2;;;2392:65:1::1;::::0;::::1;6260:51:2::0;6327:18;;;6320:34;6233:18;;2392:65:1::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2324:140:::0;:::o;2572:116::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;2649:13:1::1;::::0;;::::1;;::::0;;;:6:::1;:13;::::0;;;;:32;2572:116::o;3625:96::-;3669:16;3704:10;3697:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3697:17:1;;;;;;;;;;;;;;;;;;;;;;;3625:96;:::o;1180:129:0:-;803:5;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;1260:5:::1;::::0;;1251:25:::1;::::0;-1:-1:-1;;;;;1251:25:0;;::::1;::::0;1260:5;::::1;::::0;1251:25:::1;::::0;::::1;1286:5;:16:::0;;-1:-1:-1;;;;;;1286:16:0::1;-1:-1:-1::0;;;;;1286:16:0;;;::::1;::::0;;;::::1;::::0;;1180:129::o;4473:110:1:-;4533:7;4559:10;4570:5;4559:17;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;4559:17:1;;4473:110;-1:-1:-1;;4473:110:1:o;2165:74::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;2215:10:1::1;:17:::0;;-1:-1:-1;;2215:17:1::1;;;::::0;;2165:74::o;3727:376::-;3846:10;:17;3789:16;;;;3835:8;3846:17;3900:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3900:18:1;;3873:45;;3934:6;3929:130;3950:3;3946:1;:7;3929:130;;;3983:6;:21;3990:10;4001:1;3990:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3990:13:1;3983:21;;;;;;;;;;;;:34;3970:10;;:7;;3978:1;;3970:10;;;;;;:::i;:::-;;;;;;;;;;:47;4043:3;;3929:130;;;;4076:10;4088:7;4068:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4068:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3727:376;;:::o;2908:71::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;2958:12:1::1;:14:::0;;::::1;;::::0;:12:::1;:14;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2908:71::o:0;2985:133::-;3036:13;3052:19;3064:6;3052:11;:19::i;:::-;3036:35;;3081:30;3090:10;3102:8;3081;:30::i;2694:208::-;803:5:0;;-1:-1:-1;;;;;803:5:0;789:10;:19;781:51;;;;-1:-1:-1;;;781:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2793:25:1;::::1;2772:84;;;::::0;-1:-1:-1;;;2772:84:1;;7029:2:2;2772:84:1::1;::::0;::::1;7011:21:2::0;7068:2;7048:18;;;7041:30;-1:-1:-1;;;7087:18:2;;;7080:42;7139:18;;2772:84:1::1;6827:336:2::0;2772:84:1::1;2866:15;:29:::0;;-1:-1:-1;;;;;;2866:29:1::1;-1:-1:-1::0;;;;;2866:29:1;;;::::1;::::0;;;::::1;::::0;;2694:208::o;5805:385::-;5897:10;;:47;;-1:-1:-1;;;5897:47:1;;5918:10;5897:47;;;7380:34:2;5938:4:1;7430:18:2;;;7423:43;5857:7:1;;5948:6;;5897:10;;;;-1:-1:-1;;;;;5897:10:1;;:20;;7315:18:2;;5897:47:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;5876:126;;;;-1:-1:-1;;;5876:126:1;;7679:2:2;5876:126:1;;;7661:21:2;7718:2;7698:18;;;7691:30;-1:-1:-1;;;7737:18:2;;;7730:52;7799:18;;5876:126:1;7477:346:2;5876:126:1;6045:10;;6106:15;;;6045:106;;-1:-1:-1;;;6045:106:1;;6082:10;6045:106;;;8068:34:2;;;;-1:-1:-1;;;;;6106:15:1;;;8118:18:2;;;8111:43;8170:18;;;8163:34;;;6045:10:1;;;;;;;;:23;;8003:18:2;;6045:106:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6177:6:1;;5805:385;-1:-1:-1;;;;5805:385:1:o;4793:1006::-;4887:1;4878:6;:10;4857:68;;;;-1:-1:-1;;;4857:68:1;;8410:2:2;4857:68:1;;;8392:21:2;8449:2;8429:18;;;8422:30;-1:-1:-1;;;8468:18:2;;;8461:41;8519:18;;4857:68:1;8208:335:2;4857:68:1;4956:10;;;;;;;4935:77;;;;-1:-1:-1;;;4935:77:1;;8750:2:2;4935:77:1;;;8732:21:2;8789:2;8769:18;;;8762:30;-1:-1:-1;;;8808:18:2;;;8801:50;8868:18;;4935:77:1;8548:344:2;4935:77:1;-1:-1:-1;;;;;5074:12:1;;;;;;:6;:12;;;;;:25;:30;;5070:82;;5120:10;:21;;;;;;;-1:-1:-1;5120:21:1;;;;;;;;-1:-1:-1;;;;;;5120:21:1;-1:-1:-1;;;;;5120:21:1;;;;;5070:82;5230:12;;;;;;;5223:20;;;;:6;:20;;;;;;;;5230:12;5223:33;;;:43;;;;;;-1:-1:-1;;;;;5280:12:1;;;;;;;;;;:35;;;;;;5358:12;;;;5329:42;;:28;:42;;;;;;:52;;;;;;5395:13;:23;;;;;;5506:16;;5489:12;;;;;5460:42;;;;:62;;5439:129;;;;-1:-1:-1;;;5439:129:1;;9099:2:2;5439:129:1;;;9081:21:2;9138:2;9118:18;;;9111:30;-1:-1:-1;;;9157:18:2;;;9150:50;9217:18;;5439:129:1;8897:344:2;5439:129:1;5643:12;;;;5636:20;;;;:6;:20;;;;;:28;;5643:12;5599:33;;;;:65;;5578:128;;;;-1:-1:-1;;;5578:128:1;;9448:2:2;5578:128:1;;;9430:21:2;9487:2;9467:18;;;9460:30;-1:-1:-1;;;9506:18:2;;;9499:46;9562:18;;5578:128:1;9246:340:2;5578:128:1;5743:13;;5765:12;;;;5758:20;;;;:6;:20;;;;;;;;;5765:12;5758:33;;5721:71;;-1:-1:-1;;;;;9840:32:2;;9822:51;;9889:18;;;9882:34;;;9932:18;;;9925:34;;;;9990:2;9975:18;;9968:34;5721:71:1;;9809:3:2;9794:19;5721:71:1;;;;;;;4793:1006;;:::o;196:156:2:-;262:20;;322:4;311:16;;301:27;;291:55;;342:1;339;332:12;291:55;196:156;;;:::o;357:182::-;414:6;467:2;455:9;446:7;442:23;438:32;435:52;;;483:1;480;473:12;435:52;506:27;523:9;506:27;:::i;:::-;496:37;357:182;-1:-1:-1;;;357:182:2:o;797:131::-;-1:-1:-1;;;;;872:31:2;;862:42;;852:70;;918:1;915;908:12;852:70;797:131;:::o;933:247::-;992:6;1045:2;1033:9;1024:7;1020:23;1016:32;1013:52;;;1061:1;1058;1051:12;1013:52;1100:9;1087:23;1119:31;1144:5;1119:31;:::i;1185:435::-;1238:3;1276:5;1270:12;1303:6;1298:3;1291:19;1329:4;1358:2;1353:3;1349:12;1342:19;;1395:2;1388:5;1384:14;1416:1;1426:169;1440:6;1437:1;1434:13;1426:169;;;1501:13;;1489:26;;1535:12;;;;1570:15;;;;1462:1;1455:9;1426:169;;;-1:-1:-1;1611:3:2;;1185:435;-1:-1:-1;;;;;1185:435:2:o;1625:261::-;1804:2;1793:9;1786:21;1767:4;1824:56;1876:2;1865:9;1861:18;1853:6;1824:56;:::i;2083:180::-;2142:6;2195:2;2183:9;2174:7;2170:23;2166:32;2163:52;;;2211:1;2208;2201:12;2163:52;-1:-1:-1;2234:23:2;;2083:180;-1:-1:-1;2083:180:2:o;2957:250::-;3023:6;3031;3084:2;3072:9;3063:7;3059:23;3055:32;3052:52;;;3100:1;3097;3090:12;3052:52;3123:27;3140:9;3123:27;:::i;:::-;3113:37;3197:2;3182:18;;;;3169:32;;-1:-1:-1;;;2957:250:2:o;3420:461::-;3473:3;3511:5;3505:12;3538:6;3533:3;3526:19;3564:4;3593:2;3588:3;3584:12;3577:19;;3630:2;3623:5;3619:14;3651:1;3661:195;3675:6;3672:1;3669:13;3661:195;;;3740:13;;-1:-1:-1;;;;;3736:39:2;3724:52;;3796:12;;;;3831:15;;;;3772:1;3690:9;3661:195;;3886:261;4065:2;4054:9;4047:21;4028:4;4085:56;4137:2;4126:9;4122:18;4114:6;4085:56;:::i;4152:317::-;4218:6;4226;4279:2;4267:9;4258:7;4254:23;4250:32;4247:52;;;4295:1;4292;4285:12;4247:52;4334:9;4321:23;4353:31;4378:5;4353:31;:::i;:::-;4403:5;-1:-1:-1;4427:36:2;4459:2;4444:18;;4427:36;:::i;:::-;4417:46;;4152:317;;;;;:::o;4474:465::-;4731:2;4720:9;4713:21;4694:4;4757:56;4809:2;4798:9;4794:18;4786:6;4757:56;:::i;:::-;4861:9;4853:6;4849:22;4844:2;4833:9;4829:18;4822:50;4889:44;4926:6;4918;4889:44;:::i;:::-;4881:52;4474:465;-1:-1:-1;;;;;4474:465:2:o;4944:127::-;5005:10;5000:3;4996:20;4993:1;4986:31;5036:4;5033:1;5026:15;5060:4;5057:1;5050:15;5076:204;5114:3;5150:4;5147:1;5143:12;5182:4;5179:1;5175:12;5217:3;5211:4;5207:14;5202:3;5199:23;5196:49;;;5225:18;;:::i;:::-;5261:13;;5076:204;-1:-1:-1;;;5076:204:2:o;5285:127::-;5346:10;5341:3;5337:20;5334:1;5327:31;5377:4;5374:1;5367:15;5401:4;5398:1;5391:15;5417:127;5478:10;5473:3;5469:20;5466:1;5459:31;5509:4;5506:1;5499:15;5533:4;5530:1;5523:15;5549:343;5751:2;5733:21;;;5790:2;5770:18;;;5763:30;-1:-1:-1;;;5824:2:2;5809:18;;5802:49;5883:2;5868:18;;5549:343::o;5897:184::-;5967:6;6020:2;6008:9;5999:7;5995:23;5991:32;5988:52;;;6036:1;6033;6026:12;5988:52;-1:-1:-1;6059:16:2;;5897:184;-1:-1:-1;5897:184:2:o;6365:277::-;6432:6;6485:2;6473:9;6464:7;6460:23;6456:32;6453:52;;;6501:1;6498;6491:12;6453:52;6533:9;6527:16;6586:5;6579:13;6572:21;6565:5;6562:32;6552:60;;6608:1;6605;6598:12;6647:175;6684:3;6728:4;6721:5;6717:16;6757:4;6748:7;6745:17;6742:43;;6765:18;;:::i;:::-;6814:1;6801:15;;6647:175;-1:-1:-1;;6647:175:2:o

Swarm Source

ipfs://7c2cb63ea7075cf1ac0862c846ce11b1237998689eaf0c752e7dd585e31bb8d4

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.