ETH Price: $2,682.41 (+2.00%)

Contract

0x8326645f3Aa6De6420102Fdb7Da9E3a91855045B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...135839712021-11-09 19:16:311191 days ago1636485391IN
0x8326645f...91855045B
0 ETH0.00413681144.49728664
Burn109392422020-09-26 16:15:151600 days ago1601136915IN
0x8326645f...91855045B
0 ETH0.0079591590
Burn108692382020-09-15 22:00:071611 days ago1600207207IN
0x8326645f...91855045B
0 ETH0.0103435100
Mint108636592020-09-15 1:30:501612 days ago1600133450IN
0x8326645f...91855045B
0 ETH0.0148348107
Mint108618382020-09-14 18:46:211612 days ago1600109181IN
0x8326645f...91855045B
0 ETH0.01261158102
Burn108611262020-09-14 16:07:391612 days ago1600099659IN
0x8326645f...91855045B
0 ETH0.01241364120
Burn108577082020-09-14 3:29:471613 days ago1600054187IN
0x8326645f...91855045B
0 ETH0.01148128111
Mint108568072020-09-14 0:05:351613 days ago1600041935IN
0x8326645f...91855045B
0 ETH0.0111278790
Mint108556212020-09-13 19:44:071613 days ago1600026247IN
0x8326645f...91855045B
0 ETH0.0097687479
Burn107875442020-09-03 9:31:311623 days ago1599125491IN
0x8326645f...91855045B
0 ETH0.02782401269
Burn107621322020-08-30 12:20:291627 days ago1598790029IN
0x8326645f...91855045B
0 ETH0.01241364120
Mint107609062020-08-30 7:39:251628 days ago1598773165IN
0x8326645f...91855045B
0 ETH0.04080615330
Burn103032462020-06-20 14:48:171698 days ago1592664497IN
0x8326645f...91855045B
0 ETH0.0025853631
Burn103032332020-06-20 14:46:151698 days ago1592664375IN
0x8326645f...91855045B
0 ETH0.0032061131
Mint103027722020-06-20 12:55:281698 days ago1592657728IN
0x8326645f...91855045B
0 ETH0.0022253518
Burn101556822020-05-28 17:47:321721 days ago1590688052IN
0x8326645f...91855045B
0 ETH0.002475528
Mint101553402020-05-28 16:38:021721 days ago1590683882IN
0x8326645f...91855045B
0 ETH0.0064169141
Mint101553362020-05-28 16:37:161721 days ago1590683836IN
0x8326645f...91855045B
0 ETH0.0239251841
Mint101552552020-05-28 16:19:351721 days ago1590682775IN
0x8326645f...91855045B
0 ETH0.0055442840
Burn100112472020-05-06 7:05:521744 days ago1588748752IN
0x8326645f...91855045B
0 ETH0.0016820911.5
Mint99552432020-04-27 15:13:211752 days ago1588000401IN
0x8326645f...91855045B
0 ETH0.0021640413
Set Target99552312020-04-27 15:10:201752 days ago1588000220IN
0x8326645f...91855045B
0 ETH0.0003508212
Burn99439812020-04-25 21:10:381754 days ago1587849038IN
0x8326645f...91855045B
0 ETH0.000169283
Burn99439812020-04-25 21:10:381754 days ago1587849038IN
0x8326645f...91855045B
0 ETH0.000483473
Mint99439642020-04-25 21:07:201754 days ago1587848840IN
0x8326645f...91855045B
0 ETH0.001753523
View all transactions

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
95019302020-02-17 17:27:371822 days ago1581960457
0x8326645f...91855045B
18.09066835 ETH
94962302020-02-16 20:03:051823 days ago1581883385
0x8326645f...91855045B
251.10171602 ETH
94695382020-02-12 17:34:541827 days ago1581528894
0x8326645f...91855045B
0.01965606 ETH
94662032020-02-12 5:07:571828 days ago1581484077
0x8326645f...91855045B
0.02228618 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LoanToken

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-02-10
*/

/**
 * Copyright 2017-2019, bZeroX, LLC. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0.
 */

pragma solidity 0.5.8;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * See https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address _who) public view returns (uint256);
  function transfer(address _to, uint256 _value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  function approve(address _spender, uint256 _value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

/**
 * @title EIP20/ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract EIP20 is ERC20 {
    string public name;
    uint8 public decimals;
    string public symbol;
}

contract WETHInterface is EIP20 {
    function deposit() external payable;
    function withdraw(uint256 wad) external;
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // assert(_b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
    return _a / _b;
  }

  /**
  * @dev Integer division of two numbers, rounding up and truncating the quotient
  */
  function divCeil(uint256 _a, uint256 _b) internal pure returns (uint256) {
    if (_a == 0) {
      return 0;
    }

    return ((_a - 1) / _b) + 1;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

/**
 * @title Helps contracts guard against reentrancy attacks.
 * @author Remco Bloemen <remco@2π.com>, Eenae <[email protected]>
 * @dev If you mark a function `nonReentrant`, you should also
 * mark it `external`.
 */
contract ReentrancyGuard {

  /// @dev Constant for unlocked guard state - non-zero to prevent extra gas costs.
  /// See: https://github.com/OpenZeppelin/openzeppelin-solidity/issues/1056
  uint256 internal constant REENTRANCY_GUARD_FREE = 1;

  /// @dev Constant for locked guard state
  uint256 internal constant REENTRANCY_GUARD_LOCKED = 2;

  /**
   * @dev We use a single lock for the whole contract.
   */
  uint256 internal reentrancyLock = REENTRANCY_GUARD_FREE;

  /**
   * @dev Prevents a contract from calling itself, directly or indirectly.
   * If you mark a function `nonReentrant`, you should also
   * mark it `external`. Calling one `nonReentrant` function from
   * another is not supported. Instead, you can implement a
   * `private` function doing the actual work, and an `external`
   * wrapper marked as `nonReentrant`.
   */
  modifier nonReentrant() {
    require(reentrancyLock == REENTRANCY_GUARD_FREE, "nonReentrant");
    reentrancyLock = REENTRANCY_GUARD_LOCKED;
    _;
    reentrancyLock = REENTRANCY_GUARD_FREE;
  }

}

contract LoanTokenization is ReentrancyGuard, Ownable {

    uint256 internal constant MAX_UINT = 2**256 - 1;

    string public name;
    string public symbol;
    uint8 public decimals;

    address public bZxContract;
    address public bZxVault;
    address public bZxOracle;
    address public wethContract;

    address public loanTokenAddress;

    // price of token at last user checkpoint
    mapping (address => uint256) internal checkpointPrices_;
}

contract LoanTokenStorage is LoanTokenization {

    struct ListIndex {
        uint256 index;
        bool isSet;
    }

    struct LoanData {
        bytes32 loanOrderHash;
        uint256 leverageAmount;
        uint256 initialMarginAmount;
        uint256 maintenanceMarginAmount;
        uint256 maxDurationUnixTimestampSec;
        uint256 index;
        uint256 marginPremiumAmount;
        address collateralTokenAddress;
    }

    struct TokenReserves {
        address lender;
        uint256 amount;
    }

    // topic: 0x86e15dd78cd784ab7788bcf5b96b9395e86030e048e5faedcfe752c700f6157e
    event Borrow(
        address indexed borrower,
        uint256 borrowAmount,
        uint256 interestRate,
        address collateralTokenAddress,
        address tradeTokenToFillAddress,
        bool withdrawOnOpen
    );

    // topic: 0x85dfc0033a3e5b3b9b3151bd779c1f9b855d66b83ff5bb79283b68d82e8e5b73
    event Repay(
        bytes32 indexed loanOrderHash,
        address indexed borrower,
        address closer,
        uint256 amount,
        bool isLiquidation
    );

    // topic: 0x68e1caf97c4c29c1ac46024e9590f80b7a1f690d393703879cf66eea4e1e8421
    event Claim(
        address indexed claimant,
        uint256 tokenAmount,
        uint256 assetAmount,
        uint256 remainingTokenAmount,
        uint256 price
    );

    bool internal isInitialized_ = false;

    address public tokenizedRegistry;

    uint256 public baseRate = 1000000000000000000; // 1.0%
    uint256 public rateMultiplier = 18750000000000000000; // 18.75%

    // slot addition (non-sequential): lowUtilBaseRate = 8000000000000000000; // 8.0%
    // slot addition (non-sequential): lowUtilRateMultiplier = 4750000000000000000; // 4.75%

    // "fee percentage retained by the oracle" = SafeMath.sub(10**20, spreadMultiplier);
    uint256 public spreadMultiplier;

    mapping (uint256 => bytes32) public loanOrderHashes; // mapping of levergeAmount to loanOrderHash
    mapping (bytes32 => LoanData) public loanOrderData; // mapping of loanOrderHash to LoanOrder
    uint256[] public leverageList;

    TokenReserves[] public burntTokenReserveList; // array of TokenReserves
    mapping (address => ListIndex) public burntTokenReserveListIndex; // mapping of lender address to ListIndex objects
    uint256 public burntTokenReserved; // total outstanding burnt token amount
    address internal nextOwedLender_;

    uint256 public totalAssetBorrow; // current amount of loan token amount tied up in loans

    uint256 public checkpointSupply;

    uint256 internal lastSettleTime_;

    uint256 public initialPrice;
}

contract AdvancedTokenStorage is LoanTokenStorage {
    using SafeMath for uint256;

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 value
    );
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Mint(
        address indexed minter,
        uint256 tokenAmount,
        uint256 assetAmount,
        uint256 price
    );
    event Burn(
        address indexed burner,
        uint256 tokenAmount,
        uint256 assetAmount,
        uint256 price
    );

    mapping(address => uint256) internal balances;
    mapping (address => mapping (address => uint256)) internal allowed;
    uint256 internal totalSupply_;

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

    function balanceOf(
        address _owner)
        public
        view
        returns (uint256)
    {
        return balances[_owner];
    }

    function allowance(
        address _owner,
        address _spender)
        public
        view
        returns (uint256)
    {
        return allowed[_owner][_spender];
    }
}

contract LoanToken is AdvancedTokenStorage {

    address internal target_;

    constructor(
        address _newTarget)
        public
    {
        _setTarget(_newTarget);
    }

    function()
        external
        payable
    {
        if (gasleft() <= 2300) {
            return;
        }

        address target = target_;
        bytes memory data = msg.data;
        assembly {
            let result := delegatecall(gas, target, add(data, 0x20), mload(data), 0, 0)
            let size := returndatasize
            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)
            switch result
            case 0 { revert(ptr, size) }
            default { return(ptr, size) }
        }
    }

    function setTarget(
        address _newTarget)
        public
        onlyOwner
    {
        _setTarget(_newTarget);
    }

    function _setTarget(
        address _newTarget)
        internal
    {
        require(_isContract(_newTarget), "target not a contract");
        target_ = _newTarget;
    }

    function _isContract(
        address addr)
        internal
        view
        returns (bool)
    {
        uint256 size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burntTokenReserved","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"baseRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalAssetBorrow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"loanOrderData","outputs":[{"name":"loanOrderHash","type":"bytes32"},{"name":"leverageAmount","type":"uint256"},{"name":"initialMarginAmount","type":"uint256"},{"name":"maintenanceMarginAmount","type":"uint256"},{"name":"maxDurationUnixTimestampSec","type":"uint256"},{"name":"index","type":"uint256"},{"name":"marginPremiumAmount","type":"uint256"},{"name":"collateralTokenAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateMultiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wethContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenizedRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newTarget","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"burntTokenReserveList","outputs":[{"name":"lender","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loanTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"checkpointSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxOracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"leverageList","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"spreadMultiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"burntTokenReserveListIndex","outputs":[{"name":"index","type":"uint256"},{"name":"isSet","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"loanOrderHashes","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_newTarget","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"assetAmount","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"assetAmount","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"borrower","type":"address"},{"indexed":false,"name":"borrowAmount","type":"uint256"},{"indexed":false,"name":"interestRate","type":"uint256"},{"indexed":false,"name":"collateralTokenAddress","type":"address"},{"indexed":false,"name":"tradeTokenToFillAddress","type":"address"},{"indexed":false,"name":"withdrawOnOpen","type":"bool"}],"name":"Borrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"borrower","type":"address"},{"indexed":false,"name":"closer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"isLiquidation","type":"bool"}],"name":"Repay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"claimant","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"assetAmount","type":"uint256"},{"indexed":false,"name":"remainingTokenAmount","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526001600055600a805460ff19169055670de0b6b3a7640000600b556801043561a882930000600c5534801561003857600080fd5b50604051602080610bbb8339810180604052602081101561005857600080fd5b5051600180546001600160a01b0319163317905561007c81610082602090811b901c565b50610124565b6100918161011e60201b60201c565b6100fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b610a88806101336000396000f3fe60806040526004361061019c5760003560e01c80637866c6c1116100ec578063995363d31161008a578063dd62ed3e11610064578063dd62ed3e1461059c578063f2fde38b146105d7578063fbd9574d1461060a578063fe056342146106565761019c565b8063995363d3146105485780639b3a54d11461055d578063d84d2a47146105875761019c565b8063894ca308116100c6578063894ca308146104f45780638da5cb5b1461050957806395d89b411461051e57806396c7871b146105335761019c565b80637866c6c11461047d578063797bf385146104ca5780637b7933b4146104df5761019c565b80632515aacd116101595780634780eac1116101335780634780eac1146103d157806370a0823114610402578063736ee3d314610435578063776d1a011461044a5761019c565b80632515aacd1461031d578063313ce56714610391578063330691ac146103bc5761019c565b806306fdde03146102185780630c4925fd146102a257806318160ddd146102c95780631d0806ae146102de5780631f68f20a146102f357806320f6d07c14610308575b6108fc5a116101aa57610216565b601c5460408051602036601f81018290048202830182019093528282526001600160a01b039093169260609260009181908401838280828437600092018290525084519495509384935091505060208401855af43d604051816000823e828015610212578282f35b8282fd5b005b34801561022457600080fd5b5061022d610680565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ae57600080fd5b506102b761070b565b60408051918252519081900360200190f35b3480156102d557600080fd5b506102b7610711565b3480156102ea57600080fd5b506102b7610717565b3480156102ff57600080fd5b506102b761071d565b34801561031457600080fd5b506102b7610723565b34801561032957600080fd5b506103476004803603602081101561034057600080fd5b5035610729565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c08401526001600160a01b031660e083015251908190036101000190f35b34801561039d57600080fd5b506103a6610775565b6040805160ff9092168252519081900360200190f35b3480156103c857600080fd5b506102b761077e565b3480156103dd57600080fd5b506103e6610784565b604080516001600160a01b039092168252519081900360200190f35b34801561040e57600080fd5b506102b76004803603602081101561042557600080fd5b50356001600160a01b0316610793565b34801561044157600080fd5b506103e66107ae565b34801561045657600080fd5b506102166004803603602081101561046d57600080fd5b50356001600160a01b03166107c2565b34801561048957600080fd5b506104a7600480360360208110156104a057600080fd5b50356107e5565b604080516001600160a01b03909316835260208301919091528051918290030190f35b3480156104d657600080fd5b506103e661081a565b3480156104eb57600080fd5b506102b7610829565b34801561050057600080fd5b506103e661082f565b34801561051557600080fd5b506103e661083e565b34801561052a57600080fd5b5061022d61084d565b34801561053f57600080fd5b506103e66108a8565b34801561055457600080fd5b506103e66108b7565b34801561056957600080fd5b506102b76004803603602081101561058057600080fd5b50356108cb565b34801561059357600080fd5b506102b76108e9565b3480156105a857600080fd5b506102b7600480360360408110156105bf57600080fd5b506001600160a01b03813581169160200135166108ef565b3480156105e357600080fd5b50610216600480360360208110156105fa57600080fd5b50356001600160a01b031661091a565b34801561061657600080fd5b5061063d6004803603602081101561062d57600080fd5b50356001600160a01b031661093a565b6040805192835290151560208301528051918290030190f35b34801561066257600080fd5b506102b76004803603602081101561067957600080fd5b5035610956565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b505050505081565b60135481565b601b5490565b60185481565b600b5481565b60155481565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007909701549596949593949293919290916001600160a01b031688565b60045460ff1681565b600c5481565b6007546001600160a01b031681565b6001600160a01b031660009081526019602052604090205490565b600a5461010090046001600160a01b031681565b6001546001600160a01b031633146107d957600080fd5b6107e281610968565b50565b601181815481106107f257fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6008546001600160a01b031681565b60165481565b6005546001600160a01b031681565b6001546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107035780601f106106d857610100808354040283529160200191610703565b6006546001600160a01b031681565b60045461010090046001600160a01b031681565b601081815481106108d857fe5b600091825260209091200154905081565b600d5481565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b6001546001600160a01b0316331461093157600080fd5b6107e2816109e7565b6012602052600090815260409020805460019091015460ff1682565b600e6020526000908152604090205481565b61097181610a56565b6109c55760408051600160e51b62461bcd02815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166109fa57600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b15159056fea165627a7a72305820b686411f532091c2a4e762f52658ce1de1fab9d19772a43c196b739511aedc290029000000000000000000000000f945189f46f84cff21cf6b9d19e5248138618fa9

Deployed Bytecode

0x60806040526004361061019c5760003560e01c80637866c6c1116100ec578063995363d31161008a578063dd62ed3e11610064578063dd62ed3e1461059c578063f2fde38b146105d7578063fbd9574d1461060a578063fe056342146106565761019c565b8063995363d3146105485780639b3a54d11461055d578063d84d2a47146105875761019c565b8063894ca308116100c6578063894ca308146104f45780638da5cb5b1461050957806395d89b411461051e57806396c7871b146105335761019c565b80637866c6c11461047d578063797bf385146104ca5780637b7933b4146104df5761019c565b80632515aacd116101595780634780eac1116101335780634780eac1146103d157806370a0823114610402578063736ee3d314610435578063776d1a011461044a5761019c565b80632515aacd1461031d578063313ce56714610391578063330691ac146103bc5761019c565b806306fdde03146102185780630c4925fd146102a257806318160ddd146102c95780631d0806ae146102de5780631f68f20a146102f357806320f6d07c14610308575b6108fc5a116101aa57610216565b601c5460408051602036601f81018290048202830182019093528282526001600160a01b039093169260609260009181908401838280828437600092018290525084519495509384935091505060208401855af43d604051816000823e828015610212578282f35b8282fd5b005b34801561022457600080fd5b5061022d610680565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ae57600080fd5b506102b761070b565b60408051918252519081900360200190f35b3480156102d557600080fd5b506102b7610711565b3480156102ea57600080fd5b506102b7610717565b3480156102ff57600080fd5b506102b761071d565b34801561031457600080fd5b506102b7610723565b34801561032957600080fd5b506103476004803603602081101561034057600080fd5b5035610729565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c08401526001600160a01b031660e083015251908190036101000190f35b34801561039d57600080fd5b506103a6610775565b6040805160ff9092168252519081900360200190f35b3480156103c857600080fd5b506102b761077e565b3480156103dd57600080fd5b506103e6610784565b604080516001600160a01b039092168252519081900360200190f35b34801561040e57600080fd5b506102b76004803603602081101561042557600080fd5b50356001600160a01b0316610793565b34801561044157600080fd5b506103e66107ae565b34801561045657600080fd5b506102166004803603602081101561046d57600080fd5b50356001600160a01b03166107c2565b34801561048957600080fd5b506104a7600480360360208110156104a057600080fd5b50356107e5565b604080516001600160a01b03909316835260208301919091528051918290030190f35b3480156104d657600080fd5b506103e661081a565b3480156104eb57600080fd5b506102b7610829565b34801561050057600080fd5b506103e661082f565b34801561051557600080fd5b506103e661083e565b34801561052a57600080fd5b5061022d61084d565b34801561053f57600080fd5b506103e66108a8565b34801561055457600080fd5b506103e66108b7565b34801561056957600080fd5b506102b76004803603602081101561058057600080fd5b50356108cb565b34801561059357600080fd5b506102b76108e9565b3480156105a857600080fd5b506102b7600480360360408110156105bf57600080fd5b506001600160a01b03813581169160200135166108ef565b3480156105e357600080fd5b50610216600480360360208110156105fa57600080fd5b50356001600160a01b031661091a565b34801561061657600080fd5b5061063d6004803603602081101561062d57600080fd5b50356001600160a01b031661093a565b6040805192835290151560208301528051918290030190f35b34801561066257600080fd5b506102b76004803603602081101561067957600080fd5b5035610956565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b505050505081565b60135481565b601b5490565b60185481565b600b5481565b60155481565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007909701549596949593949293919290916001600160a01b031688565b60045460ff1681565b600c5481565b6007546001600160a01b031681565b6001600160a01b031660009081526019602052604090205490565b600a5461010090046001600160a01b031681565b6001546001600160a01b031633146107d957600080fd5b6107e281610968565b50565b601181815481106107f257fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6008546001600160a01b031681565b60165481565b6005546001600160a01b031681565b6001546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107035780601f106106d857610100808354040283529160200191610703565b6006546001600160a01b031681565b60045461010090046001600160a01b031681565b601081815481106108d857fe5b600091825260209091200154905081565b600d5481565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b6001546001600160a01b0316331461093157600080fd5b6107e2816109e7565b6012602052600090815260409020805460019091015460ff1682565b600e6020526000908152604090205481565b61097181610a56565b6109c55760408051600160e51b62461bcd02815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166109fa57600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b15159056fea165627a7a72305820b686411f532091c2a4e762f52658ce1de1fab9d19772a43c196b739511aedc290029

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

000000000000000000000000f945189f46f84cff21cf6b9d19e5248138618fa9

-----Decoded View---------------
Arg [0] : _newTarget (address): 0xf945189F46f84CFF21cf6b9d19E5248138618Fa9

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f945189f46f84cff21cf6b9d19e5248138618fa9


Deployed Bytecode Sourcemap

10089:1296:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10365:4;10352:9;:17;10348:56;;10386:7;;10348:56;10433:7;;10451:28;;;;10471:8;10451:28;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10433:7:0;;;;10451:17;;-1:-1:-1;;10471:8:0;;10451:28;;-1:-1:-1;10471:8:0;;-1:-1:-1;10451:28:0;1:33:-1;99:1;81:16;;74:27;;;-1:-1;10571:11:0;;10451:28;;-1:-1:-1;99:1;;;-1:-1;10571:11:0;-1:-1:-1;;10564:4:0;10554:15;;10546:6;10541:3;10528:61;10615:14;10660:4;10654:11;10702:4;10699:1;10694:3;10679:28;10728:6;10748:28;;;;10812:4;10807:3;10800:17;10748:28;10769:4;10764:3;10757:17;10499:331;10089:1296;5782:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5782:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5782:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8507:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8507:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;9609:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9609:123:0;;;:::i;8805:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8805:27:0;;;:::i;7626:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7626:45:0;;;:::i;8628:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8628:31:0;;;:::i;8173:50::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8173:50:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8173:50:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8173:50:0;;;;;;;;;;;;;;5834:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5834:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7686:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7686:52:0;;;:::i;5958:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5958:27:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5958:27:0;;;;;;;;;;;;;;9740:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9740:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9740:149:0;-1:-1:-1;;;;;9740:149:0;;:::i;7585:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7585:32:0;;;:::i;10845:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10845:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10845:130:0;-1:-1:-1;;;;;10845:130:0;;:::i;8309:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8309:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8309:44:0;;:::i;:::-;;;;-1:-1:-1;;;;;8309:44:0;;;;;;;;;;;;;;;;;;;;;5994:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5994:31:0;;;:::i;8724:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8724:31:0;;;:::i;5897:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5897:23:0;;;:::i;3291:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3291:20:0;;;:::i;5807:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5807:20:0;;;:::i;5927:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5927:24:0;;;:::i;5864:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5864:26:0;;;:::i;8271:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8271:29:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8271:29:0;;:::i;8030:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8030:31:0;;;:::i;9897:185::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9897:185:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9897:185:0;;;;;;;;;;:::i;3922:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3922:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3922:105:0;-1:-1:-1;;;;;3922:105:0;;:::i;8386:64::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8386:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8386:64:0;-1:-1:-1;;;;;8386:64:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8070:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8070:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8070:51:0;;:::i;5782:18::-;;;;;;;;;;;;;;-1:-1:-1;;5782:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8507:33::-;;;;:::o;9609:123::-;9712:12;;9609:123;:::o;8805:27::-;;;;:::o;7626:45::-;;;;:::o;8628:31::-;;;;:::o;8173:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8173:50:0;;:::o;5834:21::-;;;;;;:::o;7686:52::-;;;;:::o;5958:27::-;;;-1:-1:-1;;;;;5958:27:0;;:::o;9740:149::-;-1:-1:-1;;;;;9865:16:0;9833:7;9865:16;;;:8;:16;;;;;;;9740:149::o;7585:32::-;;;;;;-1:-1:-1;;;;;7585:32:0;;:::o;10845:130::-;3734:5;;-1:-1:-1;;;;;3734:5:0;3720:10;:19;3712:28;;;;;;10945:22;10956:10;10945;:22::i;:::-;10845:130;:::o;8309:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8309:44:0;;;;-1:-1:-1;8309:44:0;:::o;5994:31::-;;;-1:-1:-1;;;;;5994:31:0;;:::o;8724:::-;;;;:::o;5897:23::-;;;-1:-1:-1;;;;;5897:23:0;;:::o;3291:20::-;;;-1:-1:-1;;;;;3291:20:0;;:::o;5807:::-;;;;;;;;;;;;;;;-1:-1:-1;;5807:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:24;;;-1:-1:-1;;;;;5927:24:0;;:::o;5864:26::-;;;;;;-1:-1:-1;;;;;5864:26:0;;:::o;8271:29::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8271:29:0;:::o;8030:31::-;;;;:::o;9897:185::-;-1:-1:-1;;;;;10049:15:0;;;10017:7;10049:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;9897:185::o;3922:105::-;3734:5;;-1:-1:-1;;;;;3734:5:0;3720:10;:19;3712:28;;;;;;3992:29;4011:9;3992:18;:29::i;8386:64::-;;;;;;;;;;;;;;;;;;;;;:::o;8070:51::-;;;;;;;;;;;;;:::o;10983:180::-;11075:23;11087:10;11075:11;:23::i;:::-;11067:57;;;;;-1:-1:-1;;;;;11067:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11135:7;:20;;-1:-1:-1;;;;;;11135:20:0;-1:-1:-1;;;;;11135:20:0;;;;;;;;;;10983:180::o;4168:175::-;-1:-1:-1;;;;;4239:23:0;;4231:32;;;;;;4296:5;;4275:38;;-1:-1:-1;;;;;4275:38:0;;;;4296:5;;4275:38;;4296:5;;4275:38;4320:5;:17;;-1:-1:-1;;;;;;4320:17:0;-1:-1:-1;;;;;4320:17:0;;;;;;;;;;4168:175::o;11171:211::-;11330:17;11366:8;;;11171:211::o

Swarm Source

bzzr://b686411f532091c2a4e762f52658ce1de1fab9d19772a43c196b739511aedc29

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  ]
[ 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.