ETH Price: $3,323.69 (-1.10%)

Contract

0x14094949152EDDBFcd073717200DA82fEd8dC960
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve205018632024-08-11 0:42:11139 days ago1723336931IN
bZx SAI iToken
0 ETH0.000023640.87108262
Approve205018502024-08-11 0:39:35139 days ago1723336775IN
bZx SAI iToken
0 ETH0.000023280.85773071
Transfer127078172021-06-26 5:32:411280 days ago1624685561IN
bZx SAI iToken
0 ETH0.000162166.00000145
0x9f008616126197922021-06-12 13:04:081294 days ago1623503048IN
bZx SAI iToken
0 ETH0.0011422122
Set Target126197822021-06-12 13:00:521294 days ago1623502852IN
bZx SAI iToken
0 ETH0.0003796212
Burn118840852021-02-19 0:33:281408 days ago1613694808IN
bZx SAI iToken
0 ETH0.01127885115
Burn115435972020-12-28 16:46:041460 days ago1609173964IN
bZx SAI iToken
0 ETH0.0136327139
Transfer113842652020-12-04 5:32:571484 days ago1607059977IN
bZx SAI iToken
0 ETH00
Approve111185612020-10-24 10:39:211525 days ago1603535961IN
bZx SAI iToken
0 ETH0.0014918432
Approve110005882020-10-06 6:29:391543 days ago1601965779IN
bZx SAI iToken
0 ETH0.0007760647.00000156
Burn109842462020-10-03 17:17:281546 days ago1601745448IN
bZx SAI iToken
0 ETH0.0074769390
Transfer109461452020-09-27 18:12:311552 days ago1601230351IN
bZx SAI iToken
0 ETH0.00340989134
Burn109418752020-09-27 2:13:411553 days ago1601172821IN
bZx SAI iToken
0 ETH0.0033204761
Burn109418752020-09-27 2:13:411553 days ago1601172821IN
bZx SAI iToken
0 ETH0.0053942355
Transfer109366722020-09-26 6:38:211553 days ago1601102301IN
bZx SAI iToken
0 ETH0.0014250356
Approve109155012020-09-23 0:22:101557 days ago1600820530IN
bZx SAI iToken
0 ETH0.0033296171
Burn108821012020-09-17 21:17:051562 days ago1600377425IN
bZx SAI iToken
0 ETH0.02314096488
Burn108692252020-09-15 21:57:341564 days ago1600207054IN
bZx SAI iToken
0 ETH0.0069634671
Burn108692172020-09-15 21:56:001564 days ago1600206960IN
bZx SAI iToken
0 ETH0.00314475105
Approve108430532020-09-11 21:32:251568 days ago1599859945IN
bZx SAI iToken
0 ETH0.0038923683
Burn107579412020-08-29 20:50:201581 days ago1598734220IN
bZx SAI iToken
0 ETH0.0068653970
Burn107321092020-08-25 21:44:501585 days ago1598391890IN
bZx SAI iToken
0 ETH0.0047353857
Burn107293362020-08-25 11:32:301585 days ago1598355150IN
bZx SAI iToken
0 ETH0.0057865459
Burn107036892020-08-21 12:54:481589 days ago1598014488IN
bZx SAI iToken
0 ETH0.0162834200
Burn107036722020-08-21 12:51:261589 days ago1598014286IN
bZx SAI iToken
0 ETH0.0162834200
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
205018632024-08-11 0:42:11139 days ago1723336931
0x14094949...fEd8dC960
0 ETH
205018632024-08-11 0:42:11139 days ago1723336931
0x14094949...fEd8dC960
0 ETH
205018632024-08-11 0:42:11139 days ago1723336931
0x14094949...fEd8dC960
0 ETH
205018502024-08-11 0:39:35139 days ago1723336775
0x14094949...fEd8dC960
0 ETH
205018502024-08-11 0:39:35139 days ago1723336775
0x14094949...fEd8dC960
0 ETH
205018502024-08-11 0:39:35139 days ago1723336775
0x14094949...fEd8dC960
0 ETH
127078172021-06-26 5:32:411280 days ago1624685561
0x14094949...fEd8dC960
0 ETH
126197922021-06-12 13:04:081294 days ago1623503048
0x14094949...fEd8dC960
0 ETH
126197922021-06-12 13:04:081294 days ago1623503048
0x14094949...fEd8dC960
0 ETH
126197922021-06-12 13:04:081294 days ago1623503048
0x14094949...fEd8dC960
0 ETH
118840852021-02-19 0:33:281408 days ago1613694808
0x14094949...fEd8dC960
0 ETH
118840852021-02-19 0:33:281408 days ago1613694808
0x14094949...fEd8dC960
0 ETH
118840852021-02-19 0:33:281408 days ago1613694808
0x14094949...fEd8dC960
0 ETH
118840852021-02-19 0:33:281408 days ago1613694808
0x14094949...fEd8dC960
0 ETH
118840852021-02-19 0:33:281408 days ago1613694808
0x14094949...fEd8dC960
0 ETH
118149312021-02-08 9:16:191418 days ago1612775779
0x14094949...fEd8dC960
0 ETH
115435972020-12-28 16:46:041460 days ago1609173964
0x14094949...fEd8dC960
0 ETH
115435972020-12-28 16:46:041460 days ago1609173964
0x14094949...fEd8dC960
0 ETH
115435972020-12-28 16:46:041460 days ago1609173964
0x14094949...fEd8dC960
0 ETH
115435972020-12-28 16:46:041460 days ago1609173964
0x14094949...fEd8dC960
0 ETH
115435972020-12-28 16:46:041460 days ago1609173964
0x14094949...fEd8dC960
0 ETH
113842652020-12-04 5:32:571484 days ago1607059977
0x14094949...fEd8dC960
0 ETH
113842652020-12-04 5:32:571484 days ago1607059977
0x14094949...fEd8dC960
0 ETH
113842652020-12-04 5:32:571484 days ago1607059977
0x14094949...fEd8dC960
0 ETH
111185712020-10-24 10:41:101525 days ago1603536070
0x14094949...fEd8dC960
0 ETH
View All Internal Transactions
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
/**
 *Submitted for verification at Etherscan.io on 2019-05-31
*/

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

contract WETHInterface is ERC20 {
    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;
    }

    struct TokenReserves {
        address lender;
        uint256 amount;
    }

    event Borrow(
        address indexed borrower,
        uint256 borrowAmount,
        uint256 interestRate,
        address collateralTokenAddress,
        address tradeTokenToFillAddress,
        bool withdrawOnOpen
    );

    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 = 39000000000000000000; // 39%

    // "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 = 0; // current amount of loan token amount tied up in loans

    uint256 internal 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
    {
        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"}],"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":"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":"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"}]

608060405260016000908155600a805460ff19169055670de0b6b3a7640000600b5568021d3bd55e803c0000600c5560155534801561003d57600080fd5b50604051602080610b4e8339810180604052602081101561005d57600080fd5b5051600180546001600160a01b0319163317905561008181610087602090811b901c565b50610129565b6100968161012360201b60201c565b61010157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b610a16806101386000396000f3fe6080604052600436106101815760003560e01c80637866c6c1116100d1578063995363d31161008a578063dd62ed3e11610064578063dd62ed3e14610547578063f2fde38b14610582578063fbd9574d146105b5578063fe0563421461060157610181565b8063995363d3146104f35780639b3a54d114610508578063d84d2a471461053257610181565b80637866c6c11461043d578063797bf3851461048a578063894ca3081461049f5780638da5cb5b146104b457806395d89b41146104c957806396c7871b146104de57610181565b80632515aacd1161013e5780634780eac1116101185780634780eac11461038f57806370a08231146103c0578063736ee3d3146103f3578063776d1a011461040857610181565b80632515aacd146102f2578063313ce5671461034f578063330691ac1461037a57610181565b806306fdde03146101ed5780630c4925fd1461027757806318160ddd1461029e5780631d0806ae146102b35780631f68f20a146102c857806320f6d07c146102dd575b601c5460408051602036601f81018290048202830182019093528282526001600160a01b039093169260609260009181908401838280828437600092018290525084519495509384935091505060208401855af43d604051816000823e8280156101e9578282f35b8282fd5b3480156101f957600080fd5b5061020261062b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028357600080fd5b5061028c6106b6565b60408051918252519081900360200190f35b3480156102aa57600080fd5b5061028c6106bc565b3480156102bf57600080fd5b5061028c6106c2565b3480156102d457600080fd5b5061028c6106c8565b3480156102e957600080fd5b5061028c6106ce565b3480156102fe57600080fd5b5061031c6004803603602081101561031557600080fd5b50356106d4565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561035b57600080fd5b50610364610709565b6040805160ff9092168252519081900360200190f35b34801561038657600080fd5b5061028c610712565b34801561039b57600080fd5b506103a4610718565b604080516001600160a01b039092168252519081900360200190f35b3480156103cc57600080fd5b5061028c600480360360208110156103e357600080fd5b50356001600160a01b0316610727565b3480156103ff57600080fd5b506103a4610742565b34801561041457600080fd5b5061043b6004803603602081101561042b57600080fd5b50356001600160a01b0316610756565b005b34801561044957600080fd5b506104676004803603602081101561046057600080fd5b5035610779565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561049657600080fd5b506103a46107ae565b3480156104ab57600080fd5b506103a46107bd565b3480156104c057600080fd5b506103a46107cc565b3480156104d557600080fd5b506102026107db565b3480156104ea57600080fd5b506103a4610836565b3480156104ff57600080fd5b506103a4610845565b34801561051457600080fd5b5061028c6004803603602081101561052b57600080fd5b5035610859565b34801561053e57600080fd5b5061028c610877565b34801561055357600080fd5b5061028c6004803603604081101561056a57600080fd5b506001600160a01b038135811691602001351661087d565b34801561058e57600080fd5b5061043b600480360360208110156105a557600080fd5b50356001600160a01b03166108a8565b3480156105c157600080fd5b506105e8600480360360208110156105d857600080fd5b50356001600160a01b03166108c8565b6040805192835290151560208301528051918290030190f35b34801561060d57600080fd5b5061028c6004803603602081101561062457600080fd5b50356108e4565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106ae5780601f10610683576101008083540402835291602001916106ae565b820191906000526020600020905b81548152906001019060200180831161069157829003601f168201915b505050505081565b60135481565b601b5490565b60185481565b600b5481565b60155481565b600f60205260009081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b60045460ff1681565b600c5481565b6007546001600160a01b031681565b6001600160a01b031660009081526019602052604090205490565b600a5461010090046001600160a01b031681565b6001546001600160a01b0316331461076d57600080fd5b610776816108f6565b50565b6011818154811061078657fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6008546001600160a01b031681565b6005546001600160a01b031681565b6001546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ae5780601f10610683576101008083540402835291602001916106ae565b6006546001600160a01b031681565b60045461010090046001600160a01b031681565b6010818154811061086657fe5b600091825260209091200154905081565b600d5481565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b6001546001600160a01b031633146108bf57600080fd5b61077681610975565b6012602052600090815260409020805460019091015460ff1682565b600e6020526000908152604090205481565b6108ff816109e4565b6109535760408051600160e51b62461bcd02815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661098857600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b15159056fea165627a7a723058208c31930370b9c7e30822ed6d45e4affdd3e7c4a5a7fe620cfb6ef4c9d0ca6db0002900000000000000000000000047108548ccf9f9d06d20bb34af8deca5d4ad2ab6

Deployed Bytecode

0x6080604052600436106101815760003560e01c80637866c6c1116100d1578063995363d31161008a578063dd62ed3e11610064578063dd62ed3e14610547578063f2fde38b14610582578063fbd9574d146105b5578063fe0563421461060157610181565b8063995363d3146104f35780639b3a54d114610508578063d84d2a471461053257610181565b80637866c6c11461043d578063797bf3851461048a578063894ca3081461049f5780638da5cb5b146104b457806395d89b41146104c957806396c7871b146104de57610181565b80632515aacd1161013e5780634780eac1116101185780634780eac11461038f57806370a08231146103c0578063736ee3d3146103f3578063776d1a011461040857610181565b80632515aacd146102f2578063313ce5671461034f578063330691ac1461037a57610181565b806306fdde03146101ed5780630c4925fd1461027757806318160ddd1461029e5780631d0806ae146102b35780631f68f20a146102c857806320f6d07c146102dd575b601c5460408051602036601f81018290048202830182019093528282526001600160a01b039093169260609260009181908401838280828437600092018290525084519495509384935091505060208401855af43d604051816000823e8280156101e9578282f35b8282fd5b3480156101f957600080fd5b5061020261062b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028357600080fd5b5061028c6106b6565b60408051918252519081900360200190f35b3480156102aa57600080fd5b5061028c6106bc565b3480156102bf57600080fd5b5061028c6106c2565b3480156102d457600080fd5b5061028c6106c8565b3480156102e957600080fd5b5061028c6106ce565b3480156102fe57600080fd5b5061031c6004803603602081101561031557600080fd5b50356106d4565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561035b57600080fd5b50610364610709565b6040805160ff9092168252519081900360200190f35b34801561038657600080fd5b5061028c610712565b34801561039b57600080fd5b506103a4610718565b604080516001600160a01b039092168252519081900360200190f35b3480156103cc57600080fd5b5061028c600480360360208110156103e357600080fd5b50356001600160a01b0316610727565b3480156103ff57600080fd5b506103a4610742565b34801561041457600080fd5b5061043b6004803603602081101561042b57600080fd5b50356001600160a01b0316610756565b005b34801561044957600080fd5b506104676004803603602081101561046057600080fd5b5035610779565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561049657600080fd5b506103a46107ae565b3480156104ab57600080fd5b506103a46107bd565b3480156104c057600080fd5b506103a46107cc565b3480156104d557600080fd5b506102026107db565b3480156104ea57600080fd5b506103a4610836565b3480156104ff57600080fd5b506103a4610845565b34801561051457600080fd5b5061028c6004803603602081101561052b57600080fd5b5035610859565b34801561053e57600080fd5b5061028c610877565b34801561055357600080fd5b5061028c6004803603604081101561056a57600080fd5b506001600160a01b038135811691602001351661087d565b34801561058e57600080fd5b5061043b600480360360208110156105a557600080fd5b50356001600160a01b03166108a8565b3480156105c157600080fd5b506105e8600480360360208110156105d857600080fd5b50356001600160a01b03166108c8565b6040805192835290151560208301528051918290030190f35b34801561060d57600080fd5b5061028c6004803603602081101561062457600080fd5b50356108e4565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106ae5780601f10610683576101008083540402835291602001916106ae565b820191906000526020600020905b81548152906001019060200180831161069157829003601f168201915b505050505081565b60135481565b601b5490565b60185481565b600b5481565b60155481565b600f60205260009081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b60045460ff1681565b600c5481565b6007546001600160a01b031681565b6001600160a01b031660009081526019602052604090205490565b600a5461010090046001600160a01b031681565b6001546001600160a01b0316331461076d57600080fd5b610776816108f6565b50565b6011818154811061078657fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6008546001600160a01b031681565b6005546001600160a01b031681565b6001546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ae5780601f10610683576101008083540402835291602001916106ae565b6006546001600160a01b031681565b60045461010090046001600160a01b031681565b6010818154811061086657fe5b600091825260209091200154905081565b600d5481565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b6001546001600160a01b031633146108bf57600080fd5b61077681610975565b6012602052600090815260409020805460019091015460ff1682565b600e6020526000908152604090205481565b6108ff816109e4565b6109535760408051600160e51b62461bcd02815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661098857600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b15159056fea165627a7a723058208c31930370b9c7e30822ed6d45e4affdd3e7c4a5a7fe620cfb6ef4c9d0ca6db00029

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

00000000000000000000000047108548ccf9f9d06d20bb34af8deca5d4ad2ab6

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000047108548ccf9f9d06d20bb34af8deca5d4ad2ab6


Deployed Bytecode Sourcemap

9194:1228:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9470:7;;9488:28;;;;9508:8;9488:28;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9470:7:0;;;;9488:17;;-1:-1:-1;;9508:8:0;;9488:28;;-1:-1:-1;9508:8:0;;-1:-1:-1;9488:28:0;1:33:-1;99:1;81:16;;74:27;;;-1:-1;9608:11:0;;9488:28;;-1:-1:-1;99:1;;;-1:-1;9608:11:0;-1:-1:-1;;9601:4:0;9591:15;;9583:6;9578:3;9565:61;9652:14;9697:4;9691:11;9739:4;9736:1;9731:3;9716:28;9765:6;9785:28;;;;9849:4;9844:3;9837:17;9785:28;9806:4;9801:3;9794:17;5572:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5572: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;5572:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7605:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7605:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;8714:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8714:123:0;;;:::i;7910:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7910:27:0;;;:::i;6910:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6910:45:0;;;:::i;7726:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7726:35:0;;;:::i;7271:50::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7271:50:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7271:50:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5624:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5624:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6970:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6970:52:0;;;:::i;5748:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5748:27:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5748:27:0;;;;;;;;;;;;;;8845:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8845:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8845:149:0;-1:-1:-1;;;;;8845:149:0;;:::i;6869:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6869:32:0;;;:::i;9882:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9882:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9882:130:0;-1:-1:-1;;;;;9882:130:0;;:::i;:::-;;7407:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7407:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7407:44:0;;:::i;:::-;;;;-1:-1:-1;;;;;7407:44:0;;;;;;;;;;;;;;;;;;;;;5784:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5784:31:0;;;:::i;5687:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5687:23:0;;;:::i;3081:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3081:20:0;;;:::i;5597:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5597:20:0;;;:::i;5717:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5717:24:0;;;:::i;5654:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5654:26:0;;;:::i;7369:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7369:29:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7369:29:0;;:::i;7128:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7128:31:0;;;:::i;9002:185::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9002:185:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9002:185:0;;;;;;;;;;:::i;3712:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3712:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3712:105:0;-1:-1:-1;;;;;3712:105:0;;:::i;7484:64::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7484:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7484:64:0;-1:-1:-1;;;;;7484:64:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7168:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7168:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7168:51:0;;:::i;5572:18::-;;;;;;;;;;;;;;-1:-1:-1;;5572:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7605:33::-;;;;:::o;8714:123::-;8817:12;;8714:123;:::o;7910:27::-;;;;:::o;6910:45::-;;;;:::o;7726:35::-;;;;:::o;7271:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5624:21::-;;;;;;:::o;6970:52::-;;;;:::o;5748:27::-;;;-1:-1:-1;;;;;5748:27:0;;:::o;8845:149::-;-1:-1:-1;;;;;8970:16:0;8938:7;8970:16;;;:8;:16;;;;;;;8845:149::o;6869:32::-;;;;;;-1:-1:-1;;;;;6869:32:0;;:::o;9882:130::-;3524:5;;-1:-1:-1;;;;;3524:5:0;3510:10;:19;3502:28;;;;;;9982:22;9993:10;9982;:22::i;:::-;9882:130;:::o;7407:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7407:44:0;;;;-1:-1:-1;7407:44:0;:::o;5784:31::-;;;-1:-1:-1;;;;;5784:31:0;;:::o;5687:23::-;;;-1:-1:-1;;;;;5687:23:0;;:::o;3081:20::-;;;-1:-1:-1;;;;;3081:20:0;;:::o;5597:::-;;;;;;;;;;;;;;;-1:-1:-1;;5597:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:24;;;-1:-1:-1;;;;;5717:24:0;;:::o;5654:26::-;;;;;;-1:-1:-1;;;;;5654:26:0;;:::o;7369:29::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7369:29:0;:::o;7128:31::-;;;;:::o;9002:185::-;-1:-1:-1;;;;;9154:15:0;;;9122:7;9154:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;9002:185::o;3712:105::-;3524:5;;-1:-1:-1;;;;;3524:5:0;3510:10;:19;3502:28;;;;;;3782:29;3801:9;3782:18;:29::i;7484:64::-;;;;;;;;;;;;;;;;;;;;;:::o;7168:51::-;;;;;;;;;;;;;:::o;10020:180::-;10112:23;10124:10;10112:11;:23::i;:::-;10104:57;;;;;-1:-1:-1;;;;;10104:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10172:7;:20;;-1:-1:-1;;;;;;10172:20:0;-1:-1:-1;;;;;10172:20:0;;;;;;;;;;10020:180::o;3958:175::-;-1:-1:-1;;;;;4029:23:0;;4021:32;;;;;;4086:5;;4065:38;;-1:-1:-1;;;;;4065:38:0;;;;4086:5;;4065:38;;4086:5;;4065:38;4110:5;:17;;-1:-1:-1;;;;;;4110:17:0;-1:-1:-1;;;;;4110:17:0;;;;;;;;;;3958:175::o;10208:211::-;10367:17;10403:8;;;10208:211::o

Swarm Source

bzzr://8c31930370b9c7e30822ed6d45e4affdd3e7c4a5a7fe620cfb6ef4c9d0ca6db0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

iTokens are interest accumulating tokens that continuously go up in value as you hold them. They represent a share in a lending pool that grows in size as borrowers pay interest into them.

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.