123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- const Moralis = require("moralis/node");
- const logger = require("../logger");
- async function getNFTOwners(opts) {
- logger.info('getNFTOwners', opts)
- const options = {
- address: opts.address,
- chain: opts.chain,
- };
- try {
- return await Moralis.Web3API.token.getNFTOwners(options);
- } catch (error) {
- logger.error('getNFTOwners error', error.toString(), JSON.stringify(options))
- }
- return null
- }
- async function getTokenIdMetadata(opts) {
- logger.info('getNFTOwners', opts)
- const options = {
- address: opts.address,
- token_id: opts.token_id,
- chain: opts.chain,
- };
- try {
- return await Moralis.Web3API.token.getTokenIdMetadata(options);
- } catch (error) {
- logger.error('getTokenIdMetadata', error.toString(), JSON.stringify(opts))
- return null;
- }
- }
- async function getNFTMetadata(opts) {
- logger.info('getNFTMetadata', opts)
- const options = {
- address: opts.address,
- chain: opts.chain,
- };
- try {
- return await Moralis.Web3API.token.getNFTMetadata(options);
- } catch (error) {
- logger.error('getNFTOwners error', error.toString(), JSON.stringify(options))
- }
- }
- async function getAllTokenIds(opts) {
- logger.info('getAllTokenIds', opts)
- const options = {
- address: opts.address,
- chain: opts.chain,
- };
- try {
- return await Moralis.Web3API.token.getAllTokenIds(options);
- } catch (error) {
- logger.error('getAllTokenIds error', error.toString(), JSON.stringify(options))
- }
- }
- async function enableWeb3(chainId, privateKey_) {
- // Enable web3
- await Moralis.enableWeb3({
- chainId: chainId,
- privateKey: privateKey_,
- });
- }
- async function transferNft(opts) {
- // sending a token with token id = 1
- const options = {
- type: opts.type,
- receiver: opts.toAddress,
- contractAddress: opts.tokenAddress,
- tokenId: opts.tokenId,
- };
- try {
- await enableWeb3(opts.chainId,opts.privateKey)
- } catch (error) {
- logger.error('transferNft enableWeb3', error.toString(), JSON.stringify(options))
- return {
- code: -1,
- errMsg: 'enableWeb3'+error.toString(),
- }
- }
- try {
- return await Moralis.transfer(options);
- } catch (error) {
- logger.error('transferNft', error.toString(), JSON.stringify(options))
- return {
- code: -1,
- errMsg: 'transfer'+error.toString(),
- }
- }
- }
- module.exports = {
- getNFTOwners,
- getNFTMetadata,
- getTokenIdMetadata,
- getAllTokenIds,
- transferNft,
- }
|