Transaction Hash:
Block:
21925238 at Feb-25-2025 06:48:59 PM +UTC
Transaction Fee:
0.000564268594710816 ETH
$2.11
Gas Used:
412,056 Gas / 1.369397836 Gwei
Emitted Events:
420 |
Mint721.OwnershipTransferred( oldOwner=0x00000000...000000000, newOwner=[Sender] 0xa628c9cb236c9cfb5dbf891b1164d41148eee5d2 )
|
421 |
Mint721.MetadataRendererUpdated( renderer=IPFSEditionRenderer )
|
422 |
Mint721.ModuleAdded( module=BasicMintModule )
|
423 |
BasicMintModule.ConfigurationUpdated( _contract=Mint721, _config=[{name:price, type:uint256, order:1, indexed:false, value:1000000000000, valueString:1000000000000}, {name:mintStart, type:uint64, order:2, indexed:false, value:0, valueString:0}, {name:mintEnd, type:uint64, order:3, indexed:false, value:0, valueString:0}, {name:maxPerWallet, type:uint32, order:4, indexed:false, value:0, valueString:0}, {name:maxPerTransaction, type:uint32, order:5, indexed:false, value:10, valueString:10}, {name:maxForModule, type:uint32, order:6, indexed:false, value:0, valueString:0}, {name:maxSupply, type:uint32, order:7, indexed:false, value:0, valueString:0}] )
|
424 |
IPFSEditionRenderer.ConfigurationUpdated( mintContract=Mint721, config=[{name:tokenName, type:string, order:1, indexed:false, value:Goke, valueString:Goke}, {name:tokenDescription, type:string, order:2, indexed:false, value:, valueString:}, {name:imageIPFSHash, type:string, order:3, indexed:false, value:QmNnCFtp7ukXGnZz3XrpcXFs16ySFN7Sbd76N4mFWJpgxh, valueString:QmNnCFtp7ukXGnZz3XrpcXFs16ySFN7Sbd76N4mFWJpgxh}, {name:animationIPFSHash, type:string, order:4, indexed:false, value:, valueString:}, {name:animationMimeType, type:string, order:5, indexed:false, value:, valueString:}] )
|
425 |
MintFactory.ContractCreated( _contract=Mint721, _creator=[Sender] 0xa628c9cb236c9cfb5dbf891b1164d41148eee5d2 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x00000000...06947759C | |||||
0x00000000...b03C1F44F | |||||
0x00000000...5EA6242ac | |||||
0x56Fb45cB...476afFffB |
0 Eth
Nonce: 0
|
0 Eth
Nonce: 1
| |||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 6.260710755675690838 Eth | 6.260731358475690838 Eth | 0.0000206028 | |
0xA628C9Cb...148eee5d2 |
0.003930963778967808 Eth
Nonce: 41
|
0.003366695184256992 Eth
Nonce: 42
| 0.000564268594710816 |
Execution Trace
MintFactory.createBasicEdition_efficient_d3ea1b36( mint721Configuration=[{name:name, type:string, order:1, indexed:false, value:Goke, valueString:Goke}, {name:symbol, type:string, order:2, indexed:false, value:GOK, valueString:GOK}], metadataRenderer=0x000000000000771c0DF6De1451d9175b03C1F44F, metadataRendererData=0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000004476F6B65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E516D4E6E4346747037756B58476E5A7A335872706358467331367953464E3753626437364E346D46574A7067786800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, salt=A628C9CB236C9CFB5DBF891B1164D41148EEE5D2047A07D86AE3728FD7A03010, mintModuleAddresses=[0x000000000f30984DE6843bBC1d109c95EA6242ac], mintModuleData=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NSlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=] )
-
Mint721.602c3d81( )
Mint721.initialize( config=[{name:name, type:string, order:1, indexed:false, value:Goke, valueString:Goke}, {name:symbol, type:string, order:2, indexed:false, value:GOK, valueString:GOK}], mintModuleRegistry_=0x0000000000005f12A17E1aF428824484B97a1a82, _metadataRenderer=0x000000000000771c0DF6De1451d9175b03C1F44F, metadataRendererConfig=0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000004476F6B65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E516D4E6E4346747037756B58476E5A7A335872706358467331367953464E3753626437364E346D46574A7067786800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, mintModules=[0x000000000f30984DE6843bBC1d109c95EA6242ac], mintModuleData=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NSlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=], creator=0xA628C9Cb236c9cFb5DBF891B1164D41148eee5d2 )
Mint721.initialize( config=[{name:name, type:string, order:1, indexed:false, value:Goke, valueString:Goke}, {name:symbol, type:string, order:2, indexed:false, value:GOK, valueString:GOK}], mintModuleRegistry_=0x0000000000005f12A17E1aF428824484B97a1a82, _metadataRenderer=0x000000000000771c0DF6De1451d9175b03C1F44F, metadataRendererConfig=0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000004476F6B65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E516D4E6E4346747037756B58476E5A7A335872706358467331367953464E3753626437364E346D46574A7067786800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, mintModules=[0x000000000f30984DE6843bBC1d109c95EA6242ac], mintModuleData=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NSlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=], creator=0xA628C9Cb236c9cFb5DBF891B1164D41148eee5d2 )
-
MintModuleRegistry.checkModule( mintModule=0x000000000f30984DE6843bBC1d109c95EA6242ac )
-
BasicMintModule.updateConfiguration( args=0x000000000000000000000000000000000000000000000000000000E8D4A51000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
-
IPFSEditionRenderer.updateConfiguration( args=0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000004476F6B65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E516D4E6E4346747037756B58476E5A7A335872706358467331367953464E3753626437364E346D46574A7067786800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
-
createBasicEdition_efficient_d3ea1b36[MintFactory (ln:33)]
_createBasicEdtion[MintFactory (ln:41)]
InvalidSalt[MintFactory (ln:53)]
cloneDeterministic[MintFactory (ln:54)]
initialize[MintFactory (ln:55)]
ContractCreated[MintFactory (ln:64)]
File 1 of 6: MintFactory
File 2 of 6: Mint721
File 3 of 6: BasicMintModule
File 4 of 6: IPFSEditionRenderer
File 5 of 6: Mint721
File 6 of 6: MintModuleRegistry
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.21;import {IMetadataRenderer} from "create/interfaces/v1/IMetadataRenderer.sol";import {LibClone} from "solady/utils/LibClone.sol";import {Ownable} from "solady/auth/Ownable.sol";import {Pausable} from "openzeppelin/security/Pausable.sol";import {IMintFactory} from "create/interfaces/v1/IMintFactory.sol";import {Mint721Configuration} from "create/interfaces/v1/Mint721Configuration.sol";import {IMint721} from "create/interfaces/v1/IMint721.sol";contract MintFactory is IMintFactory, Ownable, Pausable {/// @notice The mint module registry.address public mintModuleRegistry;/// @notice The implementation of Mint721 to be cloned here.address public mint721Implementation;error InvalidAddress();constructor() {
File 2 of 6: Mint721
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.21;import {ERC721AUpgradeable} from "erc721a-upgradeable/ERC721AUpgradeable.sol";import {ERC721AStorage} from "erc721a-upgradeable/ERC721AStorage.sol";import {Ownable} from "solady/auth/Ownable.sol";import {IERC2981} from "openzeppelin/interfaces/IERC2981.sol";import {IERC165} from "openzeppelin/interfaces/IERC165.sol";import {IMetadataRenderer} from "create/interfaces/v1/IMetadataRenderer.sol";import {IMintContract} from "create/interfaces/v1/IMintContract.sol";import {IMint721} from "create/interfaces/v1/IMint721.sol";import {Mint721Configuration} from "create/interfaces/v1/Mint721Configuration.sol";import {IMintModuleRegistry} from "create/interfaces/v1/IMintModuleRegistry.sol";import {IERC4906} from "create/interfaces/v1/IERC4906.sol";import {Version} from "create/contracts/v1/Version.sol";contract Mint721 is ERC721AUpgradeable, IMintContract, IMint721, IERC4906, IERC2981, Ownable, Version {bytes4 private constant _updateConfigurationSelector = bytes4(keccak256("updateConfiguration(bytes)"));
File 3 of 6: BasicMintModule
12345678910111213141516// SPDX-License-Identifier: MITpragma 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();
File 4 of 6: IPFSEditionRenderer
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.21;import {Strings} from "openzeppelin/utils/Strings.sol";import {Base64} from "openzeppelin/utils/Base64.sol";import {IMetadataRenderer} from "create/interfaces/v1/IMetadataRenderer.sol";import {IIPFSEditionRenderer, IConfigurable} from "create/interfaces/v1/IIPFSEditionRenderer.sol";import {IPFSEditionRendererConfiguration} from "create/interfaces/v1/IPFSEditionRendererConfiguration.sol";import {Version} from "create/contracts/v1/Version.sol";contract IPFSEditionRenderer is IMetadataRenderer, IIPFSEditionRenderer, Version {mapping(address => IPFSEditionRendererConfiguration) _configurations;constructor() Version(1) {}/// @inheritdoc IConfigurablefunction updateConfiguration(bytes calldata args) external {IPFSEditionRendererConfiguration memory config = abi.decode(args, (IPFSEditionRendererConfiguration));_configurations[msg.sender] = config;emit ConfigurationUpdated(msg.sender, config);
File 5 of 6: Mint721
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.21;import {ERC721AUpgradeable} from "erc721a-upgradeable/ERC721AUpgradeable.sol";import {ERC721AStorage} from "erc721a-upgradeable/ERC721AStorage.sol";import {Ownable} from "solady/auth/Ownable.sol";import {IERC2981} from "openzeppelin/interfaces/IERC2981.sol";import {IERC165} from "openzeppelin/interfaces/IERC165.sol";import {IMetadataRenderer} from "create/interfaces/v1/IMetadataRenderer.sol";import {IMintContract} from "create/interfaces/v1/IMintContract.sol";import {IMint721} from "create/interfaces/v1/IMint721.sol";import {Mint721Configuration} from "create/interfaces/v1/Mint721Configuration.sol";import {IMintModuleRegistry} from "create/interfaces/v1/IMintModuleRegistry.sol";import {IERC4906} from "create/interfaces/v1/IERC4906.sol";import {Version} from "create/contracts/v1/Version.sol";contract Mint721 is ERC721AUpgradeable, IMintContract, IMint721, IERC4906, IERC2981, Ownable, Version {bytes4 private constant _updateConfigurationSelector = bytes4(keccak256("updateConfiguration(bytes)"));
File 6 of 6: MintModuleRegistry
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.21;import {Ownable} from "solady/auth/Ownable.sol";import {Version} from "create/contracts/v1/Version.sol";import {IMintModuleRegistry} from "create/interfaces/v1/IMintModuleRegistry.sol";contract MintModuleRegistry is IMintModuleRegistry, Ownable, Version {constructor() Version(1) {_initializeOwner(tx.origin);}/// @inheritdoc IMintModuleRegistrymapping(address => bool) public isRegistered;/// @inheritdoc IMintModuleRegistryfunction addModule(address module) external onlyOwner {if (module == address(0)) revert InvalidAddress();if (isRegistered[module]) revert AlreadyRegistered();isRegistered[module] = true;