From c8278cc3c9e0af5703747e4519d8b39bed2a0bca Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 23 Jul 2023 13:27:20 +0800 Subject: [PATCH] 1 --- server/web3dbspider/metadata/AirDrop.js | 10 ++++++++++ server/web3dbspider/metadata/factory.js | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/server/web3dbspider/metadata/AirDrop.js b/server/web3dbspider/metadata/AirDrop.js index 2769a85..410d136 100644 --- a/server/web3dbspider/metadata/AirDrop.js +++ b/server/web3dbspider/metadata/AirDrop.js @@ -3,9 +3,19 @@ const bcutils = require('j7/bcutils'); const basewrap = require('./basewrap'); const metaFactory = require('./factory'); +const tokenIdHash = {}; + class AirDrop extends basewrap.BaseWrap { _init0 () { + if (utils.hasKey(tokenIdHash, this['token_id'])) { + throw 'airdrop token_id error'; + } + tokenIdHash[this['token_id']] = this; + } + + static getAirDropByTokenId(tokenId) { + return utils.hasKey(tokenIdHash, tokenId) ? tokenIdHash[tokenId] : null; } } diff --git a/server/web3dbspider/metadata/factory.js b/server/web3dbspider/metadata/factory.js index 229680a..0b78476 100644 --- a/server/web3dbspider/metadata/factory.js +++ b/server/web3dbspider/metadata/factory.js @@ -242,7 +242,8 @@ function getAllTables() { } function getAirDrop(tokenId, netId, tokenType, contractAddress) { - + const airDropMeta = callMetaStatic('AirDrop', tokenId); + return airDropMeta; } exports.init = init;