Discussions
getCoreAssetTransfers not returning any transfer history for my NFTs
3 months ago by [email protected]
I set up a couple of functions that should look through the transfer history of an address and then return the transfer history as far as I can tell from the docs. I cycle through the pages as needed with a helper function. I've tried this on a number of my NFTs and they are all returning an empty transfer history. Did I set these up wrong or something?
The address that I am currently searching a transaction history for is 0x8e6e63e05fffc220f808674e6ce14c82799d9f84
and the id is 6074.
This set of functions returns an empty array however.
const getTokenResponse = async (token, contractAddress, currentNftId, pageKey=null) => {
const address = [contractAddress];
if (pageKey !== null) {
const response = await alchemy.core.getAssetTransfers({
fromBlock: "0x0",
contractAddresses: address,
category: [token.tokenType.toLowerCase()],
excludeZeroValue: false,
pageKey: pageKey
});
return response;
} else {
const response = await alchemy.core.getAssetTransfers({
fromBlock: "0x0",
contractAddresses: address,
category: [token.tokenType.toLowerCase()],
excludeZeroValue: false,
});
return response;
}
}
export const getNFTTransferHistory = async (token, contractAddress, currentNftId) => {
const address = [contractAddress];
let nftTxnHistoryItems = [];
let continueSearching = true;
let currentResponse = {}
while (continueSearching) {
if ('pageKey' in currentResponse && currentResponse['pageKey']) {
currentResponse = await getTokenResponse(token, contractAddress, currentNftId, currentResponse['pageKey']);
} else {
currentResponse = await getTokenResponse(token, contractAddress, currentNftId);
}
if (!('pageKey' in currentResponse && currentResponse['pageKey'])) {
continueSearching = false;
}
let txns = currentResponse.transfers.filter(
(txn) => {
token.tokenType.toLowerCase() === "erc721" ? fromHex(txn.erc721TokenId) : txn.erc1155Metadata[0].tokenId === nftId
}
)
if (txns.length > 0) {
for (let i = 0; i < txns.length; i++) {
nftTxnHistoryItems.push(txns[i]);
}
}
}
return nftTxnHistoryItems;
}
Start typing markdown or type / to insert a block