More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 8,443 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 13820459 | 126 days ago | IN | 0 frxETH | 0 | ||||
Claim | 2835281 | 380 days ago | IN | 0 frxETH | 0 | ||||
Claim | 2257305 | 394 days ago | IN | 0 frxETH | 0 | ||||
Claim | 2257168 | 394 days ago | IN | 0 frxETH | 0 | ||||
Mint | 1945494 | 401 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1918998 | 402 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1850694 | 403 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1832256 | 404 days ago | IN | 0 frxETH | 0.00000009 | ||||
Claim | 1832241 | 404 days ago | IN | 0 frxETH | 0.00000009 | ||||
Claim | 1813955 | 404 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1796632 | 404 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1790033 | 405 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1779675 | 405 days ago | IN | 0 frxETH | 0 | ||||
Claim | 1769756 | 405 days ago | IN | 0 frxETH | 0.00000009 | ||||
Claim | 1753880 | 405 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1750925 | 406 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1699658 | 407 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1686350 | 407 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1679907 | 407 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1678711 | 407 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1673443 | 407 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1665113 | 408 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1665101 | 408 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1663760 | 408 days ago | IN | 0 frxETH | 0.00014232 | ||||
Claim | 1662633 | 408 days ago | IN | 0 frxETH | 0.00014232 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
MintWar
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 999 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.4; import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; import "@openzeppelin/contracts/interfaces/IERC20.sol"; import "../interfaces/IUniswapV2Router02.sol"; import "../libraries/TransferHelper.sol"; contract MintWar is ReentrancyGuard{ address public constant delegationRegistry = 0x4392dC16867D53DBFE227076606455634d4c2795; uint256 public constant PRECISION = 100000; address public feeTo; address public token; IUniswapV2Router02 public router; uint256 public minFee; mapping(address => uint256) public accountTotalMint; mapping(address => uint256) public accountSuccessMint; mapping(address => uint256) public accountFailMint; mapping(address => uint256) public pointsOf; mapping(address => bool) public isClaimed; uint256 public totalPoints; uint256 public totalSuccessValue; uint256 public totalFailValue; uint256 public totalMintValue; uint256 public totalMintTimes; uint256 public totalSuccessMints; uint256 public totalFailMints; uint256 public maxPointsPerMint; bool public mintEnd; uint256 public mintStartAt; uint256 public mintEndAt; event Mint(address account,bool success,uint256 value,uint256 rate,uint256 points); event EndWar(); event Claim(address account, uint256 value); constructor(address _router, address _token,uint256 _mintStartAt, uint256 _mintEndAt) { router = IUniswapV2Router02(_router); feeTo = msg.sender; token = _token; minFee = 0.0001e18; maxPointsPerMint = 100e18; require(_mintStartAt>block.timestamp && _mintEndAt>_mintStartAt, "Mint time error"); mintStartAt = _mintStartAt; mintEndAt = _mintEndAt; delegationRegistry.call(abi.encodeWithSignature("setDelegationForSelf(address)", msg.sender)); delegationRegistry.call(abi.encodeWithSignature("disableSelfManagingDelegations()")); } function mint(uint256 rate) external payable nonReentrant{ require(block.timestamp >= mintStartAt, "Mint not started"); require(block.timestamp<mintEndAt && !mintEnd, "Mint ended"); require(msg.sender == tx.origin , "Must from EOA"); require(rate>0 && rate<=PRECISION, "Invalid rate"); require(msg.value>=minFee, "insufficient fee"); uint256 points = msg.value*PRECISION/rate; require(points<=maxPointsPerMint, "max points exceeded"); accountTotalMint[msg.sender] += msg.value; totalMintValue += msg.value; totalMintTimes += 1; if (_random() < rate) { totalSuccessMints += 1; totalSuccessValue += msg.value; accountSuccessMint[msg.sender] += msg.value; totalPoints += points; pointsOf[msg.sender] += points; emit Mint(msg.sender, true, msg.value, rate, points); } else { totalFailMints += 1; totalFailValue += msg.value; accountFailMint[msg.sender] += msg.value; emit Mint(msg.sender, false, msg.value, rate, 0); } } function endWar() external { require(!mintEnd, "Claim started"); _endWar(); } function _endWar() private { require(mintEndAt<block.timestamp, "Mint War not ended"); if(mintEnd){ return; } mintEnd = true; uint256 fee = totalMintValue * 10/100; //10% fee uint256 afterFee = address(this).balance - fee; TransferHelper.safeTransferETH(feeTo, fee); uint256 totalToken = IERC20(token).balanceOf(address(this)); require(totalToken == IERC20(token).totalSupply(), "Insufficient token amount"); uint256 liquidityAmount = totalToken/2; IERC20(token).approve(address(router), liquidityAmount); router.addLiquidityETH{value:afterFee}( address(token), liquidityAmount, 0, 0, address(this), block.timestamp ); emit EndWar(); } function claim() external nonReentrant{ require(mintEndAt<block.timestamp, "Mint War not ended"); require(!isClaimed[msg.sender], "Account claimed"); _endWar(); uint256 claimAmount = getAccountClaimableAmount(msg.sender); require(claimAmount>0, "Insufficient claimable amount"); TransferHelper.safeTransfer(token, msg.sender, claimAmount); isClaimed[msg.sender] = true; emit Claim(msg.sender, claimAmount); } function getAccountClaimableAmount(address account) public view returns(uint256){ if(totalPoints == 0){ return 0; } uint256 tokenMintTotal = IERC20(token).totalSupply()/2; return tokenMintTotal * pointsOf[account]/totalPoints; } function _random() private view returns(uint256){ uint256 random = uint256(keccak256(abi.encodePacked(msg.sender,blockhash(block.number-1),block.timestamp,totalMintTimes,totalMintValue))); return random % PRECISION; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20.sol) pragma solidity ^0.8.20; import {IERC20} from "../token/ERC20/IERC20.sol";
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) 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 a `value` amount of tokens 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 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.21; // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library TransferHelper { function safeApprove( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeApprove: approve failed' ); } function safeTransfer( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeTransfer: transfer failed' ); } function safeTransferFrom( address token, address from, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::transferFrom: transferFrom failed' ); } function safeTransferETH(address to, uint256 value) internal { (bool success, ) = to.call{value: value}(new bytes(0)); require(success, 'TransferHelper::safeTransferETH: ETH transfer failed'); } }
{ "optimizer": { "enabled": true, "runs": 999 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_mintStartAt","type":"uint256"},{"internalType":"uint256","name":"_mintEndAt","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[],"name":"EndWar","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"points","type":"uint256"}],"name":"Mint","type":"event"},{"inputs":[],"name":"PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountFailMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountSuccessMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountTotalMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delegationRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endWar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountClaimableAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPointsPerMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintEnd","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintEndAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintStartAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pointsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFailMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFailValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMintTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMintValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSuccessMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSuccessValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620016ca380380620016ca83398101604081905262000034916200023e565b60016000819055600380546001600160a01b038088166001600160a01b0319928316179092558254811633179092556002805491861691909216179055655af3107a400060045568056bc75e2d6310000060115542821180156200009757508181115b620000da5760405162461bcd60e51b815260206004820152600f60248201526e26b4b73a103a34b6b29032b93937b960891b604482015260640160405180910390fd5b60138290556014819055604051336024820152734392dc16867d53dbfe227076606455634d4c27959060440160408051601f198184030181529181526020820180516001600160e01b03166302b8a21d60e01b179052516200013d919062000286565b6000604051808303816000865af19150503d80600081146200017c576040519150601f19603f3d011682016040523d82523d6000602084013e62000181565b606091505b505060408051600481526024810182526020810180516001600160e01b03166325ce9a3760e01b1790529051734392dc16867d53dbfe227076606455634d4c27959250620001d0919062000286565b6000604051808303816000865af19150503d80600081146200020f576040519150601f19603f3d011682016040523d82523d6000602084013e62000214565b606091505b50505050505050620002b7565b80516001600160a01b03811681146200023957600080fd5b919050565b600080600080608085870312156200025557600080fd5b620002608562000221565b9350620002706020860162000221565b6040860151606090960151949790965092505050565b6000825160005b81811015620002a957602081860181015185830152016200028d565b506000920191825250919050565b61140380620002c76000396000f3fe6080604052600436106101a15760003560e01c8063a32b5e48116100e1578063ba3fcd9d1161008a578063ea2b4ab211610064578063ea2b4ab214610460578063f67d69911461047a578063f887ea401461048f578063fc0c546a146104af57600080fd5b8063ba3fcd9d146103f0578063ca68a9d61461041d578063cf6a44031461043357600080fd5b8063aaf5eb68116100bb578063aaf5eb68146103ad578063ad614714146103c4578063ae149b20146103da57600080fd5b8063a32b5e481461033d578063aabf1a0314610353578063aad9c5771461038057600080fd5b80634e71d92d1161014e578063620500831161012857806362050083146102be57806377c06fb5146102d45780638cc08025146102ea578063a0712d681461032a57600080fd5b80634e71d92d1461027b578063559135f414610292578063567142be146102a857600080fd5b806324ec75901161017f57806324ec75901461022f57806336326c7f146102455780633e6fccec1461026557600080fd5b8063017e7e58146101a65780630625a8a2146101e35780631fbdd72d14610207575b600080fd5b3480156101b257600080fd5b506001546101c6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ef57600080fd5b506101f9600f5481565b6040519081526020016101da565b34801561021357600080fd5b506101c6734392dc16867d53dbfe227076606455634d4c279581565b34801561023b57600080fd5b506101f960045481565b34801561025157600080fd5b506101f961026036600461125c565b6104cf565b34801561027157600080fd5b506101f9600d5481565b34801561028757600080fd5b506102906105b1565b005b34801561029e57600080fd5b506101f960105481565b3480156102b457600080fd5b506101f9600a5481565b3480156102ca57600080fd5b506101f9600e5481565b3480156102e057600080fd5b506101f9600c5481565b3480156102f657600080fd5b5061031a61030536600461125c565b60096020526000908152604090205460ff1681565b60405190151581526020016101da565b610290610338366004611285565b61074b565b34801561034957600080fd5b506101f960115481565b34801561035f57600080fd5b506101f961036e36600461125c565b60066020526000908152604090205481565b34801561038c57600080fd5b506101f961039b36600461125c565b60076020526000908152604090205481565b3480156103b957600080fd5b506101f9620186a081565b3480156103d057600080fd5b506101f960135481565b3480156103e657600080fd5b506101f9600b5481565b3480156103fc57600080fd5b506101f961040b36600461125c565b60056020526000908152604090205481565b34801561042957600080fd5b506101f960145481565b34801561043f57600080fd5b506101f961044e36600461125c565b60086020526000908152604090205481565b34801561046c57600080fd5b5060125461031a9060ff1681565b34801561048657600080fd5b50610290610b6f565b34801561049b57600080fd5b506003546101c6906001600160a01b031681565b3480156104bb57600080fd5b506002546101c6906001600160a01b031681565b6000600a546000036104e357506000919050565b60028054604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056c919061129e565b61057691906112e3565b600a546001600160a01b038516600090815260086020526040902054919250906105a090836112f7565b6105aa91906112e3565b9392505050565b6105b9610bca565b426014541061060f5760405162461bcd60e51b815260206004820152601260248201527f4d696e7420576172206e6f7420656e646564000000000000000000000000000060448201526064015b60405180910390fd5b3360009081526009602052604090205460ff161561066f5760405162461bcd60e51b815260206004820152600f60248201527f4163636f756e7420636c61696d656400000000000000000000000000000000006044820152606401610606565b610677610c0d565b6000610682336104cf565b9050600081116106d45760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636c61696d61626c6520616d6f756e740000006044820152606401610606565b6002546106eb906001600160a01b03163383610f8c565b33600081815260096020908152604091829020805460ff19166001179055815192835282018390527f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4910160405180910390a1506107496001600055565b565b610753610bca565b6013544210156107a55760405162461bcd60e51b815260206004820152601060248201527f4d696e74206e6f742073746172746564000000000000000000000000000000006044820152606401610606565b601454421080156107b9575060125460ff16155b6108055760405162461bcd60e51b815260206004820152600a60248201527f4d696e7420656e646564000000000000000000000000000000000000000000006044820152606401610606565b3332146108545760405162461bcd60e51b815260206004820152600d60248201527f4d7573742066726f6d20454f41000000000000000000000000000000000000006044820152606401610606565b6000811180156108675750620186a08111155b6108b35760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964207261746500000000000000000000000000000000000000006044820152606401610606565b6004543410156109055760405162461bcd60e51b815260206004820152601060248201527f696e73756666696369656e7420666565000000000000000000000000000000006044820152606401610606565b600081610915620186a0346112f7565b61091f91906112e3565b90506011548111156109735760405162461bcd60e51b815260206004820152601360248201527f6d617820706f696e7473206578636565646564000000000000000000000000006044820152606401610606565b3360009081526005602052604081208054349290610992908490611314565b9250508190555034600d60008282546109ab9190611314565b925050819055506001600e60008282546109c59190611314565b909155508290506109d46110fb565b1015610abe576001600f60008282546109ed9190611314565b9250508190555034600b6000828254610a069190611314565b90915550503360009081526006602052604081208054349290610a2a908490611314565b9250508190555080600a6000828254610a439190611314565b90915550503360009081526008602052604081208054839290610a67908490611314565b909155505060408051338152600160208201523481830152606081018490526080810183905290517f98b6b9c2f570ec1d2dd6dbd4743d1d3f912af590c9017670b4c223ee4536e9199181900360a00190a1610b61565b600160106000828254610ad19190611314565b9250508190555034600c6000828254610aea9190611314565b90915550503360009081526007602052604081208054349290610b0e908490611314565b909155505060408051338152600060208201819052348284015260608201859052608082015290517f98b6b9c2f570ec1d2dd6dbd4743d1d3f912af590c9017670b4c223ee4536e9199181900360a00190a15b50610b6c6001600055565b50565b60125460ff1615610bc25760405162461bcd60e51b815260206004820152600d60248201527f436c61696d2073746172746564000000000000000000000000000000000000006044820152606401610606565b610749610c0d565b600260005403610c06576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600055565b4260145410610c5e5760405162461bcd60e51b815260206004820152601260248201527f4d696e7420576172206e6f7420656e64656400000000000000000000000000006044820152606401610606565b60125460ff1615610c6b57565b6012805460ff19166001179055600d54600090606490610c8c90600a6112f7565b610c9691906112e3565b90506000610ca48247611327565b600154909150610cbd906001600160a01b031683611174565b6002546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610d1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d43919061129e565b9050600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbc919061129e565b8114610e0a5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420746f6b656e20616d6f756e74000000000000006044820152606401610606565b6000610e176002836112e3565b6002546003546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101849052929350169063095ea7b3906044016020604051808303816000875af1158015610e87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eab919061133a565b506003546002546040517ff305d7190000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905260006044820181905260648201523060848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610f35573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5a919061135c565b50506040517fe0ce9ff53de9afa53a319443c3e3a923739fe70946c893fc49ec7987828879dc9150600090a150505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691611016919061138a565b6000604051808303816000865af19150503d8060008114611053576040519150601f19603f3d011682016040523d82523d6000602084013e611058565b606091505b5091509150818015611082575080511580611082575080806020019051810190611082919061133a565b6110f45760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c6564000000000000000000000000000000000000006064820152608401610606565b5050505050565b6000803361110a600143611327565b600e54600d5460405160609490941b6bffffffffffffffffffffffff19166020850152914060348401524260548401526074830152609482015260b40160408051601f198184030181529190528051602090910120905061116e620186a0826113b9565b91505090565b604080516000808252602082019092526001600160a01b03841690839060405161119e919061138a565b60006040518083038185875af1925050503d80600081146111db576040519150601f19603f3d011682016040523d82523d6000602084013e6111e0565b606091505b50509050806112575760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527f20455448207472616e73666572206661696c65640000000000000000000000006064820152608401610606565b505050565b60006020828403121561126e57600080fd5b81356001600160a01b03811681146105aa57600080fd5b60006020828403121561129757600080fd5b5035919050565b6000602082840312156112b057600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826112f2576112f26112b7565b500490565b808202811582820484141761130e5761130e6112cd565b92915050565b8082018082111561130e5761130e6112cd565b8181038181111561130e5761130e6112cd565b60006020828403121561134c57600080fd5b815180151581146105aa57600080fd5b60008060006060848603121561137157600080fd5b8351925060208401519150604084015190509250925092565b6000825160005b818110156113ab5760208186018101518583015201611391565b506000920191825250919050565b6000826113c8576113c86112b7565b50069056fea264697066735822122017f5452481617f652c963c500f31c7ca094e25e46eced22d8c87fd1c038ce4e264736f6c634300081700330000000000000000000000002dd1b4d4548accea497050619965f91f78b3b532000000000000000000000000cc15f0f1e81e4a90cc2faa918842e19f2ea2ee030000000000000000000000000000000000000000000000000000000065ea55000000000000000000000000000000000000000000000000000000000065ecf800
Deployed Bytecode
0x6080604052600436106101a15760003560e01c8063a32b5e48116100e1578063ba3fcd9d1161008a578063ea2b4ab211610064578063ea2b4ab214610460578063f67d69911461047a578063f887ea401461048f578063fc0c546a146104af57600080fd5b8063ba3fcd9d146103f0578063ca68a9d61461041d578063cf6a44031461043357600080fd5b8063aaf5eb68116100bb578063aaf5eb68146103ad578063ad614714146103c4578063ae149b20146103da57600080fd5b8063a32b5e481461033d578063aabf1a0314610353578063aad9c5771461038057600080fd5b80634e71d92d1161014e578063620500831161012857806362050083146102be57806377c06fb5146102d45780638cc08025146102ea578063a0712d681461032a57600080fd5b80634e71d92d1461027b578063559135f414610292578063567142be146102a857600080fd5b806324ec75901161017f57806324ec75901461022f57806336326c7f146102455780633e6fccec1461026557600080fd5b8063017e7e58146101a65780630625a8a2146101e35780631fbdd72d14610207575b600080fd5b3480156101b257600080fd5b506001546101c6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ef57600080fd5b506101f9600f5481565b6040519081526020016101da565b34801561021357600080fd5b506101c6734392dc16867d53dbfe227076606455634d4c279581565b34801561023b57600080fd5b506101f960045481565b34801561025157600080fd5b506101f961026036600461125c565b6104cf565b34801561027157600080fd5b506101f9600d5481565b34801561028757600080fd5b506102906105b1565b005b34801561029e57600080fd5b506101f960105481565b3480156102b457600080fd5b506101f9600a5481565b3480156102ca57600080fd5b506101f9600e5481565b3480156102e057600080fd5b506101f9600c5481565b3480156102f657600080fd5b5061031a61030536600461125c565b60096020526000908152604090205460ff1681565b60405190151581526020016101da565b610290610338366004611285565b61074b565b34801561034957600080fd5b506101f960115481565b34801561035f57600080fd5b506101f961036e36600461125c565b60066020526000908152604090205481565b34801561038c57600080fd5b506101f961039b36600461125c565b60076020526000908152604090205481565b3480156103b957600080fd5b506101f9620186a081565b3480156103d057600080fd5b506101f960135481565b3480156103e657600080fd5b506101f9600b5481565b3480156103fc57600080fd5b506101f961040b36600461125c565b60056020526000908152604090205481565b34801561042957600080fd5b506101f960145481565b34801561043f57600080fd5b506101f961044e36600461125c565b60086020526000908152604090205481565b34801561046c57600080fd5b5060125461031a9060ff1681565b34801561048657600080fd5b50610290610b6f565b34801561049b57600080fd5b506003546101c6906001600160a01b031681565b3480156104bb57600080fd5b506002546101c6906001600160a01b031681565b6000600a546000036104e357506000919050565b60028054604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056c919061129e565b61057691906112e3565b600a546001600160a01b038516600090815260086020526040902054919250906105a090836112f7565b6105aa91906112e3565b9392505050565b6105b9610bca565b426014541061060f5760405162461bcd60e51b815260206004820152601260248201527f4d696e7420576172206e6f7420656e646564000000000000000000000000000060448201526064015b60405180910390fd5b3360009081526009602052604090205460ff161561066f5760405162461bcd60e51b815260206004820152600f60248201527f4163636f756e7420636c61696d656400000000000000000000000000000000006044820152606401610606565b610677610c0d565b6000610682336104cf565b9050600081116106d45760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636c61696d61626c6520616d6f756e740000006044820152606401610606565b6002546106eb906001600160a01b03163383610f8c565b33600081815260096020908152604091829020805460ff19166001179055815192835282018390527f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4910160405180910390a1506107496001600055565b565b610753610bca565b6013544210156107a55760405162461bcd60e51b815260206004820152601060248201527f4d696e74206e6f742073746172746564000000000000000000000000000000006044820152606401610606565b601454421080156107b9575060125460ff16155b6108055760405162461bcd60e51b815260206004820152600a60248201527f4d696e7420656e646564000000000000000000000000000000000000000000006044820152606401610606565b3332146108545760405162461bcd60e51b815260206004820152600d60248201527f4d7573742066726f6d20454f41000000000000000000000000000000000000006044820152606401610606565b6000811180156108675750620186a08111155b6108b35760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964207261746500000000000000000000000000000000000000006044820152606401610606565b6004543410156109055760405162461bcd60e51b815260206004820152601060248201527f696e73756666696369656e7420666565000000000000000000000000000000006044820152606401610606565b600081610915620186a0346112f7565b61091f91906112e3565b90506011548111156109735760405162461bcd60e51b815260206004820152601360248201527f6d617820706f696e7473206578636565646564000000000000000000000000006044820152606401610606565b3360009081526005602052604081208054349290610992908490611314565b9250508190555034600d60008282546109ab9190611314565b925050819055506001600e60008282546109c59190611314565b909155508290506109d46110fb565b1015610abe576001600f60008282546109ed9190611314565b9250508190555034600b6000828254610a069190611314565b90915550503360009081526006602052604081208054349290610a2a908490611314565b9250508190555080600a6000828254610a439190611314565b90915550503360009081526008602052604081208054839290610a67908490611314565b909155505060408051338152600160208201523481830152606081018490526080810183905290517f98b6b9c2f570ec1d2dd6dbd4743d1d3f912af590c9017670b4c223ee4536e9199181900360a00190a1610b61565b600160106000828254610ad19190611314565b9250508190555034600c6000828254610aea9190611314565b90915550503360009081526007602052604081208054349290610b0e908490611314565b909155505060408051338152600060208201819052348284015260608201859052608082015290517f98b6b9c2f570ec1d2dd6dbd4743d1d3f912af590c9017670b4c223ee4536e9199181900360a00190a15b50610b6c6001600055565b50565b60125460ff1615610bc25760405162461bcd60e51b815260206004820152600d60248201527f436c61696d2073746172746564000000000000000000000000000000000000006044820152606401610606565b610749610c0d565b600260005403610c06576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600055565b4260145410610c5e5760405162461bcd60e51b815260206004820152601260248201527f4d696e7420576172206e6f7420656e64656400000000000000000000000000006044820152606401610606565b60125460ff1615610c6b57565b6012805460ff19166001179055600d54600090606490610c8c90600a6112f7565b610c9691906112e3565b90506000610ca48247611327565b600154909150610cbd906001600160a01b031683611174565b6002546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610d1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d43919061129e565b9050600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbc919061129e565b8114610e0a5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420746f6b656e20616d6f756e74000000000000006044820152606401610606565b6000610e176002836112e3565b6002546003546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101849052929350169063095ea7b3906044016020604051808303816000875af1158015610e87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eab919061133a565b506003546002546040517ff305d7190000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905260006044820181905260648201523060848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610f35573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5a919061135c565b50506040517fe0ce9ff53de9afa53a319443c3e3a923739fe70946c893fc49ec7987828879dc9150600090a150505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691611016919061138a565b6000604051808303816000865af19150503d8060008114611053576040519150601f19603f3d011682016040523d82523d6000602084013e611058565b606091505b5091509150818015611082575080511580611082575080806020019051810190611082919061133a565b6110f45760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c6564000000000000000000000000000000000000006064820152608401610606565b5050505050565b6000803361110a600143611327565b600e54600d5460405160609490941b6bffffffffffffffffffffffff19166020850152914060348401524260548401526074830152609482015260b40160408051601f198184030181529190528051602090910120905061116e620186a0826113b9565b91505090565b604080516000808252602082019092526001600160a01b03841690839060405161119e919061138a565b60006040518083038185875af1925050503d80600081146111db576040519150601f19603f3d011682016040523d82523d6000602084013e6111e0565b606091505b50509050806112575760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527f20455448207472616e73666572206661696c65640000000000000000000000006064820152608401610606565b505050565b60006020828403121561126e57600080fd5b81356001600160a01b03811681146105aa57600080fd5b60006020828403121561129757600080fd5b5035919050565b6000602082840312156112b057600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826112f2576112f26112b7565b500490565b808202811582820484141761130e5761130e6112cd565b92915050565b8082018082111561130e5761130e6112cd565b8181038181111561130e5761130e6112cd565b60006020828403121561134c57600080fd5b815180151581146105aa57600080fd5b60008060006060848603121561137157600080fd5b8351925060208401519150604084015190509250925092565b6000825160005b818110156113ab5760208186018101518583015201611391565b506000920191825250919050565b6000826113c8576113c86112b7565b50069056fea264697066735822122017f5452481617f652c963c500f31c7ca094e25e46eced22d8c87fd1c038ce4e264736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002dd1b4d4548accea497050619965f91f78b3b532000000000000000000000000cc15f0f1e81e4a90cc2faa918842e19f2ea2ee030000000000000000000000000000000000000000000000000000000065ea55000000000000000000000000000000000000000000000000000000000065ecf800
-----Decoded View---------------
Arg [0] : _router (address): 0x2Dd1B4D4548aCCeA497050619965f91f78b3b532
Arg [1] : _token (address): 0xCC15F0F1e81E4A90CC2fAA918842E19F2ea2EE03
Arg [2] : _mintStartAt (uint256): 1709856000
Arg [3] : _mintEndAt (uint256): 1710028800
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000002dd1b4d4548accea497050619965f91f78b3b532
Arg [1] : 000000000000000000000000cc15f0f1e81e4a90cc2faa918842e19f2ea2ee03
Arg [2] : 0000000000000000000000000000000000000000000000000000000065ea5500
Arg [3] : 0000000000000000000000000000000000000000000000000000000065ecf800
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.