Skip to content

Conversation

@MarcosNicolau
Copy link
Member

@MarcosNicolau MarcosNicolau commented Nov 5, 2025

Description

  • Adds buy nft page
  • Redirects to /mint if eligible for premium nft
  • Redirect to /nft/buy if not eligible for premium nft
  • This last two applies to all of the place we had the mint logic

maximopalopoli and others added 30 commits November 5, 2025 11:55
@MarcosNicolau MarcosNicolau changed the base branch from feat/public-nft-logic to feat/separate-discount-whitelist-generation November 11, 2025 17:33
@MarcosNicolau MarcosNicolau marked this pull request as ready for review November 11, 2025 17:38
@JuArce JuArce changed the title feat(web): buy nft component feat(web): buy nft UI Nov 11, 2025
select: 1
)

Logger.info("Checking eligibility for address: #{address} with query: #{inspect(query)}")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Logger.info("Checking eligibility for address: #{address} with query: #{inspect(query)}")

I think we can remove this log.

@@ -1,5 +1,6 @@
defmodule ZkArcadeWeb.ApiController do
use ZkArcadeWeb, :controller
require Logger
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
require Logger

The module does not use the Logger.

def buy_nft(conn, _params) do
wallet = get_wallet_from_session(conn)
eligible = get_user_eligibility(wallet)
# To be replaced with whitelist merkle proof
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# To be replaced with whitelist merkle proof

Copy link
Collaborator

@maximopalopoli maximopalopoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Anyway, I think that we should tell the users that the public NFT is not available in the meantime (until we deploy it)

* Separate the data folder into one per nft

* remove unnecessary makefile target

* Redo the output files to consider the origin whitelist path

* Handle and exclusive public merkle proof insert into db

* Add the merkle path public schema

* Expose user eligibility and proofs for public NFT on backend

* fix: use the public nft merkle output path

* Rename merklePathsPublic to PublicMerklePaths

* update the readme instructions

* feat: apply some fixes and improvements

* refactor: maxSupply applies for both mints

* fix: remove reentrant guard
fix: deployer

* fix: update config files

* remove inserted devnet files

* update gitignore

* Add inspect to error in batcher connection to avoid formatting panics

---------

Co-authored-by: JuArce <52429267+JuArce@users.noreply.github.com>
Co-authored-by: Marcos Nicolau <marcosnicolau@lambdaclass.com>
Base automatically changed from feat/separate-discount-whitelist-generation to feat/public-nft-logic November 12, 2025 17:01
JuArce and others added 10 commits November 12, 2025 14:01
* feat(web): add support for public nft it is not deployed

* add utils function

* show correct messages
* apply feedback

* Separate the price and discount lines

---------

Co-authored-by: maximopalopoli <mpalopoli@fi.uba.ar>
* metrics for public nfts mints

* return err to already added token to not increment multiple times

* update grafana dashboard json

* fix: update grafana dashboard

* fix: do not log warning where there is no change on user nfts

---------

Co-authored-by: JuArce <52429267+JuArce@users.noreply.github.com>
Base automatically changed from feat/public-nft-logic to main November 26, 2025 19:53
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.

4 participants