Skip to content

Commit 92b5856

Browse files
authored
Merge pull request #23 from getsafle/feature-update-response
Updated response structure for nftport API's
2 parents d8d847e + be6610b commit 92b5856

5 files changed

Lines changed: 21 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,8 @@
3737

3838
* The response structure for `detectNFTs()` function has been changed. The NFT data will be returned inside the `data` array and pagination string will be included in the `ETHContinuation` and `PolygonContinuation`.
3939
* [Breaking Change] - The input parameter is accepted as objects. 2 new parameters are added - `ETHContinuation` and `PolygonContinuation`.
40+
41+
42+
### 2.2.3 (2023-01-30)
43+
44+
* The response structure for `detectNFTs()` function has been updated for nftport API response.

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@getsafle/nft-controller",
3-
"version": "2.2.2",
3+
"version": "2.2.3",
44
"description": "Library to enable detection of Non Fungible Tokens (NFT) for any public address across the supported chains.",
55
"main": "src/index.js",
66
"scripts": {

src/index.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,14 @@ class NftController {
4646
let obj = {};
4747

4848
if (asset.chainId !== undefined) {
49-
obj.name = asset.name;
50-
obj.symbol = asset.symbol;
51-
obj.tokenId = asset.tokenId;
49+
obj.name = asset.name ? asset.name : asset.contract?.name;
50+
obj.symbol = asset.symbol ? asset.symbol : asset.contract?.symbol;
51+
obj.tokenId = asset.tokenId ? asset.tokenId : asset.contract?.tokenId;
5252
(asset.tokenUrl) ? obj.tokenUrl = asset.tokenUrl : '';
53-
obj.contractAddress = asset.contractAddress || asset.tokenAddress;
54-
obj.metadata = asset.metadata;
55-
obj.chainId = asset.chainId;
53+
obj.contractAddress = asset.contractAddress || asset.tokenAddress || asset.contract_address || asset.token_address ?
54+
asset.contractAddress || asset.tokenAddress || asset.contract_address || asset.token_address : asset.contract?.contractAddress || asset.contract?.tokenAddress || asset.contract?.contract_address || asset.contract?.token_address
55+
obj.metadata = asset.metadata ? asset.metadata : asset.contract?.metadata;
56+
obj.chainId = asset.chainId ? asset.chainId : asset.contract?.chainId;
5657

5758
array.push(obj);
5859
}

src/utils/helper.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async function detectNFTsNFTPort(publicAddress, chain, ETHNFTContinuation, Polyg
5757
}
5858

5959
async function detectETHNFTs(publicAddress, continuation) {
60-
let url = (continuation) ? `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=ethereum&include=contract_information&continuation=${continuation}` : `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=ethereum&include=contract_information`;
60+
let url = (continuation) ? `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=ethereum&include=contract_information&continuation=${continuation}` : `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=ethereum&include=contract_information&include=metadata`;
6161

6262
const headers = { Authorization: Config.NFTPORT_API_KEY };
6363

@@ -80,6 +80,9 @@ async function detectETHNFTs(publicAddress, continuation) {
8080
obj.contractAddress = nft.contract_address;
8181
obj.metadata = nft.contract.metadata;
8282
obj.chainId = 1;
83+
obj.contract = nft.contract;
84+
obj.tokenUrl = nft.tokenUrl ? nft.tokenUrl : nft.file_url;
85+
8386

8487
result.push(obj);
8588
})
@@ -89,7 +92,7 @@ async function detectETHNFTs(publicAddress, continuation) {
8992
}
9093

9194
async function detectPolygonNFTs(publicAddress, continuation) {
92-
let url = (continuation) ? `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=polygon&include=contract_information&continuation=${continuation}` : `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=polygon&include=contract_information`;
95+
let url = (continuation) ? `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=polygon&include=contract_information&continuation=${continuation}` : `${Config.NFTPORT_NFT_DETECTION_API}/${publicAddress}/?chain=polygon&include=contract_information&include=metadata`;
9396

9497
const headers = { Authorization: Config.NFTPORT_API_KEY };
9598

@@ -112,6 +115,8 @@ async function detectPolygonNFTs(publicAddress, continuation) {
112115
obj.contractAddress = nft.contract_address;
113116
obj.metadata = nft.contract.metadata;
114117
obj.chainId = 137;
118+
obj.contract = nft.contract;
119+
obj.tokenUrl = nft.tokenUrl ? nft.tokenUrl : nft.file_url;
115120

116121
result.push(obj);
117122
})

0 commit comments

Comments
 (0)