Contract 0xe3ba88c38d2789fe58465020cc0fb60b70c10d32

 
Ad
Ad
Txn Hash
Block
From
To
Value [Txn Fee]
0xaa537ed487817a50642772caf115ff10f656bf28ded8b85de196360f0d6a1a7c67755822021-04-22 2:49:5444 mins ago0x099a261698079dfaba090db5881a08154fda28d0 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x1ce033eebbc211e539c759885b3b2f4e197b8a64a07de858b010d3d1a626a9c667748402021-04-22 2:12:481 hr 22 mins ago0x775486a05c67ac2082c8c8667a0c31a7161e3491 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x0a29275ddf8136af418f964cb07b7145ce8b92289058a56ce430aeac90ad721467740512021-04-22 1:33:212 hrs 1 min ago0xf45965d3a9d959a08ea1e597ee61253d20592e11 IN  Kindcow Finance: KIND Token0 BNB0.00018606
0x5d109e4435af85e3b60712867ca2801f61a62523ce59a43691345a08a2c984b067729862021-04-22 0:39:452 hrs 55 mins ago0x91bea458607d4e1d6314a64207fbc4a3887816f4 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x875dd2218a6b01b2e14a3b1dda58d2a5d2fea65cfa8bcb00d227f125d8f7e39967726972021-04-22 0:25:183 hrs 9 mins ago0xeddd4b59398e010d5425cb7ca87cb502f43ce1c2 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x267149042b382dceba0fd18454f5c3448b6a845f313f65651d50b9194a032e3d67724122021-04-22 0:11:033 hrs 23 mins ago0xd05803e19dc236ba12c1aaced776b57f925f3da6 IN  Kindcow Finance: KIND Token0 BNB0.00011112
0x0a46f4c80a3d7c099bc17e1f880e946ebfc0b53628721afc6d6bff9a4ff1b76767723452021-04-22 0:07:423 hrs 27 mins ago0x6a6d1632437a526fe9ba16ec798dd4a89316b5d4 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x81d59dee4cd942168e98d710a83edb7d16e998e44cefbcf36addaeff780d60c567721142021-04-21 23:55:433 hrs 39 mins ago0x45438747e775834038abf955647d3bcc1f8c4c33 IN  Kindcow Finance: KIND Token0 BNB0.00011106
0x046f8f20112d84508b995f8b2f0b109ac8eafdfe277738c6ea074136c92b595c67718752021-04-21 23:43:463 hrs 51 mins ago0x13dce4f4dbc1f91a61001ea6ca2ae471bfa6951b IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x155ebe9e912d0ed7f7af7426c8155d38478547634d4887e206dcc08caa1866a367715442021-04-21 23:27:134 hrs 7 mins ago0xa01f9e3fe55c72accb608619292e6785ca5b7d05 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x04e3353fcf6d40a75c8afe67753301fcbc44fcc2cc3549349f988f8416c12a0e67714612021-04-21 23:23:044 hrs 11 mins ago0x3ab14eb21faa494d3fee9d8c1bbc0b8cc1960ef4 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x0bcaba10b10a7d827426cf343ee1258aba7491599f29689f4c347c70fd44d9b367714322021-04-21 23:21:374 hrs 13 mins ago0x629ee318a0ca26b0ea8167a05c0ec07db64fe8ea IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xd278a2c362880c1b184b051f1ccb5cec60286c9db33bba3102d14be372c1f8d267713822021-04-21 23:19:074 hrs 15 mins ago0xbd2d74ee8e93ef96a4514a7eae5661a0462c6866 IN  Kindcow Finance: KIND Token0 BNB0.000124625
0x52a0358437481ddf3ed5cac6f113ea43689d7d47895cde339bf239bd0a4e9d4267713632021-04-21 23:18:104 hrs 16 mins ago0xbd2d74ee8e93ef96a4514a7eae5661a0462c6866 IN  Kindcow Finance: KIND Token0 BNB0.000072815
0x85a4db1e51baef0560854a9bbf46f57b260724723ff609b2f565ee9d23401a9c67712272021-04-21 23:11:224 hrs 23 mins ago0x5e2ad9792ec9ed75bf0f704f2140c0e5ec0449d6 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xce80e9ef876c43d53ce385a9c15bea73f4d47a13e49cfddc4d7674659b86465367707932021-04-21 22:49:404 hrs 45 mins ago0x91fcd5115080040d7c49c347fa88d2b06f090634 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xfb434579fec77bf40c64da855a1b7995836baae7c9e95df82cf5fe9843d3597e67701582021-04-21 22:17:025 hrs 17 mins ago0x91fcd5115080040d7c49c347fa88d2b06f090634 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xd73e5d123c437c41028b57754e8d3d4ea88cf94016832643ddd36219fbb77e1967692262021-04-21 21:28:326 hrs 6 mins ago0x667234fd2dd3328138c829e60120c85c5955791a IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x6d8fe7a7876b741a5be17e421856e1b99b4b2a0ae44617ebd2a4071c8f7a26e067688712021-04-21 21:10:136 hrs 24 mins ago0xa984af3517c65a0875e25f32e4eddc1df160f0d1 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xbb2ef90ef62d743bb13523a47360a696dd3a1c1e2df60187b9dc83eacf3fa26067686062021-04-21 20:55:266 hrs 39 mins ago0x9382a1e2691a41cce94ab2aa276b2a8ce476b5af IN  Kindcow Finance: KIND Token0 BNB0.000222545
0x94eeb047b8328b63fbf78dd10b9193d022c1b1d3d07597e20b96c7e386bec6f467682812021-04-21 20:38:076 hrs 56 mins ago0x6569dc9a90b9f3f9883188cb4af76ed6344ee201 IN  Kindcow Finance: KIND Token0 BNB0.000267054
0xa536a357d344702b37444d0e9da97edf1f9cb45cf139a116d419f11a26c8edff67677722021-04-21 20:12:407 hrs 22 mins ago0x3fa336c4a427b9327d7268062ca343700c428214 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xbe90e4ba0d0e0adb7e823fdda1cf0a1e43becb63433822add2333c7786fc3f3467677402021-04-21 20:11:047 hrs 23 mins ago0x94cb2b6f4ac727bdb0f908ec7bb677b793713096 IN  Kindcow Finance: KIND Token0 BNB0.00018606
0xef0b3d3997d2e0e885f0b472150c942e76dc8458f967c527028001d4031cbd2d67675942021-04-21 20:03:457 hrs 31 mins ago0x5902fa427e14ae1d8548a34f101da96a1f787a50 IN  Kindcow Finance: KIND Token0 BNB0.000222545
0xa0676fd9cfd34db6d0fc740b6850695ca76cddb52126cbd857aab32f53503aa367674822021-04-21 19:58:097 hrs 36 mins ago0xc23cf77c23e0342c4ea12212623680e3fb0658d9 IN  Kindcow Finance: KIND Token0 BNB0.000222545
[ Download CSV Export 

OVERVIEW

Kindcow is a yield farm protocol on Binance Smart Chain and Pancakeswap exchange.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb292c7ddb6a8af6697c2a52f1ca4a8b511a6f5d59c8e35be5823446a275ebb4254713032021-03-07 11:58:0645 days 15 hrs ago 0xd57079d80b57cd18a0fad9c7b5af4d39c016d5f5 Kindcow Finance: KIND Token0 BNB
0xb292c7ddb6a8af6697c2a52f1ca4a8b511a6f5d59c8e35be5823446a275ebb4254713032021-03-07 11:58:0645 days 15 hrs ago 0xd57079d80b57cd18a0fad9c7b5af4d39c016d5f5 Kindcow Finance: KIND Token0 BNB
0xa2b3e49e45e3114791e507c57dc6c36de89ab3f10f37d1d543938e141e56617c54712942021-03-07 11:57:3945 days 15 hrs ago PancakeSwap: KIND-BUSD 3 Kindcow Finance: KIND Token0 BNB
0xa2b3e49e45e3114791e507c57dc6c36de89ab3f10f37d1d543938e141e56617c54712942021-03-07 11:57:3945 days 15 hrs ago PancakeSwap: Router Kindcow Finance: KIND Token0 BNB
0x9696750ac0efad59cdc55945cdba6786fd16c4641302cef6c9813cadeafac59954712882021-03-07 11:57:2145 days 15 hrs ago 0xba9a97e624a5e6c6a2c96cd2a9aa4a470b9f8a93 Kindcow Finance: KIND Token0 BNB
0xc19d552c3c47ce5b0e5caae709391dd6b0cc015faed10eaf79380a2a22a567b354712862021-03-07 11:57:1545 days 15 hrs ago PancakeSwap: KIND-BUSD 3 Kindcow Finance: KIND Token0 BNB
0xc19d552c3c47ce5b0e5caae709391dd6b0cc015faed10eaf79380a2a22a567b354712862021-03-07 11:57:1545 days 15 hrs ago PancakeSwap: Router Kindcow Finance: KIND Token0 BNB
0x438982b25b2518ba7069baa1334858b47b02370ee71a8434290ab74aca13030f54712772021-03-07 11:56:4845 days 15 hrs ago 0xd57079d80b57cd18a0fad9c7b5af4d39c016d5f5 Kindcow Finance: KIND Token0 BNB
0x438982b25b2518ba7069baa1334858b47b02370ee71a8434290ab74aca13030f54712772021-03-07 11:56:4845 days 15 hrs ago 0xd57079d80b57cd18a0fad9c7b5af4d39c016d5f5 Kindcow Finance: KIND Token0 BNB
0x438982b25b2518ba7069baa1334858b47b02370ee71a8434290ab74aca13030f54712772021-03-07 11:56:4845 days 15 hrs ago 0xd57079d80b57cd18a0fad9c7b5af4d39c016d5f5 Kindcow Finance: KIND Token0 BNB
0xe94777c2ba02d3549076c92860ce1a7728c953167c932c04ee5427adc827381e54712622021-03-07 11:56:0345 days 15 hrs ago 0x93ad5e983cab334e9203d1e099528c97c2d5ca2f Kindcow Finance: KIND Token0 BNB
0xe94777c2ba02d3549076c92860ce1a7728c953167c932c04ee5427adc827381e54712622021-03-07 11:56:0345 days 15 hrs ago 0x93ad5e983cab334e9203d1e099528c97c2d5ca2f Kindcow Finance: KIND Token0 BNB
0x532793da5531b52600e70b079111cda3fa2ac4dc925b4a3b575605f8d5600cd254712432021-03-07 11:55:0645 days 15 hrs ago PancakeSwap: KIND-BUSD 3 Kindcow Finance: KIND Token0 BNB
0x532793da5531b52600e70b079111cda3fa2ac4dc925b4a3b575605f8d5600cd254712432021-03-07 11:55:0645 days 15 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Kindcow Finance: KIND Token0 BNB
0x532793da5531b52600e70b079111cda3fa2ac4dc925b4a3b575605f8d5600cd254712432021-03-07 11:55:0645 days 15 hrs ago PancakeSwap: WHIRL-KIND Kindcow Finance: KIND Token0 BNB
0x532793da5531b52600e70b079111cda3fa2ac4dc925b4a3b575605f8d5600cd254712432021-03-07 11:55:0645 days 15 hrs ago PancakeSwap: WHIRL-KIND Kindcow Finance: KIND Token0 BNB
0x23a37f77ead076cdacb875f7c1d64f6c453c16597f20313a6d006d0660f447d754712422021-03-07 11:55:0345 days 15 hrs ago PancakeSwap: KIND-BUSD 3 Kindcow Finance: KIND Token0 BNB
0x23a37f77ead076cdacb875f7c1d64f6c453c16597f20313a6d006d0660f447d754712422021-03-07 11:55:0345 days 15 hrs ago PancakeSwap: Router Kindcow Finance: KIND Token0 BNB
0xcfed759f550253b28332f54e0a5984be34671ee0e9a89985ead2e13dc12290d754712392021-03-07 11:54:5445 days 15 hrs ago 0x93ad5e983cab334e9203d1e099528c97c2d5ca2f Kindcow Finance: KIND Token0 BNB
0xcfed759f550253b28332f54e0a5984be34671ee0e9a89985ead2e13dc12290d754712392021-03-07 11:54:5445 days 15 hrs ago 0x93ad5e983cab334e9203d1e099528c97c2d5ca2f Kindcow Finance: KIND Token0 BNB
0xeb0454ffb3d5df99f6a64a9fdf05293ed73263c96da7d34a97d938d8b87d199754712342021-03-07 11:54:3945 days 15 hrs ago PancakeSwap: KIND 3 Kindcow Finance: KIND Token0 BNB
0xeb0454ffb3d5df99f6a64a9fdf05293ed73263c96da7d34a97d938d8b87d199754712342021-03-07 11:54:3945 days 15 hrs ago PancakeSwap: KEBAB-KIND 2 Kindcow Finance: KIND Token0 BNB
0xeb0454ffb3d5df99f6a64a9fdf05293ed73263c96da7d34a97d938d8b87d199754712342021-03-07 11:54:3945 days 15 hrs ago PancakeSwap: KEBAB-KIND 2 Kindcow Finance: KIND Token0 BNB
0xdf2bf4d32d524ab70934cd90fd86fc45a79208cf71d293c1e2f7c148bad995a354712342021-03-07 11:54:3945 days 15 hrs ago PancakeSwap: KIND-BUSD 3 Kindcow Finance: KIND Token0 BNB
0xdf2bf4d32d524ab70934cd90fd86fc45a79208cf71d293c1e2f7c148bad995a354712342021-03-07 11:54:3945 days 15 hrs ago PancakeSwap: ETH-KIND 2 Kindcow Finance: KIND Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KindCow

Compiler Version
v0.6.2+commit.bacdbe57

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-03-03
*/

pragma solidity ^ 0.6 .2;
interface IERC20 {
	function totalSupply() external view returns(uint256);

	function balanceOf(address account) external view returns(uint256);

	function transfer(address recipient, uint256 amount) external returns(bool);

	function allowance(address owner, address spender) external view returns(uint256);

	function approve(address spender, uint256 amount) external returns(bool);

	function transferFrom(address sender, address recipient, uint256 amount) external returns(bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}
pragma solidity ^ 0.6 .2;
library SafeMath {
	function add(uint256 a, uint256 b) internal pure returns(uint256) {
		uint256 c = a + b;
		require(c >= a, "SafeMath: addition overflow");
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns(uint256) {
		return sub(a, b, "SafeMath: subtraction overflow");
	}

	function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) {
		require(b <= a, errorMessage);
		uint256 c = a - b;
		return c;
	}

	function mul(uint256 a, uint256 b) internal pure returns(uint256) {
		// benefit is lost if 'b' is also tested.
		if (a == 0) {
			return 0;
		}
		uint256 c = a * b;
		require(c / a == b, "SafeMath: multiplication overflow");
		return c;
	}

	function div(uint256 a, uint256 b) internal pure returns(uint256) {
		return div(a, b, "SafeMath: division by zero");
	}

	function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) {
		require(b > 0, errorMessage);
		uint256 c = a / b;
		return c;
	}

	function mod(uint256 a, uint256 b) internal pure returns(uint256) {
		return mod(a, b, "SafeMath: modulo by zero");
	}

	function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) {
		require(b != 0, errorMessage);
		return a % b;
	}
}
pragma solidity ^ 0.6 .2;
library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

	function sendValue(address payable recipient, uint256 amount) internal {
		require(address(this).balance >= amount, "Address: insufficient balance");
		(bool success, ) = recipient.call {
			value: amount
		}("");
		require(success, "Address: unable to send value, recipient may have reverted");
	}

	function functionCall(address target, bytes memory data) internal returns(bytes memory) {
		return functionCall(target, data, "Address: low-level call failed");
	}

	function functionCall(address target, bytes memory data, string memory errorMessage) internal returns(bytes memory) {
		return _functionCallWithValue(target, data, 0, errorMessage);
	}

	function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns(bytes memory) {
		return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
	}

	function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns(bytes memory) {
		require(address(this).balance >= value, "Address: insufficient balance for call");
		return _functionCallWithValue(target, data, value, errorMessage);
	}

	function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns(bytes memory) {
		require(isContract(target), "Address: call to non-contract");
		(bool success, bytes memory returndata) = target.call {
			value: weiValue
		}(data);
		 if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
	}
}
pragma solidity ^ 0.6 .2;
library SafeERC20 {
	using SafeMath
	for uint256;
	using Address
	for address;

	function safeTransfer(IERC20 token, address to, uint256 value) internal {
		_callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
	}

	function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
		_callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
	}

	function safeApprove(IERC20 token, address spender, uint256 value) internal {
		// or when resetting it to zero. To increase and decrease it, use
		// solhint-disable-next-line max-line-length
		require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance");
		_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
	}

	function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
		uint256 newAllowance = token.allowance(address(this), spender).add(value);
		_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
	}

	function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
		uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
		_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
	}

	function _callOptionalReturn(IERC20 token, bytes memory data) private {
		// we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
		bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
		if (returndata.length > 0) { // Return data is optional
			require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
		}
	}
}
pragma solidity ^ 0.6 .2;
abstract contract Context {
	function _msgSender() internal view virtual returns(address payable) {
		return msg.sender;
	}

	function _msgData() internal view virtual returns(bytes memory) {
		this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
		return msg.data;
	}
}
pragma solidity ^ 0.6 .2;
contract Ownable is Context {
	address private _owner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
	constructor() internal {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

	function owner() public view returns(address) {
		return _owner;
	}
	modifier onlyOwner() {
		require(_owner == _msgSender(), "Ownable: caller is not the owner");
		_;
	}

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

	function transferOwnership(address newOwner) public virtual onlyOwner {
		require(newOwner != address(0), "Ownable: new owner is the zero address");
		emit OwnershipTransferred(_owner, newOwner);
		_owner = newOwner;
	}
}
pragma solidity ^ 0.6 .2;
contract ERC20 is Context, IERC20 {
	using SafeMath
	for uint256;
	using Address
	for address;
	mapping(address => uint256) private _balances;
	mapping(address => mapping(address => uint256)) private _allowances;
	uint256 private _totalSupply;
	string private _name;
	string private _symbol;
	uint8 private _decimals;
	constructor(string memory name, string memory symbol) public {
		_name = name;
		_symbol = symbol;
		_decimals = 8;
		_totalSupply = 1200000 * 10 ** 8;
		_balances[_msgSender()] = _totalSupply;
		emit Transfer(address(0), _msgSender(), _totalSupply);
	}

	function name() public view returns(string memory) {
		return _name;
	}

	function symbol() public view returns(string memory) {
		return _symbol;
	}

	function decimals() public view returns(uint8) {
		return _decimals;
	}

	function totalSupply() public view override returns(uint256) {
		return _totalSupply.sub(_balances[address(0)]);
	}

	function balanceOf(address account) public view override returns(uint256) {
		return _balances[account];
	}

	function transfer(address recipient, uint256 amount) public virtual override returns(bool) {
		_transfer(_msgSender(), recipient, amount);
		return true;
	}

	function allowance(address owner, address spender) public view virtual override returns(uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 amount) public virtual override returns(bool) {
		_approve(_msgSender(), spender, amount);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns(bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
		return true;
	}

	function increaseAllowance(address spender, uint256 addedValue) public virtual returns(bool) {
		_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
		return true;
	}

	function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns(bool) {
		_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
		return true;
	}

	function _transfer(address sender, address recipient, uint256 amount) internal virtual {
		require(sender != address(0), "ERC20: transfer from the zero address");
		require(_balances[sender] >= amount, "ERC20: balance sender not enough");
		_beforeTokenTransfer(sender, recipient, amount);
		_balances[sender] = _balances[sender].sub(amount);
		_balances[recipient] = _balances[recipient].add(amount);
		emit Transfer(sender, recipient, amount);
	}

	function _mint(address account, uint256 amount) internal virtual {
		require(account != address(0), "ERC20: mint to the zero address");
		_beforeTokenTransfer(address(0), account, amount);
		_totalSupply = _totalSupply.add(amount);
		_balances[account] = _balances[account].add(amount);
		emit Transfer(address(0), account, amount);
	}

	function _burn(address account, uint256 amount) internal virtual {
		require(account != address(0), "ERC20: burn from the zero address");
		require(_balances[account] >= amount, "ERC20: balance sender not enough");
		_beforeTokenTransfer(account, address(0), amount);
		_balances[account] = _balances[account].sub(amount);
		_totalSupply = _totalSupply.sub(amount);
		emit Transfer(account, address(0), amount);
	}

	function _approve(address owner, address spender, uint256 amount) internal virtual {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	function _setupDecimals(uint8 decimals_) internal {
		_decimals = decimals_;
	}

	function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
pragma solidity 0.6 .2;
contract KindCow is ERC20("Kindcow Finance", "KIND"), Ownable {
	function mint(address _to, uint256 _amount) public onlyOwner {
		_mint(_to, _amount);
	}

	function safe32(uint n, string memory errorMessage) internal pure returns(uint32) {
		require(n < 2 ** 32, errorMessage);
		return uint32(n);
	}

	function getChainId() internal pure returns(uint) {
		uint256 chainId;
		assembly {
			chainId := chainid()
		}
		return chainId;
	}
}
pragma solidity 0.6 .2;
contract Neatherd is Ownable {
	using SafeMath
	for uint256;
	using SafeERC20
	for IERC20;
	struct UserInfo {
		uint256 amount; 
		uint256 rewardDebt;  
	}
	struct PoolInfo {
		IERC20 lpToken;     // Address of LP token contract.
		uint256 allocPoint; // How many allocation points assigned to this pool. KINDs to distribute per block.
		uint256 lastRewardBlock; // Last block number that KINDs distribution occurs.
		uint256 accKindPerShare; // Accumulated KINDs per share, times 1e30. See below.
		uint256 totalLP; //Total LP at Neatherd
	}
	IERC20 MC;
	KindCow public kind;
	address public devaddr;
	address public donation;
	 
	uint256 public kindPerBlock;
	PoolInfo[] public poolInfo;
	mapping(uint256 => mapping(address => UserInfo)) public userInfo;
	mapping(string => bool) private listPool;
	uint256 public totalAllocPoint = 0;
	uint256 public startBlock;
	uint256 public total_Vote_Reward;
	uint256 public total_Donation;
	uint256 public count_to_send_donation = 0;
	
	uint256 private jackpot = 0;
	uint256 private winner  = 0;
	event Deposit(address indexed user, uint256 indexed pid, uint256 amount);
	event Withdraw(address indexed user, uint256 indexed pid, uint256 amount);
	event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount);
	constructor(KindCow _kind, address _devaddr , address donate) public {
		kind = _kind;
		donation = donate;
		devaddr = _devaddr;
		kindPerBlock = 100000000;
	 
		startBlock = 0;
		MC = _kind;
	}

	function poolLength() external view returns(uint256) {
		return poolInfo.length;
	}
	// fee list is 1000 KIND and Minimum vote 10.000 to start Receive reward
	function add(IERC20 _lpToken) public {
		uint256 _allocPoint = 1000;
		uint256 _allocPointToBurn = 1000 * 100000000;
		uint256 kindBal = kind.balanceOf(msg.sender);
		require(kindBal >= _allocPointToBurn, "Not Enough KIND to Listing");
		uint256 notyetadd = 0;
		for (uint256 a = 0; a < poolInfo.length; a++) {
			if (poolInfo[a].lpToken == _lpToken) notyetadd = 1;
		}
		if (notyetadd == 0) {
			MC.safeTransferFrom(address(msg.sender), address(this), _allocPointToBurn);
			safeKindTransfer(address(0), _allocPointToBurn);
			totalAllocPoint = totalAllocPoint.add(_allocPoint);
			poolInfo.push(PoolInfo({
				lpToken: _lpToken,
				allocPoint: _allocPoint,
				lastRewardBlock: 0,
				accKindPerShare: 0,
				totalLP: 0
			}));
		}
	}

 

	function checkPid(IERC20 _lpToken) public view returns(uint256) {
		for (uint256 a = 0; a < poolInfo.length; a++) {
			if (poolInfo[a].lpToken == _lpToken) return a;
		}
		return 1000000;
	}

	function voteUp(uint256 _pid, uint256 _allocPoint) public {
		require(_allocPoint > 0, "voteUp : Minimum 1 KIND");
		uint256 kindBal = kind.balanceOf(msg.sender);
		uint256 kindToBurn = _allocPoint.mul(100000000);
		require(kindBal > kindToBurn, "voteUp : Your KIND Balance Not Enough");
		if (kindBal > kindToBurn) {
			MC.safeTransferFrom(address(msg.sender), address(this), kindToBurn);
			safeKindTransfer(address(0), kindToBurn.div(2));
			total_Vote_Reward = total_Vote_Reward.add(kindToBurn.div(4));
			total_Donation    = total_Donation.add(kindToBurn.div(4));
			_sendReward();
			totalAllocPoint = totalAllocPoint.add(_allocPoint);
			poolInfo[_pid].allocPoint = poolInfo[_pid].allocPoint.add(_allocPoint);
		}
	}

	function voteDown(uint256 _pid, uint256 _allocPoint) public {
		require(_allocPoint > 0, "voteUp : Minimum 1 KIND");
		uint256 kindBal = kind.balanceOf(msg.sender);
		uint256 kindToBurn = _allocPoint.mul(100000000);
		require(kindBal > kindToBurn, "voteDown : Your KIND Balance Not Enough");
		uint256 currentAllocPoint = poolInfo[_pid].allocPoint;
		require(currentAllocPoint >= _allocPoint, "voteDown : _allocPoint too High");
		if (kindBal > kindToBurn) {
			MC.safeTransferFrom(address(msg.sender), address(this), kindToBurn);
			safeKindTransfer(address(0), kindToBurn.div(2));
			total_Vote_Reward = total_Vote_Reward.add(kindToBurn.div(4));
			total_Donation    = total_Donation.add(kindToBurn.div(4));
			_sendReward();
			totalAllocPoint = totalAllocPoint.sub(_allocPoint);
			poolInfo[_pid].allocPoint = poolInfo[_pid].allocPoint.sub(_allocPoint);
			
		}
	}

	function _sendReward() public {
		uint256 _rRandom = total_Vote_Reward.div(10);
		uint256 _randomNumber = _random();
		uint256 _reward = 1;
		if (_randomNumber < winner)   _reward =  _randomNumber.mul(_rRandom.div(20));
		if (_randomNumber < jackpot)  _reward =  total_Vote_Reward;
		 
	 
		if (_reward > 0) {
			total_Vote_Reward = total_Vote_Reward.sub(_reward);
			safeKindTransfer(msg.sender, _reward);
		}
		 count_to_send_donation=count_to_send_donation.add(1);
		 if(count_to_send_donation>20){
		 safeKindTransfer(donation, total_Donation);
		 total_Donation = 0;
		 count_to_send_donation=0;
	     }
		    
	}

	function _random() private view returns(uint32) {
		uint8 r = uint8(uint256(keccak256(abi.encodePacked(msg.sender, block.timestamp, block.difficulty))) % 251);
		return r;
	}

	function voteReward() private view returns(uint256) {
		return total_Vote_Reward;
	}

	 
    	
		
	 
	function pendingKind(uint256 _pid, address _user) external view returns(uint256) {
		PoolInfo storage pool = poolInfo[_pid];
		UserInfo storage user = userInfo[_pid][_user];
		uint256 accKindPerShare = pool.accKindPerShare;
		uint256 lpSupply = pool.totalLP; 
		if (pool.allocPoint < 10000) return 0;
		if (block.number > pool.lastRewardBlock && lpSupply != 0) {
			uint256 multiplier =   block.number.sub(pool.lastRewardBlock);
		    uint256 kindReward = multiplier.mul(kindPerBlock).div(totalAllocPoint).mul(pool.allocPoint);
			accKindPerShare    = accKindPerShare.add(kindReward.mul(1e30).div(lpSupply));
		}
		
	    
	   return user.amount.mul(accKindPerShare).div(1e30).sub(user.rewardDebt);
		
	} 
	

	function updatePool(uint256 _pid) public {
		PoolInfo storage pool = poolInfo[_pid];
		if (block.number <= pool.lastRewardBlock) {
			return;
		}
		uint256 lpSupply = pool.totalLP; 
		if (lpSupply == 0) {
			pool.lastRewardBlock = block.number;
			return;
		}
		uint256 multiplier = block.number.sub(pool.lastRewardBlock);
		uint256 kindReward = multiplier.mul(kindPerBlock).div(totalAllocPoint).mul(pool.allocPoint);
		if (pool.allocPoint >= 10000) {
			kind.mint(devaddr, kindReward.div(10));
			kind.mint(address(this), kindReward);
		}
		pool.accKindPerShare = pool.accKindPerShare.add(kindReward.mul(1e30).div(lpSupply));
		pool.lastRewardBlock = block.number;
	}
	
	

 
	function deposit(uint256 _pid, uint256 _amount) public {
		PoolInfo storage pool = poolInfo[_pid];
		UserInfo storage user = userInfo[_pid][msg.sender];
		updatePool(_pid);
		if (user.amount > 0) {
			uint256 pending = user.amount.mul(pool.accKindPerShare).div(1e30).sub(user.rewardDebt);
			safeKindTransfer(msg.sender, pending);
		}
		if (_amount > 0) {
			pool.lpToken.safeTransferFrom(address(msg.sender), address(this), _amount);
			user.amount = user.amount.add(_amount);
			pool.totalLP = pool.totalLP.add(_amount);
		}
		user.rewardDebt = user.amount.mul(pool.accKindPerShare).div(1e30);
		emit Deposit(msg.sender, _pid, _amount);
	}

	function withdraw(uint256 _pid, uint256 _amount) public {
		PoolInfo storage pool = poolInfo[_pid];
		UserInfo storage user = userInfo[_pid][msg.sender];
		require(user.amount >= _amount, "withdraw: not good");
		require(_amount > 0, "withdraw: Must > 0");
		updatePool(_pid);
		uint256 pending = user.amount.mul(pool.accKindPerShare).div(1e30).sub(user.rewardDebt);
		safeKindTransfer(msg.sender, pending);
		user.amount = user.amount.sub(_amount);
		user.rewardDebt = user.amount.mul(pool.accKindPerShare).div(1e30);
		pool.lpToken.safeTransfer(address(msg.sender), _amount);
		if (_amount > 0) pool.totalLP = pool.totalLP.sub(_amount);
		emit Withdraw(msg.sender, _pid, _amount);
	}

	function balanceLP(uint256 _pid, address _user) external view returns(uint256) {
		UserInfo storage user = userInfo[_pid][_user];
		return user.amount;
	}

	function massUpdatePools() public {
		uint256 length = poolInfo.length;
		for (uint256 pid = 0; pid < length; ++pid) {
			updatePool(pid);
		}
	}
	
	function emergencyWithdraw(uint256 _pid) public {
		PoolInfo storage pool = poolInfo[_pid];
		UserInfo storage user = userInfo[_pid][msg.sender];
		pool.lpToken.safeTransfer(address(msg.sender), user.amount);
		emit EmergencyWithdraw(msg.sender, _pid, user.amount);
		user.amount = 0;
		user.rewardDebt = 0;
	}
	//transfer from mc
	function safeKindTransfer(address _to, uint256 _amount) internal {
		uint256 kindBal = kind.balanceOf(address(this));
		if (_amount > kindBal) {
			kind.transfer(_to, kindBal);
		} else {
			kind.transfer(_to, _amount);
		}
	}

	function dev_addr(address _devaddr) onlyOwner public {
	  devaddr = _devaddr;
	}
	 function donation_address(address d) onlyOwner public {
	  donation = d;
	}
    function vote_reward(uint256 win,uint256 jak) onlyOwner public {
	  winner = win;
	  jackpot= jak;
	}
	
	function sendnow_donation() onlyOwner public {
	     safeKindTransfer(donation, total_Donation);
		 total_Donation = 0;
		 count_to_send_donation=0;
		 
        }
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600f81526020017f4b696e64636f772046696e616e636500000000000000000000000000000000008152506040518060400160405280600481526020017f4b494e440000000000000000000000000000000000000000000000000000000081525081600390805190602001906200008892919062000257565b508060049080519060200190620000a192919062000257565b506008600560006101000a81548160ff021916908360ff160217905550656d23ad5f8000600281905550600254600080620000e16200024f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200012f6200024f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6002546040518082815260200191505060405180910390a350506000620001aa6200024f60201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000306565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029a57805160ff1916838001178555620002cb565b82800160010185558215620002cb579182015b82811115620002ca578251825591602001919060010190620002ad565b5b509050620002da9190620002de565b5090565b6200030391905b80821115620002ff576000816000905550600101620002e5565b5090565b90565b61191280620003166000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d71461048e578063a9059cbb146104f4578063dd62ed3e1461055a578063f2fde38b146105d2576100f5565b806370a082311461035f578063715018a6146103b75780638da5cb5b146103c157806395d89b411461040b576100f5565b806323b872dd116100d357806323b872dd14610201578063313ce5671461028757806339509351146102ab57806340c10f1914610311576100f5565b806306fdde03146100fa578063095ea7b31461017d57806318160ddd146101e3575b600080fd5b610102610616565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610142578082015181840152602081019050610127565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c96004803603604081101561019357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106b8565b604051808215151515815260200191505060405180910390f35b6101eb6106d6565b6040518082815260200191505060405180910390f35b61026d6004803603606081101561021757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610730565b604051808215151515815260200191505060405180910390f35b61028f610809565b604051808260ff1660ff16815260200191505060405180910390f35b6102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610820565b604051808215151515815260200191505060405180910390f35b61035d6004803603604081101561032757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108d3565b005b6103a16004803603602081101561037557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ab565b6040518082815260200191505060405180910390f35b6103bf6109f3565b005b6103c9610b7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610413610ba8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610453578082015181840152602081019050610438565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104da600480360360408110156104a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c4a565b604051808215151515815260200191505060405180910390f35b6105406004803603604081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d17565b604051808215151515815260200191505060405180910390f35b6105bc6004803603604081101561057057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d35565b6040518082815260200191505060405180910390f35b610614600480360360208110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dbc565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ae5780601f10610683576101008083540402835291602001916106ae565b820191906000526020600020905b81548152906001019060200180831161069157829003601f168201915b5050505050905090565b60006106cc6106c5610fcc565b8484610fd4565b6001905092915050565b600061072b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546002546111cb90919063ffffffff16565b905090565b600061073d848484611215565b6107fe84610749610fcc565b6107f98560405180606001604052806028815260200161184760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107af610fcc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ea9092919063ffffffff16565b610fd4565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006108c961082d610fcc565b846108c4856001600061083e610fcc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115aa90919063ffffffff16565b610fd4565b6001905092915050565b6108db610fcc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6109a78282611632565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109fb610fcc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c405780601f10610c1557610100808354040283529160200191610c40565b820191906000526020600020905b815481529060010190602001808311610c2357829003601f168201915b5050505050905090565b6000610d0d610c57610fcc565b84610d08856040518060600160405280602581526020016118b86025913960016000610c81610fcc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ea9092919063ffffffff16565b610fd4565b6001905092915050565b6000610d2b610d24610fcc565b8484611215565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610dc4610fcc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117ff6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561105a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806118946024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806118256022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061120d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ea565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061186f6025913960400191505060405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a2062616c616e63652073656e646572206e6f7420656e6f75676881525060200191505060405180910390fd5b61135a8383836117f9565b6113ab816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111cb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061143e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115aa90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611597576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561155c578082015181840152602081019050611541565b50505050905090810190601f1680156115895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6116e1600083836117f9565b6116f6816002546115aa90919063ffffffff16565b60028190555061174d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115aa90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122060cacb6a3d2212bcc5043c87d55177b8dd257dec99e278211d68d444b1a7c3a264736f6c63430006020033

Deployed ByteCode Sourcemap

11582:454:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11582:454:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8110:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8110:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8894:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8894:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8348:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9052:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9052:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8270:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9356:202;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9356:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11648:90;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11648:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8470:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8470:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7122:133;;;:::i;:::-;;6941:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8188:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8188:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9563:253;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9563:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8584:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8584:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8748:141;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8748:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7260:223;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7260:223:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8110:73;8146:13;8173:5;8166:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8110:73;:::o;8894:153::-;8976:4;8987:39;8996:12;:10;:12::i;:::-;9010:7;9019:6;8987:8;:39::i;:::-;9038:4;9031:11;;8894:153;;;;:::o;8348:117::-;8400:7;8421:39;8438:9;:21;8456:1;8438:21;;;;;;;;;;;;;;;;8421:12;;:16;;:39;;;;:::i;:::-;8414:46;;8348:117;:::o;9052:299::-;9157:4;9168:36;9178:6;9186:9;9197:6;9168:9;:36::i;:::-;9209:121;9218:6;9226:12;:10;:12::i;:::-;9240:89;9278:6;9240:89;;;;;;;;;;;;;;;;;:11;:19;9252:6;9240:19;;;;;;;;;;;;;;;:33;9260:12;:10;:12::i;:::-;9240:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9209:8;:121::i;:::-;9342:4;9335:11;;9052:299;;;;;:::o;8270:73::-;8310:5;8329:9;;;;;;;;;;;8322:16;;8270:73;:::o;9356:202::-;9443:4;9454:83;9463:12;:10;:12::i;:::-;9477:7;9486:50;9525:10;9486:11;:25;9498:12;:10;:12::i;:::-;9486:25;;;;;;;;;;;;;;;:34;9512:7;9486:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9454:8;:83::i;:::-;9549:4;9542:11;;9356:202;;;;:::o;11648:90::-;7057:12;:10;:12::i;:::-;7047:22;;:6;;;;;;;;;;;:22;;;7039:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:19:::1;11720:3;11725:7;11714:5;:19::i;:::-;11648:90:::0;;:::o;8470:109::-;8535:7;8556:9;:18;8566:7;8556:18;;;;;;;;;;;;;;;;8549:25;;8470:109;;;:::o;7122:133::-;7057:12;:10;:12::i;:::-;7047:22;;:6;;;;;;;;;;;:22;;;7039:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:1:::1;7186:40;;7207:6;;;;;;;;;;;7186:40;;;;;;;;;;;;7248:1;7231:6;;:19;;;;;;;;;;;;;;;;;;7122:133::o:0;6941:69::-;6978:7;6999:6;;;;;;;;;;;6992:13;;6941:69;:::o;8188:77::-;8226:13;8253:7;8246:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8188:77;:::o;9563:253::-;9655:4;9666:129;9675:12;:10;:12::i;:::-;9689:7;9698:96;9737:15;9698:96;;;;;;;;;;;;;;;;;:11;:25;9710:12;:10;:12::i;:::-;9698:25;;;;;;;;;;;;;;;:34;9724:7;9698:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9666:8;:129::i;:::-;9807:4;9800:11;;9563:253;;;;:::o;8584:159::-;8669:4;8680:42;8690:12;:10;:12::i;:::-;8704:9;8715:6;8680:9;:42::i;:::-;8734:4;8727:11;;8584:159;;;;:::o;8748:141::-;8836:7;8857:11;:18;8869:5;8857:18;;;;;;;;;;;;;;;:27;8876:7;8857:27;;;;;;;;;;;;;;;;8850:34;;8748:141;;;;:::o;7260:223::-;7057:12;:10;:12::i;:::-;7047:22;;:6;;;;;;;;;;;:22;;;7039:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7363:1:::1;7343:22;;:8;:22;;;;7335:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7447:8;7418:38;;7439:6;;;;;;;;;;;7418:38;;;;;;;;;;;;7470:8;7461:6;;:17;;;;;;;;;;;;;;;;;;7260:223:::0;:::o;6300:96::-;6352:15;6381:10;6374:17;;6300:96;:::o;11053:317::-;11166:1;11149:19;;:5;:19;;;;11141:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11241:1;11222:21;;:7;:21;;;;11214:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11317:6;11287:11;:18;11299:5;11287:18;;;;;;;;;;;;;;;:27;11306:7;11287:27;;;;;;;;;;;;;;;:36;;;;11349:7;11333:32;;11342:5;11333:32;;;11358:6;11333:32;;;;;;;;;;;;;;;;;;11053:317;;;:::o;892:126::-;949:7;970:43;974:1;977;970:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;963:50;;892:126;;;;:::o;9821:455::-;9939:1;9921:20;;:6;:20;;;;9913:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10017:6;9996:9;:17;10006:6;9996:17;;;;;;;;;;;;;;;;:27;;9988:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10065:47;10086:6;10094:9;10105:6;10065:20;:47::i;:::-;10137:29;10159:6;10137:9;:17;10147:6;10137:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;10117:9;:17;10127:6;10117:17;;;;;;;;;;;;;;;:49;;;;10194:32;10219:6;10194:9;:20;10204:9;10194:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10171:9;:20;10181:9;10171:20;;;;;;;;;;;;;;;:55;;;;10253:9;10236:35;;10245:6;10236:35;;;10264:6;10236:35;;;;;;;;;;;;;;;;;;9821:455;;;:::o;1023:168::-;1108:7;1135:1;1130;:6;;1138:12;1122:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1122:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1156:9;1172:1;1168;:5;1156:17;;1185:1;1178:8;;;1023:168;;;;;:::o;730:157::-;787:7;801:9;817:1;813;:5;801:17;;836:1;831;:6;;823:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;881:1;874:8;;;730:157;;;;:::o;10281:341::-;10378:1;10359:21;;:7;:21;;;;10351:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10421:49;10450:1;10454:7;10463:6;10421:20;:49::i;:::-;10490:24;10507:6;10490:12;;:16;;:24;;;;:::i;:::-;10475:12;:39;;;;10540:30;10563:6;10540:9;:18;10550:7;10540:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;10519:9;:18;10529:7;10519:18;;;;;;;;;;;;;;;:51;;;;10601:7;10580:37;;10597:1;10580:37;;;10610:6;10580:37;;;;;;;;;;;;;;;;;;10281:341;;:::o;11461:91::-;;;;:::o

Swarm Source

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