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;