diff --git a/src/models/NftHolder.ts b/src/models/NftHolder.ts index ab183f2..b463fe7 100644 --- a/src/models/NftHolder.ts +++ b/src/models/NftHolder.ts @@ -25,12 +25,12 @@ export class NftHolderClass extends BaseModule { public burn: boolean public static async parseEvent(event: typeof GeneralEvent) { - const address = event.address; + const address = event.address.toLowerCase(); const chain = event.chain; const tokenId = event.decodedData.tokenId; const blockNumer = event.blockNumber; const burn = event.decodedData.to === ZERO_ADDRESS - const user = burn ? event.decodedData.from : event.decodedData.to + const user = (burn ? event.decodedData.from : event.decodedData.to).toLowerCase() let record = await NftHolder.findOne({ address, chain, tokenId }) if (!record) { record = new NftHolder({ address, chain, tokenId, blockNumber: blockNumer, user, burn }) diff --git a/src/models/NftStake.ts b/src/models/NftStake.ts index e479724..090112d 100644 --- a/src/models/NftStake.ts +++ b/src/models/NftStake.ts @@ -59,21 +59,24 @@ export class NftStakeClass extends BaseModule { } */ public static async parseEvent(event: typeof GeneralEvent) { - const { user, infos } = event.decodedData + let { user, infos } = event.decodedData const isStake = event.event === STAKE_EVENT const blockNumber = event.blockNumber const chain = event.chain if (infos.length === 0) { return } + user = user?.toLowerCase() for (let info of infos) { let { nft, tokenId, start, stakeTime } = info + nft = nft?.toLowerCase() + let address = event.address?.toLowerCase() start = parseInt(start) stakeTime = parseInt(stakeTime) if (isStake) { logger.info(`stake nft: ${nft}, tokenId: ${tokenId}, user: ${user}, blockNumber: ${blockNumber}`) let record = new NftStake({ - address: event.address, + address, chain, nft, tokenId, @@ -90,7 +93,7 @@ export class NftStakeClass extends BaseModule { { chain, nft, tokenId, start}, { status: 2, - address: event.address, + address, user, redeemTime: Date.now() / 1000 | 0, blockNumber,