Flex-NFT-Marketplace / Flex-Marketplace-Contract

10 stars 35 forks source link

[Experimental] [POC] ERC-6806 Holding Time Tracking #123

Open 0xandee opened 3 days ago

0xandee commented 3 days ago

Create and work inside folder experimental/erc_6806_holding_time_tracking:

It adds an interface that tracks and describes the holding time of a Non-Fungible Token (NFT) by an account.

Implementation Details:

Reference: https://github.com/ethereum/ERCs/blob/60569a1f8b57fea10340dc34602baf895a613daa/ERCS/erc-6806.md

raizo07 commented 3 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, I'll like to be assigned to work on this.

codeZe-us commented 3 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Mid level Cairo Developer

How I plan on tackling this issue

To address this, I will extend the NFT standard by implementing a function that logs transfer timestamps and calculates the holding duration for each account.

Iwueseiter commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm a frontend and smart contract developer.

How I plan on tackling this issue

To tackle this task, I'd first create a folder experimental/erc_6806_holding_time_tracking where I will be working.

I'd create an interface to track the holding time of NFTs for each owner by extending the existing ERC-721 standard functionality.

I will implement logic to record the timestamp of when an NFT is transferred to an account.

I will implement a mechanism to track NFT holding time. This mechanism will ensure to calculate how long an account has held a specific NFT. If the NFT has been transferred to a new owner, the holding time is reset and only accounts for the duration of the current owner’s holding period. A mapping will store the start of the ownership; it's ID, the Owner address and the timestamp when the account acquired the NFT.

I'd ensure to reference : https://github.com/ethereum/ERCs/blob/60569a1f8b57fea10340dc34602baf895a613daa/ERCS/erc-6806.md as expected.

ETA: 48hrs

JoE11-y commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm Joseph a blockchain developer with over four years in blockchain and backend development, I’ve worked across different ecosystems, handling everything from smart contract design to on-chain interactions and protocol integration. I focus on building secure, scalable, and reliable blockchain applications, managing both on-chain and off-chain infrastructure.

How I plan on tackling this issue

Begin by studying the codebase to ensure design consistency, then proceed to work on the task.

  1. Study current codebase design
  2. Leverage all provided resources within the issue to get a better grasp of the task at hand.
  3. Implement the task.
  4. Add tests to make sure the changes are working and no adverse effects
  5. And lastly optimize
martinvibes commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

hello @ i'm an experienced frontend developer and a blockchain developer i would love to work on this issue Pleasee kindly assign :)

ShantelPeters commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am frontend and blockchain developer , and My background in blockchain and smart contract development enables me to design this functionality efficiently, ensuring compatibility with the existing NFT ecosystem while adding value for real-world use cases.

How I plan on tackling this issue

To solve the issue of implementing ERC-6806 for holding time tracking, I would extend the ERC-721 standard to include a function that logs the timestamp whenever an NFT is transferred to a new account. The contract would store the holding start time for each NFT, and calculate the holding duration when needed. This feature would allow developers to implement reward systems for long-term holders or trigger business logic based on the duration.

saimeunt commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have contributed to several Cairo projects on OnlyDust and I've worked on very similar issues in the past, porting Solidity ERCs to Cairo eg. https://github.com/carbonable-labs/cairo-erc-7496 and https://github.com/carbonable-labs/cairo-erc-7498

How I plan on tackling this issue

I will carefully read the ERC and proposed Solidity implementation and I'll implement the expected behavior in Cairo. I will then use Starknet Foundry to test if the implementation is correct.