S Price: $0.513794 (+5.49%)
    /

    Contract

    0xC84F54B2dB8752f80DEE5b5A48b64a2774d2B445
    Age:24H
    Amount:Between 1-100k
    Reset Filter

    Transaction Hash
    Method
    Block
    Age
    From
    To
    Amount

    There are no matching entries

    > 10 Token Transfers found.

    Parent Transaction Hash Block Age From To Amount
    View All Internal Transactions
    Loading...
    Loading

    Contract Source Code Verified (Exact Match)

    Contract Name:
    CErc20Delegator

    Compiler Version
    v0.8.22+commit.4fc1097e

    Optimization Enabled:
    Yes with 200 runs

    Other Settings:
    paris EvmVersion
    File 1 of 6 : CErc20Delegator.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    import "./CTokenInterfaces.sol";
    /**
    * @title Mach's CErc20Delegator Contract
    * @notice CTokens which wrap an EIP-20 underlying and delegate to an implementation
    * @author Mach
    */
    contract CErc20Delegator is CTokenInterface, CErc20Interface, CDelegatorInterface {
    /**
    * @notice Construct a new money market
    * @param underlying_ The address of the underlying asset
    * @param comptroller_ The address of the Comptroller
    * @param interestRateModel_ The address of the interest rate model
    * @param initialExchangeRateMantissa_ The initial exchange rate, scaled by 1e18
    * @param name_ ERC-20 name of this token
    * @param symbol_ ERC-20 symbol of this token
    * @param decimals_ ERC-20 decimal precision of this token
    * @param admin_ Address of the administrator of this token
    * @param implementation_ The address of the implementation the contract delegates to
    * @param becomeImplementationData The encoded args for becomeImplementation
    */
    constructor(
    address underlying_,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 6 : CTokenInterfaces.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    import "./ComptrollerInterface.sol";
    import "./InterestRateModel.sol";
    import "./EIP20NonStandardInterface.sol";
    import "./ErrorReporter.sol";
    contract CTokenStorage {
    /**
    * @dev Guard variable for re-entrancy checks
    */
    bool internal _notEntered;
    /**
    * @notice EIP-20 token name for this token
    */
    string public name;
    /**
    * @notice EIP-20 token symbol for this token
    */
    string public symbol;
    /**
    * @notice EIP-20 token decimals for this token
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 6 : ComptrollerInterface.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    abstract contract ComptrollerInterface {
    /// @notice Indicator that this is a Comptroller contract (for inspection)
    bool public constant isComptroller = true;
    /**
    * Assets You Are In **
    */
    function enterMarkets(address[] calldata cTokens) external virtual returns (uint256[] memory);
    function exitMarket(address cToken) external virtual returns (uint256);
    function checkMembership(address account, address cToken) external view virtual returns (bool);
    function enterMarketForCToken(address cToken, address account) external virtual returns (uint256);
    /**
    * Policy Hooks **
    */
    function mintAllowed(address cToken, address minter, uint256 mintAmount) external virtual returns (uint256);
    function mintVerify(address cToken, address minter, uint256 mintAmount, uint256 mintTokens) external virtual;
    function redeemAllowed(address cToken, address redeemer, uint256 redeemTokens) external virtual returns (uint256);
    function redeemVerify(address cToken, address redeemer, uint256 redeemAmount, uint256 redeemTokens)
    external
    virtual;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 6 : InterestRateModel.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    /**
    * @title Mach's InterestRateModel Interface
    * @author Mach Finance
    */
    abstract contract InterestRateModel {
    /// @notice Indicator that this is an InterestRateModel contract (for inspection)
    bool public constant isInterestRateModel = true;
    /**
    * @notice Calculates the current borrow interest rate per timestamp
    * @param cash The total amount of cash the market has
    * @param borrows The total amount of borrows the market has outstanding
    * @param reserves The total amount of reserves the market has
    * @return The borrow rate per timestamp (as a percentage, and scaled by 1e18)
    */
    function getBorrowRate(uint256 cash, uint256 borrows, uint256 reserves) external view virtual returns (uint256);
    /**
    * @notice Calculates the current supply interest rate per timestamp
    * @param cash The total amount of cash the market has
    * @param borrows The total amount of borrows the market has outstanding
    * @param reserves The total amount of reserves the market has
    * @param reserveFactorMantissa The current reserve factor the market has
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 6 : EIP20NonStandardInterface.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    /**
    * @title EIP20NonStandardInterface
    * @dev Version of ERC20 with no return values for `transfer` and `transferFrom`
    * See https://medium.com/coinmonks/missing-return-value-bug-at-least-130-tokens-affected-d67bf08521ca
    */
    interface EIP20NonStandardInterface {
    /**
    * @notice Get the total number of tokens in circulation
    * @return The supply of tokens
    */
    function totalSupply() external view returns (uint256);
    /**
    * @notice Gets the balance of the specified address
    * @param owner The address from which the balance will be retrieved
    * @return balance The balance
    */
    function balanceOf(address owner) external view returns (uint256 balance);
    ///
    /// !!!!!!!!!!!!!!
    /// !!! NOTICE !!! `transfer` does not return a value, in violation of the ERC-20 specification
    /// !!!!!!!!!!!!!!
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 6 : ErrorReporter.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: BSD-3-Clause
    pragma solidity 0.8.22;
    contract ComptrollerErrorReporter {
    enum Error {
    NO_ERROR,
    UNAUTHORIZED,
    COMPTROLLER_MISMATCH,
    INSUFFICIENT_SHORTFALL,
    INSUFFICIENT_LIQUIDITY,
    INVALID_CLOSE_FACTOR,
    INVALID_COLLATERAL_FACTOR,
    INVALID_LIQUIDATION_INCENTIVE,
    MARKET_NOT_ENTERED, // no longer possible
    MARKET_NOT_LISTED,
    MARKET_ALREADY_LISTED,
    MATH_ERROR,
    NONZERO_BORROW_BALANCE,
    PRICE_ERROR,
    REJECTION,
    SNAPSHOT_ERROR,
    TOO_MANY_ASSETS,
    TOO_MUCH_REPAY
    }
    enum FailureInfo {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "remappings": [
    "@pythnetwork/pyth-sdk-solidity/=lib/pyth-crosschain/target_chains/ethereum/sdk/solidity/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
    "@api3/contracts/=lib/contracts/contracts/",
    "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/",
    "pyth-crosschain/=lib/pyth-crosschain/",
    "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"
    ],
    "optimizer": {
    "enabled": true,
    "runs": 200
    },
    "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
    },
    "outputSelection": {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    API
    [{"inputs":[{"internalType":"address","name":"underlying_","type":"address"},{"internalType":"contract ComptrollerInterface","name":"comptroller_","type":"address"},{"internalType":"contract InterestRateModel","name":"interestRateModel_","type":"address"},{"internalType":"uint256","name":"initialExchangeRateMantissa_","type":"uint256"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address payable","name":"admin_","type":"address"},{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bytes","name":"becomeImplementationData","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cashPrior","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"interestAccumulated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"borrowIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalBorrows","type":"uint256"}],"name":"AccrueInterest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"borrowAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accountBorrows","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalBorrows","type":"uint256"}],"name":"Borrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"repayAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"cTokenCollateral","type":"address"},{"indexed":false,"internalType":"uint256","name":"seizeTokens","type":"uint256"}],"name":"LiquidateBorrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"mintAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"mintTokens","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract ComptrollerInterface","name":"oldComptroller","type":"address"},{"indexed":false,"internalType":"contract ComptrollerInterface","name":"newComptroller","type":"address"}],"name":"NewComptroller","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract InterestRateModel","name":"oldInterestRateModel","type":"address"},{"indexed":false,"internalType":"contract InterestRateModel","name":"newInterestRateModel","type":"address"}],"name":"NewMarketInterestRateModel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldProtocolSeizeShareMantissa","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newProtocolSeizeShareMantissa","type":"uint256"}],"name":"NewProtocolSeizeShare","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldReserveFactorMantissa","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newReserveFactorMantissa","type":"uint256"}],"name":"NewReserveFactor","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"redeemer","type":"address"},{"indexed":false,"internalType":"uint256","name":"redeemAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"redeemTokens","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"payer","type":"address"},{"indexed":false,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"repayAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accountBorrows","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalBorrows","type":"uint256"}],"name":"RepayBorrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"benefactor","type":"address"},{"indexed":false,"internalType":"uint256","name":"addAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalReserves","type":"uint256"}],"name":"ReservesAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"},{"indexed":false,"internalType":"uint256","name":"reduceAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalReserves","type":"uint256"}],"name":"ReservesReduced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_acceptAdmin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"addAmount","type":"uint256"}],"name":"_addReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reduceAmount","type":"uint256"}],"name":"_reduceReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ComptrollerInterface","name":"newComptroller","type":"address"}],"name":"_setComptroller","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bool","name":"allowResign","type":"bool"},{"internalType":"bytes","name":"becomeImplementationData","type":"bytes"}],"name":"_setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract InterestRateModel","name":"newInterestRateModel","type":"address"}],"name":"_setInterestRateModel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newPendingAdmin","type":"address"}],"name":"_setPendingAdmin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newProtocolSeizeShareMantissa","type":"uint256"}],"name":"_setProtocolSeizeShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newReserveFactorMantissa","type":"uint256"}],"name":"_setReserveFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accrualBlockTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accrueInterest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"borrowAmount","type":"uint256"}],"name":"borrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"borrowBalanceCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"borrowBalanceStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowRatePerTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"comptroller","outputs":[{"internalType":"contract ComptrollerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"delegateToImplementation","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"delegateToViewImplementation","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeRateCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeRateStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interestRateModel","outputs":[{"internalType":"contract InterestRateModel","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isCToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"repayAmount","type":"uint256"},{"internalType":"contract CTokenInterface","name":"cTokenCollateral","type":"address"}],"name":"liquidateBorrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mintAsCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolSeizeShareMantissa","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"redeemTokens","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redeemAmount","type":"uint256"}],"name":"redeemUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"repayAmount","type":"uint256"}],"name":"repayBorrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"repayAmount","type":"uint256"}],"name":"repayBorrowBehalf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reserveFactorMantissa","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"liquidator","type":"address"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"seizeTokens","type":"uint256"}],"name":"seize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supplyRatePerTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract EIP20NonStandardInterface","name":"token","type":"address"}],"name":"sweepToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBorrows","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBorrowsCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

    60806040523480156200001157600080fd5b50604051620022e6380380620022e683398101604081905262000034916200040a565b60038054610100600160a81b0319163361010002179055604051620000a590839062000071908d908d908d908d908d908d908d9060240162000546565b60408051601f198184030181529190526020810180516001600160e01b03908116631a31d46560e01b17909152620000ea16565b50620000b48260008362000166565b5050600380546001600160a01b0390921661010002610100600160a81b031990921691909117905550620005e995505050505050565b6060600080846001600160a01b031684604051620001099190620005af565b600060405180830381855af49150503d806000811462000146576040519150601f19603f3d011682016040523d82523d6000602084013e6200014b565b606091505b509092509050816200015e573d60208201fd5b949350505050565b60035461010090046001600160a01b03163314620001f05760405162461bcd60e51b815260206004820152603960248201527f43457263323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e00000000000000606482015260840160405180910390fd5b811562000232576040805160048152602481019091526020810180516001600160e01b0390811663153ab50560e01b17909152620002309190620002ed16565b505b601380546001600160a01b038581166001600160a01b03198316179092556040519116906200029f906200026b908490602401620005cd565b60408051601f198184030181529190526020810180516001600160e01b03908116630adccee560e31b17909152620002ed16565b50601354604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b60135460609062000308906001600160a01b031683620000ea565b92915050565b80516001600160a01b03811681146200032657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200035e57818101518382015260200162000344565b50506000910152565b600082601f8301126200037957600080fd5b81516001600160401b03808211156200039657620003966200032b565b604051601f8301601f19908116603f01168101908282118183101715620003c157620003c16200032b565b81604052838152866020858801011115620003db57600080fd5b620003ee84602083016020890162000341565b9695505050505050565b805160ff811681146200032657600080fd5b6000806000806000806000806000806101408b8d0312156200042b57600080fd5b620004368b6200030e565b99506200044660208c016200030e565b98506200045660408c016200030e565b60608c015160808d015191995097506001600160401b03808211156200047b57600080fd5b620004898e838f0162000367565b975060a08d0151915080821115620004a057600080fd5b620004ae8e838f0162000367565b9650620004be60c08e01620003f8565b9550620004ce60e08e016200030e565b9450620004df6101008e016200030e565b93506101208d0151915080821115620004f757600080fd5b50620005068d828e0162000367565b9150509295989b9194979a5092959850565b600081518084526200053281602086016020860162000341565b601f01601f19169290920160200192915050565b6001600160a01b0388811682528781166020830152861660408201526060810185905260e060808201819052600090620005839083018662000518565b82810360a084015262000597818662000518565b91505060ff831660c083015298975050505050505050565b60008251620005c381846020870162000341565b9190910192915050565b602081526000620005e2602083018462000518565b9392505050565b611ced80620005f96000396000f3fe6080604052600436106103355760003560e01c806373acee98116101ab578063c37f68e2116100f7578063e9c714f211610095578063f5e3c4621161006f578063f5e3c46214610a2f578063f851a44014610a4f578063fca7820b14610a74578063fe9c44ae14610a9457610335565b8063e9c714f2146109da578063f2b3abbd146109ef578063f3fdb15a14610a0f57610335565b8063cfa99201116100d1578063cfa992011461096f578063d3bd2c7214610985578063db006a751461099a578063dd62ed3e146109ba57610335565b8063c37f68e2146108fa578063c5ebeaec1461093a578063cd91801c1461095a57610335565b8063a0712d6811610164578063aa5af0fd1161013e578063aa5af0fd1461088f578063b2a02ff1146108a5578063b71d1a0c146108c5578063bd6d894d146108e557610335565b8063a0712d681461083a578063a6afed951461085a578063a9059cbb1461086f57610335565b806373acee981461079a57806383030846146107af578063852a12e3146107cf5780638f840ddd146107ef57806395d89b411461080557806395dd91931461081a57610335565b80633af9e66911610285578063562d62a311610223578063601a0bf1116101fd578063601a0bf1146107245780636752e702146107445780636f307dc31461075a57806370a082311461077a57610335565b8063562d62a3146106c45780635c60da1b146106e45780635fe3b5671461070457610335565b80634487152f1161025f5780634487152f1461064e5780634576b5db1461066e57806347bd37181461068e578063555bcc40146106a457610335565b80633af9e669146105f95780633b1d21a2146106195780633e9410101461062e57610335565b806318160ddd116102f257806323b872dd116102cc57806323b872dd146105555780632608f818146105755780632678224714610595578063313ce567146105cd57610335565b806318160ddd1461050a578063182df0f5146105205780631be195601461053557610335565b806306fdde031461042b5780630933c1ed14610456578063095ea7b3146104765780630e752702146104a6578063173b9904146104d457806317bfdfbc146104ea575b34156103ae5760405162461bcd60e51b815260206004820152603760248201527f43457263323044656c656761746f723a66616c6c6261636b3a2063616e6e6f7460448201527f2073656e642076616c756520746f2066616c6c6261636b00000000000000000060648201526084015b60405180910390fd5b6013546040516000916001600160a01b0316906103ce9083903690611874565b600060405180830381855af49150503d8060008114610409576040519150601f19603f3d011682016040523d82523d6000602084013e61040e565b606091505b505090506040513d6000823e818015610425573d82f35b3d82fd5b005b34801561043757600080fd5b50610440610aa9565b60405161044d91906118d4565b60405180910390f35b34801561046257600080fd5b506104406104713660046119ac565b610b37565b34801561048257600080fd5b506104966104913660046119f9565b610b56565b604051901515815260200161044d565b3480156104b257600080fd5b506104c66104c1366004611a25565b610bc8565b60405190815260200161044d565b3480156104e057600080fd5b506104c660085481565b3480156104f657600080fd5b506104c6610505366004611a3e565b610c2d565b34801561051657600080fd5b506104c6600d5481565b34801561052c57600080fd5b506104c6610c7a565b34801561054157600080fd5b50610429610550366004611a3e565b610ccd565b34801561056157600080fd5b50610496610570366004611a5b565b610d18565b34801561058157600080fd5b506104c66105903660046119f9565b610d93565b3480156105a157600080fd5b506004546105b5906001600160a01b031681565b6040516001600160a01b03909116815260200161044d565b3480156105d957600080fd5b506003546105e79060ff1681565b60405160ff909116815260200161044d565b34801561060557600080fd5b506104c6610614366004611a3e565b610dfd565b34801561062557600080fd5b506104c6610e4a565b34801561063a57600080fd5b506104c6610649366004611a25565b610e81565b34801561065a57600080fd5b506104406106693660046119ac565b610ec9565b34801561067a57600080fd5b506104c6610689366004611a3e565b610f84565b34801561069a57600080fd5b506104c6600b5481565b3480156106b057600080fd5b506104296106bf366004611aaa565b610fd1565b3480156106d057600080fd5b506104c66106df366004611a25565b611143565b3480156106f057600080fd5b506013546105b5906001600160a01b031681565b34801561071057600080fd5b506005546105b5906001600160a01b031681565b34801561073057600080fd5b506104c661073f366004611a25565b61118b565b34801561075057600080fd5b506104c660115481565b34801561076657600080fd5b506012546105b5906001600160a01b031681565b34801561078657600080fd5b506104c6610795366004611a3e565b6111d3565b3480156107a657600080fd5b506104c6611220565b3480156107bb57600080fd5b506104c66107ca366004611a25565b611257565b3480156107db57600080fd5b506104c66107ea366004611a25565b61129f565b3480156107fb57600080fd5b506104c6600c5481565b34801561081157600080fd5b506104406112e7565b34801561082657600080fd5b506104c6610835366004611a3e565b6112f4565b34801561084657600080fd5b506104c6610855366004611a25565b611341565b34801561086657600080fd5b506104c6611389565b34801561087b57600080fd5b5061049661088a3660046119f9565b6113c0565b34801561089b57600080fd5b506104c6600a5481565b3480156108b157600080fd5b506104c66108c0366004611a5b565b611414565b3480156108d157600080fd5b506104c66108e0366004611a3e565b611486565b3480156108f157600080fd5b506104c66114d3565b34801561090657600080fd5b5061091a610915366004611a3e565b61150a565b60408051948552602085019390935291830152606082015260800161044d565b34801561094657600080fd5b506104c6610955366004611a25565b61158a565b34801561096657600080fd5b506104c66115d2565b34801561097b57600080fd5b506104c660095481565b34801561099157600080fd5b506104c6611609565b3480156109a657600080fd5b506104c66109b5366004611a25565b611640565b3480156109c657600080fd5b506104c66109d5366004611b0c565b611688565b3480156109e657600080fd5b506104c66116dd565b3480156109fb57600080fd5b506104c6610a0a366004611a3e565b611714565b348015610a1b57600080fd5b506006546105b5906001600160a01b031681565b348015610a3b57600080fd5b506104c6610a4a366004611b45565b611761565b348015610a5b57600080fd5b506003546105b59061010090046001600160a01b031681565b348015610a8057600080fd5b506104c6610a8f366004611a25565b6117bd565b348015610aa057600080fd5b50610496600181565b60018054610ab690611b87565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae290611b87565b8015610b2f5780601f10610b0457610100808354040283529160200191610b2f565b820191906000526020600020905b815481529060010190602001808311610b1257829003601f168201915b505050505081565b601354606090610b50906001600160a01b031683611805565b92915050565b6040516001600160a01b0383166024820152604481018290526000908190610baa9060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b179052610b37565b905080806020019051810190610bc09190611bc1565b949350505050565b600080610c1083604051602401610be191815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663073a938160e11b179052610b37565b905080806020019051810190610c269190611bde565b9392505050565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166305eff7ef60e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663182df0f560e01b1790526000908190610cb190610ec9565b905080806020019051810190610cc79190611bde565b91505090565b6040516001600160a01b0382166024820152610d149060440160408051601f198184030181529190526020810180516001600160e01b031662df0cab60e51b179052610b37565b5050565b6040516001600160a01b03808516602483015283166044820152606481018290526000908190610d749060840160408051601f198184030181529190526020810180516001600160e01b03166323b872dd60e01b179052610b37565b905080806020019051810190610d8a9190611bc1565b95945050505050565b6040516001600160a01b0383166024820152604481018290526000908190610de79060640160408051601f198184030181529190526020810180516001600160e01b03166304c11f0360e31b179052610b37565b905080806020019051810190610bc09190611bde565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316633af9e66960e01b179052610b37565b6040805160048152602481019091526020810180516001600160e01b0316631d8e90d160e11b1790526000908190610cb190610ec9565b600080610c1083604051602401610e9a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166303e9410160e41b179052610b37565b6060600080306001600160a01b031684604051602401610ee991906118d4565b60408051601f198184030181529181526020820180516001600160e01b0316630933c1ed60e01b17905251610f1e9190611bf7565b600060405180830381855afa9150503d8060008114610f59576040519150601f19603f3d011682016040523d82523d6000602084013e610f5e565b606091505b50909250905081610f70573d60208201fd5b80806020019051810190610bc09190611c13565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316634576b5db60e01b179052610b37565b60035461010090046001600160a01b031633146110565760405162461bcd60e51b815260206004820152603960248201527f43457263323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e0000000000000060648201526084016103a5565b8115611090576040805160048152602481019091526020810180516001600160e01b031663153ab50560e01b17905261108e90610b37565b505b601380546001600160a01b038581166001600160a01b03198316179092556040519116906110f5906110c69084906024016118d4565b60408051601f198184030181529190526020810180516001600160e01b0316630adccee560e31b179052610b37565b50601354604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b600080610c108360405160240161115c91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663562d62a360e01b179052610b37565b600080610c10836040516024016111a491815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663601a0bf160e01b179052610b37565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052610ec9565b6040805160048152602481019091526020810180516001600160e01b0316630e759dd360e31b1790526000908190610cb190610b37565b600080610c108360405160240161127091815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316634181842360e11b179052610b37565b600080610c10836040516024016112b891815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663852a12e360e01b179052610b37565b60028054610ab690611b87565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166395dd919360e01b179052610ec9565b600080610c108360405160240161135a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663140e25ad60e31b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663a6afed9560e01b1790526000908190610cb190610b37565b6040516001600160a01b0383166024820152604481018290526000908190610baa9060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610b37565b6040516001600160a01b038085166024830152831660448201526064810182905260009081906114709060840160408051601f198184030181529190526020810180516001600160e01b031663b2a02ff160e01b179052610b37565b905080806020019051810190610d8a9190611bde565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316632dc7468360e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663bd6d894d60e01b1790526000908190610cb190610b37565b60008060008060006115648660405160240161153591906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166361bfb47160e11b179052610ec9565b90508080602001905181019061157a9190611c81565b9450945094509450509193509193565b600080610c10836040516024016115a391815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663317afabb60e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b0316633364600760e21b1790526000908190610cb190610ec9565b6040805160048152602481019091526020810180516001600160e01b03166369de963960e11b1790526000908190610cb190610ec9565b600080610c108360405160240161165991815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663db006a7560e01b179052610b37565b6040516001600160a01b038084166024830152821660448201526000908190610de79060640160408051601f198184030181529190526020810180516001600160e01b0316636eb1769f60e11b179052610ec9565b6040805160048152602481019091526020810180516001600160e01b03166374e38a7960e11b1790526000908190610cb190610b37565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b031663f2b3abbd60e01b179052610b37565b6040516001600160a01b038085166024830152604482018490528216606482015260009081906114709060840160408051601f198184030181529190526020810180516001600160e01b0316637af1e23160e11b179052610b37565b600080610c10836040516024016117d691815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663fca7820b60e01b179052610b37565b6060600080846001600160a01b0316846040516118229190611bf7565b600060405180830381855af49150503d806000811461185d576040519150601f19603f3d011682016040523d82523d6000602084013e611862565b606091505b50909250905081610bc0573d60208201fd5b8183823760009101908152919050565b60005b8381101561189f578181015183820152602001611887565b50506000910152565b600081518084526118c0816020860160208601611884565b601f01601f19169290920160200192915050565b602081526000610c2660208301846118a8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611926576119266118e7565b604052919050565b600067ffffffffffffffff821115611948576119486118e7565b50601f01601f191660200190565b600082601f83011261196757600080fd5b813561197a6119758261192e565b6118fd565b81815284602083860101111561198f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156119be57600080fd5b813567ffffffffffffffff8111156119d557600080fd5b610bc084828501611956565b6001600160a01b03811681146119f657600080fd5b50565b60008060408385031215611a0c57600080fd5b8235611a17816119e1565b946020939093013593505050565b600060208284031215611a3757600080fd5b5035919050565b600060208284031215611a5057600080fd5b8135610c26816119e1565b600080600060608486031215611a7057600080fd5b8335611a7b816119e1565b92506020840135611a8b816119e1565b929592945050506040919091013590565b80151581146119f657600080fd5b600080600060608486031215611abf57600080fd5b8335611aca816119e1565b92506020840135611ada81611a9c565b9150604084013567ffffffffffffffff811115611af657600080fd5b611b0286828701611956565b9150509250925092565b60008060408385031215611b1f57600080fd5b8235611b2a816119e1565b91506020830135611b3a816119e1565b809150509250929050565b600080600060608486031215611b5a57600080fd5b8335611b65816119e1565b9250602084013591506040840135611b7c816119e1565b809150509250925092565b600181811c90821680611b9b57607f821691505b602082108103611bbb57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611bd357600080fd5b8151610c2681611a9c565b600060208284031215611bf057600080fd5b5051919050565b60008251611c09818460208701611884565b9190910192915050565b600060208284031215611c2557600080fd5b815167ffffffffffffffff811115611c3c57600080fd5b8201601f81018413611c4d57600080fd5b8051611c5b6119758261192e565b818152856020838501011115611c7057600080fd5b610d8a826020830160208601611884565b60008060008060808587031215611c9757600080fd5b50508251602084015160408501516060909501519196909550909250905056fea2646970667358221220ff608a0c0d26a2d31ca4dc0adbbe02ada3fa79f97397fe8f8cbe93e3107cd05c64736f6c6343000816003300000000000000000000000029219dd400f2bf60e5a23d13be72b486d4038894000000000000000000000000646f91abd5ab94b76d1f9c5d9490a2f6ddf25730000000000000000000000000fb2c2d3fd32ff112286d1390c22268db433538160000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000080000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576000000000000000000000000fd4ece04bd87733830ce1b388cf8c4805128b79700000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000094d61636820555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    Deployed Bytecode

    0x6080604052600436106103355760003560e01c806373acee98116101ab578063c37f68e2116100f7578063e9c714f211610095578063f5e3c4621161006f578063f5e3c46214610a2f578063f851a44014610a4f578063fca7820b14610a74578063fe9c44ae14610a9457610335565b8063e9c714f2146109da578063f2b3abbd146109ef578063f3fdb15a14610a0f57610335565b8063cfa99201116100d1578063cfa992011461096f578063d3bd2c7214610985578063db006a751461099a578063dd62ed3e146109ba57610335565b8063c37f68e2146108fa578063c5ebeaec1461093a578063cd91801c1461095a57610335565b8063a0712d6811610164578063aa5af0fd1161013e578063aa5af0fd1461088f578063b2a02ff1146108a5578063b71d1a0c146108c5578063bd6d894d146108e557610335565b8063a0712d681461083a578063a6afed951461085a578063a9059cbb1461086f57610335565b806373acee981461079a57806383030846146107af578063852a12e3146107cf5780638f840ddd146107ef57806395d89b411461080557806395dd91931461081a57610335565b80633af9e66911610285578063562d62a311610223578063601a0bf1116101fd578063601a0bf1146107245780636752e702146107445780636f307dc31461075a57806370a082311461077a57610335565b8063562d62a3146106c45780635c60da1b146106e45780635fe3b5671461070457610335565b80634487152f1161025f5780634487152f1461064e5780634576b5db1461066e57806347bd37181461068e578063555bcc40146106a457610335565b80633af9e669146105f95780633b1d21a2146106195780633e9410101461062e57610335565b806318160ddd116102f257806323b872dd116102cc57806323b872dd146105555780632608f818146105755780632678224714610595578063313ce567146105cd57610335565b806318160ddd1461050a578063182df0f5146105205780631be195601461053557610335565b806306fdde031461042b5780630933c1ed14610456578063095ea7b3146104765780630e752702146104a6578063173b9904146104d457806317bfdfbc146104ea575b34156103ae5760405162461bcd60e51b815260206004820152603760248201527f43457263323044656c656761746f723a66616c6c6261636b3a2063616e6e6f7460448201527f2073656e642076616c756520746f2066616c6c6261636b00000000000000000060648201526084015b60405180910390fd5b6013546040516000916001600160a01b0316906103ce9083903690611874565b600060405180830381855af49150503d8060008114610409576040519150601f19603f3d011682016040523d82523d6000602084013e61040e565b606091505b505090506040513d6000823e818015610425573d82f35b3d82fd5b005b34801561043757600080fd5b50610440610aa9565b60405161044d91906118d4565b60405180910390f35b34801561046257600080fd5b506104406104713660046119ac565b610b37565b34801561048257600080fd5b506104966104913660046119f9565b610b56565b604051901515815260200161044d565b3480156104b257600080fd5b506104c66104c1366004611a25565b610bc8565b60405190815260200161044d565b3480156104e057600080fd5b506104c660085481565b3480156104f657600080fd5b506104c6610505366004611a3e565b610c2d565b34801561051657600080fd5b506104c6600d5481565b34801561052c57600080fd5b506104c6610c7a565b34801561054157600080fd5b50610429610550366004611a3e565b610ccd565b34801561056157600080fd5b50610496610570366004611a5b565b610d18565b34801561058157600080fd5b506104c66105903660046119f9565b610d93565b3480156105a157600080fd5b506004546105b5906001600160a01b031681565b6040516001600160a01b03909116815260200161044d565b3480156105d957600080fd5b506003546105e79060ff1681565b60405160ff909116815260200161044d565b34801561060557600080fd5b506104c6610614366004611a3e565b610dfd565b34801561062557600080fd5b506104c6610e4a565b34801561063a57600080fd5b506104c6610649366004611a25565b610e81565b34801561065a57600080fd5b506104406106693660046119ac565b610ec9565b34801561067a57600080fd5b506104c6610689366004611a3e565b610f84565b34801561069a57600080fd5b506104c6600b5481565b3480156106b057600080fd5b506104296106bf366004611aaa565b610fd1565b3480156106d057600080fd5b506104c66106df366004611a25565b611143565b3480156106f057600080fd5b506013546105b5906001600160a01b031681565b34801561071057600080fd5b506005546105b5906001600160a01b031681565b34801561073057600080fd5b506104c661073f366004611a25565b61118b565b34801561075057600080fd5b506104c660115481565b34801561076657600080fd5b506012546105b5906001600160a01b031681565b34801561078657600080fd5b506104c6610795366004611a3e565b6111d3565b3480156107a657600080fd5b506104c6611220565b3480156107bb57600080fd5b506104c66107ca366004611a25565b611257565b3480156107db57600080fd5b506104c66107ea366004611a25565b61129f565b3480156107fb57600080fd5b506104c6600c5481565b34801561081157600080fd5b506104406112e7565b34801561082657600080fd5b506104c6610835366004611a3e565b6112f4565b34801561084657600080fd5b506104c6610855366004611a25565b611341565b34801561086657600080fd5b506104c6611389565b34801561087b57600080fd5b5061049661088a3660046119f9565b6113c0565b34801561089b57600080fd5b506104c6600a5481565b3480156108b157600080fd5b506104c66108c0366004611a5b565b611414565b3480156108d157600080fd5b506104c66108e0366004611a3e565b611486565b3480156108f157600080fd5b506104c66114d3565b34801561090657600080fd5b5061091a610915366004611a3e565b61150a565b60408051948552602085019390935291830152606082015260800161044d565b34801561094657600080fd5b506104c6610955366004611a25565b61158a565b34801561096657600080fd5b506104c66115d2565b34801561097b57600080fd5b506104c660095481565b34801561099157600080fd5b506104c6611609565b3480156109a657600080fd5b506104c66109b5366004611a25565b611640565b3480156109c657600080fd5b506104c66109d5366004611b0c565b611688565b3480156109e657600080fd5b506104c66116dd565b3480156109fb57600080fd5b506104c6610a0a366004611a3e565b611714565b348015610a1b57600080fd5b506006546105b5906001600160a01b031681565b348015610a3b57600080fd5b506104c6610a4a366004611b45565b611761565b348015610a5b57600080fd5b506003546105b59061010090046001600160a01b031681565b348015610a8057600080fd5b506104c6610a8f366004611a25565b6117bd565b348015610aa057600080fd5b50610496600181565b60018054610ab690611b87565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae290611b87565b8015610b2f5780601f10610b0457610100808354040283529160200191610b2f565b820191906000526020600020905b815481529060010190602001808311610b1257829003601f168201915b505050505081565b601354606090610b50906001600160a01b031683611805565b92915050565b6040516001600160a01b0383166024820152604481018290526000908190610baa9060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b179052610b37565b905080806020019051810190610bc09190611bc1565b949350505050565b600080610c1083604051602401610be191815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663073a938160e11b179052610b37565b905080806020019051810190610c269190611bde565b9392505050565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166305eff7ef60e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663182df0f560e01b1790526000908190610cb190610ec9565b905080806020019051810190610cc79190611bde565b91505090565b6040516001600160a01b0382166024820152610d149060440160408051601f198184030181529190526020810180516001600160e01b031662df0cab60e51b179052610b37565b5050565b6040516001600160a01b03808516602483015283166044820152606481018290526000908190610d749060840160408051601f198184030181529190526020810180516001600160e01b03166323b872dd60e01b179052610b37565b905080806020019051810190610d8a9190611bc1565b95945050505050565b6040516001600160a01b0383166024820152604481018290526000908190610de79060640160408051601f198184030181529190526020810180516001600160e01b03166304c11f0360e31b179052610b37565b905080806020019051810190610bc09190611bde565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316633af9e66960e01b179052610b37565b6040805160048152602481019091526020810180516001600160e01b0316631d8e90d160e11b1790526000908190610cb190610ec9565b600080610c1083604051602401610e9a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166303e9410160e41b179052610b37565b6060600080306001600160a01b031684604051602401610ee991906118d4565b60408051601f198184030181529181526020820180516001600160e01b0316630933c1ed60e01b17905251610f1e9190611bf7565b600060405180830381855afa9150503d8060008114610f59576040519150601f19603f3d011682016040523d82523d6000602084013e610f5e565b606091505b50909250905081610f70573d60208201fd5b80806020019051810190610bc09190611c13565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316634576b5db60e01b179052610b37565b60035461010090046001600160a01b031633146110565760405162461bcd60e51b815260206004820152603960248201527f43457263323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e0000000000000060648201526084016103a5565b8115611090576040805160048152602481019091526020810180516001600160e01b031663153ab50560e01b17905261108e90610b37565b505b601380546001600160a01b038581166001600160a01b03198316179092556040519116906110f5906110c69084906024016118d4565b60408051601f198184030181529190526020810180516001600160e01b0316630adccee560e31b179052610b37565b50601354604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b600080610c108360405160240161115c91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663562d62a360e01b179052610b37565b600080610c10836040516024016111a491815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663601a0bf160e01b179052610b37565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052610ec9565b6040805160048152602481019091526020810180516001600160e01b0316630e759dd360e31b1790526000908190610cb190610b37565b600080610c108360405160240161127091815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316634181842360e11b179052610b37565b600080610c10836040516024016112b891815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663852a12e360e01b179052610b37565b60028054610ab690611b87565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b03166395dd919360e01b179052610ec9565b600080610c108360405160240161135a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663140e25ad60e31b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663a6afed9560e01b1790526000908190610cb190610b37565b6040516001600160a01b0383166024820152604481018290526000908190610baa9060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610b37565b6040516001600160a01b038085166024830152831660448201526064810182905260009081906114709060840160408051601f198184030181529190526020810180516001600160e01b031663b2a02ff160e01b179052610b37565b905080806020019051810190610d8a9190611bde565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b0316632dc7468360e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b031663bd6d894d60e01b1790526000908190610cb190610b37565b60008060008060006115648660405160240161153591906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166361bfb47160e11b179052610ec9565b90508080602001905181019061157a9190611c81565b9450945094509450509193509193565b600080610c10836040516024016115a391815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663317afabb60e21b179052610b37565b6040805160048152602481019091526020810180516001600160e01b0316633364600760e21b1790526000908190610cb190610ec9565b6040805160048152602481019091526020810180516001600160e01b03166369de963960e11b1790526000908190610cb190610ec9565b600080610c108360405160240161165991815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663db006a7560e01b179052610b37565b6040516001600160a01b038084166024830152821660448201526000908190610de79060640160408051601f198184030181529190526020810180516001600160e01b0316636eb1769f60e11b179052610ec9565b6040805160048152602481019091526020810180516001600160e01b03166374e38a7960e11b1790526000908190610cb190610b37565b6040516001600160a01b03821660248201526000908190610c109060440160408051601f198184030181529190526020810180516001600160e01b031663f2b3abbd60e01b179052610b37565b6040516001600160a01b038085166024830152604482018490528216606482015260009081906114709060840160408051601f198184030181529190526020810180516001600160e01b0316637af1e23160e11b179052610b37565b600080610c10836040516024016117d691815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663fca7820b60e01b179052610b37565b6060600080846001600160a01b0316846040516118229190611bf7565b600060405180830381855af49150503d806000811461185d576040519150601f19603f3d011682016040523d82523d6000602084013e611862565b606091505b50909250905081610bc0573d60208201fd5b8183823760009101908152919050565b60005b8381101561189f578181015183820152602001611887565b50506000910152565b600081518084526118c0816020860160208601611884565b601f01601f19169290920160200192915050565b602081526000610c2660208301846118a8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611926576119266118e7565b604052919050565b600067ffffffffffffffff821115611948576119486118e7565b50601f01601f191660200190565b600082601f83011261196757600080fd5b813561197a6119758261192e565b6118fd565b81815284602083860101111561198f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156119be57600080fd5b813567ffffffffffffffff8111156119d557600080fd5b610bc084828501611956565b6001600160a01b03811681146119f657600080fd5b50565b60008060408385031215611a0c57600080fd5b8235611a17816119e1565b946020939093013593505050565b600060208284031215611a3757600080fd5b5035919050565b600060208284031215611a5057600080fd5b8135610c26816119e1565b600080600060608486031215611a7057600080fd5b8335611a7b816119e1565b92506020840135611a8b816119e1565b929592945050506040919091013590565b80151581146119f657600080fd5b600080600060608486031215611abf57600080fd5b8335611aca816119e1565b92506020840135611ada81611a9c565b9150604084013567ffffffffffffffff811115611af657600080fd5b611b0286828701611956565b9150509250925092565b60008060408385031215611b1f57600080fd5b8235611b2a816119e1565b91506020830135611b3a816119e1565b809150509250929050565b600080600060608486031215611b5a57600080fd5b8335611b65816119e1565b9250602084013591506040840135611b7c816119e1565b809150509250925092565b600181811c90821680611b9b57607f821691505b602082108103611bbb57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611bd357600080fd5b8151610c2681611a9c565b600060208284031215611bf057600080fd5b5051919050565b60008251611c09818460208701611884565b9190910192915050565b600060208284031215611c2557600080fd5b815167ffffffffffffffff811115611c3c57600080fd5b8201601f81018413611c4d57600080fd5b8051611c5b6119758261192e565b818152856020838501011115611c7057600080fd5b610d8a826020830160208601611884565b60008060008060808587031215611c9757600080fd5b50508251602084015160408501516060909501519196909550909250905056fea2646970667358221220ff608a0c0d26a2d31ca4dc0adbbe02ada3fa79f97397fe8f8cbe93e3107cd05c64736f6c63430008160033

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

    00000000000000000000000029219dd400f2bf60e5a23d13be72b486d4038894000000000000000000000000646f91abd5ab94b76d1f9c5d9490a2f6ddf25730000000000000000000000000fb2c2d3fd32ff112286d1390c22268db433538160000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000080000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576000000000000000000000000fd4ece04bd87733830ce1b388cf8c4805128b79700000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000094d61636820555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    -----Decoded View---------------
    Arg [0] : underlying_ (address): 0x29219dd400f2Bf60E5a23d13Be72B486D4038894
    Arg [1] : comptroller_ (address): 0x646F91AbD5Ab94B76d1F9C5D9490A2f6DDf25730
    Arg [2] : interestRateModel_ (address): 0xFb2C2d3FD32fF112286d1390c22268dB43353816
    Arg [3] : initialExchangeRateMantissa_ (uint256): 200000000000000
    Arg [4] : name_ (string): Mach USDC
    Arg [5] : symbol_ (string): cUSDC
    Arg [6] : decimals_ (uint8): 8
    Arg [7] : admin_ (address): 0x9A74A959Ab5F706c1DFf414F580560287FcB7576
    Arg [8] : implementation_ (address): 0xFd4ecE04Bd87733830ce1B388CF8c4805128B797
    Arg [9] : becomeImplementationData (bytes): 0x

    -----Encoded View---------------
    15 Constructor Arguments found :
    Arg [0] : 00000000000000000000000029219dd400f2bf60e5a23d13be72b486d4038894
    Arg [1] : 000000000000000000000000646f91abd5ab94b76d1f9c5d9490a2f6ddf25730
    Arg [2] : 000000000000000000000000fb2c2d3fd32ff112286d1390c22268db43353816
    Arg [3] : 0000000000000000000000000000000000000000000000000000b5e620f48000
    Arg [4] : 0000000000000000000000000000000000000000000000000000000000000140
    Arg [5] : 0000000000000000000000000000000000000000000000000000000000000180
    Arg [6] : 0000000000000000000000000000000000000000000000000000000000000008
    Arg [7] : 0000000000000000000000009a74a959ab5f706c1dff414f580560287fcb7576
    Arg [8] : 000000000000000000000000fd4ece04bd87733830ce1b388cf8c4805128b797
    Arg [9] : 00000000000000000000000000000000000000000000000000000000000001c0
    Arg [10] : 0000000000000000000000000000000000000000000000000000000000000009
    Arg [11] : 4d61636820555344430000000000000000000000000000000000000000000000
    Arg [12] : 0000000000000000000000000000000000000000000000000000000000000005
    Arg [13] : 6355534443000000000000000000000000000000000000000000000000000000
    Arg [14] : 0000000000000000000000000000000000000000000000000000000000000000


    Block Age Transaction Gas Used Reward
    view all blocks ##produced##

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

    Validator Index Block Age Amount
    View All Withdrawals

    Transaction Hash Block Age Value Eth2 PubKey Valid
    View All Deposits

    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.