Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 620 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Request Mint | 13880011 | 1010 days ago | IN | 0.0471835 ETH | 0.00304501 | ||||
Request Mint | 13784581 | 1024 days ago | IN | 0.2051559 ETH | 0.00997023 | ||||
Request Mint | 13784569 | 1024 days ago | IN | 0.53272479 ETH | 0.00932956 | ||||
Request Mint | 13759534 | 1028 days ago | IN | 0.51272838 ETH | 0.01609205 | ||||
Request Mint | 13759461 | 1028 days ago | IN | 0.19594642 ETH | 0.01432338 | ||||
Request Mint | 13758386 | 1028 days ago | IN | 0.18715035 ETH | 0.0090771 | ||||
Request Mint | 13757950 | 1028 days ago | IN | 0.17874914 ETH | 0.01406174 | ||||
Request Mint | 13735748 | 1032 days ago | IN | 0.17072506 ETH | 0.01924352 | ||||
Request Mint | 13734194 | 1032 days ago | IN | 0.16306119 ETH | 0.01402703 | ||||
Request Mint | 13733452 | 1032 days ago | IN | 0.15574134 ETH | 0.01325451 | ||||
Request Mint | 13729034 | 1033 days ago | IN | 0.14875009 ETH | 0.01659987 | ||||
Request Mint | 13719616 | 1035 days ago | IN | 0.14207267 ETH | 0.01904939 | ||||
Request Mint | 13717555 | 1035 days ago | IN | 0.13569501 ETH | 0.0185616 | ||||
Request Mint | 13717549 | 1035 days ago | IN | 0.49348256 ETH | 0.02114594 | ||||
Request Mint | 13716700 | 1035 days ago | IN | 0.12960364 ETH | 0.02241182 | ||||
Request Mint | 13700755 | 1038 days ago | IN | 0.12378571 ETH | 0.01024715 | ||||
Request Mint | 13699893 | 1038 days ago | IN | 0.11822895 ETH | 0.01720791 | ||||
Request Mint | 13699353 | 1038 days ago | IN | 0.11292163 ETH | 0.02010449 | ||||
Request Mint | 13699343 | 1038 days ago | IN | 0.47495916 ETH | 0.01618974 | ||||
Request Mint | 13699342 | 1038 days ago | IN | 0.10785256 ETH | 0.01732179 | ||||
Request Mint | 13699334 | 1038 days ago | IN | 0.45713105 ETH | 0.01887244 | ||||
Request Mint | 13697919 | 1038 days ago | IN | 0.10301104 ETH | 0.01299134 | ||||
Request Mint | 13697861 | 1038 days ago | IN | 0.09838686 ETH | 0.01364647 | ||||
Request Mint | 13697846 | 1038 days ago | IN | 0.09397026 ETH | 0.01121644 | ||||
Request Mint | 13697841 | 1038 days ago | IN | 0.43997213 ETH | 0.0150558 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
13784581 | 1024 days ago | 0.01519673 ETH | ||||
13784581 | 1024 days ago | 0.18995917 ETH | ||||
13784569 | 1024 days ago | 0.03946109 ETH | ||||
13784569 | 1024 days ago | 0.4932637 ETH | ||||
13759534 | 1028 days ago | 0.03797988 ETH | ||||
13759534 | 1028 days ago | 0.4747485 ETH | ||||
13759461 | 1028 days ago | 0.01451454 ETH | ||||
13759461 | 1028 days ago | 0.18143187 ETH | ||||
13758386 | 1028 days ago | 0.01386298 ETH | ||||
13758386 | 1028 days ago | 0.17328736 ETH | ||||
13757950 | 1028 days ago | 0.01324067 ETH | ||||
13757950 | 1028 days ago | 0.16550846 ETH | ||||
13735748 | 1032 days ago | 0.0126463 ETH | ||||
13735748 | 1032 days ago | 0.15807876 ETH | ||||
13734194 | 1032 days ago | 0.0120786 ETH | ||||
13734194 | 1032 days ago | 0.15098258 ETH | ||||
13733452 | 1032 days ago | 0.01153639 ETH | ||||
13733452 | 1032 days ago | 0.14420495 ETH | ||||
13729034 | 1033 days ago | 0.01101852 ETH | ||||
13729034 | 1033 days ago | 0.13773156 ETH | ||||
13719616 | 1035 days ago | 0.0105239 ETH | ||||
13719616 | 1035 days ago | 0.13154877 ETH | ||||
13717555 | 1035 days ago | 0.01005148 ETH | ||||
13717555 | 1035 days ago | 0.12564353 ETH | ||||
13717549 | 1035 days ago | 0.03655426 ETH |
Loading...
Loading
Contract Name:
GreatestLARP
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT pragma solidity 0.8.4; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "./TokenRecover.sol"; /// @dev the BotToken interface abstract contract BotToken { function lastMintedToken() external view virtual returns (uint256); function mint(address user) external virtual returns (uint256); function transferOwnership(address newOwner) public virtual; } /// @dev the StatueToken interface abstract contract StatueToken { function lastMintedToken() external view virtual returns (uint256); function mint(address user) external virtual returns (uint256); function transferOwnership(address newOwner) public virtual; } /// @title GreatestLARP Factory Contract /// @author jaxcoder, ghostffcode /// @notice Factory LARP NFT Contract /// @dev factory contract to handle the levels, thresholds and /// minting of the NFTs. contract GreatestLARP is Ownable { using SafeMath for uint256; address payable immutable gitcoin; struct Token { address tokenAddress; uint256 thresholdBots; uint256 thresholdStatues; uint256 price; uint256 inflationRate; uint256 totalSupply; } mapping(uint256 => Token) tokenMap; mapping(uint256 => Token) statueMap; uint256 public totalTokens; uint256 public totalStatues; /// @dev checks to make sure the level passed in is valid modifier isValidLevel(uint256 level) { // level is between 1 and totalTokens Count require(level > 0, "Invalid level selected"); require(level <= totalTokens, "Invalid level selected"); require(level <= totalStatues, "Invalid level selected"); _; } constructor( BotToken[] memory tokens, StatueToken[] memory statueTokens, uint256[] memory thresholdBots, uint256[] memory thresholdStatues, uint256 startPriceBot, uint256 startPriceStatue, uint256[] memory inflationRatesStatues, uint256[] memory inflationRatesBots ) { gitcoin = payable(address(0xde21F729137C5Af1b01d73aF1dC21eFfa2B8a0d6)); require( tokens.length == thresholdBots.length, "Mismatch length of tokens and threshold" ); require( statueTokens.length == thresholdStatues.length, "Mismatch length of tokens and threshold" ); for (uint256 i = 0; i < tokens.length; i++) { // increment tokens count totalTokens += 1; // add token to tokenMap tokenMap[totalTokens] = Token({ tokenAddress: address(tokens[i]), thresholdBots: thresholdBots[i], thresholdStatues: 0, price: startPriceBot, totalSupply: 300, inflationRate: inflationRatesBots[i] }); } for (uint256 i = 0; i < statueTokens.length; i++) { // increment tokens count totalStatues += 1; // add token to tokenMap statueMap[totalStatues] = Token({ tokenAddress: address(statueTokens[i]), thresholdBots: 0, thresholdStatues: thresholdStatues[i], price: startPriceStatue, totalSupply: 5, inflationRate: inflationRatesStatues[i] }); } } /// @dev A function that can be called from Etherscan to lower /// the price of all items for that level by 10%. /// @param _level pass the level you want to lower the price for function whompwhomp(uint256 _level) public isValidLevel(_level) onlyOwner { tokenMap[_level].price = tokenMap[_level].price.sub( tokenMap[_level].price.mul(10).div(100) ); statueMap[_level].price = statueMap[_level].price.sub( statueMap[_level].price.mul(10).div(100) ); } /// @dev Returns the latest price for selected level /// @param _level level number /// @return latest price for selected level function lastestPriceForTokenLevel(uint256 _level) public view isValidLevel(_level) returns (uint256) { return tokenMap[_level].price; } /// @dev Returns the latest price for selected level /// @param _level level number /// @return latest price for selected level function lastestPriceForStatueLevel(uint256 _level) public view isValidLevel(_level) returns (uint256) { return statueMap[_level].price; } /// @dev returns a details array of uints for the Bot levels function getDetailForTokenLevels() public view returns (uint256[5][] memory) { uint256[5][] memory levels = new uint256[5][](totalTokens); for (uint256 i = 1; i <= totalTokens; i++) { uint256[5] memory levelInfo; levelInfo[0] = tokenMap[i].price; levelInfo[1] = tokenMap[i].thresholdBots; levelInfo[2] = tokenMap[i].totalSupply; levelInfo[3] = BotToken(tokenMap[i].tokenAddress).lastMintedToken(); levelInfo[4] = tokenMap[i].totalSupply - levelInfo[3]; // push levelInfo into levels levels[i - 1] = levelInfo; } return levels; } /// @dev returns a details array of uints for the Statue levels function getDetailForStatueLevels() public view returns (uint256[5][] memory) { uint256[5][] memory levels = new uint256[5][](totalTokens); for (uint256 i = 1; i <= totalStatues; i++) { uint256[5] memory levelInfo; levelInfo[0] = statueMap[i].price; levelInfo[1] = statueMap[i].thresholdStatues; levelInfo[2] = statueMap[i].totalSupply; levelInfo[3] = StatueToken(statueMap[i].tokenAddress) .lastMintedToken(); levelInfo[4] = statueMap[i].totalSupply - levelInfo[3]; // push levelInfo into levels levels[i - 1] = levelInfo; } return levels; } /// @dev request to mint a Bot NFT /// @param level pass the level to route the mint /// @return the id of the NFT function requestMint(uint256 level) public payable isValidLevel(level) returns (uint256) { BotToken levelToken = BotToken(tokenMap[level].tokenAddress); // check if threshold for previous token has been reached if (level > 1) { uint256 previousLevel = level - 1; require( BotToken(tokenMap[previousLevel].tokenAddress) .lastMintedToken() >= tokenMap[previousLevel].thresholdBots, "You can't continue until the previous level threshold is reached" ); } // compare value and price require(msg.value >= tokenMap[level].price, "NOT ENOUGH"); // store the old price uint256 currentPrice = tokenMap[level].price; // update the price of the token tokenMap[level].price = (currentPrice * tokenMap[level].inflationRate) .div(1000); // make sure there are available tokens for this level require( levelToken.lastMintedToken() <= tokenMap[level].totalSupply, "Minting completed for this level" ); // mint token uint256 id = levelToken.mint(msg.sender); // send ETH to gitcoin multisig (bool success, ) = gitcoin.call{value: currentPrice}(""); require(success, "could not send"); // send the refund uint256 refund = msg.value.sub(currentPrice); if (refund > 0) { (bool refundSent, ) = msg.sender.call{value: refund}(""); require(refundSent, "Refund could not be sent"); } return id; } /// @dev request to mint a statue NFT /// @param level pass the level to route the mint /// @return the id of the NFT function requestMintStatue(uint256 level) public payable isValidLevel(level) returns (uint256) { StatueToken levelToken = StatueToken(statueMap[level].tokenAddress); // check if threshold for previous token has been reached if (level > 1) { uint256 previousLevel = level - 1; require( StatueToken(statueMap[previousLevel].tokenAddress) .lastMintedToken() >= statueMap[previousLevel].thresholdStatues, "You can't continue until the previous level threshold is reached" ); } // compare value and price require(msg.value >= statueMap[level].price, "NOT ENOUGH"); // store the old price uint256 currentPrice = statueMap[level].price; // update the price of the token statueMap[level].price = (currentPrice * 1350).div(1000); // make sure there are available tokens for this level require( levelToken.lastMintedToken() <= statueMap[level].totalSupply, "Minting completed for this level" ); // mint token uint256 id = levelToken.mint(msg.sender); // send ETH to gitcoin multisig (bool success, ) = gitcoin.call{value: currentPrice}(""); require(success, "could not send"); // send the refund uint256 refund = msg.value.sub(currentPrice); if (refund > 0) { (bool refundSent, ) = msg.sender.call{value: refund}(""); require(refundSent, "Refund could not be sent"); } return id; } /// @dev transfer ownership of ERC-721 token contracts /// @param to address of the new owner function transferTokenOwnership(address to) public onlyOwner { require( to != 0x0000000000000000000000000000000000000000, "cannot make balck hole owner" ); for (uint256 i = 1; i <= totalTokens; i++) { BotToken(tokenMap[i].tokenAddress).transferOwnership(to); } } /// @dev transfer ownership of ERC-721 token contracts /// @param to address of the new owner function transferStatueOwnership(address to) public onlyOwner { require( to != 0x0000000000000000000000000000000000000000, "cannot make balck hole owner" ); for (uint256 i = 1; i <= totalStatues; i++) { StatueToken(statueMap[i].tokenAddress).transferOwnership(to); } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
// SPDX-License-Identifier: MIT 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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.4; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; /** * @title TokenRecover * @dev Allow to recover any ERC20 sent into the contract for error */ contract TokenRecover is Ownable { /** * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts. * @param tokenAddress The token contract address * @param tokenAmount Number of tokens to be sent */ function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner { IERC20(tokenAddress).transfer(owner(), tokenAmount); } }
// SPDX-License-Identifier: MIT 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; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
{ "optimizer": { "enabled": true, "runs": 200 }, "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":"contract BotToken[]","name":"tokens","type":"address[]"},{"internalType":"contract StatueToken[]","name":"statueTokens","type":"address[]"},{"internalType":"uint256[]","name":"thresholdBots","type":"uint256[]"},{"internalType":"uint256[]","name":"thresholdStatues","type":"uint256[]"},{"internalType":"uint256","name":"startPriceBot","type":"uint256"},{"internalType":"uint256","name":"startPriceStatue","type":"uint256"},{"internalType":"uint256[]","name":"inflationRatesStatues","type":"uint256[]"},{"internalType":"uint256[]","name":"inflationRatesBots","type":"uint256[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"getDetailForStatueLevels","outputs":[{"internalType":"uint256[5][]","name":"","type":"uint256[5][]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDetailForTokenLevels","outputs":[{"internalType":"uint256[5][]","name":"","type":"uint256[5][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"lastestPriceForStatueLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"lastestPriceForTokenLevel","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"requestMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"requestMintStatue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalStatues","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokens","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":"transferStatueOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferTokenOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"whompwhomp","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b5060405162001b5638038062001b568339810160408190526200003491620004fd565b6200003f33620003bd565b7fde21f729137c5af1b01d73af1dc21effa2b8a0d60000000000000000000000006080528551885114620000b95760405162461bcd60e51b8152602060048201526027602482015260008051602062001b368339815191526044820152661c995cda1bdb1960ca1b60648201526084015b60405180910390fd5b84518751146200010b5760405162461bcd60e51b8152602060048201526027602482015260008051602062001b368339815191526044820152661c995cda1bdb1960ca1b6064820152608401620000b0565b60005b88518110156200025e576001600360008282546200012d91906200066b565b925050819055506040518060c001604052808a83815181106200016057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031681526020018883815181106200019757634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200160008152602001868152602001838381518110620001d257634e487b7160e01b600052603260045260246000fd5b602090810291909101810151825261012c918101919091526003805460009081526001808452604091829020855181546001600160a01b0319166001600160a01b03909116178155938501519084015583015160028301556060830151908201556080820151600482015560a09091015160059091015580620002558162000686565b9150506200010e565b5060005b8751811015620003ae576001600460008282546200028191906200066b565b925050819055506040518060c00160405280898381518110620002b457634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316815260200160008152602001878381518110620002f257634e487b7160e01b600052603260045260246000fd5b602002602001015181526020018581526020018483815181106200032657634e487b7160e01b600052603260045260246000fd5b602090810291909101810151825260059181018290526004805460009081526002808452604091829020865181546001600160a01b0319166001600160a01b0390911617815593860151600185015590850151908301556060840151600383015560808401519082015560a09092015191015580620003a58162000686565b91505062000262565b505050505050505050620006d0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082601f8301126200041e578081fd5b8151602062000437620004318362000645565b62000612565b80838252828201915082860187848660051b890101111562000457578586fd5b855b858110156200048c5781516001600160a01b038116811462000479578788fd5b8452928401929084019060010162000459565b5090979650505050505050565b600082601f830112620004aa578081fd5b81516020620004bd620004318362000645565b80838252828201915082860187848660051b8901011115620004dd578586fd5b855b858110156200048c57815184529284019290840190600101620004df565b600080600080600080600080610100898b0312156200051a578384fd5b88516001600160401b038082111562000531578586fd5b6200053f8c838d016200040d565b995060208b015191508082111562000555578586fd5b620005638c838d016200040d565b985060408b015191508082111562000579578586fd5b620005878c838d0162000499565b975060608b01519150808211156200059d578586fd5b620005ab8c838d0162000499565b965060808b0151955060a08b0151945060c08b0151915080821115620005cf578384fd5b620005dd8c838d0162000499565b935060e08b0151915080821115620005f3578283fd5b50620006028b828c0162000499565b9150509295985092959890939650565b604051601f8201601f191681016001600160401b03811182821017156200063d576200063d620006ba565b604052919050565b60006001600160401b03821115620006615762000661620006ba565b5060051b60200190565b60008219821115620006815762000681620006a4565b500190565b60006000198214156200069d576200069d620006a4565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60805160601c611447620006ef60003960006105a701526114476000f3fe6080604052600436106100dd5760003560e01c8063715018a61161007f578063a805f5e211610059578063a805f5e214610212578063b7d6d22814610228578063cf2ebe561461023d578063f2fde38b1461025d57600080fd5b8063715018a6146101bf5780637e1c0c09146101d45780638da5cb5b146101ea57600080fd5b806349733d04116100bb57806349733d041461014c578063558f89be1461015f57806362d833ab1461017f578063704583c31461019f57600080fd5b806311763ef5146100e257806321e6b53d146101085780632ffff1871461012a575b600080fd5b6100f56100f036600461123b565b61027d565b6040519081526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611214565b610711565b005b34801561013657600080fd5b5061013f610820565b6040516100ff919061126b565b6100f561015a36600461123b565b6109ba565b34801561016b57600080fd5b5061012861017a36600461123b565b610bd6565b34801561018b57600080fd5b506100f561019a36600461123b565b610d0f565b3480156101ab57600080fd5b506101286101ba366004611214565b610d8d565b3480156101cb57600080fd5b50610128610e98565b3480156101e057600080fd5b506100f560035481565b3480156101f657600080fd5b506000546040516001600160a01b0390911681526020016100ff565b34801561021e57600080fd5b506100f560045481565b34801561023457600080fd5b5061013f610ece565b34801561024957600080fd5b506100f561025836600461123b565b611062565b34801561026957600080fd5b50610128610278366004611214565b6110e0565b600081600081116102a95760405162461bcd60e51b81526004016102a0906112fc565b60405180910390fd5b6003548111156102cb5760405162461bcd60e51b81526004016102a0906112fc565b6004548111156102ed5760405162461bcd60e51b81526004016102a0906112fc565b6000838152600260205260409020546001600160a01b031660018411156103cb57600061031b6001866113c9565b60008181526002602081815260409283902091820154915483516376296a1960e11b8152935194955091936001600160a01b039092169263ec52d4329260048083019392829003018186803b15801561037357600080fd5b505afa158015610387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ab9190611253565b10156103c95760405162461bcd60e51b81526004016102a09061132c565b505b6000848152600260205260409020600301543410156104195760405162461bcd60e51b815260206004820152600a60248201526909c9ea8408a9c9eaa8e960b31b60448201526064016102a0565b6000848152600260205260409020600301546104436103e861043d836105466113aa565b9061117b565b600086815260026020908152604091829020600381019390935560059092015481516376296a1960e11b8152915190926001600160a01b0386169263ec52d4329260048083019392829003018186803b15801561049f57600080fd5b505afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d79190611253565b11156105255760405162461bcd60e51b815260206004820181905260248201527f4d696e74696e6720636f6d706c6574656420666f722074686973206c6576656c60448201526064016102a0565b6040516335313c2160e11b81523360048201526000906001600160a01b03841690636a62784290602401602060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190611253565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168360405160006040518083038185875af1925050503d8060008114610610576040519150601f19603f3d011682016040523d82523d6000602084013e610615565b606091505b50509050806106575760405162461bcd60e51b815260206004820152600e60248201526d18dbdd5b19081b9bdd081cd95b9960921b60448201526064016102a0565b6000610663348561118e565b9050801561070557604051600090339083908381818185875af1925050503d80600081146106ad576040519150601f19603f3d011682016040523d82523d6000602084013e6106b2565b606091505b50509050806107035760405162461bcd60e51b815260206004820152601860248201527f526566756e6420636f756c64206e6f742062652073656e74000000000000000060448201526064016102a0565b505b50909695505050505050565b6000546001600160a01b0316331461073b5760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b0381166107915760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f74206d616b652062616c636b20686f6c65206f776e65720000000060448201526064016102a0565b60015b600354811161081c576000818152600160205260409081902054905163f2fde38b60e01b81526001600160a01b0384811660048301529091169063f2fde38b90602401600060405180830381600087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050508080610814906113e0565b915050610794565b5050565b6060600060035467ffffffffffffffff81111561084d57634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561088657816020015b6108736111f6565b81526020019060019003908161086b5790505b50905060015b60045481116109b45761089d6111f6565b600082815260026020818152604080842060038101548652808401548684015260058101548683015293869052918152915481516376296a1960e11b815291516001600160a01b039091169263ec52d4329260048082019391829003018186803b15801561090a57600080fd5b505afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190611253565b6060820181905260008381526002602052604090206005015461096591906113c9565b608082015280836109776001856113c9565b8151811061099557634e487b7160e01b600052603260045260246000fd5b60200260200101819052505080806109ac906113e0565b91505061088c565b50919050565b600081600081116109dd5760405162461bcd60e51b81526004016102a0906112fc565b6003548111156109ff5760405162461bcd60e51b81526004016102a0906112fc565b600454811115610a215760405162461bcd60e51b81526004016102a0906112fc565b6000838152600160208190526040909120546001600160a01b031690841115610b01576000610a516001866113c9565b60008181526001602081815260409283902091820154915483516376296a1960e11b8152935194955091936001600160a01b039092169263ec52d4329260048083019392829003018186803b158015610aa957600080fd5b505afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190611253565b1015610aff5760405162461bcd60e51b81526004016102a09061132c565b505b600084815260016020526040902060030154341015610b4f5760405162461bcd60e51b815260206004820152600a60248201526909c9ea8408a9c9eaa8e960b31b60448201526064016102a0565b60008481526001602052604090206003810154600490910154610b7a906103e89061043d90846113aa565b600086815260016020908152604091829020600381019390935560059092015481516376296a1960e11b8152915190926001600160a01b0386169263ec52d4329260048083019392829003018186803b15801561049f57600080fd5b8060008111610bf75760405162461bcd60e51b81526004016102a0906112fc565b600354811115610c195760405162461bcd60e51b81526004016102a0906112fc565b600454811115610c3b5760405162461bcd60e51b81526004016102a0906112fc565b6000546001600160a01b03163314610c655760405162461bcd60e51b81526004016102a0906112c7565b600082815260016020526040902060030154610ca590610c8d9060649061043d90600a61119a565b6000848152600160205260409020600301549061118e565b6000838152600160209081526040808320600390810194909455600290915290200154610cf690610cde9060649061043d90600a61119a565b6000848152600260205260409020600301549061118e565b6000928352600260205260409092206003019190915550565b60008160008111610d325760405162461bcd60e51b81526004016102a0906112fc565b600354811115610d545760405162461bcd60e51b81526004016102a0906112fc565b600454811115610d765760405162461bcd60e51b81526004016102a0906112fc565b505060009081526002602052604090206003015490565b6000546001600160a01b03163314610db75760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b038116610e0d5760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f74206d616b652062616c636b20686f6c65206f776e65720000000060448201526064016102a0565b60015b600454811161081c576000818152600260205260409081902054905163f2fde38b60e01b81526001600160a01b0384811660048301529091169063f2fde38b90602401600060405180830381600087803b158015610e6d57600080fd5b505af1158015610e81573d6000803e3d6000fd5b505050508080610e90906113e0565b915050610e10565b6000546001600160a01b03163314610ec25760405162461bcd60e51b81526004016102a0906112c7565b610ecc60006111a6565b565b6060600060035467ffffffffffffffff811115610efb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610f3457816020015b610f216111f6565b815260200190600190039081610f195790505b50905060015b60035481116109b457610f4b6111f6565b600082815260016020818152604080842060038101548652808401548684015260058101548683015293869052918152915481516376296a1960e11b815291516001600160a01b039091169263ec52d4329260048082019391829003018186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff09190611253565b6060820181905260008381526001602052604090206005015461101391906113c9565b608082015280836110256001856113c9565b8151811061104357634e487b7160e01b600052603260045260246000fd5b602002602001018190525050808061105a906113e0565b915050610f3a565b600081600081116110855760405162461bcd60e51b81526004016102a0906112fc565b6003548111156110a75760405162461bcd60e51b81526004016102a0906112fc565b6004548111156110c95760405162461bcd60e51b81526004016102a0906112fc565b505060009081526001602052604090206003015490565b6000546001600160a01b0316331461110a5760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b03811661116f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a0565b611178816111a6565b50565b6000611187828461138a565b9392505050565b600061118782846113c9565b600061118782846113aa565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040518060a001604052806005906020820280368337509192915050565b600060208284031215611225578081fd5b81356001600160a01b0381168114611187578182fd5b60006020828403121561124c578081fd5b5035919050565b600060208284031215611264578081fd5b5051919050565b6020808252825182820181905260009190848201906040850190845b8181101561070557835183875b60058110156112b157825182529187019190870190600101611294565b5050509284019260a09290920191600101611287565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260169082015275125b9d985b1a59081b195d995b081cd95b1958dd195960521b604082015260600190565b602080825260409082018190527f596f752063616e277420636f6e74696e756520756e74696c2074686520707265908201527f76696f7573206c6576656c207468726573686f6c642069732072656163686564606082015260800190565b6000826113a557634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156113c4576113c46113fb565b500290565b6000828210156113db576113db6113fb565b500390565b60006000198214156113f4576113f46113fb565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212202ab2b31851d795f915b9d865996b7f013f9f2ce8a0158b859eca7e56cd2b939364736f6c634300080400334d69736d61746368206c656e677468206f6620746f6b656e7320616e642074680000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000bb9551fc2400000000000000000000000000000000000000000000000000029a2241af62c0000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000082c7c02a52b75387db14fa375938496cbb98438800000000000000000000000042dcba5da33cddb8202cc182a443a3e7b299dadb0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f80e61279bdc3d02bb9b1887a026f500b203893d000000000000000000000000abc230e044f828e142d116d46762e95a92e4bce2000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000054600000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000417
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c8063715018a61161007f578063a805f5e211610059578063a805f5e214610212578063b7d6d22814610228578063cf2ebe561461023d578063f2fde38b1461025d57600080fd5b8063715018a6146101bf5780637e1c0c09146101d45780638da5cb5b146101ea57600080fd5b806349733d04116100bb57806349733d041461014c578063558f89be1461015f57806362d833ab1461017f578063704583c31461019f57600080fd5b806311763ef5146100e257806321e6b53d146101085780632ffff1871461012a575b600080fd5b6100f56100f036600461123b565b61027d565b6040519081526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611214565b610711565b005b34801561013657600080fd5b5061013f610820565b6040516100ff919061126b565b6100f561015a36600461123b565b6109ba565b34801561016b57600080fd5b5061012861017a36600461123b565b610bd6565b34801561018b57600080fd5b506100f561019a36600461123b565b610d0f565b3480156101ab57600080fd5b506101286101ba366004611214565b610d8d565b3480156101cb57600080fd5b50610128610e98565b3480156101e057600080fd5b506100f560035481565b3480156101f657600080fd5b506000546040516001600160a01b0390911681526020016100ff565b34801561021e57600080fd5b506100f560045481565b34801561023457600080fd5b5061013f610ece565b34801561024957600080fd5b506100f561025836600461123b565b611062565b34801561026957600080fd5b50610128610278366004611214565b6110e0565b600081600081116102a95760405162461bcd60e51b81526004016102a0906112fc565b60405180910390fd5b6003548111156102cb5760405162461bcd60e51b81526004016102a0906112fc565b6004548111156102ed5760405162461bcd60e51b81526004016102a0906112fc565b6000838152600260205260409020546001600160a01b031660018411156103cb57600061031b6001866113c9565b60008181526002602081815260409283902091820154915483516376296a1960e11b8152935194955091936001600160a01b039092169263ec52d4329260048083019392829003018186803b15801561037357600080fd5b505afa158015610387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ab9190611253565b10156103c95760405162461bcd60e51b81526004016102a09061132c565b505b6000848152600260205260409020600301543410156104195760405162461bcd60e51b815260206004820152600a60248201526909c9ea8408a9c9eaa8e960b31b60448201526064016102a0565b6000848152600260205260409020600301546104436103e861043d836105466113aa565b9061117b565b600086815260026020908152604091829020600381019390935560059092015481516376296a1960e11b8152915190926001600160a01b0386169263ec52d4329260048083019392829003018186803b15801561049f57600080fd5b505afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d79190611253565b11156105255760405162461bcd60e51b815260206004820181905260248201527f4d696e74696e6720636f6d706c6574656420666f722074686973206c6576656c60448201526064016102a0565b6040516335313c2160e11b81523360048201526000906001600160a01b03841690636a62784290602401602060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190611253565b905060007f000000000000000000000000de21f729137c5af1b01d73af1dc21effa2b8a0d66001600160a01b03168360405160006040518083038185875af1925050503d8060008114610610576040519150601f19603f3d011682016040523d82523d6000602084013e610615565b606091505b50509050806106575760405162461bcd60e51b815260206004820152600e60248201526d18dbdd5b19081b9bdd081cd95b9960921b60448201526064016102a0565b6000610663348561118e565b9050801561070557604051600090339083908381818185875af1925050503d80600081146106ad576040519150601f19603f3d011682016040523d82523d6000602084013e6106b2565b606091505b50509050806107035760405162461bcd60e51b815260206004820152601860248201527f526566756e6420636f756c64206e6f742062652073656e74000000000000000060448201526064016102a0565b505b50909695505050505050565b6000546001600160a01b0316331461073b5760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b0381166107915760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f74206d616b652062616c636b20686f6c65206f776e65720000000060448201526064016102a0565b60015b600354811161081c576000818152600160205260409081902054905163f2fde38b60e01b81526001600160a01b0384811660048301529091169063f2fde38b90602401600060405180830381600087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050508080610814906113e0565b915050610794565b5050565b6060600060035467ffffffffffffffff81111561084d57634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561088657816020015b6108736111f6565b81526020019060019003908161086b5790505b50905060015b60045481116109b45761089d6111f6565b600082815260026020818152604080842060038101548652808401548684015260058101548683015293869052918152915481516376296a1960e11b815291516001600160a01b039091169263ec52d4329260048082019391829003018186803b15801561090a57600080fd5b505afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190611253565b6060820181905260008381526002602052604090206005015461096591906113c9565b608082015280836109776001856113c9565b8151811061099557634e487b7160e01b600052603260045260246000fd5b60200260200101819052505080806109ac906113e0565b91505061088c565b50919050565b600081600081116109dd5760405162461bcd60e51b81526004016102a0906112fc565b6003548111156109ff5760405162461bcd60e51b81526004016102a0906112fc565b600454811115610a215760405162461bcd60e51b81526004016102a0906112fc565b6000838152600160208190526040909120546001600160a01b031690841115610b01576000610a516001866113c9565b60008181526001602081815260409283902091820154915483516376296a1960e11b8152935194955091936001600160a01b039092169263ec52d4329260048083019392829003018186803b158015610aa957600080fd5b505afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190611253565b1015610aff5760405162461bcd60e51b81526004016102a09061132c565b505b600084815260016020526040902060030154341015610b4f5760405162461bcd60e51b815260206004820152600a60248201526909c9ea8408a9c9eaa8e960b31b60448201526064016102a0565b60008481526001602052604090206003810154600490910154610b7a906103e89061043d90846113aa565b600086815260016020908152604091829020600381019390935560059092015481516376296a1960e11b8152915190926001600160a01b0386169263ec52d4329260048083019392829003018186803b15801561049f57600080fd5b8060008111610bf75760405162461bcd60e51b81526004016102a0906112fc565b600354811115610c195760405162461bcd60e51b81526004016102a0906112fc565b600454811115610c3b5760405162461bcd60e51b81526004016102a0906112fc565b6000546001600160a01b03163314610c655760405162461bcd60e51b81526004016102a0906112c7565b600082815260016020526040902060030154610ca590610c8d9060649061043d90600a61119a565b6000848152600160205260409020600301549061118e565b6000838152600160209081526040808320600390810194909455600290915290200154610cf690610cde9060649061043d90600a61119a565b6000848152600260205260409020600301549061118e565b6000928352600260205260409092206003019190915550565b60008160008111610d325760405162461bcd60e51b81526004016102a0906112fc565b600354811115610d545760405162461bcd60e51b81526004016102a0906112fc565b600454811115610d765760405162461bcd60e51b81526004016102a0906112fc565b505060009081526002602052604090206003015490565b6000546001600160a01b03163314610db75760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b038116610e0d5760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f74206d616b652062616c636b20686f6c65206f776e65720000000060448201526064016102a0565b60015b600454811161081c576000818152600260205260409081902054905163f2fde38b60e01b81526001600160a01b0384811660048301529091169063f2fde38b90602401600060405180830381600087803b158015610e6d57600080fd5b505af1158015610e81573d6000803e3d6000fd5b505050508080610e90906113e0565b915050610e10565b6000546001600160a01b03163314610ec25760405162461bcd60e51b81526004016102a0906112c7565b610ecc60006111a6565b565b6060600060035467ffffffffffffffff811115610efb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610f3457816020015b610f216111f6565b815260200190600190039081610f195790505b50905060015b60035481116109b457610f4b6111f6565b600082815260016020818152604080842060038101548652808401548684015260058101548683015293869052918152915481516376296a1960e11b815291516001600160a01b039091169263ec52d4329260048082019391829003018186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff09190611253565b6060820181905260008381526001602052604090206005015461101391906113c9565b608082015280836110256001856113c9565b8151811061104357634e487b7160e01b600052603260045260246000fd5b602002602001018190525050808061105a906113e0565b915050610f3a565b600081600081116110855760405162461bcd60e51b81526004016102a0906112fc565b6003548111156110a75760405162461bcd60e51b81526004016102a0906112fc565b6004548111156110c95760405162461bcd60e51b81526004016102a0906112fc565b505060009081526001602052604090206003015490565b6000546001600160a01b0316331461110a5760405162461bcd60e51b81526004016102a0906112c7565b6001600160a01b03811661116f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a0565b611178816111a6565b50565b6000611187828461138a565b9392505050565b600061118782846113c9565b600061118782846113aa565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040518060a001604052806005906020820280368337509192915050565b600060208284031215611225578081fd5b81356001600160a01b0381168114611187578182fd5b60006020828403121561124c578081fd5b5035919050565b600060208284031215611264578081fd5b5051919050565b6020808252825182820181905260009190848201906040850190845b8181101561070557835183875b60058110156112b157825182529187019190870190600101611294565b5050509284019260a09290920191600101611287565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260169082015275125b9d985b1a59081b195d995b081cd95b1958dd195960521b604082015260600190565b602080825260409082018190527f596f752063616e277420636f6e74696e756520756e74696c2074686520707265908201527f76696f7573206c6576656c207468726573686f6c642069732072656163686564606082015260800190565b6000826113a557634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156113c4576113c46113fb565b500290565b6000828210156113db576113db6113fb565b500390565b60006000198214156113f4576113f46113fb565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212202ab2b31851d795f915b9d865996b7f013f9f2ce8a0158b859eca7e56cd2b939364736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000bb9551fc2400000000000000000000000000000000000000000000000000029a2241af62c0000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000082c7c02a52b75387db14fa375938496cbb98438800000000000000000000000042dcba5da33cddb8202cc182a443a3e7b299dadb0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f80e61279bdc3d02bb9b1887a026f500b203893d000000000000000000000000abc230e044f828e142d116d46762e95a92e4bce2000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000054600000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000417
-----Decoded View---------------
Arg [0] : tokens (address[]): 0x82C7c02a52B75387DB14FA375938496cbb984388,0x42dCbA5dA33CDDB8202CC182A443a3e7b299dADb
Arg [1] : statueTokens (address[]): 0xf80e61279bdc3d02BB9b1887A026F500B203893d,0xaBC230E044F828e142d116D46762e95a92e4BcE2
Arg [2] : thresholdBots (uint256[]): 200,200
Arg [3] : thresholdStatues (uint256[]): 3,3
Arg [4] : startPriceBot (uint256): 3300000000000000
Arg [5] : startPriceStatue (uint256): 3000000000000000000
Arg [6] : inflationRatesStatues (uint256[]): 1350,1350
Arg [7] : inflationRatesBots (uint256[]): 1039,1047
-----Encoded View---------------
26 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 00000000000000000000000000000000000000000000000000000000000001c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000220
Arg [4] : 000000000000000000000000000000000000000000000000000bb9551fc24000
Arg [5] : 00000000000000000000000000000000000000000000000029a2241af62c0000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000280
Arg [7] : 00000000000000000000000000000000000000000000000000000000000002e0
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [9] : 00000000000000000000000082c7c02a52b75387db14fa375938496cbb984388
Arg [10] : 00000000000000000000000042dcba5da33cddb8202cc182a443a3e7b299dadb
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [12] : 000000000000000000000000f80e61279bdc3d02bb9b1887a026f500b203893d
Arg [13] : 000000000000000000000000abc230e044f828e142d116d46762e95a92e4bce2
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [15] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [16] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000546
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000546
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [24] : 000000000000000000000000000000000000000000000000000000000000040f
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000417
Loading...
Loading
Loading...
Loading
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.