ETH Price: $3,037.65 (+0.22%)
 

More Info

Private Name Tags

Multichain Info

Transaction Hash
Method
Block
From
To
Mint_efficient_7...1323962002025-02-24 9:59:37285 days ago1740391177IN
0x00000000...5EA6242ac
0.000377 ETH0.0000002424770.0014995
Mint_efficient_7...1320679032025-02-16 19:36:23293 days ago1739734583IN
0x00000000...5EA6242ac
0.000777 ETH0.0000000602950.0001018
Mint_efficient_7...1316364152025-02-06 19:53:27303 days ago1738871607IN
0x00000000...5EA6242ac
0.000311 ETH0.0000005343780.00086326
Mint_efficient_7...1316350002025-02-06 19:06:17303 days ago1738868777IN
0x00000000...5EA6242ac
0.000477 ETH0.0000004557270.00100079
Mint_efficient_7...1316040232025-02-06 1:53:43304 days ago1738806823IN
0x00000000...5EA6242ac
0.000311 ETH0.0000000088060.00000168
Mint_efficient_7...1315696432025-02-05 6:47:43305 days ago1738738063IN
0x00000000...5EA6242ac
0.001131 ETH0.0000000779860.00010074
Mint_efficient_7...1315692442025-02-05 6:34:25305 days ago1738737265IN
0x00000000...5EA6242ac
0.000311 ETH0.0000000527280.00000096
Mint_efficient_7...1315688872025-02-05 6:22:31305 days ago1738736551IN
0x00000000...5EA6242ac
0.000754 ETH0.0000000473630.00010106
Mint_efficient_7...1315642972025-02-05 3:49:31305 days ago1738727371IN
0x00000000...5EA6242ac
0.000377 ETH0.0000000987840.0001006
Mint_efficient_7...1314256902025-02-01 22:49:17308 days ago1738450157IN
0x00000000...5EA6242ac
0.000311 ETH0.000000021480.00000063
Mint_efficient_7...1313448972025-01-31 1:56:11310 days ago1738288571IN
0x00000000...5EA6242ac
0.0002888 ETH0.0000001545030.00100086
Mint_efficient_7...1312450042025-01-28 18:26:25312 days ago1738088785IN
0x00000000...5EA6242ac
0.000533 ETH0.0000016638640.0010087
Mint_efficient_7...1312429432025-01-28 17:17:43312 days ago1738084663IN
0x00000000...5EA6242ac
0.000377 ETH0.0000024983010.00100027
Mint_efficient_7...1312401342025-01-28 15:44:05312 days ago1738079045IN
0x00000000...5EA6242ac
0.000477 ETH0.0000089064490.00100029
Mint_efficient_7...1312401122025-01-28 15:43:21312 days ago1738079001IN
0x00000000...5EA6242ac
0.000333999 ETH0.0000085033920.00100029
Mint_efficient_7...1312399092025-01-28 15:36:35312 days ago1738078595IN
0x00000000...5EA6242ac
0.000533 ETH0.0000052378460.00100036
Mint_efficient_7...1312395982025-01-28 15:26:13312 days ago1738077973IN
0x00000000...5EA6242ac
0.000754 ETH0.0000079511670.00100037
Mint_efficient_7...1312333662025-01-28 11:58:29312 days ago1738065509IN
0x00000000...5EA6242ac
0.000777 ETH0.0000005502670.0010006
Mint_efficient_7...1312327772025-01-28 11:38:51312 days ago1738064331IN
0x00000000...5EA6242ac
0.000777 ETH0.0000001893480.00010055
Mint_efficient_7...1312274732025-01-28 8:42:03313 days ago1738053723IN
0x00000000...5EA6242ac
0.000777 ETH0.0000000719530.00010052
Mint_efficient_7...1312088482025-01-27 22:21:13313 days ago1738016473IN
0x00000000...5EA6242ac
0.000777 ETH0.0000012508180.00010033
Mint_efficient_7...1312006182025-01-27 17:46:53313 days ago1738000013IN
0x00000000...5EA6242ac
0.000777 ETH0.0000017107970.0010005
Mint_efficient_7...1312003842025-01-27 17:39:05313 days ago1737999545IN
0x00000000...5EA6242ac
0.000777 ETH0.0000027804270.0010005
Mint_efficient_7...1311997442025-01-27 17:17:45313 days ago1737998265IN
0x00000000...5EA6242ac
0.000777 ETH0.000004152680.00010029
Mint_efficient_7...1311997302025-01-27 17:17:17313 days ago1737998237IN
0x00000000...5EA6242ac
0.000777 ETH0.0000035758310.00010029
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1323962002025-02-24 9:59:37285 days ago1740391177
0x00000000...5EA6242ac
0.000377 ETH
1320679032025-02-16 19:36:23293 days ago1739734583
0x00000000...5EA6242ac
0.000777 ETH
1316364152025-02-06 19:53:27303 days ago1738871607
0x00000000...5EA6242ac
0.000311 ETH
1316350002025-02-06 19:06:17303 days ago1738868777
0x00000000...5EA6242ac
0.000477 ETH
1316040232025-02-06 1:53:43304 days ago1738806823
0x00000000...5EA6242ac
0.000311 ETH
1315696432025-02-05 6:47:43305 days ago1738738063
0x00000000...5EA6242ac
0.001131 ETH
1315692442025-02-05 6:34:25305 days ago1738737265
0x00000000...5EA6242ac
0.000311 ETH
1315688872025-02-05 6:22:31305 days ago1738736551
0x00000000...5EA6242ac
0.000754 ETH
1315642972025-02-05 3:49:31305 days ago1738727371
0x00000000...5EA6242ac
0.000377 ETH
1314256902025-02-01 22:49:17308 days ago1738450157
0x00000000...5EA6242ac
0.000311 ETH
1313448972025-01-31 1:56:11310 days ago1738288571
0x00000000...5EA6242ac
0.0002888 ETH
1312450042025-01-28 18:26:25312 days ago1738088785
0x00000000...5EA6242ac
0.000533 ETH
1312429432025-01-28 17:17:43312 days ago1738084663
0x00000000...5EA6242ac
0.000377 ETH
1312401342025-01-28 15:44:05312 days ago1738079045
0x00000000...5EA6242ac
0.000477 ETH
1312401122025-01-28 15:43:21312 days ago1738079001
0x00000000...5EA6242ac
0.000333999 ETH
1312399092025-01-28 15:36:35312 days ago1738078595
0x00000000...5EA6242ac
0.000533 ETH
1312395982025-01-28 15:26:13312 days ago1738077973
0x00000000...5EA6242ac
0.000754 ETH
1312333662025-01-28 11:58:29312 days ago1738065509
0x00000000...5EA6242ac
0.000777 ETH
1312327772025-01-28 11:38:51312 days ago1738064331
0x00000000...5EA6242ac
0.000777 ETH
1312274732025-01-28 8:42:03313 days ago1738053723
0x00000000...5EA6242ac
0.000777 ETH
1312088482025-01-27 22:21:13313 days ago1738016473
0x00000000...5EA6242ac
0.000777 ETH
1312006182025-01-27 17:46:53313 days ago1738000013
0x00000000...5EA6242ac
0.000777 ETH
1312003842025-01-27 17:39:05313 days ago1737999545
0x00000000...5EA6242ac
0.000777 ETH
1311997442025-01-27 17:17:45313 days ago1737998265
0x00000000...5EA6242ac
0.000777 ETH
1311997302025-01-27 17:17:17313 days ago1737998237
0x00000000...5EA6242ac
0.000777 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BasicMintModule

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 250000 runs

Other Settings:
paris EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

import {IBasicMintModule, IConfigurable} from "create/interfaces/v1/IBasicMintModule.sol";
import {IMintPayout} from "create/interfaces/v1/IMintPayout.sol";
import {IMintContract} from "create/interfaces/v1/IMintContract.sol";
import {BasicMintConfiguration} from "create/interfaces/v1/BasicMintConfiguration.sol";
import {Version} from "create/contracts/v1/Version.sol";

contract BasicMintModule is IBasicMintModule, Version {
    IMintPayout public immutable mintPayout;

    mapping(address => BasicMintConfiguration) private _configurations;
    mapping(address => mapping(address => uint256)) private _mintedByAddress;
    mapping(address => uint256) public mintedByContract;

    /// @notice Emitted when quantity is zero.
    error InvalidQuantity();
    /// @notice Emitted if the collector is minting too many tokens per transaction.
    error TooManyTokensPerTransaction();
    /// @notice Emitted if the collector is minting too many tokens per wallet.
    error TooManyTokensPerCollector();
    /// @notice Emitted if the collector is minting more tokens than this module is allowed to mint.
    error TooManyTokensForModule();
    /// @notice Emitted if the mint has not started yet.
    error MintNotStarted();
    /// @notice Emitted if the mint has ended.
    error MintEnded();
    /// @notice Emitted when the value sent is incorrect.
    error IncorrectPayment();
    /// @notice Emitted when the max supply is reached.
    error MaxSupplyReached();

    constructor(address _mintPayout) Version(1) {
        mintPayout = IMintPayout(_mintPayout);
    }

    /// @inheritdoc IConfigurable
    function updateConfiguration(bytes calldata args) external override {
        BasicMintConfiguration memory _config = abi.decode(args, (BasicMintConfiguration));

        _configurations[msg.sender] = _config;
        emit ConfigurationUpdated(msg.sender, _config);
    }

    /// @inheritdoc IBasicMintModule
    function configuration(address _contract) external view returns (BasicMintConfiguration memory) {
        return _configurations[_contract];
    }

    /// @inheritdoc IBasicMintModule
    function mint(address _contract, address _to, address _referrer, uint256 _quantity) external payable {
        _mint(_contract, _to, _referrer, _quantity);
    }

    /// @inheritdoc IBasicMintModule
    function mint_efficient_7e80c46e(address _contract, address _to, address _referrer, uint256 _quantity)
        external
        payable
    {
        _mint(_contract, _to, _referrer, _quantity);
    }

    /// @notice The implementation of the mint function.
    /// @dev This is implemented as an internal function to share the logic between the `mint` and `mint_efficient_7e80c46e` functions.
    /// See the documentation for those functions for information on the parameters.
    function _mint(address _contract, address _to, address _referrer, uint256 _quantity) internal {
        BasicMintConfiguration memory config = _configurations[_contract];

        if (_quantity == 0) revert InvalidQuantity();
        if (config.maxPerTransaction > 0 && _quantity > config.maxPerTransaction) revert TooManyTokensPerTransaction();

        if (config.maxPerWallet > 0) {
            if (_mintedByAddress[_contract][_to] + _quantity > config.maxPerWallet) {
                revert TooManyTokensPerCollector();
            }
        }

        if (config.maxForModule > 0 && mintedByContract[_contract] + _quantity > config.maxForModule) {
            revert TooManyTokensForModule();
        }

        if (block.timestamp < config.mintStart) revert MintNotStarted();
        if (config.mintEnd > 0 && block.timestamp > config.mintEnd) revert MintEnded();

        uint256 protocolFee = mintPayout.protocolFee();
        if (msg.value != (config.price + protocolFee) * _quantity) revert IncorrectPayment();

        if (config.maxSupply > 0 && IMintContract(_contract).totalMinted() + _quantity > config.maxSupply) {
            revert MaxSupplyReached();
        }

        _mintedByAddress[_contract][_to] += _quantity;
        mintedByContract[_contract] += _quantity;

        mintPayout.mintDeposit{value: msg.value}(_contract, msg.sender, _referrer, _quantity);
        IMintContract(_contract).mint(_to, _quantity);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

import {BasicMintConfiguration} from "create/interfaces/v1/BasicMintConfiguration.sol";
import {IConfigurable} from "create/interfaces/v1/IConfigurable.sol";

interface IBasicMintModuleEvents {
    /// @notice Emitted when a contract's basic mint configuration is updated.
    /// @param _contract The address of the contract being configured.
    /// @param _config The new configuration.
    event ConfigurationUpdated(address indexed _contract, BasicMintConfiguration _config);
}

interface IBasicMintModule is IConfigurable, IBasicMintModuleEvents {
    /// @notice Retrieves the basic minting configuration for a contract.
    /// @param _contract The address of the contract.
    /// @return The current minting configuration.
    function configuration(address _contract) external view returns (BasicMintConfiguration memory);

    /// @notice Mints tokens for a NFT contract to a recipient.
    /// @dev Reverts if the mint does not work in the current configuration.
    /// @param _contract The address of the contract to mint for.
    /// @param _to The recipient of the tokens.
    /// @param _referrer The referrer of this mint, or the zero address if none.
    /// @param _quantity The quantity of tokens to mint.
    function mint(address _contract, address _to, address _referrer, uint256 _quantity) external payable;

    /// @notice Mints tokens for a NFT contract to a recipient.
    /// @dev Reverts if the mint does not work in the current configuration.
    /// This function is preferred over `mint` because the four byte signature is 0x00000000 which is cheaper to call.
    /// The implementation is identical to `mint`.
    /// @param _contract The address of the contract to mint for.
    /// @param _to The recipient of the tokens.
    /// @param _referrer The referrer of this mint, or the zero address if none.
    /// @param _quantity The quantity of tokens to mint.
    function mint_efficient_7e80c46e(address _contract, address _to, address _referrer, uint256 _quantity)
        external
        payable;
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

interface IMintPayoutEvents {
    /// @notice Emitted when a deposit has been made.
    /// @param from The depositor's address.
    /// @param to The address receiving the deposit.
    /// @param reason The reason code for the deposit.
    /// @param amount The deposit amount.
    event Deposit(address from, address to, bytes4 reason, uint256 amount);

    /// @notice Emitted when a withdrawal has been made.
    /// @param from The address withdrawing.
    /// @param to The address receiving the withdrawn funds.
    /// @param amount The withdrawal amount.
    event Withdraw(address from, address to, uint256 amount);

    /// @notice Emitted during a mint deposit to provide additional context.
    /// @param depositedBy The address of the mint initiator.
    /// @param mintContract The mint contract address this mint deposit refers to.
    /// @param minter The address of the person minting.
    /// @param referrer The address of the referrer, or the zero address for no referrer.
    /// @param creator The address of the contract creator, or the protocol fee recipient if none.
    /// @param creatorPayout The amount being paid to the creator.
    /// @param referralPayout The amount being paid to the referrer.
    /// @param protocolPayout The amount being paid to the protocol.
    /// @param totalAmount The total deposit amount.
    /// @param quantity The number of tokens being minted.
    /// @param protocolFee The per-mint fee for the protocol.
    event MintDeposit(
        address depositedBy,
        address mintContract,
        address minter,
        address referrer,
        address creator,
        uint256 creatorPayout,
        uint256 referralPayout,
        uint256 protocolPayout,
        uint256 totalAmount,
        uint256 quantity,
        uint256 protocolFee
    );

    /// @notice Emitted when the protocol fee is updated.
    /// @param fee The new protocol fee.
    event ProtocolFeeUpdated(uint256 fee);
}

interface IMintPayout is IMintPayoutEvents {
    function balanceOf(address owner) external view returns (uint256);
    function totalSupply() external view returns (uint256);

    /// @notice The current protocol fee per-mint.
    function protocolFee() external view returns (uint256 fee);

    /// @notice Sets the protocol fee per-mint.
    /// @dev Only callable by the owner.
    /// @param fee The new protocol fee.
    function setProtocolFee(uint256 fee) external;

    /// @notice Magic value used to represent the fees belonging to the protocol.
    function protocolFeeRecipientAccount() external view returns (address);

    /// @notice Withdraws from the protocol fee balance.
    /// @dev Only callable by the owner.
    /// @param to The address receiving the withdrawn funds.
    /// @param amount The withdrawal amount.
    function withdrawProtocolFee(address to, uint256 amount) external;

    /// @notice Deposits ether for a mint.
    /// @dev Ensure that `quantity` is > 0. The `protocolFee` should be per-mint, not the total taken.
    /// Will trigger a `MintDeposit` event, followed by `Deposit` events for:
    /// creator payout, protocol payout, and referrer payout (if a referrer is specified).
    /// @param mintContract The mint contract address this mint deposit refers to.
    /// @param minter The address of the minter.
    /// @param referrer The address of the referrer, or the zero address for no referrer.
    /// @param quantity The amount being minted.
    function mintDeposit(address mintContract, address minter, address referrer, uint256 quantity) external payable;

    /// @notice Deposits ether to an address.
    /// @param to The address receiving the deposit.
    /// @param reason The reason code for the deposit.
    function deposit(address to, bytes4 reason) external payable;

    /// @notice Deposits ether to multiple addresses.
    /// @dev The length of `recipients`, `amounts`, and `reasons` must be the same.
    /// @param recipients List of addresses receiving the deposits.
    /// @param amounts List of deposit amounts.
    /// @param reasons List of reason codes for the deposits.
    function depositBatch(address[] calldata recipients, uint256[] calldata amounts, bytes4[] calldata reasons)
        external
        payable;

    /// @notice Withdraws ether from the `msg.sender`'s account to a specified address.
    /// @param to The address receiving the withdrawn funds.
    /// @param amount The withdrawal amount.
    function withdraw(address to, uint256 amount) external;

    /// @notice Withdraws all ether from the `msg.sender`'s account to a specified address.
    /// @param to The address receiving the withdrawn funds.
    function withdrawAll(address to) external;
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

import {IMetadataRenderer} from "create/interfaces/v1/IMetadataRenderer.sol";

interface IMintContractEvents {
    /// @notice Emitted when the royalty is updated.
    event RoyaltyUpdated(uint256 bps);
    /// @notice Emitted when a new mint module is added.
    event ModuleAdded(address module);
    /// @notice Emitted when a mint module is removed.
    event ModuleRemoved(address module);
    /// @notice Emitted when the metadata renderer is updated.
    event MetadataRendererUpdated(address renderer);
}

interface IMintContract is IMintContractEvents {
    /// @notice Mints tokens using approved mint modules.
    /// @param to The address receiving the minted tokens.
    /// @param quantity The quantity of tokens to mint.
    function mint(address to, uint256 quantity) external;

    /// @notice Mints tokens, callable only by the contract owner.
    /// @param to The address receiving the minted tokens.
    /// @param quantity The quantity of tokens to mint.
    function adminMint(address to, uint256 quantity) external;

    /// @notice Retrieves the payout recipient address for this mint contract.
    /// @return recipient address of the payout recipient.
    function payoutRecipient() external view returns (address recipient);

    /// @notice Returns the total number of tokens minted.
    /// @return total number of tokens minted.
    function totalMinted() external view returns (uint256 total);

    /// @notice Adds a new mint module as an approved minter.
    /// @dev Can only be executed by the owner of the contract.
    /// Must be approved in the MintModuleRegistry.
    /// @param mintModule The contract address of the mint module.
    function addMintModule(address mintModule) external;

    /// @notice Removes a mint module as an approved minter.
    /// @dev Can only be executed by the owner of the contract.
    /// @param mintModule The contract address of the mint module.
    function removeMintModule(address mintModule) external;

    /// @notice Returns whether a mint module is approved.
    /// @param mintModule The contract address of the mint module.
    /// @return isApproved Whether the mint module is approved.
    function isMintModuleApproved(address mintModule) external view returns (bool isApproved);

    /// @notice Updates configuration located in an external contract.
    /// @dev Can only be executed by the owner of the contract.
    /// The cardinality of `configurables` and `configData` must be the same.
    /// @param configurables The contract addresses to configure.
    /// @param configData The configuration data for the contracts.
    function updateExternalConfiguration(address[] calldata configurables, bytes[] calldata configData) external;

    /// @notice Sets the metadata renderer.
    /// @dev This will not request a metadata refresh. If needed, call `refreshMetadata`.
    /// @param renderer The new metadata renderer.
    function setMetadataRenderer(IMetadataRenderer renderer) external;

    /// @notice Returns the metadata renderer for this contract.
    /// @return metadataRenderer The metadata renderer.
    function metadataRenderer() external returns (IMetadataRenderer metadataRenderer);

    /// @notice Triggers a batch metadata update.
    function refreshMetadata() external;

    /// @notice Updates the royalty for this contract.
    /// @dev Can only be called by the contract owner.
    /// Emits a `RoyaltyUpdated` event.
    /// @param bps The new royalty.
    function setRoyalty(uint256 bps) external;

    /// @notice Returns the royalty for this contract.
    /// @return bps The royalty.
    function royaltyBps() external returns (uint256 bps);
}

File 5 of 8 : BasicMintConfiguration.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

struct BasicMintConfiguration {
    /// @notice Purchase cost per token.
    uint256 price;
    /// @notice UNIX timestamp of mint start.
    uint64 mintStart;
    /// @notice UNIX timestamp of mint end, or zero if open-ended.
    uint64 mintEnd;
    /// @notice Maximum token purchase limit per wallet, or zero if no limit.
    uint32 maxPerWallet;
    /// @notice Maximum tokens mintable per transaction, or zero if no limit.
    uint32 maxPerTransaction;
    /// @notice Maximum tokens mintable by this module, or zero if no limit.
    uint32 maxForModule;
    /// @notice Maximum tokens that can be minted in total, or zero if no max.
    uint32 maxSupply;
}

File 6 of 8 : Version.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

abstract contract Version {
    /// @notice The version of the contract.
    uint32 public immutable contractVersion;

    constructor(uint32 _contractVersion) {
        contractVersion = _contractVersion;
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

interface IConfigurable {
    /// @notice Updates the configuration for the calling contract.
    /// @param data The configuration data.
    function updateConfiguration(bytes calldata data) external;
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

interface IMetadataRenderer {
    /// @notice Retrieves the token URI for the specified token ID.
    /// @param tokenId The ID of the token.
    /// @return uri The URI of the token.
    function tokenURI(uint256 tokenId) external view returns (string memory uri);
}

Settings
{
  "remappings": [
    "ERC721A/=lib/ERC721A/contracts/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "solmate/=lib/solmate/src/",
    "solady/=lib/solady/src/",
    "fundrop/=src/Fundrop/",
    "operator-filter-registry/=lib/operator-filter-registry/src/",
    "base64/=lib/base64/",
    "create/=src/Create/",
    "erc4626-tests/=lib/operator-filter-registry/lib/openzeppelin-contracts/lib/erc4626-tests/",
    "erc721a-upgradeable/=lib/erc721a-upgradeable/contracts/",
    "openzeppelin-contracts-upgradeable/=lib/operator-filter-registry/lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 250000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_mintPayout","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"IncorrectPayment","type":"error"},{"inputs":[],"name":"InvalidQuantity","type":"error"},{"inputs":[],"name":"MaxSupplyReached","type":"error"},{"inputs":[],"name":"MintEnded","type":"error"},{"inputs":[],"name":"MintNotStarted","type":"error"},{"inputs":[],"name":"TooManyTokensForModule","type":"error"},{"inputs":[],"name":"TooManyTokensPerCollector","type":"error"},{"inputs":[],"name":"TooManyTokensPerTransaction","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_contract","type":"address"},{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"mintStart","type":"uint64"},{"internalType":"uint64","name":"mintEnd","type":"uint64"},{"internalType":"uint32","name":"maxPerWallet","type":"uint32"},{"internalType":"uint32","name":"maxPerTransaction","type":"uint32"},{"internalType":"uint32","name":"maxForModule","type":"uint32"},{"internalType":"uint32","name":"maxSupply","type":"uint32"}],"indexed":false,"internalType":"struct BasicMintConfiguration","name":"_config","type":"tuple"}],"name":"ConfigurationUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"}],"name":"configuration","outputs":[{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"mintStart","type":"uint64"},{"internalType":"uint64","name":"mintEnd","type":"uint64"},{"internalType":"uint32","name":"maxPerWallet","type":"uint32"},{"internalType":"uint32","name":"maxPerTransaction","type":"uint32"},{"internalType":"uint32","name":"maxForModule","type":"uint32"},{"internalType":"uint32","name":"maxSupply","type":"uint32"}],"internalType":"struct BasicMintConfiguration","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractVersion","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"address","name":"_referrer","type":"address"},{"internalType":"uint256","name":"_quantity","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintPayout","outputs":[{"internalType":"contract IMintPayout","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"address","name":"_referrer","type":"address"},{"internalType":"uint256","name":"_quantity","type":"uint256"}],"name":"mint_efficient_7e80c46e","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintedByContract","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"args","type":"bytes"}],"name":"updateConfiguration","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561001057600080fd5b50604051610fbb380380610fbb83398101604081905261002f91610045565b60016080526001600160a01b031660a052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b60805160a051610f136100a8600039600081816102a1015281816108e00152610b72015260006102580152610f136000f3fe60806040526004361061006b5760003560e01c8063a0a8e4601161004e578063a0a8e46014610246578063abb162d01461028f578063bf89fcd3146102e8578063efed70711461032357600080fd5b8015610070578063815138921461007057806387f2f93114610085575b600080fd5b61008361007e366004610c8a565b610343565b005b34801561009157600080fd5b506101c76100a0366004610cd5565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525073ffffffffffffffffffffffffffffffffffffffff1660009081526020818152604091829020825160e0810184528154815260019091015467ffffffffffffffff808216938301939093526801000000000000000081049092169281019290925263ffffffff7001000000000000000000000000000000008204811660608401527401000000000000000000000000000000000000000082048116608084015278010000000000000000000000000000000000000000000000008204811660a08401527c01000000000000000000000000000000000000000000000000000000009091041660c082015290565b60405161023d9190600060e08201905082518252602083015167ffffffffffffffff80821660208501528060408601511660408501525050606083015163ffffffff80821660608501528060808601511660808501528060a08601511660a08501528060c08601511660c0850152505092915050565b60405180910390f35b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b34801561029b57600080fd5b506102c37f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b3480156102f457600080fd5b50610315610303366004610cd5565b60026020526000908152604090205481565b60405190815260200161023d565b34801561032f57600080fd5b5061008361033e366004610cf7565b610355565b61034f84848484610591565b50505050565b600061036382840184610d95565b3360008181526020818152604091829020845181559084015160019091018054838601516060870151608088015160a089015160c08a015163ffffffff9081167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9282167801000000000000000000000000000000000000000000000000029290921677ffffffffffffffffffffffffffffffffffffffffffffffff93821674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff9290951670010000000000000000000000000000000002919091167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff67ffffffffffffffff96871668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909816969099169590951795909517969096169290921717161791909117905551919250907f347dcf024ff81ae3ee3e6af91c3857828fc485ff63fa538cd22952fe2d7f836c90610584908490600060e08201905082518252602083015167ffffffffffffffff80821660208501528060408601511660408501525050606083015163ffffffff80821660608501528060808601511660808501528060a08601511660a08501528060c08601511660c0850152505092915050565b60405180910390a2505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320815160e0810183528154815260019091015467ffffffffffffffff808216948301949094526801000000000000000081049093169181019190915263ffffffff7001000000000000000000000000000000008304811660608301527401000000000000000000000000000000000000000083048116608083015278010000000000000000000000000000000000000000000000008304811660a08301527c010000000000000000000000000000000000000000000000000000000090920490911660c0820152908290036106b7576040517f524f409b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816080015163ffffffff161180156106da5750806080015163ffffffff1682115b15610711576040517fbd8860f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015163ffffffff16156107a557606081015173ffffffffffffffffffffffffffffffffffffffff80871660009081526001602090815260408083209389168352929052205463ffffffff9091169061076d908490610e94565b11156107a5576040517fb1c9261900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160a0015163ffffffff161180156107fb575060a081015173ffffffffffffffffffffffffffffffffffffffff861660009081526002602052604090205463ffffffff909116906107f9908490610e94565b115b15610832576040517fc0a8c7b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015167ffffffffffffffff1642101561087a576040517f06290e4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816040015167ffffffffffffffff161180156108a55750806040015167ffffffffffffffff1642115b156108dc576040517f49084b9400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b0e21e8a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190610ead565b9050828183600001516109809190610e94565b61098a9190610ec6565b34146109c2576040517f569e8c1100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260c0015163ffffffff16118015610a5e57508160c0015163ffffffff16838773ffffffffffffffffffffffffffffffffffffffff1663a2309ff86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190610ead565b610a5c9190610e94565b115b15610a95576040517fd05cb60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808716600090815260016020908152604080832093891683529290529081208054859290610ad9908490610e94565b909155505073ffffffffffffffffffffffffffffffffffffffff861660009081526002602052604081208054859290610b13908490610e94565b90915550506040517f0fea4a2900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301523360248301528581166044830152606482018590527f00000000000000000000000000000000000000000000000000000000000000001690630fea4a299034906084016000604051808303818588803b158015610bb757600080fd5b505af1158015610bcb573d6000803e3d6000fd5b50506040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018890528a1693506340c10f1992506044019050600060405180830381600087803b158015610c4157600080fd5b505af1158015610c55573d6000803e3d6000fd5b50505050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c8557600080fd5b919050565b60008060008060808587031215610ca057600080fd5b610ca985610c61565b9350610cb760208601610c61565b9250610cc560408601610c61565b9396929550929360600135925050565b600060208284031215610ce757600080fd5b610cf082610c61565b9392505050565b60008060208385031215610d0a57600080fd5b823567ffffffffffffffff80821115610d2257600080fd5b818501915085601f830112610d3657600080fd5b813581811115610d4557600080fd5b866020828501011115610d5757600080fd5b60209290920196919550909350505050565b803567ffffffffffffffff81168114610c8557600080fd5b803563ffffffff81168114610c8557600080fd5b600060e08284031215610da757600080fd5b60405160e0810181811067ffffffffffffffff82111715610df1577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405282358152610e0460208401610d69565b6020820152610e1560408401610d69565b6040820152610e2660608401610d81565b6060820152610e3760808401610d81565b6080820152610e4860a08401610d81565b60a0820152610e5960c08401610d81565b60c08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ea757610ea7610e65565b92915050565b600060208284031215610ebf57600080fd5b5051919050565b8082028115828204841417610ea757610ea7610e6556fea2646970667358221220f9bd0d184e7baaf68125fda59f92c4c43b864e6edf443ce2f0d5a9eb8bbdd54464736f6c6343000815003300000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a

Deployed Bytecode

0x60806040526004361061006b5760003560e01c8063a0a8e4601161004e578063a0a8e46014610246578063abb162d01461028f578063bf89fcd3146102e8578063efed70711461032357600080fd5b8015610070578063815138921461007057806387f2f93114610085575b600080fd5b61008361007e366004610c8a565b610343565b005b34801561009157600080fd5b506101c76100a0366004610cd5565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525073ffffffffffffffffffffffffffffffffffffffff1660009081526020818152604091829020825160e0810184528154815260019091015467ffffffffffffffff808216938301939093526801000000000000000081049092169281019290925263ffffffff7001000000000000000000000000000000008204811660608401527401000000000000000000000000000000000000000082048116608084015278010000000000000000000000000000000000000000000000008204811660a08401527c01000000000000000000000000000000000000000000000000000000009091041660c082015290565b60405161023d9190600060e08201905082518252602083015167ffffffffffffffff80821660208501528060408601511660408501525050606083015163ffffffff80821660608501528060808601511660808501528060a08601511660a08501528060c08601511660c0850152505092915050565b60405180910390f35b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000181565b60405163ffffffff909116815260200161023d565b34801561029b57600080fd5b506102c37f00000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b3480156102f457600080fd5b50610315610303366004610cd5565b60026020526000908152604090205481565b60405190815260200161023d565b34801561032f57600080fd5b5061008361033e366004610cf7565b610355565b61034f84848484610591565b50505050565b600061036382840184610d95565b3360008181526020818152604091829020845181559084015160019091018054838601516060870151608088015160a089015160c08a015163ffffffff9081167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9282167801000000000000000000000000000000000000000000000000029290921677ffffffffffffffffffffffffffffffffffffffffffffffff93821674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff9290951670010000000000000000000000000000000002919091167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff67ffffffffffffffff96871668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909816969099169590951795909517969096169290921717161791909117905551919250907f347dcf024ff81ae3ee3e6af91c3857828fc485ff63fa538cd22952fe2d7f836c90610584908490600060e08201905082518252602083015167ffffffffffffffff80821660208501528060408601511660408501525050606083015163ffffffff80821660608501528060808601511660808501528060a08601511660a08501528060c08601511660c0850152505092915050565b60405180910390a2505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320815160e0810183528154815260019091015467ffffffffffffffff808216948301949094526801000000000000000081049093169181019190915263ffffffff7001000000000000000000000000000000008304811660608301527401000000000000000000000000000000000000000083048116608083015278010000000000000000000000000000000000000000000000008304811660a08301527c010000000000000000000000000000000000000000000000000000000090920490911660c0820152908290036106b7576040517f524f409b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816080015163ffffffff161180156106da5750806080015163ffffffff1682115b15610711576040517fbd8860f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015163ffffffff16156107a557606081015173ffffffffffffffffffffffffffffffffffffffff80871660009081526001602090815260408083209389168352929052205463ffffffff9091169061076d908490610e94565b11156107a5576040517fb1c9261900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160a0015163ffffffff161180156107fb575060a081015173ffffffffffffffffffffffffffffffffffffffff861660009081526002602052604090205463ffffffff909116906107f9908490610e94565b115b15610832576040517fc0a8c7b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015167ffffffffffffffff1642101561087a576040517f06290e4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816040015167ffffffffffffffff161180156108a55750806040015167ffffffffffffffff1642115b156108dc576040517f49084b9400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f00000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a73ffffffffffffffffffffffffffffffffffffffff1663b0e21e8a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190610ead565b9050828183600001516109809190610e94565b61098a9190610ec6565b34146109c2576040517f569e8c1100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260c0015163ffffffff16118015610a5e57508160c0015163ffffffff16838773ffffffffffffffffffffffffffffffffffffffff1663a2309ff86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190610ead565b610a5c9190610e94565b115b15610a95576040517fd05cb60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808716600090815260016020908152604080832093891683529290529081208054859290610ad9908490610e94565b909155505073ffffffffffffffffffffffffffffffffffffffff861660009081526002602052604081208054859290610b13908490610e94565b90915550506040517f0fea4a2900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301523360248301528581166044830152606482018590527f00000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a1690630fea4a299034906084016000604051808303818588803b158015610bb757600080fd5b505af1158015610bcb573d6000803e3d6000fd5b50506040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018890528a1693506340c10f1992506044019050600060405180830381600087803b158015610c4157600080fd5b505af1158015610c55573d6000803e3d6000fd5b50505050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c8557600080fd5b919050565b60008060008060808587031215610ca057600080fd5b610ca985610c61565b9350610cb760208601610c61565b9250610cc560408601610c61565b9396929550929360600135925050565b600060208284031215610ce757600080fd5b610cf082610c61565b9392505050565b60008060208385031215610d0a57600080fd5b823567ffffffffffffffff80821115610d2257600080fd5b818501915085601f830112610d3657600080fd5b813581811115610d4557600080fd5b866020828501011115610d5757600080fd5b60209290920196919550909350505050565b803567ffffffffffffffff81168114610c8557600080fd5b803563ffffffff81168114610c8557600080fd5b600060e08284031215610da757600080fd5b60405160e0810181811067ffffffffffffffff82111715610df1577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405282358152610e0460208401610d69565b6020820152610e1560408401610d69565b6040820152610e2660608401610d81565b6060820152610e3760808401610d81565b6080820152610e4860a08401610d81565b60a0820152610e5960c08401610d81565b60c08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ea757610ea7610e65565b92915050565b600060208284031215610ebf57600080fd5b5051919050565b8082028115828204841417610ea757610ea7610e6556fea2646970667358221220f9bd0d184e7baaf68125fda59f92c4c43b864e6edf443ce2f0d5a9eb8bbdd54464736f6c63430008150033

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

00000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a

-----Decoded View---------------
Arg [0] : _mintPayout (address): 0x00528E0000006f0000DcBE2F0065011D1Fcd411a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000528e0000006f0000dcbe2f0065011d1fcd411a


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  ]
[ 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.