ETH Price: $3,309.06 (-4.07%)
Gas: 8.73 Gwei

Contract

0x474Fb5BedF3399e302A0121fecBAcc39b319a60A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim Dividend204198312024-07-30 14:00:59119 days ago1722348059IN
0x474Fb5Be...9b319a60A
0 ETH0.0007276210.27674777
Claim Dividend204029092024-07-28 5:19:35121 days ago1722143975IN
0x474Fb5Be...9b319a60A
0 ETH0.000388753.18384827
Claim Dividend204020272024-07-28 2:21:23121 days ago1722133283IN
0x474Fb5Be...9b319a60A
0 ETH0.000093791.32472082
Claim Dividend204013822024-07-28 0:12:11122 days ago1722125531IN
0x474Fb5Be...9b319a60A
0 ETH0.000344014.85882748
Claim Dividend204008892024-07-27 22:32:35122 days ago1722119555IN
0x474Fb5Be...9b319a60A
0 ETH0.000591414.8436061
Claim Dividend204006672024-07-27 21:47:47122 days ago1722116867IN
0x474Fb5Be...9b319a60A
0 ETH0.0022845818.71034112
Claim Dividend204000092024-07-27 19:35:35122 days ago1722108935IN
0x474Fb5Be...9b319a60A
0 ETH0.000437464.9766711
Claim Dividend203998262024-07-27 18:58:59122 days ago1722106739IN
0x474Fb5Be...9b319a60A
0 ETH0.000281053.9695831
Claim Dividend203997162024-07-27 18:36:59122 days ago1722105419IN
0x474Fb5Be...9b319a60A
0 ETH0.000260793.68343471
Claim Dividend203996502024-07-27 18:23:23122 days ago1722104603IN
0x474Fb5Be...9b319a60A
0 ETH0.000418233.42524168
Claim Dividend203995382024-07-27 18:00:47122 days ago1722103247IN
0x474Fb5Be...9b319a60A
0 ETH0.000065352.78165914
Claim Dividend203994642024-07-27 17:45:59122 days ago1722102359IN
0x474Fb5Be...9b319a60A
0 ETH0.000170591.94073588
Claim Dividend203992152024-07-27 16:55:35122 days ago1722099335IN
0x474Fb5Be...9b319a60A
0 ETH0.001092488.9472212
Claim Dividend203990132024-07-27 16:14:47122 days ago1722096887IN
0x474Fb5Be...9b319a60A
0 ETH0.000594818.40102297
Claim Dividend203988102024-07-27 15:33:59122 days ago1722094439IN
0x474Fb5Be...9b319a60A
0 ETH0.000161135.23773072
Claim Dividend203987232024-07-27 15:16:23122 days ago1722093383IN
0x474Fb5Be...9b319a60A
0 ETH0.000157595.12241887
Claim Dividend203986862024-07-27 15:08:59122 days ago1722092939IN
0x474Fb5Be...9b319a60A
0 ETH0.000158715.15903589
Claim Dividend203986712024-07-27 15:05:59122 days ago1722092759IN
0x474Fb5Be...9b319a60A
0 ETH0.000186816.07225323
Claim Dividend203985902024-07-27 14:49:47122 days ago1722091787IN
0x474Fb5Be...9b319a60A
0 ETH0.000517664.23956949
Claim Dividend203982012024-07-27 13:31:47122 days ago1722087107IN
0x474Fb5Be...9b319a60A
0 ETH0.000124914.06028718
Claim Dividend203981832024-07-27 13:28:11122 days ago1722086891IN
0x474Fb5Be...9b319a60A
0 ETH0.000524834.29826422
Claim Dividend203980962024-07-27 13:10:35122 days ago1722085835IN
0x474Fb5Be...9b319a60A
0 ETH0.00018862.66385225
Claim Dividend203976692024-07-27 11:45:11122 days ago1722080711IN
0x474Fb5Be...9b319a60A
0 ETH0.000166612.35326266
Claim Dividend203975442024-07-27 11:20:11122 days ago1722079211IN
0x474Fb5Be...9b319a60A
0 ETH0.000128741.81840634
Claim Dividend203974572024-07-27 11:02:47122 days ago1722078167IN
0x474Fb5Be...9b319a60A
0 ETH0.000052831.71735752
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208881332024-10-03 23:01:3554 days ago1727996495
0x474Fb5Be...9b319a60A
0.00875022 ETH
208881332024-10-03 23:01:3554 days ago1727996495
0x474Fb5Be...9b319a60A
0.00875022 ETH
204891102024-08-09 6:00:11109 days ago1723183211
0x474Fb5Be...9b319a60A
0.01040335 ETH
204891102024-08-09 6:00:11109 days ago1723183211
0x474Fb5Be...9b319a60A
0.01040335 ETH
204041442024-07-28 9:27:11121 days ago1722158831
0x474Fb5Be...9b319a60A
0.01293158 ETH
204041442024-07-28 9:27:11121 days ago1722158831
0x474Fb5Be...9b319a60A
0.01293158 ETH
204029432024-07-28 5:26:23121 days ago1722144383
0x474Fb5Be...9b319a60A
0.01419324 ETH
204029432024-07-28 5:26:23121 days ago1722144383
0x474Fb5Be...9b319a60A
0.01419324 ETH
204009352024-07-27 22:41:47122 days ago1722120107
0x474Fb5Be...9b319a60A
0.02167692 ETH
204009352024-07-27 22:41:47122 days ago1722120107
0x474Fb5Be...9b319a60A
0.02167692 ETH
204007612024-07-27 22:06:35122 days ago1722117995
0x474Fb5Be...9b319a60A
0.02700815 ETH
204007612024-07-27 22:06:35122 days ago1722117995
0x474Fb5Be...9b319a60A
0.02700815 ETH
204005862024-07-27 21:31:23122 days ago1722115883
0x474Fb5Be...9b319a60A
0.04111572 ETH
204005862024-07-27 21:31:23122 days ago1722115883
0x474Fb5Be...9b319a60A
0.04111572 ETH
204004272024-07-27 20:59:35122 days ago1722113975
0x474Fb5Be...9b319a60A
0.05193345 ETH
204004272024-07-27 20:59:35122 days ago1722113975
0x474Fb5Be...9b319a60A
0.05193345 ETH
204003972024-07-27 20:53:35122 days ago1722113615
0x474Fb5Be...9b319a60A
0.07614695 ETH
204003972024-07-27 20:53:35122 days ago1722113615
0x474Fb5Be...9b319a60A
0.07614695 ETH
204000142024-07-27 19:36:35122 days ago1722108995
0x474Fb5Be...9b319a60A
0.12598283 ETH
204000142024-07-27 19:36:35122 days ago1722108995
0x474Fb5Be...9b319a60A
0.12598283 ETH
203998332024-07-27 19:00:23122 days ago1722106823
0x474Fb5Be...9b319a60A
0.09454995 ETH
203998332024-07-27 19:00:23122 days ago1722106823
0x474Fb5Be...9b319a60A
0.09454995 ETH
203996292024-07-27 18:19:11122 days ago1722104351
0x474Fb5Be...9b319a60A
0.05894907 ETH
203996292024-07-27 18:19:11122 days ago1722104351
0x474Fb5Be...9b319a60A
0.05894907 ETH
203993212024-07-27 17:16:59122 days ago1722100619
0x474Fb5Be...9b319a60A
0.08096611 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WBTCDistributor

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-27
*/

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;
    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), ""); _;
    }
    modifier authorized() {
        require(isAuthorized(msg.sender), ""); _;
    }
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }
    function isOwner(address account) private view returns (bool) {
        return account == owner;
    }
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }
    event OwnershipTransferred(address owner);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface UniRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

interface IWBTCDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract WBTCDistributor is IWBTCDistributor {
    using SafeMath for uint256;
    address _token;
    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }
    IERC20 RWRD = IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599); // WBTC
    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // WETH
    UniRouter router;

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;
    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;
    uint256 public minPeriod = 45 * 60;
    uint256 public minDistribution = 1 * (10 ** 18);
    uint256 currentIndex;

    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor (address _router) {
        router = _router != address(0)
        ? UniRouter(_router)
        : UniRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _token = msg.sender;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }
 
    function deposit() external payable override onlyToken {
        uint256 balanceBefore = RWRD.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(RWRD);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(0, path, address(this), block.timestamp);
        uint256 amount = RWRD.balanceOf(address(this)).sub(balanceBefore);
        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();
        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }

    function shouldDistribute(address shareholder) internal view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            RWRD.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }

    function claimDividend() external {
        distributeDividend(msg.sender);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"dividendsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendsPerShareAccuracyFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getUnpaidEarnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"process","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"totalRealised","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

6080604052600180546001600160a01b0319908116732260fac5e5542a773aa44fbcfedf7c193bc2c599179091556002805490911673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610e1d380380610e1d833981810160405260208110156100a057600080fd5b50516001600160a01b0381166100ca57737a250d5630b4cf539739df2c5dacb4c659f2488d6100cc565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610d17806101066000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f7610759565b34801561026057600080fd5b506100f761075f565b34801561027557600080fd5b50610142610765565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610770565b3480156102b457600080fd5b506100f7610852565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b038216600090815260076020526040902054156103015761030182610858565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610980565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109e1565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610ace565b90610af3565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b27565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b27565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610ace565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b5051604080516002808252606080830184529394509091602083019080368337505060025482519293506001600160a01b03169183915060009061059557fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105bf57fe5b6001600160a01b0392831660209182029290920181019190915260035460405163b6f9de9560e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b83811015610651578181015183820152602001610639565b50505050905001955050505050506000604051808303818588803b15801561067857600080fd5b505af115801561068c573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071794508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106e557600080fd5b505afa1580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b505190610ace565b6009549091506107279082610af3565b600955600854600c5461075191610748916107429085610b44565b90610b8d565b600b5490610af3565b600b55505050565b600b5481565b600a5481565b61076e33610858565b565b6000546001600160a01b0316331461078757600080fd5b60045480610795575061084f565b6000805a905060005b84831080156107ac57508381105b1561084a5783600f54106107c0576000600f555b6107ec6004600f54815481106107d257fe5b6000918252602090912001546001600160a01b0316610ba9565b1561081d5761081d6004600f548154811061080357fe5b6000918252602090912001546001600160a01b0316610858565b61083261082b5a8490610ace565b8490610af3565b92505a600f805460019081019091559092500161079e565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461087a5761084f565b6000610885826103e8565b9050801561097c57600a5461089a9082610af3565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108f357600080fd5b505af1158015610907573d6000803e3d6000fd5b505050506040513d602081101561091d57600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109529082610af3565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b27565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b6004805460001981019081106109f357fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a2b57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a7957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610aa957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610aea838360405180602001604052806000815250610be5565b90505b92915050565b600082820183811015610aea576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6000610aed600c54610742600b5485610b4490919063ffffffff16565b600082610b5357506000610aed565b82820282848281610b6057fe5b0414610aea576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6000610aea838360405180602001604052806000815250610c7c565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610aed5750600e54610bde836103e8565b1192915050565b60008184841115610c745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c39578181015183820152602001610c21565b50505050905090810190601f168015610c665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ccb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610c39578181015183820152602001610c21565b506000838581610cd757fe5b049594505050505056fea26469706673582212202813fd99ca1a858f8b11249e6f7aaee69c125d9c2b040b23ede8f91d7d32fc1c64736f6c634300070400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f7610759565b34801561026057600080fd5b506100f761075f565b34801561027557600080fd5b50610142610765565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610770565b3480156102b457600080fd5b506100f7610852565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b038216600090815260076020526040902054156103015761030182610858565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610980565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109e1565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610ace565b90610af3565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b27565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b27565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610ace565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b5051604080516002808252606080830184529394509091602083019080368337505060025482519293506001600160a01b03169183915060009061059557fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105bf57fe5b6001600160a01b0392831660209182029290920181019190915260035460405163b6f9de9560e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b83811015610651578181015183820152602001610639565b50505050905001955050505050506000604051808303818588803b15801561067857600080fd5b505af115801561068c573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071794508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106e557600080fd5b505afa1580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b505190610ace565b6009549091506107279082610af3565b600955600854600c5461075191610748916107429085610b44565b90610b8d565b600b5490610af3565b600b55505050565b600b5481565b600a5481565b61076e33610858565b565b6000546001600160a01b0316331461078757600080fd5b60045480610795575061084f565b6000805a905060005b84831080156107ac57508381105b1561084a5783600f54106107c0576000600f555b6107ec6004600f54815481106107d257fe5b6000918252602090912001546001600160a01b0316610ba9565b1561081d5761081d6004600f548154811061080357fe5b6000918252602090912001546001600160a01b0316610858565b61083261082b5a8490610ace565b8490610af3565b92505a600f805460019081019091559092500161079e565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461087a5761084f565b6000610885826103e8565b9050801561097c57600a5461089a9082610af3565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108f357600080fd5b505af1158015610907573d6000803e3d6000fd5b505050506040513d602081101561091d57600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109529082610af3565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b27565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b6004805460001981019081106109f357fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a2b57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a7957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610aa957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610aea838360405180602001604052806000815250610be5565b90505b92915050565b600082820183811015610aea576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6000610aed600c54610742600b5485610b4490919063ffffffff16565b600082610b5357506000610aed565b82820282848281610b6057fe5b0414610aea576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6000610aea838360405180602001604052806000815250610c7c565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610aed5750600e54610bde836103e8565b1192915050565b60008184841115610c745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c39578181015183820152602001610c21565b50505050905090810190601f168015610c665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ccb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610c39578181015183820152602001610c21565b506000838581610cd757fe5b049594505050505056fea26469706673582212202813fd99ca1a858f8b11249e6f7aaee69c125d9c2b040b23ede8f91d7d32fc1c64736f6c63430007040033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

4444:5621:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5173:57;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5992:644;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5992:644:0;;;;;;;;:::i;:::-;;8934:479;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8934:479:0;-1:-1:-1;;;;;8934:479:0;;:::i;5791:193::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5791:193:0;;;;;;;:::i;5027:26::-;;;;;;;;;;;;;:::i;5278:47::-;;;;;;;;;;;;;:::i;5060:29::-;;;;;;;;;;;;;:::i;4978:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4978:40:0;-1:-1:-1;;;;;4978:40:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;6645:612;;;:::i;5134:32::-;;;;;;;;;;;;;:::i;5096:31::-;;;;;;;;;;;;;:::i;8843:83::-;;;;;;;;;;;;;:::i;7265:751::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7265:751:0;;:::i;5237:34::-;;;;;;;;;;;;;:::i;5173:57::-;;;;:::o;5992:644::-;5553:6;;-1:-1:-1;;;;;5553:6:0;5539:10;:20;5531:29;;;;;;-1:-1:-1;;;;;6089:19:0;::::1;6118:1;6089:19:::0;;;:6:::1;:19;::::0;;;;:26;:30;6086:92:::1;;6135:31;6154:11;6135:18;:31::i;:::-;6202:1;6193:6;:10;:45;;;;-1:-1:-1::0;;;;;;6207:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:26;:31;6193:45:::1;6190:214;;;6254:27;6269:11;6254:14;:27::i;:::-;6190:214;;;6301:11:::0;;:45;::::1;;;-1:-1:-1::0;;;;;;6316:19:0;::::1;6345:1;6316:19:::0;;;:6:::1;:19;::::0;;;;:26;:30;;6301:45:::1;6298:106;;;6362:30;6380:11;6362:17;:30::i;:::-;-1:-1:-1::0;;;;;6446:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:26;6430:11:::1;::::0;:55:::1;::::0;6478:6;;6430:43:::1;::::0;:15:::1;:43::i;:::-;:47:::0;::::1;:55::i;:::-;6416:11;:69:::0;-1:-1:-1;;;;;6496:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:35;;;6578:50:::1;6525:6:::0;6578:22:::1;:50::i;:::-;-1:-1:-1::0;;;;;6542:19:0;;::::1;;::::0;;;:6:::1;:19;::::0;;;;:33:::1;;:86:::0;;;;-1:-1:-1;5992:644:0:o;8934:479::-;-1:-1:-1;;;;;9026:19:0;;9003:7;9026:19;;;:6;:19;;;;;:26;9023:48;;-1:-1:-1;9067:1:0;9060:8;;9023:48;-1:-1:-1;;;;;9142:19:0;;9083:33;9142:19;;;:6;:19;;;;;:26;9119:50;;:22;:50::i;:::-;-1:-1:-1;;;;;9215:19:0;;9180:32;9215:19;;;:6;:19;;;;;:33;;;9083:86;;-1:-1:-1;9264:53:0;;;9261:70;;9327:1;9320:8;;;;;;9261:70;9350:55;:25;9380:24;9350:29;:55::i;:::-;9343:62;;;;8934:479;;;;:::o;5791:193::-;5553:6;;-1:-1:-1;;;;;5553:6:0;5539:10;:20;5531:29;;;;;;5909:9:::1;:22:::0;;;;5942:15:::1;:34:::0;5791:193::o;5027:26::-;;;;:::o;5278:47::-;;;;:::o;5060:29::-;;;;:::o;4978:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6645:612::-;5553:6;;-1:-1:-1;;;;;5553:6:0;5539:10;:20;5531:29;;;;;;6735:4:::1;::::0;:29:::1;::::0;;-1:-1:-1;;;6735:29:0;;6758:4:::1;6735:29;::::0;::::1;::::0;;;6711:21:::1;::::0;-1:-1:-1;;;;;6735:4:0::1;::::0;:14:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;:4;:29;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;6735:29:0;6801:16:::1;::::0;;6815:1:::1;6801:16:::0;;;6777:21:::1;6801:16:::0;;::::1;::::0;;6735:29;;-1:-1:-1;6801:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;6838:4:0::1;::::0;6828:7;;;;-1:-1:-1;;;;;;6838:4:0::1;::::0;6828:7;;-1:-1:-1;6838:4:0::1;::::0;6828:7:::1;;;;-1:-1:-1::0;;;;;6828:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;6871:4:::1;::::0;;6853:7;;6871:4;::::1;::::0;6853;;6871;6853:7;::::1;;;;;-1:-1:-1::0;;;;;6853:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;6889:6:::1;::::0;:116:::1;::::0;-1:-1:-1;;;6889:116:0;;:6:::1;:116;::::0;::::1;::::0;;;6982:4:::1;6889:116:::0;;;;;;6989:15:::1;6889:116:::0;;;;;;;;;;;;;;;;;;;;;:6;;;::::1;::::0;:57:::1;::::0;6954:9:::1;::::0;6889:6;;6968:4;;6982;;6989:15;;6889:116;;;;;;;::::1;::::0;::::1;::::0;;;:6;:116:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7033:4:0::1;::::0;:29:::1;::::0;;-1:-1:-1;;;7033:29:0;;7056:4:::1;7033:29;::::0;::::1;::::0;;;7016:14:::1;::::0;-1:-1:-1;7033:48:0::1;::::0;-1:-1:-1;7067:13:0;;-1:-1:-1;;;;;;7033:4:0;;::::1;::::0;:14:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;;:4;:29;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7033:29:0;;:33:::1;:48::i;:::-;7109:14;::::0;7016:65;;-1:-1:-1;7109:26:0::1;::::0;7016:65;7109:18:::1;:26::i;:::-;7092:14;:43:::0;7236:11:::1;::::0;7188:31:::1;::::0;7166:83:::1;::::0;7188:60:::1;::::0;:43:::1;::::0;7224:6;7188:35:::1;:43::i;:::-;:47:::0;::::1;:60::i;:::-;7166:17;::::0;;:21:::1;:83::i;:::-;7146:17;:103:::0;-1:-1:-1;;;6645:612:0:o;5134:32::-;;;;:::o;5096:31::-;;;;:::o;8843:83::-;8888:30;8907:10;8888:18;:30::i;:::-;8843:83::o;7265:751::-;5553:6;;-1:-1:-1;;;;;5553:6:0;5539:10;:20;5531:29;;;;;;7361:12:::1;:19:::0;7396:21;7393:37:::1;;7421:7;;;7393:37;7442:15;7472::::0;7490:9:::1;7472:27;;7510:18;7545:464;7561:3;7551:7;:13;:46;;;;;7581:16;7568:10;:29;7551:46;7545:464;;;7633:16;7617:12;;:32;7614:87;;7684:1;7669:12;:16:::0;7614:87:::1;7720:44;7737:12;7750;;7737:26;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7737:26:0::1;7720:16;:44::i;:::-;7717:129;;;7784:46;7803:12;7816;;7803:26;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7803:26:0::1;7784:18;:46::i;:::-;7872:35;7884:22;7896:9;7884:7:::0;;:11:::1;:22::i;:::-;7872:7:::0;;:11:::1;:35::i;:::-;7862:45;;7932:9;7956:12;:14:::0;;::::1;::::0;;::::1;::::0;;;7922:19;;-1:-1:-1;7985:12:0::1;7545:464;;;5562:1;;;;;7265:751:::0;:::o;5237:34::-;;;;:::o;8246:589::-;-1:-1:-1;;;;;8318:19:0;;;;;;:6;:19;;;;;:26;8315:46;;8352:7;;8315:46;8373:14;8390:30;8408:11;8390:17;:30::i;:::-;8373:47;-1:-1:-1;8434:10:0;;8431:397;;8479:16;;:28;;8500:6;8479:20;:28::i;:::-;8460:16;:47;8522:4;;:34;;;-1:-1:-1;;;8522:34:0;;-1:-1:-1;;;;;8522:34:0;;;;;;;;;;;;;;;:4;;;;;:13;;:34;;;;;;;;;;;;;;:4;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8571:30:0;;;;;;:17;8522:34;8571:30;;;;;;;8604:15;8571:48;;8670:6;:19;;;;;:33;;;:45;;8708:6;8670:37;:45::i;:::-;-1:-1:-1;;;;;8634:19:0;;;;;;:6;:19;;;;;:33;;;:81;;;;8789:26;8766:50;;:22;:50::i;8431:397::-;8246:589;;:::o;9599:167::-;9698:12;:19;;-1:-1:-1;;;;;9664:31:0;;;;;;;:18;:31;;;;;:53;;;9728:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9728:30:0;;;;;;9599:167::o;9774:288::-;9890:12;9903:19;;-1:-1:-1;;9903:21:0;;;9890:35;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9855:31:0;;;;;:18;:31;;;;;;;;9842:12;:45;;9890:35;;;;;9842:12;:45;;;;;;;;;;;;;;;;;;:83;;-1:-1:-1;;;;;;9842:83:0;-1:-1:-1;;;;;9842:83:0;;;;;;9994:31;;;;;:18;:31;;;;;;;;9955:12;9968:19;;9994:31;;:18;9842:45;-1:-1:-1;;9968:21:0;;;9955:35;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9955:35:0;9936:55;;;;;;;;;;;;:89;10036:12;:18;;;;;;;;;;;;;;;;-1:-1:-1;;10036:18:0;;;;;-1:-1:-1;;;;;;10036:18:0;;;;;;-1:-1:-1;9774:288:0:o;182:106::-;240:7;267:13;271:1;274;267:13;;;;;;;;;;;;:3;:13::i;:::-;260:20;;182:106;;;;;:::o;24:152::-;82:7;114:5;;;138:6;;;;130:19;;;;;-1:-1:-1;;;130:19:0;;;;;;;;;;;;;;;;;;;;;;9421:170;9491:7;9518:65;9551:31;;9518:28;9528:17;;9518:5;:9;;:28;;;;:::i;490:213::-;548:7;572:6;568:47;;-1:-1:-1;602:1:0;595:8;;568:47;637:5;;;641:1;637;:5;:1;661:5;;;;;:10;653:23;;;;;-1:-1:-1;;;653:23:0;;;;;;;;;;;;;;;;;;;;;;709:106;767:7;794:13;798:1;801;794:13;;;;;;;;;;;;:3;:13::i;8024:214::-;8151:9;;-1:-1:-1;;;;;8118:30:0;;8094:4;8118:30;;;:17;:30;;;;;;8094:4;;8163:15;8118:42;;:60;:112;;;;;8215:15;;8182:30;8200:11;8182:17;:30::i;:::-;:48;;8024:214;-1:-1:-1;;8024:214:0:o;294:190::-;380:7;416:12;408:6;;;;400:29;;;;-1:-1:-1;;;400:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;452:5:0;;;294:190::o;821:189::-;907:7;942:12;935:5;927:28;;;;-1:-1:-1;;;927:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:9;982:1;978;:5;;;;;;;821:189;-1:-1:-1;;;;;821:189:0:o

Swarm Source

ipfs://2813fd99ca1a858f8b11249e6f7aaee69c125d9c2b040b23ede8f91d7d32fc1c

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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