emblem-vault-sdk 1.9.21 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -711421,7 +711421,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
711421
711421
  const bignumber_1 = require("@ethersproject/bignumber");
711422
711422
  const utils_1 = require("./utils");
711423
711423
  const derive_1 = require("./derive");
711424
- const SDK_VERSION = '1.9.21';
711424
+ const SDK_VERSION = '1.10.1';
711425
711425
  class EmblemVaultSDK {
711426
711426
  constructor(apiKey, baseUrl) {
711427
711427
  this.apiKey = apiKey;
@@ -711451,6 +711451,15 @@ class EmblemVaultSDK {
711451
711451
  getAllAssetMetadata() {
711452
711452
  return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
711453
711453
  }
711454
+ getRemoteAssetMetadataProjectList() {
711455
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
711456
+ }
711457
+ getRemoteAssetMetadata(asset_name) {
711458
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
711459
+ }
711460
+ getRemoteAssetMetadataVaultedProjectList() {
711461
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
711462
+ }
711454
711463
  getAllProjects() {
711455
711464
  const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
711456
711465
  const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
@@ -712619,33 +712628,87 @@ exports.getLegacyContract = getLegacyContract;
712619
712628
  function checkContentType(url) {
712620
712629
  return new Promise((resolve, reject) => {
712621
712630
  let returnVal = { valid: false };
712622
- try {
712623
- fetch(url, { method: 'HEAD' })
712631
+ // Function to make fetch requests
712632
+ function fetchUrl(method) {
712633
+ return fetch(url, { method: method })
712624
712634
  .then(response => {
712625
712635
  if (!response.ok) {
712626
712636
  returnVal.valid = false;
712637
+ return resolve(returnVal);
712627
712638
  }
712628
712639
  else if (response.status === 200) {
712629
712640
  const contentType = response.headers.get('content-type');
712630
- let extension = getFileExtensionFromMimeType(contentType);
712631
- returnVal.valid = true;
712632
- returnVal.contentType = contentType;
712633
- returnVal.extension = extension;
712634
- returnVal.embed = !isValidDirect(extension);
712635
- console.log('Content-Type:', contentType);
712641
+ if (!contentType && method === 'HEAD') {
712642
+ // If content-type is not found in HEAD, make a GET request
712643
+ return fetchUrl('GET');
712644
+ }
712645
+ else {
712646
+ // Process the content type and resolve the promise
712647
+ let extension = getFileExtensionFromMimeType(contentType);
712648
+ returnVal.valid = true;
712649
+ returnVal.contentType = contentType;
712650
+ returnVal.extension = extension;
712651
+ returnVal.method = method;
712652
+ returnVal.embed = !isValidDirect(extension);
712653
+ console.log('Content-Type:', contentType);
712654
+ return resolve(returnVal);
712655
+ }
712656
+ }
712657
+ else {
712658
+ return resolve(returnVal);
712636
712659
  }
712637
- resolve(returnVal);
712638
712660
  })
712639
712661
  .catch(error => {
712640
712662
  console.error('Error while fetching URL:', error);
712641
- resolve(returnVal);
712663
+ return resolve(returnVal);
712642
712664
  });
712643
712665
  }
712644
- catch (error) {
712645
- }
712666
+ // Start with a HEAD request
712667
+ fetchUrl('HEAD').catch((error) => {
712668
+ console.error('Initial fetch error:', error);
712669
+ resolve(returnVal);
712670
+ });
712646
712671
  });
712647
712672
  }
712648
712673
  exports.checkContentType = checkContentType;
712674
+ // export function checkContentType(url: string) {
712675
+ // return new Promise((resolve, reject) => {
712676
+ // // Making a HTTP HEAD request to get only the headers
712677
+ // type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
712678
+ // let returnVal: ReturnVal = {valid: false};
712679
+ // function fetchUrl(method: string) {
712680
+ // fetch(url, { method: method })
712681
+ // .then(response => {
712682
+ // if (!response.ok) {
712683
+ // returnVal.valid = false
712684
+ // }
712685
+ // else if (response.status === 200) {
712686
+ // const contentType = response.headers.get('content-type');
712687
+ // if (!contentType) {
712688
+ // return fetchUrl('GET')
712689
+ // } else {
712690
+ // let extension = getFileExtensionFromMimeType(contentType)
712691
+ // returnVal.valid = true
712692
+ // returnVal.contentType = contentType
712693
+ // returnVal.extension = extension
712694
+ // returnVal.method = method
712695
+ // returnVal.embed = !isValidDirect(extension)
712696
+ // console.log('Content-Type:', contentType);
712697
+ // }
712698
+ // }
712699
+ // return resolve(returnVal);
712700
+ // })
712701
+ // .catch(error => {
712702
+ // console.error('Error while fetching URL:', error);
712703
+ // resolve(returnVal);
712704
+ // });
712705
+ // }
712706
+ // try {
712707
+ // fetchUrl('HEAD');
712708
+ // } catch (error) {
712709
+ // }
712710
+ // });
712711
+ // }
712649
712712
  function isValidDirect(extension) {
712650
712713
  switch (extension) {
712651
712714
  case '.png':
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const bignumber_1 = require("@ethersproject/bignumber");
36
36
  const utils_1 = require("./utils");
37
37
  const derive_1 = require("./derive");
38
- const SDK_VERSION = '1.9.21';
38
+ const SDK_VERSION = '1.10.1';
39
39
  class EmblemVaultSDK {
40
40
  constructor(apiKey, baseUrl) {
41
41
  this.apiKey = apiKey;
@@ -65,6 +65,15 @@ class EmblemVaultSDK {
65
65
  getAllAssetMetadata() {
66
66
  return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
67
67
  }
68
+ getRemoteAssetMetadataProjectList() {
69
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
70
+ }
71
+ getRemoteAssetMetadata(asset_name) {
72
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
73
+ }
74
+ getRemoteAssetMetadataVaultedProjectList() {
75
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
76
+ }
68
77
  getAllProjects() {
69
78
  const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
70
79
  const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
package/dist/utils.js CHANGED
@@ -599,33 +599,87 @@ exports.getLegacyContract = getLegacyContract;
599
599
  function checkContentType(url) {
600
600
  return new Promise((resolve, reject) => {
601
601
  let returnVal = { valid: false };
602
- try {
603
- fetch(url, { method: 'HEAD' })
602
+ // Function to make fetch requests
603
+ function fetchUrl(method) {
604
+ return fetch(url, { method: method })
604
605
  .then(response => {
605
606
  if (!response.ok) {
606
607
  returnVal.valid = false;
608
+ return resolve(returnVal);
607
609
  }
608
610
  else if (response.status === 200) {
609
611
  const contentType = response.headers.get('content-type');
610
- let extension = getFileExtensionFromMimeType(contentType);
611
- returnVal.valid = true;
612
- returnVal.contentType = contentType;
613
- returnVal.extension = extension;
614
- returnVal.embed = !isValidDirect(extension);
615
- console.log('Content-Type:', contentType);
616
- }
617
- resolve(returnVal);
612
+ if (!contentType && method === 'HEAD') {
613
+ // If content-type is not found in HEAD, make a GET request
614
+ return fetchUrl('GET');
615
+ }
616
+ else {
617
+ // Process the content type and resolve the promise
618
+ let extension = getFileExtensionFromMimeType(contentType);
619
+ returnVal.valid = true;
620
+ returnVal.contentType = contentType;
621
+ returnVal.extension = extension;
622
+ returnVal.method = method;
623
+ returnVal.embed = !isValidDirect(extension);
624
+ console.log('Content-Type:', contentType);
625
+ return resolve(returnVal);
626
+ }
627
+ }
628
+ else {
629
+ return resolve(returnVal);
630
+ }
618
631
  })
619
632
  .catch(error => {
620
633
  console.error('Error while fetching URL:', error);
621
- resolve(returnVal);
634
+ return resolve(returnVal);
622
635
  });
623
636
  }
624
- catch (error) {
625
- }
637
+ // Start with a HEAD request
638
+ fetchUrl('HEAD').catch((error) => {
639
+ console.error('Initial fetch error:', error);
640
+ resolve(returnVal);
641
+ });
626
642
  });
627
643
  }
628
644
  exports.checkContentType = checkContentType;
645
+ // export function checkContentType(url: string) {
646
+ // return new Promise((resolve, reject) => {
647
+ // // Making a HTTP HEAD request to get only the headers
648
+ // type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
649
+ // let returnVal: ReturnVal = {valid: false};
650
+ // function fetchUrl(method: string) {
651
+ // fetch(url, { method: method })
652
+ // .then(response => {
653
+ // if (!response.ok) {
654
+ // returnVal.valid = false
655
+ // }
656
+ // else if (response.status === 200) {
657
+ // const contentType = response.headers.get('content-type');
658
+ // if (!contentType) {
659
+ // return fetchUrl('GET')
660
+ // } else {
661
+ // let extension = getFileExtensionFromMimeType(contentType)
662
+ // returnVal.valid = true
663
+ // returnVal.contentType = contentType
664
+ // returnVal.extension = extension
665
+ // returnVal.method = method
666
+ // returnVal.embed = !isValidDirect(extension)
667
+ // console.log('Content-Type:', contentType);
668
+ // }
669
+ // }
670
+ // return resolve(returnVal);
671
+ // })
672
+ // .catch(error => {
673
+ // console.error('Error while fetching URL:', error);
674
+ // resolve(returnVal);
675
+ // });
676
+ // }
677
+ // try {
678
+ // fetchUrl('HEAD');
679
+ // } catch (error) {
680
+ // }
681
+ // });
682
+ // }
629
683
  function isValidDirect(extension) {
630
684
  switch (extension) {
631
685
  case '.png':
package/docs/bundle.js CHANGED
@@ -711421,7 +711421,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
711421
711421
  const bignumber_1 = require("@ethersproject/bignumber");
711422
711422
  const utils_1 = require("./utils");
711423
711423
  const derive_1 = require("./derive");
711424
- const SDK_VERSION = '1.9.21';
711424
+ const SDK_VERSION = '1.10.1';
711425
711425
  class EmblemVaultSDK {
711426
711426
  constructor(apiKey, baseUrl) {
711427
711427
  this.apiKey = apiKey;
@@ -711451,6 +711451,15 @@ class EmblemVaultSDK {
711451
711451
  getAllAssetMetadata() {
711452
711452
  return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
711453
711453
  }
711454
+ getRemoteAssetMetadataProjectList() {
711455
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
711456
+ }
711457
+ getRemoteAssetMetadata(asset_name) {
711458
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
711459
+ }
711460
+ getRemoteAssetMetadataVaultedProjectList() {
711461
+ return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
711462
+ }
711454
711463
  getAllProjects() {
711455
711464
  const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
711456
711465
  const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
@@ -712619,33 +712628,87 @@ exports.getLegacyContract = getLegacyContract;
712619
712628
  function checkContentType(url) {
712620
712629
  return new Promise((resolve, reject) => {
712621
712630
  let returnVal = { valid: false };
712622
- try {
712623
- fetch(url, { method: 'HEAD' })
712631
+ // Function to make fetch requests
712632
+ function fetchUrl(method) {
712633
+ return fetch(url, { method: method })
712624
712634
  .then(response => {
712625
712635
  if (!response.ok) {
712626
712636
  returnVal.valid = false;
712637
+ return resolve(returnVal);
712627
712638
  }
712628
712639
  else if (response.status === 200) {
712629
712640
  const contentType = response.headers.get('content-type');
712630
- let extension = getFileExtensionFromMimeType(contentType);
712631
- returnVal.valid = true;
712632
- returnVal.contentType = contentType;
712633
- returnVal.extension = extension;
712634
- returnVal.embed = !isValidDirect(extension);
712635
- console.log('Content-Type:', contentType);
712641
+ if (!contentType && method === 'HEAD') {
712642
+ // If content-type is not found in HEAD, make a GET request
712643
+ return fetchUrl('GET');
712644
+ }
712645
+ else {
712646
+ // Process the content type and resolve the promise
712647
+ let extension = getFileExtensionFromMimeType(contentType);
712648
+ returnVal.valid = true;
712649
+ returnVal.contentType = contentType;
712650
+ returnVal.extension = extension;
712651
+ returnVal.method = method;
712652
+ returnVal.embed = !isValidDirect(extension);
712653
+ console.log('Content-Type:', contentType);
712654
+ return resolve(returnVal);
712655
+ }
712656
+ }
712657
+ else {
712658
+ return resolve(returnVal);
712636
712659
  }
712637
- resolve(returnVal);
712638
712660
  })
712639
712661
  .catch(error => {
712640
712662
  console.error('Error while fetching URL:', error);
712641
- resolve(returnVal);
712663
+ return resolve(returnVal);
712642
712664
  });
712643
712665
  }
712644
- catch (error) {
712645
- }
712666
+ // Start with a HEAD request
712667
+ fetchUrl('HEAD').catch((error) => {
712668
+ console.error('Initial fetch error:', error);
712669
+ resolve(returnVal);
712670
+ });
712646
712671
  });
712647
712672
  }
712648
712673
  exports.checkContentType = checkContentType;
712674
+ // export function checkContentType(url: string) {
712675
+ // return new Promise((resolve, reject) => {
712676
+ // // Making a HTTP HEAD request to get only the headers
712677
+ // type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
712678
+ // let returnVal: ReturnVal = {valid: false};
712679
+ // function fetchUrl(method: string) {
712680
+ // fetch(url, { method: method })
712681
+ // .then(response => {
712682
+ // if (!response.ok) {
712683
+ // returnVal.valid = false
712684
+ // }
712685
+ // else if (response.status === 200) {
712686
+ // const contentType = response.headers.get('content-type');
712687
+ // if (!contentType) {
712688
+ // return fetchUrl('GET')
712689
+ // } else {
712690
+ // let extension = getFileExtensionFromMimeType(contentType)
712691
+ // returnVal.valid = true
712692
+ // returnVal.contentType = contentType
712693
+ // returnVal.extension = extension
712694
+ // returnVal.method = method
712695
+ // returnVal.embed = !isValidDirect(extension)
712696
+ // console.log('Content-Type:', contentType);
712697
+ // }
712698
+ // }
712699
+ // return resolve(returnVal);
712700
+ // })
712701
+ // .catch(error => {
712702
+ // console.error('Error while fetching URL:', error);
712703
+ // resolve(returnVal);
712704
+ // });
712705
+ // }
712706
+ // try {
712707
+ // fetchUrl('HEAD');
712708
+ // } catch (error) {
712709
+ // }
712710
+ // });
712711
+ // }
712649
712712
  function isValidDirect(extension) {
712650
712713
  switch (extension) {
712651
712714
  case '.png':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emblem-vault-sdk",
3
- "version": "1.9.21",
3
+ "version": "1.10.1",
4
4
  "description": "Emblem Vault Software Development Kit",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/index.ts CHANGED
@@ -41,6 +41,18 @@ class EmblemVaultSDK {
41
41
  return metadataObj2Arr(NFT_DATA)
42
42
  }
43
43
 
44
+ getRemoteAssetMetadataProjectList() {
45
+ return fetchData(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
46
+ }
47
+
48
+ getRemoteAssetMetadata(asset_name: string) {
49
+ return fetchData(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
50
+ }
51
+
52
+ getRemoteAssetMetadataVaultedProjectList() {
53
+ return fetchData(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
54
+ }
55
+
44
56
  getAllProjects() {
45
57
  const NFT_DATA_ARR = metadataObj2Arr(NFT_DATA)
46
58
  const projects = metadataAllProjects(NFT_DATA_ARR)
package/src/utils.ts CHANGED
@@ -568,35 +568,89 @@ export async function getLegacyContract(web3: any) {
568
568
 
569
569
  export function checkContentType(url: string) {
570
570
  return new Promise((resolve, reject) => {
571
- // Making a HTTP HEAD request to get only the headers
572
- type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean };
573
- let returnVal: ReturnVal = {valid: false};
574
- try {
575
- fetch(url, { method: 'HEAD' })
571
+ // Define the return value type
572
+ type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string };
573
+ let returnVal: ReturnVal = { valid: false };
574
+
575
+ // Function to make fetch requests
576
+ function fetchUrl(method: string): any {
577
+ return fetch(url, { method: method })
576
578
  .then(response => {
577
579
  if (!response.ok) {
578
- returnVal.valid = false
579
- }
580
- else if (response.status === 200) {
580
+ returnVal.valid = false;
581
+ return resolve(returnVal);
582
+ } else if (response.status === 200) {
581
583
  const contentType = response.headers.get('content-type');
582
- let extension = getFileExtensionFromMimeType(contentType)
583
- returnVal.valid = true
584
- returnVal.contentType = contentType
585
- returnVal.extension = extension
586
- returnVal.embed = !isValidDirect(extension)
587
- console.log('Content-Type:', contentType);
588
- }
589
- resolve(returnVal);
584
+ if (!contentType && method === 'HEAD') {
585
+ // If content-type is not found in HEAD, make a GET request
586
+ return fetchUrl('GET');
587
+ } else {
588
+ // Process the content type and resolve the promise
589
+ let extension = getFileExtensionFromMimeType(contentType);
590
+ returnVal.valid = true;
591
+ returnVal.contentType = contentType;
592
+ returnVal.extension = extension;
593
+ returnVal.method = method;
594
+ returnVal.embed = !isValidDirect(extension);
595
+ console.log('Content-Type:', contentType);
596
+ return resolve(returnVal);
597
+ }
598
+ } else {
599
+ return resolve(returnVal);
600
+ }
590
601
  })
591
602
  .catch(error => {
592
603
  console.error('Error while fetching URL:', error);
593
- resolve(returnVal);
604
+ return resolve(returnVal);
594
605
  });
595
- } catch (error) {
606
+ }
596
607
 
597
- }
608
+ // Start with a HEAD request
609
+ fetchUrl('HEAD').catch((error: any) => {
610
+ console.error('Initial fetch error:', error);
611
+ resolve(returnVal);
612
+ });
598
613
  });
599
614
  }
615
+ // export function checkContentType(url: string) {
616
+ // return new Promise((resolve, reject) => {
617
+ // // Making a HTTP HEAD request to get only the headers
618
+ // type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
619
+ // let returnVal: ReturnVal = {valid: false};
620
+ // function fetchUrl(method: string) {
621
+ // fetch(url, { method: method })
622
+ // .then(response => {
623
+ // if (!response.ok) {
624
+ // returnVal.valid = false
625
+ // }
626
+ // else if (response.status === 200) {
627
+ // const contentType = response.headers.get('content-type');
628
+ // if (!contentType) {
629
+ // return fetchUrl('GET')
630
+ // } else {
631
+ // let extension = getFileExtensionFromMimeType(contentType)
632
+ // returnVal.valid = true
633
+ // returnVal.contentType = contentType
634
+ // returnVal.extension = extension
635
+ // returnVal.method = method
636
+ // returnVal.embed = !isValidDirect(extension)
637
+ // console.log('Content-Type:', contentType);
638
+ // }
639
+ // }
640
+ // return resolve(returnVal);
641
+ // })
642
+ // .catch(error => {
643
+ // console.error('Error while fetching URL:', error);
644
+ // resolve(returnVal);
645
+ // });
646
+ // }
647
+ // try {
648
+ // fetchUrl('HEAD');
649
+ // } catch (error) {
650
+
651
+ // }
652
+ // });
653
+ // }
600
654
 
601
655
  function isValidDirect(extension: string) {
602
656
  switch (extension) {
package/types/index.d.ts CHANGED
@@ -10,6 +10,9 @@ declare class EmblemVaultSDK {
10
10
  generateUploadUrl(): void;
11
11
  getAssetMetadata(projectName: string, strict?: boolean): any[];
12
12
  getAllAssetMetadata(): any[];
13
+ getRemoteAssetMetadataProjectList(): Promise<any>;
14
+ getRemoteAssetMetadata(asset_name: string): Promise<any>;
15
+ getRemoteAssetMetadataVaultedProjectList(): Promise<any>;
13
16
  getAllProjects(): any[];
14
17
  fetchCuratedContracts(hideUnMintable?: boolean, overrideFunc?: Function | boolean): Promise<CuratedCollectionsResponse>;
15
18
  fetchCuratedContractByName(name: string, contracts?: any): Promise<Collection | null>;