ETH Price: $3,455.10 (+1.46%)
Gas: 8 Gwei

Token

Project ATOM Genesis AKIBA=E=BOY (atomgenesisv2)
 

Overview

Max Total Supply

298 atomgenesisv2

Holders

178

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
2 atomgenesisv2
0x4f15dA934c77eab045BcEbf119aC91A26B104376
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
atomgenesisv2

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2023-09-04
*/

// File contracts/atomgenesisv2.sol

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
//
// Project ATOM Genesis AKIBA=E=BOY - generated with https://dropu.io/
//



contract atomgenesisv2 {
    bytes32 internal constant _IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    bytes32 internal constant _ADDRESS_RELAY_SLOT =
        keccak256("dropu.launchpad.addressRelay");

    /**
     * @notice Initializes the child contract with the base implementation address and the configuration settings
     * @param _name The name of the NFT
     * @param _symbol The symbol of the NFT
     * @param _baseConfig Base configuration settings
     */
    constructor(
        string memory _name,
        string memory _symbol,
        address _addressRelay,
        address _implementation,
        BaseConfig memory _baseConfig
    ) {
        StorageSlot
            .getAddressSlot(_IMPLEMENTATION_SLOT)
            .value = _implementation;
        StorageSlot.getAddressSlot(_ADDRESS_RELAY_SLOT).value = _addressRelay;
        IAddressRelay addressRelay = IAddressRelay(
            StorageSlot.getAddressSlot(_ADDRESS_RELAY_SLOT).value
        );
        address implContract = addressRelay.fallbackImplAddress();
        (bool success, ) = implContract.delegatecall(
            abi.encodeWithSelector(0x32ad74b0, _name, _symbol, _baseConfig)
        );
        require(success, "INITIALIZER_FAILED");
    }

    /**
     * @dev Delegates the current call to nftImplementation
     *
     * This function does not return to its internal call site - it will return directly to the external caller.
     */
    fallback() external payable {
        IAddressRelay addressRelay = IAddressRelay(
            StorageSlot.getAddressSlot(_ADDRESS_RELAY_SLOT).value
        );
        address implContract = addressRelay.getImplAddress(msg.sig);

        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(
                gas(),
                implContract,
                0,
                calldatasize(),
                0,
                0
            )
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    receive() external payable {}
}
// Sources flattened with hardhat v2.15.0 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]

// OpenZeppelin Contracts (last updated v4.9.0) (utils/StorageSlot.sol)
// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.

pragma solidity ^0.8.0;

/**
 * @dev Library for reading and writing primitive types to specific storage slots.
 *
 * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
 * This library helps with reading and writing to such slots without the need for inline assembly.
 *
 * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
 *
 * Example usage to set ERC1967 implementation slot:
 * ```solidity
 * contract ERC1967 {
 *     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
 *
 *     function _getImplementation() internal view returns (address) {
 *         return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
 *     }
 *
 *     function _setImplementation(address newImplementation) internal {
 *         require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");
 *         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
 *     }
 * }
 * ```
 *
 * _Available since v4.1 for `address`, `bool`, `bytes32`, `uint256`._
 * _Available since v4.9 for `string`, `bytes`._
 */
library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    struct StringSlot {
        string value;
    }

    struct BytesSlot {
        bytes value;
    }

    /**
     * @dev Returns an `AddressSlot` with member `value` located at `slot`.
     */
    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `BooleanSlot` with member `value` located at `slot`.
     */
    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.
     */
    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Uint256Slot` with member `value` located at `slot`.
     */
    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `StringSlot` with member `value` located at `slot`.
     */
    function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `StringSlot` representation of the string storage pointer `store`.
     */
    function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := store.slot
        }
    }

    /**
     * @dev Returns an `BytesSlot` with member `value` located at `slot`.
     */
    function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.
     */
    function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := store.slot
        }
    }
}


// File contracts/interfaces/IAddressRelay.sol

pragma solidity ^0.8.18;

    struct Implementation {
        address implAddress;
        bytes4[] selectors;
    }

interface IAddressRelay {
    /**
     * @notice Returns the fallback implementation address
     */
    function fallbackImplAddress() external returns (address);

    /**
     * @notice Adds or updates selectors and their implementation addresses
     * @param _selectors The selectors to add or update
     * @param _implAddress The implementation address the selectors will point to
     */
    function addOrUpdateSelectors(
        bytes4[] memory _selectors,
        address _implAddress
    ) external;

    /**
     * @notice Removes selectors
     * @param _selectors The selectors to remove
     */
    function removeSelectors(bytes4[] memory _selectors) external;

    /**
     * @notice Removes an implementation address and all the selectors that point to it
     * @param _implAddress The implementation address to remove
     */
    function removeImplAddressAndAllSelectors(address _implAddress) external;

    /**
     * @notice Returns the implementation address for a given function selector
     * @param _functionSelector The function selector to get the implementation address for
     */
    function getImplAddress(
        bytes4 _functionSelector
    ) external view returns (address implAddress_);

    /**
     * @notice Returns all the implementation addresses and the selectors they support
     * @return impls_ An array of Implementation structs
     */
    function getAllImplAddressesAndSelectors()
    external
    view
    returns (Implementation[] memory impls_);

    /**
     * @notice Return all the fucntion selectors associated with an implementation address
     * @param _implAddress The implementation address to get the selectors for
     */
    function getSelectorsForImplAddress(
        address _implAddress
    ) external view returns (bytes4[] memory selectors_);

    /**
     * @notice Sets the fallback implementation address to use when a function selector is not found
     * @param _fallbackAddress The fallback implementation address
     */
    function setFallbackImplAddress(address _fallbackAddress) external;

    /**
     * @notice Updates the supported interfaces
     * @param _interfaceId The interface ID to update
     * @param _supported Whether the interface is supported or not
     */
    function updateSupportedInterfaces(
        bytes4 _interfaceId,
        bool _supported
    ) external;

    /**
     * @notice Returns whether the interface is supported or not
     * @param _interfaceId The interface ID to check
     */
    function supportsInterface(
        bytes4 _interfaceId
    ) external view returns (bool);
}


// File contracts/libraries/DropuStorage.sol

pragma solidity 0.8.18;

struct BaseConfig {
    // If true tokens can be minted in the public sale
    bool publicSaleActive;
    // If enabled, automatic start and stop times for the public sale will be enforced, otherwise ignored
    bool usePublicSaleTimes;
    // If true tokens can be minted in the presale
    bool presaleActive;
    // If enabled, automatic start and stop times for the presale will be enforced, otherwise ignored
    bool usePresaleTimes;
    // If true, all tokens will be soulbound
    bool soulbindingActive;
    // If true, a random hash will be generated for each token
    bool randomHashActive;
    // If true, the default CORI subscription address will be used to enforce royalties with the Operator Filter Registry
    bool enforceRoyalties;
    // If true, Dropu fees will be charged for minting tokens
    bool dropuFeeActive;
    // The number of tokens that can be minted in the public sale per address
    uint8 publicMintsAllowedPerAddress;
    // The number of tokens that can be minted in the presale per address
    uint8 presaleMintsAllowedPerAddress;
    // The number of tokens that can be minted in the public sale per transaction
    uint8 publicMintsAllowedPerTransaction;
    // The number of tokens that can be minted in the presale sale per transaction
    uint8 presaleMintsAllowedPerTransaction;
    // Maximum supply of tokens that can be minted
    uint16 maxSupply;
    // Total number of tokens available for minting in the presale
    uint16 presaleMaxSupply;
    // The royalty payout percentage in basis points
    uint16 royaltyBps;
    // The price of a token in the public sale in 1/100,000 ETH - e.g. 1 = 0.00001 ETH, 100,000 = 1 ETH - multiply by 10^13 to get correct wei amount
    uint32 publicPrice;
    // The price of a token in the presale in 1/100,000 ETH
    uint32 presalePrice;
    // Used to create a default Dropu Launchpad URI for token metadata to save gas over setting a custom URI and increase fetch reliability
    string projectSlug;
    // The base URI for all token metadata
    string uriBase;
    // The address used to sign and validate presale mints
    address presaleSignerAddress;
    // The automatic start time for the public sale (if usePublicSaleTimes is true and publicSaleActive is true)
    uint32 publicSaleStartTime;
    // The automatic end time for the public sale (if usePublicSaleTimes is true and publicSaleActive is true)
    uint32 publicSaleEndTime;
    // The automatic start time for the presale (if usePresaleTimes is true and presaleActive is true)
    uint32 presaleStartTime;
    // The automatic end time for the presale (if usePresaleTimes is true and presaleActive is true)
    uint32 presaleEndTime;
    // If set, the UTC timestamp in seconds by which the fundingTarget must be met or funds are refundable
    uint32 fundingEndsAt;
    // The amount of centiETH that must be raised by fundingEndsAt or funds are refundable - multiply by 10^16
    uint32 fundingTarget;
    // The parameter are used to determine how to pay for the service.
    // true: User pays the platform fee (default)
    // false: Project owner pays the platform fee
    bool userPayPlatformFee;
}

struct AdvancedConfig {
    // When false, tokens cannot be staked but can still be unstaked
    bool stakingActive;
    // When false, tokens cannot be loaned but can still be retrieved
    bool loaningActive;
    // If true tokens can be claimed for free
    bool freeClaimActive;
    // The number of tokens that can be minted per free claim
    uint8 mintsPerFreeClaim;
    // Optional address of an NFT that is eligible for free claim
    address freeClaimContractAddress;
    // If true tokens can be burned in order to mint
    bool burnClaimActive;
    // If true, the original token id of a burned token will be used for metadata
    bool useBurnTokenIdForMetadata;
    // The number of tokens that can be minted per burn transaction
    uint8 mintsPerBurn;
    // The payment required alongside a burn transaction in order to mint in 1/100,000 ETH
    uint32 burnPayment;
    // Permanently freezes payout addresses and basis points so they can never be updated
    bool payoutAddressesFrozen;
    // If set, the UTC timestamp in seconds until which tokens are refundable for refundPrice
    uint32 refundEndsAt;
    // The amount returned to a user in a token refund in 1/100,000 ETH
    uint32 refundPrice;
    // Permanently freezes metadata so it can never be changed
    bool metadataFrozen;
    // If true the soulbind admin address is permanently disabled
    bool soulbindAdminTransfersPermanentlyDisabled;
    // If true deposit tokens can be burned in order to mint
    bool depositClaimActive;
    // If additional payment is required to mint, this is the amount required in centiETH
    uint32 remainingDepositPayment;
    // The deposit token smart contract address
    address depositContractAddress;
    // The merkle root used to validate if deposit tokens are eligible to burn to mint
    bytes32 depositMerkleRoot;
    // The respective share of funds to be sent to each address in payoutAddresses in basis points
    uint16[] payoutBasisPoints;
    // The addresses to which funds are sent when a token is sold. If empty, funds are sent to the contract owner.
    address[] payoutAddresses;
    // Optional address where royalties are paid out. If not set, royalties are paid to the contract owner.
    address royaltyPayoutAddress;
    // Used to allow transferring soulbound tokens with admin privileges. Defaults to the contract owner if not set.
    address soulboundAdminAddress;
    // The address where refunded tokens are returned. If not set, refunded tokens are sent to the contract owner.
    address refundAddress;
    // An address authorized to call the creditCardMint function.
    address creditCardMintAddress;
}

struct BurnToken {
    // The contract address of the token to be burned
    address contractAddress;
    // The type of contract - 1 = ERC-721, 2 = ERC-1155
    uint8 tokenType;
    // The number of tokens to burn per mint
    uint8 tokensPerBurn;
    // The ID of the token on an ERC-1155 contract eligible for burn; unused for ERC-721
    uint16 tokenId;
}

struct Data {
    // ============ BASE FUNCTIONALITY ============
    // Dropu fee to be paid per minted token (if not set, defaults to defaultDropuFeePerToken)
    uint256 dropuFeePerToken;
    // Keeps track of if advanced config settings have been initialized to prevent setting multiple times
    bool advancedConfigInitialized;
    // A mapping of token IDs to specific tokenURIs for tokens that have custom metadata
    mapping(uint256 => string) tokenURIs;
    // ============ CONDITIONAL FUNDING ============
    // If true, the funding target was reached and funds are not refundable
    bool fundingTargetReached;
    // If true, funding success has been determined and determineFundingSuccess() can no longer be called
    bool fundingSuccessDetermined;
    // A mapping of token ID to price paid for the token
    mapping(uint256 => uint256) pricePaid;
    // ============ SOULBINDING ============
    // Used to allow an admin to transfer soulbound tokens when necessary
    bool soulboundAdminTransferInProgress;
    // ============ BURN TO MINT ============
    // Maps a token id to the burn token id that was used to mint it to match metadata
    mapping(uint256 => uint256) tokenIdToBurnTokenId;
    // ============ STAKING ============
    // Used to allow direct transfers of staked tokens without unstaking first
    bool stakingTransferActive;
    // Returns the UNIX timestamp at which a token began staking if currently staked
    mapping(uint256 => uint256) currentTimeStaked;
    // Returns the total time a token has been staked in seconds, not counting the current staking time if any
    mapping(uint256 => uint256) totalTimeStaked;
    // ============ LOANING ============
    // Used to keep track of the total number of tokens on loan
    uint256 currentLoanTotal;
    // Returns the total number of tokens loaned by an address
    mapping(address => uint256) totalLoanedPerAddress;
    // Returns the address of the original token owner if a token is currently on loan
    mapping(uint256 => address) tokenOwnersOnLoan;
    // ============ FREE CLAIM ============
    // If true token has already been used to claim and cannot be used again
    mapping(uint256 => bool) freeClaimUsed;
    // ============ RANDOM HASH ============
    // Stores a random hash for each token ID
    mapping(uint256 => bytes32) randomHashStore;
    // ============ ALLOWED CIREDIT MINT ADDRESSES  ============
    address[] creditCardMintAddresses;
}

library DropuStorage {
    struct State {
        BaseConfig cfg;
        AdvancedConfig advCfg;
        BurnToken[] burnTokens;
        Data data;
    }

    bytes32 internal constant STORAGE_SLOT =
        keccak256("dropu.launchpad.storage.erc721a");

    function state() internal pure returns (State storage s) {
        bytes32 slot = STORAGE_SLOT;
        assembly {
            s.slot := slot
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_addressRelay","type":"address"},{"internalType":"address","name":"_implementation","type":"address"},{"components":[{"internalType":"bool","name":"publicSaleActive","type":"bool"},{"internalType":"bool","name":"usePublicSaleTimes","type":"bool"},{"internalType":"bool","name":"presaleActive","type":"bool"},{"internalType":"bool","name":"usePresaleTimes","type":"bool"},{"internalType":"bool","name":"soulbindingActive","type":"bool"},{"internalType":"bool","name":"randomHashActive","type":"bool"},{"internalType":"bool","name":"enforceRoyalties","type":"bool"},{"internalType":"bool","name":"dropuFeeActive","type":"bool"},{"internalType":"uint8","name":"publicMintsAllowedPerAddress","type":"uint8"},{"internalType":"uint8","name":"presaleMintsAllowedPerAddress","type":"uint8"},{"internalType":"uint8","name":"publicMintsAllowedPerTransaction","type":"uint8"},{"internalType":"uint8","name":"presaleMintsAllowedPerTransaction","type":"uint8"},{"internalType":"uint16","name":"maxSupply","type":"uint16"},{"internalType":"uint16","name":"presaleMaxSupply","type":"uint16"},{"internalType":"uint16","name":"royaltyBps","type":"uint16"},{"internalType":"uint32","name":"publicPrice","type":"uint32"},{"internalType":"uint32","name":"presalePrice","type":"uint32"},{"internalType":"string","name":"projectSlug","type":"string"},{"internalType":"string","name":"uriBase","type":"string"},{"internalType":"address","name":"presaleSignerAddress","type":"address"},{"internalType":"uint32","name":"publicSaleStartTime","type":"uint32"},{"internalType":"uint32","name":"publicSaleEndTime","type":"uint32"},{"internalType":"uint32","name":"presaleStartTime","type":"uint32"},{"internalType":"uint32","name":"presaleEndTime","type":"uint32"},{"internalType":"uint32","name":"fundingEndsAt","type":"uint32"},{"internalType":"uint32","name":"fundingTarget","type":"uint32"},{"internalType":"bool","name":"userPayPlatformFee","type":"bool"}],"internalType":"struct BaseConfig","name":"_baseConfig","type":"tuple"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610ab4380380610ab483398101604081905261002f916103b3565b816100667f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61026360201b61010c1760201c565b60000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550826100af600080516020610a9483398151915261026360201b61010c1760201c565b60000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060006100f9600080516020610a9483398151915261026360201b61010c1760201c565b546040805163092900ef60e31b815290516001600160a01b03909216925060009183916349480778916004808301926020929190829003018187875af1158015610147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016b919061067f565b90506000816001600160a01b03166332ad74b0898987604051602401610193939291906106cd565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516101cc91906108e7565b600060405180830381855af49150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b50509050806102565760405162461bcd60e51b8152602060048201526012602482015271125392551250531256915497d1905253115160721b604482015260640160405180910390fd5b5050505050505050610903565b90565b634e487b7160e01b600052604160045260246000fd5b60405161036081016001600160401b038111828210171561029f5761029f610266565b60405290565b60005b838110156102c05781810151838201526020016102a8565b50506000910152565b600082601f8301126102da57600080fd5b81516001600160401b03808211156102f4576102f4610266565b604051601f8301601f19908116603f0116810190828211818310171561031c5761031c610266565b8160405283815286602085880101111561033557600080fd5b6103468460208301602089016102a5565b9695505050505050565b80516001600160a01b038116811461036757600080fd5b919050565b8051801515811461036757600080fd5b805160ff8116811461036757600080fd5b805161ffff8116811461036757600080fd5b805163ffffffff8116811461036757600080fd5b600080600080600060a086880312156103cb57600080fd5b85516001600160401b03808211156103e257600080fd5b6103ee89838a016102c9565b9650602088015191508082111561040457600080fd5b61041089838a016102c9565b955061041e60408901610350565b945061042c60608901610350565b9350608088015191508082111561044257600080fd5b90870190610360828a03121561045757600080fd5b61045f61027c565b6104688361036c565b81526104766020840161036c565b60208201526104876040840161036c565b60408201526104986060840161036c565b60608201526104a96080840161036c565b60808201526104ba60a0840161036c565b60a08201526104cb60c0840161036c565b60c08201526104dc60e0840161036c565b60e08201526101006104ef81850161037c565b9082015261012061050184820161037c565b9082015261014061051384820161037c565b9082015261016061052584820161037c565b9082015261018061053784820161038d565b908201526101a061054984820161038d565b908201526101c061055b84820161038d565b908201526101e061056d84820161039f565b9082015261020061057f84820161039f565b90820152610220838101518381111561059757600080fd5b6105a38c8287016102c9565b82840152505061024080840151838111156105bd57600080fd5b6105c98c8287016102c9565b82840152505061026091506105df828401610350565b8282015261028091506105f382840161039f565b828201526102a0915061060782840161039f565b828201526102c0915061061b82840161039f565b828201526102e0915061062f82840161039f565b82820152610300915061064382840161039f565b82820152610320915061065782840161039f565b82820152610340915061066b82840161036c565b828201528093505050509295509295909350565b60006020828403121561069157600080fd5b61069a82610350565b9392505050565b600081518084526106b98160208601602086016102a5565b601f01601f19169290920160200192915050565b6060815260006106e060608301866106a1565b82810360208401526106f281866106a1565b838103604085015284511515815290506103606020850151610718602084018215159052565b50604085015161072c604084018215159052565b506060850151610740606084018215159052565b506080850151610754608084018215159052565b5060a085015161076860a084018215159052565b5060c085015161077c60c084018215159052565b5060e085015161079060e084018215159052565b506101008581015160ff90811691840191909152610120808701518216908401526101408087015182169084015261016080870151909116908301526101808086015161ffff908116918401919091526101a0808701518216908401526101c080870151909116908301526101e08086015163ffffffff90811691840191909152610200808701519091169083015261022080860151818401839052610838838501826106a1565b92505050610240808601518383038285015261085483826106a1565b9250505061026080860151610873828501826001600160a01b03169052565b50506102808581015163ffffffff908116918401919091526102a0808701518216908401526102c0808701518216908401526102e080870151821690840152610300808701518216908401526103208087015190911690830152610340948501511515949091019390935250909392505050565b600082516108f98184602087016102a5565b9190910192915050565b610182806109126000396000f3fe60806040523661000b57005b60007ff7f583f9aad5515fd4c2367e800b8145913eacfd53c418fdd881b65a063703c3546040517fc2c95814000000000000000000000000000000000000000000000000000000008152600080357fffffffff0000000000000000000000000000000000000000000000000000000016600483015273ffffffffffffffffffffffffffffffffffffffff9092169250829063c2c9581490602401602060405180830381865afa1580156100c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e6919061010f565b90503660008037600080366000845af43d6000803e808015610107573d6000f35b3d6000fd5b90565b60006020828403121561012157600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461014557600080fd5b939250505056fea26469706673582212203db7d2b24a771ae5c2290a153b0ee2bc3112c5de335dfca5638861de00429ad364736f6c63430008120033f7f583f9aad5515fd4c2367e800b8145913eacfd53c418fdd881b65a063703c300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f045604f011f1a265dc0a61cd7a4a178d3d6288c000000000000000000000000e9c7278a095c0e255cba561613c875a2aef2b6710000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002050726f6a6563742041544f4d2047656e6573697320414b4942413d453d424f59000000000000000000000000000000000000000000000000000000000000000d61746f6d67656e6573697376320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000017700000000000000000000000000000000000000000000000000000000000001770000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000d24b5ec0a5440face72bb938f7ffc83e7d9b4240000000000000000000000000000000000000000000000000000000064f6a7c00000000000000000000000000000000000000000000000000000000064ffc6200000000000000000000000000000000000000000000000000000000064f68ba00000000000000000000000000000000000000000000000000000000064f6a7c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000015356272757234573530306652683644697a4f6451310000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d515045437a6d35777452504d4c385038384c684e537a70777865366569337a33385a59787a53686a6462444a2f00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040523661000b57005b60007ff7f583f9aad5515fd4c2367e800b8145913eacfd53c418fdd881b65a063703c3546040517fc2c95814000000000000000000000000000000000000000000000000000000008152600080357fffffffff0000000000000000000000000000000000000000000000000000000016600483015273ffffffffffffffffffffffffffffffffffffffff9092169250829063c2c9581490602401602060405180830381865afa1580156100c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e6919061010f565b90503660008037600080366000845af43d6000803e808015610107573d6000f35b3d6000fd5b90565b60006020828403121561012157600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461014557600080fd5b939250505056fea26469706673582212203db7d2b24a771ae5c2290a153b0ee2bc3112c5de335dfca5638861de00429ad364736f6c63430008120033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f045604f011f1a265dc0a61cd7a4a178d3d6288c000000000000000000000000e9c7278a095c0e255cba561613c875a2aef2b6710000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002050726f6a6563742041544f4d2047656e6573697320414b4942413d453d424f59000000000000000000000000000000000000000000000000000000000000000d61746f6d67656e6573697376320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000017700000000000000000000000000000000000000000000000000000000000001770000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000d24b5ec0a5440face72bb938f7ffc83e7d9b4240000000000000000000000000000000000000000000000000000000064f6a7c00000000000000000000000000000000000000000000000000000000064ffc6200000000000000000000000000000000000000000000000000000000064f68ba00000000000000000000000000000000000000000000000000000000064f6a7c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000015356272757234573530306652683644697a4f6451310000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d515045437a6d35777452504d4c385038384c684e537a70777865366569337a33385a59787a53686a6462444a2f00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Project ATOM Genesis AKIBA=E=BOY
Arg [1] : _symbol (string): atomgenesisv2
Arg [2] : _addressRelay (address): 0xF045604F011F1a265Dc0A61Cd7a4a178D3D6288C
Arg [3] : _implementation (address): 0xE9c7278a095C0E255Cba561613c875a2AeF2b671
Arg [4] : _baseConfig (tuple): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]

-----Encoded View---------------
42 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 000000000000000000000000f045604f011f1a265dc0a61cd7a4a178d3d6288c
Arg [3] : 000000000000000000000000e9c7278a095c0e255cba561613c875a2aef2b671
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [6] : 50726f6a6563742041544f4d2047656e6573697320414b4942413d453d424f59
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [8] : 61746f6d67656e65736973763200000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [17] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [18] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [22] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [24] : 0000000000000000000000000000000000000000000000000000000000001770
Arg [25] : 0000000000000000000000000000000000000000000000000000000000001770
Arg [26] : 0000000000000000000000000000000000000000000000000000000000000360
Arg [27] : 00000000000000000000000000000000000000000000000000000000000003a0
Arg [28] : 0000000000000000000000000d24b5ec0a5440face72bb938f7ffc83e7d9b424
Arg [29] : 0000000000000000000000000000000000000000000000000000000064f6a7c0
Arg [30] : 0000000000000000000000000000000000000000000000000000000064ffc620
Arg [31] : 0000000000000000000000000000000000000000000000000000000064f68ba0
Arg [32] : 0000000000000000000000000000000000000000000000000000000064f6a7c0
Arg [33] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [34] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [37] : 356272757234573530306652683644697a4f6451310000000000000000000000
Arg [38] : 0000000000000000000000000000000000000000000000000000000000000044
Arg [39] : 68747470733a2f2f697066732e696f2f697066732f516d515045437a6d357774
Arg [40] : 52504d4c385038384c684e537a70777865366569337a33385a59787a53686a64
Arg [41] : 62444a2f00000000000000000000000000000000000000000000000000000000


Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.