Technical Details
Smart Contract Details
Lazy Butts Contract: 0x869fb8a354a565f7576009a88f2e8b7159a20010
Overview
The Lazy Butts smart contract is an Ethereum-based contract developed using the Solidity programming language. The contract integrates security features and modules from the OpenZeppelin library. It handles various aspects like the minting of Lazy Butts NFTs, metadata linking, and payment distribution among stakeholders.
Core Features
Token Details
Uses ERC721 standard from the OpenZeppelin library.
Each Lazy Butt is a unique NFT with its own metadata.
Payment Management
Utilizes OpenZeppelin's PaymentSplitter contract for automated payment distribution.
Payments are split as follows:
50% to the community wallet.
10% to the operational wallet.
10% to each team member's wallet.
Lazy Lions Association
Lazy Butts minting is tied to Lazy Lion ownership.
Verifies ownership and details through an external contract (Lazy Lions).
Dynamic Metadata
Supports dynamic token URI construction for flexible metadata management.
Delegated Operations
Certain functions are only accessible to specific delegates for secure administration.
Allowlist Features
Supports a Merkle tree-based allowlist for minting, adding an extra layer of control.
Minting States
Offers toggleable states for minting, giving administrators control over the minting process.
Functions
Minting Functions
mintButt: Mint a Lazy Butt for a specified Lazy Lion ID by paying the minting fee.mintManyButts: Enables batch minting of Lazy Butts in a single transaction.buttDrop: Delegate-only function for batch minting of Lazy Butts.mintAllowList: Allows minting for addresses that are on an allowlist, with Merkle proof validation.
Metadata Functions
setTokenURIPrefixandsetTokenURISuffix: Delegate-only functions to modify the prefix and suffix of the token's URI.
Administration Functions
setLazyLions: Update the Lazy Lions contract address (delegate-only).updatePrice: Change the minting price for Lazy Butts (delegate-only).
Allowlist Functions
setMerkleRoot: Set the Merkle root for the allowlist (delegate-only).setAllowListActive: Toggle the allowlist active state (delegate-only).
Minting State Functions
setMintActive: Toggle the minting active state (delegate-only).
Security Measures
Uses OpenZeppelin standards to adhere to the best practices in Ethereum development.
Validates the owner of the Lazy Lion before minting a corresponding Lazy Butt.
Restricted functions are only callable by delegate addresses.
Verifies that the correct amount of Ether is sent before the minting process.
Checks the state requirements such as ensuring a token has not been minted already.
Last updated