ETH Price: $3,338.67 (+0.38%)

Contract

0xFAC79aE042CBD841a69AB84b16Dcd803eDCcF2a1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve197295312024-04-25 2:54:23266 days ago1714013663IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.000295466.35334549
Transfer197238802024-04-24 7:54:47267 days ago1713945287IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.000520249.25849443
Approve174713282023-06-13 13:19:35583 days ago1686662375IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0004155217.15475857
Transfer168357522023-03-15 20:44:59672 days ago1678913099IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0013866124.69269038
Transfer164485762023-01-20 14:20:23727 days ago1674224423IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.000880114.42446294
Transfer164485722023-01-20 14:19:35727 days ago1674224375IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.000973215.95341005
Approve162974362022-12-30 11:58:11748 days ago1672401491IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0006116813.15280423
Transfer162754762022-12-27 10:26:11751 days ago1672136771IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0007779413.84459301
Transfer158981182022-11-04 17:22:47804 days ago1667582567IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0008072720.63213586
Transfer158980912022-11-04 17:17:23804 days ago1667582243IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0006172715.78110195
Approve158910562022-11-03 17:43:47805 days ago1667497427IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0014120730.3633183
Approve156906062022-10-06 17:39:47833 days ago1665077987IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0007323215.74683294
Transfer156905942022-10-06 17:37:23833 days ago1665077843IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0011155619.84457317
Approve146621792022-04-26 20:21:05995 days ago1651004465IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0041342688.89747143
Approve140436132022-01-20 16:46:541092 days ago1642697214IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00514086110.54205051
Approve140240212022-01-17 16:12:401095 days ago1642435960IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00625564134.51266994
Approve139587192022-01-07 13:53:451105 days ago1641563625IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00813276174.87550592
Approve139442152022-01-05 7:54:461107 days ago1641369286IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00566788121.87430508
Approve139417012022-01-04 22:30:481107 days ago1641335448IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00700845150.7
Approve139298552022-01-03 2:29:351109 days ago1641176975IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00560477120.51733129
Approve139207132022-01-01 16:53:291111 days ago1641056009IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.00467504100.52557411
Approve139174362022-01-01 4:37:481111 days ago1641011868IN
0xFAC79aE0...3eDCcF2a1
0 ETH0.0031855568.4978162
Transfer139174102022-01-01 4:32:111111 days ago1641011531IN
0xFAC79aE0...3eDCcF2a1
0.06 ETH0.0016121376.60400142
Transfer139173982022-01-01 4:29:451111 days ago1641011385IN
0xFAC79aE0...3eDCcF2a1
0.0575 ETH0.0012784160.74666912
Transfer139173452022-01-01 4:17:171111 days ago1641010637IN
0xFAC79aE0...3eDCcF2a1
0.1075 ETH0.0016285577.3842429
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Lets_Go_Brandon

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-23
*/

//SPDX-License-Identifier: MIT


pragma solidity ^0.8.4;

library SafeMath {
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		require(c >= a, "SafeMath: addition overflow");

		return c;
	}
	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		return sub(a, b, "SafeMath: 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;
	}
	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}

		uint256 c = a * b;
		require(c / a == b, "SafeMath: multiplication overflow");

		return c;
	}
	function div(uint256 a, uint256 b) internal pure returns (uint256) {
		return div(a, b, "SafeMath: division by zero");
	}
	function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
		// Solidity only automatically asserts when dividing by 0
		require(b > 0, errorMessage);
		uint256 c = a / b;
		// assert(a == b * c + a % b); // There is no case in which this doesn't hold

		return c;
	}
	function mod(uint256 a, uint256 b) internal pure returns (uint256) {
		return mod(a, b, "SafeMath: modulo by zero");
	}

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

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;

	constructor(address _owner) {
		owner = _owner;
	}

	modifier onlyOwner() {
		require(isOwner(msg.sender), "Only contract owner can call this function"); _;
	}

	function isOwner(address account) public view returns (bool) {
		return account == owner;
	}

	function transferOwnership(address payable newOwner) external onlyOwner {
		owner = newOwner;
		emit OwnershipTransferred(newOwner);
	}
	
	function renounceOwnership() external onlyOwner {
		owner = address(0);
		emit OwnershipTransferred(address(0));
	}

	event OwnershipTransferred(address owner);
}

contract Lets_Go_Brandon is IERC20, Auth {
	using SafeMath for uint256;
	string constant _name = "Lets Go Brandon Coin";
	string constant _symbol = "LGBC";
	uint8 constant _decimals = 9;
	uint256 constant _totalSupply = 100000000 * (10 ** _decimals);

	mapping (address => uint256) _balances;
	mapping (address => mapping (address => uint256)) _allowances;

    bool public tradingOpen;
    uint256 public maxTxAmount;
    uint256 public maxWalletAmount;
    address internal uniswapLiquidityPool = address(0);
	bool internal uniswapLPAddressLocked = false;


    
    

	constructor () Auth(msg.sender) {      
		_balances[owner] = _totalSupply;
		tradingOpen = false;
		maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
	
		emit Transfer(address(0), owner, _totalSupply);
	}

	function totalSupply() external pure override returns (uint256) { return _totalSupply; }
	function decimals() external pure override returns (uint8) { return _decimals; }
	function symbol() external pure override returns (string memory) { return _symbol; }
	function name() external pure override returns (string memory) { return _name; }
	function getOwner() external view override returns (address) { return owner; }
	function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
	function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
	

	function setLPAddress(address _uniswapLiqPoolAddr) external onlyOwner {
	    require(uniswapLPAddressLocked == false, "The LP address can no longer be changed");
        uniswapLiquidityPool = _uniswapLiqPoolAddr;
	}

	function lockLPAddress() external onlyOwner {
	    require(uniswapLPAddressLocked == false, "The LP address is already locked");
	    require(uniswapLiquidityPool != address(0), "Cannot lock LP address until it has been set");
	    uniswapLPAddressLocked = true;
	}

	function approve(address spender, uint256 amount) public override returns (bool) {
		_allowances[msg.sender][spender] = amount;
		emit Approval(msg.sender, spender, amount);
		return true;
	}

	function approveMax(address spender) external returns (bool) {
		return approve(spender, type(uint256).max );
	}
	
    function checkTradingOpen() private view returns (bool){
        bool checkResult = false;
        if (tradingOpen == true) { checkResult = true; } else {
            if (tx.origin == owner) {
                checkResult = true;
            } 
        }
        return checkResult;
    }

	function transfer(address recipient, uint256 amount) external override returns (bool) {
	    require(checkTradingOpen(), "Trading is not open yet");
	    
		return _transferFrom(msg.sender, recipient, amount);
	}

    function setInitialLimits() internal {
		maxTxAmount = _totalSupply / 100 * 2;
		maxWalletAmount = _totalSupply / 100 * 2;
    }
    
    function increaseLimits(uint16 maxTxAmtPct, uint16 maxWalletAmtPct) external onlyOwner {
        uint256 newTxAmt = _totalSupply / 100 * maxTxAmtPct;
        require(newTxAmt >= maxTxAmount, "New TX limit is lower than current limit");
        maxTxAmount = newTxAmt;
        
        uint256 newWalletAmt = _totalSupply / 100 * maxWalletAmtPct;
        require(newWalletAmt >= maxWalletAmount, "New wallet limit is lower than current limit");
        maxWalletAmount = newWalletAmt;
    }
    
    function removeAllLimitsLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
    }

    function openTrading() external onlyOwner{
        _openTrading();
	}
	
    function _openTrading() internal {
        require(tradingOpen == false, "Trading already open");
        setInitialLimits();
        tradingOpen = true;
    }
    
  

	function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(checkTradingOpen(), "Trading is not open yet");

		if(_allowances[sender][msg.sender] != type(uint256).max){
			_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
		}

		return _transferFrom(sender, recipient, amount);
	}
	
	function checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( tradingOpen == true ) {
            if ( transferAmount > maxTxAmount ) {
                limitCheckPassed = false;
            } else if ( recipient != uniswapLiquidityPool && (_balances[recipient].add(transferAmount) > maxWalletAmount) ) {
                limitCheckPassed = false;
            }
        }
        return limitCheckPassed;
    }

	function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
	    require(checkLimits(recipient, amount), "Transaction exceeds current TX/wallet limits");
		_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
		_balances[recipient] = _balances[recipient].add(amount);
		emit Transfer(sender, recipient, amount);
		return true;
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","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":false,"internalType":"address","name":"owner","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":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTxAmtPct","type":"uint16"},{"internalType":"uint16","name":"maxWalletAmtPct","type":"uint16"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockLPAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeAllLimitsLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapLiqPoolAddr","type":"address"}],"name":"setLPAddress","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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 payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600680546001600160a81b03191690553480156200002157600080fd5b50600080546001600160a01b03191633179055620000426009600a62000164565b62000052906305f5e10062000232565b600080546001600160a01b03168152600160205260409020556003805460ff19169055620000836009600a62000164565b62000093906305f5e10062000232565b600455620000a46009600a62000164565b620000b4906305f5e10062000232565b600555600080546001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000f46009600a62000164565b62000104906305f5e10062000232565b60405190815260200160405180910390a36200026a565b600181815b808511156200015c57816000190482111562000140576200014062000254565b808516156200014e57918102915b93841c939080029062000120565b509250929050565b60006200017560ff8416836200017c565b9392505050565b6000826200018d575060016200022c565b816200019c575060006200022c565b8160018114620001b55760028114620001c057620001e0565b60019150506200022c565b60ff841115620001d457620001d462000254565b50506001821b6200022c565b5060208310610133831016604e8410600b841016171562000205575081810a6200022c565b6200021183836200011b565b806000190482111562000228576200022862000254565b0290505b92915050565b60008160001904831182151516156200024f576200024f62000254565b500290565b634e487b7160e01b600052601160045260246000fd5b6110d3806200027a6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388e77621116100b8578063aa4bde281161007c578063aa4bde28146102c6578063b1421803146102cf578063c9567bf9146102e2578063dd62ed3e146102ea578063f2fde38b14610323578063ffb54a991461033657600080fd5b806388e7762114610267578063893d20e81461026f5780638c0b5e221461028a57806395d89b4114610293578063a9059cbb146102b357600080fd5b80632f54bf6e1161010a5780632f54bf6e146101df578063313ce56714610201578063571ac8b01461021057806370a0823114610223578063715018a61461024c5780637a351a1d1461025457600080fd5b806304cb876d1461014757806306fdde0314610151578063095ea7b31461019357806318160ddd146101b657806323b872dd146101cc575b600080fd5b61014f610343565b005b6040805180820190915260148152732632ba399023b790213930b73237b71021b7b4b760611b60208201525b60405161018a9190610e76565b60405180910390f35b6101a66101a1366004610e19565b610452565b604051901515815260200161018a565b6101be6104bf565b60405190815260200161018a565b6101a66101da366004610dd9565b6104e0565b6101a66101ed366004610d85565b6000546001600160a01b0391821691161490565b6040516009815260200161018a565b6101a661021e366004610d85565b6105f0565b6101be610231366004610d85565b6001600160a01b031660009081526001602052604090205490565b61014f6105fe565b61014f610262366004610d85565b61066d565b61014f610723565b6000546040516001600160a01b03909116815260200161018a565b6101be60045481565b6040805180820190915260048152634c47424360e01b602082015261017d565b6101a66102c1366004610e19565b610789565b6101be60055481565b61014f6102dd366004610e44565b6107eb565b61014f61095e565b6101be6102f8366004610da1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61014f610331366004610d85565b610992565b6003546101a69060ff1681565b6000546001600160a01b031633146103765760405162461bcd60e51b815260040161036d90610ec9565b60405180910390fd5b600654600160a01b900460ff16156103d05760405162461bcd60e51b815260206004820181905260248201527f546865204c50206164647265737320697320616c7265616479206c6f636b6564604482015260640161036d565b6006546001600160a01b031661043d5760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f74206c6f636b204c50206164647265737320756e74696c2069742060448201526b1a185cc81899595b881cd95d60a21b606482015260840161036d565b6006805460ff60a01b1916600160a01b179055565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ad9086815260200190565b60405180910390a35060015b92915050565b60006104cd6009600a610f8e565b6104db906305f5e100611039565b905090565b60006104ea610a10565b6105305760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146105dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526002825283812033825290915291909120546105b8918490610a49565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6105e8848484610a83565b949350505050565b60006104b982600019610452565b6000546001600160a01b031633146106285760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106975760405162461bcd60e51b815260040161036d90610ec9565b600654600160a01b900460ff16156107015760405162461bcd60e51b815260206004820152602760248201527f546865204c5020616464726573732063616e206e6f206c6f6e6765722062652060448201526618da185b99d95960ca1b606482015260840161036d565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461074d5760405162461bcd60e51b815260040161036d90610ec9565b6107596009600a610f8e565b610767906305f5e100611039565b6004556107766009600a610f8e565b610784906305f5e100611039565b600555565b6000610793610a10565b6107d95760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6107e4338484610a83565b9392505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260040161036d90610ec9565b600061ffff8316606461082a6009600a610f8e565b610838906305f5e100611039565b6108429190610f2b565b61084c9190611039565b90506004548110156108b15760405162461bcd60e51b815260206004820152602860248201527f4e6577205458206c696d6974206973206c6f776572207468616e2063757272656044820152671b9d081b1a5b5a5d60c21b606482015260840161036d565b6004819055600061ffff831660646108cb6009600a610f8e565b6108d9906305f5e100611039565b6108e39190610f2b565b6108ed9190611039565b90506005548110156109565760405162461bcd60e51b815260206004820152602c60248201527f4e65772077616c6c6574206c696d6974206973206c6f776572207468616e206360448201526b1d5c9c995b9d081b1a5b5a5d60a21b606482015260840161036d565b600555505050565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161036d90610ec9565b610990610bd7565b565b6000546001600160a01b031633146109bc5760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600354600090819060ff16151560011415610a2d57506001919050565b6000546001600160a01b0316321415610a44575060015b919050565b60008184841115610a6d5760405162461bcd60e51b815260040161036d9190610e76565b506000610a7a8486611058565b95945050505050565b6000610a8f8383610c38565b610af05760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20657863656564732063757272656e742054582f7760448201526b616c6c6574206c696d69747360a01b606482015260840161036d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260019091529190912054610b42918490610a49565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610b719083610caf565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc59086815260200190565b60405180910390a35060019392505050565b60035460ff1615610c215760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b604482015260640161036d565b610c29610d0e565b6003805460ff19166001179055565b60035460009060019060ff1615158114156107e457600454831115610c5f575060006107e4565b6006546001600160a01b03858116911614801590610ca057506005546001600160a01b038516600090815260016020526040902054610c9e9085610caf565b115b156107e4575060009392505050565b600080610cbc8385610f13565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161036d565b6064610d1c6009600a610f8e565b610d2a906305f5e100611039565b610d349190610f2b565b610d3f906002611039565b6004556064610d506009600a610f8e565b610d5e906305f5e100611039565b610d689190610f2b565b610784906002611039565b803561ffff81168114610a4457600080fd5b600060208284031215610d96578081fd5b81356107e481611085565b60008060408385031215610db3578081fd5b8235610dbe81611085565b91506020830135610dce81611085565b809150509250929050565b600080600060608486031215610ded578081fd5b8335610df881611085565b92506020840135610e0881611085565b929592945050506040919091013590565b60008060408385031215610e2b578182fd5b8235610e3681611085565b946020939093013593505050565b60008060408385031215610e56578182fd5b610e5f83610d73565b9150610e6d60208401610d73565b90509250929050565b6000602080835283518082850152825b81811015610ea257858101830151858201604001528201610e86565b81811115610eb35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602a908201527f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c207468696040820152693990333ab731ba34b7b760b11b606082015260800190565b60008219821115610f2657610f2661106f565b500190565b600082610f4657634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115610f86578160001904821115610f6c57610f6c61106f565b80851615610f7957918102915b93841c9390800290610f50565b509250929050565b60006107e460ff841683600082610fa7575060016104b9565b81610fb4575060006104b9565b8160018114610fca5760028114610fd457610ff0565b60019150506104b9565b60ff841115610fe557610fe561106f565b50506001821b6104b9565b5060208310610133831016604e8410600b8410161715611013575081810a6104b9565b61101d8383610f4b565b80600019048211156110315761103161106f565b029392505050565b60008160001904831182151516156110535761105361106f565b500290565b60008282101561106a5761106a61106f565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461109a57600080fd5b5056fea2646970667358221220d8042f90390b05b50f3000b87d6b9cf08a7a96ce0bcf6f15d94fa9826af38ec864736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806388e77621116100b8578063aa4bde281161007c578063aa4bde28146102c6578063b1421803146102cf578063c9567bf9146102e2578063dd62ed3e146102ea578063f2fde38b14610323578063ffb54a991461033657600080fd5b806388e7762114610267578063893d20e81461026f5780638c0b5e221461028a57806395d89b4114610293578063a9059cbb146102b357600080fd5b80632f54bf6e1161010a5780632f54bf6e146101df578063313ce56714610201578063571ac8b01461021057806370a0823114610223578063715018a61461024c5780637a351a1d1461025457600080fd5b806304cb876d1461014757806306fdde0314610151578063095ea7b31461019357806318160ddd146101b657806323b872dd146101cc575b600080fd5b61014f610343565b005b6040805180820190915260148152732632ba399023b790213930b73237b71021b7b4b760611b60208201525b60405161018a9190610e76565b60405180910390f35b6101a66101a1366004610e19565b610452565b604051901515815260200161018a565b6101be6104bf565b60405190815260200161018a565b6101a66101da366004610dd9565b6104e0565b6101a66101ed366004610d85565b6000546001600160a01b0391821691161490565b6040516009815260200161018a565b6101a661021e366004610d85565b6105f0565b6101be610231366004610d85565b6001600160a01b031660009081526001602052604090205490565b61014f6105fe565b61014f610262366004610d85565b61066d565b61014f610723565b6000546040516001600160a01b03909116815260200161018a565b6101be60045481565b6040805180820190915260048152634c47424360e01b602082015261017d565b6101a66102c1366004610e19565b610789565b6101be60055481565b61014f6102dd366004610e44565b6107eb565b61014f61095e565b6101be6102f8366004610da1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61014f610331366004610d85565b610992565b6003546101a69060ff1681565b6000546001600160a01b031633146103765760405162461bcd60e51b815260040161036d90610ec9565b60405180910390fd5b600654600160a01b900460ff16156103d05760405162461bcd60e51b815260206004820181905260248201527f546865204c50206164647265737320697320616c7265616479206c6f636b6564604482015260640161036d565b6006546001600160a01b031661043d5760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f74206c6f636b204c50206164647265737320756e74696c2069742060448201526b1a185cc81899595b881cd95d60a21b606482015260840161036d565b6006805460ff60a01b1916600160a01b179055565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ad9086815260200190565b60405180910390a35060015b92915050565b60006104cd6009600a610f8e565b6104db906305f5e100611039565b905090565b60006104ea610a10565b6105305760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146105dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526002825283812033825290915291909120546105b8918490610a49565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6105e8848484610a83565b949350505050565b60006104b982600019610452565b6000546001600160a01b031633146106285760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106975760405162461bcd60e51b815260040161036d90610ec9565b600654600160a01b900460ff16156107015760405162461bcd60e51b815260206004820152602760248201527f546865204c5020616464726573732063616e206e6f206c6f6e6765722062652060448201526618da185b99d95960ca1b606482015260840161036d565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461074d5760405162461bcd60e51b815260040161036d90610ec9565b6107596009600a610f8e565b610767906305f5e100611039565b6004556107766009600a610f8e565b610784906305f5e100611039565b600555565b6000610793610a10565b6107d95760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6107e4338484610a83565b9392505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260040161036d90610ec9565b600061ffff8316606461082a6009600a610f8e565b610838906305f5e100611039565b6108429190610f2b565b61084c9190611039565b90506004548110156108b15760405162461bcd60e51b815260206004820152602860248201527f4e6577205458206c696d6974206973206c6f776572207468616e2063757272656044820152671b9d081b1a5b5a5d60c21b606482015260840161036d565b6004819055600061ffff831660646108cb6009600a610f8e565b6108d9906305f5e100611039565b6108e39190610f2b565b6108ed9190611039565b90506005548110156109565760405162461bcd60e51b815260206004820152602c60248201527f4e65772077616c6c6574206c696d6974206973206c6f776572207468616e206360448201526b1d5c9c995b9d081b1a5b5a5d60a21b606482015260840161036d565b600555505050565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161036d90610ec9565b610990610bd7565b565b6000546001600160a01b031633146109bc5760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600354600090819060ff16151560011415610a2d57506001919050565b6000546001600160a01b0316321415610a44575060015b919050565b60008184841115610a6d5760405162461bcd60e51b815260040161036d9190610e76565b506000610a7a8486611058565b95945050505050565b6000610a8f8383610c38565b610af05760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20657863656564732063757272656e742054582f7760448201526b616c6c6574206c696d69747360a01b606482015260840161036d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260019091529190912054610b42918490610a49565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610b719083610caf565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc59086815260200190565b60405180910390a35060019392505050565b60035460ff1615610c215760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b604482015260640161036d565b610c29610d0e565b6003805460ff19166001179055565b60035460009060019060ff1615158114156107e457600454831115610c5f575060006107e4565b6006546001600160a01b03858116911614801590610ca057506005546001600160a01b038516600090815260016020526040902054610c9e9085610caf565b115b156107e4575060009392505050565b600080610cbc8385610f13565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161036d565b6064610d1c6009600a610f8e565b610d2a906305f5e100611039565b610d349190610f2b565b610d3f906002611039565b6004556064610d506009600a610f8e565b610d5e906305f5e100611039565b610d689190610f2b565b610784906002611039565b803561ffff81168114610a4457600080fd5b600060208284031215610d96578081fd5b81356107e481611085565b60008060408385031215610db3578081fd5b8235610dbe81611085565b91506020830135610dce81611085565b809150509250929050565b600080600060608486031215610ded578081fd5b8335610df881611085565b92506020840135610e0881611085565b929592945050506040919091013590565b60008060408385031215610e2b578182fd5b8235610e3681611085565b946020939093013593505050565b60008060408385031215610e56578182fd5b610e5f83610d73565b9150610e6d60208401610d73565b90509250929050565b6000602080835283518082850152825b81811015610ea257858101830151858201604001528201610e86565b81811115610eb35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602a908201527f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c207468696040820152693990333ab731ba34b7b760b11b606082015260800190565b60008219821115610f2657610f2661106f565b500190565b600082610f4657634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115610f86578160001904821115610f6c57610f6c61106f565b80851615610f7957918102915b93841c9390800290610f50565b509250929050565b60006107e460ff841683600082610fa7575060016104b9565b81610fb4575060006104b9565b8160018114610fca5760028114610fd457610ff0565b60019150506104b9565b60ff841115610fe557610fe561106f565b50506001821b6104b9565b5060208310610133831016604e8410600b8410161715611013575081810a6104b9565b61101d8383610f4b565b80600019048211156110315761103161106f565b029392505050565b60008160001904831182151516156110535761105361106f565b500290565b60008282101561106a5761106a61106f565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461109a57600080fd5b5056fea2646970667358221220d8042f90390b05b50f3000b87d6b9cf08a7a96ce0bcf6f15d94fa9826af38ec864736f6c63430008040033

Deployed Bytecode Sourcemap

3005:5209:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4723:269;;;:::i;:::-;;4086:80;4158:5;;;;;;;;;;;;-1:-1:-1;;;4158:5:0;;;;4086:80;;;;;;;:::i;:::-;;;;;;;;4997:195;;;;;;:::i;:::-;;:::i;:::-;;;2774:14:1;;2767:22;2749:41;;2737:2;2722:18;4997:195:0;2704:92:1;3825:88:0;;;:::i;:::-;;;7440:25:1;;;7428:2;7413:18;3825:88:0;7395:76:1;6894:407:0;;;;;;:::i;:::-;;:::i;2590:94::-;;;;;;:::i;:::-;2645:4;2674:5;-1:-1:-1;;;;;2663:16:0;;;2674:5;;2663:16;;2590:94;3916:80;;;3193:1;7618:36:1;;7606:2;7591:18;3916:80:0;7573:87:1;5197:114:0;;;;;;:::i;:::-;;:::i;4250:105::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4334:18:0;4316:7;4334:18;;;:9;:18;;;;;;;4250:105;2833:118;;;:::i;4499:219::-;;;;;;:::i;:::-;;:::i;6496:132::-;;;:::i;4169:78::-;4221:7;4239:5;4169:78;;-1:-1:-1;;;;;4239:5:0;;;2331:51:1;;2319:2;2304:18;4169:78:0;2286:102:1;3407:26:0;;;;;;3999:84;4073:7;;;;;;;;;;;;-1:-1:-1;;;4073:7:0;;;;3999:84;;5620:216;;;;;;:::i;:::-;;:::i;3440:30::-;;;;;;5987:497;;;;;;:::i;:::-;;:::i;6636:71::-;;;:::i;4358:133::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4460:19:0;;;4442:7;4460:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4358:133;2689:138;;;;;;:::i;:::-;;:::i;3377:23::-;;;;;;;;;4723:269;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;;;;;;;;;4783:22:::1;::::0;-1:-1:-1;;;4783:22:0;::::1;;;:31;4775:76;;;::::0;-1:-1:-1;;;4775:76:0;;6314:2:1;4775:76:0::1;::::0;::::1;6296:21:1::0;;;6333:18;;;6326:30;6392:34;6372:18;;;6365:62;6444:18;;4775:76:0::1;6286:182:1::0;4775:76:0::1;4867:20;::::0;-1:-1:-1;;;;;4867:20:0::1;4859:91;;;::::0;-1:-1:-1;;;4859:91:0;;6675:2:1;4859:91:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:34;6733:18;;;6726:62;-1:-1:-1;;;6804:18:1;;;6797:42;6856:19;;4859:91:0::1;6647:234:1::0;4859:91:0::1;4958:22;:29:::0;;-1:-1:-1;;;;4958:29:0::1;-1:-1:-1::0;;;4958:29:0::1;::::0;;4723:269::o;4997:195::-;5095:10;5072:4;5083:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5083:32:0;;;;;;;;;;:41;;;5134:37;5072:4;;5083:32;;5134:37;;;;5118:6;7440:25:1;;7428:2;7413:18;;7395:76;5134:37:0;;;;;;;;-1:-1:-1;5183:4:0;4997:195;;;;;:::o;3825:88::-;3880:7;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;3891:19;;3825:88;:::o;6894:407::-;6994:4;7019:18;:16;:18::i;:::-;7011:54;;;;-1:-1:-1;;;7011:54:0;;4729:2:1;7011:54:0;;;4711:21:1;4768:2;4748:18;;;4741:30;-1:-1:-1;;;4787:18:1;;;4780:53;4850:18;;7011:54:0;4701:173:1;7011:54:0;-1:-1:-1;;;;;7075:19:0;;;;;;:11;:19;;;;;;;;7095:10;7075:31;;;;;;;;-1:-1:-1;;7075:52:0;7072:171;;7168:69;;;;;;;;;;;-1:-1:-1;;;7168:69:0;;;;;;;;-1:-1:-1;;;;;7168:19:0;;-1:-1:-1;7168:19:0;;;:11;:19;;;;;7188:10;7168:31;;;;;;;;;;:69;;7204:6;;7168:35;:69::i;:::-;-1:-1:-1;;;;;7134:19:0;;;;;;:11;:19;;;;;;;;7154:10;7134:31;;;;;;;:103;7072:171;7256:40;7270:6;7278:9;7289:6;7256:13;:40::i;:::-;7249:47;6894:407;-1:-1:-1;;;;6894:407:0:o;5197:114::-;5252:4;5270:36;5278:7;-1:-1:-1;;5270:7:0;:36::i;2833:118::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;2902:1:::1;2886:18:::0;;-1:-1:-1;;;;;;2886:18:0::1;::::0;;2914:32:::1;::::0;2331:51:1;;;2914:32:0::1;::::0;2319:2:1;2304:18;2914:32:0::1;;;;;;;2833:118::o:0;4499:219::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;4585:22:::1;::::0;-1:-1:-1;;;4585:22:0;::::1;;;:31;4577:83;;;::::0;-1:-1:-1;;;4577:83:0;;7088:2:1;4577:83:0::1;::::0;::::1;7070:21:1::0;7127:2;7107:18;;;7100:30;7166:34;7146:18;;;7139:62;-1:-1:-1;;;7217:18:1;;;7210:37;7264:19;;4577:83:0::1;7060:229:1::0;4577:83:0::1;4671:20;:42:::0;;-1:-1:-1;;;;;;4671:42:0::1;-1:-1:-1::0;;;;;4671:42:0;;;::::1;::::0;;;::::1;::::0;;4499:219::o;6496:132::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;3243:15:::1;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6559:11;:26:::0;3243:15:::1;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6590:15;:30:::0;6496:132::o;5620:216::-;5700:4;5722:18;:16;:18::i;:::-;5714:54;;;;-1:-1:-1;;;5714:54:0;;4729:2:1;5714:54:0;;;4711:21:1;4768:2;4748:18;;;4741:30;-1:-1:-1;;;4787:18:1;;;4780:53;4850:18;;5714:54:0;4701:173:1;5714:54:0;5787:44;5801:10;5813:9;5824:6;5787:13;:44::i;:::-;5780:51;5620:216;-1:-1:-1;;;5620:216:0:o;5987:497::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;6085:16:::1;6104:32;::::0;::::1;6119:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6104:18;;;;:::i;:::-;:32;;;;:::i;:::-;6085:51;;6167:11;;6155:8;:23;;6147:76;;;::::0;-1:-1:-1;;;6147:76:0;;5905:2:1;6147:76:0::1;::::0;::::1;5887:21:1::0;5944:2;5924:18;;;5917:30;5983:34;5963:18;;;5956:62;-1:-1:-1;;;6034:18:1;;;6027:38;6082:19;;6147:76:0::1;5877:230:1::0;6147:76:0::1;6234:11;:22:::0;;;6277:20:::1;6300:36;::::0;::::1;6315:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6300:18;;;;:::i;:::-;:36;;;;:::i;:::-;6277:59;;6371:15;;6355:12;:31;;6347:88;;;::::0;-1:-1:-1;;;6347:88:0;;4316:2:1;6347:88:0::1;::::0;::::1;4298:21:1::0;4355:2;4335:18;;;4328:30;4394:34;4374:18;;;4367:62;-1:-1:-1;;;4445:18:1;;;4438:42;4497:19;;6347:88:0::1;4288:234:1::0;6347:88:0::1;6446:15;:30:::0;-1:-1:-1;;;5987:497:0:o;6636:71::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;6688:14:::1;:12;:14::i;:::-;6636:71::o:0;2689:138::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;2766:5:::1;:16:::0;;-1:-1:-1;;;;;;2766:16:0::1;-1:-1:-1::0;;;;;2766:16:0;::::1;::::0;;::::1;::::0;;;2792:30:::1;::::0;2331:51:1;;;2792:30:0::1;::::0;2319:2:1;2304:18;2792:30:0::1;;;;;;;2689:138:::0;:::o;5320:295::-;5425:11;;5370:4;;;;5425:11;;:19;;:11;:19;5421:158;;;-1:-1:-1;5462:4:0;5596:11;5320:295;-1:-1:-1;5320:295:0:o;5421:158::-;5507:5;;-1:-1:-1;;;;;5507:5:0;5494:9;:18;5490:77;;;-1:-1:-1;5547:4:0;5490:77;5596:11;5320:295;-1:-1:-1;5320:295:0:o;377:171::-;463:7;493:12;485:6;;;;477:29;;;;-1:-1:-1;;;477:29:0;;;;;;;;:::i;:::-;-1:-1:-1;511:9:0;523:5;527:1;523;:5;:::i;:::-;511:17;377:171;-1:-1:-1;;;;;377:171:0:o;7814:397::-;7906:4;7928:30;7940:9;7951:6;7928:11;:30::i;:::-;7920:87;;;;-1:-1:-1;;;7920:87:0;;5492:2:1;7920:87:0;;;5474:21:1;5531:2;5511:18;;;5504:30;5570:34;5550:18;;;5543:62;-1:-1:-1;;;5621:18:1;;;5614:42;5673:19;;7920:87:0;5464:234:1;7920:87:0;8032:53;;;;;;;;;;;-1:-1:-1;;;8032:53:0;;;;;;;;-1:-1:-1;;;;;8032:17:0;;-1:-1:-1;8032:17:0;;;:9;:17;;;;;;;;:53;;8054:6;;8032:21;:53::i;:::-;-1:-1:-1;;;;;8012:17:0;;;;;;;:9;:17;;;;;;:73;;;;8113:20;;;;;;;:32;;8138:6;8113:24;:32::i;:::-;-1:-1:-1;;;;;8090:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8155:35;;;;;;;;;;8183:6;7440:25:1;;7428:2;7413:18;;7395:76;8155:35:0;;;;;;;;-1:-1:-1;8202:4:0;7814:397;;;;;:::o;6716:163::-;6768:11;;;;:20;6760:53;;;;-1:-1:-1;;;6760:53:0;;3967:2:1;6760:53:0;;;3949:21:1;4006:2;3986:18;;;3979:30;-1:-1:-1;;;4025:18:1;;;4018:50;4085:18;;6760:53:0;3939:170:1;6760:53:0;6824:18;:16;:18::i;:::-;6853:11;:18;;-1:-1:-1;;6853:18:0;6867:4;6853:18;;;6716:163::o;7307:502::-;7455:11;;7394:4;;7435;;7455:11;;:19;;;;7450:318;;;7514:11;;7497:14;:28;7492:265;;;-1:-1:-1;7566:5:0;7492:265;;;7611:20;;-1:-1:-1;;;;;7598:33:0;;;7611:20;;7598:33;;;;:97;;-1:-1:-1;7679:15:0;;-1:-1:-1;;;;;7636:20:0;;;;;;:9;:20;;;;;;:40;;7661:14;7636:24;:40::i;:::-;:58;7598:97;7593:164;;;-1:-1:-1;7736:5:0;7785:16;7307:502;-1:-1:-1;;;7307:502:0:o;84:160::-;142:7;;168:5;172:1;168;:5;:::i;:::-;156:17;;191:1;186;:6;;178:46;;;;-1:-1:-1;;;178:46:0;;3611:2:1;178:46:0;;;3593:21:1;3650:2;3630:18;;;3623:30;3689:29;3669:18;;;3662:57;3736:18;;178:46:0;3583:177:1;5844:131:0;5915:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;5900:18;;;;:::i;:::-;:22;;5921:1;5900:22;:::i;:::-;5886:11;:36;5960:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;5945:18;;;;:::i;:::-;:22;;5966:1;5945:22;:::i;14:159:1:-;81:20;;141:6;130:18;;120:29;;110:2;;163:1;160;153:12;178:257;237:6;290:2;278:9;269:7;265:23;261:32;258:2;;;311:6;303;296:22;258:2;355:9;342:23;374:31;399:5;374:31;:::i;710:398::-;778:6;786;839:2;827:9;818:7;814:23;810:32;807:2;;;860:6;852;845:22;807:2;904:9;891:23;923:31;948:5;923:31;:::i;:::-;973:5;-1:-1:-1;1030:2:1;1015:18;;1002:32;1043:33;1002:32;1043:33;:::i;:::-;1095:7;1085:17;;;797:311;;;;;:::o;1113:466::-;1190:6;1198;1206;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1280:6;1272;1265:22;1227:2;1324:9;1311:23;1343:31;1368:5;1343:31;:::i;:::-;1393:5;-1:-1:-1;1450:2:1;1435:18;;1422:32;1463:33;1422:32;1463:33;:::i;:::-;1217:362;;1515:7;;-1:-1:-1;;;1569:2:1;1554:18;;;;1541:32;;1217:362::o;1584:325::-;1652:6;1660;1713:2;1701:9;1692:7;1688:23;1684:32;1681:2;;;1734:6;1726;1719:22;1681:2;1778:9;1765:23;1797:31;1822:5;1797:31;:::i;:::-;1847:5;1899:2;1884:18;;;;1871:32;;-1:-1:-1;;;1671:238:1:o;1914:266::-;1980:6;1988;2041:2;2029:9;2020:7;2016:23;2012:32;2009:2;;;2062:6;2054;2047:22;2009:2;2090:28;2108:9;2090:28;:::i;:::-;2080:38;;2137:37;2170:2;2159:9;2155:18;2137:37;:::i;:::-;2127:47;;1999:181;;;;;:::o;2801:603::-;2913:4;2942:2;2971;2960:9;2953:21;3003:6;2997:13;3046:6;3041:2;3030:9;3026:18;3019:34;3071:4;3084:140;3098:6;3095:1;3092:13;3084:140;;;3193:14;;;3189:23;;3183:30;3159:17;;;3178:2;3155:26;3148:66;3113:10;;3084:140;;;3242:6;3239:1;3236:13;3233:2;;;3312:4;3307:2;3298:6;3287:9;3283:22;3279:31;3272:45;3233:2;-1:-1:-1;3388:2:1;3367:15;-1:-1:-1;;3363:29:1;3348:45;;;;3395:2;3344:54;;2922:482;-1:-1:-1;;;2922:482:1:o;4879:406::-;5081:2;5063:21;;;5120:2;5100:18;;;5093:30;5159:34;5154:2;5139:18;;5132:62;-1:-1:-1;;;5225:2:1;5210:18;;5203:40;5275:3;5260:19;;5053:232::o;7665:128::-;7705:3;7736:1;7732:6;7729:1;7726:13;7723:2;;;7742:18;;:::i;:::-;-1:-1:-1;7778:9:1;;7713:80::o;7798:217::-;7838:1;7864;7854:2;;-1:-1:-1;;;7889:31:1;;7943:4;7940:1;7933:15;7971:4;7896:1;7961:15;7854:2;-1:-1:-1;8000:9:1;;7844:171::o;8020:422::-;8109:1;8152:5;8109:1;8166:270;8187:7;8177:8;8174:21;8166:270;;;8246:4;8242:1;8238:6;8234:17;8228:4;8225:27;8222:2;;;8255:18;;:::i;:::-;8305:7;8295:8;8291:22;8288:2;;;8325:16;;;;8288:2;8404:22;;;;8364:15;;;;8166:270;;;8170:3;8084:358;;;;;:::o;8447:140::-;8505:5;8534:47;8575:4;8565:8;8561:19;8555:4;8641:5;8671:8;8661:2;;-1:-1:-1;8712:1:1;8726:5;;8661:2;8760:4;8750:2;;-1:-1:-1;8797:1:1;8811:5;;8750:2;8842:4;8860:1;8855:59;;;;8928:1;8923:130;;;;8835:218;;8855:59;8885:1;8876:10;;8899:5;;;8923:130;8960:3;8950:8;8947:17;8944:2;;;8967:18;;:::i;:::-;-1:-1:-1;;9023:1:1;9009:16;;9038:5;;8835:218;;9137:2;9127:8;9124:16;9118:3;9112:4;9109:13;9105:36;9099:2;9089:8;9086:16;9081:2;9075:4;9072:12;9068:35;9065:77;9062:2;;;-1:-1:-1;9174:19:1;;;9206:5;;9062:2;9253:34;9278:8;9272:4;9253:34;:::i;:::-;9323:6;9319:1;9315:6;9311:19;9302:7;9299:32;9296:2;;;9334:18;;:::i;:::-;9372:20;;8651:747;-1:-1:-1;;;8651:747:1:o;9403:168::-;9443:7;9509:1;9505;9501:6;9497:14;9494:1;9491:21;9486:1;9479:9;9472:17;9468:45;9465:2;;;9516:18;;:::i;:::-;-1:-1:-1;9556:9:1;;9455:116::o;9576:125::-;9616:4;9644:1;9641;9638:8;9635:2;;;9649:18;;:::i;:::-;-1:-1:-1;9686:9:1;;9625:76::o;9706:127::-;9767:10;9762:3;9758:20;9755:1;9748:31;9798:4;9795:1;9788:15;9822:4;9819:1;9812:15;9838:131;-1:-1:-1;;;;;9913:31:1;;9903:42;;9893:2;;9959:1;9956;9949:12;9893:2;9883:86;:::o

Swarm Source

ipfs://d8042f90390b05b50f3000b87d6b9cf08a7a96ce0bcf6f15d94fa9826af38ec8

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  ]

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.