CloudBank NFT Mining
This reviewable patch keeps the merged mint and seller flows intact, then adds the minimal buyer path: getActiveListings(offset, limit), approve(COD, TradingEngine), and buyNFT(listingId).
Mint Flow
This slice intentionally skips invite UX and secondary market flows. It only verifies the happy path on testnet with the zero inviter.
Rewards
Pending mining rewards are shown before the 60/40 holder and community split.
Connect a wallet to inspect and claim mining rewards.
Marketplace Buy
Buyer-side path only: browse active listings with explicit on-chain pagination, then approve COD to the trading engine and call buyNFT(listingId).
Connect a wallet to browse and buy marketplace listings.
Marketplace Listing
Seller-side approval and listing entry. After listing, the NFT leaves your holdings because it is escrowed by the trading engine until sold or cancelled.
Connect a wallet to approve and list owned NFTs.
My Active Listings
Active listings are escrowed in the trading engine until sold or cancelled.
Connect a wallet to inspect and cancel your active listings.
Redemption
Burn an owned NFT back to the protocol if the trading reserve has enough COD.
Connect a wallet to redeem an owned mining NFT.
Contracts
My NFTs
Owned token IDs plus on-chain mint metadata, with one-click redemption for live NFTs.
Connect a wallet to load your NFT holdings.
Execution Notes
This app targets chain 97 only and uses the deployed testnet NFT-mining addresses already carried in the repo.
Marketplace scope stays intentionally narrow here: explicit paginated browse, listNFT(tokenId, askPrice), cancelListing(listingId), and buyNFT(listingId). Trade history and richer filtering remain outside this PR.