Skip to content

Integrate NFT Minting on Land Approval in LandRegistry Contract #356

@onlydustapp

Description

@onlydustapp

📚 Overview

When a land is approved in the LandRegistry contract, an NFT should be automatically minted. This NFT will represent the approved land and include all relevant metadata. This feature update will ensure that the NFT minting process is seamlessly integrated into the land approval step.

🛠️ Tasks & Requirements

  1. Review Current Logic

    • Examine the existing registration and approval flow in the LandRegistry contract.
  2. Integrate NFT Minting

    • Modify the approval process to trigger the minting of an NFT upon successful approval.
    • Ensure that the NFT contains accurate and complete metadata tied to the approved land.
  3. Smart Contract Updates

    • Update or refactor any associated smart contract modules to support NFT minting.
    • Emit appropriate events related to the minting process for on-chain verification.
  4. Testing

    • Update all relevant unit and integration tests to cover the new flow.
    • Verify that the NFT minting and metadata setup can be confirmed via both on-chain interactions and emitted events.

⚙ Technical Considerations

  • Confirm all NFT metadata fields mirror the land's details (e.g., coordinates, area, land use type, etc.).
  • Ensure compatibility with the current LandVer system on Starknet (reference: README).
  • Update comments to clearly explain the changes in the flow.

✅ Definition of Done

  • The LandRegistry contract mints an NFT with correct metadata when a land is approved.
  • All related events are emitted as expected for the minting action.
  • Tests are updated and passing for both unit and integration scenarios, verifying the updated flow.
  • Documentation and code comments clearly explain the new NFT minting process.

Let's ensure this enhancement aligns with LandVer's goals of secure and transparent land verification. 🚀

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions