Как добавить внешний NFT в Metaplex Marketplace
Я хотел бы знать, как добавить / принять внешний NFT на торговой площадке Metaplex. В моем кошельке есть NFT, который не был создан с помощью торговой площадки metaplex, и я хочу продать его и разместить на нем. Этот NFT не отображается в разделах «Мои элементы».
В artworks / index.tsx мы получаем NFT для отображения с помощью метода useUserArts. После просмотра этого метода есть условие, которое проверяет, совпадает ли masterEdition.info.key с MetadataKey.MasterEditionV1, который является перечислением. Возможно, когда мы создаем NFT с помощью магазина, он добавляет свои метаданные в это перечисление. Это только предположение из того, что я понял из кода.
Есть интересная часть метода useUserDarts.
ownedMetadata.forEach(m => {
const a = accountByMint.get(m.info.mint);
let masterA;
const masterEdition = possibleMasterEditions[i];
if (masterEdition?.info.key == MetadataKey.MasterEditionV1) {
masterA = accountByMint.get(
(masterEdition as ParsedAccount<MasterEditionV1>)?.info.printingMint ||
'',
);
}
let winningConfigType: WinningConfigType;
if (masterEdition?.info.key == MetadataKey.MasterEditionV1) {
winningConfigType = WinningConfigType.PrintingV1;
} else if (masterEdition?.info.key == MetadataKey.MasterEditionV2) {
if (masterEdition.info.maxSupply) {
winningConfigType = WinningConfigType.PrintingV2;
} else {
winningConfigType = WinningConfigType.Participation;
}
} else {
winningConfigType = WinningConfigType.TokenOnlyTransfer;
}
if (a) {
safetyDeposits.push({
holding: a.pubkey,
edition: possibleEditions[i],
masterEdition,
metadata: m,
printingMintHolding: masterA?.pubkey,
winningConfigType,
amountRanges: [],
participationConfig:
winningConfigType == WinningConfigType.Participation
? new ParticipationConfigV2({
winnerConstraint: WinningConstraint.ParticipationPrizeGiven,
nonWinningConstraint: NonWinningConstraint.GivenForFixedPrice,
fixedPrice: new BN(0),
})
: undefined,
});
}
i++;
Метод возврата securityDeposits.
большое спасибо за вашу помощь, хорошего дня