@xoxno/sdk-js 0.0.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.
Files changed (137) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintrc.json +19 -0
  3. package/.github/workflows/npm-publish-github-packages.yml +36 -0
  4. package/.prettierrc +8 -0
  5. package/.releaserc +10 -0
  6. package/.vscode/settings.json +3 -0
  7. package/LICENSE +674 -0
  8. package/commitlint.config.js +3 -0
  9. package/coverage/clover.xml +280 -0
  10. package/coverage/coverage-final.json +12 -0
  11. package/coverage/lcov-report/base.css +224 -0
  12. package/coverage/lcov-report/block-navigation.js +87 -0
  13. package/coverage/lcov-report/collection/index.html +116 -0
  14. package/coverage/lcov-report/collection/index.ts.html +559 -0
  15. package/coverage/lcov-report/favicon.png +0 -0
  16. package/coverage/lcov-report/index.html +161 -0
  17. package/coverage/lcov-report/interactions/index.html +116 -0
  18. package/coverage/lcov-report/interactions/index.ts.html +775 -0
  19. package/coverage/lcov-report/nft/index.html +116 -0
  20. package/coverage/lcov-report/nft/index.ts.html +379 -0
  21. package/coverage/lcov-report/prettify.css +1 -0
  22. package/coverage/lcov-report/prettify.js +2 -0
  23. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/lcov-report/sorter.js +196 -0
  25. package/coverage/lcov-report/utils/SmartContractAbis.ts.html +331 -0
  26. package/coverage/lcov-report/utils/SmartContractService.ts.html +136 -0
  27. package/coverage/lcov-report/utils/api.ts.html +484 -0
  28. package/coverage/lcov-report/utils/const.ts.html +163 -0
  29. package/coverage/lcov-report/utils/getActivity.ts.html +250 -0
  30. package/coverage/lcov-report/utils/helpers.ts.html +127 -0
  31. package/coverage/lcov-report/utils/index.html +221 -0
  32. package/coverage/lcov-report/utils/regex.ts.html +106 -0
  33. package/coverage/lcov-report/utils/scCalls.ts.html +229 -0
  34. package/coverage/lcov.info +525 -0
  35. package/docs/.nojekyll +1 -0
  36. package/docs/assets/highlight.css +64 -0
  37. package/docs/assets/main.js +58 -0
  38. package/docs/assets/search.js +1 -0
  39. package/docs/assets/style.css +1279 -0
  40. package/docs/classes/collection.CollectionModule.html +232 -0
  41. package/docs/classes/interactions.SCInteraction.html +370 -0
  42. package/docs/classes/nft.NFTModule.html +208 -0
  43. package/docs/classes/utils_SmartContractAbis.SmartContractAbis.html +198 -0
  44. package/docs/classes/utils_api.APIClient.html +212 -0
  45. package/docs/classes/utils_scCalls.ContractQueryRunner.html +129 -0
  46. package/docs/enums/types_collection.FieldsToSelect.html +186 -0
  47. package/docs/enums/types_collection.Marketplace.html +102 -0
  48. package/docs/enums/types_collection.SearchOrderBy.html +130 -0
  49. package/docs/enums/types_trading.OrderByTradingActivity.html +102 -0
  50. package/docs/enums/types_trading.SelectFieldsTradingActivity.html +144 -0
  51. package/docs/enums/utils_api.Chain.html +88 -0
  52. package/docs/functions/utils_SmartContractService.getSmartContract.html +77 -0
  53. package/docs/functions/utils_getActivity.getActivity.html +89 -0
  54. package/docs/functions/utils_helpers.getIdentifierFromColAndNonce.html +76 -0
  55. package/docs/functions/utils_helpers.nonceToHex.html +74 -0
  56. package/docs/functions/utils_regex.isValidCollectionTicker.html +74 -0
  57. package/docs/functions/utils_regex.isValidNftIdentifier.html +74 -0
  58. package/docs/index.html +55 -0
  59. package/docs/interfaces/types_collection.AttributeData.html +99 -0
  60. package/docs/interfaces/types_collection.Filter.html +157 -0
  61. package/docs/interfaces/types_collection.GlobalOffer.html +176 -0
  62. package/docs/interfaces/types_collection.ICollectionAttributes.html +85 -0
  63. package/docs/interfaces/types_collection.ICollectionProfile.html +263 -0
  64. package/docs/interfaces/types_collection.IMintInfo.html +155 -0
  65. package/docs/interfaces/types_collection.ISocials.html +127 -0
  66. package/docs/interfaces/types_collection.MetadataAttribute.html +92 -0
  67. package/docs/interfaces/types_collection.SearchNFTs.html +127 -0
  68. package/docs/interfaces/types_collection.SearchNFTsArgs.html +225 -0
  69. package/docs/interfaces/types_collection.SearchNFTsResponse.html +132 -0
  70. package/docs/interfaces/types_collection.TradingActivity.html +232 -0
  71. package/docs/interfaces/types_collection.TraitValues.html +85 -0
  72. package/docs/interfaces/types_nft.GameData.html +92 -0
  73. package/docs/interfaces/types_nft.NFTAttribute.html +127 -0
  74. package/docs/interfaces/types_nft.NFTMetadata.html +104 -0
  75. package/docs/interfaces/types_nft.NftData.html +253 -0
  76. package/docs/interfaces/types_nft.NftValue.html +106 -0
  77. package/docs/interfaces/types_nft.OffersInfo.html +169 -0
  78. package/docs/interfaces/types_nft.OriginalMedia.html +92 -0
  79. package/docs/interfaces/types_nft.SaleInfoNft.html +211 -0
  80. package/docs/interfaces/types_trading.TradincActivityArgs.html +225 -0
  81. package/docs/interfaces/types_trading.TradingActivityQueryFilter.html +151 -0
  82. package/docs/interfaces/types_trading.TradingActivityResponse.html +106 -0
  83. package/docs/modules/collection.html +71 -0
  84. package/docs/modules/interactions.html +71 -0
  85. package/docs/modules/nft.html +71 -0
  86. package/docs/modules/types.html +189 -0
  87. package/docs/modules/types_collection.html +104 -0
  88. package/docs/modules/types_interactions.html +69 -0
  89. package/docs/modules/types_nft.html +85 -0
  90. package/docs/modules/types_trading.html +82 -0
  91. package/docs/modules/utils_SmartContractAbis.html +71 -0
  92. package/docs/modules/utils_SmartContractService.html +71 -0
  93. package/docs/modules/utils_api.html +76 -0
  94. package/docs/modules/utils_const.html +95 -0
  95. package/docs/modules/utils_getActivity.html +71 -0
  96. package/docs/modules/utils_helpers.html +73 -0
  97. package/docs/modules/utils_regex.html +73 -0
  98. package/docs/modules/utils_scCalls.html +71 -0
  99. package/docs/modules.html +76 -0
  100. package/docs/types/types_interactions.Offer.html +89 -0
  101. package/docs/variables/utils_const.API_URL.html +76 -0
  102. package/docs/variables/utils_const.API_URL_DEV.html +76 -0
  103. package/docs/variables/utils_const.DR_SC.html +76 -0
  104. package/docs/variables/utils_const.FM_SC.html +76 -0
  105. package/docs/variables/utils_const.KG_SC.html +76 -0
  106. package/docs/variables/utils_const.Manager_SC.html +76 -0
  107. package/docs/variables/utils_const.Manager_SC_DEV.html +76 -0
  108. package/docs/variables/utils_const.P2P_SC.html +76 -0
  109. package/docs/variables/utils_const.P2P_SC_DEV.html +76 -0
  110. package/docs/variables/utils_const.Staking_SC.html +76 -0
  111. package/docs/variables/utils_const.Staking_SC_DEV.html +76 -0
  112. package/docs/variables/utils_const.XOXNO_SC.html +76 -0
  113. package/docs/variables/utils_const.XOXNO_SC_DEV.html +76 -0
  114. package/jest.config.js +7 -0
  115. package/package.json +74 -0
  116. package/src/collection/__tests__/collection.test.ts +100 -0
  117. package/src/collection/index.ts +158 -0
  118. package/src/index.ts +20 -0
  119. package/src/interactions/__tests__/market.test.ts +92 -0
  120. package/src/interactions/index.ts +228 -0
  121. package/src/nft/__tests__/nft.test.ts +84 -0
  122. package/src/nft/index.ts +98 -0
  123. package/src/types/collection.d.ts +267 -0
  124. package/src/types/index.ts +3 -0
  125. package/src/types/interactions.d.ts +16 -0
  126. package/src/types/nft.d.ts +100 -0
  127. package/src/types/trading.d.ts +95 -0
  128. package/src/utils/SmartContractAbis.ts +82 -0
  129. package/src/utils/SmartContractService.ts +17 -0
  130. package/src/utils/api.ts +133 -0
  131. package/src/utils/const.ts +26 -0
  132. package/src/utils/getActivity.ts +55 -0
  133. package/src/utils/helpers.ts +14 -0
  134. package/src/utils/regex.ts +7 -0
  135. package/src/utils/scCalls.ts +48 -0
  136. package/tsconfig.json +13 -0
  137. package/webpack.config.js +28 -0
@@ -0,0 +1,559 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for collection/index.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">collection</a> index.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">83.87% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>26/31</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">67.39% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>31/46</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/6</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">83.87% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>26/31</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-yes">1x</span>
233
+ <span class="cline-any cline-yes">1x</span>
234
+ <span class="cline-any cline-yes">1x</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-yes">1x</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-yes">2x</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-yes">2x</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-yes">1x</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-yes">1x</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-yes">2x</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-yes">1x</span>
281
+ <span class="cline-any cline-no">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">1x</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-yes">1x</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-yes">2x</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-yes">1x</span>
299
+ <span class="cline-any cline-no">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-yes">1x</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-yes">1x</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-yes">2x</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">2x</span>
317
+ <span class="cline-any cline-no">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-yes">2x</span>
321
+ <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-yes">2x</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-yes">2x</span>
355
+ <span class="cline-any cline-yes">2x</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-yes">2x</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-yes">2x</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-yes">2x</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
383
+ ICollectionAttributes,
384
+ ICollectionProfile,
385
+ SearchNFTs,
386
+ SearchNFTsArgs,
387
+ SearchNFTsResponse,
388
+ } from '../types/collection';
389
+ import { TradincActivityArgs, TradingActivityResponse } from '../types/trading';
390
+ import { APIClient } from '../utils/api';
391
+ import { getActivity } from '../utils/getActivity';
392
+ import { isValidCollectionTicker } from '../utils/regex';
393
+ &nbsp;
394
+ /**
395
+ * CollectionModule provides a set of methods to interact with NFT collections.
396
+ * It includes methods for getting collection profile information, floor price,
397
+ * collection attributes, and searching NFTs within a collection.
398
+ *
399
+ * @example
400
+ * const xoxno = new XOXNO({ apiURL: 'https://api.xoxno.com', apiKey: 'your-api-key' });
401
+ * const collectionModule = xoxno.collection;
402
+ */
403
+ export class CollectionModule {
404
+ private api: APIClient;
405
+ constructor() {
406
+ this.api = APIClient.getClient();
407
+ }
408
+ &nbsp;
409
+ /**
410
+ * Fetches the profile of a collection.
411
+ * @param collection - The ticker of the collection.
412
+ * @returns A Promise that resolves to the ICollectionProfile object.
413
+ * @throws An error if the provided collection ticker is invalid.
414
+ */
415
+ public getCollectionProfile = async (
416
+ collection: string
417
+ ): Promise&lt;ICollectionProfile&gt; =&gt; {
418
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!isValidCollectionTicker(collection)) {
419
+ <span class="cstat-no" title="statement not covered" > throw new Error('Invalid collection ticker: ' + collection);</span>
420
+ }
421
+ const response = await this.api.fetchWithTimeout&lt;ICollectionProfile&gt;(
422
+ `/getCollectionProfile/${collection}`
423
+ );
424
+ return response;
425
+ };
426
+ &nbsp;
427
+ /**
428
+ * Fetches the floor price of a collection.
429
+ * @param collection - The ticker of the collection.
430
+ * @param token - The token for the floor price calculation (default: 'EGLD').
431
+ * @returns A Promise that resolves to the collection's floor price as a number.
432
+ * @throws An error if the provided collection ticker is invalid.
433
+ */
434
+ public getCollectionFloorPrice = async (
435
+ collection: string,
436
+ token = 'EGLD'
437
+ ): Promise&lt;number&gt; =&gt; {
438
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!isValidCollectionTicker(collection)) {
439
+ <span class="cstat-no" title="statement not covered" > throw new Error('Invalid collection ticker: ' + collection);</span>
440
+ }
441
+ const response = await this.api.fetchWithTimeout&lt;number&gt;(
442
+ `/getFloorPrice/${collection}/${token}`
443
+ );
444
+ return response;
445
+ };
446
+ &nbsp;
447
+ /**
448
+ * Fetches the attributes of a collection.
449
+ * @param collection - The ticker of the collection.
450
+ * @returns A Promise that resolves to the ICollectionAttributes object.
451
+ * @throws An error if the provided collection ticker is invalid.
452
+ */
453
+ public getCollectionAttributes = async (
454
+ collection: string
455
+ ): Promise&lt;ICollectionAttributes&gt; =&gt; {
456
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!isValidCollectionTicker(collection)) {
457
+ <span class="cstat-no" title="statement not covered" > throw new Error('Invalid collection ticker: ' + collection);</span>
458
+ }
459
+ const response = await this.api.fetchWithTimeout&lt;ICollectionAttributes&gt;(
460
+ `/getCollectionAttributes/${collection}`
461
+ );
462
+ return response;
463
+ };
464
+ &nbsp;
465
+ /**
466
+ * Searches for NFTs in a collection based on the provided arguments.
467
+ * @param args - The SearchNFTsArgs object containing the search parameters.
468
+ * @returns A Promise that resolves to the SearchNFTsResponse object.
469
+ * @throws An error if the provided collection ticker is invalid or if the 'top' value is greater than 35.
470
+ */
471
+ public searchNFTs = async (
472
+ args: SearchNFTsArgs
473
+ ): Promise&lt;SearchNFTsResponse&gt; =&gt; {
474
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!isValidCollectionTicker(args.collection)) {
475
+ <span class="cstat-no" title="statement not covered" > throw new Error('Invalid collection ticker: ' + args.collection);</span>
476
+ }
477
+ &nbsp;
478
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (args.top &amp;&amp; args.top &gt; 35) {
479
+ <span class="cstat-no" title="statement not covered" > throw new Error('Top cannot be greater than 35');</span>
480
+ }
481
+ &nbsp;
482
+ const payloadBody: SearchNFTs = {
483
+ filters: {
484
+ onSale: args.onlyOnSale || <span class="branch-1 cbranch-no" title="branch not covered" >false,</span>
485
+ marketplace: args.listedOnlyOn || undefined,
486
+ auctionTypes: args.onlyOnSale
487
+ ? args.onlyAuctions
488
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >['NftBid', 'SftAll']</span>
489
+ : ['Nft', 'SftOnePerPayment']
490
+ : <span class="branch-1 cbranch-no" title="branch not covered" >undefined,</span>
491
+ tokens: args.listedInToken || undefined,
492
+ attributes: args.attributes || undefined,
493
+ range: args.priceRange
494
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
495
+ ...args.priceRange,
496
+ type: args.onlyAuctions
497
+ ? 'saleInfoNft/current_bid_short'
498
+ : 'saleInfoNft/min_bid_short',
499
+ }
500
+ : undefined,
501
+ rankRange: args.rankRange || undefined,
502
+ levelRange: args.cantinaLevelRange || undefined,
503
+ },
504
+ name: args.searchName || '',
505
+ orderBy: args.orderBy || undefined,
506
+ collection: args.collection,
507
+ select: args.onlySelectFields || <span class="branch-1 cbranch-no" title="branch not covered" >undefined,</span>
508
+ top: args.top || <span class="branch-1 cbranch-no" title="branch not covered" >35,</span>
509
+ skip: args.skip || 0,
510
+ };
511
+ &nbsp;
512
+ const buffer = Buffer.from(JSON.stringify(payloadBody)).toString('base64');
513
+ const response = await this.api.fetchWithTimeout&lt;SearchNFTsResponse&gt;(
514
+ `/searchNFTs/${buffer}`
515
+ );
516
+ return {
517
+ ...response,
518
+ getNextPagePayload: {
519
+ ...args,
520
+ skip: (args.skip ?? 0) + (args.top ?? <span class="branch-1 cbranch-no" title="branch not covered" >35)</span>,
521
+ },
522
+ hasMoreResults:
523
+ response.resultsCount &gt; (args.skip ?? 0) + (args.top ?? <span class="branch-1 cbranch-no" title="branch not covered" >35)</span>,
524
+ };
525
+ };
526
+ &nbsp;
527
+ /**
528
+ * Retrieves trading history based on the provided arguments.
529
+ *
530
+ * @param {TradincActivityArgs} args - The arguments for filtering the trading activity.
531
+ * @returns {Promise&lt;TradingActivityResponse&gt;} A promise resolving to a TradingActivityResponse object containing the activity.
532
+ * @throws {Error} Throws an error if the 'top' argument is greater than 35.
533
+ */
534
+ public getTradingActivity = async (
535
+ args: TradincActivityArgs
536
+ ): Promise&lt;TradingActivityResponse&gt; =&gt; {
537
+ return await getActivity(args, this.api);
538
+ };
539
+ }
540
+ &nbsp;</pre></td></tr></table></pre>
541
+
542
+ <div class='push'></div><!-- for sticky footer -->
543
+ </div><!-- /wrapper -->
544
+ <div class='footer quiet pad2 space-top1 center small'>
545
+ Code coverage generated by
546
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
+ at 2023-04-01T00:54:20.155Z
548
+ </div>
549
+ <script src="../prettify.js"></script>
550
+ <script>
551
+ window.onload = function () {
552
+ prettyPrint();
553
+ };
554
+ </script>
555
+ <script src="../sorter.js"></script>
556
+ <script src="../block-navigation.js"></script>
557
+ </body>
558
+ </html>
559
+
Binary file