Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented NFT creation with Liquidity Pool #224

Merged
merged 3 commits into from
Jan 17, 2025
Merged

Conversation

biccsdev
Copy link
Contributor

Pull Request Description

Changes Made

This PR adds the following changes:

  • Implemented NFT creation with integrated liquidity pools in 3land create NFT functionality

Implementation Details

  • Each NFT can be created with an associated liquidity pool
  • Liquidity pools are identified by a unique poolName per wallet
  • Multiple NFT editions can be created for the same liquidity pool
  • Liquidity pools support any SPL token
  • The SPL token used for the liquidity pool matches the NFT edition token
  • Sale proceeds (primary and secondary) are directed to the liquidity pool
  • Royalties from sales are automatically added to the liquidity pool
  • NFT holders can burn their NFT to reclaim their investment
  • Wallet addresses are restricted to one liquidity pool per poolName per SPL token

Transaction executed when testing

Example transactions created using solana-agent-kit:

  1. First NFT edition with pool (pool 1):
    https://dev.3.land/item/fXajTSwvrFCzaSL9mKE1KtTZ9wpChHC8egeXarMx3oD

  2. Second edition with same pool (pool 1):
    https://dev.3.land/item/8LdRScybmPQXkDdF2wafMSQ159ZDwckG1Pq7EkwGMFwW

  3. Third edition with new pool (same SPL token):
    https://dev.3.land/item/4HogLfgrgMYPpDqQK6Kw4kyGVtc7iu5ftBZuVRiPLm94

  4. Fourth edition with new pool (different SPL token):
    https://dev.3.land/item/FmPSPrNw9AoCCvUceHoXHuaFp2nC7GZEqyBsGpWEsMDM

Additional Notes

  • All features have been thoroughly tested and verified working
  • The implementation maintains backward compatibility with existing NFT creation
  • Liquidity pool operations are atomic and maintain consistent state
  • Pool naming restrictions prevent confusion and potential conflicts

Checklist

  • [X ] I have tested these changes locally
  • [ X] I have updated the documentation
  • [X ] I have added a transaction link

@thearyanag
Copy link
Member

hey @biccsdev - have you tested this with langchian?

@biccsdev
Copy link
Contributor Author

hey @biccsdev - have you tested this with langchian?

hi, I just followed the steps in the guides/add_your_own_tool.md file for the implementation and tested with the file that I created under test/tools/3land.ts

@thearyanag thearyanag merged commit 6c124ac into sendaifun:main Jan 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants