ETH Price: $2,403.79 (-1.85%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Name177904702023-07-28 8:49:59465 days ago1690534199IN
0x7391833C...528035a99
0 ETH0.0018438620
Set Name177902632023-07-28 8:08:23465 days ago1690531703IN
0x7391833C...528035a99
0 ETH0.0019003620.61290102
Set Name177901832023-07-28 7:52:11465 days ago1690530731IN
0x7391833C...528035a99
0 ETH0.0018308620.72776361
Set Name177901832023-07-28 7:52:11465 days ago1690530731IN
0x7391833C...528035a99
0 ETH0.001987120.72776361
Set Name177887032023-07-28 2:54:23465 days ago1690512863IN
0x7391833C...528035a99
0 ETH0.0014773919.57877315
Set Name177886992023-07-28 2:53:35465 days ago1690512815IN
0x7391833C...528035a99
0 ETH0.0014842119.28356348
Set Name177886962023-07-28 2:52:59465 days ago1690512779IN
0x7391833C...528035a99
0 ETH0.0015518419.71842614
Set Name177879242023-07-28 0:17:35466 days ago1690503455IN
0x7391833C...528035a99
0 ETH0.0018057319.62439786
Set Name177650312023-07-24 19:25:11469 days ago1690226711IN
0x7391833C...528035a99
0 ETH0.0029322633.67866146
Set Name177650132023-07-24 19:21:35469 days ago1690226495IN
0x7391833C...528035a99
0 ETH0.002559534.24264208
Set Name170961712023-04-21 17:14:35563 days ago1682097275IN
0x7391833C...528035a99
0 ETH0.0031257236.43463193
Set Name170680102023-04-17 17:36:11567 days ago1681752971IN
0x7391833C...528035a99
0 ETH0.0030894633.37869475
Set Name170667402023-04-17 13:18:23567 days ago1681737503IN
0x7391833C...528035a99
0 ETH0.0029226231.99370088
Set Name170667162023-04-17 13:13:35567 days ago1681737215IN
0x7391833C...528035a99
0 ETH0.00291330.03809796
Set Name170617752023-04-16 20:22:59568 days ago1681676579IN
0x7391833C...528035a99
0 ETH0.0026709131.61219029
Set Name170608902023-04-16 17:22:35568 days ago1681665755IN
0x7391833C...528035a99
0 ETH0.0024664526.94759236
Set Name170588632023-04-16 10:28:23568 days ago1681640903IN
0x7391833C...528035a99
0 ETH0.0021653724.50797229
Set Name170570632023-04-16 4:20:11568 days ago1681618811IN
0x7391833C...528035a99
0 ETH0.0016919822.85791568
Set Name170570602023-04-16 4:19:35568 days ago1681618775IN
0x7391833C...528035a99
0 ETH0.0019940923.59814809
Set Name170443352023-04-14 8:46:35570 days ago1681461995IN
0x7391833C...528035a99
0 ETH0.002394125.96507113
Set Name170396902023-04-13 16:41:11571 days ago1681404071IN
0x7391833C...528035a99
0 ETH0.0035887839.46759552
Set Name170303032023-04-12 6:58:23572 days ago1681282703IN
0x7391833C...528035a99
0 ETH0.00184421.17938592
Set Name170302842023-04-12 6:54:11572 days ago1681282451IN
0x7391833C...528035a99
0 ETH0.001670718.68237058
Set Name170280642023-04-11 23:24:23573 days ago1681255463IN
0x7391833C...528035a99
0 ETH0.0019069921.27350893
Set Name170275282023-04-11 21:35:11573 days ago1681248911IN
0x7391833C...528035a99
0 ETH0.0020294524.02344774
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AsteroidNames

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : AsteroidNames.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.7.6;

import "@openzeppelin/contracts/utils/Pausable.sol";
import "./interfaces/IAsteroidToken.sol";


/**
 * @dev Allows the owner of an asteroid to set a name for it that will be included in ERC721 metadata
 */
contract AsteroidNames is Pausable {
  IAsteroidToken token;

  mapping (uint => string) private _asteroidNames;
  mapping (string => bool) private _usedNames;

  event NameChanged (uint indexed asteroidId, string newName);

  constructor(IAsteroidToken _token) {
    token = _token;
  }

  /**
   * @dev Change the name of the asteroid
   */
  function setName(uint _asteroidId, string memory _newName) external whenNotPaused {
    require(_msgSender() == token.ownerOf(_asteroidId), "ERC721: caller is not the owner");
    require(validateName(_newName) == true, "Invalid name");
    require(isNameUsed(_newName) == false, "Name already in use");

    // If already named, dereserve old name
    if (bytes(_asteroidNames[_asteroidId]).length > 0) {
      toggleNameUsed(_asteroidNames[_asteroidId], false);
    }

    toggleNameUsed(_newName, true);
    _asteroidNames[_asteroidId] = _newName;
    emit NameChanged(_asteroidId, _newName);
  }

  /**
   * @dev Retrieves the name of a given asteroid
   */
  function getName(uint _asteroidId) public view returns (string memory) {
    return _asteroidNames[_asteroidId];
  }

  /**
   * @dev Returns if the name is in use.
   */
  function isNameUsed(string memory nameString) public view returns (bool) {
    return _usedNames[toLower(nameString)];
  }

  /**
   * @dev Marks the name as used or unused
   */
  function toggleNameUsed(string memory str, bool isUsed) internal {
    _usedNames[toLower(str)] = isUsed;
  }

  /**
   * @dev Check if the name string is valid
   * Between 1 and 32 characters (Alphanumeric and spaces without leading or trailing space)
   */
  function validateName(string memory str) public pure returns (bool){
    bytes memory b = bytes(str);

    if(b.length < 1) return false;
    if(b.length > 32) return false; // Cannot be longer than 25 characters
    if(b[0] == 0x20) return false; // Leading space
    if (b[b.length - 1] == 0x20) return false; // Trailing space

    bytes1 lastChar = b[0];

    for (uint i; i < b.length; i++) {
      bytes1 char = b[i];

      if (char == 0x20 && lastChar == 0x20) return false; // Cannot contain continous spaces

      if (
        !(char >= 0x30 && char <= 0x39) && //9-0
        !(char >= 0x41 && char <= 0x5A) && //A-Z
        !(char >= 0x61 && char <= 0x7A) && //a-z
        !(char == 0x20) //space
      ) {
        return false;
      }

      lastChar = char;
    }

    return true;
  }

  /**
   * @dev Converts the string to lowercase
   */
  function toLower(string memory str) public pure returns (string memory){
    bytes memory bStr = bytes(str);
    bytes memory bLower = new bytes(bStr.length);

    for (uint i = 0; i < bStr.length; i++) {
      // Uppercase character
      if ((uint8(bStr[i]) >= 65) && (uint8(bStr[i]) <= 90)) {
        bLower[i] = bytes1(uint8(bStr[i]) + 32);
      } else {
        bLower[i] = bStr[i];
      }
    }

    return string(bLower);
  }
}

File 2 of 6 : IAsteroidToken.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.7.6;

import "@openzeppelin/contracts/token/ERC721/IERC721.sol";


interface IAsteroidToken is IERC721 {
  function addManager(address _manager) external;

  function removeManager(address _manager) external;

  function isManager(address _manager) external view returns (bool);

  function mint(address _to, uint256 _tokenId) external;

  function burn(address _owner, uint256 _tokenId) external;
}

File 3 of 6 : IERC165.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

File 4 of 6 : IERC721.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.2 <0.8.0;

import "../../introspection/IERC165.sol";

/**
 * @dev Required interface of an ERC721 compliant contract.
 */
interface IERC721 is IERC165 {
    /**
     * @dev Emitted when `tokenId` token is transferred from `from` to `to`.
     */
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
     */
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
     */
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /**
     * @dev Returns the number of tokens in ``owner``'s account.
     */
    function balanceOf(address owner) external view returns (uint256 balance);

    /**
     * @dev Returns the owner of the `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function ownerOf(uint256 tokenId) external view returns (address owner);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
     * are aware of the ERC721 protocol to prevent tokens from being forever locked.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(address from, address to, uint256 tokenId) external;

    /**
     * @dev Transfers `tokenId` token from `from` to `to`.
     *
     * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 tokenId) external;

    /**
     * @dev Gives permission to `to` to transfer `tokenId` token to another account.
     * The approval is cleared when the token is transferred.
     *
     * Only a single account can be approved at a time, so approving the zero address clears previous approvals.
     *
     * Requirements:
     *
     * - The caller must own the token or be an approved operator.
     * - `tokenId` must exist.
     *
     * Emits an {Approval} event.
     */
    function approve(address to, uint256 tokenId) external;

    /**
     * @dev Returns the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @dev Approve or remove `operator` as an operator for the caller.
     * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
     *
     * Requirements:
     *
     * - The `operator` cannot be the caller.
     *
     * Emits an {ApprovalForAll} event.
     */
    function setApprovalForAll(address operator, bool _approved) external;

    /**
     * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
     *
     * See {setApprovalForAll}
     */
    function isApprovedForAll(address owner, address operator) external view returns (bool);

    /**
      * @dev Safely transfers `tokenId` token from `from` to `to`.
      *
      * Requirements:
      *
      * - `from` cannot be the zero address.
      * - `to` cannot be the zero address.
      * - `tokenId` token must exist and be owned by `from`.
      * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
      * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
      *
      * Emits a {Transfer} event.
      */
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
}

File 5 of 6 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <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 GSN 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 payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 6 of 6 : Pausable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

import "./Context.sol";

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () internal {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IAsteroidToken","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"asteroidId","type":"uint256"},{"indexed":false,"internalType":"string","name":"newName","type":"string"}],"name":"NameChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"_asteroidId","type":"uint256"}],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"nameString","type":"string"}],"name":"isNameUsed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_asteroidId","type":"uint256"},{"internalType":"string","name":"_newName","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"toLower","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"validateName","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b506040516111543803806111548339818101604052602081101561003357600080fd5b810190808051906020019092919050505060008060006101000a81548160ff02191690831515021790555080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506110a5806100af6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80635c975abb146100675780636b8ff574146100875780639416b4231461012e5780639ffdb65a14610262578063ec75d62214610333578063fe55932a14610404575b600080fd5b61006f6104c9565b60405180821515815260200191505060405180910390f35b6100b36004803603602081101561009d57600080fd5b81019080803590602001909291905050506104df565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f35780820151818401526020810190506100d8565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e76004803603602081101561014457600080fd5b810190808035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610594565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031b6004803603602081101561027857600080fd5b810190808035906020019064010000000081111561029557600080fd5b8201836020820111156102a757600080fd5b803590602001918460018302840111640100000000831117156102c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610711565b60405180821515815260200191505060405180910390f35b6103ec6004803603602081101561034957600080fd5b810190808035906020019064010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184600183028401116401000000008311171561039a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a18565b60405180821515815260200191505060405180910390f35b6104c76004803603604081101561041a57600080fd5b81019080803590602001909291908035906020019064010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184600183028401116401000000008311171561047557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610aa0565b005b60008060009054906101000a900460ff16905090565b6060600160008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105885780601f1061055d57610100808354040283529160200191610588565b820191906000526020600020905b81548152906001019060200180831161056b57829003601f168201915b50505050509050919050565b606060008290506000815167ffffffffffffffff811180156105b557600080fd5b506040519080825280601f01601f1916602001820160405280156105e85781602001600182028036833780820191505090505b50905060005b825181101561070657604183828151811061060557fe5b602001015160f81c60f81b60f81c60ff16101580156106415750605a83828151811061062d57fe5b602001015160f81c60f81b60f81c60ff1611155b156106a657602083828151811061065457fe5b602001015160f81c60f81b60f81c0160f81b82828151811061067257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506106f9565b8281815181106106b257fe5b602001015160f81c60f81b8282815181106106c957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b80806001019150506105ee565b508092505050919050565b60008082905060018151101561072b576000915050610a13565b60208151111561073f576000915050610a13565b602060f81b8160008151811061075157fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561078e576000915050610a13565b602060f81b816001835103815181106107a357fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107e0576000915050610a13565b6000816000815181106107ef57fe5b602001015160f81c60f81b905060005b8251811015610a0b57600083828151811061081657fe5b602001015160f81c60f81b9050602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561087d5750602060f81b837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b1561088f576000945050505050610a13565b603060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156108eb5750603960f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1580156109515750604160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561094f5750605a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b80156109b65750606160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156109b45750607a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b80156109e85750602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b156109fa576000945050505050610a13565b8092505080806001019150506107ff565b506001925050505b919050565b60006002610a2583610594565b6040518082805190602001908083835b60208310610a585780518252602082019150602081019050602083039250610a35565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050919050565b610aa86104c9565b15610b1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d6020811015610bb857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610be7610f2f565b73ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433732313a2063616c6c6572206973206e6f7420746865206f776e65720081525060200191505060405180910390fd5b60011515610c7d82610711565b151514610cf2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f496e76616c6964206e616d65000000000000000000000000000000000000000081525060200191505060405180910390fd5b60001515610cff82610a18565b151514610d74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e616d6520616c726561647920696e207573650000000000000000000000000081525060200191505060405180910390fd5b6000600160008481526020019081526020016000208054600181600116156101000203166002900490501115610e5b57610e5a600160008481526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e4e5780601f10610e2357610100808354040283529160200191610e4e565b820191906000526020600020905b815481529060010190602001808311610e3157829003601f168201915b50505050506000610f37565b5b610e66816001610f37565b80600160008481526020019081526020016000209080519060200190610e8d929190610fc4565b50817f8edfa912e70e283a8ef6d6f52cd1faef9690ff989eff2f11a134e8478ba7b28b826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ef1578082015181840152602081019050610ed6565b50505050905090810190601f168015610f1e5780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600033905090565b806002610f4384610594565b6040518082805190602001908083835b60208310610f765780518252602082019150602081019050602083039250610f53565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282610ffa5760008555611041565b82601f1061101357805160ff1916838001178555611041565b82800160010185558215611041579182015b82811115611040578251825591602001919060010190611025565b5b50905061104e9190611052565b5090565b5b8082111561106b576000816000905550600101611053565b509056fea26469706673582212208c4ec2b6f86ef611b25a70a136d7949c97f02b7e68f87103a18928c46be968e264736f6c634300070600330000000000000000000000006e4c6d9b0930073e958abd2aba516b885260b8ff

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c80635c975abb146100675780636b8ff574146100875780639416b4231461012e5780639ffdb65a14610262578063ec75d62214610333578063fe55932a14610404575b600080fd5b61006f6104c9565b60405180821515815260200191505060405180910390f35b6100b36004803603602081101561009d57600080fd5b81019080803590602001909291905050506104df565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f35780820151818401526020810190506100d8565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e76004803603602081101561014457600080fd5b810190808035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610594565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031b6004803603602081101561027857600080fd5b810190808035906020019064010000000081111561029557600080fd5b8201836020820111156102a757600080fd5b803590602001918460018302840111640100000000831117156102c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610711565b60405180821515815260200191505060405180910390f35b6103ec6004803603602081101561034957600080fd5b810190808035906020019064010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184600183028401116401000000008311171561039a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a18565b60405180821515815260200191505060405180910390f35b6104c76004803603604081101561041a57600080fd5b81019080803590602001909291908035906020019064010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184600183028401116401000000008311171561047557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610aa0565b005b60008060009054906101000a900460ff16905090565b6060600160008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105885780601f1061055d57610100808354040283529160200191610588565b820191906000526020600020905b81548152906001019060200180831161056b57829003601f168201915b50505050509050919050565b606060008290506000815167ffffffffffffffff811180156105b557600080fd5b506040519080825280601f01601f1916602001820160405280156105e85781602001600182028036833780820191505090505b50905060005b825181101561070657604183828151811061060557fe5b602001015160f81c60f81b60f81c60ff16101580156106415750605a83828151811061062d57fe5b602001015160f81c60f81b60f81c60ff1611155b156106a657602083828151811061065457fe5b602001015160f81c60f81b60f81c0160f81b82828151811061067257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506106f9565b8281815181106106b257fe5b602001015160f81c60f81b8282815181106106c957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b80806001019150506105ee565b508092505050919050565b60008082905060018151101561072b576000915050610a13565b60208151111561073f576000915050610a13565b602060f81b8160008151811061075157fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561078e576000915050610a13565b602060f81b816001835103815181106107a357fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107e0576000915050610a13565b6000816000815181106107ef57fe5b602001015160f81c60f81b905060005b8251811015610a0b57600083828151811061081657fe5b602001015160f81c60f81b9050602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561087d5750602060f81b837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b1561088f576000945050505050610a13565b603060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156108eb5750603960f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1580156109515750604160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561094f5750605a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b80156109b65750606160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156109b45750607a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b80156109e85750602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b156109fa576000945050505050610a13565b8092505080806001019150506107ff565b506001925050505b919050565b60006002610a2583610594565b6040518082805190602001908083835b60208310610a585780518252602082019150602081019050602083039250610a35565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050919050565b610aa86104c9565b15610b1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d6020811015610bb857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610be7610f2f565b73ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433732313a2063616c6c6572206973206e6f7420746865206f776e65720081525060200191505060405180910390fd5b60011515610c7d82610711565b151514610cf2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f496e76616c6964206e616d65000000000000000000000000000000000000000081525060200191505060405180910390fd5b60001515610cff82610a18565b151514610d74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e616d6520616c726561647920696e207573650000000000000000000000000081525060200191505060405180910390fd5b6000600160008481526020019081526020016000208054600181600116156101000203166002900490501115610e5b57610e5a600160008481526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e4e5780601f10610e2357610100808354040283529160200191610e4e565b820191906000526020600020905b815481529060010190602001808311610e3157829003601f168201915b50505050506000610f37565b5b610e66816001610f37565b80600160008481526020019081526020016000209080519060200190610e8d929190610fc4565b50817f8edfa912e70e283a8ef6d6f52cd1faef9690ff989eff2f11a134e8478ba7b28b826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ef1578082015181840152602081019050610ed6565b50505050905090810190601f168015610f1e5780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600033905090565b806002610f4384610594565b6040518082805190602001908083835b60208310610f765780518252602082019150602081019050602083039250610f53565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282610ffa5760008555611041565b82601f1061101357805160ff1916838001178555611041565b82800160010185558215611041579182015b82811115611040578251825591602001919060010190611025565b5b50905061104e9190611052565b5090565b5b8082111561106b576000816000905550600101611053565b509056fea26469706673582212208c4ec2b6f86ef611b25a70a136d7949c97f02b7e68f87103a18928c46be968e264736f6c63430007060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006e4c6d9b0930073e958abd2aba516b885260b8ff

-----Decoded View---------------
Arg [0] : _token (address): 0x6e4c6D9B0930073e958ABd2ABa516b885260b8Ff

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006e4c6d9b0930073e958abd2aba516b885260b8ff


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.