Contract 0x31a226acd218fe1fd2e6b26767e670e868b6e65f 3

Contract Overview

Balance:
4,345.31227867621982836 AVAX

AVAX Value:
$129,794.48 (@ $29.87/AVAX)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc7d47f1967ab473f90b6e5a4f973793f305769ad8b4f94b89cc8d21b4a69cf19Harvest Rubies150195752022-05-22 7:03:3834 secs ago0xe2735e9788e4248b5761995b1b145cc444d512c8 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015105475 27.5
0x0cdaaaadfb82043d01a4ff375b3b24ccbceee7b1210fef49061917b35837ee6dHarvest Rubies150195732022-05-22 7:03:3438 secs ago0xfe12a41c7631f91ac14e01fcf6701dae5506ebcf IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0014938825 27.5
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51aSell Rubies150195452022-05-22 7:02:381 min ago0x8846d3f5019ac1cb9a2f4b8f9fccc2c3c11b7756 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7bSell Rubies150195342022-05-22 7:02:161 min ago0x5414cf9146e453eb5a697a1cfa4b67f0a888e4ed IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228Sell Rubies150195102022-05-22 7:01:272 mins ago0xa5ac112d1abb98661cb9fde6d1562d8d9c25dfd0 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0xb5f6de632d3d98bb32eb57cbf1687a290dcfbb18d1d1fdf467f8b3f60f8424d8Harvest Rubies150195002022-05-22 7:01:083 mins ago0xf419b38fb7a8294020fb4511a8a29a4ec8145e9d IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015004825 27.5
0x0729df3f190e67b000e5df1f8f79c88f1a6a54595a659d2243865ccdb0dd352dHarvest Rubies150194782022-05-22 7:00:243 mins ago0x26c4351e8e1bce9bb4ad524db86d08745e62592f IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0014938825 27.5
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5Sell Rubies150194712022-05-22 7:00:104 mins ago0x3e0d5daf329c586a67d519a9c12c3f85015fc571 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0x6aafc01c21967f9dfec752322db781c05acf742f36f0791e2fc83ed6ea4ca340Harvest Rubies150194502022-05-22 6:59:284 mins ago0x33f5060aff0e858fd7587b7827ccfee0541a4190 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.00151495683 26.41
0x78f4266c06bde26c1a8cb8620603099963beaab325eacae908a1419a7b677047Harvest Rubies150194472022-05-22 6:59:224 mins ago0x6d773103a56365bc67b5780f860dd1b8cf867b7b IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015004825 27.5
0x0f0a67a42606435f9f149e42ce90d775097bff4b9da633c102e90086ec7b523bHarvest Rubies150194452022-05-22 6:59:184 mins ago0x3e0d5daf329c586a67d519a9c12c3f85015fc571 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015001525 27.5
0xa8e179641ee94935a637637ba7eeef2637f32581472ac50471f914393f71dfb8Harvest Rubies150194222022-05-22 6:58:325 mins ago0x42fd51192116c8ac3e805cc8de816bba839a9b81 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015004825 27.5
0x3cfbf2db8b932021adedb9eda9f53afcc6d6fd7b266b05e61cc296eebd2d226aHarvest Rubies150194042022-05-22 6:57:566 mins ago0x5c3cb7b19a8980b300ee25b077aca5fe3c85bea8 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0014938825 27.5
0xd2b0db56b32b852b2209483f12db7a2af8e05f0b0fa790d34b52451067789f44Harvest Rubies150193982022-05-22 6:57:446 mins ago0x42a31c54ec35624ed734a707253849a8bc87fbf9 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.001418638 26
0x7bd643052ccc621f0cdc01fcfb13d36f8aa36b9a2169e0b5e3f5d8218ef27d97Harvest Rubies150193832022-05-22 6:57:146 mins ago0xff2baa7f99ef4594fc817606b2cf2fe40f85e839 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.002570535 45
0xbae9f223f47a5bb14a5afe609a480f6f36c8af4a5c9b5f99a5132de84545272eHarvest Rubies150193592022-05-22 6:56:267 mins ago0xff306568d5325243513e83ab425632f44e1b032d IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.00136407525
0xee10b7e0c8a037f626315291dfcf9496c57fe5c79be18c8590c13fe32e73997bHarvest Rubies150193592022-05-22 6:56:267 mins ago0x117b067110884336bc714d8313767f3b9806eeb9 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003214035 45
0x60c42da12ad6b13af40aebf7ccb2ae1b19886cd6593cc8d981fb208da7132ff4Harvest Rubies150193532022-05-22 6:56:147 mins ago0x53a501b714e74ba1fe5f7baa1f8c2abbd53c5649 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0019707325 27.5
0x46d0bd0f780e3763ec1ed7b124c3b519c24c1e0dbf1aced5560af7f4d9deb077Harvest Rubies150193382022-05-22 6:55:448 mins ago0x6ea7d20fdbb9d6719f01cc9162e378936aea7f80 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0015105475 27.5
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecdaSell Rubies150193152022-05-22 6:54:589 mins ago0xc29080528285a1dcb41c7709490eabb9e4a5a5b3 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0xf3eb8c306e03178b73a6b347d07ff088182b0680db8f19563170a162ec2e8f00Sell Rubies150192972022-05-22 6:54:229 mins ago0xa9d27a2fb2d514981830d1d1bda7af0a898a777f IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0x1c970bdccff616dc675d68e798c07fbd78746c3a9c648704a440b96a3d220788Sell Rubies150192712022-05-22 6:53:3010 mins ago0xc5262d3c3b942a62898f1d21cc04c526710fe3ed IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.00289923698 26.41
0x24ee82d3c8ade2d71d7f8301cf8b2884a73f0e129627fa3e3c289e89eea38797Sell Rubies150192622022-05-22 6:53:1211 mins ago0x61a0c2366caf886e57646c9c546d1aae5ffd7514 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.0027444525
0x9fb1597c7d27f724520d5872ff5b4097df58ac2b5d3b7a148bf22eac03c921b2Sell Rubies150192582022-05-22 6:53:0411 mins ago0x683039b7c671ead29b2ce573a07268bc2dccdea1 IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.003018895 27.5
0x98103cf875b680b6dad2265e14c58df77fb7bbf9f9faf5c666d72e46cdb2229dHarvest Rubies150192492022-05-22 6:52:4611 mins ago0xc5262d3c3b942a62898f1d21cc04c526710fe3ed IN  0x31a226acd218fe1fd2e6b26767e670e868b6e65f0 AVAX0.00145041079 26.41
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51a150195452022-05-22 7:02:381 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x8846d3f5019ac1cb9a2f4b8f9fccc2c3c11b77560.024384563711102288 AVAX
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51a150195452022-05-22 7:02:381 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x06afaa4595e38587ad2a336023f54c3b72551e0f0.000497644157369434 AVAX
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51a150195452022-05-22 7:02:381 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xe9033c5f4564553e7efcc7b8d81b2d80b67dc9c30.000497644157369434 AVAX
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51a150195452022-05-22 7:02:381 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x7f6997db9143244498501e48a30223adec3ca86d0.000497644157369434 AVAX
0x554ca45d7da9503cdae740ea38b06a15a792048749ad1a5cde80496b48e3b51a150195452022-05-22 7:02:381 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xf2abbcee76c2a40b9acfd380aff1da3325490c6a0.000497644157369434 AVAX
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7b150195342022-05-22 7:02:161 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x5414cf9146e453eb5a697a1cfa4b67f0a888e4ed0.039736310132436874 AVAX
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7b150195342022-05-22 7:02:161 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x06afaa4595e38587ad2a336023f54c3b72551e0f0.000810945104743609 AVAX
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7b150195342022-05-22 7:02:161 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xe9033c5f4564553e7efcc7b8d81b2d80b67dc9c30.000810945104743609 AVAX
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7b150195342022-05-22 7:02:161 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x7f6997db9143244498501e48a30223adec3ca86d0.000810945104743609 AVAX
0xb9994f02a29be0f19e6baf6c930665a313b0e54e2be0f66c5857133f94f6fa7b150195342022-05-22 7:02:161 min ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xf2abbcee76c2a40b9acfd380aff1da3325490c6a0.000810945104743609 AVAX
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228150195102022-05-22 7:01:272 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xa5ac112d1abb98661cb9fde6d1562d8d9c25dfd00.024576238376303026 AVAX
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228150195102022-05-22 7:01:272 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x06afaa4595e38587ad2a336023f54c3b72551e0f0.000501555885230674 AVAX
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228150195102022-05-22 7:01:272 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xe9033c5f4564553e7efcc7b8d81b2d80b67dc9c30.000501555885230674 AVAX
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228150195102022-05-22 7:01:272 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x7f6997db9143244498501e48a30223adec3ca86d0.000501555885230674 AVAX
0x6dcb06419e5398225ba4a5cca2442cdeb1c9f6ec96f44342d35d2101d430b228150195102022-05-22 7:01:272 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xf2abbcee76c2a40b9acfd380aff1da3325490c6a0.000501555885230674 AVAX
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5150194712022-05-22 7:00:104 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x3e0d5daf329c586a67d519a9c12c3f85015fc5710.00001113092828594 AVAX
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5150194712022-05-22 7:00:104 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x06afaa4595e38587ad2a336023f54c3b72551e0f0.000000227161801753 AVAX
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5150194712022-05-22 7:00:104 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xe9033c5f4564553e7efcc7b8d81b2d80b67dc9c30.000000227161801753 AVAX
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5150194712022-05-22 7:00:104 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x7f6997db9143244498501e48a30223adec3ca86d0.000000227161801753 AVAX
0xa44acccd3792da1711b4c3ccc9f17fb22d61683d40a49c8401406d111a66b5d5150194712022-05-22 7:00:104 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xf2abbcee76c2a40b9acfd380aff1da3325490c6a0.000000227161801753 AVAX
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecda150193152022-05-22 6:54:589 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xc29080528285a1dcb41c7709490eabb9e4a5a5b30.064153275939200292 AVAX
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecda150193152022-05-22 6:54:589 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x06afaa4595e38587ad2a336023f54c3b72551e0f0.001309250529371434 AVAX
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecda150193152022-05-22 6:54:589 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xe9033c5f4564553e7efcc7b8d81b2d80b67dc9c30.001309250529371434 AVAX
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecda150193152022-05-22 6:54:589 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0x7f6997db9143244498501e48a30223adec3ca86d0.001309250529371434 AVAX
0xfd75fc4fb4eb213bfc31e0938c25fe7a8cb0c7e9de00fde07b7ca7b7dd33ecda150193152022-05-22 6:54:589 mins ago 0x31a226acd218fe1fd2e6b26767e670e868b6e65f0xf2abbcee76c2a40b9acfd380aff1da3325490c6a0.001309250529371434 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RubyMine

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2022-04-05
*/

/* RubyMine - Mine Ruby, Earn AVAX. Repeat - Start mining now! https://www.rubymine.money/ */

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // 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 (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @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 a + b;
    }

    /**
     * @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 a - b;
    }

    /**
     * @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) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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 a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

pragma solidity 0.8.9;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context { 
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address public _marketing;
    address public _team;
    address public _web;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev Initializes the contract setting the deployer as the initial owner.
    */
    constructor () {
      address msgSender = _msgSender();
      _owner = msgSender;
      emit OwnershipTransferred(address(0), msgSender);
      _marketing = 0x7f6997dB9143244498501E48a30223Adec3cA86D;
      _team = 0xe9033c5F4564553e7efcC7B8D81B2D80B67DC9C3;
      _web = 0x06aFaa4595e38587Ad2a336023F54C3b72551e0f;
    }

    /**
    * @dev Returns the address of the current owner.
    */
    function owner() public view returns (address) {
      return _owner;
    }

    
    modifier onlyOwner() {
      require(_owner == _msgSender(), "Ownable: caller is not the owner");
      _;
    }

    function renounceOwnership() public onlyOwner {
      emit OwnershipTransferred(_owner, address(0));
      _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
      _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
      require(newOwner != address(0), "Ownable: new owner is the zero address");
      emit OwnershipTransferred(_owner, newOwner);
      _owner = newOwner;
    }
}

contract RubyMine is Context, Ownable {
    using SafeMath for uint256;

    uint256 private RUBIES_TO_HATCH_1MINERS = 1080000;//for final version should be seconds in a day
    uint256 private PSN = 10000;
    uint256 private PSNH = 5000;
    uint256 private devFeeVal = 2;
    uint256 private marketingFeeVal = 2;
    uint256 private webFeeVal = 2;
    uint256 private teamFeeVal = 2;
    bool private initialized = false;
    address payable private recAdd;
    address payable private marketingAdd;
    address payable private teamAdd;
    address payable private webAdd;
    mapping (address => uint256) private rubyMiners;
    mapping (address => uint256) private claimedRuby;
    mapping (address => uint256) private lastHarvest;
    mapping (address => address) private referrals;
    uint256 private marketRubies;
    
    constructor() { 
        recAdd = payable(msg.sender);
        marketingAdd = payable(_marketing);
        teamAdd = payable(_team);
        webAdd = payable(_web);
    }
    
    function harvestRubies(address ref) public {
        require(initialized);
        
        if(ref == msg.sender) {
            ref = address(0);
        }
        
        if(referrals[msg.sender] == address(0) && referrals[msg.sender] != msg.sender) {
            referrals[msg.sender] = ref;
        }
        
        uint256 rubiesUsed = getMyRubies(msg.sender);
        uint256 newMiners = SafeMath.div(rubiesUsed,RUBIES_TO_HATCH_1MINERS);
        rubyMiners[msg.sender] = SafeMath.add(rubyMiners[msg.sender],newMiners);
        claimedRuby[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        
        //send referral rubies
        claimedRuby[referrals[msg.sender]] = SafeMath.add(claimedRuby[referrals[msg.sender]],SafeMath.div(rubiesUsed,8));
        
        //boost market to nerf miners hoarding
        marketRubies=SafeMath.add(marketRubies,SafeMath.div(rubiesUsed,5));
    }
    
    function sellRubies() public {
        require(initialized);
        uint256 hasRubies = getMyRubies(msg.sender);
        uint256 rubyValue = calculateRubySell(hasRubies);
        uint256 fee1 = devFee(rubyValue);
        uint256 fee2 = marketingFee(rubyValue);
        uint256 fee3 = webFee(rubyValue);
        uint256 fee4 = teamFee(rubyValue);
        claimedRuby[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        marketRubies = SafeMath.add(marketRubies,hasRubies);
        recAdd.transfer(fee1);
        marketingAdd.transfer(fee2);        
        teamAdd.transfer(fee3);
        webAdd.transfer(fee4);
        payable (msg.sender).transfer(SafeMath.sub(rubyValue,fee1));

    }
    
    function rubyRewards(address adr) public view returns(uint256) {
        uint256 hasRubies = getMyRubies(adr);
        uint256 rubyValue = calculateRubySell(hasRubies);
        return rubyValue;
    }
    
    function buyRubies(address ref) public payable {
        require(initialized);
        uint256 rubiesBought = calculateRubyBuy(msg.value,SafeMath.sub(address(this).balance,msg.value));
        rubiesBought = SafeMath.sub(rubiesBought,devFee(rubiesBought));
        rubiesBought = SafeMath.sub(rubiesBought,marketingFee(rubiesBought));
        rubiesBought = SafeMath.sub(rubiesBought,webFee(rubiesBought));
        rubiesBought = SafeMath.sub(rubiesBought,teamFee(rubiesBought));

        uint256 fee1 = devFee(msg.value);
        uint256 fee2 = marketingFee(msg.value);
        uint256 fee3 = webFee(msg.value);
        uint256 fee4 = teamFee(msg.value);
        recAdd.transfer(fee1);
        marketingAdd.transfer(fee2);
        teamAdd.transfer(fee3);
        webAdd.transfer(fee4);

        claimedRuby[msg.sender] = SafeMath.add(claimedRuby[msg.sender],rubiesBought);
        harvestRubies(ref);
    }
    
    function calculateTrade(uint256 rt,uint256 rs, uint256 bs) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(PSN,bs),SafeMath.add(PSNH,SafeMath.div(SafeMath.add(SafeMath.mul(PSN,rs),SafeMath.mul(PSNH,rt)),rt)));
    }
    
    function calculateRubySell(uint256 rubies) public view returns(uint256) {
        return calculateTrade(rubies,marketRubies,address(this).balance);
    }
    
    function calculateRubyBuy(uint256 eth,uint256 contractBalance) public view returns(uint256) {
        return calculateTrade(eth,contractBalance,marketRubies);
    }
    
    function calculateRubyBuySimple(uint256 eth) public view returns(uint256) {
        return calculateRubyBuy(eth,address(this).balance);
    }
    
    function devFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,devFeeVal),100);
    }

    function marketingFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,marketingFeeVal),100);
    }
    
    function webFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,webFeeVal),100);
    }

    function teamFee(uint256 amount) private view returns(uint256) {
        return SafeMath.div(SafeMath.mul(amount,teamFeeVal),100);
    }

    function openMines() public payable onlyOwner {
        require(marketRubies == 0);
        initialized = true;
        marketRubies = 108000000000;
    }
    
    function getBalance() public view returns(uint256) {
        return address(this).balance;
    }
    
    function getMyMiners(address adr) public view returns(uint256) {
        return rubyMiners[adr];
    }
    
    function getMyRubies(address adr) public view returns(uint256) {
        return SafeMath.add(claimedRuby[adr],getRubiesSinceLastHarvest(adr));
    }
    
    function getRubiesSinceLastHarvest(address adr) public view returns(uint256) {
        uint256 secondsPassed=min(RUBIES_TO_HATCH_1MINERS,SafeMath.sub(block.timestamp,lastHarvest[adr]));
        return SafeMath.mul(secondsPassed,rubyMiners[adr]);
    }
    
    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return a < b ? a : b;
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_team","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_web","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"buyRubies","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"contractBalance","type":"uint256"}],"name":"calculateRubyBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"}],"name":"calculateRubyBuySimple","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rubies","type":"uint256"}],"name":"calculateRubySell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyMiners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyRubies","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getRubiesSinceLastHarvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"harvestRubies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openMines","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"rubyRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellRubies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262107ac06004556127106005556113886006556002600755600260085560026009556002600a556000600b60006101000a81548160ff02191690831515021790555034801561005257600080fd5b50600061006361036f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3737f6997db9143244498501e48a30223adec3ca86d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9033c5f4564553e7efcc7b8d81b2d80b67dc9c3600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507306afaa4595e38587ad2a336023f54c3b72551e0f600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610377565b600033905090565b611a96806103866000396000f3fe6080604052600436106101095760003560e01c8063771f09d61161009557806393c98c101161006457806393c98c1014610360578063d4393fed1461039d578063f2bad19e146103b9578063f2fde38b146103f6578063f573c2081461041f57610109565b8063771f09d6146102b157806377dae0e9146102ee5780638da5cb5b1461032b578063908aa2691461035657610109565b80634b634b06116100dc5780634b634b06146101ca57806362940cc4146102075780636a6a64f714610232578063715018a61461025d57806373dc140f1461027457610109565b80630d35e5971461010e5780630df5b89f146101375780630ede03431461017457806312065fe01461019f575b600080fd5b34801561011a57600080fd5b50610135600480360381019061013091906116ba565b610436565b005b34801561014357600080fd5b5061015e6004803603810190610159919061171d565b6108d9565b60405161016b9190611759565b60405180910390f35b34801561018057600080fd5b506101896108ec565b6040516101969190611783565b60405180910390f35b3480156101ab57600080fd5b506101b4610912565b6040516101c19190611759565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec91906116ba565b61091a565b6040516101fe9190611759565b60405180910390f35b34801561021357600080fd5b5061021c610963565b6040516102299190611783565b60405180910390f35b34801561023e57600080fd5b50610247610989565b6040516102549190611783565b60405180910390f35b34801561026957600080fd5b506102726109af565b005b34801561028057600080fd5b5061029b6004803603810190610296919061179e565b610b02565b6040516102a89190611759565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d391906116ba565b610b19565b6040516102e59190611759565b60405180910390f35b3480156102fa57600080fd5b50610315600480360381019061031091906116ba565b610b3e565b6040516103229190611759565b60405180910390f35b34801561033757600080fd5b50610340610be8565b60405161034d9190611783565b60405180910390f35b61035e610c11565b005b34801561036c57600080fd5b50610387600480360381019061038291906116ba565b610cde565b6040516103949190611759565b60405180910390f35b6103b760048036038101906103b291906116ba565b610d38565b005b3480156103c557600080fd5b506103e060048036038101906103db919061171d565b61102d565b6040516103ed9190611759565b60405180910390f35b34801561040257600080fd5b5061041d600480360381019061041891906116ba565b611043565b005b34801561042b57600080fd5b506104346110e4565b005b600b60009054906101000a900460ff1661044f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561048857600090505b600073ffffffffffffffffffffffffffffffffffffffff16601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156105ae57503373ffffffffffffffffffffffffffffffffffffffff16601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156106325780601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600061063d33610cde565b9050600061064d826004546113e2565b9050610698600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826113f8565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061081660106000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108118460086113e2565b6113f8565b60106000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108ce6013546108c98460056113e2565b6113f8565b601381905550505050565b60006108e58247610b02565b9050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600047905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109b761140e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b9061183b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610b118383601354611416565b905092915050565b600080610b2583610cde565b90506000610b328261102d565b90508092505050919050565b600080610b95600454610b9042601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611469565b61147f565b9050610be081600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611498565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c1961140e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d9061183b565b60405180910390fd5b600060135414610cb557600080fd5b6001600b60006101000a81548160ff0219169083151502179055506419254d3800601381905550565b6000610d31601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2c84610b3e565b6113f8565b9050919050565b600b60009054906101000a900460ff16610d5157600080fd5b6000610d6634610d614734611469565b610b02565b9050610d7a81610d75836114ae565b611469565b9050610d8e81610d89836114cd565b611469565b9050610da281610d9d836114ec565b611469565b9050610db681610db18361150b565b611469565b90506000610dc3346114ae565b90506000610dd0346114cd565b90506000610ddd346114ec565b90506000610dea3461150b565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610e54573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610ebd573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610f26573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8f573d6000803e3d6000fd5b50610fd9601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866113f8565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061102586610436565b505050505050565b600061103c8260135447611416565b9050919050565b61104b61140e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf9061183b565b60405180910390fd5b6110e18161152a565b50565b600b60009054906101000a900460ff166110fd57600080fd5b600061110833610cde565b905060006111158261102d565b90506000611122826114ae565b9050600061112f836114cd565b9050600061113c846114ec565b905060006111498561150b565b90506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111e0601354876113f8565b601381905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015801561124e573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156112b7573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611320573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611389573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff166108fc6113ae8787611469565b9081150290604051600060405180830381858888f193505050501580156113d9573d6000803e3d6000fd5b50505050505050565b600081836113f091906118b9565b905092915050565b6000818361140691906118ea565b905092915050565b600033905090565b600061146061142760055484611498565b61145b60065461145661145061143f6005548a611498565b61144b6006548c611498565b6113f8565b896113e2565b6113f8565b6113e2565b90509392505050565b600081836114779190611940565b905092915050565b600081831061148e5781611490565b825b905092915050565b600081836114a69190611974565b905092915050565b60006114c66114bf83600754611498565b60646113e2565b9050919050565b60006114e56114de83600854611498565b60646113e2565b9050919050565b60006115046114fd83600954611498565b60646113e2565b9050919050565b600061152361151c83600a54611498565b60646113e2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159190611a40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116878261165c565b9050919050565b6116978161167c565b81146116a257600080fd5b50565b6000813590506116b48161168e565b92915050565b6000602082840312156116d0576116cf611657565b5b60006116de848285016116a5565b91505092915050565b6000819050919050565b6116fa816116e7565b811461170557600080fd5b50565b600081359050611717816116f1565b92915050565b60006020828403121561173357611732611657565b5b600061174184828501611708565b91505092915050565b611753816116e7565b82525050565b600060208201905061176e600083018461174a565b92915050565b61177d8161167c565b82525050565b60006020820190506117986000830184611774565b92915050565b600080604083850312156117b5576117b4611657565b5b60006117c385828601611708565b92505060206117d485828601611708565b9150509250929050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118256020836117de565b9150611830826117ef565b602082019050919050565b6000602082019050818103600083015261185481611818565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118c4826116e7565b91506118cf836116e7565b9250826118df576118de61185b565b5b828204905092915050565b60006118f5826116e7565b9150611900836116e7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119355761193461188a565b5b828201905092915050565b600061194b826116e7565b9150611956836116e7565b9250828210156119695761196861188a565b5b828203905092915050565b600061197f826116e7565b915061198a836116e7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156119c3576119c261188a565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611a2a6026836117de565b9150611a35826119ce565b604082019050919050565b60006020820190508181036000830152611a5981611a1d565b905091905056fea2646970667358221220626283a5f2ab7aeb7930d9837f268f08b85f2874e8c4adbbc283785294c631d964736f6c63430008090033

Deployed ByteCode Sourcemap

8845:6161:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9885:936;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13325:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7490:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14244:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14354:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7458:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7517:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8356:136;;;;;;;;;;;;;:::i;:::-;;13147:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11572:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14632:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8142:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14074:158;;;:::i;:::-;;14470:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11788:926;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12980:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8500:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10833:727;;;;;;;;;;;;;:::i;:::-;;9885:936;9947:11;;;;;;;;;;;9939:20;;;;;;9990:10;9983:17;;:3;:17;;;9980:65;;;10031:1;10017:16;;9980:65;10101:1;10068:35;;:9;:21;10078:10;10068:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;:74;;;;;10132:10;10107:35;;:9;:21;10117:10;10107:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;10068:74;10065:133;;;10183:3;10159:9;:21;10169:10;10159:21;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;10065:133;10218:18;10239:23;10251:10;10239:11;:23::i;:::-;10218:44;;10273:17;10293:48;10306:10;10317:23;;10293:12;:48::i;:::-;10273:68;;10377:46;10390:10;:22;10401:10;10390:22;;;;;;;;;;;;;;;;10413:9;10377:12;:46::i;:::-;10352:10;:22;10363:10;10352:22;;;;;;;;;;;;;;;:71;;;;10460:1;10434:11;:23;10446:10;10434:23;;;;;;;;;;;;;;;:27;;;;10498:15;10472:11;:23;10484:10;10472:23;;;;;;;;;;;;;;;:41;;;;10603:75;10616:11;:34;10628:9;:21;10638:10;10628:21;;;;;;;;;;;;;;;;;;;;;;;;;10616:34;;;;;;;;;;;;;;;;10651:26;10664:10;10675:1;10651:12;:26::i;:::-;10603:12;:75::i;:::-;10566:11;:34;10578:9;:21;10588:10;10578:21;;;;;;;;;;;;;;;;;;;;;;;;;10566:34;;;;;;;;;;;;;;;:112;;;;10760:53;10773:12;;10786:26;10799:10;10810:1;10786:12;:26::i;:::-;10760:12;:53::i;:::-;10747:12;:66;;;;9928:893;;9885:936;:::o;13325:143::-;13390:7;13417:43;13434:3;13438:21;13417:16;:43::i;:::-;13410:50;;13325:143;;;:::o;7490:20::-;;;;;;;;;;;;;:::o;14244:98::-;14286:7;14313:21;14306:28;;14244:98;:::o;14354:104::-;14408:7;14435:10;:15;14446:3;14435:15;;;;;;;;;;;;;;;;14428:22;;14354:104;;;:::o;7458:25::-;;;;;;;;;;;;;:::o;7517:19::-;;;;;;;;;;;;;:::o;8356:136::-;8281:12;:10;:12::i;:::-;8271:22;;:6;;;;;;;;;;:22;;;8263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8453:1:::1;8416:40;;8437:6;::::0;::::1;;;;;;;;8416:40;;;;;;;;;;;;8482:1;8465:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8356:136::o:0;13147:166::-;13230:7;13257:48;13272:3;13276:15;13292:12;;13257:14;:48::i;:::-;13250:55;;13147:166;;;;:::o;11572:204::-;11626:7;11646:17;11666:16;11678:3;11666:11;:16::i;:::-;11646:36;;11693:17;11713:28;11731:9;11713:17;:28::i;:::-;11693:48;;11759:9;11752:16;;;;11572:204;;;:::o;14632:254::-;14700:7;14720:21;14742:75;14746:23;;14770:46;14783:15;14799:11;:16;14811:3;14799:16;;;;;;;;;;;;;;;;14770:12;:46::i;:::-;14742:3;:75::i;:::-;14720:97;;14835:43;14848:13;14862:10;:15;14873:3;14862:15;;;;;;;;;;;;;;;;14835:12;:43::i;:::-;14828:50;;;14632:254;;;:::o;8142:77::-;8180:7;8205:6;;;;;;;;;;;8198:13;;8142:77;:::o;14074:158::-;8281:12;:10;:12::i;:::-;8271:22;;:6;;;;;;;;;;:22;;;8263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14155:1:::1;14139:12;;:17;14131:26;;;::::0;::::1;;14182:4;14168:11;;:18;;;;;;;;;;;;;;;;;;14212:12;14197;:27;;;;14074:158::o:0;14470:150::-;14524:7;14551:61;14564:11;:16;14576:3;14564:16;;;;;;;;;;;;;;;;14581:30;14607:3;14581:25;:30::i;:::-;14551:12;:61::i;:::-;14544:68;;14470:150;;;:::o;11788:926::-;11854:11;;;;;;;;;;;11846:20;;;;;;11877;11900:73;11917:9;11927:45;11940:21;11962:9;11927:12;:45::i;:::-;11900:16;:73::i;:::-;11877:96;;11999:47;12012:12;12025:20;12032:12;12025:6;:20::i;:::-;11999:12;:47::i;:::-;11984:62;;12072:53;12085:12;12098:26;12111:12;12098;:26::i;:::-;12072:12;:53::i;:::-;12057:68;;12151:47;12164:12;12177:20;12184:12;12177:6;:20::i;:::-;12151:12;:47::i;:::-;12136:62;;12224:48;12237:12;12250:21;12258:12;12250:7;:21::i;:::-;12224:12;:48::i;:::-;12209:63;;12285:12;12300:17;12307:9;12300:6;:17::i;:::-;12285:32;;12328:12;12343:23;12356:9;12343:12;:23::i;:::-;12328:38;;12377:12;12392:17;12399:9;12392:6;:17::i;:::-;12377:32;;12420:12;12435:18;12443:9;12435:7;:18::i;:::-;12420:33;;12464:6;;;;;;;;;;;:15;;:21;12480:4;12464:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12496:12;;;;;;;;;;;:21;;:27;12518:4;12496:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12534:7;;;;;;;;;;;:16;;:22;12551:4;12534:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12567:6;;;;;;;;;;;:15;;:21;12583:4;12567:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12627:50;12640:11;:23;12652:10;12640:23;;;;;;;;;;;;;;;;12664:12;12627;:50::i;:::-;12601:11;:23;12613:10;12601:23;;;;;;;;;;;;;;;:76;;;;12688:18;12702:3;12688:13;:18::i;:::-;11835:879;;;;;11788:926;:::o;12980:155::-;13043:7;13070:57;13085:6;13092:12;;13105:21;13070:14;:57::i;:::-;13063:64;;12980:155;;;:::o;8500:107::-;8281:12;:10;:12::i;:::-;8271:22;;:6;;;;;;;;;;:22;;;8263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8571:28:::1;8590:8;8571:18;:28::i;:::-;8500:107:::0;:::o;10833:727::-;10881:11;;;;;;;;;;;10873:20;;;;;;10904:17;10924:23;10936:10;10924:11;:23::i;:::-;10904:43;;10958:17;10978:28;10996:9;10978:17;:28::i;:::-;10958:48;;11017:12;11032:17;11039:9;11032:6;:17::i;:::-;11017:32;;11060:12;11075:23;11088:9;11075:12;:23::i;:::-;11060:38;;11109:12;11124:17;11131:9;11124:6;:17::i;:::-;11109:32;;11152:12;11167:18;11175:9;11167:7;:18::i;:::-;11152:33;;11222:1;11196:11;:23;11208:10;11196:23;;;;;;;;;;;;;;;:27;;;;11260:15;11234:11;:23;11246:10;11234:23;;;;;;;;;;;;;;;:41;;;;11301:36;11314:12;;11327:9;11301:12;:36::i;:::-;11286:12;:51;;;;11348:6;;;;;;;;;;;:15;;:21;11364:4;11348:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11380:12;;;;;;;;;;;:21;;:27;11402:4;11380:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11426:7;;;;;;;;;;;:16;;:22;11443:4;11426:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11459:6;;;;;;;;;;;:15;;:21;11475:4;11459:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11500:10;11491:29;;:59;11521:28;11534:9;11544:4;11521:12;:28::i;:::-;11491:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10862:698;;;;;;10833:727::o;3585:98::-;3643:7;3674:1;3670;:5;;;;:::i;:::-;3663:12;;3585:98;;;;:::o;2448:::-;2506:7;2537:1;2533;:5;;;;:::i;:::-;2526:12;;2448:98;;;;:::o;7180:::-;7233:7;7260:10;7253:17;;7180:98;:::o;12726:242::-;12806:7;12833:127;12846:20;12859:3;;12863:2;12846:12;:20::i;:::-;12867:92;12880:4;;12885:73;12898:56;12911:20;12924:3;;12928:2;12911:12;:20::i;:::-;12932:21;12945:4;;12950:2;12932:12;:21::i;:::-;12898:12;:56::i;:::-;12955:2;12885:12;:73::i;:::-;12867:12;:92::i;:::-;12833:12;:127::i;:::-;12826:134;;12726:242;;;;;:::o;2829:98::-;2887:7;2918:1;2914;:5;;;;:::i;:::-;2907:12;;2829:98;;;;:::o;14898:105::-;14955:7;14986:1;14982;:5;:13;;14994:1;14982:13;;;14990:1;14982:13;14975:20;;14898:105;;;;:::o;3186:98::-;3244:7;3275:1;3271;:5;;;;:::i;:::-;3264:12;;3186:98;;;;:::o;13480:136::-;13533:7;13560:48;13573:30;13586:6;13593:9;;13573:12;:30::i;:::-;13604:3;13560:12;:48::i;:::-;13553:55;;13480:136;;;:::o;13624:148::-;13683:7;13710:54;13723:36;13736:6;13743:15;;13723:12;:36::i;:::-;13760:3;13710:12;:54::i;:::-;13703:61;;13624:148;;;:::o;13784:136::-;13837:7;13864:48;13877:30;13890:6;13897:9;;13877:12;:30::i;:::-;13908:3;13864:12;:48::i;:::-;13857:55;;13784:136;;;:::o;13928:138::-;13982:7;14009:49;14022:31;14035:6;14042:10;;14022:12;:31::i;:::-;14054:3;14009:12;:49::i;:::-;14002:56;;13928:138;;;:::o;8615:223::-;8707:1;8687:22;;:8;:22;;;;8679:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8795:8;8766:38;;8787:6;;;;;;;;;;8766:38;;;;;;;;;;;;8822:8;8813:6;;:17;;;;;;;;;;;;;;;;;;8615:223;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:122::-;1332:24;1350:5;1332:24;:::i;:::-;1325:5;1322:35;1312:63;;1371:1;1368;1361:12;1312:63;1259:122;:::o;1387:139::-;1433:5;1471:6;1458:20;1449:29;;1487:33;1514:5;1487:33;:::i;:::-;1387:139;;;;:::o;1532:329::-;1591:6;1640:2;1628:9;1619:7;1615:23;1611:32;1608:119;;;1646:79;;:::i;:::-;1608:119;1766:1;1791:53;1836:7;1827:6;1816:9;1812:22;1791:53;:::i;:::-;1781:63;;1737:117;1532:329;;;;:::o;1867:118::-;1954:24;1972:5;1954:24;:::i;:::-;1949:3;1942:37;1867:118;;:::o;1991:222::-;2084:4;2122:2;2111:9;2107:18;2099:26;;2135:71;2203:1;2192:9;2188:17;2179:6;2135:71;:::i;:::-;1991:222;;;;:::o;2219:118::-;2306:24;2324:5;2306:24;:::i;:::-;2301:3;2294:37;2219:118;;:::o;2343:222::-;2436:4;2474:2;2463:9;2459:18;2451:26;;2487:71;2555:1;2544:9;2540:17;2531:6;2487:71;:::i;:::-;2343:222;;;;:::o;2571:474::-;2639:6;2647;2696:2;2684:9;2675:7;2671:23;2667:32;2664:119;;;2702:79;;:::i;:::-;2664:119;2822:1;2847:53;2892:7;2883:6;2872:9;2868:22;2847:53;:::i;:::-;2837:63;;2793:117;2949:2;2975:53;3020:7;3011:6;3000:9;2996:22;2975:53;:::i;:::-;2965:63;;2920:118;2571:474;;;;;:::o;3051:169::-;3135:11;3169:6;3164:3;3157:19;3209:4;3204:3;3200:14;3185:29;;3051:169;;;;:::o;3226:182::-;3366:34;3362:1;3354:6;3350:14;3343:58;3226:182;:::o;3414:366::-;3556:3;3577:67;3641:2;3636:3;3577:67;:::i;:::-;3570:74;;3653:93;3742:3;3653:93;:::i;:::-;3771:2;3766:3;3762:12;3755:19;;3414:366;;;:::o;3786:419::-;3952:4;3990:2;3979:9;3975:18;3967:26;;4039:9;4033:4;4029:20;4025:1;4014:9;4010:17;4003:47;4067:131;4193:4;4067:131;:::i;:::-;4059:139;;3786:419;;;:::o;4211:180::-;4259:77;4256:1;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4397:180;4445:77;4442:1;4435:88;4542:4;4539:1;4532:15;4566:4;4563:1;4556:15;4583:185;4623:1;4640:20;4658:1;4640:20;:::i;:::-;4635:25;;4674:20;4692:1;4674:20;:::i;:::-;4669:25;;4713:1;4703:35;;4718:18;;:::i;:::-;4703:35;4760:1;4757;4753:9;4748:14;;4583:185;;;;:::o;4774:305::-;4814:3;4833:20;4851:1;4833:20;:::i;:::-;4828:25;;4867:20;4885:1;4867:20;:::i;:::-;4862:25;;5021:1;4953:66;4949:74;4946:1;4943:81;4940:107;;;5027:18;;:::i;:::-;4940:107;5071:1;5068;5064:9;5057:16;;4774:305;;;;:::o;5085:191::-;5125:4;5145:20;5163:1;5145:20;:::i;:::-;5140:25;;5179:20;5197:1;5179:20;:::i;:::-;5174:25;;5218:1;5215;5212:8;5209:34;;;5223:18;;:::i;:::-;5209:34;5268:1;5265;5261:9;5253:17;;5085:191;;;;:::o;5282:348::-;5322:7;5345:20;5363:1;5345:20;:::i;:::-;5340:25;;5379:20;5397:1;5379:20;:::i;:::-;5374:25;;5567:1;5499:66;5495:74;5492:1;5489:81;5484:1;5477:9;5470:17;5466:105;5463:131;;;5574:18;;:::i;:::-;5463:131;5622:1;5619;5615:9;5604:20;;5282:348;;;;:::o;5636:225::-;5776:34;5772:1;5764:6;5760:14;5753:58;5845:8;5840:2;5832:6;5828:15;5821:33;5636:225;:::o;5867:366::-;6009:3;6030:67;6094:2;6089:3;6030:67;:::i;:::-;6023:74;;6106:93;6195:3;6106:93;:::i;:::-;6224:2;6219:3;6215:12;6208:19;;5867:366;;;:::o;6239:419::-;6405:4;6443:2;6432:9;6428:18;6420:26;;6492:9;6486:4;6482:20;6478:1;6467:9;6463:17;6456:47;6520:131;6646:4;6520:131;:::i;:::-;6512:139;;6239:419;;;:::o

Swarm Source

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