Contract 0x49f4592E641820e928F9919Ef4aBd92a719B4b49

 
Ad
Crypto.com
Txn Hash Method
Block
From
To
Value
0x541cd9e62d49bb80a0d0a348e646d68f8760956a02808c26908f49222301d3f0Burn108969192020-09-20 4:01:32362 days 1 hr ago0xcc975278f9996b5e0055a11d74fc08e5debac871 IN  bZx sUSD iToken0 Ether0.018881424108
0xa8a15739e8032400691564b04f6aabd9c6fb5cc59bf5c83700e93cc4e0b66d78Burn104169042020-07-08 5:13:07436 days 5 mins ago0x7cf22917643f15520121a6eece65be4a609cce5b IN  bZx sUSD iToken0 Ether0.0050932230
0x936b2ede5bce09de7596d8c78fa13a43df487412ebb10bf53ab593a532ca3935Mint104168372020-07-08 4:59:03436 days 19 mins ago0x7cf22917643f15520121a6eece65be4a609cce5b IN  bZx sUSD iToken0 Ether0.0055984230
0x5d6ffff9042251c8a3ffcc4dae921378d4fb299d2b84be6d948ece41b9cf5471Set Target99553332020-04-27 15:34:18507 days 13 hrs agobZx Protocol: Deployer IN  bZx sUSD iToken0 Ether0.00038005513
0x27d47137874473b7fecbf72cb26f98a2eada210923ef0740120882c1af1999a3Burn99441342020-04-25 21:45:41509 days 7 hrs ago0xc2911a6028431e59d2dd25c3eedcec85e4660873 IN  bZx sUSD iToken0 Ether0.0005147463
0x56fb7d7f4066337c5ecf7713c59d43beda2b2e4c2f559819c5791ff02a810337Mint99440822020-04-25 21:36:15509 days 7 hrs ago0xc2911a6028431e59d2dd25c3eedcec85e4660873 IN  bZx sUSD iToken0 Ether0.000352743
0x6ae2a195e2281456914ec6f3c144f3e8c35012524b693f58c239376321af899bMint99440582020-04-25 21:31:18509 days 7 hrs ago0xc2911a6028431e59d2dd25c3eedcec85e4660873 IN  bZx sUSD iToken0 Ether0.0002591913
0x9bf9b283515ab5306d3f150fef1bde7b8c63a6a0fa65f53055a649b80c9dd5f1Mint99440582020-04-25 21:31:18509 days 7 hrs ago0xc2911a6028431e59d2dd25c3eedcec85e4660873 IN  bZx sUSD iToken0 Ether0.00064063483.4
0x7881acfb821fe4f017d6ed88832f7e36b43b9a0183aaa728a2bf45a4a71a17d9Mint99176282020-04-21 19:10:17513 days 10 hrs ago0x183f4732f167aff328202807bdbca24a05ac97d3 IN  bZx sUSD iToken0 Ether0.0004751943
0xc7e388afbf69e256009f8b4a4021eb910f3dc03cd5793cde9d730b7ab722975fBurn98770352020-04-15 12:37:42519 days 16 hrs ago0xa0493a8fdb5b0a4a844e3bb2279fffa0dfb565d5 IN  bZx sUSD iToken0 Ether0.000857855
0xc8147e87831b777644ec33e59d17932ec2f9da7ec5b154cf0a5c441c3165ab85Burn98508782020-04-11 12:05:48523 days 17 hrs ago0xd91ca561d7d7e4de0c3849e5785732ce0229b3c7 IN  bZx sUSD iToken0 Ether0.00057935343.7
0xd9e277b8384193fdbac1ff75429f9166a160e4bee3ea8a8bf0f575f2a3280e95Burn98259252020-04-07 16:03:22527 days 13 hrs ago0x2f1d41e2b4dd310eb07da2258c783c662fd5f964 IN  bZx sUSD iToken0 Ether0.0003978846
0x0e01732cbace70b3adc73b0275dddb6c2c5034e760868385ea9d0b0014404ae6Burn98259252020-04-07 16:03:22527 days 13 hrs ago0x2f1d41e2b4dd310eb07da2258c783c662fd5f964 IN  bZx sUSD iToken0 Ether0.0009394926
0xa545ceac95d626017b64f37f4fb7daa29cf591ecec565fb0c1145f1266159da7Mint97880482020-04-01 20:03:58533 days 9 hrs agoENS Name bashalex.eth IN  bZx sUSD iToken0 Ether0.0006101583
0x381f0914b14aba7ac8a8b864c65e449675713549df36b086550164bb1a7da0aaBurn97486612020-03-26 18:48:28539 days 10 hrs ago0x648c9ef315efffdd89b057f963547ddbcd499166 IN  bZx sUSD iToken0 Ether0.0003260862
0x69281b2f7305dd96a29e92f5ef256cec2fbb63d1b1c218a46c3e304170493e54Burn97421822020-03-25 18:51:49540 days 10 hrs ago0x08f38b09777486bac18df882f2b9e9a181e36bc2 IN  bZx sUSD iToken0 Ether0.0004890933
0x4759f45da82d1ac6416145a5499adab076d672e7b6575403d79ce2bc1e74bea7Burn97360452020-03-24 19:50:16541 days 9 hrs ago0x949c2bc0036789ee3ed4ca3473400b310eb79764 IN  bZx sUSD iToken0 Ether0.0001630311
0xf1d7b244c34ff1eab598611c872675f53b1ff69df05d6444e9b4b0ddd3b21f7eBurn97071672020-03-20 7:16:36545 days 22 hrs agoENS Name baecherinvestments.eth IN  bZx sUSD iToken0 Ether0.00060534623.4
0x989b913b5732f897b3c9d6c37312070f15b6d6fa07e4d5dfafe5f3917742ba92Mint97002552020-03-19 5:30:47546 days 23 hrs ago0xd91ca561d7d7e4de0c3849e5785732ce0229b3c7 IN  bZx sUSD iToken0 Ether0.0005397813
0x1662666cfdb55caa5dc74a624951d1e15ed74dc1ba3e0a9e48cf6076141c125dBurn96954552020-03-18 11:59:17547 days 17 hrs ago0x86540cbcd28d9c9afd694cf40e19dc5dd70b2717 IN  bZx sUSD iToken0 Ether0.0013043448
0x1ed67c478333106ee170cc4f20df6ec5e8d8c653b1132e3d27bc57b9731af468Burn96924002020-03-18 0:38:08548 days 4 hrs ago0x39de56518e136d472ef9645e7d6e1f7c6c8ed37b IN  bZx sUSD iToken0 Ether0.0005341293
0xd4890ca41cc7a4cc62f0077d6985c8a181dbb7f57c326ac5ff3223adb4a729f5Burn96852702020-03-16 22:25:30549 days 6 hrs ago0x08f38b09777486bac18df882f2b9e9a181e36bc2 IN  bZx sUSD iToken0 Ether0.000578373
0x0ad573f00ddbe9bcd968ed05ec038ca8e193c0907081cb9f4e3d5287a00ed5aaBurn96834572020-03-16 15:40:58549 days 13 hrs ago0x80320b30142dc7a21dd0760334f65fcfef27a48f IN  bZx sUSD iToken0 Ether0.003629818820.1
0xc302af00644f5bfa79a2d532ae7e068fba03ad05f3bdd1cd11292ea82cfa97f8Update Settings96784712020-03-15 21:18:32550 days 7 hrs agobZx Protocol: Deployer IN  bZx sUSD iToken0 Ether0.0003620488
0xb941e30d9b3b14b868eab7d142658e1238aba918038f97ec7b4fb119040f9a45Burn96690762020-03-14 10:38:13551 days 18 hrs ago0x553de6c52ca165f63196b5dd80817f8636d029ac IN  bZx sUSD iToken0 Ether0.00082120082.4
[ Download CSV Export 
Latest 4 internal transactions
Parent Txn Hash Block From To Value
0x76d35bba3f75b02be849986c1c1c56b9cf8a9636e4ed6c33bdd1f277fcd4aad194180592020-02-04 19:37:27590 days 9 hrs ago bZx sUSD iToken Wrapped Ether1.001725207350445457 Ether
0x1c135d00b781988b6ea6b08d220667e570e00aaa45164059fd2c648a6a44b7cc94053652020-02-02 20:48:17592 days 8 hrs ago bZx sUSD iToken Wrapped Ether1.588820905556329085 Ether
0x5270355950a15d5889a91d54dd0df14d4ea72bdea2a97ce6bd31c49b90d6c25791664322019-12-26 15:52:02630 days 13 hrs ago bZx sUSD iToken Wrapped Ether12.288565790319084376 Ether
0xc22617a1a6995d46313cc76ef7dc0c9812091107ada22e9696f6bcd6ca65b01790008952019-11-25 22:24:55661 days 6 hrs ago bZx sUSD iToken Wrapped Ether0.100802499634617784 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x493c57c4763932315a328269e1adad09653b9081

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 2019-11-14
*/

/**
 * 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 <[email protected]π.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
    {
        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"}]

60806040526001600055600a805460ff19169055670de0b6b3a7640000600b556801043561a882930000600c5534801561003857600080fd5b50604051602080610bad8339810180604052602081101561005857600080fd5b5051600180546001600160a01b0319163317905561007c81610082602090811b901c565b50610124565b6100918161011e60201b60201c565b6100fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b610a7a806101336000396000f3fe60806040526004361061019c5760003560e01c80637866c6c1116100ec578063995363d31161008a578063dd62ed3e11610064578063dd62ed3e1461058e578063f2fde38b146105c9578063fbd9574d146105fc578063fe056342146106485761019c565b8063995363d31461053a5780639b3a54d11461054f578063d84d2a47146105795761019c565b8063894ca308116100c6578063894ca308146104e65780638da5cb5b146104fb57806395d89b411461051057806396c7871b146105255761019c565b80637866c6c11461046f578063797bf385146104bc5780637b7933b4146104d15761019c565b80632515aacd116101595780634780eac1116101335780634780eac1146103c157806370a08231146103f2578063736ee3d314610425578063776d1a011461043a5761019c565b80632515aacd1461030d578063313ce56714610381578063330691ac146103ac5761019c565b806306fdde03146102085780630c4925fd1461029257806318160ddd146102b95780631d0806ae146102ce5780631f68f20a146102e357806320f6d07c146102f8575b601c5460408051602036601f81018290048202830182019093528282526001600160a01b039093169260609260009181908401838280828437600092018290525084519495509384935091505060208401855af43d604051816000823e828015610204578282f35b8282fd5b34801561021457600080fd5b5061021d610672565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025757818101518382015260200161023f565b50505050905090810190601f1680156102845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029e57600080fd5b506102a76106fd565b60408051918252519081900360200190f35b3480156102c557600080fd5b506102a7610703565b3480156102da57600080fd5b506102a7610709565b3480156102ef57600080fd5b506102a761070f565b34801561030457600080fd5b506102a7610715565b34801561031957600080fd5b506103376004803603602081101561033057600080fd5b503561071b565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c08401526001600160a01b031660e083015251908190036101000190f35b34801561038d57600080fd5b50610396610767565b6040805160ff9092168252519081900360200190f35b3480156103b857600080fd5b506102a7610770565b3480156103cd57600080fd5b506103d6610776565b604080516001600160a01b039092168252519081900360200190f35b3480156103fe57600080fd5b506102a76004803603602081101561041557600080fd5b50356001600160a01b0316610785565b34801561043157600080fd5b506103d66107a0565b34801561044657600080fd5b5061046d6004803603602081101561045d57600080fd5b50356001600160a01b03166107b4565b005b34801561047b57600080fd5b506104996004803603602081101561049257600080fd5b50356107d7565b604080516001600160a01b03909316835260208301919091528051918290030190f35b3480156104c857600080fd5b506103d661080c565b3480156104dd57600080fd5b506102a761081b565b3480156104f257600080fd5b506103d6610821565b34801561050757600080fd5b506103d6610830565b34801561051c57600080fd5b5061021d61083f565b34801561053157600080fd5b506103d661089a565b34801561054657600080fd5b506103d66108a9565b34801561055b57600080fd5b506102a76004803603602081101561057257600080fd5b50356108bd565b34801561058557600080fd5b506102a76108db565b34801561059a57600080fd5b506102a7600480360360408110156105b157600080fd5b506001600160a01b03813581169160200135166108e1565b3480156105d557600080fd5b5061046d600480360360208110156105ec57600080fd5b50356001600160a01b031661090c565b34801561060857600080fd5b5061062f6004803603602081101561061f57600080fd5b50356001600160a01b031661092c565b6040805192835290151560208301528051918290030190f35b34801561065457600080fd5b506102a76004803603602081101561066b57600080fd5b5035610948565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106f55780601f106106ca576101008083540402835291602001916106f5565b820191906000526020600020905b8154815290600101906020018083116106d857829003601f168201915b505050505081565b60135481565b601b5490565b60185481565b600b5481565b60155481565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007909701549596949593949293919290916001600160a01b031688565b60045460ff1681565b600c5481565b6007546001600160a01b031681565b6001600160a01b031660009081526019602052604090205490565b600a5461010090046001600160a01b031681565b6001546001600160a01b031633146107cb57600080fd5b6107d48161095a565b50565b601181815481106107e457fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6008546001600160a01b031681565b60165481565b6005546001600160a01b031681565b6001546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f55780601f106106ca576101008083540402835291602001916106f5565b6006546001600160a01b031681565b60045461010090046001600160a01b031681565b601081815481106108ca57fe5b600091825260209091200154905081565b600d5481565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b6001546001600160a01b0316331461092357600080fd5b6107d4816109d9565b6012602052600090815260409020805460019091015460ff1682565b600e6020526000908152604090205481565b61096381610a48565b6109b75760408051600160e51b62461bcd02815260206004820152601560248201527f746172676574206e6f74206120636f6e74726163740000000000000000000000604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166109ec57600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b15159056fea165627a7a723058203cf1fe6a7835c50d89ba9a22ea5a8c3509600df2cb1c1e1e1ef965e160014e8a0029000000000000000000000000baad2c9d8efd28e294858f63cd088247f15ae24f

Deployed ByteCode Sourcemap

10089:1228:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10365:7;;10383:28;;;;10403:8;10383:28;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10365:7:0;;;;10383:17;;-1:-1:-1;;10403:8:0;;10383:28;;-1:-1:-1;10403:8:0;;-1:-1:-1;10383:28:0;1:33:-1;99:1;81:16;;74:27;;;-1:-1;10503:11:0;;10383:28;;-1:-1:-1;99:1;;;-1:-1;10503:11:0;-1:-1:-1;;10496:4:0;10486:15;;10478:6;10473:3;10460:61;10547:14;10592:4;10586:11;10634:4;10631:1;10626:3;10611:28;10660:6;10680:28;;;;10744:4;10739:3;10732:17;10680:28;10701:4;10696:3;10689:17;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;10777:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10777:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10777:130:0;-1:-1:-1;;;;;10777: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;10777:130::-;3734:5;;-1:-1:-1;;;;;3734:5:0;3720:10;:19;3712:28;;;;;;10877:22;10888:10;10877;:22::i;:::-;10777: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;10915:180::-;11007:23;11019:10;11007:11;:23::i;:::-;10999:57;;;;;-1:-1:-1;;;;;10999:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11067:7;:20;;-1:-1:-1;;;;;;11067:20:0;-1:-1:-1;;;;;11067:20:0;;;;;;;;;;10915: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;11103:211::-;11262:17;11298:8;;;11103:211::o

Swarm Source

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