Skip to content

preocompute account details #1475

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 63 commits into
base: feat/performance-improvements
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
1ed33e8
create redirect to media controller
gabrielmatei Nov 18, 2024
dbdd216
redirect to media
gabrielmatei Nov 22, 2024
898b933
add unit tests
gabrielmatei Mar 11, 2025
2649ec9
Merge remote-tracking branch 'origin/development' into API-73-media-u…
gabrielmatei Mar 11, 2025
26afc3e
fixes
gabrielmatei Mar 11, 2025
b91e355
create NFT_THUMBNAIL_DEFAULT based on configs
gabrielmatei Mar 11, 2025
b5c8eb0
update media storage urls
gabrielmatei Mar 11, 2025
1a46b7d
apply redirect media on cached media
gabrielmatei Mar 12, 2025
046bbbb
priority ppu metadata first implementation
dragos-rebegea Mar 13, 2025
522d28a
fix distributeTransactionsIntoGasBuckets
dragos-rebegea Mar 13, 2025
6bed793
add last bucket only it has transactions
dragos-rebegea Mar 13, 2025
3116d1d
fix shard validation
dragos-rebegea Mar 13, 2025
2ad1561
fixes
gabrielmatei Mar 14, 2025
97b8b84
add csp header
gabrielmatei Mar 14, 2025
1f74198
update header
gabrielmatei Mar 14, 2025
27fcb43
stream files
gabrielmatei Mar 14, 2025
c4b42e2
update headers
gabrielmatei Mar 17, 2025
4a24c77
fix log message
gabrielmatei Mar 18, 2025
371b407
Merge branch 'API-73-media-url-resolving' into API-499-compute-media-…
gabrielmatei Mar 18, 2025
8a9e42e
Merge pull request #1460 from multiversx/API-73-media-url-resolving
gabrielmatei Mar 18, 2025
8957dc8
Merge pull request #1461 from multiversx/API-499-compute-media-url-links
gabrielmatei Mar 18, 2025
cc9f50f
fix lint errors on media.controller.ts
gabrielmatei Mar 18, 2025
eee5073
fix tests
gabrielmatei Mar 18, 2025
bda6634
refactor + add test ppu
cfaur09 Mar 18, 2025
ab0cc03
Merge pull request #1467 from multiversx/fix-media-tests
gabrielmatei Mar 18, 2025
0129970
linter fixes
cfaur09 Mar 18, 2025
bb2f30d
fix unit tests
cfaur09 Mar 18, 2025
793fb17
fix test
cfaur09 Mar 18, 2025
b4f9aa9
remove async await for sync functions
GuticaStefan Mar 19, 2025
8c0ff46
Merge pull request #1466 from multiversx/feat/media-redirect
dragos-rebegea Mar 20, 2025
958d9d0
remove async await for sync functions (#1469)
GuticaStefan Mar 24, 2025
fb35d87
add epoch field for transactions (#1464)
bogdan-rosianu Mar 24, 2025
232fd06
added missing relayer fields for sending txs (#1472)
bogdan-rosianu Mar 25, 2025
cc95a6a
Update dependencies and refactor imports for transaction processing
cfaur09 Mar 26, 2025
1466d6f
update tests
cfaur09 Mar 26, 2025
de00ac6
update API to latest nestjs-sdk
cfaur09 Mar 26, 2025
f48219c
add empty line after import
cfaur09 Mar 27, 2025
b7bc85c
precompute account details
GuticaStefan Mar 31, 2025
17f8863
add support for identities secondary sort criteria
cfaur09 Mar 31, 2025
d49bd36
use mongoose instead of typeorm
GuticaStefan Mar 31, 2025
8ccec33
Media redirect bugfixing (#1471)
gabrielmatei Mar 31, 2025
eec5e94
add andromeda support (#1468)
bogdan-rosianu Mar 31, 2025
ffe0ed5
precompute account tokens/nfts
GuticaStefan Mar 31, 2025
a8efeb2
db queries improvements
GuticaStefan Apr 1, 2025
35f3554
fix token isPaused property (#1477)
cfaur09 Apr 2, 2025
c523366
fetch token/nft for address from db
GuticaStefan Apr 2, 2025
cec74b2
add support for refreshRate round length (#1478)
cfaur09 Apr 3, 2025
008eaf0
Merge pull request #1473 from multiversx/API-530-update-api-multivers…
dragos-rebegea Apr 3, 2025
5f954f2
Merge branch 'development' into API-538-add-support-for-identities-se…
cfaur09 Apr 3, 2025
d342aa0
add support for receivedAt timestamp for account nfts (#1462)
cfaur09 Apr 3, 2025
ebfbe05
fix naming
dragos-rebegea Apr 3, 2025
e649765
lowercase naming
dragos-rebegea Apr 3, 2025
2de799a
Merge pull request #1463 from multiversx/transactions-ppu-by-shard
dragos-rebegea Apr 3, 2025
977dd05
improve sorting with multiple criterias (#1479)
dragos-rebegea Apr 3, 2025
a383889
Merge pull request #1476 from multiversx/API-538-add-support-for-iden…
dragos-rebegea Apr 3, 2025
29ee4b9
no cache on v2 endpoints
GuticaStefan Apr 7, 2025
622024b
Merge branch 'development' into API-507-api-improvements
GuticaStefan Apr 7, 2025
8b36bf3
restore tx processor
GuticaStefan Apr 7, 2025
a00fe8c
populate db script
GuticaStefan Apr 7, 2025
c34fa45
update scripts
gabrielmatei Apr 7, 2025
bef97d0
add index on populate db script
GuticaStefan Apr 8, 2025
ef67998
ignore account code in query
gabrielmatei Apr 8, 2025
1173804
remove no cache decorator
GuticaStefan Apr 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
create NFT_THUMBNAIL_DEFAULT based on configs
  • Loading branch information
gabrielmatei committed Mar 11, 2025
commit b91e355c1818e93056f3f0f3c6d021808fb3d13d
8 changes: 4 additions & 4 deletions src/endpoints/nfts/nft.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ export class NftService {
this.NFT_THUMBNAIL_PREFIX = this.apiConfigService.getExternalMediaUrl() + '/nfts/asset';
this.DEFAULT_MEDIA = [
{
url: NftMediaService.NFT_THUMBNAIL_DEFAULT,
originalUrl: NftMediaService.NFT_THUMBNAIL_DEFAULT,
thumbnailUrl: NftMediaService.NFT_THUMBNAIL_DEFAULT,
url: this.nftMediaService.NFT_THUMBNAIL_DEFAULT,
originalUrl: this.nftMediaService.NFT_THUMBNAIL_DEFAULT,
thumbnailUrl: this.nftMediaService.NFT_THUMBNAIL_DEFAULT,
fileType: 'image/png',
fileSize: 29512,
},
Expand Down Expand Up @@ -596,7 +596,7 @@ export class NftService {
}

// TODO: use this function to determine if a MetaESDT is a proof if we decide to add API filters to extract all the proofs
getNftProofHash(nft: Nft): string | undefined{
getNftProofHash(nft: Nft): string | undefined {
const hashField = BinaryUtils.base64Decode(nft.hash);
if (nft.type !== NftType.MetaESDT || !hashField.startsWith('proof:')) {
return undefined;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ import { CachingUtils } from "src/utils/caching.utils";
export class NftMediaService {
private readonly logger = new OriginLogger(NftMediaService.name);
private readonly IPFS_REQUEST_TIMEOUT = Constants.oneSecond() * 30 * 1000;
private readonly NFT_THUMBNAIL_PREFIX;
public static readonly NFT_THUMBNAIL_DEFAULT = 'https://media.elrond.com/nfts/thumbnail/default.png';
private readonly NFT_THUMBNAIL_PREFIX: string;
public readonly NFT_THUMBNAIL_DEFAULT: string;

constructor(
private readonly cachingService: CacheService,
Expand All @@ -28,7 +28,8 @@ export class NftMediaService {
private readonly persistenceService: PersistenceService,
@Inject('PUBSUB_SERVICE') private clientProxy: ClientProxy,
) {
this.NFT_THUMBNAIL_PREFIX = this.apiConfigService.getExternalMediaUrl() + '/nfts/asset';
this.NFT_THUMBNAIL_PREFIX = `${this.apiConfigService.getExternalMediaUrl()}/nfts/asset`;
this.NFT_THUMBNAIL_DEFAULT = `${this.apiConfigService.getMediaUrl()}/nfts/thumbnail/default.png`;
}

async getMedia(identifier: string): Promise<NftMedia[] | null> {
Expand Down Expand Up @@ -112,7 +113,7 @@ export class NftMediaService {
nftMedia.thumbnailUrl = `${this.apiConfigService.getExternalMediaUrl()}/nfts/thumbnail/${nft.collection}-${TokenHelpers.getUrlHash(nftMedia.url)}`;
} else {
this.logger.log(`File size '${fileProperties.contentLength}' not accepted for NFT with identifier '${nft.identifier}'`);
nftMedia.thumbnailUrl = NftMediaService.NFT_THUMBNAIL_DEFAULT;
nftMedia.thumbnailUrl = this.NFT_THUMBNAIL_DEFAULT;
}

nftMedia.fileType = fileProperties.contentType;
Expand Down
2 changes: 1 addition & 1 deletion src/queue.worker/nft.worker/queue/nft.queue.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ export class NftQueueController {
}

if (nft.media && !settings.skipRefreshThumbnail) {
const mediaItems = nft.media.filter(x => x.thumbnailUrl !== NftMediaService.NFT_THUMBNAIL_DEFAULT);
const mediaItems = nft.media.filter(x => x.thumbnailUrl !== this.nftMediaService.NFT_THUMBNAIL_DEFAULT);

await Promise.all(mediaItems.map(media => this.generateThumbnail(nft, media, settings.forceRefreshThumbnail)));
}
Expand Down