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

  • setTokenURIPrefix and setTokenURISuffix: 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