Skip to content

Commit

Permalink
Merge branch 'main' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
tanghel committed Jul 2, 2024
2 parents d8a90d9 + 623916f commit 1349b0f
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 12 deletions.
12 changes: 0 additions & 12 deletions src/endpoints/tokens/token.transfer.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,18 +162,6 @@ export class TokenTransferService {
}
}

const distinctNftIdentifiers = operations.filter(x => x.type === TransactionOperationType.nft).map(x => x.identifier).distinct();
if (distinctNftIdentifiers.length > 0) {
const elasticNfts = await this.indexerService.getNfts(new QueryPagination({ from: 0, size: distinctNftIdentifiers.length }), new NftFilter({ identifiers: distinctNftIdentifiers }));
const elasticNftsDict = elasticNfts.toRecord<TokenAccount>(x => x.identifier);

for (const operation of operations) {
if (elasticNftsDict[operation.identifier]) {
operation.name = elasticNftsDict[operation.identifier].data?.name ?? operation.name;
}
}
}

return operations;
}

Expand Down
21 changes: 21 additions & 0 deletions src/endpoints/transactions/transaction.get.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ import { MiniBlockType } from "../miniblocks/entities/mini.block.type";
import { TransactionStatus } from "./entities/transaction.status";
import { UsernameUtils } from "../usernames/username.utils";
import { TransactionLogEvent } from "./entities/transaction.log.event";
import { TransactionOperationType } from "./entities/transaction.operation.type";
import { QueryPagination } from "src/common/entities/query.pagination";
import { NftFilter } from "../nfts/entities/nft.filter";
import { TokenAccount } from "src/common/indexer/entities";

@Injectable()
export class TransactionGetService {
Expand Down Expand Up @@ -124,6 +128,7 @@ export class TransactionGetService {
}

this.applyUsernamesToDetailedTransaction(transaction, transactionDetailed);
await this.applyNftNameOnTransactionOperations([transactionDetailed]);

return ApiUtils.mergeObjects(new TransactionDetailed(), transactionDetailed);
} catch (error) {
Expand Down Expand Up @@ -249,4 +254,20 @@ export class TransactionGetService {
return null;
}
}

async applyNftNameOnTransactionOperations(transactions: TransactionDetailed[]): Promise<void> {
const operations = transactions.selectMany(x => x.operations ?? []);

const distinctNftIdentifiers = operations.filter(x => x.type === TransactionOperationType.nft).map(x => x.identifier).distinct();
if (distinctNftIdentifiers.length > 0) {
const elasticNfts = await this.indexerService.getNfts(new QueryPagination({ from: 0, size: distinctNftIdentifiers.length }), new NftFilter({ identifiers: distinctNftIdentifiers }));
const elasticNftsDict = elasticNfts.toRecord<TokenAccount>(x => x.identifier);

for (const operation of operations) {
if (elasticNftsDict[operation.identifier]) {
operation.name = elasticNftsDict[operation.identifier].data?.name ?? operation.name;
}
}
}
}
}
4 changes: 4 additions & 0 deletions src/endpoints/transactions/transaction.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,8 @@ export class TransactionService {
detailedTransactions.push(transactionDetailed);
}

await this.transactionGetService.applyNftNameOnTransactionOperations(detailedTransactions);

return detailedTransactions;
}

Expand Down Expand Up @@ -490,6 +492,8 @@ export class TransactionService {
}
}

await this.transactionGetService.applyNftNameOnTransactionOperations(transactions);

return operations;
}

Expand Down

0 comments on commit 1349b0f

Please sign in to comment.