Overview
ETH Balance
0 ETH
ETH Value
$0.00Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,384 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint_efficient_7... | 126261972 | 4 days ago | IN | 0.000322 ETH | 0.000000279396 | ||||
Mint_efficient_7... | 126210775 | 5 days ago | IN | 0.000855 ETH | 0.000000199904 | ||||
Mint_efficient_7... | 126024835 | 9 days ago | IN | 0.000255 ETH | 0.00000039404 | ||||
Mint_efficient_7... | 126012676 | 10 days ago | IN | 0.000599 ETH | 0.000000382145 | ||||
Mint_efficient_7... | 125828190 | 14 days ago | IN | 0.000233 ETH | 0.000000319263 | ||||
Mint_efficient_7... | 125790135 | 15 days ago | IN | 0.000255 ETH | 0.000000298895 | ||||
Mint_efficient_7... | 125571480 | 20 days ago | IN | 0.000777 ETH | 0.000000441984 | ||||
Mint_efficient_7... | 125563635 | 20 days ago | IN | 0.00021 ETH | 0.000000253823 | ||||
Mint_efficient_7... | 125556425 | 20 days ago | IN | 0.00021 ETH | 0.000000602886 | ||||
Mint_efficient_7... | 125549779 | 20 days ago | IN | 0.00021 ETH | 0.000000665273 | ||||
Mint_efficient_7... | 125549741 | 20 days ago | IN | 0.00021 ETH | 0.00000082357 | ||||
Mint_efficient_7... | 125549727 | 20 days ago | IN | 0.00021 ETH | 0.000000687843 | ||||
Mint_efficient_7... | 125549714 | 20 days ago | IN | 0.00021 ETH | 0.000002705857 | ||||
Mint_efficient_7... | 125549698 | 20 days ago | IN | 0.00021 ETH | 0.000000856746 | ||||
Mint_efficient_7... | 125549664 | 20 days ago | IN | 0.00021 ETH | 0.000000890907 | ||||
Mint_efficient_7... | 125549577 | 20 days ago | IN | 0.00021 ETH | 0.000004553361 | ||||
Mint_efficient_7... | 125542752 | 20 days ago | IN | 0.000235 ETH | 0.000006445949 | ||||
Mint_efficient_7... | 125542730 | 20 days ago | IN | 0.000235 ETH | 0.000008321221 | ||||
Mint_efficient_7... | 125357558 | 25 days ago | IN | 0.000533 ETH | 0.000000207053 | ||||
Mint_efficient_7... | 125321830 | 26 days ago | IN | 0.000202 ETH | 0.000006667678 | ||||
Mint_efficient_7... | 125321600 | 26 days ago | IN | 0.000202 ETH | 0.000003963588 | ||||
Mint_efficient_7... | 125319813 | 26 days ago | IN | 0.000202 ETH | 0.000001209846 | ||||
Mint_efficient_7... | 125316321 | 26 days ago | IN | 0.000202 ETH | 0.000000247234 | ||||
Mint_efficient_7... | 125314474 | 26 days ago | IN | 0.000202 ETH | 0.000000183295 | ||||
Mint_efficient_7... | 125314045 | 26 days ago | IN | 0.000202 ETH | 0.000000223215 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
126261972 | 4 days ago | 0.000322 ETH | ||||
126210775 | 5 days ago | 0.000855 ETH | ||||
126024835 | 9 days ago | 0.000255 ETH | ||||
126012676 | 10 days ago | 0.000599 ETH | ||||
125828190 | 14 days ago | 0.000233 ETH | ||||
125790135 | 15 days ago | 0.000255 ETH | ||||
125571480 | 20 days ago | 0.000777 ETH | ||||
125563635 | 20 days ago | 0.00021 ETH | ||||
125556425 | 20 days ago | 0.00021 ETH | ||||
125549779 | 20 days ago | 0.00021 ETH | ||||
125549741 | 20 days ago | 0.00021 ETH | ||||
125549727 | 20 days ago | 0.00021 ETH | ||||
125549714 | 20 days ago | 0.00021 ETH | ||||
125549698 | 20 days ago | 0.00021 ETH | ||||
125549664 | 20 days ago | 0.00021 ETH | ||||
125549577 | 20 days ago | 0.00021 ETH | ||||
125542752 | 20 days ago | 0.000235 ETH | ||||
125542730 | 20 days ago | 0.000235 ETH | ||||
125357558 | 25 days ago | 0.000533 ETH | ||||
125321830 | 26 days ago | 0.000202 ETH | ||||
125321600 | 26 days ago | 0.000202 ETH | ||||
125319813 | 26 days ago | 0.000202 ETH | ||||
125316321 | 26 days ago | 0.000202 ETH | ||||
125314474 | 26 days ago | 0.000202 ETH | ||||
125314045 | 26 days ago | 0.000202 ETH |
Loading...
Loading
Contract Name:
BasicMintModule
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
Yes with 250000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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); }
// 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; }
// 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); }
{ "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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.