Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 3,199 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 13583953 | 1345 days ago | IN | 0 ETH | 0.00495468 | ||||
0xa47fd423 | 10851240 | 1767 days ago | IN | 0 ETH | 0.01739691 | ||||
0xa47fd423 | 10850661 | 1768 days ago | IN | 0 ETH | 0.02463478 | ||||
0x30501fd1 | 10844863 | 1768 days ago | IN | 0 ETH | 0.03077813 | ||||
0xeef2a96e | 10842632 | 1769 days ago | IN | 0 ETH | 0.19310552 | ||||
0xeef2a96e | 10842616 | 1769 days ago | IN | 0 ETH | 0.21099296 | ||||
0xeef2a96e | 10842594 | 1769 days ago | IN | 0 ETH | 0.21231816 | ||||
0xeef2a96e | 10842572 | 1769 days ago | IN | 0 ETH | 0.132536 | ||||
0xeef2a96e | 10842572 | 1769 days ago | IN | 0 ETH | 0.1384856 | ||||
Liquidate Positi... | 10842484 | 1769 days ago | IN | 0 ETH | 0.3093461 | ||||
0xa47fd423 | 10769165 | 1780 days ago | IN | 5,152.0541489 ETH | 0.05720853 | ||||
0x30501fd1 | 10743055 | 1784 days ago | IN | 0 ETH | 0.04848916 | ||||
Liquidate Positi... | 10713599 | 1789 days ago | IN | 0 ETH | 0.11715711 | ||||
Liquidate Positi... | 10713565 | 1789 days ago | IN | 0 ETH | 0.34624478 | ||||
Liquidate Positi... | 10708697 | 1789 days ago | IN | 0 ETH | 0.24047944 | ||||
0xa8fca384 | 10667621 | 1796 days ago | IN | 0 ETH | 0.01231313 | ||||
0xa8fca384 | 10659231 | 1797 days ago | IN | 0 ETH | 0.02909878 | ||||
0xa8fca384 | 10658525 | 1797 days ago | IN | 0 ETH | 0.02812432 | ||||
0xa8fca384 | 10652004 | 1798 days ago | IN | 0 ETH | 0.02812432 | ||||
Liquidate Positi... | 10619787 | 1803 days ago | IN | 0 ETH | 0.16480787 | ||||
Liquidate Positi... | 10619754 | 1803 days ago | IN | 0 ETH | 0.08603534 | ||||
0xa8fca384 | 10619741 | 1803 days ago | IN | 0 ETH | 0.00867516 | ||||
0xa8fca384 | 10595931 | 1807 days ago | IN | 0 ETH | 0.00475734 | ||||
0x8e867083 | 10591637 | 1807 days ago | IN | 0 ETH | 0.00577079 | ||||
0xbae12d4e | 10564362 | 1812 days ago | IN | 0 ETH | 0.00633133 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 10769165 | 1780 days ago | 5,152.0541489 ETH | ||||
- | 10354834 | 1844 days ago | 59.9036465 ETH | ||||
- | 10303682 | 1852 days ago | 0.66698987 ETH | ||||
- | 10299204 | 1853 days ago | 0.3061285 ETH | ||||
- | 10162001 | 1874 days ago | 0.52689712 ETH | ||||
- | 9936843 | 1909 days ago | 6.10501 ETH | ||||
- | 9936641 | 1909 days ago | 0.22717 ETH | ||||
- | 9743221 | 1939 days ago | 0.07980953 ETH | ||||
- | 9706589 | 1944 days ago | 2.0436271 ETH | ||||
- | 9679127 | 1949 days ago | 1.56653604 ETH | ||||
- | 9662739 | 1951 days ago | 1.68543 ETH | ||||
- | 9660640 | 1951 days ago | 5.34908537 ETH | ||||
- | 9657536 | 1952 days ago | 0.00000563 ETH | ||||
- | 9657536 | 1952 days ago | 6.10999436 ETH | ||||
- | 9657314 | 1952 days ago | 2.85545574 ETH | ||||
- | 9652780 | 1953 days ago | 108.5848407 ETH | ||||
- | 9578855 | 1964 days ago | 0.01874455 ETH | ||||
- | 9578855 | 1964 days ago | 2.48426444 ETH | ||||
- | 9578815 | 1964 days ago | 0.01874455 ETH | ||||
- | 9578815 | 1964 days ago | 4.98125544 ETH | ||||
- | 9561545 | 1967 days ago | 0.00000853 ETH | ||||
- | 9561545 | 1967 days ago | 12.45118146 ETH | ||||
- | 9553965 | 1968 days ago | 12.45017 ETH | ||||
- | 9552378 | 1968 days ago | 0.00000469 ETH | ||||
- | 9552378 | 1968 days ago | 1.0005253 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
BZxProxy
Compiler Version
v0.5.3+commit.10d17f24
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-02-24 */ /** * Copyright 2017–2018, bZeroX, LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0. */ pragma solidity 0.5.3; /** * @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 private constant REENTRANCY_GUARD_FREE = 1; /// @dev Constant for locked guard state uint256 private constant REENTRANCY_GUARD_LOCKED = 2; /** * @dev We use a single lock for the whole contract. */ uint256 private 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); reentrancyLock = REENTRANCY_GUARD_LOCKED; _; reentrancyLock = REENTRANCY_GUARD_FREE; } } contract GasTracker { uint256 internal gasUsed; modifier tracksGas() { // tx call 21k gas gasUsed = gasleft() + 21000; _; // modified function body inserted here gasUsed = 0; // zero out the storage so we don't persist anything } } contract BZxObjects { struct ListIndex { uint256 index; bool isSet; } struct LoanOrder { address loanTokenAddress; address interestTokenAddress; address collateralTokenAddress; address oracleAddress; uint256 loanTokenAmount; uint256 interestAmount; uint256 initialMarginAmount; uint256 maintenanceMarginAmount; uint256 maxDurationUnixTimestampSec; bytes32 loanOrderHash; } struct LoanOrderAux { address makerAddress; address takerAddress; address feeRecipientAddress; address tradeTokenToFillAddress; uint256 lenderRelayFee; uint256 traderRelayFee; uint256 makerRole; uint256 expirationUnixTimestampSec; bool withdrawOnOpen; string description; } struct LoanPosition { address trader; address collateralTokenAddressFilled; address positionTokenAddressFilled; uint256 loanTokenAmountFilled; uint256 loanTokenAmountUsed; uint256 collateralTokenAmountFilled; uint256 positionTokenAmountFilled; uint256 loanStartUnixTimestampSec; uint256 loanEndUnixTimestampSec; bool active; uint256 positionId; } struct PositionRef { bytes32 loanOrderHash; uint256 positionId; } struct LenderInterest { uint256 interestOwedPerDay; uint256 interestPaid; uint256 interestPaidDate; } struct TraderInterest { uint256 interestOwedPerDay; uint256 interestPaid; uint256 interestDepositTotal; uint256 interestUpdatedDate; } } contract BZxEvents { event LogLoanAdded ( bytes32 indexed loanOrderHash, address adderAddress, address indexed makerAddress, address indexed feeRecipientAddress, uint256 lenderRelayFee, uint256 traderRelayFee, uint256 maxDuration, uint256 makerRole ); event LogLoanTaken ( address indexed lender, address indexed trader, address loanTokenAddress, address collateralTokenAddress, uint256 loanTokenAmount, uint256 collateralTokenAmount, uint256 loanEndUnixTimestampSec, bool firstFill, bytes32 indexed loanOrderHash, uint256 positionId ); event LogLoanCancelled( address indexed makerAddress, uint256 cancelLoanTokenAmount, uint256 remainingLoanTokenAmount, bytes32 indexed loanOrderHash ); event LogLoanClosed( address indexed lender, address indexed trader, address loanCloser, bool isLiquidation, bytes32 indexed loanOrderHash, uint256 positionId ); event LogPositionTraded( bytes32 indexed loanOrderHash, address indexed trader, address sourceTokenAddress, address destTokenAddress, uint256 sourceTokenAmount, uint256 destTokenAmount, uint256 positionId ); event LogWithdrawPosition( bytes32 indexed loanOrderHash, address indexed trader, uint256 positionAmount, uint256 remainingPosition, uint256 positionId ); event LogPayInterestForOracle( address indexed lender, address indexed oracleAddress, address indexed interestTokenAddress, uint256 amountPaid, uint256 totalAccrued ); event LogPayInterestForOrder( bytes32 indexed loanOrderHash, address indexed lender, address indexed interestTokenAddress, uint256 amountPaid, uint256 totalAccrued, uint256 loanCount ); event LogChangeTraderOwnership( bytes32 indexed loanOrderHash, address indexed oldOwner, address indexed newOwner ); event LogChangeLenderOwnership( bytes32 indexed loanOrderHash, address indexed oldOwner, address indexed newOwner ); event LogUpdateLoanAsLender( bytes32 indexed loanOrderHash, address indexed lender, uint256 loanTokenAmountAdded, uint256 loanTokenAmountFillable, uint256 expirationUnixTimestampSec ); } contract BZxStorage is BZxObjects, BZxEvents, ReentrancyGuard, Ownable, GasTracker { uint256 internal constant MAX_UINT = 2**256 - 1; address public bZRxTokenContract; address public bZxEtherContract; address public wethContract; address payable public vaultContract; address public oracleRegistryContract; address public bZxTo0xContract; address public bZxTo0xV2Contract; bool public DEBUG_MODE = false; // Loan Orders mapping (bytes32 => LoanOrder) public orders; // mapping of loanOrderHash to on chain loanOrders mapping (bytes32 => LoanOrderAux) public orderAux; // mapping of loanOrderHash to on chain loanOrder auxiliary parameters mapping (bytes32 => uint256) public orderFilledAmounts; // mapping of loanOrderHash to loanTokenAmount filled mapping (bytes32 => uint256) public orderCancelledAmounts; // mapping of loanOrderHash to loanTokenAmount cancelled mapping (bytes32 => address) public orderLender; // mapping of loanOrderHash to lender (only one lender per order) // Loan Positions mapping (uint256 => LoanPosition) public loanPositions; // mapping of position ids to loanPositions mapping (bytes32 => mapping (address => uint256)) public loanPositionsIds; // mapping of loanOrderHash to mapping of trader address to position id // Lists mapping (address => bytes32[]) public orderList; // mapping of lenders and trader addresses to array of loanOrderHashes mapping (bytes32 => mapping (address => ListIndex)) public orderListIndex; // mapping of loanOrderHash to mapping of lenders and trader addresses to ListIndex objects mapping (bytes32 => uint256[]) public orderPositionList; // mapping of loanOrderHash to array of order position ids PositionRef[] public positionList; // array of loans that need to be checked for liquidation or expiration mapping (uint256 => ListIndex) public positionListIndex; // mapping of position ids to ListIndex objects // Interest mapping (address => mapping (address => uint256)) public tokenInterestOwed; // mapping of lender address to mapping of interest token address to amount of interest owed for all loans (assuming they go to full term) mapping (address => mapping (address => mapping (address => LenderInterest))) public lenderOracleInterest; // mapping of lender address to mapping of oracle to mapping of interest token to LenderInterest objects mapping (bytes32 => LenderInterest) public lenderOrderInterest; // mapping of loanOrderHash to LenderInterest objects mapping (uint256 => TraderInterest) public traderLoanInterest; // mapping of position ids to TraderInterest objects // Other Storage mapping (address => address) public oracleAddresses; // mapping of oracles to their current logic contract mapping (bytes32 => mapping (address => bool)) public preSigned; // mapping of hash => signer => signed mapping (address => mapping (address => bool)) public allowedValidators; // mapping of signer => validator => approved // General Purpose mapping (bytes => uint256) internal dbUint256; mapping (bytes => uint256[]) internal dbUint256Array; mapping (bytes => address) internal dbAddress; mapping (bytes => address[]) internal dbAddressArray; mapping (bytes => bool) internal dbBool; mapping (bytes => bool[]) internal dbBoolArray; mapping (bytes => bytes32) internal dbBytes32; mapping (bytes => bytes32[]) internal dbBytes32Array; mapping (bytes => bytes) internal dbBytes; mapping (bytes => bytes[]) internal dbBytesArray; } contract BZxProxiable { mapping (bytes4 => address) public targets; mapping (bytes4 => bool) public targetIsPaused; function initialize(address _target) public; } contract BZxProxy is BZxStorage, BZxProxiable { constructor( address _settings) public { (bool result,) = _settings.delegatecall.gas(gasleft())(abi.encodeWithSignature("initialize(address)", _settings)); require(result, "BZxProxy::constructor: failed"); } function() external payable { require(!targetIsPaused[msg.sig], "BZxProxy::Function temporarily paused"); address target = targets[msg.sig]; require(target != address(0), "BZxProxy::Target not found"); 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 initialize( address) public { revert(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orderLender","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokenInterestOwed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes4"}],"name":"targets","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes4"}],"name":"targetIsPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vaultContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"address"}],"name":"orderListIndex","outputs":[{"name":"index","type":"uint256"},{"name":"isSet","type":"bool"}],"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":"","type":"uint256"}],"name":"positionListIndex","outputs":[{"name":"index","type":"uint256"},{"name":"isSet","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"lenderOrderInterest","outputs":[{"name":"interestOwedPerDay","type":"uint256"},{"name":"interestPaid","type":"uint256"},{"name":"interestPaidDate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"address"}],"name":"lenderOracleInterest","outputs":[{"name":"interestOwedPerDay","type":"uint256"},{"name":"interestPaid","type":"uint256"},{"name":"interestPaidDate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxEtherContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"oracleAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZRxTokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"positionList","outputs":[{"name":"loanOrderHash","type":"bytes32"},{"name":"positionId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowedValidators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"address"}],"name":"preSigned","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"address"}],"name":"loanPositionsIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEBUG_MODE","outputs":[{"name":"","type":"bool"}],"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":"","type":"uint256"}],"name":"traderLoanInterest","outputs":[{"name":"interestOwedPerDay","type":"uint256"},{"name":"interestPaid","type":"uint256"},{"name":"interestDepositTotal","type":"uint256"},{"name":"interestUpdatedDate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"uint256"}],"name":"orderPositionList","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxTo0xV2Contract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orders","outputs":[{"name":"loanTokenAddress","type":"address"},{"name":"interestTokenAddress","type":"address"},{"name":"collateralTokenAddress","type":"address"},{"name":"oracleAddress","type":"address"},{"name":"loanTokenAmount","type":"uint256"},{"name":"interestAmount","type":"uint256"},{"name":"initialMarginAmount","type":"uint256"},{"name":"maintenanceMarginAmount","type":"uint256"},{"name":"maxDurationUnixTimestampSec","type":"uint256"},{"name":"loanOrderHash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"loanPositions","outputs":[{"name":"trader","type":"address"},{"name":"collateralTokenAddressFilled","type":"address"},{"name":"positionTokenAddressFilled","type":"address"},{"name":"loanTokenAmountFilled","type":"uint256"},{"name":"loanTokenAmountUsed","type":"uint256"},{"name":"collateralTokenAmountFilled","type":"uint256"},{"name":"positionTokenAmountFilled","type":"uint256"},{"name":"loanStartUnixTimestampSec","type":"uint256"},{"name":"loanEndUnixTimestampSec","type":"uint256"},{"name":"active","type":"bool"},{"name":"positionId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orderAux","outputs":[{"name":"makerAddress","type":"address"},{"name":"takerAddress","type":"address"},{"name":"feeRecipientAddress","type":"address"},{"name":"tradeTokenToFillAddress","type":"address"},{"name":"lenderRelayFee","type":"uint256"},{"name":"traderRelayFee","type":"uint256"},{"name":"makerRole","type":"uint256"},{"name":"expirationUnixTimestampSec","type":"uint256"},{"name":"withdrawOnOpen","type":"bool"},{"name":"description","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bZxTo0xContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orderFilledAmounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orderCancelledAmounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oracleRegistryContract","outputs":[{"name":"","type":"address"}],"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":"","type":"uint256"}],"name":"orderList","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_settings","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":false,"name":"adderAddress","type":"address"},{"indexed":true,"name":"makerAddress","type":"address"},{"indexed":true,"name":"feeRecipientAddress","type":"address"},{"indexed":false,"name":"lenderRelayFee","type":"uint256"},{"indexed":false,"name":"traderRelayFee","type":"uint256"},{"indexed":false,"name":"maxDuration","type":"uint256"},{"indexed":false,"name":"makerRole","type":"uint256"}],"name":"LogLoanAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lender","type":"address"},{"indexed":true,"name":"trader","type":"address"},{"indexed":false,"name":"loanTokenAddress","type":"address"},{"indexed":false,"name":"collateralTokenAddress","type":"address"},{"indexed":false,"name":"loanTokenAmount","type":"uint256"},{"indexed":false,"name":"collateralTokenAmount","type":"uint256"},{"indexed":false,"name":"loanEndUnixTimestampSec","type":"uint256"},{"indexed":false,"name":"firstFill","type":"bool"},{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":false,"name":"positionId","type":"uint256"}],"name":"LogLoanTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"makerAddress","type":"address"},{"indexed":false,"name":"cancelLoanTokenAmount","type":"uint256"},{"indexed":false,"name":"remainingLoanTokenAmount","type":"uint256"},{"indexed":true,"name":"loanOrderHash","type":"bytes32"}],"name":"LogLoanCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lender","type":"address"},{"indexed":true,"name":"trader","type":"address"},{"indexed":false,"name":"loanCloser","type":"address"},{"indexed":false,"name":"isLiquidation","type":"bool"},{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":false,"name":"positionId","type":"uint256"}],"name":"LogLoanClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"trader","type":"address"},{"indexed":false,"name":"sourceTokenAddress","type":"address"},{"indexed":false,"name":"destTokenAddress","type":"address"},{"indexed":false,"name":"sourceTokenAmount","type":"uint256"},{"indexed":false,"name":"destTokenAmount","type":"uint256"},{"indexed":false,"name":"positionId","type":"uint256"}],"name":"LogPositionTraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"trader","type":"address"},{"indexed":false,"name":"positionAmount","type":"uint256"},{"indexed":false,"name":"remainingPosition","type":"uint256"},{"indexed":false,"name":"positionId","type":"uint256"}],"name":"LogWithdrawPosition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lender","type":"address"},{"indexed":true,"name":"oracleAddress","type":"address"},{"indexed":true,"name":"interestTokenAddress","type":"address"},{"indexed":false,"name":"amountPaid","type":"uint256"},{"indexed":false,"name":"totalAccrued","type":"uint256"}],"name":"LogPayInterestForOracle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"lender","type":"address"},{"indexed":true,"name":"interestTokenAddress","type":"address"},{"indexed":false,"name":"amountPaid","type":"uint256"},{"indexed":false,"name":"totalAccrued","type":"uint256"},{"indexed":false,"name":"loanCount","type":"uint256"}],"name":"LogPayInterestForOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"LogChangeTraderOwnership","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"LogChangeLenderOwnership","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"loanOrderHash","type":"bytes32"},{"indexed":true,"name":"lender","type":"address"},{"indexed":false,"name":"loanTokenAmountAdded","type":"uint256"},{"indexed":false,"name":"loanTokenAmountFillable","type":"uint256"},{"indexed":false,"name":"expirationUnixTimestampSec","type":"uint256"}],"name":"LogUpdateLoanAsLender","type":"event"}]
Contract Creation Code
608060405260016000556009805460a060020a60ff021916905534801561002557600080fd5b506040516020806112798339810180604052602081101561004557600080fd5b505160018054600160a060020a031916331790556000600160a060020a0382165a60408051600160a060020a0386166024808301919091528251808303909101815260449091018252602081018051600160e060020a03167fc4d66de80000000000000000000000000000000000000000000000000000000017815291518151919290918291908083835b602083106100ef5780518252601f1990920191602091820191016100d0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303818686f4925050503d8060008114610150576040519150601f19603f3d011682016040523d82523d6000602084013e610155565b606091505b505090508015156101c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f425a7850726f78793a3a636f6e7374727563746f723a206661696c6564000000604482015290519081900360640190fd5b50506110a1806101d86000396000f3fe608060405260043610610200576000357c01000000000000000000000000000000000000000000000000000000009004806386042ec61161011f578063a72480ae116100b2578063d9fd734111610081578063d9fd734114610a70578063de3f26eb14610a9a578063f2fde38b14610aaf578063f4fb9b2f14610ae257610200565b8063a72480ae146108cf578063b7a025f9146109fc578063c4d66de814610a11578063cce37f3e14610a4657610200565b80639437d0ea116100ee5780639437d0ea1461076d5780639ae6b1861461079d5780639c3f1e90146107b25780639e312dac1461083e57610200565b806386042ec6146106ba5780638638aa65146106f35780638da5cb5b146107085780639048617a1461071d57610200565b80634b4056c511610197578063779dec5b11610166578063779dec5b146105ee5780637955f60f146106035780637b8e35141461064657806382c174d01461068157610200565b80634b4056c5146105195780635c445c861461056157806364a71040146105a657806371eb125e146105bb57610200565b80632274346b116101d35780632274346b1461047357806342ad3526146104885780634780eac1146104da5780634a7c3d50146104ef57610200565b8063093983bd1461036457806313e97c71146103aa57806316a6bff6146103f75780632035d73b1461042b575b60008035600160e060020a03191681526028602052604090205460ff1615610273576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110516025913960400191505060405180910390fd5b60008035600160e060020a031916815260276020526040902054600160a060020a031680151561030457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f425a7850726f78793a3a546172676574206e6f7420666f756e64000000000000604482015290519081900360640190fd5b60606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509384935091505060208401855af43d604051816000823e828015610360578282f35b8282fd5b34801561037057600080fd5b5061038e6004803603602081101561038757600080fd5b5035610b1b565b60408051600160a060020a039092168252519081900360200190f35b3480156103b657600080fd5b506103e5600480360360408110156103cd57600080fd5b50600160a060020a0381358116916020013516610b36565b60408051918252519081900360200190f35b34801561040357600080fd5b5061038e6004803603602081101561041a57600080fd5b5035600160e060020a031916610b53565b34801561043757600080fd5b5061045f6004803603602081101561044e57600080fd5b5035600160e060020a031916610b6e565b604080519115158252519081900360200190f35b34801561047f57600080fd5b5061038e610b83565b34801561049457600080fd5b506104c1600480360360408110156104ab57600080fd5b5080359060200135600160a060020a0316610b92565b6040805192835290151560208301528051918290030190f35b3480156104e657600080fd5b5061038e610bb9565b3480156104fb57600080fd5b506104c16004803603602081101561051257600080fd5b5035610bc8565b34801561052557600080fd5b506105436004803603602081101561053c57600080fd5b5035610be4565b60408051938452602084019290925282820152519081900360600190f35b34801561056d57600080fd5b506105436004803603606081101561058457600080fd5b50600160a060020a038135811691602081013582169160409091013516610c05565b3480156105b257600080fd5b5061038e610c37565b3480156105c757600080fd5b5061038e600480360360208110156105de57600080fd5b5035600160a060020a0316610c46565b3480156105fa57600080fd5b5061038e610c61565b34801561060f57600080fd5b5061062d6004803603602081101561062657600080fd5b5035610c70565b6040805192835260208301919091528051918290030190f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b50600160a060020a0381358116916020013516610c9c565b34801561068d57600080fd5b5061045f600480360360408110156106a457600080fd5b5080359060200135600160a060020a0316610cbc565b3480156106c657600080fd5b506103e5600480360360408110156106dd57600080fd5b5080359060200135600160a060020a0316610cdc565b3480156106ff57600080fd5b5061045f610cf9565b34801561071457600080fd5b5061038e610d1a565b34801561072957600080fd5b506107476004803603602081101561074057600080fd5b5035610d29565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561077957600080fd5b506103e56004803603604081101561079057600080fd5b5080359060200135610d50565b3480156107a957600080fd5b5061038e610d80565b3480156107be57600080fd5b506107dc600480360360208110156107d557600080fd5b5035610d8f565b60408051600160a060020a039b8c168152998b1660208b0152978a1689890152959098166060880152608087019390935260a086019190915260c085015260e08401526101008301939093526101208201929092529051908190036101400190f35b34801561084a57600080fd5b506108686004803603602081101561086157600080fd5b5035610df1565b60408051600160a060020a039c8d1681529a8c1660208c015298909a16898901526060890196909652608088019490945260a087019290925260c086015260e085015261010084015215156101208301526101408201929092529051908190036101600190f35b3480156108db57600080fd5b506108f9600480360360208110156108f257600080fd5b5035610e5b565b604051808b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a0316815260200189600160a060020a0316600160a060020a0316815260200188600160a060020a0316600160a060020a031681526020018781526020018681526020018581526020018481526020018315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109b85781810151838201526020016109a0565b50505050905090810190601f1680156109e55780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b348015610a0857600080fd5b5061038e610f4d565b348015610a1d57600080fd5b50610a4460048036036020811015610a3457600080fd5b5035600160a060020a0316610f5c565b005b348015610a5257600080fd5b506103e560048036036020811015610a6957600080fd5b5035610f61565b348015610a7c57600080fd5b506103e560048036036020811015610a9357600080fd5b5035610f73565b348015610aa657600080fd5b5061038e610f85565b348015610abb57600080fd5b50610a4460048036036020811015610ad257600080fd5b5035600160a060020a0316610f94565b348015610aee57600080fd5b506103e560048036036040811015610b0557600080fd5b50600160a060020a038135169060200135610fb7565b600e60205260009081526040902054600160a060020a031681565b601660209081526000928352604080842090915290825290205481565b602760205260009081526040902054600160a060020a031681565b60286020526000908152604090205460ff1681565b600654600160a060020a031681565b60126020908152600092835260408084209091529082529020805460019091015460ff1682565b600554600160a060020a031681565b6015602052600090815260409020805460019091015460ff1682565b60186020526000908152604090208054600182015460029092015490919083565b601760209081526000938452604080852082529284528284209052825290208054600182015460029092015490919083565b600454600160a060020a031681565b601a60205260009081526040902054600160a060020a031681565b600354600160a060020a031681565b6014805482908110610c7e57fe5b60009182526020909120600290910201805460019091015490915082565b601c60209081526000928352604080842090915290825290205460ff1681565b601b60209081526000928352604080842090915290825290205460ff1681565b601060209081526000928352604080842090915290825290205481565b60095474010000000000000000000000000000000000000000900460ff1681565b600154600160a060020a031681565b60196020526000908152604090208054600182015460028301546003909301549192909184565b601360205281600052604060002081815481101515610d6b57fe5b90600052602060002001600091509150505481565b600954600160a060020a031681565b600a602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460078801546008890154600990990154600160a060020a03988916999789169896871697959096169593949293919290918a565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a909a0154600160a060020a03998a169a988a16999097169795969495939492939192909160ff16908b565b600b602090815260009182526040918290208054600180830154600280850154600386015460048701546005880154600689015460078a015460088b015460098c0180548f516101009c8216159c909c02600019011698909804601f81018e90048e028b018e01909e528d8a52600160a060020a039a8b169d988b169c968b169b9a90951699939892979196909560ff90951694909190830182828015610f435780601f10610f1857610100808354040283529160200191610f43565b820191906000526020600020905b815481529060010190602001808311610f2657829003601f168201915b505050505090508a565b600854600160a060020a031681565b600080fd5b600c6020526000908152604090205481565b600d6020526000908152604090205481565b600754600160a060020a031681565b600154600160a060020a03163314610fab57600080fd5b610fb481610fd2565b50565b601160205281600052604060002081815481101515610d6b57fe5b600160a060020a0381161515610fe757600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fe425a7850726f78793a3a46756e6374696f6e2074656d706f726172696c7920706175736564a165627a7a72305820c1b2aa38d2221a8857035c84290301d172c2d006a779fb3ef07a14c02219db260029000000000000000000000000b447442ffa823a2ea5c5dd88fc2f8b66a46c961a
Deployed Bytecode
0x608060405260043610610200576000357c01000000000000000000000000000000000000000000000000000000009004806386042ec61161011f578063a72480ae116100b2578063d9fd734111610081578063d9fd734114610a70578063de3f26eb14610a9a578063f2fde38b14610aaf578063f4fb9b2f14610ae257610200565b8063a72480ae146108cf578063b7a025f9146109fc578063c4d66de814610a11578063cce37f3e14610a4657610200565b80639437d0ea116100ee5780639437d0ea1461076d5780639ae6b1861461079d5780639c3f1e90146107b25780639e312dac1461083e57610200565b806386042ec6146106ba5780638638aa65146106f35780638da5cb5b146107085780639048617a1461071d57610200565b80634b4056c511610197578063779dec5b11610166578063779dec5b146105ee5780637955f60f146106035780637b8e35141461064657806382c174d01461068157610200565b80634b4056c5146105195780635c445c861461056157806364a71040146105a657806371eb125e146105bb57610200565b80632274346b116101d35780632274346b1461047357806342ad3526146104885780634780eac1146104da5780634a7c3d50146104ef57610200565b8063093983bd1461036457806313e97c71146103aa57806316a6bff6146103f75780632035d73b1461042b575b60008035600160e060020a03191681526028602052604090205460ff1615610273576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110516025913960400191505060405180910390fd5b60008035600160e060020a031916815260276020526040902054600160a060020a031680151561030457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f425a7850726f78793a3a546172676574206e6f7420666f756e64000000000000604482015290519081900360640190fd5b60606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509384935091505060208401855af43d604051816000823e828015610360578282f35b8282fd5b34801561037057600080fd5b5061038e6004803603602081101561038757600080fd5b5035610b1b565b60408051600160a060020a039092168252519081900360200190f35b3480156103b657600080fd5b506103e5600480360360408110156103cd57600080fd5b50600160a060020a0381358116916020013516610b36565b60408051918252519081900360200190f35b34801561040357600080fd5b5061038e6004803603602081101561041a57600080fd5b5035600160e060020a031916610b53565b34801561043757600080fd5b5061045f6004803603602081101561044e57600080fd5b5035600160e060020a031916610b6e565b604080519115158252519081900360200190f35b34801561047f57600080fd5b5061038e610b83565b34801561049457600080fd5b506104c1600480360360408110156104ab57600080fd5b5080359060200135600160a060020a0316610b92565b6040805192835290151560208301528051918290030190f35b3480156104e657600080fd5b5061038e610bb9565b3480156104fb57600080fd5b506104c16004803603602081101561051257600080fd5b5035610bc8565b34801561052557600080fd5b506105436004803603602081101561053c57600080fd5b5035610be4565b60408051938452602084019290925282820152519081900360600190f35b34801561056d57600080fd5b506105436004803603606081101561058457600080fd5b50600160a060020a038135811691602081013582169160409091013516610c05565b3480156105b257600080fd5b5061038e610c37565b3480156105c757600080fd5b5061038e600480360360208110156105de57600080fd5b5035600160a060020a0316610c46565b3480156105fa57600080fd5b5061038e610c61565b34801561060f57600080fd5b5061062d6004803603602081101561062657600080fd5b5035610c70565b6040805192835260208301919091528051918290030190f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b50600160a060020a0381358116916020013516610c9c565b34801561068d57600080fd5b5061045f600480360360408110156106a457600080fd5b5080359060200135600160a060020a0316610cbc565b3480156106c657600080fd5b506103e5600480360360408110156106dd57600080fd5b5080359060200135600160a060020a0316610cdc565b3480156106ff57600080fd5b5061045f610cf9565b34801561071457600080fd5b5061038e610d1a565b34801561072957600080fd5b506107476004803603602081101561074057600080fd5b5035610d29565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561077957600080fd5b506103e56004803603604081101561079057600080fd5b5080359060200135610d50565b3480156107a957600080fd5b5061038e610d80565b3480156107be57600080fd5b506107dc600480360360208110156107d557600080fd5b5035610d8f565b60408051600160a060020a039b8c168152998b1660208b0152978a1689890152959098166060880152608087019390935260a086019190915260c085015260e08401526101008301939093526101208201929092529051908190036101400190f35b34801561084a57600080fd5b506108686004803603602081101561086157600080fd5b5035610df1565b60408051600160a060020a039c8d1681529a8c1660208c015298909a16898901526060890196909652608088019490945260a087019290925260c086015260e085015261010084015215156101208301526101408201929092529051908190036101600190f35b3480156108db57600080fd5b506108f9600480360360208110156108f257600080fd5b5035610e5b565b604051808b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a0316815260200189600160a060020a0316600160a060020a0316815260200188600160a060020a0316600160a060020a031681526020018781526020018681526020018581526020018481526020018315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109b85781810151838201526020016109a0565b50505050905090810190601f1680156109e55780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b348015610a0857600080fd5b5061038e610f4d565b348015610a1d57600080fd5b50610a4460048036036020811015610a3457600080fd5b5035600160a060020a0316610f5c565b005b348015610a5257600080fd5b506103e560048036036020811015610a6957600080fd5b5035610f61565b348015610a7c57600080fd5b506103e560048036036020811015610a9357600080fd5b5035610f73565b348015610aa657600080fd5b5061038e610f85565b348015610abb57600080fd5b50610a4460048036036020811015610ad257600080fd5b5035600160a060020a0316610f94565b348015610aee57600080fd5b506103e560048036036040811015610b0557600080fd5b50600160a060020a038135169060200135610fb7565b600e60205260009081526040902054600160a060020a031681565b601660209081526000928352604080842090915290825290205481565b602760205260009081526040902054600160a060020a031681565b60286020526000908152604090205460ff1681565b600654600160a060020a031681565b60126020908152600092835260408084209091529082529020805460019091015460ff1682565b600554600160a060020a031681565b6015602052600090815260409020805460019091015460ff1682565b60186020526000908152604090208054600182015460029092015490919083565b601760209081526000938452604080852082529284528284209052825290208054600182015460029092015490919083565b600454600160a060020a031681565b601a60205260009081526040902054600160a060020a031681565b600354600160a060020a031681565b6014805482908110610c7e57fe5b60009182526020909120600290910201805460019091015490915082565b601c60209081526000928352604080842090915290825290205460ff1681565b601b60209081526000928352604080842090915290825290205460ff1681565b601060209081526000928352604080842090915290825290205481565b60095474010000000000000000000000000000000000000000900460ff1681565b600154600160a060020a031681565b60196020526000908152604090208054600182015460028301546003909301549192909184565b601360205281600052604060002081815481101515610d6b57fe5b90600052602060002001600091509150505481565b600954600160a060020a031681565b600a602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460078801546008890154600990990154600160a060020a03988916999789169896871697959096169593949293919290918a565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a909a0154600160a060020a03998a169a988a16999097169795969495939492939192909160ff16908b565b600b602090815260009182526040918290208054600180830154600280850154600386015460048701546005880154600689015460078a015460088b015460098c0180548f516101009c8216159c909c02600019011698909804601f81018e90048e028b018e01909e528d8a52600160a060020a039a8b169d988b169c968b169b9a90951699939892979196909560ff90951694909190830182828015610f435780601f10610f1857610100808354040283529160200191610f43565b820191906000526020600020905b815481529060010190602001808311610f2657829003601f168201915b505050505090508a565b600854600160a060020a031681565b600080fd5b600c6020526000908152604090205481565b600d6020526000908152604090205481565b600754600160a060020a031681565b600154600160a060020a03163314610fab57600080fd5b610fb481610fd2565b50565b601160205281600052604060002081815481101515610d6b57fe5b600160a060020a0381161515610fe757600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fe425a7850726f78793a3a46756e6374696f6e2074656d706f726172696c7920706175736564a165627a7a72305820c1b2aa38d2221a8857035c84290301d172c2d006a779fb3ef07a14c02219db260029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b447442ffa823a2ea5c5dd88fc2f8b66a46c961a
-----Decoded View---------------
Arg [0] : _settings (address): 0xB447442FFA823a2EA5C5DD88fc2f8B66a46c961a
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b447442ffa823a2ea5c5dd88fc2f8b66a46c961a
Swarm Source
bzzr://c1b2aa38d2221a8857035c84290301d172c2d006a779fb3ef07a14c02219db26
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.999815 | 1 | $0.9998 |
Loading...
Loading
Loading...
Loading
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.