Contract 0xc90d73501c915760567f7c39783964a40f354ea6

 
 
Txn Hash
Block
From
To
Value [Txn Fee]
0xeb0fa4dd62bb476c3c24e0a4998de1e6b36594332dcc93c62391cefd858385b490580572021-07-11 8:26:3625 days 7 hrs ago0x4c200851c5bed4456175f3183ff76a1bcc73f48c IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x368470ac7bc07ec65154f8e2f24932844fc113f2de4a2534f744c720b83b292788755922021-07-04 23:57:4831 days 15 hrs ago0xde2230ba5cb37d5fa5cb9d4fc930a2e6643233c1 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x3117c4ce041e374fac830246f0baec5fbdce758724125d3f2eef380e9e6f342174359572021-05-15 16:47:3781 days 22 hrs ago0xfbb63459bb05d389fc4df40c46a283f2a3c3a227 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x4586547e70ca51c04a811e08d4115e407c40531152c90f8b6c06f0b085be602674291152021-05-15 10:59:5482 days 4 hrs ago0x3da016eb1e883c074e62271f762c921662712dff IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xfe859ba70467ec218043276b349603431090e1767c08564d141aac42bde802f274244962021-05-15 7:08:3582 days 8 hrs ago0x97201d9bed55781d6e172c826bc9ed94f6887532 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xa9f5fe7cff953c30ad2f2b2049bba699402af540561f353fefc6c62499f448c874148852021-05-14 22:37:2682 days 16 hrs ago0x6e40647a1253e2dd8742590f425e648571bf5b31 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xf597facd7a6b5bdb08b141a2ea9fde35cdb72b9e2fc653dc688814f36474a8b974125162021-05-14 20:37:3782 days 18 hrs ago0x37bddfa821203cba79231e25ca56f6331ada6ecc IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x49c9367a11d077067bd69b250955d7411c58f7b36b1337d88a73fd9942ee671974125092021-05-14 20:37:1682 days 18 hrs ago0xd7f85690ad0456b8dd58f34ecd28d52d85d11d80 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xa7162d973b11973343c440ab3673fe694e7ae6c28db1456f79b4e231b2d6a25474124892021-05-14 20:36:1682 days 18 hrs ago0x856bb74866bb01a823e3b13f061f34974072dc75 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x25c6f58ddd691785d04de13c746c67ab787ff1ee77fd63389578de47f7468dcb74120742021-05-14 20:15:3182 days 19 hrs ago0x5413fd65321038b43956488902d74cbc8fc2b0d2 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xa80d65c6814d46e9f852b0d222d16fd37ead99ab0bb9cbfe96efebf71957d83a74120312021-05-14 20:13:2282 days 19 hrs ago0x18751016231f5138c2f3a1aa2970ddb68af8b38c IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x1c976ab45b3ba365a3b8f2f8ecb9c63a1aa271e4613c5b060541f190912b8fc374113842021-05-14 19:39:5382 days 19 hrs ago0xaa84279a8f679cf9ce893536b9f462d86b1a6c4a IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x04571542545eb8a3ef77ea47f97a7a74538f7807525c130c259b4b3a2d824f7274110912021-05-14 19:25:1482 days 20 hrs ago0xf5ac6453ffd982cc28c80cac6a41676b56b3afc1 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x6cfb0b54fbd55cae1d35554dcde6f9d0aeca391735015ce25050cf066bc9a20e74107022021-05-14 19:05:4782 days 20 hrs ago0xc5679bfd554cf21a4185d748df81502e83e6e5b5 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x7420ba9f74242f207f613b07119186f92d41daaee625b3eb4ff34d3c8debc83c74106802021-05-14 19:04:4182 days 20 hrs ago0x60eda9e38d98efe86a29de4e8c5f15d91fad7e2e IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xdbcbda03e5e56dc8365ab5820a0844a0d23648a359f4d0ee73142830de66bd3c74106282021-05-14 19:02:0582 days 20 hrs ago0x0173f020501c8ac9a007769238a90c5fe7d7ce3c IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xf79b52b6adea9c438d41cb793d536eeccf797554611f3502fa7b1ad54f7c3c5774105542021-05-14 18:58:2382 days 20 hrs ago0x0774c05f2b108a05f9683f315110a3e5c26ff98b IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x7741cf9c5acd1785719949adac859c0c4b45261d5796f97c624a08c9d01900cd74103802021-05-14 18:49:4182 days 20 hrs ago0xfc761d2c0ba43ea71d6bc2513da3f4210d6d6c44 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x6c26290e794391a3d4be223d9f9044892de1f0b8f0b068fb502c8211faddbc3874103452021-05-14 18:47:5682 days 20 hrs ago0xe78c058d5560cf468fc10ddf4a96ce11d708373b IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xeba725ef9037efff8feee786366099971ebfa0b2b3e0f3b11da07fabac71609e74103262021-05-14 18:46:5982 days 20 hrs ago0xde2230ba5cb37d5fa5cb9d4fc930a2e6643233c1 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0x45302baed3e6c1c697290c8b36db0b6b68187a5f1175f77aa3feb56a30c1933e74102482021-05-14 18:43:0582 days 20 hrs ago0xc512ab9ae6e6fe2579958368ecad51648a56d783 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xb9540c5debc5e4f262b594dfac455860017cd7eaa36cd501776886ecd9d4770a74102312021-05-14 18:42:1482 days 20 hrs ago0x402547ef0bfa863dc155355208d31863462d7a8a IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.000533832
0x05809582f637fc4f016c96574194afe7a607d9decb9870e53c65f10b233ff70a74101892021-05-14 18:40:0882 days 20 hrs ago0x5283de8eebf5b79de93fe918b29144f69fde2628 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xf6fa94e9543935f24d8c64237aa20c9604567e0b17c50d51e30dc793a1f84fff74100432021-05-14 18:32:4582 days 21 hrs ago0x3e2d3e891debec54fa7358884a5547640528de4d IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
0xee8fc3f14aa29a0ebfbf7b3b49fbd42d374074d5c8dfcd1566200442d57229c574100312021-05-14 18:32:0782 days 21 hrs ago0x74caf82ea8f7fbd602c76ca6449ed1258dda1a75 IN  0xc90d73501c915760567f7c39783964a40f354ea60 BNB0.00022243
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CARAVEL

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-14
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

library SafeMath {
  /**
   * @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) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");

    return c;
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;

    return c;
  }

  /**
   * @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) {
    // 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 0;
    }

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

    return c;
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts 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) internal pure returns (uint256) {
    return div(a, b, "SafeMath: division by zero");
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts 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) {
    // Solidity only automatically asserts when dividing by 0
    require(b > 0, errorMessage);
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts 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 mod(a, b, "SafeMath: modulo by zero");
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) {
    require(b != 0, errorMessage);
    return a % b;
  }
}

contract Ownable {
    address private _owner;
    address private _previousOwner;
    address private _firstOwner;
    uint256 private _lockTime;
    bool ownerLock;

    /**
    * @dev Initializes the contract setting the deployer as the initial owner.
    */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        ownerLock = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    
    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
  
    /**
    * @dev Returns the address of the current owner.
    */
    function owner() public view returns (address) {
        return _owner;
    }
    
    /**
    * @dev Returns the address of the current owner.
    */
    function firstOwner() public view returns (address) {
        return _firstOwner;
    }

    /**
    * @dev Returns the address of the current owner lock.
    */
    function getOwnerLock() public view returns (bool) {
        return ownerLock;
    }

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

    modifier transferMiddleware(address from, address to, bool handler) {
        if(ownerLock) {
            if(from != address(0) && _firstOwner == address(0) && !handler) _firstOwner = to;
            else require(to != _firstOwner, "Order Is Pending.");
        }
        _;
    }
    
    /**
    * @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 onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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 onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
    * @dev Transfers ownership of the contract to a new account (`newOwner`).
    */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function setOwnerLock(bool _ownerLock) public onlyOwner {
        ownerLock = _ownerLock;
    }

    function getUnlockTime() public view returns (uint256) {
        return _lockTime;
    }

    //Locks the contract for owner for the amount of time provided
    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = block.timestamp + time;
        emit OwnershipTransferred(_owner, address(0));
    }

    //Unlocks the contract for owner when _lockTime is exceeds
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission.");
        require(block.timestamp > _lockTime , "Contract is locked.");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
}

contract CARAVEL is Ownable {
  using SafeMath for uint256;

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

  uint256 private _totalSupply = 5 * 10**7 * 10 ** 8;
  uint8 private _decimals = 8;
  string private _symbol = "CARAVEL";
  string private _name = "CVL";
  
  constructor() {
    _addBalanceToAddress(msg.sender,_totalSupply);
    emit Transfer(address(0), msg.sender, _totalSupply);
  }

  function _addBalanceToAddress(address wallet, uint256 amount) internal {
      _balances[wallet] += amount;
  }

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

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

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

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

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

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

  function transfer(address recipient, uint256 amount) public returns (bool) {
    _transfer(_msgSender(), recipient, amount, true);
    return true;
  }

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

  function approve(address spender, uint256 amount) public returns (bool) {
    _approve(_msgSender(), spender, amount);
    return true;
  }

  function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
    _transfer(sender, recipient, amount, false);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));
    return true;
  }

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

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

  function _transfer(address sender, address recipient, uint256 amount, bool isTransfer) internal transferMiddleware(sender, recipient, isTransfer) {
    require(sender != address(0), "BEP20: transfer from the zero address");
    require(recipient != address(0), "BEP20: transfer to the zero address");

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

  function _approve(address owner, address spender, uint256 amount) internal {
    require(owner != address(0), "BEP20: approve from the zero address");
    require(spender != address(0), "BEP20: approve to the zero address");
    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"firstOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnerLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_ownerLock","type":"bool"}],"name":"setOwnerLock","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"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6611c37937e0800060079081556008805460ff19168117905560c060405260808190526610d0549055915360ca1b60a090815262000041916009919062000153565b506040805180820190915260038082526210d59360ea1b60209092019182526200006e91600a9162000153565b503480156200007c57600080fd5b50600080546001600160a01b0319163390811782556004805460ff19166001179055604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000df336007546200012060201b60201c565b60075460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200025b565b6001600160a01b038216600090815260056020526040812080548392906200014a908490620001f9565b90915550505050565b82805462000161906200021e565b90600052602060002090601f016020900481019282620001855760008555620001d0565b82601f10620001a057805160ff1916838001178555620001d0565b82800160010185558215620001d0579182015b82811115620001d0578251825591602001919060010190620001b3565b50620001de929150620001e2565b5090565b5b80821115620001de5760008155600101620001e3565b600082198211156200021957634e487b7160e01b81526011600452602481fd5b500190565b600181811c908216806200023357607f821691505b602082108114156200025557634e487b7160e01b600052602260045260246000fd5b50919050565b610e88806200026b6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d714610261578063a69df4b514610274578063a9059cbb1461027c578063dd4670641461028f578063dd62ed3e146102a2578063f2fde38b146102db57600080fd5b806370a0823114610217578063715018a614610240578063893d20e8146102485780638da5cb5b1461024857806395d89b411461025957600080fd5b8063313ce567116100ff578063313ce567146101ad57806339509351146101c257806349aab3af146101d5578063602bc62b146101ea5780636bc28781146101f257600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f5780632753f5c9146101a2575b600080fd5b6101446102ee565b6040516101519190610cb7565b60405180910390f35b61016d610168366004610c56565b610380565b6040519015158152602001610151565b6007545b604051908152602001610151565b61016d61019d366004610c1b565b610396565b60045460ff1661016d565b60085460405160ff9091168152602001610151565b61016d6101d0366004610c56565b610401565b6101e86101e3366004610c7f565b610437565b005b600354610181565b6002546001600160a01b03165b6040516001600160a01b039091168152602001610151565b610181610225366004610bcf565b6001600160a01b031660009081526005602052604090205490565b6101e861047d565b6000546001600160a01b03166101ff565b6101446104df565b61016d61026f366004610c56565b6104ee565b6101e861053d565b61016d61028a366004610c56565b61062d565b6101e861029d366004610c9f565b61063c565b6101816102b0366004610be9565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6101e86102e9366004610bcf565b6106c1565b6060600a80546102fd90610d6e565b80601f016020809104026020016040519081016040528092919081815260200182805461032990610d6e565b80156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b5050505050905090565b600061038d3384846106f7565b50600192915050565b60006103a5848484600061081b565b6103f784336103f285604051806060016040528060288152602001610dc0602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610a65565b6106f7565b5060019392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161038d9185906103f29086610a9f565b6000546001600160a01b0316331461046a5760405162461bcd60e51b815260040161046190610d0a565b60405180910390fd5b6004805460ff1916911515919091179055565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260040161046190610d0a565b600080546040516001600160a01b0390911690600080516020610de8833981519152908390a3600080546001600160a01b0319169055565b6060600980546102fd90610d6e565b600061038d33846103f285604051806060016040528060258152602001610e2e602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610a65565b6001546001600160a01b031633146105975760405162461bcd60e51b815260206004820152601a60248201527f596f7520646f6e27742068617665207065726d697373696f6e2e0000000000006044820152606401610461565b60035442116105de5760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903637b1b5b2b21760691b6044820152606401610461565b600154600080546040516001600160a01b039384169390911691600080516020610de883398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061038d338484600161081b565b6000546001600160a01b031633146106665760405162461bcd60e51b815260040161046190610d0a565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556106958142610d3f565b600355600080546040516001600160a01b0390911690600080516020610de8833981519152908390a350565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260040161046190610d0a565b6106f481610b05565b50565b6001600160a01b0383166107595760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610461565b6001600160a01b0382166107ba5760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610461565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60045484908490839060ff16156108ce576001600160a01b0383161580159061084d57506002546001600160a01b0316155b8015610857575080155b1561087c57600280546001600160a01b0319166001600160a01b0384161790556108ce565b6002546001600160a01b03838116911614156108ce5760405162461bcd60e51b815260206004820152601160248201527027b93232b91024b9902832b73234b7339760791b6044820152606401610461565b6001600160a01b0387166109325760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610461565b6001600160a01b0386166109945760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610461565b6109d185604051806060016040528060268152602001610e08602691396001600160a01b038a166000908152600560205260409020549190610a65565b6001600160a01b038089166000908152600560205260408082209390935590881681522054610a009086610a9f565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a549089815260200190565b60405180910390a350505050505050565b60008184841115610a895760405162461bcd60e51b81526004016104619190610cb7565b506000610a968486610d57565b95945050505050565b600080610aac8385610d3f565b905083811015610afe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610461565b9392505050565b6001600160a01b038116610b6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610461565b600080546040516001600160a01b0380851693921691600080516020610de883398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b0381168114610bca57600080fd5b919050565b600060208284031215610be0578081fd5b610afe82610bb3565b60008060408385031215610bfb578081fd5b610c0483610bb3565b9150610c1260208401610bb3565b90509250929050565b600080600060608486031215610c2f578081fd5b610c3884610bb3565b9250610c4660208501610bb3565b9150604084013590509250925092565b60008060408385031215610c68578182fd5b610c7183610bb3565b946020939093013593505050565b600060208284031215610c90578081fd5b81358015158114610afe578182fd5b600060208284031215610cb0578081fd5b5035919050565b6000602080835283518082850152825b81811015610ce357858101830151858201604001528201610cc7565b81811115610cf45783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610d5257610d52610da9565b500190565b600082821015610d6957610d69610da9565b500390565b600181811c90821680610d8257607f821691505b60208210811415610da357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202b9b5af98e6cf270b09a73d813e25f2288f669931cc63b7d795a2d1542f0e78364736f6c63430008040033

Deployed ByteCode Sourcemap

8393:3199:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9257:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9835:142;;;;;;:::i;:::-;;:::i;:::-;;;2146:14:1;;2139:22;2121:41;;2109:2;2094:18;9835:142:0;2076:92:1;9340:85:0;9407:12;;9340:85;;;6718:25:1;;;6706:2;6691:18;9340:85:0;6673:76:1;9983:297:0;;;;;;:::i;:::-;;:::i;5598:86::-;5667:9;;;;5598:86;;9087:77;9149:9;;9087:77;;9149:9;;;;6896:36:1;;6884:2;6869:18;9087:77:0;6851:87:1;10286:200:0;;;;;;:::i;:::-;;:::i;7275:97::-;;;;;;:::i;:::-;;:::i;:::-;;7380:90;7453:9;;7380:90;;5425:89;5495:11;;-1:-1:-1;;;;;5495:11:0;5425:89;;;-1:-1:-1;;;;;1937:32:1;;;1919:51;;1907:2;1892:18;5425:89:0;1874:102:1;9431:104:0;;;;;;:::i;:::-;-1:-1:-1;;;;;9511:18:0;9488:7;9511:18;;;:9;:18;;;;;;;9431:104;6533:140;;;:::i;9004:77::-;9045:7;5328:6;-1:-1:-1;;;;;5328:6:0;9004:77;;9170:81;;;:::i;10492:251::-;;;;;;:::i;:::-;;:::i;7844:284::-;;;:::i;9541:154::-;;;;;;:::i;:::-;;:::i;7546:226::-;;;;;;:::i;:::-;;:::i;9701:128::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9796:18:0;;;9773:7;9796:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9701:128;6825:109;;;;;;:::i;:::-;;:::i;9257:77::-;9294:13;9323:5;9316:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9257:77;:::o;9835:142::-;9901:4;9914:39;5049:10;9937:7;9946:6;9914:8;:39::i;:::-;-1:-1:-1;9967:4:0;9835:142;;;;:::o;9983:297::-;10072:4;10085:43;10095:6;10103:9;10114:6;10122:5;10085:9;:43::i;:::-;10135:121;10144:6;5049:10;10166:89;10204:6;10166:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10166:19:0;;;;;;:11;:19;;;;;;;;5049:10;10166:33;;;;;;;;;;:37;:89::i;:::-;10135:8;:121::i;:::-;-1:-1:-1;10270:4:0;9983:297;;;;;:::o;10286:200::-;5049:10;10366:4;10411:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10411:34:0;;;;;;;;;;10366:4;;10379:83;;10402:7;;10411:50;;10450:10;10411:38;:50::i;7275:97::-;5815:6;;-1:-1:-1;;;;;5815:6:0;5049:10;5815:22;5807:67;;;;-1:-1:-1;;;5807:67:0;;;;;;;:::i;:::-;;;;;;;;;7342:9:::1;:22:::0;;-1:-1:-1;;7342:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7275:97::o;6533:140::-;5815:6;;-1:-1:-1;;;;;5815:6:0;5049:10;5815:22;5807:67;;;;-1:-1:-1;;;5807:67:0;;;;;;;:::i;:::-;6632:1:::1;6616:6:::0;;6595:40:::1;::::0;-1:-1:-1;;;;;6616:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;6595:40:0;6632:1;;6595:40:::1;6663:1;6646:19:::0;;-1:-1:-1;;;;;;6646:19:0::1;::::0;;6533:140::o;9170:81::-;9209:13;9238:7;9231:14;;;;;:::i;10492:251::-;10577:4;10590:129;5049:10;10613:7;10622:96;10661:15;10622:96;;;;;;;;;;;;;;;;;5049:10;10622:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10622:34:0;;;;;;;;;;;;:38;:96::i;7844:284::-;7896:14;;-1:-1:-1;;;;;7896:14:0;7914:10;7896:28;7888:67;;;;-1:-1:-1;;;7888:67:0;;4903:2:1;7888:67:0;;;4885:21:1;4942:2;4922:18;;;4915:30;4981:28;4961:18;;;4954:56;5027:18;;7888:67:0;4875:176:1;7888:67:0;7992:9;;7974:15;:27;7966:60;;;;-1:-1:-1;;;7966:60:0;;6023:2:1;7966:60:0;;;6005:21:1;6062:2;6042:18;;;6035:30;-1:-1:-1;;;6081:18:1;;;6074:49;6140:18;;7966:60:0;5995:169:1;7966:60:0;8071:14;;;8063:6;;8042:44;;-1:-1:-1;;;;;8071:14:0;;;;8063:6;;;;-1:-1:-1;;;;;;;;;;;8042:44:0;;8106:14;;;8097:23;;-1:-1:-1;;;;;;8097:23:0;-1:-1:-1;;;;;8106:14:0;;;8097:23;;;;;;7844:284::o;9541:154::-;9610:4;9623:48;5049:10;9647:9;9658:6;9666:4;9623:9;:48::i;7546:226::-;5815:6;;-1:-1:-1;;;;;5815:6:0;5049:10;5815:22;5807:67;;;;-1:-1:-1;;;5807:67:0;;;;;;;:::i;:::-;7627:6:::1;::::0;;;7610:23;;-1:-1:-1;;;;;;7610:23:0;;::::1;-1:-1:-1::0;;;;;7627:6:0;::::1;7610:23;::::0;;;7644:19:::1;::::0;;7686:22:::1;7704:4:::0;7686:15:::1;:22;:::i;:::-;7674:9;:34:::0;7761:1:::1;7745:6:::0;;7724:40:::1;::::0;-1:-1:-1;;;;;7745:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;7724:40:0;7761:1;;7724:40:::1;7546:226:::0;:::o;6825:109::-;5815:6;;-1:-1:-1;;;;;5815:6:0;5049:10;5815:22;5807:67;;;;-1:-1:-1;;;5807:67:0;;;;;;;:::i;:::-;6898:28:::1;6917:8;6898:18;:28::i;:::-;6825:109:::0;:::o;11271:318::-;-1:-1:-1;;;;;11361:19:0;;11353:68;;;;-1:-1:-1;;;11353:68:0;;3735:2:1;11353:68:0;;;3717:21:1;3774:2;3754:18;;;3747:30;3813:34;3793:18;;;3786:62;-1:-1:-1;;;3864:18:1;;;3857:34;3908:19;;11353:68:0;3707:226:1;11353:68:0;-1:-1:-1;;;;;11436:21:0;;11428:68;;;;-1:-1:-1;;;11428:68:0;;6371:2:1;11428:68:0;;;6353:21:1;6410:2;6390:18;;;6383:30;6449:34;6429:18;;;6422:62;-1:-1:-1;;;6500:18:1;;;6493:32;6542:19;;11428:68:0;6343:224:1;11428:68:0;-1:-1:-1;;;;;11503:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11551:32;;6718:25:1;;;11551:32:0;;6691:18:1;11551:32:0;;;;;;;11271:318;;;:::o;10749:516::-;5980:9;;10864:6;;10872:9;;10883:10;;5980:9;;5977:188;;;-1:-1:-1;;;;;6009:18:0;;;;;;:47;;-1:-1:-1;6031:11:0;;-1:-1:-1;;;;;6031:11:0;:25;6009:47;:59;;;;;6061:7;6060:8;6009:59;6006:147;;;6070:11;:16;;-1:-1:-1;;;;;;6070:16:0;-1:-1:-1;;;;;6070:16:0;;;;;6006:147;;;6120:11;;-1:-1:-1;;;;;6114:17:0;;;6120:11;;6114:17;;6106:47;;;;-1:-1:-1;;;6106:47:0;;2983:2:1;6106:47:0;;;2965:21:1;3022:2;3002:18;;;2995:30;-1:-1:-1;;;3041:18:1;;;3034:47;3098:18;;6106:47:0;2955:167:1;6106:47:0;-1:-1:-1;;;;;10910:20:0;::::1;10902:70;;;::::0;-1:-1:-1;;;10902:70:0;;3329:2:1;10902:70:0::1;::::0;::::1;3311:21:1::0;3368:2;3348:18;;;3341:30;3407:34;3387:18;;;3380:62;-1:-1:-1;;;3458:18:1;;;3451:35;3503:19;;10902:70:0::1;3301:227:1::0;10902:70:0::1;-1:-1:-1::0;;;;;10987:23:0;::::1;10979:71;;;::::0;-1:-1:-1;;;10979:71:0;;5619:2:1;10979:71:0::1;::::0;::::1;5601:21:1::0;5658:2;5638:18;;;5631:30;5697:34;5677:18;;;5670:62;-1:-1:-1;;;5748:18:1;;;5741:33;5791:19;;10979:71:0::1;5591:225:1::0;10979:71:0::1;11079;11101:6;11079:71;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11079:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;:71;:21:::1;:71::i;:::-;-1:-1:-1::0;;;;;11059:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;:91;;;;11180:20;;::::1;::::0;;;;:32:::1;::::0;11205:6;11180:24:::1;:32::i;:::-;-1:-1:-1::0;;;;;11157:20:0;;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;:55;;;;11224:35;;;;::::1;::::0;::::1;::::0;::::1;::::0;11252:6;6718:25:1;;6706:2;6691:18;;6673:76;11224:35:0::1;;;;;;;;10749:516:::0;;;;;;;:::o;1122:178::-;1208:7;1240:12;1232:6;;;;1224:29;;;;-1:-1:-1;;;1224:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1260:9:0;1272:5;1276:1;1272;:5;:::i;:::-;1260:17;1122:178;-1:-1:-1;;;;;1122:178:0:o;295:167::-;353:7;;381:5;385:1;381;:5;:::i;:::-;369:17;;406:1;401;:6;;393:46;;;;-1:-1:-1;;;393:46:0;;4547:2:1;393:46:0;;;4529:21:1;4586:2;4566:18;;;4559:30;4625:29;4605:18;;;4598:57;4672:18;;393:46:0;4519:177:1;393:46:0;455:1;295:167;-1:-1:-1;;;295:167:0:o;7038:229::-;-1:-1:-1;;;;;7112:22:0;;7104:73;;;;-1:-1:-1;;;7104:73:0;;4140:2:1;7104:73:0;;;4122:21:1;4179:2;4159:18;;;4152:30;4218:34;4198:18;;;4191:62;-1:-1:-1;;;4269:18:1;;;4262:36;4315:19;;7104:73:0;4112:228:1;7104:73:0;7214:6;;;7193:38;;-1:-1:-1;;;;;7193:38:0;;;;7214:6;;;-1:-1:-1;;;;;;;;;;;7193:38:0;;7242:6;:17;;-1:-1:-1;;;;;;7242:17:0;-1:-1:-1;;;;;7242:17:0;;;;;;;;;;7038:229::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:196::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;393:270::-;461:6;469;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;745:6;753;761;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:264::-;1079:6;1087;1140:2;1128:9;1119:7;1115:23;1111:32;1108:2;;;1161:6;1153;1146:22;1108:2;1189:29;1208:9;1189:29;:::i;:::-;1179:39;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;1098:177:1:o;1280:293::-;1336:6;1389:2;1377:9;1368:7;1364:23;1360:32;1357:2;;;1410:6;1402;1395:22;1357:2;1454:9;1441:23;1507:5;1500:13;1493:21;1486:5;1483:32;1473:2;;1534:6;1526;1519:22;1578:190;1637:6;1690:2;1678:9;1669:7;1665:23;1661:32;1658:2;;;1711:6;1703;1696:22;1658:2;-1:-1:-1;1739:23:1;;1648:120;-1:-1:-1;1648:120:1:o;2173:603::-;2285:4;2314:2;2343;2332:9;2325:21;2375:6;2369:13;2418:6;2413:2;2402:9;2398:18;2391:34;2443:4;2456:140;2470:6;2467:1;2464:13;2456:140;;;2565:14;;;2561:23;;2555:30;2531:17;;;2550:2;2527:26;2520:66;2485:10;;2456:140;;;2614:6;2611:1;2608:13;2605:2;;;2684:4;2679:2;2670:6;2659:9;2655:22;2651:31;2644:45;2605:2;-1:-1:-1;2760:2:1;2739:15;-1:-1:-1;;2735:29:1;2720:45;;;;2767:2;2716:54;;2294:482;-1:-1:-1;;;2294:482:1:o;5056:356::-;5258:2;5240:21;;;5277:18;;;5270:30;5336:34;5331:2;5316:18;;5309:62;5403:2;5388:18;;5230:182::o;6943:128::-;6983:3;7014:1;7010:6;7007:1;7004:13;7001:2;;;7020:18;;:::i;:::-;-1:-1:-1;7056:9:1;;6991:80::o;7076:125::-;7116:4;7144:1;7141;7138:8;7135:2;;;7149:18;;:::i;:::-;-1:-1:-1;7186:9:1;;7125:76::o;7206:380::-;7285:1;7281:12;;;;7328;;;7349:2;;7403:4;7395:6;7391:17;7381:27;;7349:2;7456;7448:6;7445:14;7425:18;7422:38;7419:2;;;7502:10;7497:3;7493:20;7490:1;7483:31;7537:4;7534:1;7527:15;7565:4;7562:1;7555:15;7419:2;;7261:325;;;:::o;7591:127::-;7652:10;7647:3;7643:20;7640:1;7633:31;7683:4;7680:1;7673:15;7707:4;7704:1;7697:15

Swarm Source

ipfs://2b9b5af98e6cf270b09a73d813e25f2288f669931cc63b7d795a2d1542f0e783
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.