Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8dd6cea7c3 | ||
|
|
84cf03a977 | ||
|
|
5906e25eac | ||
|
|
b958647092 |
1
CODEOWNERS
Normal file
1
CODEOWNERS
Normal file
@ -0,0 +1 @@
|
||||
* @uniswap/web-admins
|
||||
@ -2,6 +2,7 @@
|
||||
import { ImageResponse } from '@vercel/og'
|
||||
import React from 'react'
|
||||
|
||||
import { blocklistedCollections } from '../../../../../src/nft/utils/blocklist'
|
||||
import { WATERMARK_URL } from '../../../../constants'
|
||||
import getAsset from '../../../../utils/getAsset'
|
||||
import getFont from '../../../../utils/getFont'
|
||||
@ -15,6 +16,10 @@ export const onRequest: PagesFunction = async ({ params, request }) => {
|
||||
const tokenId = index[1]?.toString()
|
||||
const cacheUrl = origin + '/nfts/asset/' + collectionAddress + '/' + tokenId
|
||||
|
||||
if (blocklistedCollections.includes(collectionAddress)) {
|
||||
return new Response('Collection unsupported.', { status: 404 })
|
||||
}
|
||||
|
||||
const data = await getRequest(
|
||||
cacheUrl,
|
||||
() => getAsset(collectionAddress, tokenId, cacheUrl),
|
||||
|
||||
@ -18,3 +18,12 @@ test.each(invalidAssetImageUrl)('invalidAssetImageUrl', async (url) => {
|
||||
const response = await fetch(new Request(url))
|
||||
expect(response.status).toBe(404)
|
||||
})
|
||||
|
||||
const blockedAssetImageUrl = [
|
||||
'http://127.0.0.1:3000/api/image/nfts/asset/0xd4d871419714b778ebec2e22c7c53572b573706e/276',
|
||||
]
|
||||
|
||||
test.each(blockedAssetImageUrl)('blockedAssetImageUrl', async (url) => {
|
||||
const response = await fetch(new Request(url))
|
||||
expect(response.status).toBe(404)
|
||||
})
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import { ImageResponse } from '@vercel/og'
|
||||
import React from 'react'
|
||||
|
||||
import { blocklistedCollections } from '../../../../../src/nft/utils/blocklist'
|
||||
import { CHECK_URL, WATERMARK_URL } from '../../../../constants'
|
||||
import getCollection from '../../../../utils/getCollection'
|
||||
import getColor from '../../../../utils/getColor'
|
||||
@ -15,6 +16,10 @@ export const onRequest: PagesFunction = async ({ params, request }) => {
|
||||
const collectionAddress = index?.toString()
|
||||
const cacheUrl = origin + '/nfts/collection/' + collectionAddress
|
||||
|
||||
if (blocklistedCollections.includes(collectionAddress)) {
|
||||
return new Response('Collection unsupported.', { status: 404 })
|
||||
}
|
||||
|
||||
const data = await getRequest(
|
||||
cacheUrl,
|
||||
() => getCollection(collectionAddress, cacheUrl),
|
||||
|
||||
@ -23,3 +23,12 @@ test.each(invalidCollectionImageUrls)('invalidAssetImageUrl', async (url) => {
|
||||
const response = await fetch(new Request(url))
|
||||
expect(response.status).toBeOneOf([404, 500])
|
||||
})
|
||||
|
||||
const blockedCollectionImageUrls = [
|
||||
'http://127.0.0.1:3000/api/image/nfts/collection/0xd4d871419714b778ebec2e22c7c53572b573706e',
|
||||
]
|
||||
|
||||
test.each(blockedCollectionImageUrls)('blockedCollectionImageUrl', async (url) => {
|
||||
const response = await fetch(new Request(url))
|
||||
expect(response.status).toBeOneOf([404, 500])
|
||||
})
|
||||
|
||||
3637
src/locales/af-ZA.po
Normal file
3637
src/locales/af-ZA.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ar-SA.po
Normal file
3637
src/locales/ar-SA.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ca-ES.po
Normal file
3637
src/locales/ca-ES.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/cs-CZ.po
Normal file
3637
src/locales/cs-CZ.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/da-DK.po
Normal file
3637
src/locales/da-DK.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/de-DE.po
Normal file
3637
src/locales/de-DE.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/el-GR.po
Normal file
3637
src/locales/el-GR.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/es-ES.po
Normal file
3637
src/locales/es-ES.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/fi-FI.po
Normal file
3637
src/locales/fi-FI.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/fr-FR.po
Normal file
3637
src/locales/fr-FR.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/he-IL.po
Normal file
3637
src/locales/he-IL.po
Normal file
File diff suppressed because it is too large
Load Diff
3638
src/locales/hu-HU.po
Normal file
3638
src/locales/hu-HU.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/id-ID.po
Normal file
3637
src/locales/id-ID.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/it-IT.po
Normal file
3637
src/locales/it-IT.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ja-JP.po
Normal file
3637
src/locales/ja-JP.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ko-KR.po
Normal file
3637
src/locales/ko-KR.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/nl-NL.po
Normal file
3637
src/locales/nl-NL.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/no-NO.po
Normal file
3637
src/locales/no-NO.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/pl-PL.po
Normal file
3637
src/locales/pl-PL.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/pt-BR.po
Normal file
3637
src/locales/pt-BR.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/pt-PT.po
Normal file
3637
src/locales/pt-PT.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ro-RO.po
Normal file
3637
src/locales/ro-RO.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/ru-RU.po
Normal file
3637
src/locales/ru-RU.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/sl-SI.po
Normal file
3637
src/locales/sl-SI.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/sr-SP.po
Normal file
3637
src/locales/sr-SP.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/sv-SE.po
Normal file
3637
src/locales/sv-SE.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/sw-TZ.po
Normal file
3637
src/locales/sw-TZ.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/th-TH.po
Normal file
3637
src/locales/th-TH.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/tr-TR.po
Normal file
3637
src/locales/tr-TR.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/uk-UA.po
Normal file
3637
src/locales/uk-UA.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/vi-VN.po
Normal file
3637
src/locales/vi-VN.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/zh-CN.po
Normal file
3637
src/locales/zh-CN.po
Normal file
File diff suppressed because it is too large
Load Diff
3637
src/locales/zh-TW.po
Normal file
3637
src/locales/zh-TW.po
Normal file
File diff suppressed because it is too large
Load Diff
13
src/nft/utils/blocklist.ts
Normal file
13
src/nft/utils/blocklist.ts
Normal file
@ -0,0 +1,13 @@
|
||||
export const blocklistedCollections = [
|
||||
'0xd5eeac01b0d1d929d6cffaaf78020af137277293',
|
||||
'0x85c08fffa9510f87019efdcf986301873cbb10d6',
|
||||
'0x32d7e58933fceea6b73a13f8e30605d80915b616',
|
||||
'0x85c08fffa9510f87019efdcf986301873cbb10d6',
|
||||
'0xd5eeac01b0d1d929d6cffaaf78020af137277293',
|
||||
'0x88e49f9fd4cc3d30f2f46c652f59fb52c4874f23',
|
||||
'0xabefbc9fd2f806065b4f3c237d4b59d9a97bcac7',
|
||||
'0xd945f759d422ae30a6166838317b937de08380e3',
|
||||
'0x8e52fb89b6311bd9ec36bd7cea9a0c311fd27a92',
|
||||
'0x2079c2765462af6d78a9ccbddb6ff3c6d4ba2e24',
|
||||
'0xd4d871419714b778ebec2e22c7c53572b573706e',
|
||||
]
|
||||
@ -22,16 +22,3 @@ export const isInSameSudoSwapPool = (assetA: GenieAsset, assetB: GenieAsset): bo
|
||||
export const isInSameMarketplaceCollection = (assetA: GenieAsset, assetB: GenieAsset): boolean => {
|
||||
return assetA.address === assetB.address && assetA.marketplace === assetB.marketplace
|
||||
}
|
||||
|
||||
export const blocklistedCollections = [
|
||||
'0xd5eeac01b0d1d929d6cffaaf78020af137277293',
|
||||
'0x85c08fffa9510f87019efdcf986301873cbb10d6',
|
||||
'0x32d7e58933fceea6b73a13f8e30605d80915b616',
|
||||
'0x85c08fffa9510f87019efdcf986301873cbb10d6',
|
||||
'0xd5eeac01b0d1d929d6cffaaf78020af137277293',
|
||||
'0x88e49f9fd4cc3d30f2f46c652f59fb52c4874f23',
|
||||
'0xabefbc9fd2f806065b4f3c237d4b59d9a97bcac7',
|
||||
'0xd945f759d422ae30a6166838317b937de08380e3',
|
||||
'0x8e52fb89b6311bd9ec36bd7cea9a0c311fd27a92',
|
||||
'0x2079c2765462af6d78a9ccbddb6ff3c6d4ba2e24',
|
||||
]
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
export * from './asset'
|
||||
export * from './blocklist'
|
||||
export * from './buildActivityAsset'
|
||||
export * from './buildSellObject'
|
||||
export * from './carousel'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user