Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AirdropClaim
Compiler Version
v0.8.27+commit.40a35a09
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
contract AirdropClaim is Ownable, ReentrancyGuard {
IERC20 public token;
uint256 public tgetime;
mapping(address => uint256) public remainingTokens;
event TokensAdded(address indexed user, uint256 amount);
event TokensClaimed(address indexed user, uint256 amount);
/**
* @dev Constructor to set the ERC20 token address.
* @param _tokenAddress The address of the ERC20 token.
*/
constructor(address _tokenAddress) Ownable(msg.sender) {
token = IERC20(_tokenAddress);
}
/**
* @dev Function for the admin to set the claim start time.
* @param _timestamp The timestamp after which users can claim tokens.
*/
function setClaimStartTime(uint256 _timestamp) external onlyOwner {
require(_timestamp > block.timestamp, "Start time must be in the future");
tgetime = _timestamp;
}
/**
* @dev Function for the admin to add airdrops in bulk.
* @param users List of user addresses.
* @param amounts List of token amounts each user can claim.
*/
function addAirdrop(address[] memory users, uint256[] memory amounts) external onlyOwner {
require(users.length == amounts.length, "Mismatched users and amounts");
for (uint256 i = 0; i < users.length; i++) {
require(users[i] != address(0), "Invalid address");
remainingTokens[users[i]] = amounts[i];
emit TokensAdded(users[i], amounts[i]);
}
}
/**
* @dev Function for users to claim their allocated tokens.
*/
function claim() external nonReentrant {
require(block.timestamp >= tgetime, "Claiming not started yet");
uint256 amount = remainingTokens[msg.sender];
require(amount > 0, "No tokens to claim");
require(token.balanceOf(address(this)) >= amount, "Not enough tokens in contract");
remainingTokens[msg.sender] = 0; // Reset the user's allocation
token.transfer(msg.sender, amount); // Transfer the tokens
emit TokensClaimed(msg.sender, amount);
}
/**
* @dev Admin function to withdraw any remaining tokens in the contract.
* @param beneficiary Address to receive the tokens.
*/
function withdrawRemainingTokens(address beneficiary) external onlyOwner {
uint256 balance = token.balanceOf(address(this));
require(balance > 0, "No tokens to withdraw");
token.transfer(beneficiary, balance);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../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.
*
* The initial owner is set to the address provided by the deployer. 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;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-20 standard as defined in the ERC.
*/
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.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.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 EIP-1153 (transient storage) is available on the chain you're deploying at,
* consider using {ReentrancyGuardTransient} instead.
*
* 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;
}
}{
"evmVersion": "paris",
"optimizer": {
"enabled": false,
"runs": 200
},
"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":"_tokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensClaimed","type":"event"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"addAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"remainingTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"setClaimStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tgetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"}],"name":"withdrawRemainingTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5060405161164a38038061164a8339818101604052810190610032919061022a565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a55760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009c9190610266565b60405180910390fd5b6100b48161010360201b60201c565b506001808190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610281565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101f7826101cc565b9050919050565b610207816101ec565b811461021257600080fd5b50565b600081519050610224816101fe565b92915050565b6000602082840312156102405761023f6101c7565b5b600061024e84828501610215565b91505092915050565b610260816101ec565b82525050565b600060208201905061027b6000830184610257565b92915050565b6113ba806102906000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063715018a611610066578063715018a6146101315780638da5cb5b1461013b578063dd0ac42014610159578063f2fde38b14610177578063fc0c546a146101935761009e565b8063236f86a1146100a35780632533a5f6146100d35780634e71d92d146100ef5780635affbd97146100f957806361e7f4fa14610115575b600080fd5b6100bd60048036038101906100b89190610b8e565b6101b1565b6040516100ca9190610bd4565b60405180910390f35b6100ed60048036038101906100e89190610c1b565b6101c9565b005b6100f761021d565b005b610113600480360381019061010e9190610b8e565b61050e565b005b61012f600480360381019061012a9190610e64565b61069e565b005b61013961088b565b005b61014361089f565b6040516101509190610eeb565b60405180910390f35b6101616108c8565b60405161016e9190610bd4565b60405180910390f35b610191600480360381019061018c9190610b8e565b6108ce565b005b61019b610954565b6040516101a89190610f65565b60405180910390f35b60046020528060005260406000206000915090505481565b6101d161097a565b428111610213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020a90610fdd565b60405180910390fd5b8060038190555050565b610225610a01565b60035442101561026a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026190611049565b60405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116102f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e8906110b5565b60405180910390fd5b80600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161034d9190610eeb565b602060405180830381865afa15801561036a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038e91906110ea565b10156103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c690611163565b60405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610471929190611183565b6020604051808303816000875af1158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906111e4565b503373ffffffffffffffffffffffffffffffffffffffff167f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430826040516104fb9190610bd4565b60405180910390a25061050c610a47565b565b61051661097a565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105739190610eeb565b602060405180830381865afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b491906110ea565b9050600081116105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f09061125d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610656929190611183565b6020604051808303816000875af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069991906111e4565b505050565b6106a661097a565b80518251146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906112c9565b60405180910390fd5b60005b825181101561088657600073ffffffffffffffffffffffffffffffffffffffff16838281518110610721576107206112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361077f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077690611364565b60405180910390fd5b818181518110610792576107916112e9565b5b6020026020010151600460008584815181106107b1576107b06112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811061080a576108096112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f0eaac1064ee8d13f83091f388597ffb5ff2d2e59f6a16aae2a74ba7f2d13c8d983838151811061085c5761085b6112e9565b5b60200260200101516040516108719190610bd4565b60405180910390a280806001019150506106ed565b505050565b61089361097a565b61089d6000610a50565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b6108d661097a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109485760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161093f9190610eeb565b60405180910390fd5b61095181610a50565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610982610b14565b73ffffffffffffffffffffffffffffffffffffffff166109a061089f565b73ffffffffffffffffffffffffffffffffffffffff16146109ff576109c3610b14565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109f69190610eeb565b60405180910390fd5b565b600260015403610a3d576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b60018081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5b82610b30565b9050919050565b610b6b81610b50565b8114610b7657600080fd5b50565b600081359050610b8881610b62565b92915050565b600060208284031215610ba457610ba3610b26565b5b6000610bb284828501610b79565b91505092915050565b6000819050919050565b610bce81610bbb565b82525050565b6000602082019050610be96000830184610bc5565b92915050565b610bf881610bbb565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b600060208284031215610c3157610c30610b26565b5b6000610c3f84828501610c06565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c9682610c4d565b810181811067ffffffffffffffff82111715610cb557610cb4610c5e565b5b80604052505050565b6000610cc8610b1c565b9050610cd48282610c8d565b919050565b600067ffffffffffffffff821115610cf457610cf3610c5e565b5b602082029050602081019050919050565b600080fd5b6000610d1d610d1884610cd9565b610cbe565b90508083825260208201905060208402830185811115610d4057610d3f610d05565b5b835b81811015610d695780610d558882610b79565b845260208401935050602081019050610d42565b5050509392505050565b600082601f830112610d8857610d87610c48565b5b8135610d98848260208601610d0a565b91505092915050565b600067ffffffffffffffff821115610dbc57610dbb610c5e565b5b602082029050602081019050919050565b6000610de0610ddb84610da1565b610cbe565b90508083825260208201905060208402830185811115610e0357610e02610d05565b5b835b81811015610e2c5780610e188882610c06565b845260208401935050602081019050610e05565b5050509392505050565b600082601f830112610e4b57610e4a610c48565b5b8135610e5b848260208601610dcd565b91505092915050565b60008060408385031215610e7b57610e7a610b26565b5b600083013567ffffffffffffffff811115610e9957610e98610b2b565b5b610ea585828601610d73565b925050602083013567ffffffffffffffff811115610ec657610ec5610b2b565b5b610ed285828601610e36565b9150509250929050565b610ee581610b50565b82525050565b6000602082019050610f006000830184610edc565b92915050565b6000819050919050565b6000610f2b610f26610f2184610b30565b610f06565b610b30565b9050919050565b6000610f3d82610f10565b9050919050565b6000610f4f82610f32565b9050919050565b610f5f81610f44565b82525050565b6000602082019050610f7a6000830184610f56565b92915050565b600082825260208201905092915050565b7f53746172742074696d65206d75737420626520696e2074686520667574757265600082015250565b6000610fc7602083610f80565b9150610fd282610f91565b602082019050919050565b60006020820190508181036000830152610ff681610fba565b9050919050565b7f436c61696d696e67206e6f742073746172746564207965740000000000000000600082015250565b6000611033601883610f80565b915061103e82610ffd565b602082019050919050565b6000602082019050818103600083015261106281611026565b9050919050565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b600061109f601283610f80565b91506110aa82611069565b602082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b6000815190506110e481610bef565b92915050565b600060208284031215611100576110ff610b26565b5b600061110e848285016110d5565b91505092915050565b7f4e6f7420656e6f75676820746f6b656e7320696e20636f6e7472616374000000600082015250565b600061114d601d83610f80565b915061115882611117565b602082019050919050565b6000602082019050818103600083015261117c81611140565b9050919050565b60006040820190506111986000830185610edc565b6111a56020830184610bc5565b9392505050565b60008115159050919050565b6111c1816111ac565b81146111cc57600080fd5b50565b6000815190506111de816111b8565b92915050565b6000602082840312156111fa576111f9610b26565b5b6000611208848285016111cf565b91505092915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b6000611247601583610f80565b915061125282611211565b602082019050919050565b600060208201905081810360008301526112768161123a565b9050919050565b7f4d69736d61746368656420757365727320616e6420616d6f756e747300000000600082015250565b60006112b3601c83610f80565b91506112be8261127d565b602082019050919050565b600060208201905081810360008301526112e2816112a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b600061134e600f83610f80565b915061135982611318565b602082019050919050565b6000602082019050818103600083015261137d81611341565b905091905056fea2646970667358221220d05d4ffa2d1837d287144f1c95ee0f6fe618e4c56d132f92734df573e8b9d97464736f6c634300081b0033000000000000000000000000d42fe55e8a43b546aa75fda6483073be1d7ef74c
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063715018a611610066578063715018a6146101315780638da5cb5b1461013b578063dd0ac42014610159578063f2fde38b14610177578063fc0c546a146101935761009e565b8063236f86a1146100a35780632533a5f6146100d35780634e71d92d146100ef5780635affbd97146100f957806361e7f4fa14610115575b600080fd5b6100bd60048036038101906100b89190610b8e565b6101b1565b6040516100ca9190610bd4565b60405180910390f35b6100ed60048036038101906100e89190610c1b565b6101c9565b005b6100f761021d565b005b610113600480360381019061010e9190610b8e565b61050e565b005b61012f600480360381019061012a9190610e64565b61069e565b005b61013961088b565b005b61014361089f565b6040516101509190610eeb565b60405180910390f35b6101616108c8565b60405161016e9190610bd4565b60405180910390f35b610191600480360381019061018c9190610b8e565b6108ce565b005b61019b610954565b6040516101a89190610f65565b60405180910390f35b60046020528060005260406000206000915090505481565b6101d161097a565b428111610213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020a90610fdd565b60405180910390fd5b8060038190555050565b610225610a01565b60035442101561026a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026190611049565b60405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116102f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e8906110b5565b60405180910390fd5b80600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161034d9190610eeb565b602060405180830381865afa15801561036a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038e91906110ea565b10156103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c690611163565b60405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610471929190611183565b6020604051808303816000875af1158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906111e4565b503373ffffffffffffffffffffffffffffffffffffffff167f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430826040516104fb9190610bd4565b60405180910390a25061050c610a47565b565b61051661097a565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105739190610eeb565b602060405180830381865afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b491906110ea565b9050600081116105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f09061125d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610656929190611183565b6020604051808303816000875af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069991906111e4565b505050565b6106a661097a565b80518251146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906112c9565b60405180910390fd5b60005b825181101561088657600073ffffffffffffffffffffffffffffffffffffffff16838281518110610721576107206112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361077f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077690611364565b60405180910390fd5b818181518110610792576107916112e9565b5b6020026020010151600460008584815181106107b1576107b06112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811061080a576108096112e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f0eaac1064ee8d13f83091f388597ffb5ff2d2e59f6a16aae2a74ba7f2d13c8d983838151811061085c5761085b6112e9565b5b60200260200101516040516108719190610bd4565b60405180910390a280806001019150506106ed565b505050565b61089361097a565b61089d6000610a50565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b6108d661097a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109485760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161093f9190610eeb565b60405180910390fd5b61095181610a50565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610982610b14565b73ffffffffffffffffffffffffffffffffffffffff166109a061089f565b73ffffffffffffffffffffffffffffffffffffffff16146109ff576109c3610b14565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109f69190610eeb565b60405180910390fd5b565b600260015403610a3d576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b60018081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5b82610b30565b9050919050565b610b6b81610b50565b8114610b7657600080fd5b50565b600081359050610b8881610b62565b92915050565b600060208284031215610ba457610ba3610b26565b5b6000610bb284828501610b79565b91505092915050565b6000819050919050565b610bce81610bbb565b82525050565b6000602082019050610be96000830184610bc5565b92915050565b610bf881610bbb565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b600060208284031215610c3157610c30610b26565b5b6000610c3f84828501610c06565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c9682610c4d565b810181811067ffffffffffffffff82111715610cb557610cb4610c5e565b5b80604052505050565b6000610cc8610b1c565b9050610cd48282610c8d565b919050565b600067ffffffffffffffff821115610cf457610cf3610c5e565b5b602082029050602081019050919050565b600080fd5b6000610d1d610d1884610cd9565b610cbe565b90508083825260208201905060208402830185811115610d4057610d3f610d05565b5b835b81811015610d695780610d558882610b79565b845260208401935050602081019050610d42565b5050509392505050565b600082601f830112610d8857610d87610c48565b5b8135610d98848260208601610d0a565b91505092915050565b600067ffffffffffffffff821115610dbc57610dbb610c5e565b5b602082029050602081019050919050565b6000610de0610ddb84610da1565b610cbe565b90508083825260208201905060208402830185811115610e0357610e02610d05565b5b835b81811015610e2c5780610e188882610c06565b845260208401935050602081019050610e05565b5050509392505050565b600082601f830112610e4b57610e4a610c48565b5b8135610e5b848260208601610dcd565b91505092915050565b60008060408385031215610e7b57610e7a610b26565b5b600083013567ffffffffffffffff811115610e9957610e98610b2b565b5b610ea585828601610d73565b925050602083013567ffffffffffffffff811115610ec657610ec5610b2b565b5b610ed285828601610e36565b9150509250929050565b610ee581610b50565b82525050565b6000602082019050610f006000830184610edc565b92915050565b6000819050919050565b6000610f2b610f26610f2184610b30565b610f06565b610b30565b9050919050565b6000610f3d82610f10565b9050919050565b6000610f4f82610f32565b9050919050565b610f5f81610f44565b82525050565b6000602082019050610f7a6000830184610f56565b92915050565b600082825260208201905092915050565b7f53746172742074696d65206d75737420626520696e2074686520667574757265600082015250565b6000610fc7602083610f80565b9150610fd282610f91565b602082019050919050565b60006020820190508181036000830152610ff681610fba565b9050919050565b7f436c61696d696e67206e6f742073746172746564207965740000000000000000600082015250565b6000611033601883610f80565b915061103e82610ffd565b602082019050919050565b6000602082019050818103600083015261106281611026565b9050919050565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b600061109f601283610f80565b91506110aa82611069565b602082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b6000815190506110e481610bef565b92915050565b600060208284031215611100576110ff610b26565b5b600061110e848285016110d5565b91505092915050565b7f4e6f7420656e6f75676820746f6b656e7320696e20636f6e7472616374000000600082015250565b600061114d601d83610f80565b915061115882611117565b602082019050919050565b6000602082019050818103600083015261117c81611140565b9050919050565b60006040820190506111986000830185610edc565b6111a56020830184610bc5565b9392505050565b60008115159050919050565b6111c1816111ac565b81146111cc57600080fd5b50565b6000815190506111de816111b8565b92915050565b6000602082840312156111fa576111f9610b26565b5b6000611208848285016111cf565b91505092915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b6000611247601583610f80565b915061125282611211565b602082019050919050565b600060208201905081810360008301526112768161123a565b9050919050565b7f4d69736d61746368656420757365727320616e6420616d6f756e747300000000600082015250565b60006112b3601c83610f80565b91506112be8261127d565b602082019050919050565b600060208201905081810360008301526112e2816112a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b600061134e600f83610f80565b915061135982611318565b602082019050919050565b6000602082019050818103600083015261137d81611341565b905091905056fea2646970667358221220d05d4ffa2d1837d287144f1c95ee0f6fe618e4c56d132f92734df573e8b9d97464736f6c634300081b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d42fe55e8a43b546aa75fda6483073be1d7ef74c
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xD42Fe55e8A43b546aA75fdA6483073be1d7EF74c
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d42fe55e8a43b546aa75fda6483073be1d7ef74c
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$6.21
Net Worth in ETH
0.00312
Token Allocations
ETH
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,991.55 | 0.00312033 | $6.21 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.