UNPKG

@cross-nft-marketplace/auction-house-nft-hooks

Version:

Generic react hooks for fetching cross-nft-marketplace auctions, nfts, and data on arbitary 721s. Powers nft-components.

48 lines (47 loc) 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformGenericNFTForKey = exports.transformOpenseaResponse = exports.openseaDataToMetadata = void 0; const ErrorUtils_1 = require("./ErrorUtils"); const TransformFetchResults_1 = require("./TransformFetchResults"); const openseaDataToMetadata = (response) => { return { name: response.openseaInfo.name, description: response.openseaInfo.description, image: response.openseaInfo.image_url || response.openseaInfo.image_original_url, image_thumbnail_url: response.openseaInfo.image_thumbnail_url, animation_url: response.openseaInfo.animation_url || response.openseaInfo.animation_original_url, }; }; exports.openseaDataToMetadata = openseaDataToMetadata; const transformOpenseaResponse = (data, auctionData, currencyData) => { var _a; return { nft: { tokenId: data.token_id, contract: { address: data.asset_contract.address, name: data.asset_contract.name, image: data.asset_contract.image_url, symbol: data.asset_contract.symbol, }, owner: data.owner.address, creator: (_a = data.creator) === null || _a === void 0 ? void 0 : _a.address, metadataURI: data.token_metadata, }, openseaInfo: data, pricing: TransformFetchResults_1.addAuctionInformation({ reserve: TransformFetchResults_1.auctionDataToPricing(auctionData), }, currencyData), }; }; exports.transformOpenseaResponse = transformOpenseaResponse; const transformGenericNFTForKey = (response, key) => { const [contractAddress, tokenId] = key.split(':'); const contractAddressLower = contractAddress.toLowerCase(); const matchedResponse = response.find((response) => response.token_id === tokenId && response.asset_contract.address.toLowerCase() === contractAddressLower); if (!matchedResponse) { return new ErrorUtils_1.NotFoundError('Did not find token'); } return matchedResponse; }; exports.transformGenericNFTForKey = transformGenericNFTForKey;