UNPKG

@asset-projects/ethers-wrapper

Version:
238 lines (237 loc) 8.77 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getERC721TransferFromEstimateGas = exports.erc721CallStaticTransferFrom = exports.getERC721Approved = exports.erc721Approve = exports.erc721TransferFrom = exports.getERC721TokenURI = exports.getERC721OwnerOf = exports.getERC721BalanceOf = exports.getERC721TotalSupply = exports.getERC721Symbol = exports.getERC721Name = void 0; const ethers_1 = require("ethers"); const helpers_1 = require("../../helpers"); const getERC721Contract = (provider, contractAddress) => { return new ethers_1.ethers.Contract(contractAddress, helpers_1.ERC721_ABI, provider); }; const getERC721ContractSigner = (signer, contractAddress) => { return new ethers_1.ethers.Contract(contractAddress, helpers_1.ERC721_ABI, signer); }; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @returns Promise<string | undefined>; */ const getERC721Name = (provider, contractAddress) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const tokenName = yield contract.name(); return tokenName; } catch (e) { console.error(e); return; } }); exports.getERC721Name = getERC721Name; /** * @param provider Provider; * @param contractAddress string ; 0xbFB3a65AE1A65D... * @returns Promise<string | undefined>; */ const getERC721Symbol = (provider, contractAddress) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const tokenSymbol = yield contract.symbol(); return tokenSymbol; } catch (e) { console.error(e); return; } }); exports.getERC721Symbol = getERC721Symbol; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @returns Promise<number | undefined>; */ const getERC721TotalSupply = (provider, contractAddress) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const totalSupply = (yield contract.totalSupply()); return totalSupply.toNumber(); } catch (e) { console.error(e); return; } }); exports.getERC721TotalSupply = getERC721TotalSupply; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param targetAddress string; 0xb3A566Ff63c... * @returns Promise<number | undefined>; */ const getERC721BalanceOf = (provider, contractAddress, targetAddress) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const balanceOf = (yield contract.balanceOf(targetAddress)); return balanceOf.toNumber(); } catch (e) { console.error(e); return; } }); exports.getERC721BalanceOf = getERC721BalanceOf; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param tokenId number; 1, 2, ... * @returns Promise<string | undefined>; */ const getERC721OwnerOf = (provider, contractAddress, tokenId) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const ownerOf = yield contract.ownerOf(tokenId); return ownerOf; } catch (e) { console.error(e); return; } }); exports.getERC721OwnerOf = getERC721OwnerOf; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param tokenId number; 1, 2, ... * @returns Promise<string | undefined>; */ const getERC721TokenURI = (provider, contractAddress, tokenId) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { const tokenURI = yield contract.tokenURI(tokenId); return tokenURI; } catch (e) { console.error(e); return; } }); exports.getERC721TokenURI = getERC721TokenURI; /** * @param signer ethers.Signer; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param fromAddress string; 0xb3A566Ff63c... * @param toAddress string; 0xb3A566Ff63c... * @param tokenId number; 1, 2, ... * @param overrides TransactionFeeOptions | undefined; * @returns Promise<ethers.providers.TransactionResponse | undefined>; */ const erc721TransferFrom = (signer, contractAddress, fromAddress, toAddress, tokenId, overrides) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721ContractSigner(signer, contractAddress); const args = [fromAddress, toAddress, tokenId]; if (overrides) args.push(overrides); try { const tx = yield contract.transferFrom(...args); return tx; } catch (e) { console.error(e); return; } }); exports.erc721TransferFrom = erc721TransferFrom; /** * @param signer ethers.Signer; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param approveAddress string; 0xb3A566Ff63c... * @param tokenId number; 1, 2, ... * @param overrides TransactionFeeOptions | undefined; * @returns Promise<ethers.providers.TransactionResponse | undefined>; */ const erc721Approve = (signer, contractAddress, approveAddress, tokenId, overrides) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721ContractSigner(signer, contractAddress); const args = [approveAddress, tokenId]; if (overrides) args.push(overrides); try { const tx = yield contract.approve(...args); return tx; } catch (e) { console.error(e); return; } }); exports.erc721Approve = erc721Approve; /** * @param provider Provider; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param tokenId number; 1, 2, ... * @returns Promise<string | undefined>; */ const getERC721Approved = (provider, contractAddress, tokenId) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721Contract(provider, contractAddress); try { return (yield contract.getApproved(tokenId)); } catch (e) { console.error(e); return; } }); exports.getERC721Approved = getERC721Approved; /** * @param signer ethers.Signer; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param fromAddress string; 0xb3A566Ff63c... * @param toAddress string; 0xb3A566Ff63c... * @param tokenId number; 1, 2, ... * @param overrides TransactionFeeOptions | undefined; * @returns Promise<boolean>; */ const erc721CallStaticTransferFrom = (signer, contractAddress, fromAddress, toAddress, tokenId, overrides) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721ContractSigner(signer, contractAddress); const args = [fromAddress, toAddress, tokenId]; if (overrides) args.push(overrides); try { yield contract.callStatic.transferFrom(...args); return true; } catch (e) { console.log(e); return false; } }); exports.erc721CallStaticTransferFrom = erc721CallStaticTransferFrom; /** * @param signer ethers.Signer; * @param contractAddress string; 0xbFB3a65AE1A65D... * @param fromAddress string; 0xb3A566Ff63c... * @param toAddress string; 0xb3A566Ff63c... * @param tokenId number; 1, 2, ... * @param overrides TransactionFeeOptions | undefined; * @returns Promise<BigNumber | undefined>; */ const getERC721TransferFromEstimateGas = (signer, contractAddress, fromAddress, toAddress, tokenId, overrides) => __awaiter(void 0, void 0, void 0, function* () { const contract = getERC721ContractSigner(signer, contractAddress); const args = [fromAddress, toAddress, tokenId]; if (overrides) args.push(overrides); try { const result = yield contract.estimateGas.transferFrom(...args); return result; } catch (e) { console.error(e); return; } }); exports.getERC721TransferFromEstimateGas = getERC721TransferFromEstimateGas;