@xoxno/sdk-js 1.0.25 → 1.0.26

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/README.md CHANGED
@@ -1,41 +1,922 @@
1
1
  # XOXNO SDK
2
2
 
3
- XOXNO SDK is a JavaScript library that simplifies the interaction with the XOXNO Protocol for developers. It includes a set of helper functions and modules that make it easy to fetch, filter, and interact with data from the XOXNO Protocol and its NFT marketplace.
3
+ ## Basic usage
4
4
 
5
- ## Table of Contents
5
+ ```typescript
6
+ // sdk.ts
7
+ import { buildSdk, Chain, XOXNOClient } from '../src'
6
8
 
7
- - [Installation](#installation)
8
- - [Usage](#usage)
9
- - [Documentation](#docs)
9
+ // It's not expensive to build the sdk, so you can safely call `getSdk()` wherever you need it
10
+ export function getSdk() {
11
+ XOXNOClient.init({ apiUrl: 'https://api.xoxno.com', chain: Chain.MAINNET })
10
12
 
11
- ## Installation
13
+ return buildSdk(XOXNOClient.getInstance())
14
+ }
12
15
 
13
- To install the XOXNO SDK, simply run the following command in your project's root directory:
16
+ async function main() {
17
+ const sdk = getSdk()
14
18
 
15
- ```bash
16
- npm install @xoxno/sdk-js
19
+ /* Calling public endpoints ✅ */
20
+
21
+ const trendingCollections = await sdk.collection.query({
22
+ filter: {
23
+ top: 10,
24
+ orderBy: ['statistics.tradeData.weekEgldVolume desc'],
25
+ filters: {
26
+ isVerified: true,
27
+ },
28
+ },
29
+ })
30
+
31
+ console.log(trendingCollections.resources) // CollectionProfileDoc[]
32
+
33
+ const collectionProfile = await sdk.collection
34
+ .collection('BOOGAS-afc98d')
35
+ .profile()
36
+
37
+ console.log(collectionProfile.description) // string
38
+
39
+ // ... and many more! Just call sdk. and you will get type support
40
+ }
41
+
42
+ main()
43
+ ```
44
+
45
+ ## Calling restricted endpoints
46
+
47
+ Apart from the public endpoints that anyone can call, The XOXNO SDK also exposes `POST`, `PUT`, `PATCH` and `DELETE` endpoints that can be called by the respective logged in user. Here's how a flow looks like that obtains a _XOXNO Auth Token_ when logging in with a MultiversX wallet, that can be used for 24h to make authenticated requests:
48
+
49
+ ```typescript
50
+ // native-auth.ts
51
+ import { getSdk } from './sdk'
52
+
53
+ export class NativeAuthClient {
54
+ async initialize(extraInfo: object) {
55
+ const token = await getSdk().user.nativeToken({
56
+ originalUrl: 'https://yourdomain.com',
57
+ extraInfo: JSON.stringify({
58
+ ...extraInfo,
59
+ timestamp: Date.now(),
60
+ // ... and any other properties you want to have encoded in the JWT for your later usage
61
+ }),
62
+ })
63
+
64
+ return { token }
65
+ }
66
+ getToken(address: string, token: string, signature: string) {
67
+ const encodedAddress = this.encodeValue(address)
68
+
69
+ const encodedToken = this.encodeValue(token)
70
+
71
+ const loginToken = `${encodedAddress}.${encodedToken}.${signature}`
72
+
73
+ return { loginToken }
74
+ }
75
+ private encodeValue(str: string) {
76
+ return this.escape(Buffer.from(str, 'utf8').toString('base64'))
77
+ }
78
+ private escape(str: string) {
79
+ return str.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
80
+ }
81
+ }
17
82
  ```
18
83
 
19
- ## Usage
84
+ ```typescript
85
+ import { ExtensionProvider } from '@multiversx/sdk-extension-provider'
86
+ import { setCookie } from 'cookies-next'
87
+
88
+ import { NativeAuthClient } from './native-auth'
89
+ import { getSdk } from './sdk'
90
+
91
+ async function main() {
92
+ const sdk = getSdk()
93
+
94
+ const provider = ExtensionProvider.getInstance()
20
95
 
21
- The SDK follows a scheleton model where the API configuration has to be initiated only once anywhere in your application
96
+ await provider.init()
22
97
 
23
- ```javascript
24
- import { XOXNOClient } from '@xoxno/sdk-js';
25
- XOXNOClient.init();
26
- // By default calling init() without arguments will set the entire SDK to the mainnet ENV using the public API https://api.xoxno.com
98
+ const nativeAuthClient = new NativeAuthClient()
99
+
100
+ const loginMethod = 'extension'
101
+
102
+ const { token } = await nativeAuthClient.initialize({
103
+ loginMethod,
104
+ })
105
+
106
+ /* every time you login with a MultiversX provider, be it Extension, xPortal, Web Wallet or Ledger,
107
+ you have the possibility to pass a loginToken, and get back address and signature */
108
+ const { address, signature } = await provider.login({ token })
109
+
110
+ // obtain the accessToken that is exchanged for a XOXNO Auth Token
111
+ const { loginToken } = nativeAuthClient.getToken(address, token, signature!)
112
+
113
+ const { access_token, expires } = await sdk.user.login.POST({
114
+ body: {
115
+ loginToken,
116
+ signature: signature,
117
+ address: address,
118
+ },
119
+ })
120
+
121
+ // store the access_token for later usage
122
+ setCookie('xoxno-auth', access_token, {
123
+ expires: new Date(expires * 1000),
124
+ sameSite: 'strict',
125
+ secure: true,
126
+ })
127
+
128
+ // from now on you can call protected endpoints on behalf of `address`
129
+
130
+ const newUserProfile = await sdk.user.address(address).profile.PATCH({
131
+ body: {
132
+ description: 'XOXNO SDK rocks!',
133
+ },
134
+ auth: access_token,
135
+ })
136
+
137
+ console.log(newUserProfile.description) // XOXNO SDK rocks!
138
+ }
139
+
140
+ main()
27
141
  ```
28
142
 
29
- After the client has been created you can now import different modules anywhere in the application:
143
+ ## List of endpoints to call
144
+
145
+ The list of available SDK endpoints gets extracted from https://api.xoxno.com/swagger.yaml and parsed into a Typescript definition that you can [view here](https://github.com/XOXNO/sdk-js/blob/alpha/src/sdk/swagger.ts)
146
+
147
+ `buildSdk` then converts them in the following way:
30
148
 
31
- ```javascript
32
- import { CollectionModule } from '@xoxno/sdk-js';
33
- const collection = new CollectionModule(); // In case the above .init() call was not set before creating any module instance will throw an error
34
- const profile = await collection.getCollectionProfile('MONKEY-ac9bdf');
35
- // or similar with
36
- const profile = await new CollectionModule().getCollectionProfile('MONKEY-ac9bdf');
149
+ ```typescript
150
+ // /collection/:collection/profile
151
+ sdk.collection.collection('BOOGAS-afc98d').profile()
152
+
153
+ // /drops/:creatorTag/:collectionTag/drop-info
154
+ sdk.drops.creatorTag('MiceCityClub').collectionTag('MiceCity').dropInfo()
37
155
  ```
38
156
 
39
- ## Docs
157
+ For your reference, here is a list of all endpoints that are available:
158
+
159
+ ```typescript
160
+ // DELETE /event/:eventId/description/image/:imageId
161
+ sdk.event.eventId("...").description.image.imageId("...").DELETE(...); // SuccessDto
162
+
163
+ // DELETE /event/:eventId/guest
164
+ sdk.event.eventId("...").guest.DELETE(...); // SuccessDto
165
+
166
+ // DELETE /event/:eventId/invite/:inviteId
167
+ sdk.event.eventId("...").invite.inviteId("...").DELETE(...); // EventInvitationDoc
168
+
169
+ // DELETE /event/:eventId/question/:questionId
170
+ sdk.event.eventId("...").question.questionId("...").DELETE(...); // SuccessDto
171
+
172
+ // DELETE /event/:eventId/referral-config/:configId
173
+ sdk.event.eventId("...").referralConfig.configId("...").DELETE(...); // EventReferralConfigDoc
174
+
175
+ // DELETE /event/:eventId/referral/:referralCode
176
+ sdk.event.eventId("...").referral.referralCode("...").DELETE(...); // EventReferralDoc
177
+
178
+ // DELETE /event/:eventId/role/:address
179
+ sdk.event.eventId("...").role.address("...").DELETE(...); // SuccessDto
180
+
181
+ // DELETE /event/:eventId/stage/:stageId
182
+ sdk.event.eventId("...").stage.stageId("...").DELETE(...); // SuccessDto
183
+
184
+ // DELETE /event/:eventId/voucher/:voucherCode
185
+ sdk.event.eventId("...").voucher.voucherCode("...").DELETE(...); // EventVoucherDoc
186
+
187
+ // DELETE /mobile/device/:deviceId
188
+ sdk.mobile.device.deviceId("...").DELETE(...); // SuccessDto
189
+
190
+ // DELETE /mobile/history/clear-all
191
+ sdk.mobile.history.clearAll.DELETE(...); // NotificationSuccessResponseDto
192
+
193
+ // DELETE /mobile/history/clear-id/:notificationId
194
+ sdk.mobile.history.clearId.notificationId("...").DELETE(...); // NotificationSuccessResponseDto
195
+
196
+ // DELETE /user/chat/conversation/:conversationId
197
+ sdk.user.chat.conversation.conversationId("...").DELETE(...); // SuccessDto
198
+
199
+ // DELETE /user/chat/conversation/:conversationId/message/:messageId
200
+ sdk.user.chat.conversation.conversationId("...").message.messageId("...").DELETE(...); // SuccessDto
201
+
202
+ // DELETE /user/me/settings/email
203
+ sdk.user.me.settings.email.DELETE(...); // UserSettingsDoc
204
+
205
+ // DELETE /user/notifications/clear
206
+ sdk.user.notifications.clear.DELETE(...); // SuccessDto
207
+
208
+ // DELETE /user/web2/:index/wallet-link
209
+ sdk.user.web2.index("...").walletLink.DELETE(...); // Web2UserDoc
210
+
211
+ // GET /activity/:identifier
212
+ sdk.activity.identifier("...")(...); // NftActivityDocHydrated
213
+
214
+ // GET /activity/query
215
+ sdk.activity.query(...); // NftActivityPaginated
216
+
217
+ // GET /analytics/marketplace-unique-users
218
+ sdk.analytics.marketplaceUniqueUsers(...); // AnalyticsMarketplaceUniqueUsers[]
219
+
220
+ // GET /analytics/overview
221
+ sdk.analytics.overview(...); // GlobalAnalyticsOverviewResponseDto
222
+
223
+ // GET /analytics/volume
224
+ sdk.analytics.volume(...); // VolumeGraph[]
225
+
226
+ // GET /arda/max-token-quantity
227
+ sdk.arda.maxTokenQuantity(...); // ArdaSwapResultDto
228
+
229
+ // GET /arda/min-token-quantity
230
+ sdk.arda.minTokenQuantity(...); // ArdaSwapResultDto
231
+
232
+ // GET /ash/max-token-quantity
233
+ sdk.ash.maxTokenQuantity(...); // FetchSwapRoutesResponseDto
234
+
235
+ // GET /ash/min-token-quantity
236
+ sdk.ash.minTokenQuantity(...); // FetchSwapRoutesResponseDto
237
+
238
+ // GET /collection/:collection/analytics/volume
239
+ sdk.collection.collection("...").analytics.volume(...); // AnalyticsVolumeDto[]
240
+
241
+ // GET /collection/:collection/attributes
242
+ sdk.collection.collection("...").attributes(...); // Record<string
243
+
244
+ // GET /collection/:collection/drop-info
245
+ sdk.collection.collection("...").dropInfo(...); // CollectionMintProfileDocWithStages
246
+
247
+ // GET /collection/:collection/floor-price
248
+ sdk.collection.collection("...").floorPrice(...); // FloorPriceDto
249
+
250
+ // GET /collection/:collection/holders
251
+ sdk.collection.collection("...").holders(...); // CollectionHoldersDto
252
+
253
+ // GET /collection/:collection/holders/export
254
+ sdk.collection.collection("...").holders.export(...); // CollectionHoldersExportDto[]
255
+
256
+ // GET /collection/:collection/listings
257
+ sdk.collection.collection("...").listings(...); // ListingsResponseDto
258
+
259
+ // GET /collection/:collection/owner
260
+ sdk.collection.collection("...").owner(...); // CollectionOwnerDto
261
+
262
+ // GET /collection/:collection/pinned
263
+ sdk.collection.collection("...").pinned(...); // CollectionPinnedStatusDto
264
+
265
+ // GET /collection/:collection/pinned-drops
266
+ sdk.collection.collection("...").pinnedDrops(...); // CollectionPinnedStatusDto
267
+
268
+ // GET /collection/:collection/profile
269
+ sdk.collection.collection("...").profile(...); // CollectionProfileDoc
270
+
271
+ // GET /collection/:collection/ranks
272
+ sdk.collection.collection("...").ranks(...); // CollectionRanksDTO[]
273
+
274
+ // GET /collection/:collection/staking/delegators
275
+ sdk.collection.collection("...").staking.delegators(...); // string[]
276
+
277
+ // GET /collection/:collection/staking/summary
278
+ sdk.collection.collection("...").staking.summary(...); // StakingSummary[]
279
+
280
+ // GET /collection/:collection/stats
281
+ sdk.collection.collection("...").stats(...); // CollectionStatsDocHydrated
282
+
283
+ // GET /collection/:creatorTag/:collectionTag/drop-info
284
+ sdk.collection.creatorTag("...").collectionTag("...").dropInfo(...); // CollectionMintProfileDocWithStages
285
+
286
+ // GET /collection/drops/query
287
+ sdk.collection.drops.query(...); // CollectionMintProfilePaginated
288
+
289
+ // GET /collection/drops/search
290
+ sdk.collection.drops.search(...); // CollectionMintProfilePaginated
291
+
292
+ // GET /collection/floor-price
293
+ sdk.collection.floorPrice(...); // Record<string
294
+
295
+ // GET /collection/global-offer/query
296
+ sdk.collection.globalOffer.query(...); // GlobalOfferPaginated
297
+
298
+ // GET /collection/pinned
299
+ sdk.collection.pinned(...); // PinnedCollectionDto[]
300
+
301
+ // GET /collection/pinned-drops
302
+ sdk.collection.pinnedDrops(...); // CollectionMintProfileDocHydrated[]
303
+
304
+ // GET /collection/query
305
+ sdk.collection.query(...); // CollectionProfilePaginated
306
+
307
+ // GET /collection/search
308
+ sdk.collection.search(...); // GlobalSearchResourcesPaginated
309
+
310
+ // GET /collection/staking/explore
311
+ sdk.collection.staking.explore(...); // StakingExploreDtoHydrated[]
312
+
313
+ // GET /collection/stats/query
314
+ sdk.collection.stats.query(...); // CollectionStatsPaginated
315
+
316
+ // GET /countries
317
+ sdk.countries(...); // string[]
318
+
319
+ // GET /event/:eventId
320
+ sdk.event.eventId("...")(...); // EventProfile
321
+
322
+ // GET /event/:eventId/answered-questions/:address
323
+ sdk.event.eventId("...").answeredQuestions.address("...")(...); // AnsweredQuestionWithDetails[]
324
+
325
+ // GET /event/:eventId/google-pass/:address
326
+ sdk.event.eventId("...").googlePass.address("...")(...); // string[]
327
+
328
+ // GET /event/:eventId/guest-export
329
+ sdk.event.eventId("...").guestExport(...); // EventGuestExport[]
330
+
331
+ // GET /event/:eventId/guest/:address
332
+ sdk.event.eventId("...").guest.address("...")(...); // EventGuestProfile
333
+
334
+ // GET /event/:eventId/guest/query
335
+ sdk.event.eventId("...").guest.query(...); // EventGuestProfileQuery
336
+
337
+ // GET /event/:eventId/invite/:inviteId
338
+ sdk.event.eventId("...").invite.inviteId("...")(...); // EventInvitation
339
+
340
+ // GET /event/:eventId/invite/query
341
+ sdk.event.eventId("...").invite.query(...); // EventInvitationQuery
342
+
343
+ // GET /event/:eventId/questions
344
+ sdk.event.eventId("...").questions(...); // EventQuestionDoc[]
345
+
346
+ // GET /event/:eventId/referral-configs
347
+ sdk.event.eventId("...").referralConfigs(...); // EventReferralConfigPaginated
348
+
349
+ // GET /event/:eventId/referrals
350
+ sdk.event.eventId("...").referrals(...); // EventReferralPaginated
351
+
352
+ // GET /event/:eventId/referrals/self-serviced
353
+ sdk.event.eventId("...").referrals.selfServiced(...); // EventReferralDoc[]
354
+
355
+ // GET /event/:eventId/role
356
+ sdk.event.eventId("...").role(...); // EventUserRole[]
357
+
358
+ // GET /event/:eventId/role/:address
359
+ sdk.event.eventId("...").role.address("...")(...); // EventUserRoleDoc
360
+
361
+ // GET /event/:eventId/roleId/:roleId
362
+ sdk.event.eventId("...").roleId.roleId("...")(...); // EventUserRoleDoc
363
+
364
+ // GET /event/:eventId/stage
365
+ sdk.event.eventId("...").stage(...); // EventStageProfileDoc[]
366
+
367
+ // GET /event/:eventId/stage/:stageId
368
+ sdk.event.eventId("...").stage.stageId("...")(...); // EventStageProfileDoc
369
+
370
+ // GET /event/:eventId/ticket
371
+ sdk.event.eventId("...").ticket(...); // EventTicketProfileDoc[]
372
+
373
+ // GET /event/:eventId/ticket/:ticketId
374
+ sdk.event.eventId("...").ticket.ticketId("...")(...); // EventTicketProfileDoc
375
+
376
+ // GET /event/:eventId/voucher/query
377
+ sdk.event.eventId("...").voucher.query(...); // EventVoucherQuery
378
+
379
+ // GET /event/profile/location
380
+ sdk.event.profile.location(...); // EventCountGroupedByCountry[]
381
+
382
+ // GET /event/profile/query
383
+ sdk.event.profile.query(...); // EventProfileQuery
384
+
385
+ // GET /launchpad/:scAddress/shareholders/collection/:collectionTag
386
+ sdk.launchpad.scAddress("...").shareholders.collection.collectionTag("...")(...); // ShareholderDto[]
387
+
388
+ // GET /launchpad/:scAddress/shareholders/royalties
389
+ sdk.launchpad.scAddress("...").shareholders.royalties(...); // ShareholderDto[]
390
+
391
+ // GET /lending/leaderboard
392
+ sdk.lending.leaderboard(...); // LendingPositionStatus[]
393
+
394
+ // GET /lending/market-sc
395
+ sdk.lending.marketSc(...); // string[]
396
+
397
+ // GET /lending/market/:token/analytics
398
+ sdk.lending.market.token("...").analytics(...); // LendingMarketAnalyticsGraph[]
399
+
400
+ // GET /lending/market/:token/emode-categories
401
+ sdk.lending.market.token("...").emodeCategories(...); // LendingEModeCategoryProfile[]
402
+
403
+ // GET /lending/market/:token/price/egld
404
+ sdk.lending.market.token("...").price.egld(...); // LendingTokenPriceDto
405
+
406
+ // GET /lending/market/:token/profile
407
+ sdk.lending.market.token("...").profile(...); // LendingMarketProfile
408
+
409
+ // GET /lending/market/emode-categories
410
+ sdk.lending.market.emodeCategories(...); // LendingEModeCategoryProfile[]
411
+
412
+ // GET /lending/market/indexes
413
+ sdk.lending.market.indexes(...); // Record<string
414
+
415
+ // GET /lending/market/prices
416
+ sdk.lending.market.prices(...); // Record<string
417
+
418
+ // GET /lending/market/query
419
+ sdk.lending.market.query(...); // LendingMarketProfileQuery
420
+
421
+ // GET /lending/stats
422
+ sdk.lending.stats(...); // LendingOverallStats
423
+
424
+ // GET /liquid/egld/execute-delegate
425
+ sdk.liquid.egld.executeDelegate(...); // string
426
+
427
+ // GET /liquid/egld/execute-undelegate
428
+ sdk.liquid.egld.executeUndelegate(...); // string
429
+
430
+ // GET /liquid/egld/liquid-supply
431
+ sdk.liquid.egld.liquidSupply(...); // string
432
+
433
+ // GET /liquid/egld/pending-delegate
434
+ sdk.liquid.egld.pendingDelegate(...); // string
435
+
436
+ // GET /liquid/egld/pending-fees
437
+ sdk.liquid.egld.pendingFees(...); // string
438
+
439
+ // GET /liquid/egld/pending-undelegate
440
+ sdk.liquid.egld.pendingUndelegate(...); // string
441
+
442
+ // GET /liquid/egld/protocol-apr
443
+ sdk.liquid.egld.protocolApr(...); // ProtocolAprType
444
+
445
+ // GET /liquid/egld/providers
446
+ sdk.liquid.egld.providers(...); // ProviderDto[]
447
+
448
+ // GET /liquid/egld/rate
449
+ sdk.liquid.egld.rate(...); // RateType
450
+
451
+ // GET /liquid/egld/staked
452
+ sdk.liquid.egld.staked(...); // string
453
+
454
+ // GET /liquid/egld/stats
455
+ sdk.liquid.egld.stats(...); // XoxnoLiquidStatsDto
456
+
457
+ // GET /liquid/xoxno/liquid-supply
458
+ sdk.liquid.xoxno.liquidSupply(...); // string
459
+
460
+ // GET /liquid/xoxno/rate
461
+ sdk.liquid.xoxno.rate(...); // RateType
462
+
463
+ // GET /liquid/xoxno/staked
464
+ sdk.liquid.xoxno.staked(...); // string
465
+
466
+ // GET /liquid/xoxno/stats
467
+ sdk.liquid.xoxno.stats(...); // XoxnoLiquidStatsDto
468
+
469
+ // GET /mobile/device/:deviceId
470
+ sdk.mobile.device.deviceId("...")(...); // MobileDeviceDoc
471
+
472
+ // GET /mobile/history
473
+ sdk.mobile.history(...); // PushNotificationResponse
474
+
475
+ // GET /mobile/history/unread-count
476
+ sdk.mobile.history.unreadCount(...); // PushNotificationCountResponse
477
+
478
+ // GET /nft/:identifier
479
+ sdk.nft.identifier("...")(...); // NftDocFull
480
+
481
+ // GET /nft/:identifier/offers
482
+ sdk.nft.identifier("...").offers(...); // NftOfferPaginated
483
+
484
+ // GET /nft/offer/:identifier
485
+ sdk.nft.offer.identifier("...")(...); // NftOfferDocHydrated[]
486
+
487
+ // GET /nft/offer/query
488
+ sdk.nft.offer.query(...); // NftOfferPaginated
489
+
490
+ // GET /nft/pinned
491
+ sdk.nft.pinned(...); // NftDocHydrated[]
492
+
493
+ // GET /nft/query
494
+ sdk.nft.query(...); // NftPaginated
495
+
496
+ // GET /nft/search/query
497
+ sdk.nft.search.query(...); // NftPaginated
498
+
499
+ // GET /pool/:poolId/profile
500
+ sdk.pool.poolId("...").profile(...); // StakingSummary
501
+
502
+ // GET /pool/:poolId/whitelist
503
+ sdk.pool.poolId("...").whitelist(...); // NftDocHydrated[]
504
+
505
+ // GET /search
506
+ sdk.search(...); // GlobalSearchResourcesPaginated
507
+
508
+ // GET /tokens
509
+ sdk.tokens(...); // TokenDataDocHydrated[]
510
+
511
+ // GET /tokens/egld
512
+ sdk.tokens.egld(...); // IMetrics
513
+
514
+ // GET /tokens/egld/fiat-price
515
+ sdk.tokens.egld.fiatPrice(...); // Record<string
516
+
517
+ // GET /tokens/sui
518
+ sdk.tokens.sui(...); // IMetrics
519
+
520
+ // GET /tokens/swap
521
+ sdk.tokens.swap(...); // TokenDataDocHydrated[]
522
+
523
+ // GET /tokens/usd-price
524
+ sdk.tokens.usdPrice(...); // Record<string
525
+
526
+ // GET /tokens/xoxno
527
+ sdk.tokens.xoxno(...); // IMetrics
528
+
529
+ // GET /tokens/xoxno/info
530
+ sdk.tokens.xoxno.info(...); // XoxnoInfo
531
+
532
+ // GET /transactions/:txHash
533
+ sdk.transactions.txHash("...")(...); // TransactionDetailed
534
+
535
+ // GET /transactions/:txHash/status
536
+ sdk.transactions.txHash("...").status(...); // TransactionProcessStatus
537
+
538
+ // GET /user/:address/analytics/volume
539
+ sdk.user.address("...").analytics.volume(...); // UserAnalyticsDto
540
+
541
+ // GET /user/:address/creator/details
542
+ sdk.user.address("...").creator.details(...); // CreatorDetailsDto
543
+
544
+ // GET /user/:address/creator/events
545
+ sdk.user.address("...").creator.events(...); // CreatorDetailsDto
546
+
547
+ // GET /user/:address/creator/listing
548
+ sdk.user.address("...").creator.listing(...); // CreatorDetailsDto
549
+
550
+ // GET /user/:address/creator/profile
551
+ sdk.user.address("...").creator.profile(...); // CreatorProfileDto
552
+
553
+ // GET /user/:address/favorite/collections
554
+ sdk.user.address("...").favorite.collections(...); // CollectionStatsPaginated
555
+
556
+ // GET /user/:address/favorite/nfts
557
+ sdk.user.address("...").favorite.nfts(...); // NftPaginated
558
+
559
+ // GET /user/:address/favorite/users
560
+ sdk.user.address("...").favorite.users(...); // string[]
561
+
562
+ // GET /user/:address/inventory-summary
563
+ sdk.user.address("...").inventorySummary(...); // InventorySummaryDtoHydrated[]
564
+
565
+ // GET /user/:address/network-account
566
+ sdk.user.address("...").networkAccount(...); // UserNetworkInfoDto
567
+
568
+ // GET /user/:address/offers
569
+ sdk.user.address("...").offers(...); // NftOfferPaginated
570
+
571
+ // GET /user/:address/profile
572
+ sdk.user.address("...").profile(...); // UserProfileDoc
573
+
574
+ // GET /user/:address/staking/available-pools
575
+ sdk.user.address("...").staking.availablePools(...); // StakingSummary[]
576
+
577
+ // GET /user/:address/staking/collection/:collection
578
+ sdk.user.address("...").staking.collection.collection("...")(...); // StakingSummary[]
579
+
580
+ // GET /user/:address/staking/creator
581
+ sdk.user.address("...").staking.creator(...); // StakingCreatorDoc
582
+
583
+ // GET /user/:address/staking/owned-collections
584
+ sdk.user.address("...").staking.ownedCollections(...); // OwnedCollectionsDto
585
+
586
+ // GET /user/:address/staking/owned-pools
587
+ sdk.user.address("...").staking.ownedPools(...); // StakingSummary[]
588
+
589
+ // GET /user/:address/staking/pool/:poolId/nfts
590
+ sdk.user.address("...").staking.pool.poolId("...").nfts(...); // StakingUserPoolNfts
591
+
592
+ // GET /user/:address/staking/summary
593
+ sdk.user.address("...").staking.summary(...); // UserStakingSummaryDto[]
594
+
595
+ // GET /user/:address/token-inventory
596
+ sdk.user.address("...").tokenInventory(...); // UserTokenInventoryResponseDto
597
+
598
+ // GET /user/:creatorTag/owned-services
599
+ sdk.user.creatorTag("...").ownedServices(...); // OwnedServicesDto
600
+
601
+ // GET /user/:tag/creator/is-registered
602
+ sdk.user.tag("...").creator.isRegistered(...); // SuccessDto
603
+
604
+ // GET /user/chat/block
605
+ sdk.user.chat.block(...); // UserBlockPaginated
606
+
607
+ // GET /user/chat/conversation
608
+ sdk.user.chat.conversation(...); // UserConversationPaginated
609
+
610
+ // GET /user/chat/conversation-summary
611
+ sdk.user.chat.conversationSummary(...); // GlobalConversationSummaryDto
612
+
613
+ // GET /user/chat/conversation/:conversationId
614
+ sdk.user.chat.conversation.conversationId("...")(...); // ChatMessagePaginated
615
+
616
+ // GET /user/favorite/:favoriteId
617
+ sdk.user.favorite.favoriteId("...")(...); // CheckLikeStatusResponseDto
618
+
619
+ // GET /user/lending/:address
620
+ sdk.user.lending.address("...")(...); // LendingAccountProfile[]
621
+
622
+ // GET /user/lending/image/:nonce
623
+ sdk.user.lending.image.nonce("...")(...); // string
624
+
625
+ // GET /user/lending/position/:identifier
626
+ sdk.user.lending.position.identifier("...")(...); // LendingAccountProfile[]
627
+
628
+ // GET /user/me
629
+ sdk.user.me(...); // UserProfileDto
630
+
631
+ // GET /user/me/event
632
+ sdk.user.me.event(...); // EventProfile[]
633
+
634
+ // GET /user/me/event/badge
635
+ sdk.user.me.event.badge(...); // string
636
+
637
+ // GET /user/me/event/badge/payload
638
+ sdk.user.me.event.badge.payload(...); // BageQRData
639
+
640
+ // GET /user/me/events/hosted
641
+ sdk.user.me.events.hosted(...); // EventProfile[]
642
+
643
+ // GET /user/me/events/past
644
+ sdk.user.me.events.past(...); // EventProfile[]
645
+
646
+ // GET /user/me/events/upcoming
647
+ sdk.user.me.events.upcoming(...); // EventProfile[]
648
+
649
+ // GET /user/me/settings
650
+ sdk.user.me.settings(...); // UserSettingsDoc
651
+
652
+ // GET /user/me/xoxno-drop
653
+ sdk.user.me.xoxnoDrop(...); // AirdropDtoHydrated[]
654
+
655
+ // GET /user/native-token
656
+ sdk.user.nativeToken(...); // string
657
+
658
+ // GET /user/notifications
659
+ sdk.user.notifications(...); // NotificationPaginated
660
+
661
+ // GET /user/notifications/unread-count
662
+ sdk.user.notifications.unreadCount(...); // PushNotificationCountResponse
663
+
664
+ // GET /user/search
665
+ sdk.user.search(...); // GlobalSearchResourcesPaginated
666
+
667
+ // GET /user/stats
668
+ sdk.user.stats(...); // UserStatsDto[]
669
+
670
+ // GET /user/web2
671
+ sdk.user.web2(...); // Web2UserDoc
672
+
673
+ // GET /user/web2/shards
674
+ sdk.user.web2.shards(...); // Web2UserShardsDto
675
+
676
+ // GET /user/xoxno-drop
677
+ sdk.user.xoxnoDrop(...); // AirdropDtoHydrated[]
678
+
679
+ // PATCH /collection/:collection/profile
680
+ sdk.collection.collection("...").profile.PATCH(...); // CollectionProfileDoc
681
+
682
+ // PATCH /event/:eventId
683
+ sdk.event.eventId("...").PATCH(...); // EventProfile
684
+
685
+ // PATCH /event/:eventId/guest/approve
686
+ sdk.event.eventId("...").guest.approve.PATCH(...); // EventGuestProfile[]
687
+
688
+ // PATCH /event/:eventId/question/:questionId
689
+ sdk.event.eventId("...").question.questionId("...").PATCH(...); // EventQuestionDoc
690
+
691
+ // PATCH /event/:eventId/referral-config/:configId
692
+ sdk.event.eventId("...").referralConfig.configId("...").PATCH(...); // EventReferralConfigDoc
693
+
694
+ // PATCH /event/:eventId/referral/:referralCode
695
+ sdk.event.eventId("...").referral.referralCode("...").PATCH(...); // EventReferralDoc
696
+
697
+ // PATCH /event/:eventId/stage/:stageId
698
+ sdk.event.eventId("...").stage.stageId("...").PATCH(...); // EventStageProfileDoc
699
+
700
+ // PATCH /event/:eventId/ticket/:ticketId
701
+ sdk.event.eventId("...").ticket.ticketId("...").PATCH(...); // EventTicketProfileDoc
702
+
703
+ // PATCH /event/:eventId/voucher/:voucherCode
704
+ sdk.event.eventId("...").voucher.voucherCode("...").PATCH(...); // EventVoucherDoc
705
+
706
+ // PATCH /pool/:poolId/profile
707
+ sdk.pool.poolId("...").profile.PATCH(...); // StakingPoolDoc
708
+
709
+ // PATCH /user/:address/creator/profile
710
+ sdk.user.address("...").creator.profile.PATCH(...); // CreatorProfileDoc
711
+
712
+ // PATCH /user/:address/profile
713
+ sdk.user.address("...").profile.PATCH(...); // UserProfileDoc
714
+
715
+ // PATCH /user/me/settings/billing
716
+ sdk.user.me.settings.billing.PATCH(...); // UserSettingsDoc
717
+
718
+ // PATCH /user/me/settings/email
719
+ sdk.user.me.settings.email.PATCH(...); // UserSettingsDoc
720
+
721
+ // PATCH /user/me/settings/notification-preferences
722
+ sdk.user.me.settings.notificationPreferences.PATCH(...); // UserSettingsDoc
723
+
724
+ // PATCH /user/me/settings/phone
725
+ sdk.user.me.settings.phone.PATCH(...); // UserSettingsDoc
726
+
727
+ // PATCH /user/notifications/read
728
+ sdk.user.notifications.read.PATCH(...); // NotificationDoc|SuccessDto
729
+
730
+ // POST /collection/:collection/follow
731
+ sdk.collection.collection("...").follow.POST(...); // FollowCollectionDto
732
+
733
+ // POST /collection/:collection/sign-mint
734
+ sdk.collection.collection("...").signMint.POST(...); // SignDataDto
735
+
736
+ // POST /collection/:collection/sign-offer
737
+ sdk.collection.collection("...").signOffer.POST(...); // SignDataDto
738
+
739
+ // POST /event
740
+ sdk.event.POST(...); // EventProfile
741
+
742
+ // POST /event/:eventId/calculate-prices
743
+ sdk.event.eventId("...").calculatePrices.POST(...); // TicketPricesResponse
744
+
745
+ // POST /event/:eventId/invite
746
+ sdk.event.eventId("...").invite.POST(...); // EventInvitationDoc[]
747
+
748
+ // POST /event/:eventId/invite/:inviteId
749
+ sdk.event.eventId("...").invite.inviteId("...").POST(...); // EventInvitation
750
+
751
+ // POST /event/:eventId/manual-check-in
752
+ sdk.event.eventId("...").manualCheckIn.POST(...); // TicketValidationResult
753
+
754
+ // POST /event/:eventId/notify-attendees
755
+ sdk.event.eventId("...").notifyAttendees.POST(...); // SuccessWithMessageDto
756
+
757
+ // POST /event/:eventId/question
758
+ sdk.event.eventId("...").question.POST(...); // EventQuestionDoc
759
+
760
+ // POST /event/:eventId/referral
761
+ sdk.event.eventId("...").referral.POST(...); // EventReferralDoc
762
+
763
+ // POST /event/:eventId/referral-config
764
+ sdk.event.eventId("...").referralConfig.POST(...); // EventReferralConfigDoc
765
+
766
+ // POST /event/:eventId/register
767
+ sdk.event.eventId("...").register.POST(...); // EventRegistrationResponseDto
768
+
769
+ // POST /event/:eventId/role
770
+ sdk.event.eventId("...").role.POST(...); // EventUserRole
771
+
772
+ // POST /event/:eventId/role/:roleId/accept
773
+ sdk.event.eventId("...").role.roleId("...").accept.POST(...); // EventUserRoleDoc
774
+
775
+ // POST /event/:eventId/scan
776
+ sdk.event.eventId("...").scan.POST(...); // TicketValidationResult
777
+
778
+ // POST /event/:eventId/stage
779
+ sdk.event.eventId("...").stage.POST(...); // EventStageProfileDoc
780
+
781
+ // POST /event/:eventId/ticket
782
+ sdk.event.eventId("...").ticket.POST(...); // EventTicketProfileDoc
783
+
784
+ // POST /event/:eventId/ticket/:ticketId
785
+ sdk.event.eventId("...").ticket.ticketId("...").POST(...); // SuccessDto
786
+
787
+ // POST /event/:eventId/validate-discount
788
+ sdk.event.eventId("...").validateDiscount.POST(...); // DiscountCodeValidationResponse
789
+
790
+ // POST /event/:eventId/voucher
791
+ sdk.event.eventId("...").voucher.POST(...); // EventVoucherDoc
792
+
793
+ // POST /eventNotifications/creator/marketing
794
+ sdk.eventNotifications.creator.marketing.POST(...); // NotificationSuccessResponseDto
795
+
796
+ // POST /eventNotifications/event/:eventId/reminder
797
+ sdk.eventNotifications.event.eventId("...").reminder.POST(...); // NotificationSuccessResponseDto
798
+
799
+ // POST /eventNotifications/event/:eventId/update
800
+ sdk.eventNotifications.event.eventId("...").update.POST(...); // NotificationSuccessResponseDto
801
+
802
+ // POST /eventNotifications/user/:userId/direct
803
+ sdk.eventNotifications.user.userId("...").direct.POST(...); // NotificationSuccessResponseDto
804
+
805
+ // POST /faucet
806
+ sdk.faucet.POST(...); // SuccessDto
807
+
808
+ // POST /mobile/device/register
809
+ sdk.mobile.device.register.POST(...); // MobileDeviceDoc
810
+
811
+ // POST /nft/:identifier/like
812
+ sdk.nft.identifier("...").like.POST(...); // LikeNftDto
813
+
814
+ // POST /nft/sign-withdraw
815
+ sdk.nft.signWithdraw.POST(...); // SignDataDto
816
+
817
+ // POST /notify/global-broadcast
818
+ sdk.notify.globalBroadcast.POST(...); // SuccessWithMessageDto
819
+
820
+ // POST /transactions
821
+ sdk.transactions.POST(...); // TransactionSendResult
822
+
823
+ // POST /transactions/batch
824
+ sdk.transactions.batch.POST(...); // TransactionSendResult[]
825
+
826
+ // POST /user/:address/follow
827
+ sdk.user.address("...").follow.POST(...); // UserFavoriteResponseDto
828
+
829
+ // POST /user/buy/signature
830
+ sdk.user.buy.signature.POST(...); // TradesilvaniaSignature
831
+
832
+ // POST /user/chat/block/:address
833
+ sdk.user.chat.block.address("...").POST(...); // SuccessDto
834
+
835
+ // POST /user/chat/message
836
+ sdk.user.chat.message.POST(...); // ChatMessageDocHydrated
837
+
838
+ // POST /user/chat/token
839
+ sdk.user.chat.token.POST(...); // WebSocketTokenDto
840
+
841
+ // POST /user/login
842
+ sdk.user.login.POST(...); // LoginAccessDto
843
+
844
+ // POST /user/me/settings/verify-email
845
+ sdk.user.me.settings.verifyEmail.POST(...); // UserSettingsDoc
846
+
847
+ // POST /user/network-account
848
+ sdk.user.networkAccount.POST(...); // UserNetworkInfoDto[]
849
+
850
+ // POST /user/web2/session-cookie
851
+ sdk.user.web2.sessionCookie.POST(...); // SuccessWithMessageDto
852
+
853
+ // POST /user/web2/wallet
854
+ sdk.user.web2.wallet.POST(...); // Web2UserDoc
855
+
856
+ // POST /user/web2/wallet-link
857
+ sdk.user.web2.walletLink.POST(...); // Web2UserDoc
858
+
859
+ // POST /user/web2/wallet-switch
860
+ sdk.user.web2.walletSwitch.POST(...); // Web2UserDoc
861
+
862
+ // PUT /collection/:collection/reset-banner
863
+ sdk.collection.collection("...").resetBanner.PUT(...); // CollectionProfileDoc
864
+
865
+ // PUT /collection/:collection/reset-picture
866
+ sdk.collection.collection("...").resetPicture.PUT(...); // CollectionProfileDoc
867
+
868
+ // PUT /collection/:collection/upload-banner
869
+ sdk.collection.collection("...").uploadBanner.PUT(...); // CollectionProfileDoc
870
+
871
+ // PUT /collection/:collection/upload-picture
872
+ sdk.collection.collection("...").uploadPicture.PUT(...); // CollectionProfileDoc
873
+
874
+ // PUT /event/:eventId/background
875
+ sdk.event.eventId("...").background.PUT(...); // EventProfile
876
+
877
+ // PUT /event/:eventId/description
878
+ sdk.event.eventId("...").description.PUT(...); // EventProfile
879
+
880
+ // PUT /event/:eventId/description/image
881
+ sdk.event.eventId("...").description.image.PUT(...); // string
882
+
883
+ // PUT /event/:eventId/profile
884
+ sdk.event.eventId("...").profile.PUT(...); // EventProfile
885
+
886
+ // PUT /event/:eventId/ticket/:ticketId
887
+ sdk.event.eventId("...").ticket.ticketId("...").PUT(...); // EventTicketProfileDoc
888
+
889
+ // PUT /mobile/history/:notificationId/read
890
+ sdk.mobile.history.notificationId("...").read.PUT(...); // PushNotificationDoc
891
+
892
+ // PUT /mobile/history/read-all
893
+ sdk.mobile.history.readAll.PUT(...); // NotificationSuccessResponseDto
894
+
895
+ // PUT /pool/:poolId/upload-picture
896
+ sdk.pool.poolId("...").uploadPicture.PUT(...); // StakingPoolDoc
897
+
898
+ // PUT /user/:address/creator/reset-banner
899
+ sdk.user.address("...").creator.resetBanner.PUT(...); // CreatorProfileDoc
900
+
901
+ // PUT /user/:address/creator/reset-picture
902
+ sdk.user.address("...").creator.resetPicture.PUT(...); // CreatorProfileDoc
903
+
904
+ // PUT /user/:address/creator/upload-banner
905
+ sdk.user.address("...").creator.uploadBanner.PUT(...); // CreatorProfileDoc
906
+
907
+ // PUT /user/:address/creator/upload-picture
908
+ sdk.user.address("...").creator.uploadPicture.PUT(...); // CreatorProfileDoc
909
+
910
+ // PUT /user/:address/reset-banner
911
+ sdk.user.address("...").resetBanner.PUT(...); // UserProfileDoc
912
+
913
+ // PUT /user/:address/reset-picture
914
+ sdk.user.address("...").resetPicture.PUT(...); // UserProfileDoc
915
+
916
+ // PUT /user/:address/upload-banner
917
+ sdk.user.address("...").uploadBanner.PUT(...); // UserProfileDoc
918
+
919
+ // PUT /user/:address/upload-picture
920
+ sdk.user.address("...").uploadPicture.PUT(...); // UserProfileDoc
40
921
 
41
- For more modules and typescript interfaces you can check our documentation at [https://sdk.xoxno.com](https://sdk.xoxno.com)
922
+ ```