@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
JavaScript
;
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;