ETH Price: $3,111.90 (+1.19%)
Gas: 4 Gwei

Contract

0x7134689d46997b67aB637D970406cb5d97B01904
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Change Lock Peri...170332392023-04-12 16:55:47454 days ago1681318547IN
0x7134689d...d97B01904
0 ETH0.0016542932.96268958
Change Max Colle...164221752023-01-16 21:55:59540 days ago1673906159IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221742023-01-16 21:55:47540 days ago1673906147IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221732023-01-16 21:55:35540 days ago1673906135IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221722023-01-16 21:55:23540 days ago1673906123IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221712023-01-16 21:55:11540 days ago1673906111IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221702023-01-16 21:54:59540 days ago1673906099IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221692023-01-16 21:54:47540 days ago1673906087IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221682023-01-16 21:54:35540 days ago1673906075IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221672023-01-16 21:54:23540 days ago1673906063IN
0x7134689d...d97B01904
0 ETH0.0016311632
Change Max Colle...164221662023-01-16 21:54:11540 days ago1673906051IN
0x7134689d...d97B01904
0 ETH0.001630432
Change Max Colle...164221652023-01-16 21:53:59540 days ago1673906039IN
0x7134689d...d97B01904
0 ETH0.0022679632
0x6020610c164221182023-01-16 21:44:35540 days ago1673905475IN
 Create: Vyper_contract
0 ETH0.0234180832

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.7

Optimization Enabled:
N/A

Other Settings:
None license

Contract Source Code (Vyper language format)

# @version 0.3.7

"""
@title LiquidityControls
@author [Zharta](https://zharta.io/)
@notice The liquidity controls contract exists as the first and simple layer of automated risk management
@dev Does not rely on a data contract
"""

# Interfaces

interface ILendingPoolCore:
    def currentAmountDeposited(_lender: address) -> uint256: view
    def lockPeriodEnd(_lender: address) -> uint256: view
    def fundsInvested() -> uint256: view

interface ILendingPoolPeripheral:
    def theoreticalMaxFundsInvestable() -> uint256: view
    def theoreticalMaxFundsInvestableAfterDeposit(_amount: uint256) -> uint256: view

interface ILoansCore:
    def borrowedAmount(_borrower: address) -> uint256: view
    def collectionsBorrowedAmount(_collection: address) -> uint256: view

interface ILendingPoolLock:
    def investorLocks(arg0: address) -> InvestorLock: view

# Structs

struct InvestorLock:
    lockPeriodEnd: uint256
    lockPeriodAmount: uint256

# Events

event MaxPoolShareFlagChanged:
    value: bool

event MaxPoolShareChanged:
    value: uint256

event MaxLoansPoolShareFlagChanged:
    value: bool

event MaxLoansPoolShareChanged:
    value: uint256

event MaxCollectionBorrowableAmountFlagChanged:
    value: bool

event MaxCollectionBorrowableAmountChanged:
    collection: address
    value: uint256

event LockPeriodFlagChanged:
    value: bool

event LockPeriodDurationChanged:
    value: uint256


# Global variables

owner: public(address)

maxPoolShare: public(uint256)
maxLoansPoolShare: public(uint256)
lockPeriodDuration: public(uint256)
maxCollectionBorrowableAmount: public(HashMap[address, uint256])

maxPoolShareEnabled: public(bool)
lockPeriodEnabled: public(bool)
maxLoansPoolShareEnabled: public(bool)
maxCollectionBorrowableAmountEnabled: public(bool)


##### INTERNAL METHODS - VIEW #####


##### INTERNAL METHODS - WRITE #####


##### EXTERNAL METHODS - VIEW #####

@view
@external
def withinPoolShareLimit(_lender: address, _amount: uint256, _lpPeripheralContractAddress: address, _lpCoreContractAddress: address, _fundsInvestable: uint256 = 0) -> bool:
    if not self.maxPoolShareEnabled:
        return True

    fundsInvestable: uint256 = _fundsInvestable
    if _fundsInvestable == 0:
        fundsInvestable = ILendingPoolPeripheral(_lpPeripheralContractAddress).theoreticalMaxFundsInvestableAfterDeposit(_amount)
        if fundsInvestable == 0:
            return False

    lenderDepositedAmount: uint256 = ILendingPoolCore(_lpCoreContractAddress).currentAmountDeposited(_lender)

    return (lenderDepositedAmount + _amount) * 10000 / fundsInvestable <= self.maxPoolShare


@view
@external
def withinLoansPoolShareLimit(_borrower: address, _amount: uint256, _loansCoreContractAddress: address, _lpPeripheralContractAddress: address) -> bool:
    if not self.maxLoansPoolShareEnabled:
        return True

    borrowedAmount: uint256 = ILoansCore(_loansCoreContractAddress).borrowedAmount(_borrower)
    fundsInvestable: uint256 = ILendingPoolPeripheral(_lpPeripheralContractAddress).theoreticalMaxFundsInvestable()

    return (borrowedAmount + _amount) * 10000 / fundsInvestable <= self.maxLoansPoolShare


@view
@external
def outOfLockPeriod(_lender: address, _remainingAmount: uint256, _lpLockContractAddress: address) -> bool:
    if not self.lockPeriodEnabled:
        return True
    
    investorLock : InvestorLock = ILendingPoolLock(_lpLockContractAddress).investorLocks(_lender)
    return investorLock.lockPeriodEnd <= block.timestamp or _remainingAmount >= investorLock.lockPeriodAmount


@view
@external
def withinCollectionShareLimit(_amount: uint256, _collectionAddress: address, _loansCoreContractAddress: address, _lpCoreContractAddress: address) -> bool:
    if not self.maxCollectionBorrowableAmountEnabled:
        return True
    
    if self.maxCollectionBorrowableAmount[_collectionAddress] == 0:
        return True

    collectionBorrowedAmount: uint256 = ILoansCore(_loansCoreContractAddress).collectionsBorrowedAmount(_collectionAddress)

    return collectionBorrowedAmount + _amount <= self.maxCollectionBorrowableAmount[_collectionAddress]


##### EXTERNAL METHODS - NON-VIEW #####

@external
def __init__(
    _maxPoolShareEnabled: bool,
    _maxPoolShare: uint256,
    _lockPeriodEnabled: bool,
    _lockPeriodDuration: uint256,
    _maxLoansPoolShareEnabled: bool,
    _maxLoansPoolShare: uint256,
    _maxCollectionBorrowableAmountEnabled: bool
):
    assert _maxPoolShare <= 10000, "max pool share > 10000 bps"
    assert _maxLoansPoolShare <= 10000, "max loans pool share > 10000 bps"

    self.owner = msg.sender

    self.maxPoolShareEnabled = _maxPoolShareEnabled
    self.maxPoolShare = _maxPoolShare

    self.lockPeriodEnabled = _lockPeriodEnabled
    self.lockPeriodDuration = _lockPeriodDuration

    self.maxLoansPoolShareEnabled = _maxLoansPoolShareEnabled
    self.maxLoansPoolShare = _maxLoansPoolShare

    self.maxCollectionBorrowableAmountEnabled = _maxCollectionBorrowableAmountEnabled


@external
def changeMaxPoolShareConditions(_flag: bool, _value: uint256):
    """
    @notice Sets the parameters for the Max Pool Share control, the maximum share that a single lender can take from a lending pool
    @dev Logs `MaxPoolShareFlagChanged` and `MaxPoolShareChanged` events
    @param _flag Enables / disable the Max Pool Share control
    @param _value Sets the Max Pool Share value (bps) to use if `_flag` enables it
    """

    assert msg.sender == self.owner, "msg.sender is not the owner"
    assert _value <= 10000, "max pool share exceeds 10000 bps"
        
    self.maxPoolShare = _value

    log MaxPoolShareChanged(_value)

    self.maxPoolShareEnabled = _flag

    log MaxPoolShareFlagChanged(_flag)


@external
def changeMaxLoansPoolShareConditions(_flag: bool, _value: uint256):
    """
    @notice Sets the parameters for the Max Loans Pool Share control, the maximum share that a single borrower can represent from the total amount of borrowed funds
    @dev Logs `MaxLoansPoolShareFlagChanged` and `MaxLoansPoolShareChanged` events
    @param _flag Enables / disable the Max Loans Pool Share control
    @param _value Sets the Max Loans Pool Share value (bps) to use if `_flag` enables it
    """
    assert msg.sender == self.owner, "msg.sender is not the owner"
    assert _value <= 10000, "max pool share exceeds 10000 bps"
        
    self.maxLoansPoolShare = _value

    log MaxLoansPoolShareChanged(_value)

    self.maxLoansPoolShareEnabled = _flag

    log MaxLoansPoolShareFlagChanged(_flag)


@external
def changeMaxCollectionBorrowableAmount(_flag: bool, _collectionAddress: address, _value: uint256):
    """
    @notice Sets the parameters for the Max Collection Borrowable Amount control, the maximum share that a single collection can represent from the total amount of borrowed funds
    @dev Logs `MaxCollectionBorrowableAmountFlagChanged` and `MaxCollectionBorrowableAmountChanged` events
    @param _flag Enables / disable the Max Collection Borrowable Amount control
    @param _collectionAddress the address of the collection the control applies to
    @param _value Sets the Max Collection Borrowable Amount value (wei) to use if `_flag` enables it
    """
    assert msg.sender == self.owner, "msg.sender is not the owner"
    assert _collectionAddress != empty(address), "collection addr is empty addr"
        
    self.maxCollectionBorrowableAmount[_collectionAddress] = _value

    log MaxCollectionBorrowableAmountChanged(_collectionAddress, _value)

    self.maxCollectionBorrowableAmountEnabled = _flag

    log MaxCollectionBorrowableAmountFlagChanged(_flag)


@external
def changeLockPeriodConditions(_flag: bool, _value: uint256):
    """
    @notice Sets the parameters for the Lock Period control, the lock period applicable for deposits in lending pools, i.e. for each new deposit, it can’t be withdrawn before the lock period finishes. If the lender already has an ongoing lock period, a new deposit won’t extend the lock period
    @dev Logs `LockPeriodFlagChanged` and `LockPeriodDurationChanged` events
    @param _flag Enables / disable the Lock Period control
    @param _value Sets the Lock Period value (seconds) to use if `_flag` enables it
    """
    assert msg.sender == self.owner, "msg.sender is not the owner"
    
    self.lockPeriodDuration = _value

    log LockPeriodDurationChanged(_value)

    self.lockPeriodEnabled = _flag

    log LockPeriodFlagChanged(_flag)

Contract Security Audit

Contract ABI

[{"name":"MaxPoolShareFlagChanged","inputs":[{"name":"value","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"MaxPoolShareChanged","inputs":[{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"MaxLoansPoolShareFlagChanged","inputs":[{"name":"value","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"MaxLoansPoolShareChanged","inputs":[{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"MaxCollectionBorrowableAmountFlagChanged","inputs":[{"name":"value","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"MaxCollectionBorrowableAmountChanged","inputs":[{"name":"collection","type":"address","indexed":false},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"LockPeriodFlagChanged","inputs":[{"name":"value","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"LockPeriodDurationChanged","inputs":[{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"view","type":"function","name":"withinPoolShareLimit","inputs":[{"name":"_lender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_lpPeripheralContractAddress","type":"address"},{"name":"_lpCoreContractAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"withinPoolShareLimit","inputs":[{"name":"_lender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_lpPeripheralContractAddress","type":"address"},{"name":"_lpCoreContractAddress","type":"address"},{"name":"_fundsInvestable","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"withinLoansPoolShareLimit","inputs":[{"name":"_borrower","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_loansCoreContractAddress","type":"address"},{"name":"_lpPeripheralContractAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"outOfLockPeriod","inputs":[{"name":"_lender","type":"address"},{"name":"_remainingAmount","type":"uint256"},{"name":"_lpLockContractAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"withinCollectionShareLimit","inputs":[{"name":"_amount","type":"uint256"},{"name":"_collectionAddress","type":"address"},{"name":"_loansCoreContractAddress","type":"address"},{"name":"_lpCoreContractAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_maxPoolShareEnabled","type":"bool"},{"name":"_maxPoolShare","type":"uint256"},{"name":"_lockPeriodEnabled","type":"bool"},{"name":"_lockPeriodDuration","type":"uint256"},{"name":"_maxLoansPoolShareEnabled","type":"bool"},{"name":"_maxLoansPoolShare","type":"uint256"},{"name":"_maxCollectionBorrowableAmountEnabled","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"changeMaxPoolShareConditions","inputs":[{"name":"_flag","type":"bool"},{"name":"_value","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"changeMaxLoansPoolShareConditions","inputs":[{"name":"_flag","type":"bool"},{"name":"_value","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"changeMaxCollectionBorrowableAmount","inputs":[{"name":"_flag","type":"bool"},{"name":"_collectionAddress","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"changeLockPeriodConditions","inputs":[{"name":"_flag","type":"bool"},{"name":"_value","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"maxPoolShare","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"maxLoansPoolShare","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"lockPeriodDuration","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"maxCollectionBorrowableAmount","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"maxPoolShareEnabled","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"lockPeriodEnabled","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"maxLoansPoolShareEnabled","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"maxCollectionBorrowableAmountEnabled","inputs":[],"outputs":[{"name":"","type":"bool"}]}]

6020610c006000396000518060011c610bfb576040526020610c406000396000518060011c610bfb576060526020610c806000396000518060011c610bfb576080526020610cc06000396000518060011c610bfb5760a05234610bfb576127106020610c2060003960005111156100cd57601a60c0527f6d617820706f6f6c207368617265203e2031303030302062707300000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b6127106020610ca0600039600051111561013e57602060c0527f6d6178206c6f616e7320706f6f6c207368617265203e2031303030302062707360e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b336000556040516005556020610c206000396000516001556060516006556020610c606000396000516003556080516007556020610ca060003960005160025560a051600855610a6461019661000039610a64610000f36003361161000c57610a4c565b60003560e01c34610a525763e88a19fe81186100345760843610610a5257600060a05261004e565b63a1cdb11a81186101725760a43610610a525760843560a0525b6004358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a525760805260055461008d57600160c052602060c0610170565b60a05160c05260a0516100eb5760605163ef595e5960e05260243561010052602060e0602460fc845afa6100c6573d600060003e3d6000fd5b60203d10610a525760e090505160c05260c0516100eb57600060e052602060e0610170565b6080516305b3733c61010052604051610120526020610100602461011c845afa61011a573d600060003e3d6000fd5b60203d10610a525761010090505160e05260015460e051602435808201828110610a525790509050612710810281612710820418610a5257905060c0518015610a52578082049050905011156101005260206101005bf35b63985b50b081186102795760843610610a52576004358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a52576080526007546101c457600160a052602060a0610277565b60605163948adb8f60c05260405160e052602060c0602460dc845afa6101ef573d600060003e3d6000fd5b60203d10610a525760c090505160a052608051632b90f8da60e052602060e0600460fc845afa610224573d600060003e3d6000fd5b60203d10610a525760e090505160c05260025460a051602435808201828110610a525790509050612710810281612710820418610a5257905060c0518015610a525780820490509050111560e052602060e05bf35b632381cbd481186103265760643610610a52576004358060a01c610a52576040526044358060a01c610a52576060526006546102bd57600160805260206080610324565b60605163ebdef1d360c05260405160e052604060c0602460dc845afa6102e8573d600060003e3d6000fd5b60403d10610a525760c090508051608052602081015160a052504260805111156103195760a051602435101561031c565b60015b60c052602060c05bf35b63f8ba072b81186104075760843610610a52576024358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a525760805260085461037857600160a052602060a0610405565b600460405160205260005260406000205461039b57600160a052602060a0610405565b6060516382ba67db60c05260405160e052602060c0602460dc845afa6103c6573d600060003e3d6000fd5b60203d10610a525760c090505160a052600460405160205260005260406000205460a051600435808201828110610a525790509050111560c052602060c05bf35b63e3bea7a9811861055e5760443610610a52576004358060011c610a525760405260005433181561048f57601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b61271060243511156104f85760206060527f6d617820706f6f6c20736861726520657863656564732031303030302062707360805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356001557f8e350acab9351f00986c116a5908a8dc0b1292f4ed487c7e1d43285c5449857160243560605260206060a16040516005557fd23c2162452d11505567e604be4ef8d8e97afaf6353d7dc883a2def6de052dfd60405160605260206060a1005b63cf6a556381186106b55760443610610a52576004358060011c610a52576040526000543318156105e657601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b612710602435111561064f5760206060527f6d617820706f6f6c20736861726520657863656564732031303030302062707360805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356002557fa248a82c064c88082c77429d167a3972c2b0f44bdc2d1ba222130c7faca3c0c060243560605260206060a16040516007557f446562123e4ea5b3518a5d5ee3f44c4be575b21547f9a939e31fafa3511bafd660405160605260206060a1005b63cd1e6b6981186108295760643610610a52576004358060011c610a52576040526024358060a01c610a525760605260005433181561074b57601b6080527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6060516107af57601d6080527f636f6c6c656374696f6e206164647220697320656d707479206164647200000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60443560046060516020526000526040600020557f30866bcc972cf1308e5784e704f1b4616346788bf00f32dc576b549e68649ba960605160805260443560a05260406080a16040516008557f18b15df76d2c424cacf3cd274e2b3c6e3113bbf151da449e0662bff44c70b1ab60405160805260206080a1005b63a7a2a5ba81186109175760443610610a52576004358060011c610a52576040526000543318156108b157601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356003557f51289691f9789c4bf4a182981f94a4ade7197de4ed71acbc1dba1ef7d937c0da60243560605260206060a16040516006557fbb2aafe04155dab7812dcafb2a09441bbbfe3b02f60c3911c82bae302b31ca1360405160605260206060a1005b638da5cb5b81186109365760043610610a525760005460405260206040f35b63c99290c581186109555760043610610a525760015460405260206040f35b638b6db1b281186109745760043610610a525760025460405260206040f35b6337f5c13681186109935760043610610a525760035460405260206040f35b634244bff081186109ce5760243610610a52576004358060a01c610a5257604052600460405160205260005260406000205460605260206060f35b6328b3bf2a81186109ed5760043610610a525760055460405260206040f35b635fd052498118610a0c5760043610610a525760065460405260206040f35b6385c9a2b48118610a2b5760043610610a525760075460405260206040f35b63fde1ac618118610a4a5760043610610a525760085460405260206040f35b505b60006000fd5b600080fda165767970657283000307000b005b600080fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc0000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6003361161000c57610a4c565b60003560e01c34610a525763e88a19fe81186100345760843610610a5257600060a05261004e565b63a1cdb11a81186101725760a43610610a525760843560a0525b6004358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a525760805260055461008d57600160c052602060c0610170565b60a05160c05260a0516100eb5760605163ef595e5960e05260243561010052602060e0602460fc845afa6100c6573d600060003e3d6000fd5b60203d10610a525760e090505160c05260c0516100eb57600060e052602060e0610170565b6080516305b3733c61010052604051610120526020610100602461011c845afa61011a573d600060003e3d6000fd5b60203d10610a525761010090505160e05260015460e051602435808201828110610a525790509050612710810281612710820418610a5257905060c0518015610a52578082049050905011156101005260206101005bf35b63985b50b081186102795760843610610a52576004358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a52576080526007546101c457600160a052602060a0610277565b60605163948adb8f60c05260405160e052602060c0602460dc845afa6101ef573d600060003e3d6000fd5b60203d10610a525760c090505160a052608051632b90f8da60e052602060e0600460fc845afa610224573d600060003e3d6000fd5b60203d10610a525760e090505160c05260025460a051602435808201828110610a525790509050612710810281612710820418610a5257905060c0518015610a525780820490509050111560e052602060e05bf35b632381cbd481186103265760643610610a52576004358060a01c610a52576040526044358060a01c610a52576060526006546102bd57600160805260206080610324565b60605163ebdef1d360c05260405160e052604060c0602460dc845afa6102e8573d600060003e3d6000fd5b60403d10610a525760c090508051608052602081015160a052504260805111156103195760a051602435101561031c565b60015b60c052602060c05bf35b63f8ba072b81186104075760843610610a52576024358060a01c610a52576040526044358060a01c610a52576060526064358060a01c610a525760805260085461037857600160a052602060a0610405565b600460405160205260005260406000205461039b57600160a052602060a0610405565b6060516382ba67db60c05260405160e052602060c0602460dc845afa6103c6573d600060003e3d6000fd5b60203d10610a525760c090505160a052600460405160205260005260406000205460a051600435808201828110610a525790509050111560c052602060c05bf35b63e3bea7a9811861055e5760443610610a52576004358060011c610a525760405260005433181561048f57601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b61271060243511156104f85760206060527f6d617820706f6f6c20736861726520657863656564732031303030302062707360805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356001557f8e350acab9351f00986c116a5908a8dc0b1292f4ed487c7e1d43285c5449857160243560605260206060a16040516005557fd23c2162452d11505567e604be4ef8d8e97afaf6353d7dc883a2def6de052dfd60405160605260206060a1005b63cf6a556381186106b55760443610610a52576004358060011c610a52576040526000543318156105e657601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b612710602435111561064f5760206060527f6d617820706f6f6c20736861726520657863656564732031303030302062707360805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356002557fa248a82c064c88082c77429d167a3972c2b0f44bdc2d1ba222130c7faca3c0c060243560605260206060a16040516007557f446562123e4ea5b3518a5d5ee3f44c4be575b21547f9a939e31fafa3511bafd660405160605260206060a1005b63cd1e6b6981186108295760643610610a52576004358060011c610a52576040526024358060a01c610a525760605260005433181561074b57601b6080527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6060516107af57601d6080527f636f6c6c656374696f6e206164647220697320656d707479206164647200000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60443560046060516020526000526040600020557f30866bcc972cf1308e5784e704f1b4616346788bf00f32dc576b549e68649ba960605160805260443560a05260406080a16040516008557f18b15df76d2c424cacf3cd274e2b3c6e3113bbf151da449e0662bff44c70b1ab60405160805260206080a1005b63a7a2a5ba81186109175760443610610a52576004358060011c610a52576040526000543318156108b157601b6060527f6d73672e73656e646572206973206e6f7420746865206f776e6572000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6024356003557f51289691f9789c4bf4a182981f94a4ade7197de4ed71acbc1dba1ef7d937c0da60243560605260206060a16040516006557fbb2aafe04155dab7812dcafb2a09441bbbfe3b02f60c3911c82bae302b31ca1360405160605260206060a1005b638da5cb5b81186109365760043610610a525760005460405260206040f35b63c99290c581186109555760043610610a525760015460405260206040f35b638b6db1b281186109745760043610610a525760025460405260206040f35b6337f5c13681186109935760043610610a525760035460405260206040f35b634244bff081186109ce5760243610610a52576004358060a01c610a5257604052600460405160205260005260406000205460605260206060f35b6328b3bf2a81186109ed5760043610610a525760055460405260206040f35b635fd052498118610a0c5760043610610a525760065460405260206040f35b6385c9a2b48118610a2b5760043610610a525760075460405260206040f35b63fde1ac618118610a4a5760043610610a525760085460405260206040f35b505b60006000fd5b600080fda165767970657283000307000b

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

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _maxPoolShareEnabled (bool): False
Arg [1] : _maxPoolShare (uint256): 1500
Arg [2] : _lockPeriodEnabled (bool): False
Arg [3] : _lockPeriodDuration (uint256): 604800
Arg [4] : _maxLoansPoolShareEnabled (bool): False
Arg [5] : _maxLoansPoolShare (uint256): 1500
Arg [6] : _maxCollectionBorrowableAmountEnabled (bool): False

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000093a80
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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.