Skip to content

Commit

Permalink
Merge branch 'main' into clean
Browse files Browse the repository at this point in the history
  • Loading branch information
KorbinianK committed Mar 16, 2024
2 parents 3837fb0 + 63c928c commit e70f468
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
15 changes: 15 additions & 0 deletions packages/bridge-ui/src/libs/util/extractIPFSCidFromUrl.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { extractIPFSCidFromUrl } from './extractIPFSCidFromUrl';

describe('extractIPFSCidFromUrl', () => {
test('should return the correct CID when a valid IPFS URL is provided', () => {
const url = 'https://ipfs.io/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme';
const result = extractIPFSCidFromUrl(url);
expect(result).toEqual({ cid: 'QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG' });
});

test('should return null when an invalid IPFS URL is provided', () => {
const url = 'https://invalid-url.com';
const result = extractIPFSCidFromUrl(url);
expect(result).toEqual({ cid: null });
});
});
6 changes: 4 additions & 2 deletions packages/bridge-ui/src/libs/util/parseNFTMetadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import { getLogger } from './logger';

const log = getLogger('libs:token:parseNFTMetadata');

const request = axios.create({ timeout: apiService.timeout });

export const parseNFTMetadata = async (token: NFT): Promise<NFTMetadata | null> => {
if (token.type !== TokenType.ERC721 && token.type !== TokenType.ERC1155) throw new Error('Not a NFT');

Expand All @@ -27,7 +29,7 @@ export const parseNFTMetadata = async (token: NFT): Promise<NFTMetadata | null>
let json;

try {
json = await axios.get(url, { timeout: apiService.timeout });
json = await request.get(url);
} catch (err) {
const error = err as AxiosError;
log(`error fetching metadata for ${token.name} id: ${token.tokenId}`, error);
Expand Down Expand Up @@ -76,7 +78,7 @@ const retry = async (url: string, tokenId: number): Promise<AxiosResponse | Erro
const retryRequest = async (newUrl: string): Promise<AxiosResponse | Error> => {
try {
log(`retrying with ${newUrl}`);
return await axios.get(newUrl);
return await request.get(newUrl);
} catch (error) {
log('retrying failed', error);
throw new Error(`No metadata found for ${newUrl}`);
Expand Down

0 comments on commit e70f468

Please sign in to comment.