Title: Inconsistent Contract Data Format Between Launchpad and Terminal NFTs
Description:
Hi, i'm building a custom interface that aggregates mints from different marketplaces, and allows users to set alerts and get it via discord/tg, when an nft is about to drop ( public/wl stage... ), but when querying NFT contract data via getConfig(), there's a significant discrepancy between NFTs deployed through the Launchpad versus the Terminal. This inconsistency makes it difficult for me to handle the NFT data uniformly.
Example Data:
Terminal NFT Response:
{
"maxSupply": "10000",
"walletLimit": "10",
"baseURI": "https://ipfs.io/ipfs/bafybeihaqcnmor5iincht4oa2dhjyod5cazyfgyb3cwi4wiawk4udykxcy/",
"contractURI": "https://ipfs.io/ipfs/bafkreicpsdxwxfyfe3eznvhx2ynsebtc7jz2b7xgpwknauqyc7bv2q7vie",
"publicStage": {
"startTime": "1742482801",
"endTime": "1742569201",
"price": "30000000000000000000"
},
"allowlistStage": {
"startTime": "1742223600",
"endTime": "1742482800",
"price": "1000000000000000000",
"merkleRoot": "0x6714df5ea5b111f0419e04fedd27aa358ddaef459ff2948a5c652f82060d6a8e"
},
"payoutRecipient": "0xD8eb52f57Aaf4DCbfc8e4dbb5e50eb2dF5E2655e",
"royaltyRecipient": "0xD8eb52f57Aaf4DCbfc8e4dbb5e50eb2dF5E2655e",
"royaltyBps": "500",
"mintFee": "81"
}
Launchpad NFT Response:
{
"maxSupply": "2222",
"walletLimit": "0",
"baseURI": "https://ipfs.io/ipfs/bafybeiadssj3m2dmiwni3n5zclgsa2rdv2aqyinrffrogfy4ptp4lzjy64/",
"contractURI": "",
"publicStage": {
"startTime": "416",
"endTime": "1360247282513602014664183126981092876957508882763",
"price": "1360247282513602014664183126981092876957508882763"
},
"allowlistStage": {
"startTime": "500",
"endTime": "81",
"price": "47246294146399100580990828606349283224589935124650829499682736944542084526963",
"merkleRoot": "0x6a336d32646d69776e69336e357a636c6773613272647632617179696e726666"
},
"payoutRecipient": "0x6a7936342f000000000000000000000000000000",
"royaltyRecipient": "0x0000000000000000000000000000000000000000",
"royaltyBps": "2",
"mintFee": "300000000000000000"
}
Issues:
- Launchpad NFTs return extremely large numbers for
price and endTime in both public and allowlist stages, making them unusable
- The timestamps and prices in Launchpad NFTs appear to be invalid or corrupted
- The
payoutRecipient address in Launchpad NFTs contains padding that's not present in Terminal NFTs
Question: Does both mint terminal and launchpad use the same type of contract? From what i see in the explorer, the bytecode of deployed contracts is different between the both. Is there a way to get the accurate/correct data? If not, is my best solution to use magiceden's api directly ( https://docs.magiceden.io/reference/getcollectionsv7 )?
Title: Inconsistent Contract Data Format Between Launchpad and Terminal NFTs
Description:
Hi, i'm building a custom interface that aggregates mints from different marketplaces, and allows users to set alerts and get it via discord/tg, when an nft is about to drop ( public/wl stage... ), but when querying NFT contract data via
getConfig(), there's a significant discrepancy between NFTs deployed through the Launchpad versus the Terminal. This inconsistency makes it difficult for me to handle the NFT data uniformly.Example Data:
Terminal NFT Response:
{ "maxSupply": "10000", "walletLimit": "10", "baseURI": "https://ipfs.io/ipfs/bafybeihaqcnmor5iincht4oa2dhjyod5cazyfgyb3cwi4wiawk4udykxcy/", "contractURI": "https://ipfs.io/ipfs/bafkreicpsdxwxfyfe3eznvhx2ynsebtc7jz2b7xgpwknauqyc7bv2q7vie", "publicStage": { "startTime": "1742482801", "endTime": "1742569201", "price": "30000000000000000000" }, "allowlistStage": { "startTime": "1742223600", "endTime": "1742482800", "price": "1000000000000000000", "merkleRoot": "0x6714df5ea5b111f0419e04fedd27aa358ddaef459ff2948a5c652f82060d6a8e" }, "payoutRecipient": "0xD8eb52f57Aaf4DCbfc8e4dbb5e50eb2dF5E2655e", "royaltyRecipient": "0xD8eb52f57Aaf4DCbfc8e4dbb5e50eb2dF5E2655e", "royaltyBps": "500", "mintFee": "81" }Launchpad NFT Response:
{ "maxSupply": "2222", "walletLimit": "0", "baseURI": "https://ipfs.io/ipfs/bafybeiadssj3m2dmiwni3n5zclgsa2rdv2aqyinrffrogfy4ptp4lzjy64/", "contractURI": "", "publicStage": { "startTime": "416", "endTime": "1360247282513602014664183126981092876957508882763", "price": "1360247282513602014664183126981092876957508882763" }, "allowlistStage": { "startTime": "500", "endTime": "81", "price": "47246294146399100580990828606349283224589935124650829499682736944542084526963", "merkleRoot": "0x6a336d32646d69776e69336e357a636c6773613272647632617179696e726666" }, "payoutRecipient": "0x6a7936342f000000000000000000000000000000", "royaltyRecipient": "0x0000000000000000000000000000000000000000", "royaltyBps": "2", "mintFee": "300000000000000000" }Issues:
priceandendTimein both public and allowlist stages, making them unusablepayoutRecipientaddress in Launchpad NFTs contains padding that's not present in Terminal NFTsQuestion: Does both mint terminal and launchpad use the same type of contract? From what i see in the explorer, the bytecode of deployed contracts is different between the both. Is there a way to get the accurate/correct data? If not, is my best solution to use magiceden's api directly ( https://docs.magiceden.io/reference/getcollectionsv7 )?