Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 107 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 18267845 | 459 days ago | IN | 0 ETH | 0.00183456 | ||||
Mint | 17568473 | 557 days ago | IN | 0 ETH | 0.00319985 | ||||
Mint | 17537261 | 561 days ago | IN | 0 ETH | 0.00377078 | ||||
Mint | 17460498 | 572 days ago | IN | 0 ETH | 0.00345389 | ||||
Mint | 17433239 | 576 days ago | IN | 0 ETH | 0.00479282 | ||||
Mint | 17405030 | 580 days ago | IN | 0 ETH | 0.00431786 | ||||
Mint | 17366085 | 585 days ago | IN | 0 ETH | 0.0081656 | ||||
Mint | 17337496 | 589 days ago | IN | 0 ETH | 0.00915963 | ||||
Mint | 17312331 | 593 days ago | IN | 0 ETH | 0.01215248 | ||||
Mint | 17284040 | 597 days ago | IN | 0 ETH | 0.00869496 | ||||
Mint | 17266684 | 599 days ago | IN | 0 ETH | 0.01415605 | ||||
Mint | 17263580 | 600 days ago | IN | 0 ETH | 0.01069243 | ||||
Mint | 17256257 | 601 days ago | IN | 0 ETH | 0.00793783 | ||||
Mint | 17255117 | 601 days ago | IN | 0 ETH | 0.00837346 | ||||
Mint | 17254995 | 601 days ago | IN | 0 ETH | 0.00782468 | ||||
Mint | 17253384 | 601 days ago | IN | 0 ETH | 0.00796511 | ||||
Mint | 17247366 | 602 days ago | IN | 0 ETH | 0.00978035 | ||||
Mint | 17246636 | 602 days ago | IN | 0 ETH | 0.01410587 | ||||
Mint | 17244480 | 603 days ago | IN | 0 ETH | 0.01407215 | ||||
Mint | 17243860 | 603 days ago | IN | 0 ETH | 0.00960334 | ||||
Mint | 17243677 | 603 days ago | IN | 0 ETH | 0.01062001 | ||||
Mint | 17243565 | 603 days ago | IN | 0 ETH | 0.01176233 | ||||
Mint | 17243562 | 603 days ago | IN | 0 ETH | 0.011968 | ||||
Mint | 17242675 | 603 days ago | IN | 0 ETH | 0.01314149 | ||||
Mint | 17241825 | 603 days ago | IN | 0 ETH | 0.01352571 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
WayOfTheWorm
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: CC0-1.0 pragma solidity ^0.8.15; import "./ImmutablesMinter.sol"; interface IERC721 { function balanceOf(address _owner) external view returns (uint256); } contract WayOfTheWorm { IERC721 private immutable edworm = IERC721(0xACd3CF818EFe8ddce84C585ddCB147c4C844D3b3); IERC721 private immutable edwone = IERC721(0xf65D6475869F61c6dce6aC194B6a7dbE45a91c63); ImmutablesMinter private immutable minter; uint256 private immutable projectId; uint256 public mintLimit = 1; mapping(address => uint256) public minted; address public owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); error LimitReached(); error NotDisciple(); error NotOwner(); constructor(ImmutablesMinter minter_, uint256 projectId_) { require( minter_.owner() == msg.sender || minter_.isApproved(address(this)) ); minter = minter_; projectId = projectId_; owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } // PUBLIC FUNCTIONS function mint() external { address disciple = msg.sender; if (!isDisciple(disciple)) { revert NotDisciple(); } else if (minted[disciple] >= mintLimit) { revert LimitReached(); } minted[disciple]++; minter.mint(projectId, disciple); } // OWNER FUNCTIONS /// @notice Update the amount of mints allowed per disciple function updateMintLimit(uint256 newLimit) external { if (msg.sender != owner) revert NotOwner(); mintLimit = newLimit; } /// @notice Transfer ownership of this contract to a new address function transferOwnership(address newOwner) external { if (msg.sender != owner) revert NotOwner(); owner = newOwner; emit OwnershipTransferred(msg.sender, newOwner); } /// @notice Call a contract with the specified data function call( address contractAddress, bytes calldata data ) external payable returns (bytes memory) { if (msg.sender != owner) revert NotOwner(); (bool success, bytes memory returndata) = contractAddress.call{ value: msg.value }(data); require(success); return returndata; } // VIEW AND PURE FUNCTIONS /// @notice Query if an address is a Worm disciple function isDisciple(address disciple) public view returns (bool) { return edwone.balanceOf(disciple) != 0 || edworm.balanceOf(disciple) != 0; } /// @notice Query if an address can mint function canMint(address disciple) public view returns (bool) { return minted[disciple] < mintLimit && isDisciple(disciple); } /// @notice Query if this contract implements an interface function supportsInterface( bytes4 interfaceId ) external pure returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC-165 interfaceId == 0x7f5828d0; // ERC-173 } receive() external payable {} fallback() external payable {} }
// SPDX-License-Identifier: CC0-1.0 pragma solidity ^0.8.15; import "@openzeppelin/contracts/proxy/Clones.sol"; interface IImmutablesArt { function anyoneMintProjectEdition(uint256) external payable; function artistUpdateProjectArtistAddress(uint256, address) external; function currentTokenId() external view returns (uint256); function projectIdToRoyaltyAddress( uint256 ) external view returns (IRoyaltyManager); function safeTransferFrom(address, address, uint256) external; } interface IRoyaltyManager { function release() external; } contract ImmutablesMinter { /// @notice The ImmutablesArt contract IImmutablesArt public immutable immutablesArt; address private immutable base; bool private initialized = true; /// @notice The owner address address public owner; /// @notice Query if an account is approved to mint mapping(address => bool) public isApproved; event Approval(address indexed operator, bool approved); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); error NotApproved(); error NotOwner(); constructor(IImmutablesArt immutablesArt_) { immutablesArt = immutablesArt_; base = address(this); owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /// @notice A function for intializing a cloned copy of this contract function initialize(address owner_) external { require(!initialized); initialized = true; owner = owner_; emit OwnershipTransferred(address(0), owner_); } /// @notice A function that allows you to clone this contract function clone() external returns (ImmutablesMinter) { ImmutablesMinter newMinter = ImmutablesMinter( payable(Clones.clone(base)) ); newMinter.initialize(msg.sender); return newMinter; } // OPERATOR FUNCTIONS /// @notice Mint an edition from a project function mint( uint256 projectId, address to ) external payable returns (uint256 tokenId) { if (!isApproved[msg.sender] && msg.sender != owner) revert NotApproved(); immutablesArt.anyoneMintProjectEdition(projectId); tokenId = immutablesArt.currentTokenId(); immutablesArt.safeTransferFrom(address(this), to, tokenId); } // OWNER FUNCTIONS /// @notice Approve an account to mint function setApproval(address operator, bool approved) external { if (msg.sender != owner) revert NotOwner(); isApproved[operator] = approved; emit Approval(operator, approved); } /// @notice Transfer ownership of this contract to a new address function transferOwnership(address newOwner) external { if (msg.sender != owner) revert NotOwner(); owner = newOwner; emit OwnershipTransferred(msg.sender, newOwner); } /// @notice Set the artist on a project to this contract's owner function relinquishProject(uint256 projectId) external { if (msg.sender != owner) revert NotOwner(); immutablesArt.artistUpdateProjectArtistAddress(projectId, owner); } /// @notice Send any royalties and the contract balance to the owner function release(uint256 projectId) external returns (bytes memory) { if (msg.sender != owner) revert NotOwner(); immutablesArt.projectIdToRoyaltyAddress(projectId).release(); (bool success, bytes memory returndata) = owner.call{ value: address(this).balance }(""); require(success); return returndata; } /// @notice Transfer ERC-20 tokens to the owner function withdrawl( address erc20, uint256 value ) external returns (bytes memory) { if (msg.sender != owner) revert NotOwner(); // "0xa9059cbb" is the selector for ERC-20 transfer. (bool success, bytes memory returndata) = erc20.call( abi.encodeWithSelector(0xa9059cbb, owner, value) ); require(success); return returndata; } /// @notice Call a contract with the specified data function call( address contractAddress, bytes calldata data ) external payable returns (bytes memory) { if (msg.sender != owner) revert NotOwner(); (bool success, bytes memory returndata) = contractAddress.call{ value: msg.value }(data); require(success); return returndata; } // VIEW AND PURE FUNCTIONS /// @notice Query if this contract implements an interface function supportsInterface( bytes4 interfaceId ) external pure returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC-165 interfaceId == 0x7f5828d0; // ERC-173 } receive() external payable {} fallback() external payable {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (proxy/Clones.sol) pragma solidity ^0.8.0; /** * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for * deploying minimal proxy contracts, also known as "clones". * * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies * > a minimal bytecode implementation that delegates all calls to a known, fixed address. * * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2` * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the * deterministic method. * * _Available since v3.4._ */ library Clones { /** * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. * * This function uses the create opcode, which should never revert. */ function clone(address implementation) internal returns (address instance) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create(0, 0x09, 0x37) } require(instance != address(0), "ERC1167: create failed"); } /** * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. * * This function uses the create2 opcode and a `salt` to deterministically deploy * the clone. Using the same `implementation` and `salt` multiple time will revert, since * the clones cannot be deployed twice at the same address. */ function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create2(0, 0x09, 0x37, salt) } require(instance != address(0), "ERC1167: create2 failed"); } /** * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. */ function predictDeterministicAddress( address implementation, bytes32 salt, address deployer ) internal pure returns (address predicted) { /// @solidity memory-safe-assembly assembly { let ptr := mload(0x40) mstore(add(ptr, 0x38), deployer) mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff) mstore(add(ptr, 0x14), implementation) mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73) mstore(add(ptr, 0x58), salt) mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37)) predicted := keccak256(add(ptr, 0x43), 0x55) } } /** * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. */ function predictDeterministicAddress(address implementation, bytes32 salt) internal view returns (address predicted) { return predictDeterministicAddress(implementation, salt, address(this)); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract ImmutablesMinter","name":"minter_","type":"address"},{"internalType":"uint256","name":"projectId_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"LimitReached","type":"error"},{"inputs":[],"name":"NotDisciple","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"disciple","type":"address"}],"name":"canMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"disciple","type":"address"}],"name":"isDisciple","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"updateMintLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
61010060405273acd3cf818efe8ddce84c585ddcb147c4c844d3b360805273f65d6475869f61c6dce6ac194b6a7dbe45a91c6360a052600160005534801561004657600080fd5b50604051610a6a380380610a6a833981016040819052610065916101c3565b336001600160a01b0316826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d191906101f1565b6001600160a01b03161480610149575060405163673448dd60e01b81523060048201526001600160a01b0383169063673448dd90602401602060405180830381865afa158015610125573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101499190610215565b61015257600080fd5b6001600160a01b03821660c05260e0819052600280546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050610237565b6001600160a01b03811681146101c057600080fd5b50565b600080604083850312156101d657600080fd5b82516101e1816101ab565b6020939093015192949293505050565b60006020828403121561020357600080fd5b815161020e816101ab565b9392505050565b60006020828403121561022757600080fd5b8151801515811461020e57600080fd5b60805160a05160c05160e0516107fa61027060003960006102da0152600061031001526000610449015260006104dd01526107fa6000f3fe60806040526004361061008f5760003560e01c80638da5cb5b116100565780638da5cb5b1461015d578063996517cf14610195578063c2ba4744146101ab578063e01d55c5146101cb578063f2fde38b146101eb57005b806301ffc9a7146100985780631249c58b146100cd5780631b8b921d146100e25780631e7269c51461010257806388072c791461013d57005b3661009657005b005b3480156100a457600080fd5b506100b86100b3366004610622565b61020b565b60405190151581526020015b60405180910390f35b3480156100d957600080fd5b50610096610242565b6100f56100f036600461066f565b610381565b6040516100c491906106f2565b34801561010e57600080fd5b5061012f61011d366004610740565b60016020526000908152604090205481565b6040519081526020016100c4565b34801561014957600080fd5b506100b8610158366004610740565b610427565b34801561016957600080fd5b5060025461017d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c4565b3480156101a157600080fd5b5061012f60005481565b3480156101b757600080fd5b506100b86101c6366004610740565b610550565b3480156101d757600080fd5b506100966101e636600461075b565b61057b565b3480156101f757600080fd5b50610096610206366004610740565b6105ab565b60006301ffc9a760e01b6001600160e01b03198316148061023c57506307f5828d60e41b6001600160e01b03198316145b92915050565b3361024c81610427565b61026957604051635f7ae58760e11b815260040160405180910390fd5b600080546001600160a01b03831682526001602052604090912054106102a257604051633dd1910160e01b815260040160405180910390fd5b6001600160a01b03811660009081526001602052604081208054916102c683610774565b90915550506040516394bf804d60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906394bf804d906044016020604051808303816000875af1158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d919061079b565b5050565b6002546060906001600160a01b031633146103af576040516330cd747160e01b815260040160405180910390fd5b600080856001600160a01b03163486866040516103cd9291906107b4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091508161041e57600080fd5b95945050505050565b6040516370a0823160e01b81526001600160a01b0382811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610492573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b6919061079b565b15158061023c57506040516370a0823160e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610524573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610548919061079b565b151592915050565b600080546001600160a01b03831682526001602052604082205410801561023c575061023c82610427565b6002546001600160a01b031633146105a6576040516330cd747160e01b815260040160405180910390fd5b600055565b6002546001600160a01b031633146105d6576040516330cd747160e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b60006020828403121561063457600080fd5b81356001600160e01b03198116811461064c57600080fd5b9392505050565b80356001600160a01b038116811461066a57600080fd5b919050565b60008060006040848603121561068457600080fd5b61068d84610653565b9250602084013567ffffffffffffffff808211156106aa57600080fd5b818601915086601f8301126106be57600080fd5b8135818111156106cd57600080fd5b8760208285010111156106df57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b8181101561071f57858101830151858201604001528201610703565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561075257600080fd5b61064c82610653565b60006020828403121561076d57600080fd5b5035919050565b60006001820161079457634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156107ad57600080fd5b5051919050565b818382376000910190815291905056fea26469706673582212202ef1819c3fc8a5850dd9289ebc2ea96d7878da60a7c6bfa747135a9cbdc154f964736f6c6343000812003300000000000000000000000082b14438e77b12ac8ea527c7ed96908efa59e0170000000000000000000000000000000000000000000000000000000000000006
Deployed Bytecode
0x60806040526004361061008f5760003560e01c80638da5cb5b116100565780638da5cb5b1461015d578063996517cf14610195578063c2ba4744146101ab578063e01d55c5146101cb578063f2fde38b146101eb57005b806301ffc9a7146100985780631249c58b146100cd5780631b8b921d146100e25780631e7269c51461010257806388072c791461013d57005b3661009657005b005b3480156100a457600080fd5b506100b86100b3366004610622565b61020b565b60405190151581526020015b60405180910390f35b3480156100d957600080fd5b50610096610242565b6100f56100f036600461066f565b610381565b6040516100c491906106f2565b34801561010e57600080fd5b5061012f61011d366004610740565b60016020526000908152604090205481565b6040519081526020016100c4565b34801561014957600080fd5b506100b8610158366004610740565b610427565b34801561016957600080fd5b5060025461017d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c4565b3480156101a157600080fd5b5061012f60005481565b3480156101b757600080fd5b506100b86101c6366004610740565b610550565b3480156101d757600080fd5b506100966101e636600461075b565b61057b565b3480156101f757600080fd5b50610096610206366004610740565b6105ab565b60006301ffc9a760e01b6001600160e01b03198316148061023c57506307f5828d60e41b6001600160e01b03198316145b92915050565b3361024c81610427565b61026957604051635f7ae58760e11b815260040160405180910390fd5b600080546001600160a01b03831682526001602052604090912054106102a257604051633dd1910160e01b815260040160405180910390fd5b6001600160a01b03811660009081526001602052604081208054916102c683610774565b90915550506040516394bf804d60e01b81527f000000000000000000000000000000000000000000000000000000000000000660048201526001600160a01b0382811660248301527f00000000000000000000000082b14438e77b12ac8ea527c7ed96908efa59e01716906394bf804d906044016020604051808303816000875af1158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d919061079b565b5050565b6002546060906001600160a01b031633146103af576040516330cd747160e01b815260040160405180910390fd5b600080856001600160a01b03163486866040516103cd9291906107b4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091508161041e57600080fd5b95945050505050565b6040516370a0823160e01b81526001600160a01b0382811660048301526000917f000000000000000000000000f65d6475869f61c6dce6ac194b6a7dbe45a91c63909116906370a0823190602401602060405180830381865afa158015610492573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b6919061079b565b15158061023c57506040516370a0823160e01b81526001600160a01b0383811660048301527f000000000000000000000000acd3cf818efe8ddce84c585ddcb147c4c844d3b316906370a0823190602401602060405180830381865afa158015610524573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610548919061079b565b151592915050565b600080546001600160a01b03831682526001602052604082205410801561023c575061023c82610427565b6002546001600160a01b031633146105a6576040516330cd747160e01b815260040160405180910390fd5b600055565b6002546001600160a01b031633146105d6576040516330cd747160e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b60006020828403121561063457600080fd5b81356001600160e01b03198116811461064c57600080fd5b9392505050565b80356001600160a01b038116811461066a57600080fd5b919050565b60008060006040848603121561068457600080fd5b61068d84610653565b9250602084013567ffffffffffffffff808211156106aa57600080fd5b818601915086601f8301126106be57600080fd5b8135818111156106cd57600080fd5b8760208285010111156106df57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b8181101561071f57858101830151858201604001528201610703565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561075257600080fd5b61064c82610653565b60006020828403121561076d57600080fd5b5035919050565b60006001820161079457634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156107ad57600080fd5b5051919050565b818382376000910190815291905056fea26469706673582212202ef1819c3fc8a5850dd9289ebc2ea96d7878da60a7c6bfa747135a9cbdc154f964736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000082b14438e77b12ac8ea527c7ed96908efa59e0170000000000000000000000000000000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : minter_ (address): 0x82b14438e77b12aC8Ea527c7Ed96908eFA59E017
Arg [1] : projectId_ (uint256): 6
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000082b14438e77b12ac8ea527c7ed96908efa59e017
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000006
Deployed Bytecode Sourcemap
191:2997:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2901:214;;;;;;;;;;-1:-1:-1;2901:214:2;;;;;:::i;:::-;;:::i;:::-;;;470:14:3;;463:22;445:41;;433:2;418:18;2901:214:2;;;;;;;;1153:310;;;;;;;;;;;;;:::i;2031:352::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;542:41::-;;;;;;;;;;-1:-1:-1;542:41:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2233:25:3;;;2221:2;2206:18;542:41:2;2087:177:3;2476:167:2;;;;;;;;;;-1:-1:-1;2476:167:2;;;;;:::i;:::-;;:::i;590:20::-;;;;;;;;;;-1:-1:-1;590:20:2;;;;-1:-1:-1;;;;;590:20:2;;;;;;-1:-1:-1;;;;;2433:32:3;;;2415:51;;2403:2;2388:18;590:20:2;2269:203:3;508:28:2;;;;;;;;;;;;;;;;2694:138;;;;;;;;;;-1:-1:-1;2694:138:2;;;;;:::i;:::-;;:::i;1557:141::-;;;;;;;;;;-1:-1:-1;1557:141:2;;;;;:::i;:::-;;:::i;1773:196::-;;;;;;;;;;-1:-1:-1;1773:196:2;;;;;:::i;:::-;;:::i;2901:214::-;2985:4;-1:-1:-1;;;;;;;;;3020:25:2;;;;:77;;-1:-1:-1;;;;;;;;;;3072:25:2;;;3020:77;3001:96;2901:214;-1:-1:-1;;2901:214:2:o;1153:310::-;1207:10;1232:20;1207:10;1232;:20::i;:::-;1227:159;;1275:13;;-1:-1:-1;;;1275:13:2;;;;;;;;;;;1227:159;1329:9;;;-1:-1:-1;;;;;1309:16:2;;;;:6;:16;;;;;;;:29;1305:81;;1361:14;;-1:-1:-1;;;1361:14:2;;;;;;;;;;;1305:81;-1:-1:-1;;;;;1396:16:2;;;;;;:6;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;1424:32:2;;-1:-1:-1;;;1424:32:2;;1436:9;1424:32;;;3073:25:3;-1:-1:-1;;;;;3134:32:3;;;3114:18;;;3107:60;1424:6:2;:11;;;;3046:18:3;;1424:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1178:285;1153:310::o;2031:352::-;2181:5;;2139:12;;-1:-1:-1;;;;;2181:5:2;2167:10;:19;2163:42;;2195:10;;-1:-1:-1;;;2195:10:2;;;;;;;;;;;2163:42;2216:12;2230:23;2257:15;-1:-1:-1;;;;;2257:20:2;2298:9;2318:4;;2257:66;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2215:108;;;;2341:7;2333:16;;;;;;2366:10;2031:352;-1:-1:-1;;;;;2031:352:2:o;2476:167::-;2570:26;;-1:-1:-1;;;2570:26:2;;-1:-1:-1;;;;;2433:32:3;;;2570:26:2;;;2415:51:3;2535:4:2;;2570:6;:16;;;;;;2388:18:3;;2570:26:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;;:66;;-1:-1:-1;2605:26:2;;-1:-1:-1;;;2605:26:2;;-1:-1:-1;;;;;2433:32:3;;;2605:26:2;;;2415:51:3;2605:6:2;:16;;;;2388:18:3;;2605:26:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;2551:85;2476:167;-1:-1:-1;;2476:167:2:o;2694:138::-;2750:4;2792:9;;-1:-1:-1;;;;;2773:16:2;;;;:6;:16;;;;;;:28;:52;;;;;2805:20;2816:8;2805:10;:20::i;1557:141::-;1637:5;;-1:-1:-1;;;;;1637:5:2;1623:10;:19;1619:42;;1651:10;;-1:-1:-1;;;1651:10:2;;;;;;;;;;;1619:42;1671:9;:20;1557:141::o;1773:196::-;1855:5;;-1:-1:-1;;;;;1855:5:2;1841:10;:19;1837:42;;1869:10;;-1:-1:-1;;;1869:10:2;;;;;;;;;;;1837:42;1889:5;:16;;-1:-1:-1;;;;;;1889:16:2;-1:-1:-1;;;;;1889:16:2;;;;;;;;1920:42;;1941:10;;1920:42;;-1:-1:-1;;1920:42:2;1773:196;:::o;14:286:3:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:3;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:3:o;497:173::-;565:20;;-1:-1:-1;;;;;614:31:3;;604:42;;594:70;;660:1;657;650:12;594:70;497:173;;;:::o;675:665::-;754:6;762;770;823:2;811:9;802:7;798:23;794:32;791:52;;;839:1;836;829:12;791:52;862:29;881:9;862:29;:::i;:::-;852:39;;942:2;931:9;927:18;914:32;965:18;1006:2;998:6;995:14;992:34;;;1022:1;1019;1012:12;992:34;1060:6;1049:9;1045:22;1035:32;;1105:7;1098:4;1094:2;1090:13;1086:27;1076:55;;1127:1;1124;1117:12;1076:55;1167:2;1154:16;1193:2;1185:6;1182:14;1179:34;;;1209:1;1206;1199:12;1179:34;1254:7;1249:2;1240:6;1236:2;1232:15;1228:24;1225:37;1222:57;;;1275:1;1272;1265:12;1222:57;1306:2;1302;1298:11;1288:21;;1328:6;1318:16;;;;;675:665;;;;;:::o;1345:546::-;1455:4;1484:2;1513;1502:9;1495:21;1545:6;1539:13;1588:6;1583:2;1572:9;1568:18;1561:34;1613:1;1623:140;1637:6;1634:1;1631:13;1623:140;;;1732:14;;;1728:23;;1722:30;1698:17;;;1717:2;1694:26;1687:66;1652:10;;1623:140;;;1627:3;1812:1;1807:2;1798:6;1787:9;1783:22;1779:31;1772:42;1882:2;1875;1871:7;1866:2;1858:6;1854:15;1850:29;1839:9;1835:45;1831:54;1823:62;;;;1345:546;;;;:::o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2477:180::-;2536:6;2589:2;2577:9;2568:7;2564:23;2560:32;2557:52;;;2605:1;2602;2595:12;2557:52;-1:-1:-1;2628:23:3;;2477:180;-1:-1:-1;2477:180:3:o;2662:232::-;2701:3;2722:17;;;2719:140;;2781:10;2776:3;2772:20;2769:1;2762:31;2816:4;2813:1;2806:15;2844:4;2841:1;2834:15;2719:140;-1:-1:-1;2886:1:3;2875:13;;2662:232::o;3178:184::-;3248:6;3301:2;3289:9;3280:7;3276:23;3272:32;3269:52;;;3317:1;3314;3307:12;3269:52;-1:-1:-1;3340:16:3;;3178:184;-1:-1:-1;3178:184:3:o;3367:271::-;3550:6;3542;3537:3;3524:33;3506:3;3576:16;;3601:13;;;3576:16;3367:271;-1:-1:-1;3367:271:3:o
Swarm Source
ipfs://2ef1819c3fc8a5850dd9289ebc2ea96d7878da60a7c6bfa747135a9cbdc154f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.