@eluvio/elv-client-js 3.2.11 → 3.2.12

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.
@@ -710,20 +710,23 @@ class ElvWalletClient {
710
710
  sortBy="created",
711
711
  sortDesc=false,
712
712
  filter,
713
- editionFilter,
713
+ editionFilters,
714
714
  attributeFilters,
715
715
  contractAddress,
716
716
  tokenId,
717
717
  currency,
718
718
  marketplaceParams,
719
719
  tenantId,
720
- collectionIndex=-1,
720
+ collectionIndexes,
721
+ priceRange,
722
+ tokenIdRange,
723
+ capLimit,
721
724
  sellerAddress,
722
725
  lastNDays=-1,
723
726
  start=0,
724
727
  limit=50
725
728
  }={}) {
726
- collectionIndex = parseInt(collectionIndex);
729
+ collectionIndexes = (collectionIndexes || []).map(i => parseInt(i));
727
730
 
728
731
  let params = {
729
732
  sort_by: sortBy,
@@ -736,7 +739,7 @@ class ElvWalletClient {
736
739
  if(marketplaceParams) {
737
740
  marketplaceInfo = await this.MarketplaceInfo({marketplaceParams});
738
741
 
739
- if(collectionIndex >= 0) {
742
+ if(collectionIndexes.length > 0) {
740
743
  marketplace = await this.Marketplace({marketplaceParams});
741
744
  }
742
745
  }
@@ -748,41 +751,30 @@ class ElvWalletClient {
748
751
  filters.push(`seller:eq:${this.client.utils.FormatAddress(sellerAddress)}`);
749
752
  }
750
753
 
751
- if(marketplace && collectionIndex >= 0) {
752
- const collection = marketplace.collections[collectionIndex];
754
+ if(marketplace && collectionIndexes.length >= 0) {
755
+ collectionIndexes.forEach(collectionIndex => {
756
+ const collection = marketplace.collections[collectionIndex];
753
757
 
754
- collection.items.forEach(sku => {
755
- if(!sku) { return; }
758
+ collection.items.forEach(sku => {
759
+ if(!sku) {
760
+ return;
761
+ }
756
762
 
757
- const item = marketplace.items.find(item => item.sku === sku);
763
+ const item = marketplace.items.find(item => item.sku === sku);
758
764
 
759
- if(!item) { return; }
765
+ if(!item) {
766
+ return;
767
+ }
760
768
 
761
- const address = Utils.SafeTraverse(item, "nft_template", "nft", "address");
769
+ const address = Utils.SafeTraverse(item, "nft_template", "nft", "address");
762
770
 
763
- if(address) {
764
- filters.push(
765
- `${mode === "owned" ? "contract_addr": "contract"}:eq:${Utils.FormatAddress(address)}`
766
- );
767
- }
771
+ if(address) {
772
+ filters.push(
773
+ `${mode === "owned" ? "contract_addr" : "contract"}:eq:${Utils.FormatAddress(address)}`
774
+ );
775
+ }
776
+ });
768
777
  });
769
-
770
- // No valid items, so there must not be anything relevant in the collection
771
- if(filters.length === 0) {
772
- if(mode.includes("stats")) {
773
- return {};
774
- } else {
775
- return {
776
- paging: {
777
- start: params.start,
778
- limit: params.limit,
779
- total: 0,
780
- more: false
781
- },
782
- results: []
783
- };
784
- }
785
- }
786
778
  } else if(mode !== "owned" && marketplaceInfo || tenantId) {
787
779
  filters.push(`tenant:eq:${marketplaceInfo ? marketplaceInfo.tenantId : tenantId}`);
788
780
  }
@@ -808,15 +800,17 @@ class ElvWalletClient {
808
800
  }
809
801
  }
810
802
 
811
- if(editionFilter) {
812
- if(mode.includes("listing")) {
813
- filters.push(`nft/edition_name:eq:${editionFilter}`);
814
- } else if(mode === "owned") {
815
- filters.push(`meta:@>:{"edition_name":"${editionFilter}"}`);
816
- params.exact = false;
817
- } else {
818
- filters.push(`edition:eq:${editionFilter}`);
819
- }
803
+ if(editionFilters) {
804
+ editionFilters.forEach(editionFilter => {
805
+ if(mode.includes("listing")) {
806
+ filters.push(`nft/edition_name:eq:${editionFilter}`);
807
+ } else if(mode === "owned") {
808
+ filters.push(`meta:@>:{"edition_name":"${editionFilter}"}`);
809
+ params.exact = false;
810
+ } else {
811
+ filters.push(`edition:eq:${editionFilter}`);
812
+ }
813
+ });
820
814
  }
821
815
 
822
816
  if(attributeFilters) {
@@ -835,6 +829,31 @@ class ElvWalletClient {
835
829
  filters.push(`created:gt:${((Date.now() / 1000) - ( lastNDays * 24 * 60 * 60 )).toFixed(0)}`);
836
830
  }
837
831
 
832
+ if(priceRange) {
833
+ if(priceRange.min) {
834
+ filters.push(`price:gt:${parseFloat(priceRange.min) - 0.01}`);
835
+ }
836
+
837
+ if(priceRange.max) {
838
+ filters.push(`price:lt:${parseFloat(priceRange.max) + 0.01}`);
839
+ }
840
+ }
841
+
842
+ if(tokenIdRange) {
843
+ if(tokenIdRange.min) {
844
+ filters.push(`info/ordinal:gt:${parseInt(tokenIdRange.min) - 1}`);
845
+ }
846
+
847
+ if(tokenIdRange.max) {
848
+ filters.push(`info/ordinal:lt:${parseInt(tokenIdRange.max) + 1}`);
849
+ }
850
+ }
851
+
852
+ if(capLimit) {
853
+ filters.push(`info/cap:lt:${parseInt(capLimit) + 1}`);
854
+ }
855
+
856
+
838
857
  let path;
839
858
  switch(mode) {
840
859
  case "owned":
@@ -1,8 +1,10 @@
1
1
  const { ElvClient } = require("../src/ElvClient");
2
+ const { ElvWalletClient } = require("../src/walletClient/index");
2
3
  const ClientConfiguration = require("../TestConfiguration.json");
3
4
 
4
5
  const Test = async () => {
5
6
  try {
7
+ /*
6
8
  const client = await ElvClient.FromConfigurationUrl({
7
9
  configUrl: ClientConfiguration["config-url"]
8
10
  });
@@ -13,6 +15,37 @@ const Test = async () => {
13
15
  });
14
16
 
15
17
  client.SetSigner({signer});
18
+
19
+ */
20
+ //const idToken = "eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNSIsInZlciI6IjEuMCIsInppcCI6IkRlZmxhdGUiLCJzZXIiOiIxLjAifQ..-hVeBqfPm9f0dsZ_.h7ECJlFBsX1y8rfAVanFXoper2YBRd_yH3HyJiyV5fZJ-GGxMJR8y7gP_YIWS1D-zps4fR2QkFZ1j7DZKHQwZH0kOkCq-OYyNvLDHulF-uIY1HW9U-yfpyPO2K6Ukr0QcUvGASB7RyqqVLhvDAxCBYTpm4vEHo9DQrVal--9YlkdGogeF6HLLfYoFFCGdjb5korzaQIKyWTP4LsDDTZXITcCjHaCR9GC8rNHOybLy58IbEjukvJzooKpaRxzp20OuKr96-TDApKpklpCDCgiCsCvnOj5-CxhI10rs4frsFKF4s4d2RAa93RLplzy2SLJkg9zRe6cyezp9APZYGRUHb2wjEK8YXH0-_Uus48OIfPJQIbA-BatMHZUMTUJ9ZnYRCIL2FrIRu3QcaBR1KL2DYOJLVC3uQvNwUYV0_Yxr4CgooP2e6wb0Y61d5qU_O649XjIXIqHn0slr9lcAufIrG1or5D9Gc-yliF9BCoRZQi3Zgm80L6T3imO0XT8J3abTJpBJ9PtoW5cADPKEXz5GAENkjjay3YUyC4ZX_3u0ZdaNTOd8JAL6wKQRI3lBfJS_77MkTk8ea2JDCX4MJjYCIVOpIo_YVNOmx9cQEPSZiQ5.ZPc2LOM-vuHeZBrETCCOaA";
21
+ //const idToken = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Inlwd1ZUbXJkWENkYU5tcjAzVGRDaCJ9.eyJodHRwczovL2F1dGguY29udGVudGZhYnJpYy5pby9nZW8iOnsiY291bnRyeV9jb2RlIjoiVVMiLCJjb3VudHJ5X2NvZGUzIjoiVVNBIiwiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNpdHlfbmFtZSI6IkZvbHNvbSIsImxhdGl0dWRlIjozOC42NzExLCJsb25naXR1ZGUiOi0xMjEuMTQ5NSwidGltZV96b25lIjoiQW1lcmljYS9Mb3NfQW5nZWxlcyIsImNvbnRpbmVudF9jb2RlIjoiTkEiLCJzdWJkaXZpc2lvbl9jb2RlIjoiQ0EiLCJzdWJkaXZpc2lvbl9uYW1lIjoiQ2FsaWZvcm5pYSJ9LCJuaWNrbmFtZSI6ImtldmluKzciLCJuYW1lIjoia2V2aW4rN0BlbHV2LmlvIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20vYXZhdGFyL2ZkNDMxN2Y4ZjdmMzBjNTVkZTA2YTI5Y2ExY2I2OWYxP3M9NDgwJnI9cGcmZD1odHRwcyUzQSUyRiUyRmNkbi5hdXRoMC5jb20lMkZhdmF0YXJzJTJGa2UucG5nIiwidXBkYXRlZF9hdCI6IjIwMjItMDctMjJUMjE6NTU6MjkuOTQ4WiIsImVtYWlsIjoia2V2aW4rN0BlbHV2LmlvIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJpc3MiOiJodHRwczovL2F1dGguY29udGVudGZhYnJpYy5pby8iLCJzdWIiOiJhdXRoMHw2MTY2NzcxNzg5OWI5MjAwNzBmMzRhYzQiLCJhdWQiOiJPTnl1YlA5ckZJNUJIem1ZZ2xRS0JaMWJCYml5b0IzUyIsImlhdCI6MTY1ODUyNzA1NywiZXhwIjoxNjU4NTYzMDU3LCJub25jZSI6Ilh6a3pUakF1VW5CRFgwVTVkR1pxU0dWK2JHazFjVXArUlZOamJWTlhlbFZzUzJSSWFUZE9hSEJsT1E9PSJ9.nLH00sOatOcuIv-QPgCp6Pjm565RpLqqy3VOtzJt9p2rSsIBgJxfl6j1zuFQV_H5UquYTx15BNN3_WglqVXF7U-aCb7ozsYsQCl4nv8rjumkla2pRUGCFt89B7-NR8yGXr9eak6IgE6ADe6uqiM10CWmxp8BI3Z1PficNGVDUcwmrTW_IeDFyqTw_gedDVAeYcd79xMGR5exqiHD6P2AljXKAXzNaaAVrRbBp1FBrNZnuD97k-EDta6G6lr1qqN1Gc2oS2vTrfjPjmHMBtz99_UYSrfPjPSrRMpPi9Vt3YTzEBTb-BTOKG1SSfBVHkxOqIRO1ZlNxE_bPCMJXwhSVA"
22
+ //const idToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJleHAiOjE2NTg1MjkwMTQsIm5iZiI6MTY1ODUyODcxNCwidmVyIjoiMS4wIiwiaXNzIjoiaHR0cHM6Ly93ZGNiMmMuYjJjbG9naW4uY29tL3RmcC9mYWVhYTg5ZS02YTA1LTRjMzEtOGJkNS01MGRlNWNkNGQyZTEvYjJjXzFfbXNfc2lnbl91cF9pbi92Mi4wLyIsInN1YiI6IjVhYWIyOWNiLWRiZDMtNDM1ZS04MzViLTlmYmFkYTBkODg2MyIsImF1ZCI6ImFjYjQ3MjMzLTk3ZDUtNGFjMy04OWQzLTdkMTUzNjFjMjYzNiIsImlhdCI6MTY1ODUyODcxNCwiYXV0aF90aW1lIjoxNjU4NTI4NzAxLCJpZHAiOiJsaXZlLmNvbSIsImVtYWlscyI6WyJrZXZpbkBlbHV2LmlvIl0sInRmcCI6IkIyQ18xX21zX3NpZ25fdXBfaW4ifQ.H9-YrUQFDBM8potZpGJsNA1roQ15SiBUg40_C9XVy5LQ6thGKuM7TzxJj1ALViwLTEL1ytL5r6g8r0tVYWOiQwfU1W7m7m0rK4D6VJ-pby69o0f4jZaqdWLak-ALncxAl1IOaxtDD2vpmx8XTT8Qabp8DImzK9xzc0bAUirPERUK08lJ3LR8bZjH2TaLMvEii9i-Ss0kZoSvdZI_a4xQqXcU2knJ-2Ds-S-upAAq70lMnSlmG16-MGHM2ZGtz7w6O2FoS9CRs0QI9FBtziSEVMAVigKIMLtWcJwPOnFDeCv_qY2TpOabUzyjfm0DZDlcQRnNjV6i0LfwYLyNWGmcHg";
23
+ const idToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJleHAiOjE2NTg1MzAyMjYsIm5iZiI6MTY1ODUyOTkyNiwidmVyIjoiMS4wIiwiaXNzIjoiaHR0cHM6Ly93ZGNiMmMuYjJjbG9naW4uY29tL3RmcC9mYWVhYTg5ZS02YTA1LTRjMzEtOGJkNS01MGRlNWNkNGQyZTEvYjJjXzFfbXNfc2lnbl91cF9pbi92Mi4wLyIsInN1YiI6IjVhYWIyOWNiLWRiZDMtNDM1ZS04MzViLTlmYmFkYTBkODg2MyIsImF1ZCI6ImFjYjQ3MjMzLTk3ZDUtNGFjMy04OWQzLTdkMTUzNjFjMjYzNiIsImlhdCI6MTY1ODUyOTkyNiwiYXV0aF90aW1lIjoxNjU4NTI5OTA2LCJpZHAiOiJsaXZlLmNvbSIsImVtYWlscyI6WyJrZXZpbkBlbHV2LmlvIl0sInRmcCI6IkIyQ18xX21zX3NpZ25fdXBfaW4ifQ.H1rbbrKCzU2dkdWe62GCTlOHACLbr8IV8UDiL1nukyerGrBVq_LtguLJAOjKO1jBClyJDOTMgI9y1wGb1zHdF2tCeN75wNwXCUUC5hn_TcemLOgp-haAEMC7KFFdR-4K_5A7IUUW9IqOQciE5DKNCKRDOKVNsDoMg7eV3VFp8QSeSCp7OGWL9FI1dWLmD6D_uoHfyYxE96LPrB-VCveCThQgsLMb6QE072S05w8ZM8CGxbLXcgKWG3VVaKT95e1e0NlDWQYlQQGFMBirUISpA3D82q3Wm4QlrANfGv49oypdnj-T4Uclu6pVnNwLvCIisj5w2GLobiyyyqMhEEsI1Q";
24
+
25
+ const client = await ElvWalletClient.Initialize({
26
+ network: "demo",
27
+ mode: "staging"
28
+ });
29
+
30
+ /*
31
+ console.log(
32
+ await client.AuthenticateOAuth({
33
+ idToken,
34
+ signerURIs: [
35
+ "https://wlt.stg.svc.eluv.io"
36
+ ]
37
+ })
38
+ );
39
+
40
+ */
41
+
42
+ await client.Authenticate({
43
+ token: "DYxK5cLMW5ofVh3pU23TmbAzkpFAsYrQQLsantU3uHFCJgyAjNoRHE7HvSCbQzZx1F33JM65R6oWZ1ZLYPEUhfA3WrnN9emo69A6AAKyFNBecKSFn3T6PP5MxMMPZRwN6AgwmuRgZMJQthF1xo7cMUqVwZCXtdHARYSrTHoRe3QMPggd6EJ6MzK7WHv2Sb7MPGGyVCR8uC4mK9SbncNm77Fj4H2LWxQpQggnF579GWv3SwAYiUBhbtgnfw6WEzyo1ZmBTV8vSkMiDAyBoMC138nokWNZc6DkpBNkyn6z3GwszoPsdXezKv7vANEVF6rrD3odbjosJpRoWbeEoPkebjoVySTgU8ywJybCDzeoFcg2XC1FQ4nyBhv5o3UVyXWispw3hN7oNs65vt9DaXmXwy45HzG3vL7PNdK8qviBg5XttCHUxkQ2aeYXTXcUzBYJ34PgDTXPBUwrj7a5FBa3gyC42eu48DAyxaFtV6GC5SXJCczTgQW6DPTrXiwzyEkBbVCoyDbMepaAA5MWH5WmpeWWzuexbHhKd3qW2ukWMHyjJpwAy1aUMZXGrAx3eGjTTmev342DqsV8ECHw9zPuzKv7MufkU7A9N9Wgi6jWoZXZvbMySxuRo81CV7XQZ6Zvcfy2xXFbtu5rgYA1xxhZaGZBioMUgT3HwEo1eqJuvs7r1QW3t1mMx9zbAJDTJtHFsYu4nkvyrDHQwDgKvQmnzSDhUs7yxeKeVKeFi2wy4QkXz56VJKxp3CtB9gM8qMLP3eUg1B3BRaNH8uPmy7qVYn3wn9epwPA2fDwR6MbunU5C4kx7rTbZmiQtKW4VUVP8iL6MvVy6Wx3NEXCeTmaSDz2BAfkrv7zFmC9ERyeqfrPvCYDyeTV2PHA6vVmdh5cXo6meJWKCD6jc5QAd6J7D1hJw6PWP8gyUQZGtZ6Xd9v82v3cP1L6njMWc4kpivB41mUF7Q86Zy8EoZ2xYhFrU3MoUuNPV3ApVKRqUmcL4cpKhbcSCgPi8QvnhUCjZGyEtxLwzCaRhXa"
44
+ })
45
+
46
+ console.log(
47
+ await client.PersonalSign({message: "test"})
48
+ )
16
49
  } catch(error) {
17
50
  console.error(error);
18
51
  console.error(JSON.stringify(error, null, 2));