Contract 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f430

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xeb9c53a2a71e963acb786a6c4f17160f667c58250f3ef5599fff2f79e12bd4a80x6080604024722842020-11-23 0:24:25300 days 16 hrs agoVenus: Deployer IN  Contract Creation0 BNB0.00801074
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xd4e9eece13295f82b8168c79348ab65e671f82694c81188f4cb4feb32f1628e554713272021-03-07 11:59:18196 days 4 hrs ago Venus: vLINK Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x1f28f9a5f9c972d69bb0317372186fee5caf40bcc144a907fa7105bfd236cb6254713252021-03-07 11:59:12196 days 4 hrs ago Venus: vBTC Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xada82d27c3f847709c1c70603fe165e8a973fff8efb4601bf10f7979bf253aae54713242021-03-07 11:59:09196 days 4 hrs ago Venus: vBUSD Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x5569903ed59479adb934f50690f3e3a5304f7a1a41acd85c7aed04a87aa0f7a854713242021-03-07 11:59:09196 days 4 hrs ago Venus: vLINK Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x863267dbf054599f5c90fd7911e2de8bb9d944b2f1248854146aceeda709ab8654713222021-03-07 11:59:03196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x68815e390a534a6bf3afaf7dd642bcb9fc9fd0d6acbd35d261c1e912953cbc9554713222021-03-07 11:59:03196 days 4 hrs ago Venus: vBUSD Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xe696fc8bd5763e954e2d319c74896bf704940b9f0e6ee0a230d1c3564a2f5da754713212021-03-07 11:59:00196 days 4 hrs ago Venus: vBNB Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x94f52b8bca93283fc16c7d89628e7053a79e5464085b04d20fd2aa0e1a134e2754713212021-03-07 11:59:00196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x99f6cea97cb278bd28a5ab66638916d364cbac8cdefc95ab34fe1ed01b3b42c954713202021-03-07 11:58:57196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xb8ead8c64e183d302b8dbff3dd1679d188e69d0ef1a93bfd001e0ef55f78b77e54713202021-03-07 11:58:57196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x7eb188a5cffbaa50feed59c44f22015f4ad8e4c06d5894e37d154746ab580a0954713172021-03-07 11:58:48196 days 4 hrs ago Venus: vBNB Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xfc8d0695d3648586caf41d3f56ddbe65f1bad3b3fb15becc06ffc7e2a25b772154713152021-03-07 11:58:42196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xbc86cdcc53ed6cddcb655f403f92318a97cd93c1f136147c07ff65f5e04eb21f54713112021-03-07 11:58:30196 days 4 hrs ago Venus: vLTC Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x8896f38b6ddd5cdab871a67dedd9efc9fdf04ccb99cd2f7ebdd803c1129d825c54713102021-03-07 11:58:27196 days 4 hrs ago Venus: vBUSD Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xb7debbf383e5ba4b1f68797681bc9719a277ef362b5ec59b6ea79e2fc1a018f354713092021-03-07 11:58:24196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xe3d75aefe27d7b38cc99c3006c1e458b529e5764ba93f992fd96c0c532350d0a54713072021-03-07 11:58:18196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x1fdd0262b31544998e4fc96a75c17e81a364d45bccc66357296086d3277f45a054713042021-03-07 11:58:09196 days 4 hrs ago Venus: vUSDT Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x7034a6f93733952eb17d55bc91394be2f4188308c2c217aa419d6785acb4a61054712972021-03-07 11:57:48196 days 4 hrs ago Venus: vUSDT Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x8a2ee2b36fbf5a9d0a24206bb73e8f41d3f98eae2ee70a0c469d5f2c7f28b1fe54712962021-03-07 11:57:45196 days 4 hrs ago Venus: vETH Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xc112012b58aa8623146aef6f2a3f792c49946dbd8d4274efdd258fa42fcf951d54712952021-03-07 11:57:42196 days 4 hrs ago Venus: vBNB Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xbaf121d97ed1e1da0f32fe0282b7b8244bcaa0270c45580dd29d0637784c26e154712932021-03-07 11:57:36196 days 4 hrs ago Venus: vADA Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0xbfff6b082de6c4c0fcc966c469167471843e0f83191cd2712273fe30f14ad61f54712932021-03-07 11:57:36196 days 4 hrs ago Venus: vBNB Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x012659295720a3419d5fdfc6c7a906d58253db0201fcebd9df089b1abfb8a37254712922021-03-07 11:57:33196 days 4 hrs ago Venus: vUSDC Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x3c2585d21639709587e64cefe6056e8e0159a89b2f4820f94c4a9ee1b781e0f554712902021-03-07 11:57:27196 days 4 hrs ago Venus: vLINK Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
0x3f0ed6b235993566ddfd4675bc1fe1a61213528c348d7fee503b8997700784f454712892021-03-07 11:57:24196 days 4 hrs ago Venus: vBUSD Token 0x49fade95f94e5ec7c1f4ae13a6d6f9ca18b2f4300 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WhitePaperInterestRateModel

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: WhitePaperInterestRateModel.sol
pragma solidity ^0.5.16;

import "./InterestRateModel.sol";
import "./SafeMath.sol";

/**
  * @title Venus's WhitePaperInterestRateModel Contract
  * @author Venus
  * @notice The parameterized model described in section 2.4 of the original Venus Protocol whitepaper
  */
contract WhitePaperInterestRateModel is InterestRateModel {
    using SafeMath for uint;

    event NewInterestParams(uint baseRatePerBlock, uint multiplierPerBlock);

    /**
     * @notice The approximate number of blocks per year that is assumed by the interest rate model
     */
    uint public constant blocksPerYear = 60 * 60 * 24 * 365 / 3; // (assuming 3s blocks)

    /**
     * @notice The multiplier of utilization rate that gives the slope of the interest rate
     */
    uint public multiplierPerBlock;

    /**
     * @notice The base interest rate which is the y-intercept when utilization rate is 0
     */
    uint public baseRatePerBlock;

    /**
     * @notice Construct an interest rate model
     * @param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)
     * @param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)
     */
    constructor(uint baseRatePerYear, uint multiplierPerYear) public {
        baseRatePerBlock = baseRatePerYear.div(blocksPerYear);
        multiplierPerBlock = multiplierPerYear.div(blocksPerYear);

        emit NewInterestParams(baseRatePerBlock, multiplierPerBlock);
    }

    /**
     * @notice Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`
     * @param cash The amount of cash in the market
     * @param borrows The amount of borrows in the market
     * @param reserves The amount of reserves in the market (currently unused)
     * @return The utilization rate as a mantissa between [0, 1e18]
     */
    function utilizationRate(uint cash, uint borrows, uint reserves) public pure returns (uint) {
        // Utilization rate is 0 when there are no borrows
        if (borrows == 0) {
            return 0;
        }

        return borrows.mul(1e18).div(cash.add(borrows).sub(reserves));
    }

    /**
     * @notice Calculates the current borrow rate per block, with the error code expected by the market
     * @param cash The amount of cash in the market
     * @param borrows The amount of borrows in the market
     * @param reserves The amount of reserves in the market
     * @return The borrow rate percentage per block as a mantissa (scaled by 1e18)
     */
    function getBorrowRate(uint cash, uint borrows, uint reserves) public view returns (uint) {
        uint ur = utilizationRate(cash, borrows, reserves);
        return ur.mul(multiplierPerBlock).div(1e18).add(baseRatePerBlock);
    }

    /**
     * @notice Calculates the current supply rate per block
     * @param cash The amount of cash in the market
     * @param borrows The amount of borrows in the market
     * @param reserves The amount of reserves in the market
     * @param reserveFactorMantissa The current reserve factor for the market
     * @return The supply rate percentage per block as a mantissa (scaled by 1e18)
     */
    function getSupplyRate(uint cash, uint borrows, uint reserves, uint reserveFactorMantissa) public view returns (uint) {
        uint oneMinusReserveFactor = uint(1e18).sub(reserveFactorMantissa);
        uint borrowRate = getBorrowRate(cash, borrows, reserves);
        uint rateToPool = borrowRate.mul(oneMinusReserveFactor).div(1e18);
        return utilizationRate(cash, borrows, reserves).mul(rateToPool).div(1e18);
    }
}

File 2 of 3: InterestRateModel.sol
pragma solidity ^0.5.16;

/**
  * @title Venus's InterestRateModel Interface
  * @author Venus
  */
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 amnount 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) 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 amnount of reserves the market has
      * @param reserveFactorMantissa The current reserve factor the market has
      * @return The supply rate per block (as a percentage, and scaled by 1e18)
      */
    function getSupplyRate(uint cash, uint borrows, uint reserves, uint reserveFactorMantissa) external view returns (uint);

}

File 3 of 3: SafeMath.sol
pragma solidity ^0.5.16;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
  /**
   * @dev Returns the addition of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `+` operator.
   *
   * Requirements:
   * - Addition cannot overflow.
   */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    return add(a, b, "SafeMath: addition overflow");
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, errorMessage);

    return c;
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  /**
   * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   * - Subtraction cannot overflow.
   */
  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;

    return c;
  }

  /**
   * @dev Returns the multiplication of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `*` operator.
   *
   * Requirements:
   * - Multiplication cannot overflow.
   */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b, "SafeMath: multiplication overflow");

    return c;
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts on
   * division by zero. The result is rounded towards zero.
   *
   * Counterpart to Solidity's `/` operator. Note: this function uses a
   * `revert` opcode (which leaves remaining gas untouched) while Solidity
   * uses an invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return div(a, b, "SafeMath: division by zero");
  }

  /**
   * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
   * division by zero. The result is rounded towards zero.
   *
   * Counterpart to Solidity's `/` operator. Note: this function uses a
   * `revert` opcode (which leaves remaining gas untouched) while Solidity
   * uses an invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    // Solidity only automatically asserts when dividing by 0
    require(b > 0, errorMessage);
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts when dividing by zero.
   *
   * Counterpart to Solidity's `%` operator. This function uses a `revert`
   * opcode (which leaves remaining gas untouched) while Solidity uses an
   * invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    return mod(a, b, "SafeMath: modulo by zero");
  }

  /**
   * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
   * Reverts with custom message when dividing by zero.
   *
   * Counterpart to Solidity's `%` operator. This function uses a `revert`
   * opcode (which leaves remaining gas untouched) while Solidity uses an
   * invalid opcode to revert (consuming all remaining gas).
   *
   * Requirements:
   * - The divisor cannot be zero.
   */
  function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b != 0, errorMessage);
    return a % b;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"baseRatePerYear","type":"uint256"},{"internalType":"uint256","name":"multiplierPerYear","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseRatePerBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplierPerBlock","type":"uint256"}],"name":"NewInterestParams","type":"event"},{"constant":true,"inputs":[],"name":"baseRatePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blocksPerYear","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"getBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"},{"internalType":"uint256","name":"reserveFactorMantissa","type":"uint256"}],"name":"getSupplyRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isInterestRateModel","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiplierPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"utilizationRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b506040516107203803806107208339818101604052604081101561003357600080fd5b508051602091820151909161005690839062a06680906102ee6100bc821b17901c565b6001556100718162a066806100bc602090811b6102ee17901c565b600081905560015460408051918252602082019290925281517ff35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27929181900390910190a150506101ad565b600061010483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061010b60201b60201c565b9392505050565b600081836101975760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561015c578181015183820152602001610144565b50505050905090810190601f1680156101895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816101a357fe5b0495945050505050565b610564806101bc6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638726bb891161005b5780638726bb8914610102578063a385fb961461010a578063b816881614610112578063f14039de146101415761007d565b806315f24053146100825780632191f92a146100bd5780636e71e2d8146100d9575b600080fd5b6100ab6004803603606081101561009857600080fd5b5080359060208101359060400135610149565b60408051918252519081900360200190f35b6100c56101a3565b604080519115158252519081900360200190f35b6100ab600480360360608110156100ef57600080fd5b50803590602081013590604001356101a8565b6100ab6101fa565b6100ab610200565b6100ab6004803603608081101561012857600080fd5b5080359060208101359060408101359060600135610207565b6100ab610286565b6000806101578585856101a8565b905061019860015461018c670de0b6b3a76400006101806000548661028c90919063ffffffff16565b9063ffffffff6102ee16565b9063ffffffff61033016565b9150505b9392505050565b600181565b6000826101b75750600061019c565b6101f26101da836101ce878763ffffffff61033016565b9063ffffffff61037216565b61018085670de0b6b3a764000063ffffffff61028c16565b949350505050565b60005481565b62a0668081565b600080610222670de0b6b3a76400008463ffffffff61037216565b90506000610231878787610149565b90506000610251670de0b6b3a7640000610180848663ffffffff61028c16565b905061027a670de0b6b3a76400006101808361026e8c8c8c6101a8565b9063ffffffff61028c16565b98975050505050505050565b60015481565b60008261029b575060006102e8565b828202828482816102a857fe5b04146102e55760405162461bcd60e51b815260040180806020018281038252602181526020018061050f6021913960400191505060405180910390fd5b90505b92915050565b60006102e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103b4565b60006102e583836040518060400160405280601b81526020017f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815250610456565b60006102e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506104b4565b600081836104405760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104055781810151838201526020016103ed565b50505050905090810190601f1680156104325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161044c57fe5b0495945050505050565b600083830182858210156104ab5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156104055781810151838201526020016103ed565b50949350505050565b600081848411156105065760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156104055781810151838201526020016103ed565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820e27f10838e318092f78635ae1db99dbce7574e66dfe4dcccc3b652ddb6a17d0964736f6c6343000511003200000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a0000

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

00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a0000

-----Decoded View---------------
Arg [0] : baseRatePerYear (uint256): 20000000000000000
Arg [1] : multiplierPerYear (uint256): 100000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000470de4df820000
Arg [1] : 000000000000000000000000000000000000000000000000016345785d8a0000


Deployed ByteCode Sourcemap

272:3320:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:3320:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2520:232;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2520:232:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;219:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;1851:290:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1851:290:2;;;;;;;;;;;;:::i;758:30::-;;;:::i;560:59::-;;;:::i;3165:425::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3165:425:2;;;;;;;;;;;;;;;;;:::i;901:28::-;;;:::i;2520:232::-;2604:4;2620:7;2630:40;2646:4;2652:7;2661:8;2630:15;:40::i;:::-;2620:50;;2687:58;2728:16;;2687:36;2718:4;2687:26;2694:18;;2687:2;:6;;:26;;;;:::i;:::-;:30;:36;:30;:36;:::i;:::-;:40;:58;:40;:58;:::i;:::-;2680:65;;;2520:232;;;;;;:::o;219:47:0:-;262:4;219:47;:::o;1851:290:2:-;1937:4;2016:12;2012:51;;-1:-1:-1;2051:1:2;2044:8;;2012:51;2080:54;2102:31;2124:8;2102:17;:4;2111:7;2102:17;:8;:17;:::i;:::-;:21;:31;:21;:31;:::i;:::-;2080:17;:7;2092:4;2080:17;:11;:17;:::i;:54::-;2073:61;1851:290;-1:-1:-1;;;;1851:290:2:o;758:30::-;;;;:::o;560:59::-;597:22;560:59;:::o;3165:425::-;3277:4;;3322:37;3327:4;3337:21;3322:37;:14;:37;:::i;:::-;3293:66;;3369:15;3387:38;3401:4;3407:7;3416:8;3387:13;:38::i;:::-;3369:56;-1:-1:-1;3435:15:2;3453:47;3495:4;3453:37;3369:56;3468:21;3453:37;:14;:37;:::i;:47::-;3435:65;;3517:66;3578:4;3517:56;3562:10;3517:40;3533:4;3539:7;3548:8;3517:15;:40::i;:::-;:44;:56;:44;:56;:::i;:66::-;3510:73;3165:425;-1:-1:-1;;;;;;;;3165:425:2:o;901:28::-;;;;:::o;2406:419:1:-;2464:7;2689:6;2685:35;;-1:-1:-1;2712:1:1;2705:8;;2685:35;2738:5;;;2742:1;2738;:5;:1;2757:5;;;;;:10;2749:56;;;;-1:-1:-1;;;2749:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2819:1;-1:-1:-1;2406:419:1;;;;;:::o;3256:124::-;3314:7;3336:39;3340:1;3343;3336:39;;;;;;;;;;;;;;;;;:3;:39::i;815:125::-;873:7;895:40;899:1;902;895:40;;;;;;;;;;;;;;;;;:3;:40::i;1621:128::-;1679:7;1701:43;1705:1;1708;1701:43;;;;;;;;;;;;;;;;;:3;:43::i;3831:316::-;3917:7;4009:12;4002:5;3994:28;;;;-1:-1:-1;;;3994:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3994:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4028:9;4044:1;4040;:5;;;;;;;3831:316;-1:-1:-1;;;;;3831:316:1:o;1204:173::-;1290:7;1317:5;;;1344:12;1336:6;;;;1328:29;;;;-1:-1:-1;;;1328:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1328:29:1;-1:-1:-1;1371:1:1;1204:173;-1:-1:-1;;;;1204:173:1:o;2013:::-;2099:7;2130:12;2122:6;;;;2114:29;;;;-1:-1:-1;;;2114:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2114:29:1;-1:-1:-1;;;2161:5:1;;;2013:173::o

Swarm Source

bzzr://e27f10838e318092f78635ae1db99dbce7574e66dfe4dcccc3b652ddb6a17d09
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.