@trust-ethos/cli 0.0.5

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1791 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/dev.js +5 -0
  5. package/bin/run.cmd +3 -0
  6. package/bin/run.js +5 -0
  7. package/dist/commands/auction/active.d.ts +10 -0
  8. package/dist/commands/auction/active.js +39 -0
  9. package/dist/commands/auction/info.d.ts +16 -0
  10. package/dist/commands/auction/info.js +46 -0
  11. package/dist/commands/auction/list.d.ts +14 -0
  12. package/dist/commands/auction/list.js +61 -0
  13. package/dist/commands/broker/info.d.ts +16 -0
  14. package/dist/commands/broker/info.js +37 -0
  15. package/dist/commands/broker/list.d.ts +15 -0
  16. package/dist/commands/broker/list.js +62 -0
  17. package/dist/commands/config/get.d.ts +9 -0
  18. package/dist/commands/config/get.js +29 -0
  19. package/dist/commands/config/path.d.ts +6 -0
  20. package/dist/commands/config/path.js +12 -0
  21. package/dist/commands/config/set.d.ts +9 -0
  22. package/dist/commands/config/set.js +28 -0
  23. package/dist/commands/listing/info.d.ts +13 -0
  24. package/dist/commands/listing/info.js +41 -0
  25. package/dist/commands/listing/list.d.ts +13 -0
  26. package/dist/commands/listing/list.js +46 -0
  27. package/dist/commands/listing/voters.d.ts +19 -0
  28. package/dist/commands/listing/voters.js +48 -0
  29. package/dist/commands/market/featured.d.ts +10 -0
  30. package/dist/commands/market/featured.js +34 -0
  31. package/dist/commands/market/holders.d.ts +14 -0
  32. package/dist/commands/market/holders.js +46 -0
  33. package/dist/commands/market/info.d.ts +14 -0
  34. package/dist/commands/market/info.js +48 -0
  35. package/dist/commands/market/list.d.ts +16 -0
  36. package/dist/commands/market/list.js +55 -0
  37. package/dist/commands/nft/list.d.ts +15 -0
  38. package/dist/commands/nft/list.js +64 -0
  39. package/dist/commands/review/info.d.ts +17 -0
  40. package/dist/commands/review/info.js +49 -0
  41. package/dist/commands/review/list.d.ts +16 -0
  42. package/dist/commands/review/list.js +68 -0
  43. package/dist/commands/review/votes.d.ts +21 -0
  44. package/dist/commands/review/votes.js +91 -0
  45. package/dist/commands/score/status.d.ts +13 -0
  46. package/dist/commands/score/status.js +54 -0
  47. package/dist/commands/slash/info.d.ts +16 -0
  48. package/dist/commands/slash/info.js +42 -0
  49. package/dist/commands/slash/list.d.ts +15 -0
  50. package/dist/commands/slash/list.js +50 -0
  51. package/dist/commands/slash/votes.d.ts +21 -0
  52. package/dist/commands/slash/votes.js +91 -0
  53. package/dist/commands/user/activity.d.ts +15 -0
  54. package/dist/commands/user/activity.js +71 -0
  55. package/dist/commands/user/info.d.ts +14 -0
  56. package/dist/commands/user/info.js +51 -0
  57. package/dist/commands/user/invitations.d.ts +16 -0
  58. package/dist/commands/user/invitations.js +73 -0
  59. package/dist/commands/user/search.d.ts +15 -0
  60. package/dist/commands/user/search.js +59 -0
  61. package/dist/commands/user/summary.d.ts +14 -0
  62. package/dist/commands/user/summary.js +134 -0
  63. package/dist/commands/validator/info.d.ts +13 -0
  64. package/dist/commands/validator/info.js +53 -0
  65. package/dist/commands/validator/list.d.ts +13 -0
  66. package/dist/commands/validator/list.js +64 -0
  67. package/dist/commands/validator/sales.d.ts +12 -0
  68. package/dist/commands/validator/sales.js +52 -0
  69. package/dist/commands/vouch/info.d.ts +17 -0
  70. package/dist/commands/vouch/info.js +53 -0
  71. package/dist/commands/vouch/list.d.ts +18 -0
  72. package/dist/commands/vouch/list.js +89 -0
  73. package/dist/commands/vouch/mutual.d.ts +15 -0
  74. package/dist/commands/vouch/mutual.js +68 -0
  75. package/dist/commands/vouch/votes.d.ts +21 -0
  76. package/dist/commands/vouch/votes.js +91 -0
  77. package/dist/commands/xp/rank.d.ts +15 -0
  78. package/dist/commands/xp/rank.js +74 -0
  79. package/dist/commands/xp/seasons.d.ts +10 -0
  80. package/dist/commands/xp/seasons.js +42 -0
  81. package/dist/hooks/init.d.ts +3 -0
  82. package/dist/hooks/init.js +40 -0
  83. package/dist/index.d.ts +1 -0
  84. package/dist/index.js +1 -0
  85. package/dist/lib/api/echo-client.d.ts +624 -0
  86. package/dist/lib/api/echo-client.js +408 -0
  87. package/dist/lib/config/index.d.ts +6 -0
  88. package/dist/lib/config/index.js +32 -0
  89. package/dist/lib/errors/cli-error.d.ts +23 -0
  90. package/dist/lib/errors/cli-error.js +57 -0
  91. package/dist/lib/formatting/colors.d.ts +13 -0
  92. package/dist/lib/formatting/colors.js +22 -0
  93. package/dist/lib/formatting/error.d.ts +1 -0
  94. package/dist/lib/formatting/error.js +64 -0
  95. package/dist/lib/formatting/output.d.ts +45 -0
  96. package/dist/lib/formatting/output.js +753 -0
  97. package/dist/lib/help.d.ts +4 -0
  98. package/dist/lib/help.js +28 -0
  99. package/dist/lib/update/index.d.ts +37 -0
  100. package/dist/lib/update/index.js +286 -0
  101. package/dist/lib/validation/userkey.d.ts +11 -0
  102. package/dist/lib/validation/userkey.js +81 -0
  103. package/oclif.manifest.json +2224 -0
  104. package/package.json +87 -0
@@ -0,0 +1,624 @@
1
+ import { type ParsedIdentifier } from '../validation/userkey.js';
2
+ export interface EthosUser {
3
+ id: number;
4
+ profileId: number | null;
5
+ displayName: string;
6
+ username: string | null;
7
+ avatarUrl: string | null;
8
+ description: string | null;
9
+ score: number;
10
+ status: string;
11
+ userkeys: string[];
12
+ xpTotal: number;
13
+ xpStreakDays: number;
14
+ influenceFactor: number;
15
+ influenceFactorPercentile: number;
16
+ links?: {
17
+ profile: string;
18
+ scoreBreakdown: string;
19
+ };
20
+ stats?: {
21
+ review: {
22
+ received: {
23
+ negative: number;
24
+ neutral: number;
25
+ positive: number;
26
+ };
27
+ };
28
+ vouch: {
29
+ given: {
30
+ amountWeiTotal: string;
31
+ count: number;
32
+ };
33
+ received: {
34
+ amountWeiTotal: string;
35
+ count: number;
36
+ };
37
+ };
38
+ };
39
+ }
40
+ export interface SearchResult {
41
+ values: EthosUser[];
42
+ total: number;
43
+ limit: number;
44
+ offset: number;
45
+ }
46
+ export interface Season {
47
+ id: number;
48
+ name: string;
49
+ startDate: string;
50
+ endDate?: string;
51
+ week?: number;
52
+ }
53
+ export interface SeasonsResponse {
54
+ seasons: Season[];
55
+ currentSeason: Season;
56
+ }
57
+ export interface ActivityAuthor {
58
+ userkey: string;
59
+ profileId: number | null;
60
+ name: string;
61
+ username: string | null;
62
+ avatar: string | null;
63
+ score: number;
64
+ }
65
+ export interface Activity {
66
+ type: 'review' | 'vouch' | 'unvouch';
67
+ timestamp: number;
68
+ data: {
69
+ id: number;
70
+ comment?: string;
71
+ score?: 'positive' | 'neutral' | 'negative';
72
+ metadata?: string;
73
+ };
74
+ author: ActivityAuthor;
75
+ subject: ActivityAuthor;
76
+ link: string;
77
+ }
78
+ export type ActivityType = 'review' | 'vouch';
79
+ export interface Review {
80
+ type: 'review';
81
+ data: {
82
+ id: number;
83
+ authorProfileId: number;
84
+ author: string;
85
+ subject: string;
86
+ score: 'positive' | 'neutral' | 'negative';
87
+ comment: string;
88
+ metadata: string;
89
+ createdAt: number;
90
+ archived: boolean;
91
+ };
92
+ votes: {
93
+ upvotes: number;
94
+ downvotes: number;
95
+ };
96
+ replySummary: {
97
+ count: number;
98
+ participated: boolean;
99
+ };
100
+ timestamp: number;
101
+ author: ActivityAuthor;
102
+ subject: ActivityAuthor;
103
+ authorUser?: EthosUser;
104
+ subjectUser?: EthosUser;
105
+ link: string;
106
+ }
107
+ export interface Slash {
108
+ id: number;
109
+ authorProfileId: number;
110
+ subject: null | number;
111
+ createdAt: number;
112
+ duration: number;
113
+ closedAt: number;
114
+ cancelledAt: number;
115
+ amount: number;
116
+ slashType: string;
117
+ comment: string;
118
+ metadata?: string;
119
+ attestationDetails?: {
120
+ service: string;
121
+ account: string;
122
+ };
123
+ }
124
+ export interface SlashesResponse {
125
+ ok: boolean;
126
+ data: {
127
+ values: Slash[];
128
+ total: number;
129
+ limit: number;
130
+ offset: number;
131
+ };
132
+ }
133
+ export type BrokerPostType = 'SELL' | 'BUY' | 'HIRE' | 'FOR_HIRE' | 'BOUNTY';
134
+ export type BrokerPostLevel = 'BASIC' | 'PREMIUM';
135
+ export type BrokerPostStatus = 'OPEN' | 'COMPLETED' | 'CLOSED' | 'EXPIRED';
136
+ export type BrokerSortBy = 'newest' | 'score' | 'top' | 'expiresAt' | 'hot';
137
+ export interface BrokerPostAuthor {
138
+ profileId: number;
139
+ username?: string;
140
+ displayName?: string;
141
+ avatarUrl?: string;
142
+ score: number;
143
+ }
144
+ export interface BrokerPost {
145
+ id: number;
146
+ type: BrokerPostType;
147
+ level: BrokerPostLevel;
148
+ status: BrokerPostStatus;
149
+ title: string;
150
+ description: string;
151
+ tags: string[];
152
+ expiresAt: string | null;
153
+ createdAt: string;
154
+ author: BrokerPostAuthor;
155
+ votes: {
156
+ upvotes: number;
157
+ downvotes: number;
158
+ };
159
+ replyCount: number;
160
+ }
161
+ export interface BrokerListParams {
162
+ type?: BrokerPostType;
163
+ search?: string;
164
+ sortBy?: BrokerSortBy;
165
+ minScore?: number;
166
+ limit?: number;
167
+ offset?: number;
168
+ }
169
+ export interface BrokerListResponse {
170
+ values: BrokerPost[];
171
+ total: number;
172
+ limit: number;
173
+ offset: number;
174
+ }
175
+ export interface ProjectChain {
176
+ id: number;
177
+ name: string;
178
+ logoUrl?: string;
179
+ }
180
+ export interface ProjectVotes {
181
+ bullish: {
182
+ total: number;
183
+ percentage: number;
184
+ };
185
+ bearish: {
186
+ total: number;
187
+ percentage: number;
188
+ };
189
+ all: {
190
+ totalVoters: number;
191
+ totalVotes: number;
192
+ };
193
+ }
194
+ export interface Project {
195
+ id: number;
196
+ userkey: string;
197
+ status: 'ACTIVE' | 'PENDING' | 'ARCHIVED';
198
+ description: string;
199
+ bannerImageUrl?: string;
200
+ isPromoted?: boolean;
201
+ createdAt: string;
202
+ updatedAt: string;
203
+ user: EthosUser;
204
+ categories?: string[];
205
+ chains?: ProjectChain[];
206
+ votes?: ProjectVotes;
207
+ }
208
+ export interface ProjectVoter {
209
+ user: EthosUser;
210
+ bullishCount: number;
211
+ bearishCount: number;
212
+ totalVotes: number;
213
+ firstVoteAt: string;
214
+ lastVoteAt: string;
215
+ bullishReasons: string[];
216
+ bearishReasons: string[];
217
+ }
218
+ export interface ProjectListResponse {
219
+ projects: Project[];
220
+ total: number;
221
+ }
222
+ export interface ProjectVotersTotals {
223
+ totalVoters: number;
224
+ totalBullishVoters: number;
225
+ totalBearishVoters: number;
226
+ totalBullishVotes: number;
227
+ totalBearishVotes: number;
228
+ }
229
+ export interface ProjectVotersResponse {
230
+ values: ProjectVoter[];
231
+ total: number;
232
+ limit: number;
233
+ offset: number;
234
+ totals: ProjectVotersTotals;
235
+ }
236
+ export interface MarketUser {
237
+ profileId: number;
238
+ displayName: string;
239
+ username: string | null;
240
+ avatarUrl: string | null;
241
+ score: number;
242
+ }
243
+ export interface MarketStats {
244
+ marketCapWei: string;
245
+ marketCapChange24hWei?: string;
246
+ marketCapChange24hPercent?: number;
247
+ volumeTotalWei: string;
248
+ volume24hWei?: string;
249
+ priceChange24hPercent?: number;
250
+ }
251
+ export interface Market {
252
+ id: number;
253
+ creatorAddress: string;
254
+ positivePrice: string;
255
+ negativePrice: string;
256
+ trustVotes: number;
257
+ distrustVotes: number;
258
+ createdAt: string;
259
+ updatedAt: string;
260
+ basePrice: string;
261
+ user: MarketUser;
262
+ stats: MarketStats;
263
+ }
264
+ export interface MarketHolder {
265
+ actorAddress: string;
266
+ marketId: number;
267
+ voteType: 'trust' | 'distrust';
268
+ total: string;
269
+ user: MarketUser;
270
+ }
271
+ export type MarketOrderBy = 'marketCapWei' | 'volumeTotalWei' | 'volume24hWei' | 'trustRatio' | 'distrustRatio' | 'score' | 'createdAt' | 'priceChange24hPercent' | 'marketCapChange24hPercent' | 'scoreDifferential';
272
+ export interface MarketListParams {
273
+ limit?: number;
274
+ offset?: number;
275
+ orderBy?: MarketOrderBy;
276
+ orderDirection?: 'asc' | 'desc';
277
+ filterQuery?: string;
278
+ }
279
+ export interface MarketListResponse {
280
+ values: Market[];
281
+ total: number;
282
+ limit: number;
283
+ offset: number;
284
+ }
285
+ export interface FeaturedMarket {
286
+ type: 'top-volume' | 'undervalued' | 'rugging' | string;
287
+ market: Market;
288
+ }
289
+ export type FeaturedMarketsResponse = FeaturedMarket[];
290
+ export interface MarketHoldersResponse {
291
+ values: MarketHolder[];
292
+ total: number;
293
+ }
294
+ export interface MarketUserByTwitter {
295
+ profileId: number;
296
+ twitterUsername: string;
297
+ twitterName: string;
298
+ twitterUserId: string;
299
+ walletAddress: string;
300
+ avatarUrl: string;
301
+ }
302
+ export interface NFT {
303
+ tokenId: string;
304
+ name: string | null;
305
+ description?: string;
306
+ imageUrl: string | null;
307
+ contractAddress: string;
308
+ contractName?: string;
309
+ }
310
+ export interface NftsResponse {
311
+ values: NFT[];
312
+ total: number;
313
+ limit?: number;
314
+ offset?: number;
315
+ }
316
+ export interface ValidatorListing {
317
+ orderHash: string;
318
+ tokenId: string;
319
+ name: string | null;
320
+ imageUrl: string | null;
321
+ priceWei: string;
322
+ priceEth: string;
323
+ currency: string;
324
+ seller: string;
325
+ openseaUrl: string;
326
+ }
327
+ export interface ValidatorListingsResponse {
328
+ values: ValidatorListing[];
329
+ total: number;
330
+ limit?: number;
331
+ offset?: number;
332
+ }
333
+ export interface AuctionBuyer {
334
+ displayName?: string;
335
+ username?: string | null;
336
+ }
337
+ export interface Auction {
338
+ id: number;
339
+ nftTokenId: number;
340
+ nftContract: string;
341
+ creatorAddress: string;
342
+ startPrice: string;
343
+ reservePrice: string;
344
+ duration: number;
345
+ startTime: string;
346
+ status: 'PENDING' | 'ENABLED' | 'ENDED' | 'SOLD';
347
+ buyerAddress: string | null;
348
+ pricePaid: string | null;
349
+ soldTime: string | null;
350
+ createdAt: string;
351
+ buyerUser?: AuctionBuyer | null;
352
+ }
353
+ export interface AuctionsResponse {
354
+ values: Auction[];
355
+ total: number;
356
+ }
357
+ export interface Invitation {
358
+ id: number;
359
+ senderProfileId: number;
360
+ recipientAddress: string;
361
+ status: 'INVITED' | 'ACCEPTED';
362
+ recipientScoreImpact: {
363
+ value: number;
364
+ impact: string;
365
+ };
366
+ senderScoreImpact: {
367
+ value: number;
368
+ impact: string;
369
+ };
370
+ dateInvited: string;
371
+ dateAccepted: string | null;
372
+ }
373
+ export interface InvitationWithUser {
374
+ invitation: Invitation;
375
+ invitedUser: EthosUser;
376
+ }
377
+ export interface InvitationsResponse {
378
+ values: InvitationWithUser[];
379
+ total: number;
380
+ limit: number;
381
+ offset: number;
382
+ }
383
+ export interface Validator {
384
+ tokenId: string;
385
+ name: string;
386
+ imageUrl: string;
387
+ ownerAddress: string;
388
+ ownerProfileId: number;
389
+ ownerDisplayName: string;
390
+ ownerUsername: string | null;
391
+ ownerAvatarUrl: string | null;
392
+ currentXp: number;
393
+ remainingCapacity: number;
394
+ xpCap: number;
395
+ isFull: boolean;
396
+ }
397
+ export type ScoreLevel = 'untrusted' | 'questionable' | 'neutral' | 'reputable' | 'exemplary';
398
+ export interface ScoreResponse {
399
+ score: number;
400
+ level: ScoreLevel;
401
+ }
402
+ export interface ScoreBreakdownElement {
403
+ element: {
404
+ name: string;
405
+ type: string;
406
+ range?: {
407
+ min: number;
408
+ max: number;
409
+ };
410
+ };
411
+ raw: number;
412
+ weighted: number;
413
+ error: boolean;
414
+ }
415
+ export interface ScoreBreakdownResponse {
416
+ ok: boolean;
417
+ data: {
418
+ score: number;
419
+ elements: Record<string, ScoreBreakdownElement>;
420
+ metadata: Record<string, unknown>;
421
+ errors: string[];
422
+ };
423
+ }
424
+ export interface ScoreStatus {
425
+ status: 'idle' | 'queued' | 'calculating';
426
+ isQueued: boolean;
427
+ isCalculating: boolean;
428
+ isPending: boolean;
429
+ }
430
+ export interface VouchUser {
431
+ id?: number;
432
+ profileId?: number | null;
433
+ displayName?: string;
434
+ username?: string | null;
435
+ avatarUrl?: string | null;
436
+ score?: number;
437
+ userkeys?: string[];
438
+ }
439
+ export interface Vouch {
440
+ id: number;
441
+ authorProfileId: number;
442
+ subjectProfileId: number;
443
+ subjectAddress: string | null;
444
+ balance: string;
445
+ comment: string;
446
+ metadata: string;
447
+ archived: boolean;
448
+ mutualId: number | null;
449
+ deposited: string;
450
+ staked: string;
451
+ withdrawn: string;
452
+ unhealthy: boolean;
453
+ authorAddress: string;
454
+ activityCheckpoints: {
455
+ vouchedAt: number;
456
+ unvouchedAt: number;
457
+ unhealthyAt: number;
458
+ };
459
+ attestationDetails?: {
460
+ service: string;
461
+ account: string;
462
+ } | null;
463
+ authorUser?: VouchUser | null;
464
+ subjectUser?: VouchUser | null;
465
+ }
466
+ export interface VouchesResponse {
467
+ values: Vouch[];
468
+ total: number;
469
+ limit: number;
470
+ offset: number;
471
+ }
472
+ export interface VouchQueryParams {
473
+ ids?: number[];
474
+ subjectUserkeys?: string[];
475
+ authorProfileIds?: number[];
476
+ subjectProfileIds?: number[];
477
+ archived?: boolean;
478
+ limit?: number;
479
+ offset?: number;
480
+ }
481
+ export type VoteType = 'review' | 'vouch' | 'slash';
482
+ export interface VoteUser {
483
+ id: number;
484
+ profileId: number;
485
+ displayName: string;
486
+ username: string | null;
487
+ avatarUrl: string | null;
488
+ score: number;
489
+ }
490
+ export interface Vote {
491
+ isUpvote: boolean;
492
+ isArchived: boolean;
493
+ voter: number;
494
+ targetContract: string;
495
+ targetId: string;
496
+ createdAt: number;
497
+ weight: number;
498
+ user: VoteUser;
499
+ }
500
+ export interface VotesResponse {
501
+ values: Vote[];
502
+ total: number;
503
+ limit: number;
504
+ offset: number;
505
+ }
506
+ export interface VoteStats {
507
+ userVote: {
508
+ isUpvote: boolean;
509
+ } | null;
510
+ counts: {
511
+ upvotes: number;
512
+ downvotes: number;
513
+ };
514
+ weights: {
515
+ weightedUpvotes: number;
516
+ weightedDownvotes: number;
517
+ upvotePercentage: number;
518
+ downvotePercentage: number;
519
+ };
520
+ }
521
+ export declare class EchoClient {
522
+ private baseUrl;
523
+ private debug;
524
+ constructor();
525
+ private log;
526
+ private request;
527
+ getUserByTwitter(username: string): Promise<EthosUser>;
528
+ getUserByAddress(address: string): Promise<EthosUser>;
529
+ getUserByProfileId(profileId: string): Promise<EthosUser>;
530
+ searchUsers(query: string, limit?: number): Promise<SearchResult>;
531
+ resolveUser(identifier: string): Promise<EthosUser>;
532
+ resolveUserFromParsed(parsed: ParsedIdentifier): Promise<EthosUser>;
533
+ private resolveEnsUser;
534
+ getXpTotal(userkey: string): Promise<number>;
535
+ getSeasons(): Promise<SeasonsResponse>;
536
+ getLeaderboardRank(userkey: string): Promise<number>;
537
+ getXpBySeason(userkey: string, seasonId: number): Promise<number>;
538
+ getActivities(userkey: string, types?: ActivityType[], limit?: number): Promise<Activity[]>;
539
+ getPrimaryUserkey(user: EthosUser): string | null;
540
+ /** @deprecated Use resolveUser instead */
541
+ getUserByUsername(username: string): Promise<EthosUser>;
542
+ /** @deprecated Use getXpTotal instead */
543
+ getTotalXp(userkey: string): Promise<number>;
544
+ getSlashes(params?: {
545
+ author?: string;
546
+ subject?: string;
547
+ status?: 'open' | 'closed';
548
+ limit?: number;
549
+ offset?: number;
550
+ }): Promise<SlashesResponse>;
551
+ getSlashRoles(slashId: number, profileIds: number[]): Promise<Record<number, string>>;
552
+ getBrokerPosts(params?: BrokerListParams): Promise<BrokerListResponse>;
553
+ getBrokerPost(id: number): Promise<BrokerPost>;
554
+ getBrokerPostsByAuthor(profileId: number, params?: {
555
+ type?: BrokerPostType;
556
+ limit?: number;
557
+ }): Promise<BrokerListResponse>;
558
+ getProjects(params?: {
559
+ status?: string[];
560
+ limit?: number;
561
+ offset?: number;
562
+ }): Promise<ProjectListResponse>;
563
+ getProjectDetails(projectId: number): Promise<Project>;
564
+ getProjectByUsername(username: string): Promise<Project>;
565
+ getProjectVoters(projectId: number, params?: {
566
+ limit?: number;
567
+ offset?: number;
568
+ sentiment?: 'bullish' | 'bearish';
569
+ }): Promise<ProjectVotersResponse>;
570
+ getProjectTeam(projectId: number): Promise<EthosUser[]>;
571
+ getNftsForUser(userkey: string, params?: {
572
+ limit?: number;
573
+ offset?: number;
574
+ }): Promise<NftsResponse>;
575
+ checkValidatorOwnership(userkey: string): Promise<NFT[]>;
576
+ getValidatorListings(params?: {
577
+ limit?: number;
578
+ offset?: number;
579
+ }): Promise<ValidatorListingsResponse>;
580
+ getAuctions(params?: {
581
+ limit?: number;
582
+ offset?: number;
583
+ status?: string;
584
+ }): Promise<AuctionsResponse>;
585
+ getActiveAuction(): Promise<Auction | null>;
586
+ getAuction(auctionId: number): Promise<Auction>;
587
+ getMarkets(params?: MarketListParams): Promise<MarketListResponse>;
588
+ getFeaturedMarkets(): Promise<FeaturedMarketsResponse>;
589
+ getMarketInfo(profileId: number): Promise<Market>;
590
+ getMarketHolders(profileId: number, params?: {
591
+ limit?: number;
592
+ }): Promise<MarketHoldersResponse>;
593
+ getMarketByTwitter(username: string): Promise<MarketUserByTwitter>;
594
+ getScoreBreakdownByUserkey(userkey: string): Promise<ScoreBreakdownResponse>;
595
+ getScoreBreakdownByAddress(address: string): Promise<ScoreBreakdownResponse>;
596
+ convertScoreToLevel(score: number): ScoreLevel;
597
+ getScoreStatus(userkey: string): Promise<ScoreStatus>;
598
+ getVouches(params?: VouchQueryParams): Promise<VouchesResponse>;
599
+ getMutualVouchers(viewerProfileId: number, targetProfileId: number, params?: {
600
+ limit?: number;
601
+ }): Promise<{
602
+ values: VouchUser[];
603
+ total: number;
604
+ }>;
605
+ getVotes(activityId: number, type: VoteType, params?: {
606
+ isUpvote?: boolean;
607
+ limit?: number;
608
+ offset?: number;
609
+ }): Promise<VotesResponse>;
610
+ getVoteStats(activityId: number, type: VoteType): Promise<VoteStats>;
611
+ getValidators(): Promise<Validator[]>;
612
+ getValidatorByTokenId(tokenId: string): Promise<Validator | null>;
613
+ getReview(reviewId: number): Promise<Review>;
614
+ getReviewsForUser(userkey: string, params?: {
615
+ limit?: number;
616
+ offset?: number;
617
+ }): Promise<Activity[]>;
618
+ getInvitations(params?: {
619
+ senderProfileId?: number;
620
+ status?: 'INVITED' | 'ACCEPTED';
621
+ limit?: number;
622
+ offset?: number;
623
+ }): Promise<InvitationsResponse>;
624
+ }