Contract 0xF1b6c0dDd4A8B7eb95c2E828fB8E162aBf95D792 1

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3cc20cf38225ad5585828d684b2f65b6732ffc242ba088b6cccb69621821e55bDeposit108863862021-09-13 19:23:584 days 12 hrs ago0x1992733cfef28259cbba0dcd57cd00a5631e2976 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.001196388
0x53070c8b21c5bf08dfb5e414bcd7013b075458c7cf98ff60759863f036f13edeDeposit106562032021-09-05 17:47:2812 days 13 hrs ago0x1992733cfef28259cbba0dcd57cd00a5631e2976 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.001701972
0xbb1b7dc10955bf8232460f6e5d3adbdb5595b0359e8bb5a285845bf01fa9ee99Withdraw102333822021-08-21 21:47:0127 days 9 hrs ago0xa9d0b9563c10c34fb3809d8ea0cc7909bc9c6f94 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0014719314
0x198d76a018800a44e71063e2e2d46973527adcce22e44fc4f78c7c0e0348136eReinvest102333332021-08-21 21:44:3427 days 9 hrs ago0xa9d0b9563c10c34fb3809d8ea0cc7909bc9c6f94 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0011297724
0x795df6384fc038bb2650f1b4c22c9fc38a2e1df03b393e422933f5a9153b4bc8Deposit102333252021-08-21 21:44:1027 days 9 hrs ago0xa9d0b9563c10c34fb3809d8ea0cc7909bc9c6f94 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0014467374
0x8c60b0f584e615283e2e5715c4adb62051b32d3e13d656d3bf2a46e6a22ff424Borrow98744742021-08-09 6:58:0440 days 40 mins ago0x94ae69bac6ab513ca254dedea4dc0f4eb70fbc8d IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.000861545
0xbaf3235a9043e1a333b3d0a568a9762cefe9a5b2970eaf0ac7632e74c3aee559Borrow97343802021-08-04 6:38:0345 days 1 hr ago0xbf179c08be06976bdded51cfe54ce6b85c635f1b IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.001696895
0xa4089b61d7bfe6ea4b2e8dec3b66c66d9f0d738e4cb011124c196ccd90bf6369Borrow97343622021-08-04 6:37:0945 days 1 hr ago0xbf179c08be06976bdded51cfe54ce6b85c635f1b IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00110678
0x586a56542b5f3dd17574c143ddc420acd5427ecee0f8d963283e57ab5f0fce78Deposit92987512021-07-19 17:06:1360 days 14 hrs ago0x92cd52e5d7c9f42898f1479561c8858c57e3df5a IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00092199
0x8cc377b29adeaa3ceaf44523c0d1bbb50e32e2563444364590186d7e3ba6cb54Withdraw92003942021-07-16 7:05:1164 days 33 mins ago0xd6e484863e9827ad3dbd7d6d94a251584372d1dd IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0013953702
0x20d47259a7183572e34166578bfc99ccd2990b1ecd973d73b8d6a79a188459fdReinvest92002412021-07-16 6:57:3264 days 41 mins ago0xd6e484863e9827ad3dbd7d6d94a251584372d1dd IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0011297724
0x3309cadba3a22f205c4c9b23bcd2df8212f1b9d0afb94196f6058a2b6f91930dDeposit92002062021-07-16 6:55:4764 days 43 mins ago0xd6e484863e9827ad3dbd7d6d94a251584372d1dd IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.001523115
0x4748daf36c50404b4679fceb5b92895d17aac6d7734b7afcfaaf51d1010270a1Withdraw90805862021-07-12 3:13:2068 days 4 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00144307
0xd14334981a82d1916e40df951e31a04792ca9b679bc591acf8d04a7c04d9126dDeposit89193692021-07-06 12:48:1173 days 18 hrs ago0x92cd52e5d7c9f42898f1479561c8858c57e3df5a IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00099687
0x8f342a1c49656ab345642c0c3131bbc93d2b43a21158e581f59ddbad55d764caDeposit89193512021-07-06 12:47:1773 days 18 hrs ago0x92cd52e5d7c9f42898f1479561c8858c57e3df5a IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00149319
0x3f36ded9e9a93817849d5cef75032b42c1ca19e6a582780ea7cfc6327d9db1d1Reinvest89125412021-07-06 7:03:3974 days 35 mins ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00105362
0xe55c1ccbfee47ee04d41cdaf9cc5ae8a6b69ad07dfc58123f433f1b95736cf73Deposit89125342021-07-06 7:03:1874 days 35 mins ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00092199
0x960e1e31b6330275203c75d1f96720a375a4b7e8a7eb2d8dfd7215cad9c6cec2Repay89124482021-07-06 6:58:5574 days 40 mins ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00084584
0xdc92d28c55f68b0fc22e11a03f7e94f70f5eda38d1ce408bccaae712dea699bfWithdraw89124332021-07-06 6:58:1074 days 40 mins ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00144301
0xb9f2be1e30cb61eadcc8d3ab162f347960d0cf0b1df2b1fe8e6ed4505482d365Reinvest88960602021-07-05 17:12:0874 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00105362
0x33b22b036bf5a5ae512ef111e562d8295555392ff47bc2f240fcef772630b492Deposit88960562021-07-05 17:11:5674 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00099687
0x5e148c731398e18d9a94d6766532ba37457c6a4311fee06c3dd3a4f527c66dffBorrow88960252021-07-05 17:10:2374 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.001696775
0x4f61c754536b4a2e36066c3fb33d23e78f5b47ff437e0e3eb8c045cb4d4d828dBorrow88960152021-07-05 17:09:5374 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.0010319
0x2803736e65343a9f01ef180a875dd82796c4824149dd5eb00ce80b637409ff1eReinvest88960022021-07-05 17:09:1474 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00110762
0xbe61670fc19e4fa97107c718461321be5402dc56d175d08c6332d99da4e4858cDeposit88959522021-07-05 17:06:4474 days 14 hrs ago0x9d4c1718b663f546c7abc555d7fcd78efe2864a9 IN  0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d7920 BNB0.00141837
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd70d480139a0e16a2ebef18115b304a854a1c91a0 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd345bc491bf8db9d6cea92f99f727217801f0eea0 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x04080dc15b7d14ef464f163788e6c11a106c01230 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x60d0fb630b49e39ef2f72e16bd3ed069c45df55ee28da1f32c0567f80460803a54118202021-03-05 10:22:16196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd70d480139a0e16a2ebef18115b304a854a1c91a0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd345bc491bf8db9d6cea92f99f727217801f0eea0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x04080dc15b7d14ef464f163788e6c11a106c01230 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x4032a72387c79575cc479b6fe5bd9f7e467e8e8d93241939efe55c9abdceef7c54118122021-03-05 10:21:52196 days 21 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x9cbb82400c8ad873d76ac2d661ef34d05f4945cdb996fc68217597418fb0bc6c54008472021-03-05 1:13:37197 days 6 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd345bc491bf8db9d6cea92f99f727217801f0eea0 BNB
0x9cbb82400c8ad873d76ac2d661ef34d05f4945cdb996fc68217597418fb0bc6c54008472021-03-05 1:13:37197 days 6 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x04080dc15b7d14ef464f163788e6c11a106c01230 BNB
0x9cbb82400c8ad873d76ac2d661ef34d05f4945cdb996fc68217597418fb0bc6c54008472021-03-05 1:13:37197 days 6 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x9cbb82400c8ad873d76ac2d661ef34d05f4945cdb996fc68217597418fb0bc6c54008472021-03-05 1:13:37197 days 6 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0xd70d480139a0e16a2ebef18115b304a854a1c91a0 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0dc8d266109ee313cf94ed5465e080bb4feb48f80 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x04080dc15b7d14ef464f163788e6c11a106c01230 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
0x7dcd036c2b945de0f15738f93bf4aabc451ba5cb8b08dc7b3492045b5fc0716653729802021-03-04 2:00:01198 days 5 hrs ago 0xf1b6c0ddd4a8b7eb95c2e828fb8e162abf95d792 0x0e948fbe19003358564cc3fcb849707ac6996f1b0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SevenUpPlatform

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-10-27
*/

// Dependency file: contracts/modules/Configable.sol

// SPDX-License-Identifier: MIT
// pragma solidity >=0.5.16;
pragma experimental ABIEncoderV2;

interface IConfig {
    function developer() external view returns (address);
    function platform() external view returns (address);
    function factory() external view returns (address);
    function mint() external view returns (address);
    function token() external view returns (address);
    function developPercent() external view returns (uint);
    function base() external view returns (address);
    function share() external view returns (address);
    function governor() external view returns (address);
    function poolParams(address pool, bytes32 key) external view returns (uint);
    function params(bytes32 key) external view returns(uint);
    function wallets(bytes32 key) external view returns(address);
    function setParameter(uint[] calldata _keys, uint[] calldata _values) external;
    function setPoolParameter(address _pool, bytes32 _key, uint _value) external;
}

contract Configable {
    address public config;
    address public owner;

    event OwnerChanged(address indexed _oldOwner, address indexed _newOwner);

    constructor() public {
        owner = msg.sender;
    }
    
    function setupConfig(address _config) external onlyOwner {
        config = _config;
        owner = IConfig(config).developer();
    }

    modifier onlyOwner() {
        require(msg.sender == owner, 'OWNER FORBIDDEN');
        _;
    }
    
    modifier onlyDeveloper() {
        require(msg.sender == IConfig(config).developer(), 'DEVELOPER FORBIDDEN');
        _;
    }
    
    modifier onlyPlatform() {
        require(msg.sender == IConfig(config).platform(), 'PLATFORM FORBIDDEN');
        _;
    }

    modifier onlyFactory() {
        require(msg.sender == IConfig(config).factory(), 'FACTORY FORBIDDEN');
        _;
    }

    modifier onlyGovernor() {
        require(msg.sender == IConfig(config).governor(), 'Governor FORBIDDEN');
        _;
    }
}

// Dependency file: contracts/libraries/SafeMath.sol


// pragma solidity >=0.6.0;

/**
 * @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) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        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) {
        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;
    }
}

// Dependency file: contracts/libraries/TransferHelper.sol


// pragma solidity >=0.6.0;

library TransferHelper {
    function safeApprove(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED');
    }

    function safeTransfer(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED');
    }

    function safeTransferFrom(address token, address from, address to, uint value) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED');
    }

    function safeTransferETH(address to, uint value) internal {
        (bool success,) = to.call{value:value}(new bytes(0));
        require(success, 'TransferHelper: ETH_TRANSFER_FAILED');
    }
}


// Root file: contracts/SevenUpPlatform.sol

pragma solidity >=0.5.16;

// import "contracts/modules/Configable.sol";
// import "contracts/libraries/SafeMath.sol";
// import "contracts/libraries/TransferHelper.sol";

interface ISevenUpMint {
    function increaseBorrowerProductivity(address user, uint value) external returns (bool);
    function decreaseBorrowerProductivity(address user, uint value) external returns (bool);
    function increaseLenderProductivity(address user, uint value) external returns (bool);
    function decreaseLenderProductivity(address user, uint value) external returns (bool);
}

interface ISevenUpPool {
    function deposit(uint _amountDeposit, address _from) external;
    function withdraw(uint _amountWithdraw, address _from) external;
    function borrow(uint _amountCollateral, uint _expectBorrow, address _from) external;
    function repay(uint _amountCollateral, address _from) external returns(uint, uint);
    function liquidation(address _user, address _from) external returns (uint);
    function reinvest(address _from) external returns(uint);
    function updatePledgeRate(uint _pledgeRate) external;
    function updatePledgePrice(uint _pledgePrice) external;
    function updateLiquidationRate(uint _liquidationRate) external;
}

interface ISevenUpFactory {
    function getPool(address _lendToken, address _collateralToken) external view returns (address);
}

contract SevenUpPlatform is Configable {
    function deposit(address _lendToken, address _collateralToken, uint _amountDeposit) external {
        require(IConfig(config).params(bytes32("depositEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        ISevenUpPool(pool).deposit(_amountDeposit, msg.sender);
        if(_amountDeposit > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).increaseLenderProductivity(msg.sender, _amountDeposit);
        }
    }
    
    function withdraw(address _lendToken, address _collateralToken, uint _amountWithdraw) external {
        require(IConfig(config).params(bytes32("withdrawEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        ISevenUpPool(pool).withdraw(_amountWithdraw, msg.sender);
        if(_amountWithdraw > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).decreaseLenderProductivity(msg.sender, _amountWithdraw);
        }
    }
    
    function borrow(address _lendToken, address _collateralToken, uint _amountCollateral, uint _expectBorrow) external {
        require(IConfig(config).params(bytes32("borrowEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        ISevenUpPool(pool).borrow(_amountCollateral, _expectBorrow, msg.sender);
        if(_expectBorrow > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).increaseBorrowerProductivity(msg.sender, _expectBorrow);
        }
    }
    
    function repay(address _lendToken, address _collateralToken, uint _amountCollateral) external {
        require(IConfig(config).params(bytes32("repayEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        (uint repayAmount, ) = ISevenUpPool(pool).repay(_amountCollateral, msg.sender);
        if(repayAmount > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).decreaseBorrowerProductivity(msg.sender, repayAmount);
        }
    }
    
    function liquidation(address _lendToken, address _collateralToken, address _user) external {
        require(IConfig(config).params(bytes32("liquidationEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        uint borrowAmount = ISevenUpPool(pool).liquidation(_user, msg.sender);
        if(borrowAmount > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).decreaseBorrowerProductivity(_user, borrowAmount);
        }
    }

    function reinvest(address _lendToken, address _collateralToken) external {
        require(IConfig(config).params(bytes32("reinvestEnable")) == 1, "NOT ENABLE NOW");
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        uint reinvestAmount = ISevenUpPool(pool).reinvest(msg.sender);

        if(reinvestAmount > 0 && _lendToken == IConfig(config).base()) {
            ISevenUpMint(IConfig(config).mint()).increaseLenderProductivity(msg.sender, reinvestAmount);
        }
    } 

    function updatePoolParameter(address _lendToken, address _collateralToken, bytes32 _key, uint _value) external onlyDeveloper
    {
        address pool = ISevenUpFactory(IConfig(config).factory()).getPool(_lendToken, _collateralToken);
        require(pool != address(0), "POOL NOT EXIST");
        IConfig(config).setPoolParameter(pool, _key, _value);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"_newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"uint256","name":"_amountCollateral","type":"uint256"},{"internalType":"uint256","name":"_expectBorrow","type":"uint256"}],"name":"borrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"config","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"uint256","name":"_amountDeposit","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"liquidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"}],"name":"reinvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"uint256","name":"_amountCollateral","type":"uint256"}],"name":"repay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_config","type":"address"}],"name":"setupConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"updatePoolParameter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lendToken","type":"address"},{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"uint256","name":"_amountWithdraw","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600180546001600160a01b03191633179055611eb7806100256000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b1461010f5780639911409c14610117578063d9caed121461012a578063eb72f5a51461013d578063fbf37739146101505761009e565b80631da649cf146100a35780633d50f2e0146100b8578063786106f3146100cb57806379502c55146100de5780638340f549146100fc575b600080fd5b6100b66100b1366004611c6c565b610163565b005b6100b66100c6366004611b66565b610581565b6100b66100d9366004611bdd565b610662565b6100e6610a22565b6040516100f39190611d1c565b60405180910390f35b6100b661010a366004611c6c565b610a31565b6100e6610e20565b6100b6610125366004611ba5565b610e2f565b6100b6610138366004611c6c565b6111ea565b6100b661014b366004611c27565b611580565b6100b661015e366004611cac565b6117ce565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab527906101a1906a7265706179456e61626c6560a81b90600401611d84565b60206040518083038186803b1580156101b957600080fd5b505afa1580156101cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f19190611ce1565b6001146102195760405162461bcd60e51b815260040161021090611e0b565b60405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561026857600080fd5b505afa15801561027c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a09190611b89565b6001600160a01b031663531aa03e85856040518363ffffffff1660e01b81526004016102cd929190611d49565b60206040518083038186803b1580156102e557600080fd5b505afa1580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190611b89565b90506001600160a01b0381166103455760405162461bcd60e51b815260040161021090611d8d565b60405163acb7081560e01b81526000906001600160a01b0383169063acb70815906103769086903390600401611e33565b6040805180830381600087803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c79190611cf9565b50905060008111801561046f57506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611b89565b6001600160a01b0316856001600160a01b0316145b1561057a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f99190611b89565b6001600160a01b0316632bed364333836040518363ffffffff1660e01b8152600401610526929190611d30565b602060405180830381600087803b15801561054057600080fd5b505af1158015610554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105789190611cc1565b505b5050505050565b6001546001600160a01b031633146105ab5760405162461bcd60e51b815260040161021090611de2565b600080546001600160a01b0319166001600160a01b0383811691909117918290556040805163ca4b208b60e01b81529051929091169163ca4b208b91600480820192602092909190829003018186803b15801561060757600080fd5b505afa15801561061b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063f9190611b89565b600180546001600160a01b0319166001600160a01b039290921691909117905550565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab527906106a690706c69717569646174696f6e456e61626c6560781b90600401611d84565b60206040518083038186803b1580156106be57600080fd5b505afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611ce1565b6001146107155760405162461bcd60e51b815260040161021090611e0b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079c9190611b89565b6001600160a01b031663531aa03e85856040518363ffffffff1660e01b81526004016107c9929190611d49565b60206040518083038186803b1580156107e157600080fd5b505afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190611b89565b90506001600160a01b0381166108415760405162461bcd60e51b815260040161021090611d8d565b60405163e6ef36f960e01b81526000906001600160a01b0383169063e6ef36f9906108729086903390600401611d49565b602060405180830381600087803b15801561088c57600080fd5b505af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611ce1565b905060008111801561096b57506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190611b89565b6001600160a01b0316856001600160a01b0316145b1561057a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109bd57600080fd5b505afa1580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f59190611b89565b6001600160a01b0316632bed364384836040518363ffffffff1660e01b8152600401610526929190611d30565b6000546001600160a01b031681565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab52790610a71906c6465706f736974456e61626c6560981b90600401611d84565b60206040518083038186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac19190611ce1565b600114610ae05760405162461bcd60e51b815260040161021090611e0b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611b89565b6001600160a01b031663531aa03e85856040518363ffffffff1660e01b8152600401610b94929190611d49565b60206040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be49190611b89565b90506001600160a01b038116610c0c5760405162461bcd60e51b815260040161021090611d8d565b604051636e553f6560e01b81526001600160a01b03821690636e553f6590610c3a9085903390600401611e33565b600060405180830381600087803b158015610c5457600080fd5b505af1158015610c68573d6000803e3d6000fd5b50505050600082118015610d1157506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc9190611b89565b6001600160a01b0316846001600160a01b0316145b15610e1a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d6357600080fd5b505afa158015610d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9b9190611b89565b6001600160a01b0316639fab3e6e33846040518363ffffffff1660e01b8152600401610dc8929190611d30565b602060405180830381600087803b158015610de257600080fd5b505af1158015610df6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a9190611cc1565b50505050565b6001546001600160a01b031681565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab52790610e70906d7265696e76657374456e61626c6560901b90600401611d84565b60206040518083038186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec09190611ce1565b600114610edf5760405162461bcd60e51b815260040161021090611e0b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2e57600080fd5b505afa158015610f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f669190611b89565b6001600160a01b031663531aa03e84846040518363ffffffff1660e01b8152600401610f93929190611d49565b60206040518083038186803b158015610fab57600080fd5b505afa158015610fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe39190611b89565b90506001600160a01b03811661100b5760405162461bcd60e51b815260040161021090611d8d565b60405163b8872fb760e01b81526000906001600160a01b0383169063b8872fb79061103a903390600401611d1c565b602060405180830381600087803b15801561105457600080fd5b505af1158015611068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108c9190611ce1565b905060008111801561113357506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b1580156110e657600080fd5b505afa1580156110fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111e9190611b89565b6001600160a01b0316846001600160a01b0316145b15610e1a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118557600080fd5b505afa158015611199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bd9190611b89565b6001600160a01b0316639fab3e6e33836040518363ffffffff1660e01b8152600401610dc8929190611d30565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab5279061122b906d7769746864726177456e61626c6560901b90600401611d84565b60206040518083038186803b15801561124357600080fd5b505afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611ce1565b60011461129a5760405162461bcd60e51b815260040161021090611e0b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156112e957600080fd5b505afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113219190611b89565b6001600160a01b031663531aa03e85856040518363ffffffff1660e01b815260040161134e929190611d49565b60206040518083038186803b15801561136657600080fd5b505afa15801561137a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139e9190611b89565b90506001600160a01b0381166113c65760405162461bcd60e51b815260040161021090611d8d565b604051627b8a6760e11b81526001600160a01b0382169062f714ce906113f29085903390600401611e33565b600060405180830381600087803b15801561140c57600080fd5b505af1158015611420573d6000803e3d6000fd5b505050506000821180156114c957506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b15801561147c57600080fd5b505afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b49190611b89565b6001600160a01b0316846001600160a01b0316145b15610e1a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561151b57600080fd5b505afa15801561152f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115539190611b89565b6001600160a01b031663e34da7ed33846040518363ffffffff1660e01b8152600401610dc8929190611d30565b6000809054906101000a90046001600160a01b03166001600160a01b031663ca4b208b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115cd57600080fd5b505afa1580156115e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116059190611b89565b6001600160a01b0316336001600160a01b0316146116355760405162461bcd60e51b815260040161021090611db5565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561168457600080fd5b505afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190611b89565b6001600160a01b031663531aa03e86866040518363ffffffff1660e01b81526004016116e9929190611d49565b60206040518083038186803b15801561170157600080fd5b505afa158015611715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117399190611b89565b90506001600160a01b0381166117615760405162461bcd60e51b815260040161021090611d8d565b600054604051635a6a27b160e11b81526001600160a01b039091169063b4d44f629061179590849087908790600401611d63565b600060405180830381600087803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b505050505050505050565b60005460405163dc6ab52760e01b81526001600160a01b039091169063dc6ab5279061180d906b626f72726f77456e61626c6560a01b90600401611d84565b60206040518083038186803b15801561182557600080fd5b505afa158015611839573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185d9190611ce1565b60011461187c5760405162461bcd60e51b815260040161021090611e0b565b60008060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156118cb57600080fd5b505afa1580156118df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119039190611b89565b6001600160a01b031663531aa03e86866040518363ffffffff1660e01b8152600401611930929190611d49565b60206040518083038186803b15801561194857600080fd5b505afa15801561195c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119809190611b89565b90506001600160a01b0381166119a85760405162461bcd60e51b815260040161021090611d8d565b60405163035af68360e61b81526001600160a01b0382169063d6bda0c0906119d890869086903390600401611e4a565b600060405180830381600087803b1580156119f257600080fd5b505af1158015611a06573d6000803e3d6000fd5b50505050600082118015611aaf57506000809054906101000a90046001600160a01b03166001600160a01b0316635001f3b56040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9a9190611b89565b6001600160a01b0316856001600160a01b0316145b1561057a576000809054906101000a90046001600160a01b03166001600160a01b0316631249c58b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0157600080fd5b505afa158015611b15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b399190611b89565b6001600160a01b0316638626cdb333846040518363ffffffff1660e01b8152600401610526929190611d30565b600060208284031215611b77578081fd5b8135611b8281611e69565b9392505050565b600060208284031215611b9a578081fd5b8151611b8281611e69565b60008060408385031215611bb7578081fd5b8235611bc281611e69565b91506020830135611bd281611e69565b809150509250929050565b600080600060608486031215611bf1578081fd5b8335611bfc81611e69565b92506020840135611c0c81611e69565b91506040840135611c1c81611e69565b809150509250925092565b60008060008060808587031215611c3c578081fd5b8435611c4781611e69565b93506020850135611c5781611e69565b93969395505050506040820135916060013590565b600080600060608486031215611c80578283fd5b8335611c8b81611e69565b92506020840135611c9b81611e69565b929592945050506040919091013590565b60008060008060808587031215611c3c578384fd5b600060208284031215611cd2578081fd5b81518015158114611b82578182fd5b600060208284031215611cf2578081fd5b5051919050565b60008060408385031215611d0b578182fd5b505080516020909101519092909150565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b90815260200190565b6020808252600e908201526d1413d3d3081393d50811561254d560921b604082015260600190565b6020808252601390820152722222ab22a627a822a9102327a92124a22222a760691b604082015260600190565b6020808252600f908201526e27aba722a9102327a92124a22222a760891b604082015260600190565b6020808252600e908201526d4e4f5420454e41424c45204e4f5760901b604082015260600190565b9182526001600160a01b0316602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6001600160a01b0381168114611e7e57600080fd5b5056fea264697066735822122072db7806f7a86e92afbea47af1a737a3abd6479136399159a773bebe812585d264736f6c63430006060033

Deployed ByteCode Sourcemap

10410:4201:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10410:4201:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;12367:629:0;;;;;;;;;:::i;:::-;;1308:138;;;;;;;;;:::i;13008:620::-;;;;;;;;;:::i;1100:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;10456:610;;;;;;;;;:::i;1128:20::-;;;:::i;13636:600::-;;;;;;;;;:::i;11078:617::-;;;;;;;;;:::i;14245:363::-;;;;;;;;;:::i;11707:648::-;;;;;;;;;:::i;12367:629::-;12488:6;;12480:46;;-1:-1:-1;;;12480:46:0;;-1:-1:-1;;;;;12488:6:0;;;;12480:22;;:46;;-1:-1:-1;;;12503:22:0;12480:46;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12480:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12480:46:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12480:46:0;;;;;;;;;12530:1;12480:51;12472:78;;;;-1:-1:-1;;;12472:78:0;;;;;;;;;;;;;;;;;12561:12;12600:6;;;;;;;;;-1:-1:-1;;;;;12600:6:0;-1:-1:-1;;;;;12592:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12592:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12592:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12592:25:0;;;;;;;;;-1:-1:-1;;;;;12576:50:0;;12627:10;12639:16;12576:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12576:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12576:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12576:80:0;;;;;;;;;12561:95;-1:-1:-1;;;;;;12675:18:0;;12667:45;;;;-1:-1:-1;;;12667:45:0;;;;;;;;;12746:55;;-1:-1:-1;;;12746:55:0;;12724:16;;-1:-1:-1;;;;;12746:24:0;;;;;:55;;12771:17;;12790:10;;12746:55;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12746:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12746:55:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12746:55:0;;;;;;;;;12723:78;;;12829:1;12815:11;:15;:55;;;;;12856:6;;;;;;;;;-1:-1:-1;;;;;12856:6:0;-1:-1:-1;;;;;12848:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12848:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12848:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12848:22:0;;;;;;;;;-1:-1:-1;;;;;12834:36:0;:10;-1:-1:-1;;;;;12834:36:0;;12815:55;12812:177;;;12908:6;;;;;;;;;-1:-1:-1;;;;;12908:6:0;-1:-1:-1;;;;;12900:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12900:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12900:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12900:22:0;;;;;;;;;-1:-1:-1;;;;;12887:65:0;;12953:10;12965:11;12887:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12887:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12887:90:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12887:90:0;;;;;;;;;;12812:177;12367:629;;;;;:::o;1308:138::-;1508:5;;-1:-1:-1;;;;;1508:5:0;1494:10;:19;1486:47;;;;-1:-1:-1;;;1486:47:0;;;;;;;;;1376:6:::1;:16:::0;;-1:-1:-1;;;;;;1376:16:0::1;-1:-1:-1::0;;;;;1376:16:0;;::::1;::::0;;;::::1;::::0;;;;1411:27:::1;::::0;;-1:-1:-1;;;1411:27:0;;;;1419:6;;;::::1;::::0;1411:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;1419:6;1411:27;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;1411:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;1411:27:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1411:27:0;;;;;;;;;1403:5;:35:::0;;-1:-1:-1;;;;;;1403:35:0::1;-1:-1:-1::0;;;;;1403:35:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;1308:138:0:o;13008:620::-;13126:6;;13118:52;;-1:-1:-1;;;13118:52:0;;-1:-1:-1;;;;;13126:6:0;;;;13118:22;;:52;;-1:-1:-1;;;13141:28:0;13118:52;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13118:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13118:52:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13118:52:0;;;;;;;;;13174:1;13118:57;13110:84;;;;-1:-1:-1;;;13110:84:0;;;;;;;;;13205:12;13244:6;;;;;;;;;-1:-1:-1;;;;;13244:6:0;-1:-1:-1;;;;;13236:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13236:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13236:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13236:25:0;;;;;;;;;-1:-1:-1;;;;;13220:50:0;;13271:10;13283:16;13220:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13220:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13220:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13220:80:0;;;;;;;;;13205:95;-1:-1:-1;;;;;;13319:18:0;;13311:45;;;;-1:-1:-1;;;13311:45:0;;;;;;;;;13387:49;;-1:-1:-1;;;13387:49:0;;13367:17;;-1:-1:-1;;;;;13387:30:0;;;;;:49;;13418:5;;13425:10;;13387:49;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13387:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13387:49:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13387:49:0;;;;;;;;;13367:69;;13465:1;13450:12;:16;:56;;;;;13492:6;;;;;;;;;-1:-1:-1;;;;;13492:6:0;-1:-1:-1;;;;;13484:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13484:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13484:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13484:22:0;;;;;;;;;-1:-1:-1;;;;;13470:36:0;:10;-1:-1:-1;;;;;13470:36:0;;13450:56;13447:174;;;13544:6;;;;;;;;;-1:-1:-1;;;;;13544:6:0;-1:-1:-1;;;;;13536:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13536:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13536:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13536:22:0;;;;;;;;;-1:-1:-1;;;;;13523:65:0;;13589:5;13596:12;13523:86;;;;;;;;;;;;;;;;;1100:21;;;-1:-1:-1;;;;;1100:21:0;;:::o;10456:610::-;10576:6;;10568:48;;-1:-1:-1;;;10568:48:0;;-1:-1:-1;;;;;10576:6:0;;;;10568:22;;:48;;-1:-1:-1;;;10591:24:0;10568:48;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10568:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10568:48:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10568:48:0;;;;;;;;;10620:1;10568:53;10560:80;;;;-1:-1:-1;;;10560:80:0;;;;;;;;;10651:12;10690:6;;;;;;;;;-1:-1:-1;;;;;10690:6:0;-1:-1:-1;;;;;10682:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10682:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10682:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10682:25:0;;;;;;;;;-1:-1:-1;;;;;10666:50:0;;10717:10;10729:16;10666:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10666:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10666:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10666:80:0;;;;;;;;;10651:95;-1:-1:-1;;;;;;10765:18:0;;10757:45;;;;-1:-1:-1;;;10757:45:0;;;;;;;;;10813:54;;-1:-1:-1;;;10813:54:0;;-1:-1:-1;;;;;10813:26:0;;;;;:54;;10840:14;;10856:10;;10813:54;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10813:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10813:54:0;;;;10898:1;10881:14;:18;:58;;;;;10925:6;;;;;;;;;-1:-1:-1;;;;;10925:6:0;-1:-1:-1;;;;;10917:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10917:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10917:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10917:22:0;;;;;;;;;-1:-1:-1;;;;;10903:36:0;:10;-1:-1:-1;;;;;10903:36:0;;10881:58;10878:181;;;10977:6;;;;;;;;;-1:-1:-1;;;;;10977:6:0;-1:-1:-1;;;;;10969:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10969:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10969:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10969:22:0;;;;;;;;;-1:-1:-1;;;;;10956:63:0;;11020:10;11032:14;10956:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10956:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10956:91:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10956:91:0;;;;;;;;10878:181;10456:610;;;;:::o;1128:20::-;;;-1:-1:-1;;;;;1128:20:0;;:::o;13636:600::-;13736:6;;13728:49;;-1:-1:-1;;;13728:49:0;;-1:-1:-1;;;;;13736:6:0;;;;13728:22;;:49;;-1:-1:-1;;;13751:25:0;13728:49;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13728:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13728:49:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13728:49:0;;;;;;;;;13781:1;13728:54;13720:81;;;;-1:-1:-1;;;13720:81:0;;;;;;;;;13812:12;13851:6;;;;;;;;;-1:-1:-1;;;;;13851:6:0;-1:-1:-1;;;;;13843:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13843:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13843:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13843:25:0;;;;;;;;;-1:-1:-1;;;;;13827:50:0;;13878:10;13890:16;13827:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13827:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13827:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13827:80:0;;;;;;;;;13812:95;-1:-1:-1;;;;;;13926:18:0;;13918:45;;;;-1:-1:-1;;;13918:45:0;;;;;;;;;13996:39;;-1:-1:-1;;;13996:39:0;;13974:19;;-1:-1:-1;;;;;13996:27:0;;;;;:39;;14024:10;;13996:39;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13996:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13996:39:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13996:39:0;;;;;;;;;13974:61;;14068:1;14051:14;:18;:58;;;;;14095:6;;;;;;;;;-1:-1:-1;;;;;14095:6:0;-1:-1:-1;;;;;14087:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14087:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14087:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14087:22:0;;;;;;;;;-1:-1:-1;;;;;14073:36:0;:10;-1:-1:-1;;;;;14073:36:0;;14051:58;14048:181;;;14147:6;;;;;;;;;-1:-1:-1;;;;;14147:6:0;-1:-1:-1;;;;;14139:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14139:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14139:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14139:22:0;;;;;;;;;-1:-1:-1;;;;;14126:63:0;;14190:10;14202:14;14126:91;;;;;;;;;;;;;;;;;11078:617;11200:6;;11192:49;;-1:-1:-1;;;11192:49:0;;-1:-1:-1;;;;;11200:6:0;;;;11192:22;;:49;;-1:-1:-1;;;11215:25:0;11192:49;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11192:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11192:49:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11192:49:0;;;;;;;;;11245:1;11192:54;11184:81;;;;-1:-1:-1;;;11184:81:0;;;;;;;;;11276:12;11315:6;;;;;;;;;-1:-1:-1;;;;;11315:6:0;-1:-1:-1;;;;;11307:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11307:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11307:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11307:25:0;;;;;;;;;-1:-1:-1;;;;;11291:50:0;;11342:10;11354:16;11291:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11291:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11291:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11291:80:0;;;;;;;;;11276:95;-1:-1:-1;;;;;;11390:18:0;;11382:45;;;;-1:-1:-1;;;11382:45:0;;;;;;;;;11438:56;;-1:-1:-1;;;11438:56:0;;-1:-1:-1;;;;;11438:27:0;;;;;:56;;11466:15;;11483:10;;11438:56;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11438:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11438:56:0;;;;11526:1;11508:15;:19;:59;;;;;11553:6;;;;;;;;;-1:-1:-1;;;;;11553:6:0;-1:-1:-1;;;;;11545:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11545:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11545:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11545:22:0;;;;;;;;;-1:-1:-1;;;;;11531:36:0;:10;-1:-1:-1;;;;;11531:36:0;;11508:59;11505:183;;;11605:6;;;;;;;;;-1:-1:-1;;;;;11605:6:0;-1:-1:-1;;;;;11597:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11597:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11597:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11597:22:0;;;;;;;;;-1:-1:-1;;;;;11584:63:0;;11648:10;11660:15;11584:92;;;;;;;;;;;;;;;;;14245:363;1631:6;;;;;;;;;-1:-1:-1;;;;;1631:6:0;-1:-1:-1;;;;;1623:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1623:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1623:27:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1623:27:0;;;;;;;;;-1:-1:-1;;;;;1609:41:0;:10;-1:-1:-1;;;;;1609:41:0;;1601:73;;;;-1:-1:-1;;;1601:73:0;;;;;;;;;14386:12:::1;14425:6:::0;::::1;;;;;;;;-1:-1:-1::0;;;;;14425:6:0::1;-1:-1:-1::0;;;;;14417:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;14417:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14417:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14417:25:0;;;;;;;;;-1:-1:-1::0;;;;;14401:50:0::1;;14452:10;14464:16;14401:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;14401:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14401:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14401:80:0;;;;;;;;;14386:95:::0;-1:-1:-1;;;;;;14500:18:0;::::1;14492:45;;;;-1:-1:-1::0;;;14492:45:0::1;;;;;;;;;14556:6;::::0;14548:52:::1;::::0;-1:-1:-1;;;14548:52:0;;-1:-1:-1;;;;;14556:6:0;;::::1;::::0;14548:32:::1;::::0;:52:::1;::::0;14581:4;;14587;;14593:6;;14548:52:::1;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;14548:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14548:52:0;;;;1685:1;14245:363:::0;;;;:::o;11707:648::-;11849:6;;11841:47;;-1:-1:-1;;;11841:47:0;;-1:-1:-1;;;;;11849:6:0;;;;11841:22;;:47;;-1:-1:-1;;;11864:23:0;11841:47;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11841:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11841:47:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11841:47:0;;;;;;;;;11892:1;11841:52;11833:79;;;;-1:-1:-1;;;11833:79:0;;;;;;;;;11923:12;11962:6;;;;;;;;;-1:-1:-1;;;;;11962:6:0;-1:-1:-1;;;;;11954:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11954:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11954:25:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11954:25:0;;;;;;;;;-1:-1:-1;;;;;11938:50:0;;11989:10;12001:16;11938:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11938:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11938:80:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11938:80:0;;;;;;;;;11923:95;-1:-1:-1;;;;;;12037:18:0;;12029:45;;;;-1:-1:-1;;;12029:45:0;;;;;;;;;12085:71;;-1:-1:-1;;;12085:71:0;;-1:-1:-1;;;;;12085:25:0;;;;;:71;;12111:17;;12130:13;;12145:10;;12085:71;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12085:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12085:71:0;;;;12186:1;12170:13;:17;:57;;;;;12213:6;;;;;;;;;-1:-1:-1;;;;;12213:6:0;-1:-1:-1;;;;;12205:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12205:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12205:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12205:22:0;;;;;;;;;-1:-1:-1;;;;;12191:36:0;:10;-1:-1:-1;;;;;12191:36:0;;12170:57;12167:181;;;12265:6;;;;;;;;;-1:-1:-1;;;;;12265:6:0;-1:-1:-1;;;;;12257:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12257:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12257:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12257:22:0;;;;;;;;;-1:-1:-1;;;;;12244:65:0;;12310:10;12322:13;12244:92;;;;;;;;;;;;;;;;;833:241:-1;;937:2;925:9;916:7;912:23;908:32;905:2;;;-1:-1;;943:12;905:2;85:6;72:20;97:33;124:5;97:33;;;995:63;899:175;-1:-1;;;899:175;1081:263;;1196:2;1184:9;1175:7;1171:23;1167:32;1164:2;;;-1:-1;;1202:12;1164:2;226:6;220:13;238:33;265:5;238:33;;1351:366;;;1472:2;1460:9;1451:7;1447:23;1443:32;1440:2;;;-1:-1;;1478:12;1440:2;85:6;72:20;97:33;124:5;97:33;;;1530:63;-1:-1;1630:2;1669:22;;72:20;97:33;72:20;97:33;;;1638:63;;;;1434:283;;;;;;1724:491;;;;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;-1:-1;;1868:12;1830:2;85:6;72:20;97:33;124:5;97:33;;;1920:63;-1:-1;2020:2;2059:22;;72:20;97:33;72:20;97:33;;;2028:63;-1:-1;2128:2;2167:22;;72:20;97:33;72:20;97:33;;;2136:63;;;;1824:391;;;;;;2222:617;;;;;2377:3;2365:9;2356:7;2352:23;2348:33;2345:2;;;-1:-1;;2384:12;2345:2;85:6;72:20;97:33;124:5;97:33;;;2436:63;-1:-1;2536:2;2575:22;;72:20;97:33;72:20;97:33;;;2339:500;;2544:63;;-1:-1;;;;2644:2;2683:22;;485:20;;2752:2;2791:22;622:20;;2339:500;2846:491;;;;2984:2;2972:9;2963:7;2959:23;2955:32;2952:2;;;-1:-1;;2990:12;2952:2;85:6;72:20;97:33;124:5;97:33;;;3042:63;-1:-1;3142:2;3181:22;;72:20;97:33;72:20;97:33;;;2946:391;;3150:63;;-1:-1;;;3250:2;3289:22;;;;622:20;;2946:391;3344:617;;;;;3499:3;3487:9;3478:7;3474:23;3470:33;3467:2;;;-1:-1;;3506:12;3968:257;;4080:2;4068:9;4059:7;4055:23;4051:32;4048:2;;;-1:-1;;4086:12;4048:2;364:6;358:13;12882:5;11986:13;11979:21;12860:5;12857:32;12847:2;;-1:-1;;12893:12;4232:263;;4347:2;4335:9;4326:7;4322:23;4318:32;4315:2;;;-1:-1;;4353:12;4315:2;-1:-1;770:13;;4309:186;-1:-1;4309:186;4502:399;;;4634:2;4622:9;4613:7;4609:23;4605:32;4602:2;;;-1:-1;;4640:12;4602:2;-1:-1;;770:13;;4803:2;4853:22;;;770:13;;;;;-1:-1;4596:305;6715:213;-1:-1;;;;;12153:54;;;;5128:37;;6833:2;6818:18;;6804:124;7171:340;-1:-1;;;;;12153:54;;;;4987:58;;7497:2;7482:18;;5248:37;7325:2;7310:18;;7296:215;7518:324;-1:-1;;;;;12153:54;;;5128:37;;12153:54;;7828:2;7813:18;;5128:37;7664:2;7649:18;;7635:207;8196:435;-1:-1;;;;;12153:54;;;;5128:37;;8534:2;8519:18;;5248:37;;;;8617:2;8602:18;;5248:37;8370:2;8355:18;;8341:290;8969:213;5248:37;;;9087:2;9072:18;;9058:124;9189:407;9380:2;9394:47;;;5522:2;9365:18;;;11754:19;-1:-1;;;11794:14;;;5538:37;5594:12;;;9351:245;9603:407;9794:2;9808:47;;;5845:2;9779:18;;;11754:19;-1:-1;;;11794:14;;;5861:42;5922:12;;;9765:245;10017:407;10208:2;10222:47;;;6173:2;10193:18;;;11754:19;-1:-1;;;11794:14;;;6189:38;6246:12;;;10179:245;10431:407;10622:2;10636:47;;;6497:2;10607:18;;;11754:19;-1:-1;;;11794:14;;;6513:37;6569:12;;;10593:245;10845:340;5248:37;;;-1:-1;;;;;12153:54;11171:2;11156:18;;4987:58;10999:2;10984:18;;10970:215;11192:451;5248:37;;;11538:2;11523:18;;5248:37;;;;-1:-1;;;;;12153:54;11629:2;11614:18;;4987:58;11374:2;11359:18;;11345:298;12677:117;-1:-1;;;;;12153:54;;12736:35;;12726:2;;12785:1;;12775:12;12726:2;12720:74;

Swarm Source

ipfs://72db7806f7a86e92afbea47af1a737a3abd6479136399159a773bebe812585d2
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.