Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,493 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Bananas | 16888060 | 679 days ago | IN | 0 ETH | 0.00028519 | ||||
Buy Bananas Hold... | 14987383 | 957 days ago | IN | 0.07979 ETH | 0.00170663 | ||||
Claim Bananas | 14875203 | 976 days ago | IN | 0 ETH | 0.00187735 | ||||
Claim Bananas | 14875203 | 976 days ago | IN | 0 ETH | 0.00187735 | ||||
Claim Bananas | 14875203 | 976 days ago | IN | 0 ETH | 0.00187735 | ||||
Claim Bananas | 14875180 | 976 days ago | IN | 0 ETH | 0.0011246 | ||||
Claim Bananas | 14603233 | 1019 days ago | IN | 0 ETH | 0.00100338 | ||||
Claim Bananas | 14558654 | 1026 days ago | IN | 0 ETH | 0.00186599 | ||||
Claim Bananas | 14549507 | 1027 days ago | IN | 0 ETH | 0.00096113 | ||||
Claim Bananas | 14548932 | 1027 days ago | IN | 0 ETH | 0.00074555 | ||||
Claim Bananas | 14547267 | 1028 days ago | IN | 0 ETH | 0.00228012 | ||||
Claim Bananas | 14540757 | 1029 days ago | IN | 0 ETH | 0.00089204 | ||||
Buy Bananas Hold... | 14530339 | 1030 days ago | IN | 0.07979 ETH | 0.00158397 | ||||
Withdraw All | 14527688 | 1031 days ago | IN | 0 ETH | 0.00325228 | ||||
Set Is Holder Sa... | 14527673 | 1031 days ago | IN | 0 ETH | 0.00258747 | ||||
Set Max Mint Amo... | 14527671 | 1031 days ago | IN | 0 ETH | 0.00188438 | ||||
Claim Bananas | 14527667 | 1031 days ago | IN | 0 ETH | 0.00222786 | ||||
Buy Bananas Hold... | 14527662 | 1031 days ago | IN | 0.07979 ETH | 0.00907462 | ||||
Buy Bananas Hold... | 14527638 | 1031 days ago | IN | 0.07979 ETH | 0.01107523 | ||||
Buy Bananas Hold... | 14527632 | 1031 days ago | IN | 0.07979 ETH | 0.01114891 | ||||
Claim Bananas | 14527626 | 1031 days ago | IN | 0 ETH | 0.00196147 | ||||
Buy Bananas Hold... | 14527625 | 1031 days ago | IN | 0.07979 ETH | 0.00832149 | ||||
Buy Bananas Hold... | 14527620 | 1031 days ago | IN | 0.07979 ETH | 0.00693064 | ||||
Buy Bananas | 14527619 | 1031 days ago | IN | 0.15 ETH | 0.00745054 | ||||
Buy Bananas Hold... | 14527615 | 1031 days ago | IN | 0.07979 ETH | 0.00713515 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
14527688 | 1031 days ago | 48.33319 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
PoisonedBananasClaim
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.11; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import { MerkleProof } from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; contract IPoisonedBananas { function mintSingle(uint256 bananaType, address to) external {} function mintMultiple(uint256[] memory bananaTypes, uint256[] memory amounts, address to) external {} } contract IPoisonedBananaClaimRNG { function getRandomNumber(address _addr, uint256 apeId) external view returns (uint256) {} } contract PoisonedBananasClaim is Ownable { /** * @dev EXTERNAL ADDRESSES */ IERC721 public primeApeNFT; IPoisonedBananas public bananas; IPoisonedBananaClaimRNG private claimRng; /** * @dev GENERAL DATA */ uint256 public maxSupply = 7979; uint256 public lvl1Supply = 5000; uint256 public lvl2Supply = 2965; uint256 public lvl3Supply = 14; uint256 public lvl2Odds = 3; uint256 public lvl3Odds = 569; /** * @dev CLAIM DATA */ mapping(uint256 => bool) public apeToClaimed; mapping(uint256 => uint256) public levelToClaimed; /** * @dev MINT DATA */ uint256 public holderPrice = 0.07979 ether; uint256 public price = 0.15 ether; uint256 public minted; uint256 public mintMaxAmount = 1; bool public isHolderSale; bool public isSale; mapping(address => uint256) public addressToHolderMint; mapping(address => uint256) public addressToMints; /** * @dev Setter events. */ event setPriceEvent(uint256 indexed price); event setMaxSupplyEvent(uint256 indexed maxSupply); /** * @dev Sale events. */ event Purchase(address indexed buyer, uint256 indexed amount); event ReceivedEther(address indexed sender, uint256 indexed amount); event WithdrawAllEvent(address indexed to, uint256 amount); constructor( address _ape, address _banana, address _rng ) Ownable() { require(lvl1Supply + lvl2Supply + lvl3Supply == maxSupply, "Supply not correct"); primeApeNFT = IERC721(_ape); bananas = IPoisonedBananas(_banana); claimRng = IPoisonedBananaClaimRNG(_rng); } /** * @dev HELPERS */ /** * @dev returns the bananas supply that is left. */ function supplyLeft() public view returns (uint256) { return maxSupply - minted; } /** * @dev given an array of apeIds see which ones can still * claim their banana. * * @param apeIds. The ape ids. */ function getNotClaimedApes(uint256[] calldata apeIds) external view returns(uint256[] memory) { require(apeIds.length > 0, "No IDS supplied"); uint256 length = apeIds.length; uint256[] memory notClaimedApes = new uint256[](length); uint256 counter; /// @dev Check if sender is owner of all apes and that they haven't claimed yet /// @dev Update claim status of each ape for (uint256 i = 0; i < apeIds.length; i++) { uint256 apeId = apeIds[i]; if (!apeToClaimed[apeId]) { notClaimedApes[counter] = apeId; counter++; } } return notClaimedApes; } function getBananaLevelForClaim(address claimer, uint256 claimingApeId) internal view returns (uint256) { uint256 rng = claimRng.getRandomNumber(claimer, claimingApeId); bool isLvl3 = rng % lvl3Odds == 0; bool isLvl2 = rng % lvl2Odds == 0; bool isLvl1 = !isLvl3 && !isLvl2; bool isLvl3Full = levelToClaimed[2] >= lvl3Supply; bool isLvl2Full = levelToClaimed[1] >= lvl2Supply; bool isLvl1Full = levelToClaimed[0] >= lvl1Supply; if (isLvl3) { if (!isLvl3Full) return 2; else if (!isLvl2Full) return 1; else if (!isLvl1Full) return 0; } if (isLvl2) { if (!isLvl2Full) return 1; else if (!isLvl1Full) return 0; else if (!isLvl2Full) return 2; } if (isLvl1) { if (!isLvl1Full) return 0; else if (!isLvl2Full) return 1; else if (!isLvl3Full) return 2; } //should not get to this revert("Logic error"); } /** * @dev CLAIMING */ /** * @dev Claims bananas to sender for each valid ape Id. * * @param apeIds. The ape Ids. */ function claimBananas(uint256[] calldata apeIds) external { require(address(bananas) != address(0), "Banana contract not set"); require(address(primeApeNFT) != address(0), "Ape contract not set"); require(apeIds.length > 0, "No Ids supplied"); require(!isSale && !isHolderSale, "Claiming stopped"); uint256[] memory bananaTypes = new uint256[](apeIds.length); uint256[] memory amounts = new uint256[](apeIds.length); /// @dev Check if sender is owner of all apes and that they haven't claimed yet /// @dev Update claim status of each ape for (uint256 i = 0; i < apeIds.length; i++) { uint256 apeId = apeIds[i]; require(primeApeNFT.ownerOf(apeId) == msg.sender, "Sender does not own ape"); require(!apeToClaimed[apeId], "Ape already claimed banana"); apeToClaimed[apeId] = true; uint256 bananaType = getBananaLevelForClaim(msg.sender, apeId); levelToClaimed[bananaType]++; bananaTypes[i] = bananaType; amounts[i] = 1; } minted += apeIds.length; bananas.mintMultiple(bananaTypes, amounts, msg.sender); } /** * @dev Claims banana to sender for ape Id. * * @param apeId. The ape Id. */ function claimBanana(uint256 apeId) external { require(address(bananas) != address(0), "Banana contract not set"); require(address(primeApeNFT) != address(0), "Ape contract not set"); require(!isSale && !isHolderSale, "Claiming stopped"); require(primeApeNFT.ownerOf(apeId) == msg.sender, "Sender does not own ape"); require(!apeToClaimed[apeId], "Ape already claimed banana"); apeToClaimed[apeId] = true; uint256 bananaType = getBananaLevelForClaim(msg.sender, apeId); levelToClaimed[bananaType]++; minted++; bananas.mintSingle(bananaType, msg.sender); } /** * @dev SALE */ /** * @dev Allows unclaimed bananas to be sold to holders */ function buyBananasHolders() external payable { uint256 amount = 1; require(primeApeNFT.balanceOf(msg.sender) > 0, "Have to be a prime ape holder"); require(addressToHolderMint[msg.sender] == 0, "Can only buy one additional banana"); require(minted + amount <= maxSupply, "Mint amount goes over max supply"); require(msg.value >= holderPrice, "Ether sent not correct"); require(isHolderSale, "Sale not started"); addressToHolderMint[msg.sender] = 1; uint256 bananaType = getBananaLevelForClaim(msg.sender, minted); levelToClaimed[bananaType]++; minted++; bananas.mintSingle(bananaType, msg.sender); emit Purchase(msg.sender, amount); } /** * @dev Allows unclaimed bananas to be sold to the public * * @param amount. The amount of bananas to be sold */ function buyBananas(uint256 amount) external payable { require(amount > 0, "Have to buy more than 0"); require(addressToMints[msg.sender] + amount <= mintMaxAmount, "Mint amount exceeds max for user"); require(minted + amount <= maxSupply, "Mint amount goes over max supply"); require(msg.value >= price * amount, "Ether sent not correct"); require(isSale, "Sale not started"); /// @dev Updates contract variables and mints `amount` NFTs to users wallet addressToMints[msg.sender] += amount; uint256[] memory bananaTypes = new uint256[](amount); uint256[] memory amounts = new uint256[](amount); for (uint256 i = 0; i < amount; i++) { uint256 bananaType = getBananaLevelForClaim(msg.sender, minted + i); levelToClaimed[bananaType]++; bananaTypes[i] = bananaType; amounts[i] = 1; } minted += amount; bananas.mintMultiple(bananaTypes, amounts, msg.sender); emit Purchase(msg.sender, amount); } /** * @dev OWNER ONLY */ function setIsSale(bool _isSale) external onlyOwner { isSale = _isSale; } function setIsHolderSale(bool _isSale) external onlyOwner { isHolderSale = _isSale; } function setPrice(uint256 newPrice) external onlyOwner { price = newPrice; emit setPriceEvent(newPrice); } function setHolderPrice(uint256 newPrice) external onlyOwner { holderPrice = newPrice; } function setMaxSupply(uint256 newMaxSupply) external onlyOwner { maxSupply = newMaxSupply; emit setMaxSupplyEvent(newMaxSupply); } function setMaxMintAmount(uint256 newMaxMintAmount) external onlyOwner { mintMaxAmount = newMaxMintAmount; } function setLvl1Supply(uint256 newSupply) external onlyOwner { lvl1Supply = newSupply; } function setLvl2Supply(uint256 newSupply) external onlyOwner { lvl2Supply = newSupply; } function setLvl3Supply(uint256 newSupply) external onlyOwner { lvl3Supply = newSupply; } function setLvl2Odds(uint256 newOdds) external onlyOwner { lvl2Odds = newOdds; } function setLvl3Odds(uint256 newOdds) external onlyOwner { lvl3Odds = newOdds; } /** * @dev FINANCE */ function withdrawAll(address _to) external onlyOwner { require(_to != address(0), "CANNOT WITHDRAW TO ZERO ADDRESS"); uint256 contractBalance = address(this).balance; require(contractBalance > 0, "NO ETHER TO WITHDRAW"); payable(_to).transfer(contractBalance); emit WithdrawAllEvent(_to, contractBalance); } /** * @dev Fallback function for receiving Ether */ receive() external payable { emit ReceivedEther(msg.sender, msg.value); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/MerkleProof.sol) pragma solidity ^0.8.0; /** * @dev These functions deal with verification of Merkle Trees proofs. * * The proofs can be generated using the JavaScript library * https://github.com/miguelmota/merkletreejs[merkletreejs]. * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. * * See `test/utils/cryptography/MerkleProof.test.js` for some examples. */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify( bytes32[] memory proof, bytes32 root, bytes32 leaf ) internal pure returns (bool) { return processProof(proof, leaf) == root; } /** * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt * hash matches the root of the tree. When processing the proof, the pairs * of leafs & pre-images are assumed to be sorted. * * _Available since v4.4._ */ function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash <= proofElement) { // Hash(current computed hash + current element of the proof) computedHash = _efficientHash(computedHash, proofElement); } else { // Hash(current element of the proof + current computed hash) computedHash = _efficientHash(proofElement, computedHash); } } return computedHash; } function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) { assembly { mstore(0x00, a) mstore(0x20, b) value := keccak256(0x00, 0x40) } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_ape","type":"address"},{"internalType":"address","name":"_banana","type":"address"},{"internalType":"address","name":"_rng","type":"address"}],"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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Purchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReceivedEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawAllEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxSupply","type":"uint256"}],"name":"setMaxSupplyEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"price","type":"uint256"}],"name":"setPriceEvent","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToHolderMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"apeToClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bananas","outputs":[{"internalType":"contract IPoisonedBananas","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyBananas","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyBananasHolders","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"apeId","type":"uint256"}],"name":"claimBanana","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"apeIds","type":"uint256[]"}],"name":"claimBananas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"apeIds","type":"uint256[]"}],"name":"getNotClaimedApes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isHolderSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"levelToClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lvl1Supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lvl2Odds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lvl2Supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lvl3Odds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lvl3Supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"primeApeNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setHolderPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isSale","type":"bool"}],"name":"setIsHolderSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isSale","type":"bool"}],"name":"setIsSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"setLvl1Supply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newOdds","type":"uint256"}],"name":"setLvl2Odds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"setLvl2Supply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newOdds","type":"uint256"}],"name":"setLvl3Odds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"setLvl3Supply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxMintAmount","type":"uint256"}],"name":"setMaxMintAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSupply","type":"uint256"}],"name":"setMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supplyLeft","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052611f2b600455611388600555610b95600655600e600755600360085561023960095567011b78950ea0e000600c55670214e8348c4f0000600d556001600f553480156200005057600080fd5b506040516200255938038062002559833981016040819052620000739162000199565b6200007e336200012c565b600454600754600654600554620000969190620001e3565b620000a29190620001e3565b14620000e95760405162461bcd60e51b815260206004820152601260248201527114dd5c1c1b1e481b9bdd0818dbdc9c9958dd60721b604482015260640160405180910390fd5b600180546001600160a01b039485166001600160a01b0319918216179091556002805493851693821693909317909255600380549190931691161790556200020a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200019457600080fd5b919050565b600080600060608486031215620001af57600080fd5b620001ba846200017c565b9250620001ca602085016200017c565b9150620001da604085016200017c565b90509250925092565b600082198211156200020557634e487b7160e01b600052601160045260246000fd5b500190565b61233f806200021a6000396000f3fe6080604052600436106102a45760003560e01c806391b7f5ed1161016e578063d48b81b9116100cb578063ef4b61f21161007f578063f8c1c18611610064578063f8c1c18614610742578063fa09e63014610761578063fdcf9d071461078157600080fd5b8063ef4b61f214610702578063f2fde38b1461072257600080fd5b8063dcff9a30116100b0578063dcff9a30146106b6578063e3900ad9146106cc578063eaaf4bb1146106ec57600080fd5b8063d48b81b914610680578063d5abeb01146106a057600080fd5b8063aba94bdf11610122578063be2c274d11610107578063be2c274d1461062b578063c164fcfb1461064b578063ca3026f01461065357600080fd5b8063aba94bdf146105de578063b24665e1146105fe57600080fd5b80639c404bd4116101535780639c404bd41461058e578063a035b1fe146105ae578063a8484fcc146105c457600080fd5b806391b7f5ed1461055857806396aa15c91461057857600080fd5b806346dfc31a1161021c5780636f8b44b0116101d0578063874bf4e5116101b5578063874bf4e5146104e257806389a7cba11461051a5780638da5cb5b1461053a57600080fd5b80636f8b44b0146104ad578063715018a6146104cd57600080fd5b80634f02c420116102015780634f02c4201461045457806355ea73281461046a57806363820f231461048057600080fd5b806346dfc31a146104285780634bc515321461043e57600080fd5b80630b74f6ee11610273578063123608301161025857806312360830146103b7578063150d6106146103db5780631fd02c3d146103fb57600080fd5b80630b74f6ee146103775780630ca154861461039757600080fd5b8063039b2ed7146102dd5780630881e017146102ff578063088a4ed0146103125780630a8676211461033257600080fd5b366102d857604051349033907fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf190600090a3005b600080fd5b3480156102e957600080fd5b506102fd6102f8366004612072565b610796565b005b6102fd61030d36600461209b565b6107fd565b34801561031e57600080fd5b506102fd61032d36600461209b565b610bc6565b34801561033e57600080fd5b5061036261034d36600461209b565b600a6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561038357600080fd5b506102fd61039236600461209b565b610c13565b3480156103a357600080fd5b506102fd6103b236600461209b565b610c60565b3480156103c357600080fd5b506103cd60065481565b60405190815260200161036e565b3480156103e757600080fd5b506102fd6103f636600461209b565b610cad565b34801561040757600080fd5b506103cd61041636600461209b565b600b6020526000908152604090205481565b34801561043457600080fd5b506103cd60095481565b34801561044a57600080fd5b506103cd60085481565b34801561046057600080fd5b506103cd600e5481565b34801561047657600080fd5b506103cd600c5481565b34801561048c57600080fd5b506103cd61049b3660046120c9565b60126020526000908152604090205481565b3480156104b957600080fd5b506102fd6104c836600461209b565b610cfa565b3480156104d957600080fd5b506102fd610d75565b3480156104ee57600080fd5b50600254610502906001600160a01b031681565b6040516001600160a01b03909116815260200161036e565b34801561052657600080fd5b506102fd61053536600461209b565b610dc9565b34801561054657600080fd5b506000546001600160a01b0316610502565b34801561056457600080fd5b506102fd61057336600461209b565b610e16565b34801561058457600080fd5b506103cd60075481565b34801561059a57600080fd5b50600154610502906001600160a01b031681565b3480156105ba57600080fd5b506103cd600d5481565b3480156105d057600080fd5b506010546103629060ff1681565b3480156105ea57600080fd5b506102fd6105f9366004612072565b610e91565b34801561060a57600080fd5b506103cd6106193660046120c9565b60116020526000908152604090205481565b34801561063757600080fd5b506102fd61064636600461209b565b610eec565b6102fd610f39565b34801561065f57600080fd5b5061067361066e3660046120e6565b611280565b60405161036e9190612196565b34801561068c57600080fd5b506102fd61069b36600461209b565b6113a8565b3480156106ac57600080fd5b506103cd60045481565b3480156106c257600080fd5b506103cd60055481565b3480156106d857600080fd5b506102fd6106e736600461209b565b6116a3565b3480156106f857600080fd5b506103cd600f5481565b34801561070e57600080fd5b506102fd61071d3660046120e6565b6116f0565b34801561072e57600080fd5b506102fd61073d3660046120c9565b611b51565b34801561074e57600080fd5b5060105461036290610100900460ff1681565b34801561076d57600080fd5b506102fd61077c3660046120c9565b611c21565b34801561078d57600080fd5b506103cd611d8b565b6000546001600160a01b031633146107e35760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064015b60405180910390fd5b601080549115156101000261ff0019909216919091179055565b6000811161084d5760405162461bcd60e51b815260206004820152601760248201527f4861766520746f20627579206d6f7265207468616e203000000000000000000060448201526064016107da565b600f543360009081526012602052604090205461086b9083906121bf565b11156108b95760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e742065786365656473206d617820666f72207573657260448201526064016107da565b60045481600e546108ca91906121bf565b11156109185760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e7420676f6573206f766572206d617820737570706c7960448201526064016107da565b80600d5461092691906121d7565b3410156109755760405162461bcd60e51b815260206004820152601660248201527f45746865722073656e74206e6f7420636f72726563740000000000000000000060448201526064016107da565b601054610100900460ff166109cc5760405162461bcd60e51b815260206004820152601060248201527f53616c65206e6f7420737461727465640000000000000000000000000000000060448201526064016107da565b33600090815260126020526040812080548392906109eb9084906121bf565b90915550600090508167ffffffffffffffff811115610a0c57610a0c6121f6565b604051908082528060200260200182016040528015610a35578160200160208202803683370190505b50905060008267ffffffffffffffff811115610a5357610a536121f6565b604051908082528060200260200182016040528015610a7c578160200160208202803683370190505b50905060005b83811015610b16576000610aa33383600e54610a9e91906121bf565b611da2565b6000818152600b60205260408120805492935090610ac08361220c565b919050555080848381518110610ad857610ad8612225565b6020026020010181815250506001838381518110610af857610af8612225565b60209081029190910101525080610b0e8161220c565b915050610a82565b5082600e6000828254610b2991906121bf565b9091555050600254604051632bc8d03760e21b81526001600160a01b039091169063af2340dc90610b629085908590339060040161223b565b600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b50506040518592503391507f2499a5330ab0979cc612135e7883ebc3cd5c9f7a8508f042540c34723348f63290600090a3505050565b6000546001600160a01b03163314610c0e5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600f55565b6000546001600160a01b03163314610c5b5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600c55565b6000546001600160a01b03163314610ca85760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600955565b6000546001600160a01b03163314610cf55760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600555565b6000546001600160a01b03163314610d425760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600481905560405181907f115fc9a06617f7766b311b347c33a9f1136ab8eac32129631a9d1455f4a0fc3290600090a250565b6000546001600160a01b03163314610dbd5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b610dc7600061200a565b565b6000546001600160a01b03163314610e115760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600855565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600d81905560405181907fd4457f296563e8956d17d2424182ab4d5595d5f1512961dff3df11b9da9e916790600090a250565b6000546001600160a01b03163314610ed95760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6010805460ff1916911515919091179055565b6000546001600160a01b03163314610f345760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600755565b600180546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc0919061227a565b1161100d5760405162461bcd60e51b815260206004820152601d60248201527f4861766520746f2062652061207072696d652061706520686f6c64657200000060448201526064016107da565b33600090815260116020526040902054156110905760405162461bcd60e51b815260206004820152602260248201527f43616e206f6e6c7920627579206f6e65206164646974696f6e616c2062616e6160448201527f6e6100000000000000000000000000000000000000000000000000000000000060648201526084016107da565b60045481600e546110a191906121bf565b11156110ef5760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e7420676f6573206f766572206d617820737570706c7960448201526064016107da565b600c543410156111415760405162461bcd60e51b815260206004820152601660248201527f45746865722073656e74206e6f7420636f72726563740000000000000000000060448201526064016107da565b60105460ff166111935760405162461bcd60e51b815260206004820152601060248201527f53616c65206e6f7420737461727465640000000000000000000000000000000060448201526064016107da565b33600081815260116020526040812060019055600e5490916111b491611da2565b6000818152600b602052604081208054929350906111d18361220c565b9091555050600e80549060006111e68361220c565b90915550506002546040516319708af560e01b8152600481018390523360248201526001600160a01b03909116906319708af590604401600060405180830381600087803b15801561123757600080fd5b505af115801561124b573d6000803e3d6000fd5b50506040518492503391507f2499a5330ab0979cc612135e7883ebc3cd5c9f7a8508f042540c34723348f63290600090a35050565b6060816112cf5760405162461bcd60e51b815260206004820152600f60248201527f4e6f2049445320737570706c696564000000000000000000000000000000000060448201526064016107da565b8160008167ffffffffffffffff8111156112eb576112eb6121f6565b604051908082528060200260200182016040528015611314578160200160208202803683370190505b5090506000805b8581101561139b57600087878381811061133757611337612225565b602090810292909201356000818152600a9093526040909220549192505060ff16611388578084848151811061136f5761136f612225565b6020908102919091010152826113848161220c565b9350505b50806113938161220c565b91505061131b565b5090925050505b92915050565b6002546001600160a01b03166114005760405162461bcd60e51b815260206004820152601760248201527f42616e616e6120636f6e7472616374206e6f742073657400000000000000000060448201526064016107da565b6001546001600160a01b03166114585760405162461bcd60e51b815260206004820152601460248201527f41706520636f6e7472616374206e6f742073657400000000000000000000000060448201526064016107da565b601054610100900460ff16158015611473575060105460ff16155b6114bf5760405162461bcd60e51b815260206004820152601060248201527f436c61696d696e672073746f707065640000000000000000000000000000000060448201526064016107da565b6001546040516331a9108f60e11b81526004810183905233916001600160a01b031690636352211e90602401602060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152c9190612293565b6001600160a01b0316146115825760405162461bcd60e51b815260206004820152601760248201527f53656e64657220646f6573206e6f74206f776e2061706500000000000000000060448201526064016107da565b6000818152600a602052604090205460ff16156115e15760405162461bcd60e51b815260206004820152601a60248201527f41706520616c726561647920636c61696d65642062616e616e6100000000000060448201526064016107da565b6000818152600a60205260408120805460ff191660011790556116043383611da2565b6000818152600b602052604081208054929350906116218361220c565b9091555050600e80549060006116368361220c565b90915550506002546040516319708af560e01b8152600481018390523360248201526001600160a01b03909116906319708af590604401600060405180830381600087803b15801561168757600080fd5b505af115801561169b573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146116eb5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600655565b6002546001600160a01b03166117485760405162461bcd60e51b815260206004820152601760248201527f42616e616e6120636f6e7472616374206e6f742073657400000000000000000060448201526064016107da565b6001546001600160a01b03166117a05760405162461bcd60e51b815260206004820152601460248201527f41706520636f6e7472616374206e6f742073657400000000000000000000000060448201526064016107da565b806117ed5760405162461bcd60e51b815260206004820152600f60248201527f4e6f2049647320737570706c696564000000000000000000000000000000000060448201526064016107da565b601054610100900460ff16158015611808575060105460ff16155b6118545760405162461bcd60e51b815260206004820152601060248201527f436c61696d696e672073746f707065640000000000000000000000000000000060448201526064016107da565b60008167ffffffffffffffff81111561186f5761186f6121f6565b604051908082528060200260200182016040528015611898578160200160208202803683370190505b50905060008267ffffffffffffffff8111156118b6576118b66121f6565b6040519080825280602002602001820160405280156118df578160200160208202803683370190505b50905060005b83811015611aca57600085858381811061190157611901612225565b6001546040516331a9108f60e11b8152602092909202939093013560048201819052935033926001600160a01b03169150636352211e90602401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190612293565b6001600160a01b0316146119d25760405162461bcd60e51b815260206004820152601760248201527f53656e64657220646f6573206e6f74206f776e2061706500000000000000000060448201526064016107da565b6000818152600a602052604090205460ff1615611a315760405162461bcd60e51b815260206004820152601a60248201527f41706520616c726561647920636c61696d65642062616e616e6100000000000060448201526064016107da565b6000818152600a60205260408120805460ff19166001179055611a543383611da2565b6000818152600b60205260408120805492935090611a718361220c565b919050555080858481518110611a8957611a89612225565b6020026020010181815250506001848481518110611aa957611aa9612225565b60200260200101818152505050508080611ac29061220c565b9150506118e5565b5083839050600e6000828254611ae091906121bf565b9091555050600254604051632bc8d03760e21b81526001600160a01b039091169063af2340dc90611b199085908590339060040161223b565b600060405180830381600087803b158015611b3357600080fd5b505af1158015611b47573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314611b995760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6001600160a01b038116611c155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107da565b611c1e8161200a565b50565b6000546001600160a01b03163314611c695760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6001600160a01b038116611cbf5760405162461bcd60e51b815260206004820152601f60248201527f43414e4e4f5420574954484452415720544f205a45524f20414444524553530060448201526064016107da565b4780611d0d5760405162461bcd60e51b815260206004820152601460248201527f4e4f20455448455220544f20574954484452415700000000000000000000000060448201526064016107da565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611d43573d6000803e3d6000fd5b50816001600160a01b03167f2bd20150a637d72a74539599f66637c3ec4f6d3807458bf9e002061053ae167c82604051611d7f91815260200190565b60405180910390a25050565b6000600e54600454611d9d91906122b0565b905090565b6003546040517ff84f420b0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015260248201849052600092839291169063f84f420b90604401602060405180830381865afa158015611e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e34919061227a565b9050600060095482611e4691906122c7565b6000149050600060085483611e5b91906122c7565b159050600082158015611e6c575081155b600754600b6020527fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba91634546006547f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf54600554600080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549596509390921015939110159111158515611f385782611f0e5760029750505050505050506113a2565b81611f235760019750505050505050506113a2565b80611f385760009750505050505050506113a2565b8415611f7d5781611f535760019750505050505050506113a2565b80611f685760009750505050505050506113a2565b81611f7d5760029750505050505050506113a2565b8315611fc25780611f985760009750505050505050506113a2565b81611fad5760019750505050505050506113a2565b82611fc25760029750505050505050506113a2565b60405162461bcd60e51b815260206004820152600b60248201527f4c6f676963206572726f7200000000000000000000000000000000000000000060448201526064016107da565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561208457600080fd5b8135801515811461209457600080fd5b9392505050565b6000602082840312156120ad57600080fd5b5035919050565b6001600160a01b0381168114611c1e57600080fd5b6000602082840312156120db57600080fd5b8135612094816120b4565b600080602083850312156120f957600080fd5b823567ffffffffffffffff8082111561211157600080fd5b818501915085601f83011261212557600080fd5b81358181111561213457600080fd5b8660208260051b850101111561214957600080fd5b60209290920196919550909350505050565b600081518084526020808501945080840160005b8381101561218b5781518752958201959082019060010161216f565b509495945050505050565b602081526000612094602083018461215b565b634e487b7160e01b600052601160045260246000fd5b600082198211156121d2576121d26121a9565b500190565b60008160001904831182151516156121f1576121f16121a9565b500290565b634e487b7160e01b600052604160045260246000fd5b60006001820161221e5761221e6121a9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60608152600061224e606083018661215b565b8281036020840152612260818661215b565b9150506001600160a01b0383166040830152949350505050565b60006020828403121561228c57600080fd5b5051919050565b6000602082840312156122a557600080fd5b8151612094816120b4565b6000828210156122c2576122c26121a9565b500390565b6000826122e457634e487b7160e01b600052601260045260246000fd5b50069056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122036ada6533d96c8065b127634f8d2e431671cd20b76510bcf560d1fbc4eaeb64264736f6c634300080d00330000000000000000000000006632a9d63e142f17a668064d41a21193b49b41a0000000000000000000000000b0c81c53b267a4cd6cbaf48d746d00e369d060a5000000000000000000000000fcec14b2e6a0e1faef6e4779daf2943f0cac471d
Deployed Bytecode
0x6080604052600436106102a45760003560e01c806391b7f5ed1161016e578063d48b81b9116100cb578063ef4b61f21161007f578063f8c1c18611610064578063f8c1c18614610742578063fa09e63014610761578063fdcf9d071461078157600080fd5b8063ef4b61f214610702578063f2fde38b1461072257600080fd5b8063dcff9a30116100b0578063dcff9a30146106b6578063e3900ad9146106cc578063eaaf4bb1146106ec57600080fd5b8063d48b81b914610680578063d5abeb01146106a057600080fd5b8063aba94bdf11610122578063be2c274d11610107578063be2c274d1461062b578063c164fcfb1461064b578063ca3026f01461065357600080fd5b8063aba94bdf146105de578063b24665e1146105fe57600080fd5b80639c404bd4116101535780639c404bd41461058e578063a035b1fe146105ae578063a8484fcc146105c457600080fd5b806391b7f5ed1461055857806396aa15c91461057857600080fd5b806346dfc31a1161021c5780636f8b44b0116101d0578063874bf4e5116101b5578063874bf4e5146104e257806389a7cba11461051a5780638da5cb5b1461053a57600080fd5b80636f8b44b0146104ad578063715018a6146104cd57600080fd5b80634f02c420116102015780634f02c4201461045457806355ea73281461046a57806363820f231461048057600080fd5b806346dfc31a146104285780634bc515321461043e57600080fd5b80630b74f6ee11610273578063123608301161025857806312360830146103b7578063150d6106146103db5780631fd02c3d146103fb57600080fd5b80630b74f6ee146103775780630ca154861461039757600080fd5b8063039b2ed7146102dd5780630881e017146102ff578063088a4ed0146103125780630a8676211461033257600080fd5b366102d857604051349033907fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf190600090a3005b600080fd5b3480156102e957600080fd5b506102fd6102f8366004612072565b610796565b005b6102fd61030d36600461209b565b6107fd565b34801561031e57600080fd5b506102fd61032d36600461209b565b610bc6565b34801561033e57600080fd5b5061036261034d36600461209b565b600a6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561038357600080fd5b506102fd61039236600461209b565b610c13565b3480156103a357600080fd5b506102fd6103b236600461209b565b610c60565b3480156103c357600080fd5b506103cd60065481565b60405190815260200161036e565b3480156103e757600080fd5b506102fd6103f636600461209b565b610cad565b34801561040757600080fd5b506103cd61041636600461209b565b600b6020526000908152604090205481565b34801561043457600080fd5b506103cd60095481565b34801561044a57600080fd5b506103cd60085481565b34801561046057600080fd5b506103cd600e5481565b34801561047657600080fd5b506103cd600c5481565b34801561048c57600080fd5b506103cd61049b3660046120c9565b60126020526000908152604090205481565b3480156104b957600080fd5b506102fd6104c836600461209b565b610cfa565b3480156104d957600080fd5b506102fd610d75565b3480156104ee57600080fd5b50600254610502906001600160a01b031681565b6040516001600160a01b03909116815260200161036e565b34801561052657600080fd5b506102fd61053536600461209b565b610dc9565b34801561054657600080fd5b506000546001600160a01b0316610502565b34801561056457600080fd5b506102fd61057336600461209b565b610e16565b34801561058457600080fd5b506103cd60075481565b34801561059a57600080fd5b50600154610502906001600160a01b031681565b3480156105ba57600080fd5b506103cd600d5481565b3480156105d057600080fd5b506010546103629060ff1681565b3480156105ea57600080fd5b506102fd6105f9366004612072565b610e91565b34801561060a57600080fd5b506103cd6106193660046120c9565b60116020526000908152604090205481565b34801561063757600080fd5b506102fd61064636600461209b565b610eec565b6102fd610f39565b34801561065f57600080fd5b5061067361066e3660046120e6565b611280565b60405161036e9190612196565b34801561068c57600080fd5b506102fd61069b36600461209b565b6113a8565b3480156106ac57600080fd5b506103cd60045481565b3480156106c257600080fd5b506103cd60055481565b3480156106d857600080fd5b506102fd6106e736600461209b565b6116a3565b3480156106f857600080fd5b506103cd600f5481565b34801561070e57600080fd5b506102fd61071d3660046120e6565b6116f0565b34801561072e57600080fd5b506102fd61073d3660046120c9565b611b51565b34801561074e57600080fd5b5060105461036290610100900460ff1681565b34801561076d57600080fd5b506102fd61077c3660046120c9565b611c21565b34801561078d57600080fd5b506103cd611d8b565b6000546001600160a01b031633146107e35760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064015b60405180910390fd5b601080549115156101000261ff0019909216919091179055565b6000811161084d5760405162461bcd60e51b815260206004820152601760248201527f4861766520746f20627579206d6f7265207468616e203000000000000000000060448201526064016107da565b600f543360009081526012602052604090205461086b9083906121bf565b11156108b95760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e742065786365656473206d617820666f72207573657260448201526064016107da565b60045481600e546108ca91906121bf565b11156109185760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e7420676f6573206f766572206d617820737570706c7960448201526064016107da565b80600d5461092691906121d7565b3410156109755760405162461bcd60e51b815260206004820152601660248201527f45746865722073656e74206e6f7420636f72726563740000000000000000000060448201526064016107da565b601054610100900460ff166109cc5760405162461bcd60e51b815260206004820152601060248201527f53616c65206e6f7420737461727465640000000000000000000000000000000060448201526064016107da565b33600090815260126020526040812080548392906109eb9084906121bf565b90915550600090508167ffffffffffffffff811115610a0c57610a0c6121f6565b604051908082528060200260200182016040528015610a35578160200160208202803683370190505b50905060008267ffffffffffffffff811115610a5357610a536121f6565b604051908082528060200260200182016040528015610a7c578160200160208202803683370190505b50905060005b83811015610b16576000610aa33383600e54610a9e91906121bf565b611da2565b6000818152600b60205260408120805492935090610ac08361220c565b919050555080848381518110610ad857610ad8612225565b6020026020010181815250506001838381518110610af857610af8612225565b60209081029190910101525080610b0e8161220c565b915050610a82565b5082600e6000828254610b2991906121bf565b9091555050600254604051632bc8d03760e21b81526001600160a01b039091169063af2340dc90610b629085908590339060040161223b565b600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b50506040518592503391507f2499a5330ab0979cc612135e7883ebc3cd5c9f7a8508f042540c34723348f63290600090a3505050565b6000546001600160a01b03163314610c0e5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600f55565b6000546001600160a01b03163314610c5b5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600c55565b6000546001600160a01b03163314610ca85760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600955565b6000546001600160a01b03163314610cf55760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600555565b6000546001600160a01b03163314610d425760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600481905560405181907f115fc9a06617f7766b311b347c33a9f1136ab8eac32129631a9d1455f4a0fc3290600090a250565b6000546001600160a01b03163314610dbd5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b610dc7600061200a565b565b6000546001600160a01b03163314610e115760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600855565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600d81905560405181907fd4457f296563e8956d17d2424182ab4d5595d5f1512961dff3df11b9da9e916790600090a250565b6000546001600160a01b03163314610ed95760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6010805460ff1916911515919091179055565b6000546001600160a01b03163314610f345760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600755565b600180546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc0919061227a565b1161100d5760405162461bcd60e51b815260206004820152601d60248201527f4861766520746f2062652061207072696d652061706520686f6c64657200000060448201526064016107da565b33600090815260116020526040902054156110905760405162461bcd60e51b815260206004820152602260248201527f43616e206f6e6c7920627579206f6e65206164646974696f6e616c2062616e6160448201527f6e6100000000000000000000000000000000000000000000000000000000000060648201526084016107da565b60045481600e546110a191906121bf565b11156110ef5760405162461bcd60e51b815260206004820181905260248201527f4d696e7420616d6f756e7420676f6573206f766572206d617820737570706c7960448201526064016107da565b600c543410156111415760405162461bcd60e51b815260206004820152601660248201527f45746865722073656e74206e6f7420636f72726563740000000000000000000060448201526064016107da565b60105460ff166111935760405162461bcd60e51b815260206004820152601060248201527f53616c65206e6f7420737461727465640000000000000000000000000000000060448201526064016107da565b33600081815260116020526040812060019055600e5490916111b491611da2565b6000818152600b602052604081208054929350906111d18361220c565b9091555050600e80549060006111e68361220c565b90915550506002546040516319708af560e01b8152600481018390523360248201526001600160a01b03909116906319708af590604401600060405180830381600087803b15801561123757600080fd5b505af115801561124b573d6000803e3d6000fd5b50506040518492503391507f2499a5330ab0979cc612135e7883ebc3cd5c9f7a8508f042540c34723348f63290600090a35050565b6060816112cf5760405162461bcd60e51b815260206004820152600f60248201527f4e6f2049445320737570706c696564000000000000000000000000000000000060448201526064016107da565b8160008167ffffffffffffffff8111156112eb576112eb6121f6565b604051908082528060200260200182016040528015611314578160200160208202803683370190505b5090506000805b8581101561139b57600087878381811061133757611337612225565b602090810292909201356000818152600a9093526040909220549192505060ff16611388578084848151811061136f5761136f612225565b6020908102919091010152826113848161220c565b9350505b50806113938161220c565b91505061131b565b5090925050505b92915050565b6002546001600160a01b03166114005760405162461bcd60e51b815260206004820152601760248201527f42616e616e6120636f6e7472616374206e6f742073657400000000000000000060448201526064016107da565b6001546001600160a01b03166114585760405162461bcd60e51b815260206004820152601460248201527f41706520636f6e7472616374206e6f742073657400000000000000000000000060448201526064016107da565b601054610100900460ff16158015611473575060105460ff16155b6114bf5760405162461bcd60e51b815260206004820152601060248201527f436c61696d696e672073746f707065640000000000000000000000000000000060448201526064016107da565b6001546040516331a9108f60e11b81526004810183905233916001600160a01b031690636352211e90602401602060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152c9190612293565b6001600160a01b0316146115825760405162461bcd60e51b815260206004820152601760248201527f53656e64657220646f6573206e6f74206f776e2061706500000000000000000060448201526064016107da565b6000818152600a602052604090205460ff16156115e15760405162461bcd60e51b815260206004820152601a60248201527f41706520616c726561647920636c61696d65642062616e616e6100000000000060448201526064016107da565b6000818152600a60205260408120805460ff191660011790556116043383611da2565b6000818152600b602052604081208054929350906116218361220c565b9091555050600e80549060006116368361220c565b90915550506002546040516319708af560e01b8152600481018390523360248201526001600160a01b03909116906319708af590604401600060405180830381600087803b15801561168757600080fd5b505af115801561169b573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146116eb5760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b600655565b6002546001600160a01b03166117485760405162461bcd60e51b815260206004820152601760248201527f42616e616e6120636f6e7472616374206e6f742073657400000000000000000060448201526064016107da565b6001546001600160a01b03166117a05760405162461bcd60e51b815260206004820152601460248201527f41706520636f6e7472616374206e6f742073657400000000000000000000000060448201526064016107da565b806117ed5760405162461bcd60e51b815260206004820152600f60248201527f4e6f2049647320737570706c696564000000000000000000000000000000000060448201526064016107da565b601054610100900460ff16158015611808575060105460ff16155b6118545760405162461bcd60e51b815260206004820152601060248201527f436c61696d696e672073746f707065640000000000000000000000000000000060448201526064016107da565b60008167ffffffffffffffff81111561186f5761186f6121f6565b604051908082528060200260200182016040528015611898578160200160208202803683370190505b50905060008267ffffffffffffffff8111156118b6576118b66121f6565b6040519080825280602002602001820160405280156118df578160200160208202803683370190505b50905060005b83811015611aca57600085858381811061190157611901612225565b6001546040516331a9108f60e11b8152602092909202939093013560048201819052935033926001600160a01b03169150636352211e90602401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190612293565b6001600160a01b0316146119d25760405162461bcd60e51b815260206004820152601760248201527f53656e64657220646f6573206e6f74206f776e2061706500000000000000000060448201526064016107da565b6000818152600a602052604090205460ff1615611a315760405162461bcd60e51b815260206004820152601a60248201527f41706520616c726561647920636c61696d65642062616e616e6100000000000060448201526064016107da565b6000818152600a60205260408120805460ff19166001179055611a543383611da2565b6000818152600b60205260408120805492935090611a718361220c565b919050555080858481518110611a8957611a89612225565b6020026020010181815250506001848481518110611aa957611aa9612225565b60200260200101818152505050508080611ac29061220c565b9150506118e5565b5083839050600e6000828254611ae091906121bf565b9091555050600254604051632bc8d03760e21b81526001600160a01b039091169063af2340dc90611b199085908590339060040161223b565b600060405180830381600087803b158015611b3357600080fd5b505af1158015611b47573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314611b995760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6001600160a01b038116611c155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107da565b611c1e8161200a565b50565b6000546001600160a01b03163314611c695760405162461bcd60e51b815260206004820181905260248201526000805160206122ea83398151915260448201526064016107da565b6001600160a01b038116611cbf5760405162461bcd60e51b815260206004820152601f60248201527f43414e4e4f5420574954484452415720544f205a45524f20414444524553530060448201526064016107da565b4780611d0d5760405162461bcd60e51b815260206004820152601460248201527f4e4f20455448455220544f20574954484452415700000000000000000000000060448201526064016107da565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611d43573d6000803e3d6000fd5b50816001600160a01b03167f2bd20150a637d72a74539599f66637c3ec4f6d3807458bf9e002061053ae167c82604051611d7f91815260200190565b60405180910390a25050565b6000600e54600454611d9d91906122b0565b905090565b6003546040517ff84f420b0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015260248201849052600092839291169063f84f420b90604401602060405180830381865afa158015611e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e34919061227a565b9050600060095482611e4691906122c7565b6000149050600060085483611e5b91906122c7565b159050600082158015611e6c575081155b600754600b6020527fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba91634546006547f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf54600554600080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549596509390921015939110159111158515611f385782611f0e5760029750505050505050506113a2565b81611f235760019750505050505050506113a2565b80611f385760009750505050505050506113a2565b8415611f7d5781611f535760019750505050505050506113a2565b80611f685760009750505050505050506113a2565b81611f7d5760029750505050505050506113a2565b8315611fc25780611f985760009750505050505050506113a2565b81611fad5760019750505050505050506113a2565b82611fc25760029750505050505050506113a2565b60405162461bcd60e51b815260206004820152600b60248201527f4c6f676963206572726f7200000000000000000000000000000000000000000060448201526064016107da565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561208457600080fd5b8135801515811461209457600080fd5b9392505050565b6000602082840312156120ad57600080fd5b5035919050565b6001600160a01b0381168114611c1e57600080fd5b6000602082840312156120db57600080fd5b8135612094816120b4565b600080602083850312156120f957600080fd5b823567ffffffffffffffff8082111561211157600080fd5b818501915085601f83011261212557600080fd5b81358181111561213457600080fd5b8660208260051b850101111561214957600080fd5b60209290920196919550909350505050565b600081518084526020808501945080840160005b8381101561218b5781518752958201959082019060010161216f565b509495945050505050565b602081526000612094602083018461215b565b634e487b7160e01b600052601160045260246000fd5b600082198211156121d2576121d26121a9565b500190565b60008160001904831182151516156121f1576121f16121a9565b500290565b634e487b7160e01b600052604160045260246000fd5b60006001820161221e5761221e6121a9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60608152600061224e606083018661215b565b8281036020840152612260818661215b565b9150506001600160a01b0383166040830152949350505050565b60006020828403121561228c57600080fd5b5051919050565b6000602082840312156122a557600080fd5b8151612094816120b4565b6000828210156122c2576122c26121a9565b500390565b6000826122e457634e487b7160e01b600052601260045260246000fd5b50069056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122036ada6533d96c8065b127634f8d2e431671cd20b76510bcf560d1fbc4eaeb64264736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006632a9d63e142f17a668064d41a21193b49b41a0000000000000000000000000b0c81c53b267a4cd6cbaf48d746d00e369d060a5000000000000000000000000fcec14b2e6a0e1faef6e4779daf2943f0cac471d
-----Decoded View---------------
Arg [0] : _ape (address): 0x6632a9d63E142F17a668064D41A21193b49B41a0
Arg [1] : _banana (address): 0xb0c81c53B267A4CD6cBaf48d746D00e369D060A5
Arg [2] : _rng (address): 0xFCEc14B2e6a0e1fAEF6e4779daF2943F0cAc471d
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000006632a9d63e142f17a668064d41a21193b49b41a0
Arg [1] : 000000000000000000000000b0c81c53b267a4cd6cbaf48d746d00e369d060a5
Arg [2] : 000000000000000000000000fcec14b2e6a0e1faef6e4779daf2943f0cac471d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $1 | 10.1243 | $10.12 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.