Contract 0xc30590A879C7Dd78bCd9A18E48de446A3c7c98b8 1

 

Contract Overview

Electric Arena: eArena Token
Balance:
0 Ether

EtherValue:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value
0x6d45592916443136a54945a7d5f9103fc077b3d98ed7f60713c58206d4c7114fApprove(pending)2022-08-07 2:07:032 days 8 hrs ago0x08b379d71162382c0e7419b8d08507650dd95d02 IN Electric Arena: eArena Token0 Ether(Pending)(Pending)
0x151dc2bf2b3a83c6c8b5c0d52b8102413359b1c0019bb5aafa6bbe33fa4627feApprove(pending)2022-08-07 2:07:032 days 8 hrs ago0x08b379d71162382c0e7419b8d08507650dd95d02 IN Electric Arena: eArena Token0 Ether(Pending)(Pending)
0x5124f79852ed9807f095b03a20e5ad6149eccd7314bb9599c66bc1095f9926b9Approve152601292022-08-02 1:19:227 days 8 hrs ago0x576ebbcb809abbf05c4c1f8402b32a4081e5a24e IN  Electric Arena: eArena Token0 Ether0.00033156 13.68814038
0x084974f875e06d045d1eec0151acd57a9601d56310fc8f0ac3c83f037ddf71d8Transfer152472782022-07-31 1:22:489 days 8 hrs ago0xe9876a1663b60edd625b8e7cc8865fd9a9cf2431 IN  Electric Arena: eArena Token0 Ether0.00039785 4.10481387
0xf2a8eb7869b88550d2ad7e95e3916a04dded8d4a14d254c949500de9ea5e1667Transfer152472642022-07-31 1:20:409 days 8 hrs ago0xe9876a1663b60edd625b8e7cc8865fd9a9cf2431 IN  Electric Arena: eArena Token0 Ether0.00027532 5.50654746
0xd052657c79c7fea1760cf5ff4e418ae2f7ae9659fda276f857dfe04f072a4b89Approve147569092022-05-11 20:10:3089 days 14 hrs ago0xf86f2ed1495d520e6ad77d1a68230ffe903e6477 IN  Electric Arena: eArena Token0 Ether0.00887679 190.87001581
0xb5de20b009650c24d2b9d92bf9b08cf9124a39903c4eb5155d5b1d6821923161Approve146569832022-04-26 0:35:36105 days 9 hrs ago0x91a7bf9f9ca3f0b11222eec1ede77138696d4603 IN  Electric Arena: eArena Token0 Ether0.00107936 44.55964451
0xbfca22d60c6ba3c542208101e79cba99539218c79765d337edcbb8d6476e50cdApprove145659202022-04-11 18:13:04119 days 16 hrs ago0x007920ce84dd64723792bdc68d7581d317f49f83 IN  Electric Arena: eArena Token0 Ether0.00342742 73.69693158
0xb11811cd57df35b7533f31e14922223bacad3d1d5a11ef303a9f2dfed147d787Approve145573932022-04-10 10:19:27120 days 23 hrs ago0x1a53a9e4c29fed9cfdb10a70b91b7ac34ded6956 IN  Electric Arena: eArena Token0 Ether0.00080272 17.2603891
0x916f8bb9c53a6d853c23471ee95bf2725763725171c6601794385ab17d506c2eApprove145187032022-04-04 9:24:41127 days 51 mins ago0x432a10d5867a732cb7f68dfda6e2f120592e7816 IN  Electric Arena: eArena Token0 Ether0.00177259 38.11456293
0xa07ac49a9b2dc537b139faf51ce8c9d5a822778f5b4037bd918115939faf2e25Transfer144802432022-03-29 9:08:44133 days 1 hr ago0x0ace91ee3171dcb825d2a8b1622f201b075c7ff7 IN  Electric Arena: eArena Token0 Ether0.00481043 27.51838677
0xe9b77425f2546086489db5434be1ae5936d8654e3d09ad0f99eaf10df44a888dApprove144775532022-03-28 23:09:13133 days 11 hrs ago0xf323e84f5cb0416b57b46ef539574040feb3a31a IN  Electric Arena: eArena Token0 Ether0.00251434 54.06373235
0xa9615526fe4f41e672cdc72a295e53239881b54a721fbe72b51d4a3fe0b4a588Approve144774312022-03-28 22:41:45133 days 11 hrs ago0x2341426b578489d02d91a8041ec336ff2c6fbbf9 IN  Electric Arena: eArena Token0 Ether0.00228707 49.17707635
0x6a6cd4bbf0860886393920a39b63769c4de659d866cfa0978aa553684e07baabTransfer144750252022-03-28 13:52:12133 days 20 hrs ago0x0caecd1d6db47c4fc687bc103cd1c1b59ccf5968 IN  Electric Arena: eArena Token0 Ether0.00214722 52.22106279
0xd1f347a85286d600085b25c85ba391eda52922a23403dc22df836a951190fd39Approve144613772022-03-26 10:43:51135 days 23 hrs ago0x903d7f3528e4d372c6674281b641d3e3e5695982 IN  Electric Arena: eArena Token0 Ether0.0010537 22.65687385
0x6243fd3c3adc30df58ae6c1809cf07e3839a6fa2b3dc016f2c2446ff6dbd3eeeApprove144592342022-03-26 2:45:09136 days 7 hrs ago0xa94c1284f50eb83cacfb40c51dfd0f994a75f8a7 IN  Electric Arena: eArena Token0 Ether0.00162464 34.93325992
0xf9c263b197c3747d283ed5e8797dc9d7b6361ecb92db41be03a03c5ed7591d17Approve143781552022-03-13 11:53:33148 days 22 hrs ago0x3ad204812a498b246a7541b35d8bfae980bf4d37 IN  Electric Arena: eArena Token0 Ether0.00057754 12.41854025
0x29e9ee4059c059eb167ca34c2e784623dcfb889d7c5ee80e47ba3690ea9e92c1Approve143721522022-03-12 13:16:23149 days 21 hrs ago0x80cc13559ccd7dc58e4aa1025180fad53d3c4b73 IN  Electric Arena: eArena Token0 Ether0.00147057 31.62045537
0x76ca1cad69fb4e9b7550b31e6e7c040c5510e2edf87824aa4d9fabe3daed14ffApprove143615792022-03-10 21:35:25151 days 12 hrs ago0xe972910dfce777bb184fc58b7051cda672389570 IN  Electric Arena: eArena Token0 Ether0.00148468 31.92385041
0x0b6b5c49d04818df9b86df53b29ddd235f05c22658adff0e0f2c841df4bb6a0cApprove143456532022-03-08 10:26:32153 days 23 hrs ago0xd9ebb6fee22ba3a18504d2189e2c5679e2ad0ed2 IN  Electric Arena: eArena Token0 Ether0.00079803 17.15940432
0xcf0c101b7c01f377ae2dbfb3c9cee1e7b1f8865ce2e240554b182b244b31afa9Approve143376782022-03-07 4:47:38155 days 5 hrs ago0x28392d70a30c6997c96c733f7e04d3d73015fcf2 IN  Electric Arena: eArena Token0 Ether0.00122301 26.29733841
0x72864e80ccb9d1c697feda3a69fb114b3c0ccb1f958024b455b3f09c91dce6e0Transfer142873782022-02-27 9:23:18163 days 53 mins ago0xac3f5e1e4515fd229c0e91fefd1666f5c829638e IN  Electric Arena: eArena Token0 Ether0.00446691 27.72104995
0x802ed44eef3afeff8fddfff4591a368994b680da0f7318952909a7ecd7726070Approve142287592022-02-18 7:39:08172 days 2 hrs ago0x517b76fcb55b965fc31cb9b26a9dc3aeacdcd837 IN  Electric Arena: eArena Token0 Ether0.00363079 78.06978498
0xd5d48513e89bbce4ae20d39d017ab40a9deb6c8dd02234fe5a11f982d025d51cTransfer142171702022-02-16 12:37:31173 days 21 hrs ago0xafa487010fac4f47423195eea07e16e5f39f68eb IN  Electric Arena: eArena Token0 Ether0.00555963 34.5085464
0x3a41417bb2c51cd070ad5fdd468521ba930832d7c9be380cc0c4ac8230d4bda8Transfer142166002022-02-16 10:31:03173 days 23 hrs ago0xafa487010fac4f47423195eea07e16e5f39f68eb IN  Electric Arena: eArena Token0 Ether0.0049418 49.72882769
[ Download CSV Export 

OVERVIEW

eArena is building a community platform where members create and join peer to peer wagers around sports, world events, pop culture and more.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xcd8b892790fdece44d549aff6da53704a63ea287987231271484397bc0a8cbca147558322022-05-11 16:09:5389 days 18 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.01117636 Ether
0xcd8b892790fdece44d549aff6da53704a63ea287987231271484397bc0a8cbca147558322022-05-11 16:09:5389 days 18 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.01117636 Ether
0xc362fa1d81c14e85b3b500e7be02bd68f95f20e22e28029231142ce8c7cbcd9c145659342022-04-11 18:16:59119 days 15 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.000708 Ether
0xc362fa1d81c14e85b3b500e7be02bd68f95f20e22e28029231142ce8c7cbcd9c145659342022-04-11 18:16:59119 days 15 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.000708 Ether
0x3a3321c87ac349beac864e8d7ff3e6ea6de05956f297950542d03e10e4659ed8145369322022-04-07 5:42:02124 days 4 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00616508 Ether
0x3a3321c87ac349beac864e8d7ff3e6ea6de05956f297950542d03e10e4659ed8145369322022-04-07 5:42:02124 days 4 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00616508 Ether
0xbf4c93bc21c4b32ae073eed1cd0c69d1956354959687f11ce5b0712a0d10ae92145317432022-04-06 10:12:17125 days 4 mins ago Electric Arena: eArena TokenElectric Arena: Deployer0.00858783 Ether
0xbf4c93bc21c4b32ae073eed1cd0c69d1956354959687f11ce5b0712a0d10ae92145317432022-04-06 10:12:17125 days 4 mins ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00858783 Ether
0xa07ac49a9b2dc537b139faf51ce8c9d5a822778f5b4037bd918115939faf2e25144802432022-03-29 9:08:44133 days 1 hr ago Electric Arena: eArena TokenElectric Arena: Deployer0.00439889 Ether
0xa07ac49a9b2dc537b139faf51ce8c9d5a822778f5b4037bd918115939faf2e25144802432022-03-29 9:08:44133 days 1 hr ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00439889 Ether
0x5127a086bc666bda134fa27d2547cd281895d0bde376798459e88022176e41c4144774642022-03-28 22:51:17133 days 11 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00472142 Ether
0x5127a086bc666bda134fa27d2547cd281895d0bde376798459e88022176e41c4144774642022-03-28 22:51:17133 days 11 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00472142 Ether
0xec4e561f186ae1bc3a84a07c2bf0d498b0e2d915bd758d739c9694e744fdb703144750502022-03-28 13:57:26133 days 20 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00497646 Ether
0xec4e561f186ae1bc3a84a07c2bf0d498b0e2d915bd758d739c9694e744fdb703144750502022-03-28 13:57:26133 days 20 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00497646 Ether
0xb11b5f78321aaae0bc0d0af515090f040118e500af28573396a9bff491bef9fa144686072022-03-27 13:51:05134 days 20 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00268634 Ether
0xb11b5f78321aaae0bc0d0af515090f040118e500af28573396a9bff491bef9fa144686072022-03-27 13:51:05134 days 20 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00268634 Ether
0x6be7ae3f2d49dd8605768bfee5a2ed6df4441947efccc5ff3e03feb9481c2c39144613812022-03-26 10:45:08135 days 23 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00293464 Ether
0x6be7ae3f2d49dd8605768bfee5a2ed6df4441947efccc5ff3e03feb9481c2c39144613812022-03-26 10:45:08135 days 23 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00293464 Ether
0xf4d3ba00f4377e2e0edde2f643ce9fb89329dd5b6c542de96588fcbb500041ee144594012022-03-26 3:19:16136 days 6 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00293464 Ether
0xf4d3ba00f4377e2e0edde2f643ce9fb89329dd5b6c542de96588fcbb500041ee144594012022-03-26 3:19:16136 days 6 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00293464 Ether
0x65a310ca242b4719d4d586c150ff7c440140c591aa953ac8e656be4ca57e85d8143781772022-03-13 11:59:18148 days 22 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00621841 Ether
0x65a310ca242b4719d4d586c150ff7c440140c591aa953ac8e656be4ca57e85d8143781772022-03-13 11:59:18148 days 22 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00621841 Ether
0xb9db2a4c1efd89e1456716a1a4a31bf83569d1d5b7c0118c6574600d2ab70d93143781672022-03-13 11:56:26148 days 22 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00098847 Ether
0xb9db2a4c1efd89e1456716a1a4a31bf83569d1d5b7c0118c6574600d2ab70d93143781672022-03-13 11:56:26148 days 22 hrs ago Uniswap V2: Router 2 Electric Arena: eArena Token0.00098847 Ether
0xe0cc518d7b9c0a74d226dceec58899d84d1e3f8a417e9ca18eef34d7193d3ae2143721632022-03-12 13:18:04149 days 20 hrs ago Electric Arena: eArena TokenElectric Arena: Deployer0.00174014 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElectricArena

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-26
*/

pragma solidity ^0.6.12;
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) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        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;
    }
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () public {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) public {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract ElectricArena is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool private swapping;

    uint256 public swapTokensAtAmount = 10**10 * (10**18);

    mapping (address => bool) private _isExcluded;

    constructor() public ERC20("ElectricArena", "eArena") {    	
    	IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;

        _isExcluded[owner()] = true;
        _isExcluded[address(this)] = true;
        
        _mint(owner(),  115 * 10**13 * (10**18));
    }

    receive() external payable {

  	}   

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0));
        require(to != address(0));

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

		uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if(
            canSwap &&
            !swapping &&
            from != uniswapV2Pair &&
            from != owner() &&
            to != owner()
        ) {
         
            swapping = true;

            uint256 sellTokens = balanceOf(address(this));
            swapAndSendDividends(sellTokens);

            swapping = false;
        }

        bool takeFee = !swapping;

        if(_isExcluded[from] || _isExcluded[to]) {
            takeFee = false;
        }

        if(takeFee && (to == uniswapV2Pair || from == uniswapV2Pair)) {
          uint256 fees = amount.mul(5).div(100);
        	amount = amount.sub(fees);
          super._transfer(from, address(this), fees);
        }

        super._transfer(from, to, amount);

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

    function swapAndSendDividends(uint256 tokens) private {
        swapTokensForEth(tokens);
        payable(owner()).transfer(address(this).balance);
    }
    
    function airdrop(address[] memory _user, uint256[] memory _amount) external onlyOwner {
        uint256 len = _user.length;
        require(len == _amount.length);
        for (uint256 i = 0; i < len; i++) {
            super._transfer(_msgSender(), _user[i], _amount[i]);
        }
    }
    
    function setSwapAtAmount(uint256 amount) external onlyOwner {
        swapTokensAtAmount = amount;
    }

}

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":"_user","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526b204fce5e3e250261100000006007553480156200002157600080fd5b50604080518082018252600d81526c456c6563747269634172656e6160981b602080830191825283518085019094526006845265654172656e6160d01b9084015281519192916200007591600391620004a0565b5080516200008b906004906020840190620004a0565b5050506000620000a06200031760201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200014357600080fd5b505afa15801562000158573d6000803e3d6000fd5b505050506040513d60208110156200016f57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929187169163ad5c464891600480820192602092909190829003018186803b158015620001c057600080fd5b505afa158015620001d5573d6000803e3d6000fd5b505050506040513d6020811015620001ec57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200023f57600080fd5b505af115801562000254573d6000803e3d6000fd5b505050506040513d60208110156200026b57600080fd5b5051600680546001600160a01b0319166001600160a01b038516179055606081901b6001600160601b0319166080529050600160086000620002ac6200031b565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260089092529020805490911660011790556200030f620002fa6200031b565b6d38b30a686f9c8144c24b800000006200032a565b50506200053c565b3390565b6005546001600160a01b031690565b6001600160a01b03821662000386576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620003946000838362000439565b620003b0816002546200043e60201b62000c171790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003e391839062000c176200043e821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000499576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004e357805160ff191683800117855562000513565b8280016001018555821562000513579182015b8281111562000513578251825591602001919060010190620004f6565b506200052192915062000525565b5090565b5b8082111562000521576000815560010162000526565b60805160601c61168862000569600039806107ab5280610dd95280610ef65280610f3152506116886000f3fe6080604052600436106101485760003560e01c806367243482116100c0578063a457c2d711610074578063dd62ed3e11610059578063dd62ed3e14610583578063e2f45605146105be578063f2fde38b146105d35761014f565b8063a457c2d714610511578063a9059cbb1461054a5761014f565b8063715018a6116100a5578063715018a6146104d25780638da5cb5b146104e757806395d89b41146104fc5761014f565b8063672434821461036b57806370a082311461049f5761014f565b806323b872dd1161011757806339509351116100fc57806339509351146102f157806349bd5a5e1461032a5780636402511e1461033f5761014f565b806323b872dd14610283578063313ce567146102c65761014f565b806306fdde0314610154578063095ea7b3146101de5780631694505e1461022b57806318160ddd1461025c5761014f565b3661014f57005b600080fd5b34801561016057600080fd5b50610169610606565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ea57600080fd5b506102176004803603604081101561020157600080fd5b506001600160a01b03813516906020013561069c565b604080519115158252519081900360200190f35b34801561023757600080fd5b506102406106ba565b604080516001600160a01b039092168252519081900360200190f35b34801561026857600080fd5b506102716106c9565b60408051918252519081900360200190f35b34801561028f57600080fd5b50610217600480360360608110156102a657600080fd5b506001600160a01b038135811691602081013590911690604001356106cf565b3480156102d257600080fd5b506102db610756565b6040805160ff9092168252519081900360200190f35b3480156102fd57600080fd5b506102176004803603604081101561031457600080fd5b506001600160a01b03813516906020013561075b565b34801561033657600080fd5b506102406107a9565b34801561034b57600080fd5b506103696004803603602081101561036257600080fd5b50356107cd565b005b34801561037757600080fd5b506103696004803603604081101561038e57600080fd5b8101906020810181356401000000008111156103a957600080fd5b8201836020820111156103bb57600080fd5b803590602001918460208302840111640100000000831117156103dd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561042d57600080fd5b82018360208201111561043f57600080fd5b8035906020019184602083028401116401000000008311171561046157600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061083c945050505050565b3480156104ab57600080fd5b50610271600480360360208110156104c257600080fd5b50356001600160a01b0316610906565b3480156104de57600080fd5b50610369610921565b3480156104f357600080fd5b506102406109e2565b34801561050857600080fd5b506101696109f1565b34801561051d57600080fd5b506102176004803603604081101561053457600080fd5b506001600160a01b038135169060200135610a52565b34801561055657600080fd5b506102176004803603604081101561056d57600080fd5b506001600160a01b038135169060200135610aba565b34801561058f57600080fd5b50610271600480360360408110156105a657600080fd5b506001600160a01b0381358116916020013516610ace565b3480156105ca57600080fd5b50610271610af9565b3480156105df57600080fd5b50610369600480360360208110156105f657600080fd5b50356001600160a01b0316610aff565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106925780601f1061066757610100808354040283529160200191610692565b820191906000526020600020905b81548152906001019060200180831161067557829003601f168201915b5050505050905090565b60006106b06106a9610c78565b8484610c7c565b5060015b92915050565b6006546001600160a01b031681565b60025490565b60006106dc848484610d68565b61074c846106e8610c78565b610747856040518060600160405280602881526020016115bd602891396001600160a01b038a16600090815260016020526040812090610726610c78565b6001600160a01b031681526020810191909152604001600020549190610fb1565b610c7c565b5060019392505050565b601290565b60006106b0610768610c78565b846107478560016000610779610c78565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610c17565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107d5610c78565b6005546001600160a01b03908116911614610837576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600755565b610844610c78565b6005546001600160a01b039081169116146108a6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8151815181146108b557600080fd5b60005b81811015610900576108f86108cb610c78565b8583815181106108d757fe5b60200260200101518584815181106108eb57fe5b6020026020010151611048565b6001016108b8565b50505050565b6001600160a01b031660009081526020819052604090205490565b610929610c78565b6005546001600160a01b0390811691161461098b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005546001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106925780601f1061066757610100808354040283529160200191610692565b60006106b0610a5f610c78565b846107478560405180606001604052806025815260200161162e6025913960016000610a89610c78565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610fb1565b60006106b0610ac7610c78565b8484610d68565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60075481565b610b07610c78565b6005546001600160a01b03908116911614610b69576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610bae5760405162461bcd60e51b815260040180806020018281038252602681526020018061152e6026913960400191505060405180910390fd5b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600082820183811015610c71576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610cc15760405162461bcd60e51b815260040180806020018281038252602481526020018061160a6024913960400191505060405180910390fd5b6001600160a01b038216610d065760405162461bcd60e51b81526004018080602001828103825260228152602001806115546022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d7b57600080fd5b6001600160a01b038216610d8e57600080fd5b80610da457610d9f83836000611048565b610fac565b6000610daf30610906565b60075490915081108015908190610dd05750600654600160a01b900460ff16155b8015610e0e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015610e335750610e1d6109e2565b6001600160a01b0316856001600160a01b031614155b8015610e585750610e426109e2565b6001600160a01b0316846001600160a01b031614155b15610e95576006805460ff60a01b1916600160a01b1790556000610e7b30610906565b9050610e86816111a3565b506006805460ff60a01b191690555b6006546001600160a01b03861660009081526008602052604090205460ff600160a01b909204821615911680610ee357506001600160a01b03851660009081526008602052604090205460ff165b15610eec575060005b808015610f6557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161480610f6557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316145b15610f9d576000610f826064610f7c8760056111f0565b90611249565b9050610f8e858261128b565b9450610f9b873083611048565b505b610fa8868686611048565b5050505b505050565b600081848411156110405760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611005578181015183820152602001610fed565b50505050905090810190601f1680156110325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03831661108d5760405162461bcd60e51b81526004018080602001828103825260258152602001806115e56025913960400191505060405180910390fd5b6001600160a01b0382166110d25760405162461bcd60e51b815260040180806020018281038252602381526020018061150b6023913960400191505060405180910390fd5b6110dd838383610fac565b61111a81604051806060016040528060268152602001611576602691396001600160a01b0386166000908152602081905260409020549190610fb1565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546111499082610c17565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6111ac816112cd565b6111b46109e2565b6001600160a01b03166108fc479081150290604051600060405180830381858888f193505050501580156111ec573d6000803e3d6000fd5b5050565b6000826111ff575060006106b4565b8282028284828161120c57fe5b0414610c715760405162461bcd60e51b815260040180806020018281038252602181526020018061159c6021913960400191505060405180910390fd5b6000610c7183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114a5565b6000610c7183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb1565b604080516002808252606080830184529260208301908036833701905050905030816000815181106112fb57fe5b6001600160a01b03928316602091820292909201810191909152600654604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561136857600080fd5b505afa15801561137c573d6000803e3d6000fd5b505050506040513d602081101561139257600080fd5b50518151829060019081106113a357fe5b6001600160a01b0392831660209182029290920101526006546113c99130911684610c7c565b6006546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b83811015611468578181015183820152602001611450565b505050509050019650505050505050600060405180830381600087803b15801561149157600080fd5b505af1158015610fa8573d6000803e3d6000fd5b600081836114f45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611005578181015183820152602001610fed565b50600083858161150057fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a624e3e0365ad76648525bafa09632977e13d8301d3bcf1955323b1f4d94c37b64736f6c634300060c0033

Deployed ByteCode Sourcemap

23027:3225:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14423:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16590:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16590:169:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;23110:41;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;23110:41:0;;;;;;;;;;;;;;15543:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;17241:355;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17241:355:0;;;;;;;;;;;;;;;;;:::i;15385:93::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18005:218;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18005:218:0;;;;;;;;:::i;23158:38::-;;;;;;;;;;;;;:::i;26141:106::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26141:106:0;;:::i;:::-;;25835:294;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25835:294:0;;;;;;;;-1:-1:-1;25835:294:0;;-1:-1:-1;;25835:294:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25835:294:0;;-1:-1:-1;25835:294:0;;-1:-1:-1;;;;;25835:294:0:i;15714:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15714:127:0;-1:-1:-1;;;;;15714:127:0;;:::i;2136:148::-;;;;;;;;;;;;;:::i;1926:79::-;;;;;;;;;;;;;:::i;14642:104::-;;;;;;;;;;;;;:::i;18726:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18726:269:0;;;;;;;;:::i;16054:175::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16054:175:0;;;;;;;;:::i;16292:151::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16292:151:0;;;;;;;;;;:::i;23235:53::-;;;;;;;;;;;;;:::i;2290:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2290:244:0;-1:-1:-1;;;;;2290:244:0;;:::i;14423:100::-;14510:5;14503:12;;;;;;;;-1:-1:-1;;14503:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14477:13;;14503:12;;14510:5;;14503:12;;14510:5;14503:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14423:100;:::o;16590:169::-;16673:4;16690:39;16699:12;:10;:12::i;:::-;16713:7;16722:6;16690:8;:39::i;:::-;-1:-1:-1;16747:4:0;16590:169;;;;;:::o;23110:41::-;;;-1:-1:-1;;;;;23110:41:0;;:::o;15543:108::-;15631:12;;15543:108;:::o;17241:355::-;17381:4;17398:36;17408:6;17416:9;17427:6;17398:9;:36::i;:::-;17445:121;17454:6;17462:12;:10;:12::i;:::-;17476:89;17514:6;17476:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17476:19:0;;;;;;:11;:19;;;;;;17496:12;:10;:12::i;:::-;-1:-1:-1;;;;;17476:33:0;;;;;;;;;;;;-1:-1:-1;17476:33:0;;;:89;:37;:89::i;:::-;17445:8;:121::i;:::-;-1:-1:-1;17584:4:0;17241:355;;;;;:::o;15385:93::-;15468:2;15385:93;:::o;18005:218::-;18093:4;18110:83;18119:12;:10;:12::i;:::-;18133:7;18142:50;18181:10;18142:11;:25;18154:12;:10;:12::i;:::-;-1:-1:-1;;;;;18142:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18142:25:0;;;:34;;;;;;;;;;;:38;:50::i;23158:38::-;;;:::o;26141:106::-;2061:12;:10;:12::i;:::-;2051:6;;-1:-1:-1;;;;;2051:6:0;;;:22;;;2043:67;;;;;-1:-1:-1;;;2043:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26212:18:::1;:27:::0;26141:106::o;25835:294::-;2061:12;:10;:12::i;:::-;2051:6;;-1:-1:-1;;;;;2051:6:0;;;:22;;;2043:67;;;;;-1:-1:-1;;;2043:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25946:12;;25984:14;;25977:21;::::1;25969:30;;;::::0;::::1;;26015:9;26010:112;26034:3;26030:1;:7;26010:112;;;26059:51;26075:12;:10;:12::i;:::-;26089:5;26095:1;26089:8;;;;;;;;;;;;;;26099:7;26107:1;26099:10;;;;;;;;;;;;;;26059:15;:51::i;:::-;26039:3;;26010:112;;;;2121:1;25835:294:::0;;:::o;15714:127::-;-1:-1:-1;;;;;15815:18:0;15788:7;15815:18;;;;;;;;;;;;15714:127::o;2136:148::-;2061:12;:10;:12::i;:::-;2051:6;;-1:-1:-1;;;;;2051:6:0;;;:22;;;2043:67;;;;;-1:-1:-1;;;2043:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:6:::1;::::0;2206:40:::1;::::0;2243:1:::1;::::0;-1:-1:-1;;;;;2227:6:0::1;::::0;2206:40:::1;::::0;2243:1;;2206:40:::1;2257:6;:19:::0;;-1:-1:-1;;2257:19:0::1;::::0;;2136:148::o;1926:79::-;1991:6;;-1:-1:-1;;;;;1991:6:0;1926:79;:::o;14642:104::-;14731:7;14724:14;;;;;;;;-1:-1:-1;;14724:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14698:13;;14724:14;;14731:7;;14724:14;;14731:7;14724:14;;;;;;;;;;;;;;;;;;;;;;;;18726:269;18819:4;18836:129;18845:12;:10;:12::i;:::-;18859:7;18868:96;18907:15;18868:96;;;;;;;;;;;;;;;;;:11;:25;18880:12;:10;:12::i;:::-;-1:-1:-1;;;;;18868:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18868:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;16054:175::-;16140:4;16157:42;16167:12;:10;:12::i;:::-;16181:9;16192:6;16157:9;:42::i;16292:151::-;-1:-1:-1;;;;;16408:18:0;;;16381:7;16408:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16292:151::o;23235:53::-;;;;:::o;2290:244::-;2061:12;:10;:12::i;:::-;2051:6;;-1:-1:-1;;;;;2051:6:0;;;:22;;;2043:67;;;;;-1:-1:-1;;;2043:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2379:22:0;::::1;2371:73;;;;-1:-1:-1::0;;;2371:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:6;::::0;2460:38:::1;::::0;-1:-1:-1;;;;;2460:38:0;;::::1;::::0;2481:6:::1;::::0;2460:38:::1;::::0;2481:6:::1;::::0;2460:38:::1;2509:6;:17:::0;;-1:-1:-1;;2509:17:0::1;-1:-1:-1::0;;;;;2509:17:0;;;::::1;::::0;;;::::1;::::0;;2290:244::o;50:181::-;108:7;140:5;;;164:6;;;;156:46;;;;;-1:-1:-1;;;156:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:1;50:181;-1:-1:-1;;;50:181:0:o;1502:98::-;1582:10;1502:98;:::o;21912:380::-;-1:-1:-1;;;;;22048:19:0;;22040:68;;;;-1:-1:-1;;;22040:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22127:21:0;;22119:68;;;;-1:-1:-1;;;22119:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22200:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;22252:32;;;;;;;;;;;;;;;;;21912:380;;;:::o;23960:1206::-;-1:-1:-1;;;;;24092:18:0;;24084:27;;;;;;-1:-1:-1;;;;;24130:16:0;;24122:25;;;;;;24163:11;24160:92;;24191:28;24207:4;24213:2;24217:1;24191:15;:28::i;:::-;24234:7;;24160:92;24258:28;24289:24;24307:4;24289:9;:24::i;:::-;24363:18;;24258:55;;-1:-1:-1;24339:42:0;;;;;;;24411:33;;-1:-1:-1;24436:8:0;;-1:-1:-1;;;24436:8:0;;;;24435:9;24411:33;:71;;;;;24469:13;-1:-1:-1;;;;;24461:21:0;:4;-1:-1:-1;;;;;24461:21:0;;;24411:71;:103;;;;;24507:7;:5;:7::i;:::-;-1:-1:-1;;;;;24499:15:0;:4;-1:-1:-1;;;;;24499:15:0;;;24411:103;:133;;;;;24537:7;:5;:7::i;:::-;-1:-1:-1;;;;;24531:13:0;:2;-1:-1:-1;;;;;24531:13:0;;;24411:133;24394:357;;;24582:8;:15;;-1:-1:-1;;;;24582:15:0;-1:-1:-1;;;24582:15:0;;;;24635:24;24653:4;24635:9;:24::i;:::-;24614:45;;24674:32;24695:10;24674:20;:32::i;:::-;-1:-1:-1;24723:8:0;:16;;-1:-1:-1;;;;24723:16:0;;;24394:357;24779:8;;-1:-1:-1;;;;;24803:17:0;;24763:12;24803:17;;;:11;:17;;;;;;24779:8;-1:-1:-1;;;24779:8:0;;;;;24778:9;;24803:17;;:36;;-1:-1:-1;;;;;;24824:15:0;;;;;;:11;:15;;;;;;;;24803:36;24800:83;;;-1:-1:-1;24866:5:0;24800:83;24898:7;:57;;;;;24916:13;-1:-1:-1;;;;;24910:19:0;:2;-1:-1:-1;;;;;24910:19:0;;:44;;;;24941:13;-1:-1:-1;;;;;24933:21:0;:4;-1:-1:-1;;;;;24933:21:0;;24910:44;24895:216;;;24970:12;24985:22;25003:3;24985:13;:6;24996:1;24985:10;:13::i;:::-;:17;;:22::i;:::-;24970:37;-1:-1:-1;25028:16:0;:6;24970:37;25028:10;:16::i;:::-;25019:25;;25057:42;25073:4;25087;25094;25057:15;:42::i;:::-;24895:216;;25123:33;25139:4;25145:2;25149:6;25123:15;:33::i;:::-;23960:1206;;;;;;;:::o;379:192::-;465:7;501:12;493:6;;;;485:29;;;;-1:-1:-1;;;485:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;537:5:0;;;379:192::o;19485:573::-;-1:-1:-1;;;;;19625:20:0;;19617:70;;;;-1:-1:-1;;;19617:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19706:23:0;;19698:71;;;;-1:-1:-1;;;19698:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19782:47;19803:6;19811:9;19822:6;19782:20;:47::i;:::-;19862:71;19884:6;19862:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19862:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;19842:17:0;;;:9;:17;;;;;;;;;;;:91;;;;19967:20;;;;;;;:32;;19992:6;19967:24;:32::i;:::-;-1:-1:-1;;;;;19944:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;20015:35;;;;;;;19944:20;;20015:35;;;;;;;;;;;;;19485:573;;;:::o;25667:156::-;25732:24;25749:6;25732:16;:24::i;:::-;25775:7;:5;:7::i;:::-;-1:-1:-1;;;;;25767:25:0;:48;25793:21;25767:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25667:156;:::o;577:246::-;635:7;659:6;655:47;;-1:-1:-1;689:1:0;682:8;;655:47;724:5;;;728:1;724;:5;:1;748:5;;;;;:10;740:56;;;;-1:-1:-1;;;740:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;829:132;887:7;914:39;918:1;921;914:39;;;;;;;;;;;;;;;;;:3;:39::i;237:136::-;295:7;322:43;326:1;329;322:43;;;;;;;;;;;;;;;;;:3;:43::i;25178:481::-;25268:16;;;25282:1;25268:16;;;25244:21;25268:16;;;;;25244:21;25268:16;;;;;;;;;;-1:-1:-1;25268:16:0;25244:40;;25313:4;25295;25300:1;25295:7;;;;;;;;-1:-1:-1;;;;;25295:23:0;;;:7;;;;;;;;;;:23;;;;25339:15;;:22;;;;;;;;:15;;;;;:20;;:22;;;;;25295:7;;25339:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25339:22:0;25329:7;;:4;;25334:1;;25329:7;;;;;;-1:-1:-1;;;;;25329:32:0;;;:7;;;;;;;;;:32;25404:15;;25372:62;;25389:4;;25404:15;25422:11;25372:8;:62::i;:::-;25445:15;;:196;;;;;;;;;;;:15;:196;;;;;;25595:4;25445:196;;;;;;25615:15;25445:196;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25445:15:0;;;;:66;;25526:11;;25568:4;;25595;25615:15;25445:196;;;;;;;;;;;;;;;;:15;:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;967:189;1053:7;1088:12;1081:5;1073:28;;;;-1:-1:-1;;;1073:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1112:9;1128:1;1124;:5;;;;;;;967:189;-1:-1:-1;;;;;967:189:0:o

Swarm Source

ipfs://a624e3e0365ad76648525bafa09632977e13d8301d3bcf1955323b1f4d94c37b
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.