Contract 0x06fa82bb659d423d7a75a97d94833d263ce02e87 2

Contract Overview

Balance:
0.681858567202344416 AVAX

AVAX Value:
$11.61 (@ $17.02/AVAX)
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x234f3f59da757eaf19afabd162d6618505d25a1178c9867f9a7f4c21987017e4Harvest Farmers205804522022-10-03 5:07:2512 hrs 20 mins ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x4e3735cb02682a3a0d75cde4a27657d0f362637229b715955a8caa7975d71dc6Harvest Farmers205570192022-10-02 15:38:251 day 1 hr ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xbb667afc266cacfeb5f30046214a6c9e2881318133edd6dbd731966ec463d0f6Sell Farmers204970122022-10-01 5:03:312 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00905004 90
0xfc24107feba83a7bae795d650f51abe7fb220af39c117eb9a3a0620adea6e282Harvest Farmers204579722022-09-30 6:41:583 days 10 hrs ago0x759cdf05ffbe460290721512583b1e411f2b88ee IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00416052 90
0x4201ce2bc2dab28f3620c500e8de0c56a3f51866b9b7ec5d556883d5a0d2d1a3Harvest Farmers204130782022-09-29 5:08:014 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x4cb1a25930305311bd2d9c84dc04bc74930725a94ce240c53fc610072d6433a1Harvest Farmers203753242022-09-28 7:33:445 days 9 hrs ago0x759cdf05ffbe460290721512583b1e411f2b88ee IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00416052 90
0xc1f8e8b272123c07da0bdc4376a79670b5aee21feffac136ce4ed5d0baf4ab32Harvest Farmers203722482022-09-28 5:48:285 days 11 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x2a0ce1d69dbe69419b4bff5179737ee249a696d8ca8a9f8aa3253ecbcb0d5db4Harvest Farmers203114892022-09-26 19:05:526 days 22 hrs ago0x759cdf05ffbe460290721512583b1e411f2b88ee IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00415962 90
0x8d051fa525aaaec16ede370de28bb0abfb51cc8fc4a61c27de6de7dd829cabddHarvest Farmers202864232022-09-26 4:39:347 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x287daf326bf1edc94b4be6a84051066000d9b9b866a3d0b05502361b540b03e3Harvest Farmers202473602022-09-25 6:03:548 days 11 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xf93b1627beafb49a86476550d5f213a450cfb27126235cd0715648899113e86aSell Farmers202040882022-09-24 4:56:009 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00905004 90
0x7d5b59ab5a9a065303c2907bfc8f59cf82d2c6bd9b16790c61021e6658427682Harvest Farmers201655222022-09-23 6:18:1110 days 11 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x47ff011a87cad02c3ebeecf4925a2dc7cbaf8d70dd5e5571ab93ae5b37d1fe03Harvest Farmers201241992022-09-22 5:35:0411 days 11 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xb8f89f24e60d74cad3ac87b5ee38f2feefe6d5691046865ba59ad52dc079cfd3Harvest Farmers200907382022-09-21 5:25:2412 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x98f373bdaa56be5051d5f53910f125adf7a22a0b620dc7bed864febf29f5c505Sell Farmers200863472022-09-21 2:08:5212 days 15 hrs ago0xaf01ce00e5343e447b5202576984638e4071d22c IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00905004 90
0x92c859c2e8819362128edb2c5fd0a7a6c0e8ddf7b5b5d7dcb3972ff4c81861ddHarvest Farmers200550812022-09-20 3:54:5813 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xf039e6da0ec2750b129b7b21d9152637aa50a4abc11fd67c2525baf8aa5030d1Harvest Farmers200214972022-09-19 4:22:5214 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xcc794e588973df91187a1f32f35320d6a103b327a5b67706c56d2e4f3b2419c7Harvest Farmers199875802022-09-18 4:05:1815 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x5704ce0d097d3913dde75ad26025c9a7fc2aa8256cf563a1d7d4bc6dadcf6869Sell Farmers199565912022-09-17 5:40:4016 days 11 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00905004 90
0xed470a75c65b8f2af59fb68f917805a0b3fe82f9920524c29276a380f1cb5da2Harvest Farmers199212932022-09-16 4:18:0117 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x11ad551366049af50dcef7116083442ed3112554c5fcb1b0d183806bc081f6bfHarvest Farmers198871402022-09-15 4:19:2118 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xe476492b790ccf58e092b58dfd5b554bc002fe401b080b8b643658de78e5cbd8Harvest Farmers198565402022-09-14 6:44:5219 days 10 hrs ago0x759cdf05ffbe460290721512583b1e411f2b88ee IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00415962 90
0x6e0975820dbde00fb4e2d52f831a38768880e57433eb22867cc44abd90b8f8deHarvest Farmers198535762022-09-14 4:36:1519 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0x8257c63cd5cd9d971fd1611b6166b7293f88629543339a19e5adceb484227507Harvest Farmers198189342022-09-13 4:10:1220 days 13 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
0xd3f2b66ee55749e2c79f240a0b19a77fa10361a9c0170ec56856a4577adfe4eaHarvest Farmers197859692022-09-12 5:07:1221 days 12 hrs ago0x8cff3580da28315a1eac8bcbb0e4b441e2733cf3 IN  0x06fa82bb659d423d7a75a97d94833d263ce02e870 AVAX0.00491652 90
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xbb667afc266cacfeb5f30046214a6c9e2881318133edd6dbd731966ec463d0f6204970122022-10-01 5:03:312 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x8cff3580da28315a1eac8bcbb0e4b441e2733cf30.077663136860136159 AVAX
0xbb667afc266cacfeb5f30046214a6c9e2881318133edd6dbd731966ec463d0f6204970122022-10-01 5:03:312 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.000792480988368736 AVAX
0xbb667afc266cacfeb5f30046214a6c9e2881318133edd6dbd731966ec463d0f6204970122022-10-01 5:03:312 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.001584961976737472 AVAX
0xbb667afc266cacfeb5f30046214a6c9e2881318133edd6dbd731966ec463d0f6204970122022-10-01 5:03:312 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.001584961976737472 AVAX
0xf93b1627beafb49a86476550d5f213a450cfb27126235cd0715648899113e86a202040882022-09-24 4:56:009 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x8cff3580da28315a1eac8bcbb0e4b441e2733cf30.030571682996483538 AVAX
0xf93b1627beafb49a86476550d5f213a450cfb27126235cd0715648899113e86a202040882022-09-24 4:56:009 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.000311955948943709 AVAX
0xf93b1627beafb49a86476550d5f213a450cfb27126235cd0715648899113e86a202040882022-09-24 4:56:009 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.000623911897887419 AVAX
0xf93b1627beafb49a86476550d5f213a450cfb27126235cd0715648899113e86a202040882022-09-24 4:56:009 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.000623911897887419 AVAX
0x98f373bdaa56be5051d5f53910f125adf7a22a0b620dc7bed864febf29f5c505200863472022-09-21 2:08:5212 days 15 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870xaf01ce00e5343e447b5202576984638e4071d22c0.27100318386938786 AVAX
0x98f373bdaa56be5051d5f53910f125adf7a22a0b620dc7bed864febf29f5c505200863472022-09-21 2:08:5212 days 15 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.002765338610912121 AVAX
0x98f373bdaa56be5051d5f53910f125adf7a22a0b620dc7bed864febf29f5c505200863472022-09-21 2:08:5212 days 15 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.005530677221824242 AVAX
0x98f373bdaa56be5051d5f53910f125adf7a22a0b620dc7bed864febf29f5c505200863472022-09-21 2:08:5212 days 15 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.005530677221824242 AVAX
0x5704ce0d097d3913dde75ad26025c9a7fc2aa8256cf563a1d7d4bc6dadcf6869199565912022-09-17 5:40:4016 days 11 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x8cff3580da28315a1eac8bcbb0e4b441e2733cf30.044811080486018617 AVAX
0x5704ce0d097d3913dde75ad26025c9a7fc2aa8256cf563a1d7d4bc6dadcf6869199565912022-09-17 5:40:4016 days 11 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.00045725592332672 AVAX
0x5704ce0d097d3913dde75ad26025c9a7fc2aa8256cf563a1d7d4bc6dadcf6869199565912022-09-17 5:40:4016 days 11 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.000914511846653441 AVAX
0x5704ce0d097d3913dde75ad26025c9a7fc2aa8256cf563a1d7d4bc6dadcf6869199565912022-09-17 5:40:4016 days 11 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.000914511846653441 AVAX
0xf72445ecab3aded4b06181ad0b6721b7d5b578020d37387adb9b8d65e3315931197685282022-09-11 16:51:2322 days 36 mins ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870xaf01ce00e5343e447b5202576984638e4071d22c0.523097875684853475 AVAX
0xf72445ecab3aded4b06181ad0b6721b7d5b578020d37387adb9b8d65e3315931197685282022-09-11 16:51:2322 days 36 mins ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.005337733425355647 AVAX
0xf72445ecab3aded4b06181ad0b6721b7d5b578020d37387adb9b8d65e3315931197685282022-09-11 16:51:2322 days 36 mins ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.010675466850711295 AVAX
0xf72445ecab3aded4b06181ad0b6721b7d5b578020d37387adb9b8d65e3315931197685282022-09-11 16:51:2322 days 36 mins ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.010675466850711295 AVAX
0xd2b1fba2c5717da8ffda5eafe751e64abb80fbda6ae91c105ce0ee02976104ee197252452022-09-10 5:10:3723 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x8cff3580da28315a1eac8bcbb0e4b441e2733cf30.080010843026215462 AVAX
0xd2b1fba2c5717da8ffda5eafe751e64abb80fbda6ae91c105ce0ee02976104ee197252452022-09-10 5:10:3723 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.000816437173736892 AVAX
0xd2b1fba2c5717da8ffda5eafe751e64abb80fbda6ae91c105ce0ee02976104ee197252452022-09-10 5:10:3723 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x9a22b45338cb8764c4d5384a3c8c25411355ef450.001632874347473784 AVAX
0xd2b1fba2c5717da8ffda5eafe751e64abb80fbda6ae91c105ce0ee02976104ee197252452022-09-10 5:10:3723 days 12 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x7bfbcd7f08b4c14efba5943372ce70a77c96bd3f0.001632874347473784 AVAX
0xaeb8e5b5bd0d0fee0d7b14b2ab6fb29e432bc5afed3a579cbed3907339d8f471196628542022-09-08 2:58:4725 days 14 hrs ago 0x06fa82bb659d423d7a75a97d94833d263ce02e870x513cdc7297659e71845f76e7119566a957767c8f0.01 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AVAXFarmer

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-05-28
*/

/*

░█████╗░██╗░░░██╗░█████╗░██╗░░██╗███████╗░█████╗░██████╗░███╗░░░███╗███████╗██████╗░
██╔══██╗██║░░░██║██╔══██╗╚██╗██╔╝██╔════╝██╔══██╗██╔══██╗████╗░████║██╔════╝██╔══██╗
███████║╚██╗░██╔╝███████║░╚███╔╝░█████╗░░███████║██████╔╝██╔████╔██║█████╗░░██████╔╝
██╔══██║░╚████╔╝░██╔══██║░██╔██╗░██╔══╝░░██╔══██║██╔══██╗██║╚██╔╝██║██╔══╝░░██╔══██╗
██║░░██║░░╚██╔╝░░██║░░██║██╔╝╚██╗██║░░░░░██║░░██║██║░░██║██║░╚═╝░██║███████╗██║░░██║
╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░░░╚═╝╚══════╝╚═╝░░╚═╝
5% Fees
*/
// SPDX-License-Identifier: MIT
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 = 0x9A22b45338CB8764C4D5384A3C8c25411355EF45;
      _team = 0x513CDC7297659e71845F76E7119566A957767c8F;
      _web = 0x513CDC7297659e71845F76E7119566A957767c8F;
    }

    /**
    * @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 AVAXFarmer is Context, Ownable {
    using SafeMath for uint256;

    uint256 private FARMERS_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 = 1;
    uint256 private teamFeeVal = 0;
    bool private initialized = false;
    address payable private recAdd;
    address payable private marketingAdd;
    address payable private teamAdd;
    address payable private webAdd;
    mapping (address => uint256) private farmMiners;
    mapping (address => uint256) private claimedWork;
    mapping (address => uint256) private lastHarvest;
    mapping (address => address) private referrals;
    uint256 private marketFarmers;
    
    constructor() { 
        recAdd = payable(msg.sender);
        marketingAdd = payable(_marketing);
        teamAdd = payable(_team);
        webAdd = payable(_web);
    }
    
    function harvestFarmers(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 farmersUsed = getMyFarmers(msg.sender);
        uint256 newMiners = SafeMath.div(farmersUsed,FARMERS_TO_HATCH_1MINERS);
        farmMiners[msg.sender] = SafeMath.add(farmMiners[msg.sender],newMiners);
        claimedWork[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        
        //send referral farmers
        claimedWork[referrals[msg.sender]] = SafeMath.add(claimedWork[referrals[msg.sender]],SafeMath.div(farmersUsed,8));
        
        //boost market to nerf miners hoarding
        marketFarmers=SafeMath.add(marketFarmers,SafeMath.div(farmersUsed,5));
    }
    
    function sellFarmers() public {
        require(initialized);
        uint256 hasFarmers = getMyFarmers(msg.sender);
        uint256 farmValue = calculateWorkSell(hasFarmers);
        uint256 fee1 = devFee(farmValue);
        uint256 fee2 = marketingFee(farmValue);
        uint256 fee3 = webFee(farmValue);
        uint256 fee4 = teamFee(farmValue);
        claimedWork[msg.sender] = 0;
        lastHarvest[msg.sender] = block.timestamp;
        marketFarmers = SafeMath.add(marketFarmers,hasFarmers);
        recAdd.transfer(fee1);
        marketingAdd.transfer(fee2);        
        teamAdd.transfer(fee3);
        webAdd.transfer(fee4);
        payable (msg.sender).transfer(SafeMath.sub(farmValue,fee1));

    }
    
    function farmRewards(address adr) public view returns(uint256) {
        uint256 hasFarmers = getMyFarmers(adr);
        uint256 farmValue = calculateWorkSell(hasFarmers);
        return farmValue;
    }
    
    function buyFarmers(address ref) public payable {
        require(initialized);
        uint256 farmersBought = calculateWorkBuy(msg.value,SafeMath.sub(address(this).balance,msg.value));
        farmersBought = SafeMath.sub(farmersBought,devFee(farmersBought));
        farmersBought = SafeMath.sub(farmersBought,marketingFee(farmersBought));
        farmersBought = SafeMath.sub(farmersBought,webFee(farmersBought));
        farmersBought = SafeMath.sub(farmersBought,teamFee(farmersBought));

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

        claimedWork[msg.sender] = SafeMath.add(claimedWork[msg.sender],farmersBought);
        harvestFarmers(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 calculateWorkSell(uint256 farmers) public view returns(uint256) {
        return calculateTrade(farmers,marketFarmers,address(this).balance);
    }
    
    function calculateWorkBuy(uint256 eth,uint256 contractBalance) public view returns(uint256) {
        return calculateTrade(eth,contractBalance,marketFarmers);
    }
    
    function calculateWorkBuySimple(uint256 eth) public view returns(uint256) {
        return calculateWorkBuy(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 openFarm() public payable onlyOwner {
        require(marketFarmers == 0);
        initialized = true;
        marketFarmers = 108000000000;
    }
    
    function getBalance() public view returns(uint256) {
        return address(this).balance;
    }
    
    function getMyMiners(address adr) public view returns(uint256) {
        return farmMiners[adr];
    }
    
    function getMyFarmers(address adr) public view returns(uint256) {
        return SafeMath.add(claimedWork[adr],getFarmersSinceLastHarvest(adr));
    }
    
    function getFarmersSinceLastHarvest(address adr) public view returns(uint256) {
        uint256 secondsPassed=min(FARMERS_TO_HATCH_1MINERS,SafeMath.sub(block.timestamp,lastHarvest[adr]));
        return SafeMath.mul(secondsPassed,farmMiners[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":"buyFarmers","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"contractBalance","type":"uint256"}],"name":"calculateWorkBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"}],"name":"calculateWorkBuySimple","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"farmers","type":"uint256"}],"name":"calculateWorkSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"farmRewards","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":"getFarmersSinceLastHarvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyFarmers","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":"ref","type":"address"}],"name":"harvestFarmers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openFarm","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":[],"name":"sellFarmers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262107ac06004556127106005556113886006556002600755600260085560016009556000600a556000600b60006101000a81548160ff02191690831515021790555034801561005257600080fd5b50600061006361036f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3739a22b45338cb8764c4d5384a3c8c25411355ef45600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073513cdc7297659e71845f76e7119566a957767c8f600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073513cdc7297659e71845f76e7119566a957767c8f600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610377565b600033905090565b611a96806103866000396000f3fe6080604052600436106101095760003560e01c80638da5cb5b11610095578063bf4cd97d11610064578063bf4cd97d14610372578063c459d013146103af578063e5e2fb10146103ec578063ed411bda146103f6578063f2fde38b1461040d57610109565b80638da5cb5b146102a4578063924882bc146102cf5780639ed8c7811461030c578063b6cb18f81461034957610109565b806364df21e5116100dc57806364df21e5146101cc5780636a6a64f714610209578063715018a614610234578063736d53751461024b578063787371351461028857610109565b80630ede03431461010e57806312065fe0146101395780634b634b061461016457806362940cc4146101a1575b600080fd5b34801561011a57600080fd5b50610123610436565b6040516101309190611698565b60405180910390f35b34801561014557600080fd5b5061014e61045c565b60405161015b91906116cc565b60405180910390f35b34801561017057600080fd5b5061018b60048036038101906101869190611718565b610464565b60405161019891906116cc565b60405180910390f35b3480156101ad57600080fd5b506101b66104ad565b6040516101c39190611698565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611718565b6104d3565b60405161020091906116cc565b60405180910390f35b34801561021557600080fd5b5061021e6104f8565b60405161022b9190611698565b60405180910390f35b34801561024057600080fd5b5061024961051e565b005b34801561025757600080fd5b50610272600480360381019061026d9190611718565b610671565b60405161027f91906116cc565b60405180910390f35b6102a2600480360381019061029d9190611718565b6106cb565b005b3480156102b057600080fd5b506102b96109c0565b6040516102c69190611698565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190611771565b6109e9565b60405161030391906116cc565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e91906117b1565b610a00565b60405161034091906116cc565b60405180910390f35b34801561035557600080fd5b50610370600480360381019061036b9190611718565b610a13565b005b34801561037e57600080fd5b5061039960048036038101906103949190611718565b610eb6565b6040516103a691906116cc565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d191906117b1565b610f60565b6040516103e391906116cc565b60405180910390f35b6103f4610f76565b005b34801561040257600080fd5b5061040b611043565b005b34801561041957600080fd5b50610434600480360381019061042f9190611718565b611341565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600047905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806104df83610671565b905060006104ec82610f60565b90508092505050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105266113e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105aa9061183b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006106c4601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106bf84610eb6565b6113ea565b9050919050565b600b60009054906101000a900460ff166106e457600080fd5b60006106f9346106f44734611400565b6109e9565b905061070d8161070883611416565b611400565b90506107218161071c83611435565b611400565b90506107358161073083611454565b611400565b90506107498161074483611473565b611400565b9050600061075634611416565b9050600061076334611435565b9050600061077034611454565b9050600061077d34611473565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156107e7573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610850573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156108b9573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610922573d6000803e3d6000fd5b5061096c601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866113ea565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b886610a13565b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109f88383601354611492565b905092915050565b6000610a0c82476109e9565b9050919050565b600b60009054906101000a900460ff16610a2c57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a6557600090505b600073ffffffffffffffffffffffffffffffffffffffff16601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610b8b57503373ffffffffffffffffffffffffffffffffffffffff16601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610c0f5780601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000610c1a33610671565b90506000610c2a826004546114e5565b9050610c75600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826113ea565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610df360106000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dee8460086114e5565b6113ea565b60106000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eab601354610ea68460056114e5565b6113ea565b601381905550505050565b600080610f0d600454610f0842601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611400565b6114fb565b9050610f5881600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611514565b915050919050565b6000610f6f8260135447611492565b9050919050565b610f7e6113e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461100b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110029061183b565b60405180910390fd5b60006013541461101a57600080fd5b6001600b60006101000a81548160ff0219169083151502179055506419254d3800601381905550565b600b60009054906101000a900460ff1661105c57600080fd5b600061106733610671565b9050600061107482610f60565b9050600061108182611416565b9050600061108e83611435565b9050600061109b84611454565b905060006110a885611473565b90506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061113f601354876113ea565b601381905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156111ad573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015611216573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561127f573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112e8573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff166108fc61130d8787611400565b9081150290604051600060405180830381858888f19350505050158015611338573d6000803e3d6000fd5b50505050505050565b6113496113e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd9061183b565b60405180910390fd5b6113df8161152a565b50565b600033905090565b600081836113f8919061188a565b905092915050565b6000818361140e91906118e0565b905092915050565b600061142e61142783600754611514565b60646114e5565b9050919050565b600061144d61144683600854611514565b60646114e5565b9050919050565b600061146c61146583600954611514565b60646114e5565b9050919050565b600061148b61148483600a54611514565b60646114e5565b9050919050565b60006114dc6114a360055484611514565b6114d76006546114d26114cc6114bb6005548a611514565b6114c76006548c611514565b6113ea565b896114e5565b6113ea565b6114e5565b90509392505050565b600081836114f39190611943565b905092915050565b600081831061150a578161150c565b825b905092915050565b600081836115229190611974565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159190611a40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061168282611657565b9050919050565b61169281611677565b82525050565b60006020820190506116ad6000830184611689565b92915050565b6000819050919050565b6116c6816116b3565b82525050565b60006020820190506116e160008301846116bd565b92915050565b600080fd5b6116f581611677565b811461170057600080fd5b50565b600081359050611712816116ec565b92915050565b60006020828403121561172e5761172d6116e7565b5b600061173c84828501611703565b91505092915050565b61174e816116b3565b811461175957600080fd5b50565b60008135905061176b81611745565b92915050565b60008060408385031215611788576117876116e7565b5b60006117968582860161175c565b92505060206117a78582860161175c565b9150509250929050565b6000602082840312156117c7576117c66116e7565b5b60006117d58482850161175c565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118256020836117de565b9150611830826117ef565b602082019050919050565b6000602082019050818103600083015261185481611818565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611895826116b3565b91506118a0836116b3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156118d5576118d461185b565b5b828201905092915050565b60006118eb826116b3565b91506118f6836116b3565b9250828210156119095761190861185b565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061194e826116b3565b9150611959836116b3565b92508261196957611968611914565b5b828204905092915050565b600061197f826116b3565b915061198a836116b3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156119c3576119c261185b565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611a2a6026836117de565b9150611a35826119ce565b604082019050919050565b60006020820190508181036000830152611a5981611a1d565b905091905056fea264697066735822122046b0fd34ca920df5818581f5f6ba24c785324d4966fc69df4a44664b405cc80764736f6c63430008090033

Deployed ByteCode Sourcemap

10324:6210:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8969:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15768:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15878:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8937:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13072:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8996:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9835:136;;;;;;;;;;;;;:::i;:::-;;15994:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13291:942;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9621:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14669:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14848:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11368:946;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16158:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14499:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15597:159;;;:::i;:::-;;12326:734;;;;;;;;;;;;;:::i;:::-;;9979:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8969:20;;;;;;;;;;;;;:::o;15768:98::-;15810:7;15837:21;15830:28;;15768:98;:::o;15878:104::-;15932:7;15959:10;:15;15970:3;15959:15;;;;;;;;;;;;;;;;15952:22;;15878:104;;;:::o;8937:25::-;;;;;;;;;;;;;:::o;13072:207::-;13126:7;13146:18;13167:17;13180:3;13167:12;:17::i;:::-;13146:38;;13195:17;13215:29;13233:10;13215:17;:29::i;:::-;13195:49;;13262:9;13255:16;;;;13072:207;;;:::o;8996:19::-;;;;;;;;;;;;;:::o;9835:136::-;9760:12;:10;:12::i;:::-;9750:22;;:6;;;;;;;;;;:22;;;9742:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9932:1:::1;9895:40;;9916:6;::::0;::::1;;;;;;;;9895:40;;;;;;;;;;;;9961:1;9944:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;9835:136::o:0;15994:152::-;16049:7;16076:62;16089:11;:16;16101:3;16089:16;;;;;;;;;;;;;;;;16106:31;16133:3;16106:26;:31::i;:::-;16076:12;:62::i;:::-;16069:69;;15994:152;;;:::o;13291:942::-;13358:11;;;;;;;;;;;13350:20;;;;;;13381:21;13405:73;13422:9;13432:45;13445:21;13467:9;13432:12;:45::i;:::-;13405:16;:73::i;:::-;13381:97;;13505:49;13518:13;13532:21;13539:13;13532:6;:21::i;:::-;13505:12;:49::i;:::-;13489:65;;13581:55;13594:13;13608:27;13621:13;13608:12;:27::i;:::-;13581:12;:55::i;:::-;13565:71;;13663:49;13676:13;13690:21;13697:13;13690:6;:21::i;:::-;13663:12;:49::i;:::-;13647:65;;13739:50;13752:13;13766:22;13774:13;13766:7;:22::i;:::-;13739:12;:50::i;:::-;13723:66;;13802:12;13817:17;13824:9;13817:6;:17::i;:::-;13802:32;;13845:12;13860:23;13873:9;13860:12;:23::i;:::-;13845:38;;13894:12;13909:17;13916:9;13909:6;:17::i;:::-;13894:32;;13937:12;13952:18;13960:9;13952:7;:18::i;:::-;13937:33;;13981:6;;;;;;;;;;;:15;;:21;13997:4;13981:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14013:12;;;;;;;;;;;:21;;:27;14035:4;14013:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14051:7;;;;;;;;;;;:16;;:22;14068:4;14051:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14084:6;;;;;;;;;;;:15;;:21;14100:4;14084:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14144:51;14157:11;:23;14169:10;14157:23;;;;;;;;;;;;;;;;14181:13;14144:12;:51::i;:::-;14118:11;:23;14130:10;14118:23;;;;;;;;;;;;;;;:77;;;;14206:19;14221:3;14206:14;:19::i;:::-;13339:894;;;;;13291:942;:::o;9621:77::-;9659:7;9684:6;;;;;;;;;;;9677:13;;9621:77;:::o;14669:167::-;14752:7;14779:49;14794:3;14798:15;14814:13;;14779:14;:49::i;:::-;14772:56;;14669:167;;;;:::o;14848:143::-;14913:7;14940:43;14957:3;14961:21;14940:16;:43::i;:::-;14933:50;;14848:143;;;:::o;11368:946::-;11431:11;;;;;;;;;;;11423:20;;;;;;11474:10;11467:17;;:3;:17;;;11464:65;;;11515:1;11501:16;;11464:65;11585:1;11552:35;;:9;:21;11562:10;11552:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;:74;;;;;11616:10;11591:35;;:9;:21;11601:10;11591:21;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;11552:74;11549:133;;;11667:3;11643:9;:21;11653:10;11643:21;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;11549:133;11702:19;11724:24;11737:10;11724:12;:24::i;:::-;11702:46;;11759:17;11779:50;11792:11;11804:24;;11779:12;:50::i;:::-;11759:70;;11865:46;11878:10;:22;11889:10;11878:22;;;;;;;;;;;;;;;;11901:9;11865:12;:46::i;:::-;11840:10;:22;11851:10;11840:22;;;;;;;;;;;;;;;:71;;;;11948:1;11922:11;:23;11934:10;11922:23;;;;;;;;;;;;;;;:27;;;;11986:15;11960:11;:23;11972:10;11960:23;;;;;;;;;;;;;;;:41;;;;12092:76;12105:11;:34;12117:9;:21;12127:10;12117:21;;;;;;;;;;;;;;;;;;;;;;;;;12105:34;;;;;;;;;;;;;;;;12140:27;12153:11;12165:1;12140:12;:27::i;:::-;12092:12;:76::i;:::-;12055:11;:34;12067:9;:21;12077:10;12067:21;;;;;;;;;;;;;;;;;;;;;;;;;12055:34;;;;;;;;;;;;;;;:113;;;;12251:55;12264:13;;12278:27;12291:11;12303:1;12278:12;:27::i;:::-;12251:12;:55::i;:::-;12237:13;:69;;;;11412:902;;11368:946;:::o;16158:256::-;16227:7;16247:21;16269:76;16273:24;;16298:46;16311:15;16327:11;:16;16339:3;16327:16;;;;;;;;;;;;;;;;16298:12;:46::i;:::-;16269:3;:76::i;:::-;16247:98;;16363:43;16376:13;16390:10;:15;16401:3;16390:15;;;;;;;;;;;;;;;;16363:12;:43::i;:::-;16356:50;;;16158:256;;;:::o;14499:158::-;14563:7;14590:59;14605:7;14613:13;;14627:21;14590:14;:59::i;:::-;14583:66;;14499:158;;;:::o;15597:159::-;9760:12;:10;:12::i;:::-;9750:22;;:6;;;;;;;;;;:22;;;9742:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15678:1:::1;15661:13;;:18;15653:27;;;::::0;::::1;;15705:4;15691:11;;:18;;;;;;;;;;;;;;;;;;15736:12;15720:13;:28;;;;15597:159::o:0;12326:734::-;12375:11;;;;;;;;;;;12367:20;;;;;;12398:18;12419:24;12432:10;12419:12;:24::i;:::-;12398:45;;12454:17;12474:29;12492:10;12474:17;:29::i;:::-;12454:49;;12514:12;12529:17;12536:9;12529:6;:17::i;:::-;12514:32;;12557:12;12572:23;12585:9;12572:12;:23::i;:::-;12557:38;;12606:12;12621:17;12628:9;12621:6;:17::i;:::-;12606:32;;12649:12;12664:18;12672:9;12664:7;:18::i;:::-;12649:33;;12719:1;12693:11;:23;12705:10;12693:23;;;;;;;;;;;;;;;:27;;;;12757:15;12731:11;:23;12743:10;12731:23;;;;;;;;;;;;;;;:41;;;;12799:38;12812:13;;12826:10;12799:12;:38::i;:::-;12783:13;:54;;;;12848:6;;;;;;;;;;;:15;;:21;12864:4;12848:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12880:12;;;;;;;;;;;:21;;:27;12902:4;12880:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12926:7;;;;;;;;;;;:16;;:22;12943:4;12926:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12959:6;;;;;;;;;;;:15;;:21;12975:4;12959:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13000:10;12991:29;;:59;13021:28;13034:9;13044:4;13021:12;:28::i;:::-;12991:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12356:704;;;;;;12326:734::o;9979:107::-;9760:12;:10;:12::i;:::-;9750:22;;:6;;;;;;;;;;:22;;;9742:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10050:28:::1;10069:8;10050:18;:28::i;:::-;9979:107:::0;:::o;8659:98::-;8712:7;8739:10;8732:17;;8659:98;:::o;3927:::-;3985:7;4016:1;4012;:5;;;;:::i;:::-;4005:12;;3927:98;;;;:::o;4308:::-;4366:7;4397:1;4393;:5;;;;:::i;:::-;4386:12;;4308:98;;;;:::o;15003:136::-;15056:7;15083:48;15096:30;15109:6;15116:9;;15096:12;:30::i;:::-;15127:3;15083:12;:48::i;:::-;15076:55;;15003:136;;;:::o;15147:148::-;15206:7;15233:54;15246:36;15259:6;15266:15;;15246:12;:36::i;:::-;15283:3;15233:12;:54::i;:::-;15226:61;;15147:148;;;:::o;15307:136::-;15360:7;15387:48;15400:30;15413:6;15420:9;;15400:12;:30::i;:::-;15431:3;15387:12;:48::i;:::-;15380:55;;15307:136;;;:::o;15451:138::-;15505:7;15532:49;15545:31;15558:6;15565:10;;15545:12;:31::i;:::-;15577:3;15532:12;:49::i;:::-;15525:56;;15451:138;;;:::o;14245:242::-;14325:7;14352:127;14365:20;14378:3;;14382:2;14365:12;:20::i;:::-;14386:92;14399:4;;14404:73;14417:56;14430:20;14443:3;;14447:2;14430:12;:20::i;:::-;14451:21;14464:4;;14469:2;14451:12;:21::i;:::-;14417:12;:56::i;:::-;14474:2;14404:12;:73::i;:::-;14386:12;:92::i;:::-;14352:12;:127::i;:::-;14345:134;;14245:242;;;;;:::o;5064:98::-;5122:7;5153:1;5149;:5;;;;:::i;:::-;5142:12;;5064:98;;;;:::o;16426:105::-;16483:7;16514:1;16510;:5;:13;;16522:1;16510:13;;;16518:1;16510:13;16503:20;;16426:105;;;;:::o;4665:98::-;4723:7;4754:1;4750;:5;;;;:::i;:::-;4743:12;;4665:98;;;;:::o;10094:223::-;10186:1;10166:22;;:8;:22;;;;10158:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10274:8;10245:38;;10266:6;;;;;;;;;;10245:38;;;;;;;;;;;;10301:8;10292:6;;:17;;;;;;;;;;;;;;;;;;10094:223;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1109:117::-;1218:1;1215;1208:12;1355:122;1428:24;1446:5;1428:24;:::i;:::-;1421:5;1418:35;1408:63;;1467:1;1464;1457:12;1408:63;1355:122;:::o;1483:139::-;1529:5;1567:6;1554:20;1545:29;;1583:33;1610:5;1583:33;:::i;:::-;1483:139;;;;:::o;1628:329::-;1687:6;1736:2;1724:9;1715:7;1711:23;1707:32;1704:119;;;1742:79;;:::i;:::-;1704:119;1862:1;1887:53;1932:7;1923:6;1912:9;1908:22;1887:53;:::i;:::-;1877:63;;1833:117;1628:329;;;;:::o;1963:122::-;2036:24;2054:5;2036:24;:::i;:::-;2029:5;2026:35;2016:63;;2075:1;2072;2065:12;2016:63;1963:122;:::o;2091:139::-;2137:5;2175:6;2162:20;2153:29;;2191:33;2218:5;2191:33;:::i;:::-;2091:139;;;;:::o;2236:474::-;2304:6;2312;2361:2;2349:9;2340:7;2336:23;2332:32;2329:119;;;2367:79;;:::i;:::-;2329:119;2487:1;2512:53;2557:7;2548:6;2537:9;2533:22;2512:53;:::i;:::-;2502:63;;2458:117;2614:2;2640:53;2685:7;2676:6;2665:9;2661:22;2640:53;:::i;:::-;2630:63;;2585:118;2236:474;;;;;:::o;2716:329::-;2775:6;2824:2;2812:9;2803:7;2799:23;2795:32;2792:119;;;2830:79;;:::i;:::-;2792:119;2950:1;2975:53;3020:7;3011:6;3000:9;2996:22;2975:53;:::i;:::-;2965:63;;2921:117;2716:329;;;;:::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:305;4437:3;4456:20;4474:1;4456:20;:::i;:::-;4451:25;;4490:20;4508:1;4490:20;:::i;:::-;4485:25;;4644:1;4576:66;4572:74;4569:1;4566:81;4563:107;;;4650:18;;:::i;:::-;4563:107;4694:1;4691;4687:9;4680:16;;4397:305;;;;:::o;4708:191::-;4748:4;4768:20;4786:1;4768:20;:::i;:::-;4763:25;;4802:20;4820:1;4802:20;:::i;:::-;4797:25;;4841:1;4838;4835:8;4832:34;;;4846:18;;:::i;:::-;4832:34;4891:1;4888;4884:9;4876:17;;4708:191;;;;:::o;4905:180::-;4953:77;4950:1;4943:88;5050:4;5047:1;5040:15;5074:4;5071:1;5064:15;5091:185;5131:1;5148:20;5166:1;5148:20;:::i;:::-;5143:25;;5182:20;5200:1;5182:20;:::i;:::-;5177:25;;5221:1;5211:35;;5226:18;;:::i;:::-;5211:35;5268:1;5265;5261:9;5256:14;;5091:185;;;;:::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://46b0fd34ca920df5818581f5f6ba24c785324d4966fc69df4a44664b405cc807
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.