S Price: $0.398964 (-12.97%)
    /

    Contract

    0xDb498aE68a8D80609Ad4a5D615b5c3bc0Cf4F667

    Overview

    S Balance

    Sonic LogoSonic LogoSonic Logo0 S

    S Value

    $0.00

    Token Holdings

    Multichain Info

    No addresses found
    Transaction Hash
    Method
    Block
    Age
    From
    To
    Redeem42871392025-01-17 16:53:3316 days ago1737132813IN
    0xDb498aE6...c0Cf4F667
    0 S0.04626063110.01
    Repay Borrow Wit...42871052025-01-17 16:53:0416 days ago1737132784IN
    0xDb498aE6...c0Cf4F667
    0 S0.04879537110.01
    Borrow42869532025-01-17 16:51:1716 days ago1737132677IN
    0xDb498aE6...c0Cf4F667
    0 S0.05005532110.01
    Mint42868962025-01-17 16:50:4216 days ago1737132642IN
    0xDb498aE6...c0Cf4F667
    0 S0.02066021115
    Redeem42858332025-01-17 16:38:5916 days ago1737131939IN
    0xDb498aE6...c0Cf4F667
    0 S0.04597603110.01
    Repay Borrow Wit...42857602025-01-17 16:38:0516 days ago1737131885IN
    0xDb498aE6...c0Cf4F667
    0 S0.04830231110.01
    Mint42856122025-01-17 16:36:2716 days ago1737131787IN
    0xDb498aE6...c0Cf4F667
    0 S0.01930493115
    Borrow42838732025-01-17 16:18:3216 days ago1737130712IN
    0xDb498aE6...c0Cf4F667
    0 S0.06315938137.5
    Mint42837002025-01-17 16:17:0616 days ago1737130626IN
    0xDb498aE6...c0Cf4F667
    0 S0.01871039110.01
    Redeem31866732025-01-10 0:37:4724 days ago1736469467IN
    0xDb498aE6...c0Cf4F667
    0 S0.003936267.15
    Repay Borrow31865402025-01-10 0:36:2924 days ago1736469389IN
    0xDb498aE6...c0Cf4F667
    0 S0.000858685.51
    Redeem31865132025-01-10 0:36:0724 days ago1736469367IN
    0xDb498aE6...c0Cf4F667
    0 S0.003540266.31
    Redeem31834112025-01-09 23:57:5524 days ago1736467075IN
    0xDb498aE6...c0Cf4F667
    0 S0.0058274810
    Redeem21714482025-01-01 15:21:4232 days ago1735744902IN
    0xDb498aE6...c0Cf4F667
    0 S0.000210431.25
    Borrow21085522024-12-31 20:38:3633 days ago1735677516IN
    0xDb498aE6...c0Cf4F667
    0 S0.000504591.21
    Borrow21084882024-12-31 20:37:0733 days ago1735677427IN
    0xDb498aE6...c0Cf4F667
    0 S0.000482821.11
    Borrow20911532024-12-31 15:34:3733 days ago1735659277IN
    0xDb498aE6...c0Cf4F667
    0 S0.000915041.5
    Mint20898672024-12-31 15:16:1533 days ago1735658175IN
    0xDb498aE6...c0Cf4F667
    0 S0.000527022.5
    Borrow20514872024-12-31 2:49:3434 days ago1735613374IN
    0xDb498aE6...c0Cf4F667
    0 S0.00046641.11
    Borrow20506512024-12-31 2:32:2034 days ago1735612340IN
    0xDb498aE6...c0Cf4F667
    0 S0.00189154
    Mint18574712024-12-28 21:32:4336 days ago1735421563IN
    0xDb498aE6...c0Cf4F667
    0 S0.000249011.11
    _set Reserve Fac...18573822024-12-28 21:30:3936 days ago1735421439IN
    0xDb498aE6...c0Cf4F667
    0 S0.000106121.11

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

    Similar Match Source Code
    This contract matches the deployed Bytecode of the Source Code for Contract 0xa35f9B9b...B5A072281
    The constructor portion of the code might be different and could alter the actual behaviour of the contract

    Contract Name:
    CErc20Immutable

    Compiler Version
    v0.8.20+commit.a1b79de6

    Optimization Enabled:
    Yes with 1000 runs

    Other Settings:
    shanghai EvmVersion
    File 1 of 10 : CErc20Immutable.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.20;
    import "./CErc20.sol";
    /**
    * @title Compound's CErc20Immutable Contract
    * @notice CTokens which wrap an EIP-20 underlying and are immutable
    * @author Compound
    */
    contract CErc20Immutable is CErc20 {
    /**
    * @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
    */
    constructor(address underlying_,
    ComptrollerInterface comptroller_,
    InterestRateModel interestRateModel_,
    uint initialExchangeRateMantissa_,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 10 : CErc20.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.20;
    import "./CToken.sol";
    interface CompLike {
    function delegate(address delegatee) external;
    }
    /**
    * @title Compound's CErc20 Contract
    * @notice CTokens which wrap an EIP-20 underlying
    * @author Compound
    */
    contract CErc20 is CToken, CErc20Interface {
    /**
    * @notice Initialize the 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
    */
    function initialize(address underlying_,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 10 : 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.20;
    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) virtual external returns (uint[] memory);
    function exitMarket(address cToken) virtual external returns (uint);
    /*** Policy Hooks ***/
    function mintAllowed(address cToken, address minter, uint mintAmount) virtual external returns (uint);
    function mintVerify(address cToken, address minter, uint mintAmount, uint mintTokens) virtual external;
    function redeemAllowed(address cToken, address redeemer, uint redeemTokens) virtual external returns (uint);
    function redeemVerify(address cToken, address redeemer, uint redeemAmount, uint redeemTokens) virtual external;
    function borrowAllowed(address cToken, address borrower, uint borrowAmount) virtual external returns (uint);
    function borrowVerify(address cToken, address borrower, uint borrowAmount) virtual external;
    function repayBorrowAllowed(
    address cToken,
    address payer,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 10 : CToken.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.20;
    import "./ComptrollerInterface.sol";
    import "./CTokenInterfaces.sol";
    import "./ErrorReporter.sol";
    import "./EIP20Interface.sol";
    import "./InterestRateModel.sol";
    import "./ExponentialNoError.sol";
    /**
    * @title Compound's CToken Contract
    * @notice Abstract base for CTokens
    * @author Compound
    */
    abstract contract CToken is
    CTokenInterface,
    ExponentialNoError,
    TokenErrorReporter
    {
    /**
    * @notice Initialize the money market
    * @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_ EIP-20 name of this token
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 10 : 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.20;
    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 6 of 10 : EIP20Interface.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.20;
    /**
    * @title ERC 20 Token Standard Interface
    * https://eips.ethereum.org/EIPS/eip-20
    */
    interface EIP20Interface {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    /**
    * @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);
    /**
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 7 of 10 : 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.20;
    /**
    * @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 8 of 10 : 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.20;
    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

    File 9 of 10 : ExponentialNoError.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.20;
    /**
    * @title Exponential module for storing fixed-precision decimals
    * @author Compound
    * @notice Exp is a struct which stores decimals with a fixed precision of 18 decimal places.
    * Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is:
    * `Exp({mantissa: 5100000000000000000})`.
    */
    contract ExponentialNoError {
    uint constant expScale = 1e18;
    uint constant doubleScale = 1e36;
    uint constant halfExpScale = expScale/2;
    uint constant mantissaOne = expScale;
    struct Exp {
    uint mantissa;
    }
    struct Double {
    uint mantissa;
    }
    /**
    * @dev Truncates the given exp to a whole number value.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 10 of 10 : 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.20;
    /**
    * @title Compound's InterestRateModel Interface
    * @author Compound
    */
    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 block
    * @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 block (as a percentage, and scaled by 1e18)
    */
    function getBorrowRate(uint cash, uint borrows, uint reserves) virtual external view returns (uint);
    /**
    * @notice Calculates the current supply interest rate per block
    * @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

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    {
    "optimizer": {
    "enabled": true,
    "runs": 1000
    },
    "evmVersion": "shanghai",
    "outputSelection": {
    "*": {
    "*": [
    "evm.bytecode",
    "evm.deployedBytecode",
    "devdoc",
    "userdoc",
    "metadata",
    "abi"
    ]
    }
    },
    "libraries": {}
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    [{"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"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AcceptAdminPendingAdminCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"actualAddAmount","type":"uint256"}],"name":"AddReservesFactorFreshCheck","type":"error"},{"inputs":[],"name":"BorrowCashNotAvailable","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"BorrowComptrollerRejection","type":"error"},{"inputs":[],"name":"BorrowFreshnessCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"LiquidateAccrueBorrowInterestFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"LiquidateAccrueCollateralInterestFailed","type":"error"},{"inputs":[],"name":"LiquidateCloseAmountIsUintMax","type":"error"},{"inputs":[],"name":"LiquidateCloseAmountIsZero","type":"error"},{"inputs":[],"name":"LiquidateCollateralFreshnessCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"LiquidateComptrollerRejection","type":"error"},{"inputs":[],"name":"LiquidateFreshnessCheck","type":"error"},{"inputs":[],"name":"LiquidateLiquidatorIsBorrower","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"LiquidateRepayBorrowFreshFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"LiquidateSeizeComptrollerRejection","type":"error"},{"inputs":[],"name":"LiquidateSeizeLiquidatorIsBorrower","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"MintComptrollerRejection","type":"error"},{"inputs":[],"name":"MintFreshnessCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"RedeemComptrollerRejection","type":"error"},{"inputs":[],"name":"RedeemFreshnessCheck","type":"error"},{"inputs":[],"name":"RedeemTransferOutNotPossible","type":"error"},{"inputs":[],"name":"ReduceReservesAdminCheck","type":"error"},{"inputs":[],"name":"ReduceReservesCashNotAvailable","type":"error"},{"inputs":[],"name":"ReduceReservesCashValidation","type":"error"},{"inputs":[],"name":"ReduceReservesFreshCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"RepayBorrowComptrollerRejection","type":"error"},{"inputs":[],"name":"RepayBorrowFreshnessCheck","type":"error"},{"inputs":[],"name":"SetComptrollerOwnerCheck","type":"error"},{"inputs":[],"name":"SetInterestRateModelFreshCheck","type":"error"},{"inputs":[],"name":"SetInterestRateModelOwnerCheck","type":"error"},{"inputs":[],"name":"SetPendingAdminOwnerCheck","type":"error"},{"inputs":[],"name":"SetReserveFactorAdminCheck","type":"error"},{"inputs":[],"name":"SetReserveFactorBoundsCheck","type":"error"},{"inputs":[],"name":"SetReserveFactorFreshCheck","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorCode","type":"uint256"}],"name":"TransferComptrollerRejection","type":"error"},{"inputs":[],"name":"TransferNotAllowed","type":"error"},{"inputs":[],"name":"TransferNotEnough","type":"error"},{"inputs":[],"name":"TransferTooMuch","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"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":"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":"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"},{"indexed":false,"internalType":"address payable","name":"reserveReceiver","type":"address"}],"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"},{"inputs":[],"name":"NO_ERROR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"address","name":"compLikeDelegatee","type":"address"}],"name":"_delegateCompLikeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reduceAmount","type":"uint256"},{"internalType":"address payable","name":"reserveReceiver","type":"address"}],"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":"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":"newReserveFactorMantissa","type":"uint256"}],"name":"_setReserveFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accrualBlockNumber","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":"borrowRatePerBlock","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":[],"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":[{"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"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","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":[],"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":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"repayAmount","type":"uint256"}],"name":"repayBorrowBehalfWithCToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"repayAmount","type":"uint256"}],"name":"repayBorrowWithCToken","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":"supplyRatePerBlock","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"}]

    Deployed Bytecode

    0x608060405234801561000f575f80fd5b5060043610610351575f3560e01c80637f1e06be116101be578063bd6d894d116100fe578063f2b3abbd1161009e578063f851a44011610079578063f851a4401461070f578063f8f9da2814610727578063fca7820b1461072f578063fe9c44ae14610742575f80fd5b8063f2b3abbd146106d6578063f3fdb15a146106e9578063f5e3c462146106fc575f80fd5b8063db006a75116100d9578063db006a7514610670578063dd62ed3e14610683578063e0664b67146106bb578063e9c714f2146106ce575f80fd5b8063bd6d894d14610622578063c37f68e21461062a578063c5ebeaec1461065d575f80fd5b8063a0712d6811610169578063aa5af0fd11610144578063aa5af0fd146105eb578063ae9d70b0146105f4578063b2a02ff1146105fc578063b71d1a0c1461060f575f80fd5b8063a0712d68146105bd578063a6afed95146105d0578063a9059cbb146105d8575f80fd5b806395d89b411161019957806395d89b411461058f57806395dd91931461059757806399d8c1b4146105aa575f80fd5b80637f1e06be14610560578063852a12e3146105735780638f840ddd14610586575f80fd5b8063313ce567116102945780636752e702116102345780636f307dc31161020f5780636f307dc31461050a57806370a082311461051d57806373acee9814610545578063750286771461054d575f80fd5b80636752e702146104ec57806369ab3250146104fa5780636c540baf14610501575f80fd5b80633e9410101161026f5780633e941010146104aa5780634576b5db146104bd57806347bd3718146104d05780635fe3b567146104d9575f80fd5b8063313ce567146104705780633af9e6691461048f5780633b1d21a2146104a2575f80fd5b8063182df0f5116102ff5780631be19560116102da5780631be195601461040c57806323b872dd1461041f5780632608f818146104325780632678224714610445575f80fd5b8063182df0f5146103dc5780631a31d465146103e45780631abc31d5146103f9575f80fd5b8063173b99041161032f578063173b9904146103b757806317bfdfbc146103c057806318160ddd146103d3575f80fd5b806306fdde0314610355578063095ea7b3146103735780630e75270214610396575b5f80fd5b61035d61074a565b60405161036a9190614088565b60405180910390f35b6103866103813660046140ea565b6107d6565b604051901515815260200161036a565b6103a96103a4366004614114565b610845565b60405190815260200161036a565b6103a960085481565b6103a96103ce36600461412b565b610856565b6103a9600d5481565b6103a96108c8565b6103f76103f23660046141f8565b6108d6565b005b6103a9610407366004614114565b610982565b6103f761041a36600461412b565b61098c565b61038661042d3660046142a7565b610b69565b6103a96104403660046140ea565b610bd3565b600454610458906001600160a01b031681565b6040516001600160a01b03909116815260200161036a565b60035461047d9060ff1681565b60405160ff909116815260200161036a565b6103a961049d36600461412b565b610be6565b6103a9610c2a565b6103a96104b8366004614114565b610c33565b6103a96104cb36600461412b565b610c3d565b6103a9600b5481565b600554610458906001600160a01b031681565b6103a9666379da05b6000081565b6103a95f81565b6103a960095481565b601154610458906001600160a01b031681565b6103a961052b36600461412b565b6001600160a01b03165f908152600e602052604090205490565b6103a9610dbd565b6103a961055b3660046140ea565b610e21565b6103f761056e36600461412b565b610e2c565b6103a9610581366004614114565b610f27565b6103a9600c5481565b61035d610f31565b6103a96105a536600461412b565b610f3e565b6103f76105b83660046142e5565b610f48565b6103a96105cb366004614114565b6111ee565b6103a9611260565b6103866105e63660046140ea565b611458565b6103a9600a5481565b6103a96114c1565b6103a961060a3660046142a7565b61156e565b6103a961061d36600461412b565b6115d7565b6103a961167c565b61063d61063836600461412b565b6116e6565b60408051948552602085019390935291830152606082015260800161036a565b6103a961066b366004614114565b611726565b6103a961067e366004614114565b611730565b6103a9610691366004614381565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b6103a96106c93660046143b8565b61173a565b6103a96117a9565b6103a96106e436600461412b565b6118de565b600654610458906001600160a01b031681565b6103a961070a3660046143db565b6118f1565b6003546104589061010090046001600160a01b031681565b6103a9611906565b6103a961073d366004614114565b611970565b610386600181565b600180546107579061441a565b80601f01602080910402602001604051908101604052809291908181526020018280546107839061441a565b80156107ce5780601f106107a5576101008083540402835291602001916107ce565b820191905f5260205f20905b8154815290600101906020018083116107b157829003601f168201915b505050505081565b335f818152600f602090815260408083206001600160a01b03871680855292528083208590555191929182907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108319087815260200190565b60405180910390a360019150505b92915050565b5f61084f826119ca565b505f919050565b5f805460ff1661089a5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b60448201526064015b60405180910390fd5b5f805460ff191690556108ab611260565b506108b582610f3e565b90505f805460ff19166001179055919050565b5f6108d1611a35565b905090565b6108e4868686868686610f48565b601180546001600160a01b0319166001600160a01b038916908117909155604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516318160ddd916004808201926020929091908290030181865afa158015610954573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109789190614452565b5050505050505050565b5f61084f82611a99565b60035461010090046001600160a01b03163314610a115760405162461bcd60e51b815260206004820152602f60248201527f4345726332303a3a7377656570546f6b656e3a206f6e6c792061646d696e206360448201527f616e20737765657020746f6b656e7300000000000000000000000000000000006064820152608401610891565b6011546001600160a01b0390811690821603610a955760405162461bcd60e51b815260206004820152603260248201527f4345726332303a3a7377656570546f6b656e3a2063616e206e6f74207377656560448201527f7020756e6465726c79696e6720746f6b656e00000000000000000000000000006064820152608401610891565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ad9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afd9190614452565b60035460405163a9059cbb60e01b81526001600160a01b03610100909204821660048201526024810183905291925083169063a9059cbb906044015f604051808303815f87803b158015610b4f575f80fd5b505af1158015610b61573d5f803e3d5ffd5b505050505050565b5f805460ff16610ba85760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19168155610bbd33868686611af4565b1490505f805460ff191660011790559392505050565b5f610bde8383611d6f565b505f92915050565b5f806040518060200160405280610bfb61167c565b90526001600160a01b0384165f908152600e6020526040902054909150610c23908290611ddb565b9392505050565b5f6108d1611dfa565b5f61083f82611e6c565b6003545f9061010090046001600160a01b03163314610c88576040517fd219dc1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554604080517e7e3dd200000000000000000000000000000000000000000000000000000000815290516001600160a01b0392831692851691627e3dd29160048083019260209291908290030181865afa158015610ce9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0d9190614469565b610d595760405162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c7365000000006044820152606401610891565b600580546001600160a01b0319166001600160a01b0385811691821790925560408051928416835260208301919091527f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d91015b60405180910390a1505f92915050565b5f805460ff16610dfc5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055610e0d611260565b5050600b545f805460ff1916600117905590565b5f610bde8383611edc565b60035461010090046001600160a01b03163314610eb15760405162461bcd60e51b815260206004820152602d60248201527f6f6e6c79207468652061646d696e206d6179207365742074686520636f6d702d60448201527f6c696b652064656c6567617465000000000000000000000000000000000000006064820152608401610891565b6011546040517f5c19a95c0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015290911690635c19a95c906024015f604051808303815f87803b158015610f0e575f80fd5b505af1158015610f20573d5f803e3d5ffd5b5050505050565b5f61084f82611f37565b600280546107579061441a565b5f61083f82611fa1565b60035461010090046001600160a01b03163314610fcc5760405162461bcd60e51b8152602060048201526024808201527f6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d6160448201527f726b6574000000000000000000000000000000000000000000000000000000006064820152608401610891565b600954158015610fdc5750600a54155b61104e5760405162461bcd60e51b815260206004820152602360248201527f6d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f60448201527f6e636500000000000000000000000000000000000000000000000000000000006064820152608401610891565b6007849055836110c65760405162461bcd60e51b815260206004820152603060248201527f696e697469616c2065786368616e67652072617465206d75737420626520677260448201527f6561746572207468616e207a65726f2e000000000000000000000000000000006064820152608401610891565b5f6110d087610c3d565b905080156111205760405162461bcd60e51b815260206004820152601a60248201527f73657474696e6720636f6d7074726f6c6c6572206661696c65640000000000006044820152606401610891565b42600955670de0b6b3a7640000600a5561113986611fea565b905080156111af5760405162461bcd60e51b815260206004820152602260248201527f73657474696e6720696e7465726573742072617465206d6f64656c206661696c60448201527f65640000000000000000000000000000000000000000000000000000000000006064820152608401610891565b60016111bb85826144d2565b5060026111c884826144d2565b50506003805460ff90921660ff199283161790555f805490911660011790555050505050565b5f600d545f036112575760035461010090046001600160a01b031633146112575760405162461bcd60e51b815260206004820152600660248201527f2141646d696e00000000000000000000000000000000000000000000000000006044820152606401610891565b61084f8261218d565b6009545f904290818103611276575f9250505090565b5f61127f611dfa565b600b54600c54600a546006546040517f15f240530000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604481018490529495509293919290915f916001600160a01b0316906315f2405390606401602060405180830381865afa1580156112ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113239190614452565b9050645d21dba00081111561137a5760405162461bcd60e51b815260206004820152601c60248201527f626f72726f772072617465206973206162737572646c792068696768000000006044820152606401610891565b5f61138587896145a2565b90505f6113a0604051806020016040528085815250836121e7565b90505f6113ad8288611ddb565b90505f6113ba88836145b5565b90505f6113d86040518060200160405280600854815250848a612216565b90505f6113e685898a612216565b60098e9055600a819055600b849055600c839055604080518d815260208101879052908101829052606081018590529091507f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049060800160405180910390a15f9d505050505050505050505050505090565b5f805460ff166114975760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191681556114ac33808686611af4565b1490505f805460ff1916600117905592915050565b6006545f906001600160a01b031663b81688166114dc611dfa565b600b54600c546008546040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815260048101949094526024840192909252604483015260648201526084015b602060405180830381865afa15801561154a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d19190614452565b5f805460ff166115ad5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556115c233858585612236565b505f80805460ff191660011790559392505050565b6003545f9061010090046001600160a01b03163314611622576040517f5cb56c2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610dad565b5f805460ff166116bb5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556116cc611260565b506116d56108c8565b90505f805460ff1916600117905590565b6001600160a01b0381165f908152600e6020526040812054819081908190819061170f87611fa1565b611717611a35565b93509350935093509193509193565b5f61084f82612517565b5f61084f82612571565b5f805460ff166117795760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff1916905561178a611260565b5061179583836125cc565b90505f805460ff1916600117905592915050565b6004545f906001600160a01b0316331415806117c3575033155b156117fa576040517f6e893ca400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054600480546001600160a01b038082166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401529290917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600454604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9910160405180910390a15f9250505090565b5f6118e7611260565b5061083f82611fea565b5f6118fd848484612792565b505f9392505050565b6006545f906001600160a01b03166315f24053611921611dfa565b600b54600c546040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260640161152f565b5f805460ff166119af5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556119c0611260565b506108b58261289f565b5f5460ff16611a085760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611a19611260565b50611a253333836129a5565b50505f805460ff19166001179055565b600d545f90808203611a4957505060075490565b5f611a52611dfa565b90505f600c54600b5483611a6691906145b5565b611a7091906145a2565b90505f83611a86670de0b6b3a7640000846145c8565b611a9091906145df565b95945050505050565b5f5460ff16611ad75760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611ae8611260565b50611a25333383612b43565b6005546040517fbdcdc2580000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0385811660248301528481166044830152606482018490525f92839291169063bdcdc258906084016020604051808303815f875af1158015611b6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b929190614452565b90508015611bcf576040517f113a84ee00000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b836001600160a01b0316856001600160a01b031603611c1a576040517f8cd22d1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f856001600160a01b0316876001600160a01b031603611c3c57505f19611c63565b506001600160a01b038086165f908152600f60209081526040808320938a16835292905220545b5f611c6e85836145a2565b6001600160a01b0388165f908152600e602052604081205491925090611c959087906145a2565b6001600160a01b0388165f908152600e602052604081205491925090611cbc9088906145b5565b6001600160a01b03808b165f908152600e6020526040808220869055918b1681522081905590505f198414611d13576001600160a01b03808a165f908152600f60209081526040808320938e168352929052208390555b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef89604051611d5891815260200190565b60405180910390a3505f9998505050505050505050565b5f5460ff16611dad5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611dbe611260565b50611dca3383836129a5565b50505f805460ff1916600117905550565b5f80611de784846121e7565b9050611df281612f28565b949350505050565b6011546040516370a0823160e01b81523060048201525f916001600160a01b03169081906370a0823190602401602060405180830381865afa158015611e42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e669190614452565b91505090565b5f805460ff16611eab5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611ebc611260565b50611ec682612f3f565b50505f90505f805460ff19166001179055919050565b5f5460ff16611f1a5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611f2b611260565b50611dca338383612b43565b5f5460ff16611f755760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055611f86611260565b50611f92335f83612fef565b505f805460ff19166001179055565b6001600160a01b0381165f90815260106020526040812080548203611fc857505f92915050565b600a5481545f91611fd8916145c8565b9050816001015481611df291906145df565b6003545f90819061010090046001600160a01b03163314612037576040517f407fded500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260095414612072576040517f17c54b9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60065f9054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e99190614469565b6121355760405162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c7365000000006044820152606401610891565b600680546001600160a01b0319166001600160a01b0385811691821790925560408051928416835260208301919091527fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269101610dad565b5f5460ff166121cb5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556121dc611260565b50611f923382613321565b60408051602081019091525f8152604051806020016040528061220d855f0151856135be565b90529392505050565b5f8061222285856121e7565b9050611a9061223082612f28565b846135c9565b6005546040517fd02f73510000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03868116602483015285811660448301528481166064830152608482018490525f92169063d02f73519060a4016020604051808303815f875af11580156122b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d99190614452565b90508015612316576040517fc7c01c6600000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b836001600160a01b0316836001600160a01b031603612361576040517f7528c4ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612381836040518060200160405280666379da05b600008152506135d4565b90505f61238e82856145a2565b90505f60405180602001604052806123a4611a35565b905290505f6123b38285611ddb565b90505f81600c546123c491906145b5565b600c819055600d549091506123da9086906145a2565b600d556001600160a01b0388165f908152600e60205260409020546124009088906145a2565b6001600160a01b03808a165f908152600e602052604080822093909355908b168152205461242f9085906145b5565b6001600160a01b03808b165f818152600e602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906124829088815260200190565b60405180910390a360405185815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360408051308152602081018490529081018290527fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59060600160405180910390a150505050505050505050565b5f5460ff166125555760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff19169055612566611260565b50611f9233826135f5565b5f5460ff166125af5760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556125c0611260565b50611f9233825f612fef565b6003545f90819061010090046001600160a01b03163314612619576040517ff7e5e6d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038316612659576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260095414612694576040517fdff50cb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361269d611dfa565b10156126d5576040517f3345e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54841115612711576040517ff1a5300a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600c5461271f91906145a2565b600c819055905061273083856137f6565b600354604080516101009092046001600160a01b0390811683526020830187905282820184905285166060830152517f8fc6644b80935fff9490a2a75e8f02e045e8e8b1de15ed50d5cced735f3ecb9c9181900360800190a1505f9392505050565b5f5460ff166127d05760405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606401610891565b5f805460ff191690556127e1611260565b505f816001600160a01b031663a6afed956040518163ffffffff1660e01b81526004016020604051808303815f875af1158015612820573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128449190614452565b90508015612881576040517f7dd4936e00000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b61288d338585856138d5565b50505f805460ff191660011790555050565b6003545f9061010090046001600160a01b031633146128ea576040517f240b6af600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260095414612925576040517ffbf94d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a7640000821115612967576040517fe2e441e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600880549083905560408051828152602081018590527faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f8214609101610dad565b600554604051631200453160e11b81523060048201526001600160a01b0385811660248301528481166044830152606482018490525f9283929116906324008a62906084016020604051808303815f875af1158015612a06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2a9190614452565b90508015612a4e57604051638c81362d60e01b815260048101829052602401610891565b4260095414612a705760405163c9021e2f60e01b815260040160405180910390fd5b5f612a7a85611fa1565b90505f5f198514612a8b5784612a8d565b815b90505f612a9a8883613e7f565b90505f612aa782856145a2565b90505f82600b54612ab891906145a2565b6001600160a01b038a81165f81815260106020908152604091829020878155600a54600190910155600b8590558151938f168452830191909152810185905260608101849052608081018290529091507f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a19060a00160405180910390a1509098975050505050505050565b600554604051631200453160e11b81523060048201526001600160a01b0385811660248301528481166044830152606482018490525f9283929116906324008a62906084016020604051808303815f875af1158015612ba4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc89190614452565b90508015612bec57604051638c81362d60e01b815260048101829052602401610891565b4260095414612c0e5760405163c9021e2f60e01b815260040160405180910390fd5b5f612c1885611fa1565b90505f5f198514612c295784612c2b565b815b905081811115612c67576040517fc265b0ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280612c7b611a35565b905290505f612c8a8383614065565b60055460405163eabe7d9160e01b81523060048201526001600160a01b038c811660248301526044820184905292935091169063eabe7d91906064016020604051808303815f875af1158015612ce2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d069190614452565b94508415612d2a5760405163480f424760e01b815260048101869052602401610891565b6001600160a01b0389165f908152600e6020526040902054811115612d7b576040517ff4f600dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600d54612d8991906145a2565b600d556001600160a01b0389165f908152600e6020526040902054612daf9082906145a2565b6001600160a01b038a165f908152600e6020526040812091909155612dd484866145a2565b90505f84600b54612de591906145a2565b6001600160a01b03808c165f9081526010602052604090819020858155600a54600190910155600b839055519192503091908d16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612e499087815260200190565b60405180910390a3604080516001600160a01b03808e1682528c16602082015290810186905260608101839052608081018290527f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a19060a00160405180910390a16005546040516351dff98960e01b81523060048201526001600160a01b038d811660248301526044820188905260648201869052909116906351dff989906084015f604051808303815f87803b158015612f02575f80fd5b505af1158015612f14573d5f803e3d5ffd5b505f9e9d5050505050505050505050505050565b80515f9061083f90670de0b6b3a7640000906145df565b5f8080804260095414612f81576040517f38acf79900000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b612f8b3386613e7f565b905080600c54612f9b91906145b5565b600c81905560408051338152602081018490529081018290529092507fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59060600160405180910390a15f9590945092505050565b811580612ffa575080155b61306c5760405162461bcd60e51b815260206004820152603460248201527f6f6e65206f662072656465656d546f6b656e73496e206f722072656465656d4160448201527f6d6f756e74496e206d757374206265207a65726f0000000000000000000000006064820152608401610891565b5f6040518060200160405280613080611a35565b905290505f8084156130a0578491506130998386611ddb565b90506130b0565b6130aa8484614065565b91508390505b60055460405163eabe7d9160e01b81523060048201526001600160a01b038881166024830152604482018590525f92169063eabe7d91906064016020604051808303815f875af1158015613106573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061312a9190614452565b9050801561314e5760405163480f424760e01b815260048101829052602401610891565b4260095414613189576040517f97b5cfcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81613192611dfa565b10156131ca576040517f91240a1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600d546131d891906145a2565b600d556001600160a01b0387165f908152600e60205260409020546131fe9084906145a2565b6001600160a01b0388165f908152600e602052604090205561322087836137f6565b60405183815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080516001600160a01b0389168152602081018490529081018490527fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a9299060600160405180910390a16005546040516351dff98960e01b81523060048201526001600160a01b0389811660248301526044820185905260648201869052909116906351dff989906084015f604051808303815f87803b158015613302575f80fd5b505af1158015613314573d5f803e3d5ffd5b5050505050505050505050565b6005546040517f4ef4c3e10000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038481166024830152604482018490525f921690634ef4c3e1906064016020604051808303815f875af1158015613390573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b49190614452565b905080156133f1576040517f49abd4fd00000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b426009541461342c576040517f38d8859700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280613440611a35565b905290505f61344f8585613e7f565b90505f61345c8284614065565b905080600d5461346c91906145b5565b600d556001600160a01b0386165f908152600e60205260409020546134929082906145b5565b6001600160a01b0387165f818152600e60209081526040918290209390935580519182529181018490529081018290527f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9060600160405180910390a16040518181526001600160a01b0387169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36005546040517f41c728b90000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0388811660248301526044820185905260648201849052909116906341c728b9906084015f604051808303815f87803b1580156135a0575f80fd5b505af11580156135b2573d5f803e3d5ffd5b50505050505050505050565b5f610c2382846145c8565b5f610c2382846145b5565b5f670de0b6b3a76400006135eb84845f01516135be565b610c2391906145df565b6005546040517fda3d454c0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038481166024830152604482018490525f92169063da3d454c906064016020604051808303815f875af1158015613664573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136889190614452565b905080156136c5576040517f918db40f00000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b4260095414613700576040517f3a36318400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81613709611dfa565b1015613741576040517f48c2588100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61374b84611fa1565b90505f61375884836145b5565b90505f84600b5461376991906145b5565b6001600160a01b0387165f908152601060205260409020838155600a54600190910155600b819055905061379d86866137f6565b604080516001600160a01b038816815260208101879052908101839052606081018290527f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809060800160405180910390a1505050505050565b60115460405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905290911690819063a9059cbb906044015f604051808303815f87803b158015613843575f80fd5b505af1158015613855573d5f803e3d5ffd5b505050505f3d5f811461386e5760208114613877575f80fd5b5f199150613881565b60205f803e5f5191505b50806138cf5760405162461bcd60e51b815260206004820152601960248201527f544f4b454e5f5452414e534645525f4f55545f4641494c4544000000000000006044820152606401610891565b50505050565b6005546040517f5fc7e71e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015286811660448301528581166064830152608482018590525f921690635fc7e71e9060a4016020604051808303815f875af1158015613954573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139789190614452565b905080156139b5576040517f1429a2f200000000000000000000000000000000000000000000000000000000815260048101829052602401610891565b42600954146139f0576040517f80965b1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42826001600160a01b0316636c540baf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a519190614452565b14613a88576040517f82379c6800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846001600160a01b0316846001600160a01b031603613ad3576040517f6f46988400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f03613b0c576040517fd29da7ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f198303613b46576040517fb3058b7600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f613b528686866129a5565b6005546040517fc488847b0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038681166024830152604482018490529293505f928392169063c488847b906064016040805180830381865afa158015613bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613be891906145fe565b915091505f8214613c615760405162461bcd60e51b815260206004820152603360248201527f4c49515549444154455f434f4d5054524f4c4c45525f43414c43554c4154455f60448201527f414d4f554e545f5345495a455f4641494c4544000000000000000000000000006064820152608401610891565b6040516370a0823160e01b81526001600160a01b0388811660048301528291908716906370a0823190602401602060405180830381865afa158015613ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ccc9190614452565b1015613d1a5760405162461bcd60e51b815260206004820152601860248201527f4c49515549444154455f5345495a455f544f4f5f4d55434800000000000000006044820152606401610891565b306001600160a01b03861603613d3b57613d3630898984612236565b613e1c565b6040517fb2a02ff10000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301528881166024830152604482018390525f919087169063b2a02ff1906064016020604051808303815f875af1158015613dab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613dcf9190614452565b14613e1c5760405162461bcd60e51b815260206004820152601460248201527f746f6b656e207365697a757265206661696c65640000000000000000000000006044820152606401610891565b604080516001600160a01b038a811682528981166020830152818301869052871660608201526080810183905290517f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529181900360a00190a15050505050505050565b6011546040516370a0823160e01b81523060048201525f916001600160a01b0316908190839082906370a0823190602401602060405180830381865afa158015613ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eef9190614452565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015230602483015260448201889052919250908316906323b872dd906064015f604051808303815f87803b158015613f59575f80fd5b505af1158015613f6b573d5f803e3d5ffd5b505050505f3d5f8114613f845760208114613f8d575f80fd5b5f199150613f97565b60205f803e5f5191505b5080613fe55760405162461bcd60e51b815260206004820152601860248201527f544f4b454e5f5452414e534645525f494e5f4641494c454400000000000000006044820152606401610891565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015614029573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061404d9190614452565b905061405983826145a2565b98975050505050505050565b5f610c2361407b84670de0b6b3a76400006135be565b83515f610c2382846145df565b5f6020808352835180828501525f5b818110156140b357858101830151858201604001528201614097565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146140e7575f80fd5b50565b5f80604083850312156140fb575f80fd5b8235614106816140d3565b946020939093013593505050565b5f60208284031215614124575f80fd5b5035919050565b5f6020828403121561413b575f80fd5b8135610c23816140d3565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614169575f80fd5b813567ffffffffffffffff8082111561418457614184614146565b604051601f8301601f19908116603f011681019082821181831017156141ac576141ac614146565b816040528381528660208588010111156141c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803560ff811681146141f3575f80fd5b919050565b5f805f805f805f60e0888a03121561420e575f80fd5b8735614219816140d3565b96506020880135614229816140d3565b95506040880135614239816140d3565b945060608801359350608088013567ffffffffffffffff8082111561425c575f80fd5b6142688b838c0161415a565b945060a08a013591508082111561427d575f80fd5b5061428a8a828b0161415a565b92505061429960c089016141e3565b905092959891949750929550565b5f805f606084860312156142b9575f80fd5b83356142c4816140d3565b925060208401356142d4816140d3565b929592945050506040919091013590565b5f805f805f8060c087890312156142fa575f80fd5b8635614305816140d3565b95506020870135614315816140d3565b945060408701359350606087013567ffffffffffffffff80821115614338575f80fd5b6143448a838b0161415a565b94506080890135915080821115614359575f80fd5b5061436689828a0161415a565b92505061437560a088016141e3565b90509295509295509295565b5f8060408385031215614392575f80fd5b823561439d816140d3565b915060208301356143ad816140d3565b809150509250929050565b5f80604083850312156143c9575f80fd5b8235915060208301356143ad816140d3565b5f805f606084860312156143ed575f80fd5b83356143f8816140d3565b925060208401359150604084013561440f816140d3565b809150509250925092565b600181811c9082168061442e57607f821691505b60208210810361444c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614462575f80fd5b5051919050565b5f60208284031215614479575f80fd5b81518015158114610c23575f80fd5b601f8211156144cd575f81815260208120601f850160051c810160208610156144ae5750805b601f850160051c820191505b81811015610b61578281556001016144ba565b505050565b815167ffffffffffffffff8111156144ec576144ec614146565b614500816144fa845461441a565b84614488565b602080601f831160018114614533575f841561451c5750858301515b5f19600386901b1c1916600185901b178555610b61565b5f85815260208120601f198616915b8281101561456157888601518255948401946001909101908401614542565b508582101561457e57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561083f5761083f61458e565b8082018082111561083f5761083f61458e565b808202811582820484141761083f5761083f61458e565b5f826145f957634e487b7160e01b5f52601260045260245ffd5b500490565b5f806040838503121561460f575f80fd5b50508051602090910151909290915056fea26469706673582212201688e65782d69d9cd051eb6cf3e47d9f5a8fe088c6b6e822868d9d4cada22b5064736f6c63430008140033

    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
    [ 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.