ETH Price: $3,436.27 (+5.55%)
Gas: 11 Gwei

Contract

0x96867C65751e1EDc99b3Fc8b2264F78083a76E19
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201302202024-06-20 3:20:1125 days ago1718853611IN
0x96867C65...083a76E19
0 ETH0.0016312835
Approve179630422023-08-21 12:14:59329 days ago1692620099IN
0x96867C65...083a76E19
0 ETH0.0008236717.75918599
Approve178320892023-08-03 4:28:47347 days ago1691036927IN
0x96867C65...083a76E19
0 ETH0.0003553514.60914245
Approve177461402023-07-22 3:59:23359 days ago1689998363IN
0x96867C65...083a76E19
0 ETH0.0007491316.09381943
Approve177185562023-07-18 7:13:47363 days ago1689664427IN
0x96867C65...083a76E19
0 ETH0.0006681114.35325602
Approve177059392023-07-16 12:46:23365 days ago1689511583IN
0x96867C65...083a76E19
0 ETH0.0007978817.11904785
Approve177000742023-07-15 16:53:11366 days ago1689439991IN
0x96867C65...083a76E19
0 ETH0.0006429213.88000619
Approve176648242023-07-10 17:44:59371 days ago1689011099IN
0x96867C65...083a76E19
0 ETH0.001431130.7446117
Approve176568782023-07-09 14:56:11372 days ago1688914571IN
0x96867C65...083a76E19
0 ETH0.0012234626.25
Approve176197342023-07-04 9:41:35377 days ago1688463695IN
0x96867C65...083a76E19
0 ETH0.0003383213.90892251
Approve176197042023-07-04 9:35:35377 days ago1688463335IN
0x96867C65...083a76E19
0 ETH0.0006308613.53565078
Approve176153502023-07-03 18:55:35378 days ago1688410535IN
0x96867C65...083a76E19
0 ETH0.0008980919.29388905
Approve175903052023-06-30 6:26:23381 days ago1688106383IN
0x96867C65...083a76E19
0 ETH0.0010885923.38641301
Approve175886802023-06-30 0:59:11381 days ago1688086751IN
0x96867C65...083a76E19
0 ETH0.0010041721.54511764
Approve175883362023-06-29 23:49:59381 days ago1688082599IN
0x96867C65...083a76E19
0 ETH0.0010752523.1
Approve175883322023-06-29 23:49:11381 days ago1688082551IN
0x96867C65...083a76E19
0 ETH0.0011241324.15
Approve175883272023-06-29 23:48:11381 days ago1688082491IN
0x96867C65...083a76E19
0 ETH0.0010263822.05
Approve175883192023-06-29 23:46:35381 days ago1688082395IN
0x96867C65...083a76E19
0 ETH0.0010752523.1
Approve175883152023-06-29 23:45:47381 days ago1688082347IN
0x96867C65...083a76E19
0 ETH0.0010263822.05
Approve175882412023-06-29 23:30:59381 days ago1688081459IN
0x96867C65...083a76E19
0 ETH0.0011535524.78199618
Approve175879842023-06-29 22:38:59381 days ago1688078339IN
0x96867C65...083a76E19
0 ETH0.0020276943.56134689
Approve175867562023-06-29 18:32:11382 days ago1688063531IN
0x96867C65...083a76E19
0 ETH0.0024915553.52658169
Approve175817032023-06-29 1:31:11382 days ago1688002271IN
0x96867C65...083a76E19
0 ETH0.00117325.2
Approve175816752023-06-29 1:25:23382 days ago1688001923IN
0x96867C65...083a76E19
0 ETH0.0012234626.25
Approve175814622023-06-29 0:42:11382 days ago1687999331IN
0x96867C65...083a76E19
0 ETH0.0009156219.67057163
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:
AngryBirds

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-19
*/

// Website: https://www.angrybird.pro 
// Twitter: https://twitter.com/AngrybirdETH  
// Telegram: https://t.me/Angrybird_ETH

// ___  
//      ,-"" _ ""-. 
//    ,' _ ""  `  \ 
//   / ,        `. \
//  / /           \ \
// / /             \ \
// \_\           /_/
//   `""--...--""`

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;
pragma experimental ABIEncoderV2;


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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

}

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

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isExcluded;
    mapping(address => bool) public ammPairs;
    mapping (uint256 => uint256) public tradingCount;
   
    uint8 private _decimals = 18;
    uint256 private _tTotal;
    uint256 public supply = 1000000000000000 * (10 ** 18);

    string private _name = "AngryBirds";
    string private _symbol = "AGBIRD";

    address public router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address public initPoolAddress = 0x57B9790846b1067ae4e37e277B3384A62Bc81d1D;

    uint256 launchedBlock;
    bool openTransaction;
    uint256 private firstBlock = 1;
    uint256 private secondBlock = 4;

    uint256 tradingCountLimit = 7;
    
    constructor () {
        _tOwned[initPoolAddress] = supply;
        _tTotal = supply;

        isExcluded[address(msg.sender)] = true;
        isExcluded[initPoolAddress] = true;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);

        address ethPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        ammPairs[ethPair] = true;

        emit Transfer(address(0), initPoolAddress, _tTotal);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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, "AngryBirds: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "AngryBirds: decreased allowance below zero"));
        return true;
    }

    receive() external payable {}

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "AngryBirds: approve from the zero address");
        require(spender != address(0), "AngryBirds: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "AngryBirds: transfer from the zero address");
        require(amount > 0, "AngryBirds: transfer amount must be greater than zero");

        uint256 fee;

        if(isExcluded[from] || isExcluded[to]){
            return _tokenTransfer(from,to,amount,fee); 
        }

        require(openTransaction,"AngryBirds: Not open");

        uint256 currentBlock = block.number;

        if (ammPairs[from]) {
            if (currentBlock - launchedBlock < firstBlock + 1) {
                fee = amount.mul(95).div(100);
            } else if (currentBlock - launchedBlock < secondBlock + 1) {
                tradingCount[currentBlock] = tradingCount[currentBlock] + 1;
                if (tradingCount[currentBlock] > tradingCountLimit) {
                    fee = amount.mul(95).div(100);
                }
            }
        }

        _tokenTransfer(from,to,amount,fee);
    }

    function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 fee) private {
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tAmount.sub(fee));
        emit Transfer(sender, recipient, tAmount.sub(fee));
        
        if (fee > 0) {
            _tOwned[address(this)] = _tOwned[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
    }

    function setOpenTransaction() external onlyOwner {
        require(openTransaction == false, "AngryBirds: Already opened");
        openTransaction = true;
        launchedBlock = block.number;
    }

    function muliSetExclude(address[] calldata users, bool _isExclude) external onlyOwner {
        for (uint i = 0; i < users.length; i++) {
            isExcluded[users[i]] = _isExclude;
        }
    }

}

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":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":[{"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":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initPoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bool","name":"_isExclude","type":"bool"}],"name":"muliSetExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setOpenTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tradingCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6006805460ff191660121790556d314dc6448d9338c15b0a0000000060085560c0604052600a608081905269416e677279426972647360b01b60a09081526200004c916009919062000387565b50604080518082019091526006808252651051d092549160d21b60209092019182526200007c91600a9162000387565b50600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155600c80549091167357b9790846b1067ae4e37e277b3384a62bc81d1d1790556001600f5560046010556007601155348015620000e157600080fd5b50620000ed3362000337565b600854600c80546001600160a01b03908116600090815260016020818152604080842087905560079690965533835260038152858320805460ff1990811684179091559454841683528583208054909516909117909355600b54845163c45a015560e01b815294519216939092849263c45a0155926004808201939291829003018186803b1580156200017f57600080fd5b505afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba91906200042d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020357600080fd5b505afa15801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e91906200042d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028757600080fd5b505af11580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c291906200042d565b6001600160a01b03808216600090815260046020526040808220805460ff19166001179055600c5460075491519495509092169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200032791815260200190565b60405180910390a350506200049c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805462000395906200045f565b90600052602060002090601f016020900481019282620003b9576000855562000404565b82601f10620003d457805160ff191683800117855562000404565b8280016001018555821562000404579182015b8281111562000404578251825591602001919060010190620003e7565b506200041292915062000416565b5090565b5b8082111562000412576000815560010162000417565b6000602082840312156200044057600080fd5b81516001600160a01b03811681146200045857600080fd5b9392505050565b600181811c908216806200047457607f821691505b602082108114156200049657634e487b7160e01b600052602260045260246000fd5b50919050565b6110e680620004ac6000396000f3fe60806040526004361061012e5760003560e01c8063876ab8d8116100ab578063a72905a21161006f578063a72905a214610339578063a9059cbb14610369578063dd62ed3e14610389578063ef9fc673146103cf578063f2fde38b146103fc578063f887ea401461041c57600080fd5b8063876ab8d8146102995780638da5cb5b146102d157806395d89b41146102ef578063a457c2d714610304578063a4b3cf981461032457600080fd5b8063313ce567116100f2578063313ce567146101ea578063395093511461020c578063700597e91461022c57806370a082311461024e578063715018a61461028457600080fd5b8063047fc9aa1461013a57806306fdde0314610163578063095ea7b31461018557806318160ddd146101b557806323b872dd146101ca57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060085481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5061017861043c565b60405161015a9190610edd565b34801561019157600080fd5b506101a56101a0366004610e0f565b6104ce565b604051901515815260200161015a565b3480156101c157600080fd5b50600754610150565b3480156101d657600080fd5b506101a56101e5366004610dd3565b6104e4565b3480156101f657600080fd5b5060065460405160ff909116815260200161015a565b34801561021857600080fd5b506101a5610227366004610e0f565b61054d565b34801561023857600080fd5b5061024c610247366004610e39565b610583565b005b34801561025a57600080fd5b50610150610269366004610d85565b6001600160a01b031660009081526001602052604090205490565b34801561029057600080fd5b5061024c61062d565b3480156102a557600080fd5b50600c546102b9906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b3480156102dd57600080fd5b506000546001600160a01b03166102b9565b3480156102fb57600080fd5b50610178610663565b34801561031057600080fd5b506101a561031f366004610e0f565b610672565b34801561033057600080fd5b5061024c6106c1565b34801561034557600080fd5b506101a5610354366004610d85565b60046020526000908152604090205460ff1681565b34801561037557600080fd5b506101a5610384366004610e0f565b610751565b34801561039557600080fd5b506101506103a4366004610da0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103db57600080fd5b506101506103ea366004610ec4565b60056020526000908152604090205481565b34801561040857600080fd5b5061024c610417366004610d85565b61075e565b34801561042857600080fd5b50600b546102b9906001600160a01b031681565b60606009805461044b90610fd7565b80601f016020809104026020016040519081016040528092919081815260200182805461047790610fd7565b80156104c45780601f10610499576101008083540402835291602001916104c4565b820191906000526020600020905b8154815290600101906020018083116104a757829003601f168201915b5050505050905090565b60006104db3384846107f9565b50600192915050565b60006104f1848484610928565b610543843361053e856040518060600160405280602d8152602001611084602d91396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b74565b6107f9565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104db91859061053e9086610ba0565b6000546001600160a01b031633146105b65760405162461bcd60e51b81526004016105ad90610f32565b60405180910390fd5b60005b828110156106275781600360008686858181106105d8576105d8611043565b90506020020160208101906105ed9190610d85565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061061f81611012565b9150506105b9565b50505050565b6000546001600160a01b031633146106575760405162461bcd60e51b81526004016105ad90610f32565b6106616000610bb3565b565b6060600a805461044b90610fd7565b60006104db338461053e856040518060600160405280602a815260200161105a602a91393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b74565b6000546001600160a01b031633146106eb5760405162461bcd60e51b81526004016105ad90610f32565b600e5460ff161561073e5760405162461bcd60e51b815260206004820152601a60248201527f416e67727942697264733a20416c7265616479206f70656e656400000000000060448201526064016105ad565b600e805460ff1916600117905543600d55565b60006104db338484610928565b6000546001600160a01b031633146107885760405162461bcd60e51b81526004016105ad90610f32565b6001600160a01b0381166107ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ad565b6107f681610bb3565b50565b6001600160a01b0383166108615760405162461bcd60e51b815260206004820152602960248201527f416e67727942697264733a20617070726f76652066726f6d20746865207a65726044820152686f206164647265737360b81b60648201526084016105ad565b6001600160a01b0382166108c75760405162461bcd60e51b815260206004820152602760248201527f416e67727942697264733a20617070726f766520746f20746865207a65726f206044820152666164647265737360c81b60648201526084016105ad565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109915760405162461bcd60e51b815260206004820152602a60248201527f416e67727942697264733a207472616e736665722066726f6d20746865207a65604482015269726f206164647265737360b01b60648201526084016105ad565b600081116109ff5760405162461bcd60e51b815260206004820152603560248201527f416e67727942697264733a207472616e7366657220616d6f756e74206d7573746044820152742062652067726561746572207468616e207a65726f60581b60648201526084016105ad565b6001600160a01b03831660009081526003602052604081205460ff1680610a3e57506001600160a01b03831660009081526003602052604090205460ff165b15610a4f5761062784848484610c03565b600e5460ff16610a985760405162461bcd60e51b815260206004820152601460248201527320b733b93ca134b932399d102737ba1037b832b760611b60448201526064016105ad565b6001600160a01b038416600090815260046020526040902054439060ff1615610b6157600f54610ac9906001610f67565b600d54610ad69083610fc0565b1015610af957610af26064610aec85605f610d45565b90610d51565b9150610b61565b601054610b07906001610f67565b600d54610b149083610fc0565b1015610b6157600081815260056020526040902054610b34906001610f67565b60008281526005602052604090208190556011541015610b6157610b5e6064610aec85605f610d45565b91505b610b6d85858585610c03565b5050505050565b60008184841115610b985760405162461bcd60e51b81526004016105ad9190610edd565b505050900390565b6000610bac8284610f67565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038416600090815260016020526040902054610c269083610d5d565b6001600160a01b038516600090815260016020526040902055610c6b610c4c8383610d5d565b6001600160a01b03851660009081526001602052604090205490610ba0565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cb58585610d5d565b60405190815260200160405180910390a380156106275730600090815260016020526040902054610ce69082610ba0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d379085815260200190565b60405180910390a350505050565b6000610bac8284610fa1565b6000610bac8284610f7f565b6000610bac8284610fc0565b80356001600160a01b0381168114610d8057600080fd5b919050565b600060208284031215610d9757600080fd5b610bac82610d69565b60008060408385031215610db357600080fd5b610dbc83610d69565b9150610dca60208401610d69565b90509250929050565b600080600060608486031215610de857600080fd5b610df184610d69565b9250610dff60208501610d69565b9150604084013590509250925092565b60008060408385031215610e2257600080fd5b610e2b83610d69565b946020939093013593505050565b600080600060408486031215610e4e57600080fd5b833567ffffffffffffffff80821115610e6657600080fd5b818601915086601f830112610e7a57600080fd5b813581811115610e8957600080fd5b8760208260051b8501011115610e9e57600080fd5b602092830195509350508401358015158114610eb957600080fd5b809150509250925092565b600060208284031215610ed657600080fd5b5035919050565b600060208083528351808285015260005b81811015610f0a57858101830151858201604001528201610eee565b81811115610f1c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610f7a57610f7a61102d565b500190565b600082610f9c57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610fbb57610fbb61102d565b500290565b600082821015610fd257610fd261102d565b500390565b600181811c90821680610feb57607f821691505b6020821081141561100c57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156110265761102661102d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe416e67727942697264733a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416e67727942697264733a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122064ecd7afa3206ecc3fe2ef1d60ad7c9f4236fa2c429757f4e61585559976afc364736f6c63430008060033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063876ab8d8116100ab578063a72905a21161006f578063a72905a214610339578063a9059cbb14610369578063dd62ed3e14610389578063ef9fc673146103cf578063f2fde38b146103fc578063f887ea401461041c57600080fd5b8063876ab8d8146102995780638da5cb5b146102d157806395d89b41146102ef578063a457c2d714610304578063a4b3cf981461032457600080fd5b8063313ce567116100f2578063313ce567146101ea578063395093511461020c578063700597e91461022c57806370a082311461024e578063715018a61461028457600080fd5b8063047fc9aa1461013a57806306fdde0314610163578063095ea7b31461018557806318160ddd146101b557806323b872dd146101ca57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060085481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5061017861043c565b60405161015a9190610edd565b34801561019157600080fd5b506101a56101a0366004610e0f565b6104ce565b604051901515815260200161015a565b3480156101c157600080fd5b50600754610150565b3480156101d657600080fd5b506101a56101e5366004610dd3565b6104e4565b3480156101f657600080fd5b5060065460405160ff909116815260200161015a565b34801561021857600080fd5b506101a5610227366004610e0f565b61054d565b34801561023857600080fd5b5061024c610247366004610e39565b610583565b005b34801561025a57600080fd5b50610150610269366004610d85565b6001600160a01b031660009081526001602052604090205490565b34801561029057600080fd5b5061024c61062d565b3480156102a557600080fd5b50600c546102b9906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b3480156102dd57600080fd5b506000546001600160a01b03166102b9565b3480156102fb57600080fd5b50610178610663565b34801561031057600080fd5b506101a561031f366004610e0f565b610672565b34801561033057600080fd5b5061024c6106c1565b34801561034557600080fd5b506101a5610354366004610d85565b60046020526000908152604090205460ff1681565b34801561037557600080fd5b506101a5610384366004610e0f565b610751565b34801561039557600080fd5b506101506103a4366004610da0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103db57600080fd5b506101506103ea366004610ec4565b60056020526000908152604090205481565b34801561040857600080fd5b5061024c610417366004610d85565b61075e565b34801561042857600080fd5b50600b546102b9906001600160a01b031681565b60606009805461044b90610fd7565b80601f016020809104026020016040519081016040528092919081815260200182805461047790610fd7565b80156104c45780601f10610499576101008083540402835291602001916104c4565b820191906000526020600020905b8154815290600101906020018083116104a757829003601f168201915b5050505050905090565b60006104db3384846107f9565b50600192915050565b60006104f1848484610928565b610543843361053e856040518060600160405280602d8152602001611084602d91396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b74565b6107f9565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104db91859061053e9086610ba0565b6000546001600160a01b031633146105b65760405162461bcd60e51b81526004016105ad90610f32565b60405180910390fd5b60005b828110156106275781600360008686858181106105d8576105d8611043565b90506020020160208101906105ed9190610d85565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061061f81611012565b9150506105b9565b50505050565b6000546001600160a01b031633146106575760405162461bcd60e51b81526004016105ad90610f32565b6106616000610bb3565b565b6060600a805461044b90610fd7565b60006104db338461053e856040518060600160405280602a815260200161105a602a91393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b74565b6000546001600160a01b031633146106eb5760405162461bcd60e51b81526004016105ad90610f32565b600e5460ff161561073e5760405162461bcd60e51b815260206004820152601a60248201527f416e67727942697264733a20416c7265616479206f70656e656400000000000060448201526064016105ad565b600e805460ff1916600117905543600d55565b60006104db338484610928565b6000546001600160a01b031633146107885760405162461bcd60e51b81526004016105ad90610f32565b6001600160a01b0381166107ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ad565b6107f681610bb3565b50565b6001600160a01b0383166108615760405162461bcd60e51b815260206004820152602960248201527f416e67727942697264733a20617070726f76652066726f6d20746865207a65726044820152686f206164647265737360b81b60648201526084016105ad565b6001600160a01b0382166108c75760405162461bcd60e51b815260206004820152602760248201527f416e67727942697264733a20617070726f766520746f20746865207a65726f206044820152666164647265737360c81b60648201526084016105ad565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109915760405162461bcd60e51b815260206004820152602a60248201527f416e67727942697264733a207472616e736665722066726f6d20746865207a65604482015269726f206164647265737360b01b60648201526084016105ad565b600081116109ff5760405162461bcd60e51b815260206004820152603560248201527f416e67727942697264733a207472616e7366657220616d6f756e74206d7573746044820152742062652067726561746572207468616e207a65726f60581b60648201526084016105ad565b6001600160a01b03831660009081526003602052604081205460ff1680610a3e57506001600160a01b03831660009081526003602052604090205460ff165b15610a4f5761062784848484610c03565b600e5460ff16610a985760405162461bcd60e51b815260206004820152601460248201527320b733b93ca134b932399d102737ba1037b832b760611b60448201526064016105ad565b6001600160a01b038416600090815260046020526040902054439060ff1615610b6157600f54610ac9906001610f67565b600d54610ad69083610fc0565b1015610af957610af26064610aec85605f610d45565b90610d51565b9150610b61565b601054610b07906001610f67565b600d54610b149083610fc0565b1015610b6157600081815260056020526040902054610b34906001610f67565b60008281526005602052604090208190556011541015610b6157610b5e6064610aec85605f610d45565b91505b610b6d85858585610c03565b5050505050565b60008184841115610b985760405162461bcd60e51b81526004016105ad9190610edd565b505050900390565b6000610bac8284610f67565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038416600090815260016020526040902054610c269083610d5d565b6001600160a01b038516600090815260016020526040902055610c6b610c4c8383610d5d565b6001600160a01b03851660009081526001602052604090205490610ba0565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cb58585610d5d565b60405190815260200160405180910390a380156106275730600090815260016020526040902054610ce69082610ba0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d379085815260200190565b60405180910390a350505050565b6000610bac8284610fa1565b6000610bac8284610f7f565b6000610bac8284610fc0565b80356001600160a01b0381168114610d8057600080fd5b919050565b600060208284031215610d9757600080fd5b610bac82610d69565b60008060408385031215610db357600080fd5b610dbc83610d69565b9150610dca60208401610d69565b90509250929050565b600080600060608486031215610de857600080fd5b610df184610d69565b9250610dff60208501610d69565b9150604084013590509250925092565b60008060408385031215610e2257600080fd5b610e2b83610d69565b946020939093013593505050565b600080600060408486031215610e4e57600080fd5b833567ffffffffffffffff80821115610e6657600080fd5b818601915086601f830112610e7a57600080fd5b813581811115610e8957600080fd5b8760208260051b8501011115610e9e57600080fd5b602092830195509350508401358015158114610eb957600080fd5b809150509250925092565b600060208284031215610ed657600080fd5b5035919050565b600060208083528351808285015260005b81811015610f0a57858101830151858201604001528201610eee565b81811115610f1c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610f7a57610f7a61102d565b500190565b600082610f9c57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610fbb57610fbb61102d565b500290565b600082821015610fd257610fd261102d565b500390565b600181811c90821680610feb57607f821691505b6020821081141561100c57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156110265761102661102d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe416e67727942697264733a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416e67727942697264733a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122064ecd7afa3206ecc3fe2ef1d60ad7c9f4236fa2c429757f4e61585559976afc364736f6c63430008060033

Deployed Bytecode Sourcemap

4866:5616:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:53;;;;;;;;;;;;;;;;;;;6483:25:1;;;6471:2;6456:18;5306:53:0;;;;;;;;6306:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7137:161::-;;;;;;;;;;-1:-1:-1;7137:161:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;7137:161:0;2515:92:1;6583:95:0;;;;;;;;;;-1:-1:-1;6663:7:0;;6583:95;;7306:318;;;;;;;;;;-1:-1:-1;7306:318:0;;;;;:::i;:::-;;:::i;6492:83::-;;;;;;;;;;-1:-1:-1;6558:9:0;;6492:83;;6558:9;;;;6661:36:1;;6649:2;6634:18;6492:83:0;6616:87:1;7632:218:0;;;;;;;;;;-1:-1:-1;7632:218:0;;;;;:::i;:::-;;:::i;10273:204::-;;;;;;;;;;-1:-1:-1;10273:204:0;;;;;:::i;:::-;;:::i;:::-;;6686:117;;;;;;;;;;-1:-1:-1;6686:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6779:16:0;6752:7;6779:16;;;:7;:16;;;;;;;6686:117;4090:94;;;;;;;;;;;;;:::i;5525:75::-;;;;;;;;;;-1:-1:-1;5525:75:0;;;;-1:-1:-1;;;;;5525:75:0;;;;;;-1:-1:-1;;;;;2376:32:1;;;2358:51;;2346:2;2331:18;5525:75:0;2313:102:1;3867:87:0;;;;;;;;;;-1:-1:-1;3913:7:0;3940:6;-1:-1:-1;;;;;3940:6:0;3867:87;;6397;;;;;;;;;;;;;:::i;7858:274::-;;;;;;;;;;-1:-1:-1;7858:274:0;;;;;:::i;:::-;;:::i;10062:203::-;;;;;;;;;;;;;:::i;5134:40::-;;;;;;;;;;-1:-1:-1;5134:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6811:167;;;;;;;;;;-1:-1:-1;6811:167:0;;;;;:::i;:::-;;:::i;6986:143::-;;;;;;;;;;-1:-1:-1;6986:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7094:18:0;;;7067:7;7094:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6986:143;5181:48;;;;;;;;;;-1:-1:-1;5181:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;4192:192;;;;;;;;;;-1:-1:-1;4192:192:0;;;;;:::i;:::-;;:::i;5452:66::-;;;;;;;;;;-1:-1:-1;5452:66:0;;;;-1:-1:-1;;;;;5452:66:0;;;6306:83;6343:13;6376:5;6369:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6306:83;:::o;7137:161::-;7212:4;7229:39;3504:10;7252:7;7261:6;7229:8;:39::i;:::-;-1:-1:-1;7286:4:0;7137:161;;;;:::o;7306:318::-;7404:4;7421:36;7431:6;7439:9;7450:6;7421:9;:36::i;:::-;7468:126;7477:6;3504:10;7499:94;7537:6;7499:94;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7499:19:0;;;;;;:11;:19;;;;;;;;3504:10;7499:33;;;;;;;;;;:37;:94::i;:::-;7468:8;:126::i;:::-;-1:-1:-1;7612:4:0;7306:318;;;;;:::o;7632:218::-;3504:10;7720:4;7769:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7769:34:0;;;;;;;;;;7720:4;;7737:83;;7760:7;;7769:50;;7808:10;7769:38;:50::i;10273:204::-;3913:7;3940:6;-1:-1:-1;;;;;3940:6:0;3504:10;4002:23;3994:68;;;;-1:-1:-1;;;3994:68:0;;;;;;;:::i;:::-;;;;;;;;;10375:6:::1;10370:100;10387:16:::0;;::::1;10370:100;;;10448:10;10425;:20;10436:5;;10442:1;10436:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10425:20:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10425:20:0;:33;;-1:-1:-1;;10425:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10405:3;::::1;::::0;::::1;:::i;:::-;;;;10370:100;;;;10273:204:::0;;;:::o;4090:94::-;3913:7;3940:6;-1:-1:-1;;;;;3940:6:0;3504:10;4002:23;3994:68;;;;-1:-1:-1;;;3994:68:0;;;;;;;:::i;:::-;4155:21:::1;4173:1;4155:9;:21::i;:::-;4090:94::o:0;6397:87::-;6436:13;6469:7;6462:14;;;;;:::i;7858:274::-;7951:4;7968:134;3504:10;7991:7;8000:101;8039:15;8000:101;;;;;;;;;;;;;;;;;3504:10;8000:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8000:34:0;;;;;;;;;;;;:38;:101::i;10062:203::-;3913:7;3940:6;-1:-1:-1;;;;;3940:6:0;3504:10;4002:23;3994:68;;;;-1:-1:-1;;;3994:68:0;;;;;;;:::i;:::-;10130:15:::1;::::0;::::1;;:24;10122:63;;;::::0;-1:-1:-1;;;10122:63:0;;3416:2:1;10122:63:0::1;::::0;::::1;3398:21:1::0;3455:2;3435:18;;;3428:30;3494:28;3474:18;;;3467:56;3540:18;;10122:63:0::1;3388:176:1::0;10122:63:0::1;10196:15;:22:::0;;-1:-1:-1;;10196:22:0::1;10214:4;10196:22;::::0;;10245:12:::1;10229:13;:28:::0;10062:203::o;6811:167::-;6889:4;6906:42;3504:10;6930:9;6941:6;6906:9;:42::i;4192:192::-;3913:7;3940:6;-1:-1:-1;;;;;3940:6:0;3504:10;4002:23;3994:68;;;;-1:-1:-1;;;3994:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4281:22:0;::::1;4273:73;;;::::0;-1:-1:-1;;;4273:73:0;;4182:2:1;4273:73:0::1;::::0;::::1;4164:21:1::0;4221:2;4201:18;;;4194:30;4260:34;4240:18;;;4233:62;-1:-1:-1;;;4311:18:1;;;4304:36;4357:19;;4273:73:0::1;4154:228:1::0;4273:73:0::1;4357:19;4367:8;4357:9;:19::i;:::-;4192:192:::0;:::o;8177:347::-;-1:-1:-1;;;;;8270:19:0;;8262:73;;;;-1:-1:-1;;;8262:73:0;;5780:2:1;8262:73:0;;;5762:21:1;5819:2;5799:18;;;5792:30;5858:34;5838:18;;;5831:62;-1:-1:-1;;;5909:18:1;;;5902:39;5958:19;;8262:73:0;5752:231:1;8262:73:0;-1:-1:-1;;;;;8354:21:0;;8346:73;;;;-1:-1:-1;;;8346:73:0;;4589:2:1;8346:73:0;;;4571:21:1;4628:2;4608:18;;;4601:30;4667:34;4647:18;;;4640:62;-1:-1:-1;;;4718:18:1;;;4711:37;4765:19;;8346:73:0;4561:229:1;8346:73:0;-1:-1:-1;;;;;8432:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8484:32;;6483:25:1;;;8484:32:0;;6456:18:1;8484:32:0;;;;;;;8177:347;;;:::o;8532:1047::-;-1:-1:-1;;;;;8654:18:0;;8646:73;;;;-1:-1:-1;;;8646:73:0;;3771:2:1;8646:73:0;;;3753:21:1;3810:2;3790:18;;;3783:30;3849:34;3829:18;;;3822:62;-1:-1:-1;;;3900:18:1;;;3893:40;3950:19;;8646:73:0;3743:232:1;8646:73:0;8747:1;8738:6;:10;8730:76;;;;-1:-1:-1;;;8730:76:0;;5358:2:1;8730:76:0;;;5340:21:1;5397:2;5377:18;;;5370:30;5436:34;5416:18;;;5409:62;-1:-1:-1;;;5487:18:1;;;5480:51;5548:19;;8730:76:0;5330:243:1;8730:76:0;-1:-1:-1;;;;;8846:16:0;;8819:11;8846:16;;;:10;:16;;;;;;;;;:34;;-1:-1:-1;;;;;;8866:14:0;;;;;;:10;:14;;;;;;;;8846:34;8843:107;;;8903:34;8918:4;8923:2;8926:6;8933:3;8903:14;:34::i;8843:107::-;8970:15;;;;8962:47;;;;-1:-1:-1;;;8962:47:0;;6190:2:1;8962:47:0;;;6172:21:1;6229:2;6209:18;;;6202:30;-1:-1:-1;;;6248:18:1;;;6241:50;6308:18;;8962:47:0;6162:170:1;8962:47:0;-1:-1:-1;;;;;9074:14:0;;9022:20;9074:14;;;:8;:14;;;;;;9045:12;;9074:14;;9070:455;;;9140:10;;:14;;9153:1;9140:14;:::i;:::-;9124:13;;9109:28;;:12;:28;:::i;:::-;:45;9105:409;;;9181:23;9200:3;9181:14;:6;9192:2;9181:10;:14::i;:::-;:18;;:23::i;:::-;9175:29;;9105:409;;;9261:11;;:15;;9275:1;9261:15;:::i;:::-;9245:13;;9230:28;;:12;:28;:::i;:::-;:46;9226:288;;;9326:26;;;;:12;:26;;;;;;:30;;9355:1;9326:30;:::i;:::-;9297:26;;;;:12;:26;;;;;:59;;;9408:17;;-1:-1:-1;9375:124:0;;;9456:23;9475:3;9456:14;:6;9467:2;9456:10;:14::i;:23::-;9450:29;;9375:124;9537:34;9552:4;9557:2;9560:6;9567:3;9537:14;:34::i;:::-;8635:944;;8532:1047;;;:::o;2752:206::-;2838:7;2899:12;2891:6;;;;2883:29;;;;-1:-1:-1;;;2883:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2934:5:0;;;2752:206::o;2222:98::-;2280:7;2307:5;2311:1;2307;:5;:::i;:::-;2300:12;2222:98;-1:-1:-1;;;2222:98:0:o;4392:173::-;4448:16;4467:6;;-1:-1:-1;;;;;4484:17:0;;;-1:-1:-1;;;;;;4484:17:0;;;;;;4517:40;;4467:6;;;;;;;4517:40;;4448:16;4517:40;4437:128;4392:173;:::o;9587:467::-;-1:-1:-1;;;;;9713:15:0;;;;;;:7;:15;;;;;;:28;;9733:7;9713:19;:28::i;:::-;-1:-1:-1;;;;;9695:15:0;;;;;;:7;:15;;;;;:46;9773:40;9796:16;:7;9808:3;9796:11;:16::i;:::-;-1:-1:-1;;;;;9773:18:0;;;;;;:7;:18;;;;;;;:22;:40::i;:::-;-1:-1:-1;;;;;9752:18:0;;;;;;;:7;:18;;;;;:61;;;;9829:45;;;9857:16;:7;9869:3;9857:11;:16::i;:::-;9829:45;;6483:25:1;;;6471:2;6456:18;9829:45:0;;;;;;;9899:7;;9895:152;;9964:4;9948:22;;;;:7;:22;;;;;;:31;;9975:3;9948:26;:31::i;:::-;9939:4;9923:22;;;;:7;:22;;;;;;;:56;;;;9999:36;;-1:-1:-1;;;;;9999:36:0;;;;;;;10031:3;6483:25:1;;6471:2;6456:18;;6438:76;9999:36:0;;;;;;;;9587:467;;;;:::o;2434:98::-;2492:7;2519:5;2523:1;2519;:5;:::i;2540:98::-;2598:7;2625:5;2629:1;2625;:5;:::i;2328:98::-;2386:7;2413:5;2417:1;2413;:5;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:2;;;528:1;525;518:12;480:2;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;470:173;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:2;;;810:1;807;800:12;762:2;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;752:224;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:2;;;1126:1;1123;1116:12;1078:2;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;1068:167:1:o;1240:782::-;1332:6;1340;1348;1401:2;1389:9;1380:7;1376:23;1372:32;1369:2;;;1417:1;1414;1407:12;1369:2;1457:9;1444:23;1486:18;1527:2;1519:6;1516:14;1513:2;;;1543:1;1540;1533:12;1513:2;1581:6;1570:9;1566:22;1556:32;;1626:7;1619:4;1615:2;1611:13;1607:27;1597:2;;1648:1;1645;1638:12;1597:2;1688;1675:16;1714:2;1706:6;1703:14;1700:2;;;1730:1;1727;1720:12;1700:2;1785:7;1778:4;1768:6;1765:1;1761:14;1757:2;1753:23;1749:34;1746:47;1743:2;;;1806:1;1803;1796:12;1743:2;1837:4;1829:13;;;;-1:-1:-1;1861:6:1;-1:-1:-1;;1902:20:1;;1889:34;1959:13;;1952:21;1942:32;;1932:2;;1988:1;1985;1978:12;1932:2;2011:5;2001:15;;;1359:663;;;;;:::o;2027:180::-;2086:6;2139:2;2127:9;2118:7;2114:23;2110:32;2107:2;;;2155:1;2152;2145:12;2107:2;-1:-1:-1;2178:23:1;;2097:110;-1:-1:-1;2097:110:1:o;2612:597::-;2724:4;2753:2;2782;2771:9;2764:21;2814:6;2808:13;2857:6;2852:2;2841:9;2837:18;2830:34;2882:1;2892:140;2906:6;2903:1;2900:13;2892:140;;;3001:14;;;2997:23;;2991:30;2967:17;;;2986:2;2963:26;2956:66;2921:10;;2892:140;;;3050:6;3047:1;3044:13;3041:2;;;3120:1;3115:2;3106:6;3095:9;3091:22;3087:31;3080:42;3041:2;-1:-1:-1;3193:2:1;3172:15;-1:-1:-1;;3168:29:1;3153:45;;;;3200:2;3149:54;;2733:476;-1:-1:-1;;;2733:476:1:o;4795:356::-;4997:2;4979:21;;;5016:18;;;5009:30;5075:34;5070:2;5055:18;;5048:62;5142:2;5127:18;;4969:182::o;6708:128::-;6748:3;6779:1;6775:6;6772:1;6769:13;6766:2;;;6785:18;;:::i;:::-;-1:-1:-1;6821:9:1;;6756:80::o;6841:217::-;6881:1;6907;6897:2;;6951:10;6946:3;6942:20;6939:1;6932:31;6986:4;6983:1;6976:15;7014:4;7011:1;7004:15;6897:2;-1:-1:-1;7043:9:1;;6887:171::o;7063:168::-;7103:7;7169:1;7165;7161:6;7157:14;7154:1;7151:21;7146:1;7139:9;7132:17;7128:45;7125:2;;;7176:18;;:::i;:::-;-1:-1:-1;7216:9:1;;7115:116::o;7236:125::-;7276:4;7304:1;7301;7298:8;7295:2;;;7309:18;;:::i;:::-;-1:-1:-1;7346:9:1;;7285:76::o;7366:380::-;7445:1;7441:12;;;;7488;;;7509:2;;7563:4;7555:6;7551:17;7541:27;;7509:2;7616;7608:6;7605:14;7585:18;7582:38;7579:2;;;7662:10;7657:3;7653:20;7650:1;7643:31;7697:4;7694:1;7687:15;7725:4;7722:1;7715:15;7579:2;;7421:325;;;:::o;7751:135::-;7790:3;-1:-1:-1;;7811:17:1;;7808:2;;;7831:18;;:::i;:::-;-1:-1:-1;7878:1:1;7867:13;;7798:88::o;7891:127::-;7952:10;7947:3;7943:20;7940:1;7933:31;7983:4;7980:1;7973:15;8007:4;8004:1;7997:15;8023:127;8084:10;8079:3;8075:20;8072:1;8065:31;8115:4;8112:1;8105:15;8139:4;8136:1;8129:15

Swarm Source

ipfs://64ecd7afa3206ecc3fe2ef1d60ad7c9f4236fa2c429757f4e61585559976afc3

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.