@highlightxyz/sdk 0.1.1 → 0.3.0

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.
@@ -81,10 +81,51 @@ export class Collection extends HeyApiClient {
81
81
  },
82
82
  });
83
83
  }
84
+ /**
85
+ * Trending collections
86
+ *
87
+ * List live collections ranked by units minted in a 24-hour, 7-day, or 28-day rolling window.
88
+ */
89
+ trending(parameters, options) {
90
+ const params = buildClientParams([parameters], [
91
+ {
92
+ args: [
93
+ { in: "query", key: "window" },
94
+ { in: "query", key: "chainId" },
95
+ { in: "query", key: "limit" },
96
+ ],
97
+ },
98
+ ]);
99
+ return (options?.client ?? this.client).get({
100
+ url: "/collection/trending",
101
+ ...options,
102
+ ...params,
103
+ });
104
+ }
105
+ /**
106
+ * Featured collections
107
+ *
108
+ * List curated home-page collections in editorial order with cursor pagination.
109
+ */
110
+ featured(parameters, options) {
111
+ const params = buildClientParams([parameters], [
112
+ {
113
+ args: [
114
+ { in: "query", key: "limit" },
115
+ { in: "query", key: "cursor" },
116
+ ],
117
+ },
118
+ ]);
119
+ return (options?.client ?? this.client).get({
120
+ url: "/collection/featured",
121
+ ...options,
122
+ ...params,
123
+ });
124
+ }
84
125
  /**
85
126
  * Get collection
86
127
  *
87
- * Get a collection by its highlight ID.
128
+ * Get a collection by `highlightId` or by `<chain>:<contractAddress>[:<editionId>]`. The chain can be a slug or numeric ID. `editionId` defaults to 0.
88
129
  */
89
130
  get(parameters, options) {
90
131
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
@@ -95,9 +136,29 @@ export class Collection extends HeyApiClient {
95
136
  });
96
137
  }
97
138
  /**
98
- * Finalize collection base URI to Arweave
139
+ * List series previews
140
+ *
141
+ * List sample artwork from a series collection's uploaded assets. Returns an empty list for other collection types or when the assets are not ready. Public collections do not require authentication.
142
+ */
143
+ listPreviews(parameters, options) {
144
+ const params = buildClientParams([parameters], [
145
+ {
146
+ args: [
147
+ { in: "path", key: "highlightId" },
148
+ { in: "query", key: "limit" },
149
+ ],
150
+ },
151
+ ]);
152
+ return (options?.client ?? this.client).get({
153
+ url: "/collection/{highlightId}/previews",
154
+ ...options,
155
+ ...params,
156
+ });
157
+ }
158
+ /**
159
+ * Archive collection metadata to Arweave
99
160
  *
100
- * Publish the collection's token-metadata base URI Directory to Arweave. Call once the collection is complete (sellout or manual trigger) to freeze metadata permanently. Idempotent — safe to call if already archived.
161
+ * Archive the collection's token-metadata directory to Arweave. The operation is idempotent and does not change the contract's base URI.
101
162
  */
102
163
  finalizeBaseUri(parameters, options) {
103
164
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
@@ -158,9 +219,9 @@ export class Collection extends HeyApiClient {
158
219
  });
159
220
  }
160
221
  /**
161
- * Update edition draft details
222
+ * Update edition details
162
223
  *
163
- * Update edition-specific details for an existing draft.
224
+ * Update an edition's name, description, image, animation, or attributes. Draft changes are saved directly. Live changes return a `setEditionURI` transaction to sign. After confirmation, the backend re-derives the edition and refreshes every token.
164
225
  */
165
226
  updateEditionDetails(parameters, options) {
166
227
  const params = buildClientParams([parameters], [
@@ -185,7 +246,7 @@ export class Collection extends HeyApiClient {
185
246
  /**
186
247
  * Get collection sales
187
248
  *
188
- * Get all sales for a collection.
249
+ * List the draft and live sales attached to a collection.
189
250
  */
190
251
  getSales(parameters, options) {
191
252
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
@@ -198,7 +259,7 @@ export class Collection extends HeyApiClient {
198
259
  /**
199
260
  * Add a sale to a collection
200
261
  *
201
- * Add a new sale to a collection. Draft collections can have one sale at a time. For live collections, gated sales go live immediately; public sales return a contract execution for on-chain registration.
262
+ * Add a sale. A draft collection can have one sale at a time. On a live collection, a gated sale activates immediately and a public sale returns a vector-registration transaction.
202
263
  */
203
264
  addSale(parameters, options) {
204
265
  const params = buildClientParams([parameters], [
@@ -239,7 +300,7 @@ export class Collection extends HeyApiClient {
239
300
  /**
240
301
  * Delete a sale
241
302
  *
242
- * Delete a draft sale from a collection. Live sales cannot be deleted — use update to pause or set an end date instead.
303
+ * Delete a draft sale. A live sale cannot be deleted; pause it or set an end date.
243
304
  */
244
305
  deleteSale(parameters, options) {
245
306
  const params = buildClientParams([parameters], [
@@ -259,7 +320,7 @@ export class Collection extends HeyApiClient {
259
320
  /**
260
321
  * Update a sale
261
322
  *
262
- * Update an existing sale. Draft sales can be updated freely. Live public sales return a contract execution for on-chain updates when on-chain fields change.
323
+ * Update a sale. Draft and gated sales update off-chain. Supported changes to a live public sale return an on-chain vector-update transaction.
263
324
  */
264
325
  updateSale(parameters, options) {
265
326
  const params = buildClientParams([parameters], [
@@ -296,7 +357,7 @@ export class Collection extends HeyApiClient {
296
357
  /**
297
358
  * Claim collection sale
298
359
  *
299
- * Build a claim transaction configuration for a collector sale action.
360
+ * Build a collector's mint transaction for a fixed-price, Dutch, or ranked sale.
300
361
  */
301
362
  claimSale(parameters, options) {
302
363
  const params = buildClientParams([parameters], [
@@ -321,9 +382,9 @@ export class Collection extends HeyApiClient {
321
382
  });
322
383
  }
323
384
  /**
324
- * Bid on ranked auction sale
385
+ * Bid on an auction sale
325
386
  *
326
- * Build a bid transaction configuration for a ranked auction sale. Returns contract execution data for placing or updating a bid.
387
+ * Build a ranked- or English-auction bid transaction. For an English auction, `preferredNftRecipient` sets the wallet that receives the NFT if the bid wins.
327
388
  */
328
389
  bidSale(parameters, options) {
329
390
  const params = buildClientParams([parameters], [
@@ -333,6 +394,7 @@ export class Collection extends HeyApiClient {
333
394
  { in: "body", key: "saleId" },
334
395
  { in: "body", key: "bidAmount" },
335
396
  { in: "body", key: "bidId" },
397
+ { in: "body", key: "preferredNftRecipient" },
336
398
  ],
337
399
  },
338
400
  ]);
@@ -348,22 +410,47 @@ export class Collection extends HeyApiClient {
348
410
  });
349
411
  }
350
412
  /**
351
- * Confirm ranked auction bid
413
+ * Reclaim a non-winning ranked-auction bid
414
+ *
415
+ * Build a transaction that reclaims a non-winning ranked-auction bid after the auction ends.
416
+ */
417
+ reclaimBid(parameters, options) {
418
+ const params = buildClientParams([parameters], [
419
+ {
420
+ args: [
421
+ { in: "path", key: "highlightId" },
422
+ { in: "body", key: "saleId" },
423
+ { in: "body", key: "bidId" },
424
+ ],
425
+ },
426
+ ]);
427
+ return (options?.client ?? this.client).post({
428
+ url: "/collection/{highlightId}/sales/reclaim",
429
+ ...options,
430
+ ...params,
431
+ headers: {
432
+ "Content-Type": "application/json",
433
+ ...options?.headers,
434
+ ...params.headers,
435
+ },
436
+ });
437
+ }
438
+ /**
439
+ * Withdraw ranked-auction earnings
352
440
  *
353
- * Record a confirmed on-chain bid for a ranked auction sale. Called after the bid transaction is confirmed on-chain.
441
+ * Build a transaction that sends a completed ranked auction's native-currency earnings to its payment recipient.
354
442
  */
355
- confirmBid(parameters, options) {
443
+ claimAuctionEarnings(parameters, options) {
356
444
  const params = buildClientParams([parameters], [
357
445
  {
358
446
  args: [
359
447
  { in: "path", key: "highlightId" },
360
448
  { in: "body", key: "saleId" },
361
- { in: "body", key: "txHash" },
362
449
  ],
363
450
  },
364
451
  ]);
365
452
  return (options?.client ?? this.client).post({
366
- url: "/collection/{highlightId}/sales/bid/confirm",
453
+ url: "/collection/{highlightId}/sales/earnings",
367
454
  ...options,
368
455
  ...params,
369
456
  headers: {
@@ -374,22 +461,41 @@ export class Collection extends HeyApiClient {
374
461
  });
375
462
  }
376
463
  /**
377
- * Confirm sale deployment
464
+ * Get ranked-auction live standings
378
465
  *
379
- * Confirm on-chain deployment of a public sale added to a live collection. Extracts the vector ID from the transaction receipt and sets the sale status to Live.
466
+ * Get a ranked auction's clearing price and bid standings. Results are provisional before settlement. An authenticated response also includes the caller's winning bids and unclaimed tokens.
380
467
  */
381
- confirmSale(parameters, options) {
468
+ rankedAuctionStandings(parameters, options) {
382
469
  const params = buildClientParams([parameters], [
383
470
  {
384
471
  args: [
385
472
  { in: "path", key: "highlightId" },
386
473
  { in: "path", key: "saleId" },
387
- { in: "body", key: "txHash" },
474
+ ],
475
+ },
476
+ ]);
477
+ return (options?.client ?? this.client).get({
478
+ url: "/collection/{highlightId}/sales/{saleId}/standings",
479
+ ...options,
480
+ ...params,
481
+ });
482
+ }
483
+ /**
484
+ * Fulfill (settle) an English auction
485
+ *
486
+ * Build an `AuctionManager.fulfillAuction` transaction after the auction ends. Any authenticated caller can settle; the contract sends the NFT to the winner's preferred recipient and splits the proceeds.
487
+ */
488
+ fulfillEnglishAuction(parameters, options) {
489
+ const params = buildClientParams([parameters], [
490
+ {
491
+ args: [
492
+ { in: "path", key: "highlightId" },
493
+ { in: "body", key: "saleId" },
388
494
  ],
389
495
  },
390
496
  ]);
391
497
  return (options?.client ?? this.client).post({
392
- url: "/collection/{highlightId}/sales/{saleId}/confirm",
498
+ url: "/collection/{highlightId}/sales/auction/fulfill",
393
499
  ...options,
394
500
  ...params,
395
501
  headers: {
@@ -399,6 +505,71 @@ export class Collection extends HeyApiClient {
399
505
  },
400
506
  });
401
507
  }
508
+ /**
509
+ * Cancel an English auction
510
+ *
511
+ * Build the creator-only `AuctionManager.cancelAuctionOnChain` transaction. Cancellation fails after a bid meets the reserve. The contract returns any escrowed NFT to the owner.
512
+ */
513
+ cancelEnglishAuction(parameters, options) {
514
+ const params = buildClientParams([parameters], [
515
+ {
516
+ args: [
517
+ { in: "path", key: "highlightId" },
518
+ { in: "body", key: "saleId" },
519
+ ],
520
+ },
521
+ ]);
522
+ return (options?.client ?? this.client).post({
523
+ url: "/collection/{highlightId}/sales/auction/cancel",
524
+ ...options,
525
+ ...params,
526
+ headers: {
527
+ "Content-Type": "application/json",
528
+ ...options?.headers,
529
+ ...params.headers,
530
+ },
531
+ });
532
+ }
533
+ /**
534
+ * Get English auction standings
535
+ *
536
+ * Get an English auction's status, reserve, highest bid and bidder, end time, escrowed token, and creator earnings. An authenticated response indicates whether the caller is the highest bidder.
537
+ */
538
+ englishAuctionStanding(parameters, options) {
539
+ const params = buildClientParams([parameters], [
540
+ {
541
+ args: [
542
+ { in: "path", key: "highlightId" },
543
+ { in: "path", key: "saleId" },
544
+ ],
545
+ },
546
+ ]);
547
+ return (options?.client ?? this.client).get({
548
+ url: "/collection/{highlightId}/sales/{saleId}/auction",
549
+ ...options,
550
+ ...params,
551
+ });
552
+ }
553
+ /**
554
+ * Get English auction bid history
555
+ *
556
+ * List an English auction's indexed bids from newest to oldest. Amounts use the currency's raw on-chain base unit.
557
+ */
558
+ englishAuctionBids(parameters, options) {
559
+ const params = buildClientParams([parameters], [
560
+ {
561
+ args: [
562
+ { in: "path", key: "highlightId" },
563
+ { in: "path", key: "saleId" },
564
+ ],
565
+ },
566
+ ]);
567
+ return (options?.client ?? this.client).get({
568
+ url: "/collection/{highlightId}/sales/{saleId}/auction/bids",
569
+ ...options,
570
+ ...params,
571
+ });
572
+ }
402
573
  /**
403
574
  * Initiate collection deployment
404
575
  *
@@ -428,7 +599,7 @@ export class Collection extends HeyApiClient {
428
599
  /**
429
600
  * Cancel a deployment
430
601
  *
431
- * Cancel a deployment that has not yet completed. Terminates the running workflow, deletes the deployment row, and rolls the collection back to Draft. On contracts shared with other collections the contract is left unchanged; otherwise it is reset to Draft. After cancelling, the collection can be re-deployed from scratch.
602
+ * Cancel an incomplete deployment and return the collection to Draft. A shared contract keeps its current status; a non-shared contract returns to Draft. The collection can then be deployed again.
432
603
  */
433
604
  deployCancel(parameters, options) {
434
605
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
@@ -438,37 +609,12 @@ export class Collection extends HeyApiClient {
438
609
  ...params,
439
610
  });
440
611
  }
441
- /**
442
- * Confirm deployment transaction
443
- *
444
- * Submit the transaction hash for a deployment awaiting confirmation.
445
- */
446
- deployConfirm(parameters, options) {
447
- const params = buildClientParams([parameters], [
448
- {
449
- args: [
450
- { in: "path", key: "highlightId" },
451
- { in: "body", key: "txHash" },
452
- ],
453
- },
454
- ]);
455
- return (options?.client ?? this.client).post({
456
- url: "/collection/{highlightId}/deploy/confirm",
457
- ...options,
458
- ...params,
459
- headers: {
460
- "Content-Type": "application/json",
461
- ...options?.headers,
462
- ...params.headers,
463
- },
464
- });
465
- }
466
612
  }
467
613
  export class Token extends HeyApiClient {
468
614
  /**
469
615
  * List tokens
470
616
  *
471
- * Get a paginated list of minted tokens for a collection. Returns tokens for public collections without authentication. Supports filtering by owner address.
617
+ * Get a paginated list of minted tokens for a collection. Returns tokens for public collections without authentication. Supports filtering by owner address and by trait attributes.
472
618
  */
473
619
  list(parameters, options) {
474
620
  const params = buildClientParams([parameters], [
@@ -481,6 +627,7 @@ export class Token extends HeyApiClient {
481
627
  { in: "query", key: "order" },
482
628
  { in: "query", key: "ownerAddress" },
483
629
  { in: "query", key: "search" },
630
+ { in: "query", key: "attributes" },
484
631
  ],
485
632
  },
486
633
  ]);
@@ -490,6 +637,19 @@ export class Token extends HeyApiClient {
490
637
  ...params,
491
638
  });
492
639
  }
640
+ /**
641
+ * List token attribute facets
642
+ *
643
+ * List trait values and token counts for collection filters. Public collections do not require authentication.
644
+ */
645
+ attributeFacets(parameters, options) {
646
+ const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
647
+ return (options?.client ?? this.client).get({
648
+ url: "/collection/{highlightId}/tokens/attributes",
649
+ ...options,
650
+ ...params,
651
+ });
652
+ }
493
653
  /**
494
654
  * Get token
495
655
  *
@@ -510,6 +670,39 @@ export class Token extends HeyApiClient {
510
670
  ...params,
511
671
  });
512
672
  }
673
+ /**
674
+ * List token owners
675
+ *
676
+ * Get the current owners of a minted token with their balances. A single entry for ERC721 tokens; ERC1155 tokens can have many. Available for public collections without authentication.
677
+ */
678
+ listOwners(parameters, options) {
679
+ const params = buildClientParams([parameters], [
680
+ {
681
+ args: [
682
+ { in: "path", key: "highlightId" },
683
+ { in: "path", key: "tokenId" },
684
+ ],
685
+ },
686
+ ]);
687
+ return (options?.client ?? this.client).get({
688
+ url: "/collection/{highlightId}/tokens/{tokenId}/owners",
689
+ ...options,
690
+ ...params,
691
+ });
692
+ }
693
+ /**
694
+ * Re-drive stuck token reveals
695
+ *
696
+ * Reschedule failed and stale pending token reveals. Minted tokens restart from their original mint transaction. Imported tokens without transfer history rerun metadata indexing only.
697
+ */
698
+ redriveReveals(parameters, options) {
699
+ const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "highlightId" }] }]);
700
+ return (options?.client ?? this.client).post({
701
+ url: "/collection/{highlightId}/tokens/redrive-reveals",
702
+ ...options,
703
+ ...params,
704
+ });
705
+ }
513
706
  }
514
707
  export class Config extends HeyApiClient {
515
708
  /**
@@ -583,7 +776,7 @@ export class Gate extends HeyApiClient {
583
776
  /**
584
777
  * List gates
585
778
  *
586
- * List all gates for the authenticated user.
779
+ * List gates owned by the authenticated account.
587
780
  */
588
781
  list(options) {
589
782
  return (options?.client ?? this.client).get({
@@ -670,6 +863,122 @@ export class Gate extends HeyApiClient {
670
863
  },
671
864
  });
672
865
  }
866
+ /**
867
+ * Preview a collection
868
+ *
869
+ * Resolve an NFT contract for a gate builder. Returns a Highlight collection when available, otherwise external NFT data.
870
+ */
871
+ previewCollection(parameters, options) {
872
+ const params = buildClientParams([parameters], [
873
+ {
874
+ args: [
875
+ { in: "path", key: "chainId" },
876
+ { in: "path", key: "address" },
877
+ ],
878
+ },
879
+ ]);
880
+ return (options?.client ?? this.client).get({
881
+ url: "/gate/preview/collection/{chainId}/{address}",
882
+ ...options,
883
+ ...params,
884
+ });
885
+ }
886
+ /**
887
+ * Preview collection attributes
888
+ *
889
+ * List a collection's trait types and values for the TOKEN_ATTRIBUTE builder.
890
+ */
891
+ previewAttributes(parameters, options) {
892
+ const params = buildClientParams([parameters], [
893
+ {
894
+ args: [
895
+ { in: "path", key: "chainId" },
896
+ { in: "path", key: "address" },
897
+ ],
898
+ },
899
+ ]);
900
+ return (options?.client ?? this.client).get({
901
+ url: "/gate/preview/collection/{chainId}/{address}/attributes",
902
+ ...options,
903
+ ...params,
904
+ });
905
+ }
906
+ /**
907
+ * Preview collection tokens
908
+ *
909
+ * Page through a collection's tokens for the SPECIFIC_TOKEN builder.
910
+ */
911
+ previewTokens(parameters, options) {
912
+ const params = buildClientParams([parameters], [
913
+ {
914
+ args: [
915
+ { in: "path", key: "chainId" },
916
+ { in: "path", key: "address" },
917
+ { in: "query", key: "cursor" },
918
+ { in: "query", key: "limit" },
919
+ ],
920
+ },
921
+ ]);
922
+ return (options?.client ?? this.client).get({
923
+ url: "/gate/preview/collection/{chainId}/{address}/tokens",
924
+ ...options,
925
+ ...params,
926
+ });
927
+ }
928
+ /**
929
+ * Preview a token
930
+ *
931
+ * Resolve a single token to confirm a SPECIFIC_TOKEN condition.
932
+ */
933
+ previewToken(parameters, options) {
934
+ const params = buildClientParams([parameters], [
935
+ {
936
+ args: [
937
+ { in: "path", key: "chainId" },
938
+ { in: "path", key: "address" },
939
+ { in: "path", key: "tokenId" },
940
+ ],
941
+ },
942
+ ]);
943
+ return (options?.client ?? this.client).get({
944
+ url: "/gate/preview/collection/{chainId}/{address}/token/{tokenId}",
945
+ ...options,
946
+ ...params,
947
+ });
948
+ }
949
+ /**
950
+ * Preview a currency
951
+ *
952
+ * Resolve the native gas token (no contractAddress) or an ERC-20 for the CURRENCY_BALANCE builder.
953
+ */
954
+ previewCurrency(parameters, options) {
955
+ const params = buildClientParams([parameters], [
956
+ {
957
+ args: [
958
+ { in: "path", key: "chainId" },
959
+ { in: "query", key: "contractAddress" },
960
+ ],
961
+ },
962
+ ]);
963
+ return (options?.client ?? this.client).get({
964
+ url: "/gate/preview/currency/{chainId}",
965
+ ...options,
966
+ ...params,
967
+ });
968
+ }
969
+ /**
970
+ * Preview a Farcaster user
971
+ *
972
+ * Resolve a numeric fid or @handle to a Farcaster user for the FARCASTER_FOLLOW builder.
973
+ */
974
+ previewFarcaster(parameters, options) {
975
+ const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "query" }] }]);
976
+ return (options?.client ?? this.client).get({
977
+ url: "/gate/preview/farcaster/user",
978
+ ...options,
979
+ ...params,
980
+ });
981
+ }
673
982
  }
674
983
  export class Mechanic extends HeyApiClient {
675
984
  /**
@@ -789,7 +1098,7 @@ export class Mechanic extends HeyApiClient {
789
1098
  /**
790
1099
  * Add mechanic deployment
791
1100
  *
792
- * Register a mechanic contract deployment on a specific chain. Upserts if a deployment already exists for the chain.
1101
+ * Register a mechanic's contract address on a chain. Replaces the address if that chain already has one.
793
1102
  */
794
1103
  addDeployment(parameters, options) {
795
1104
  const params = buildClientParams([parameters], [
@@ -817,7 +1126,7 @@ export class Media extends HeyApiClient {
817
1126
  /**
818
1127
  * Create media upload session
819
1128
  *
820
- * Create a media asset and return the worker upload URL the client should PUT bytes to. Call /:mediaId/process once the PUT completes.
1129
+ * Create a pending media asset and return an upload URL with the required request headers.
821
1130
  */
822
1131
  createUploadSession(parameters, options) {
823
1132
  const params = buildClientParams([parameters], [
@@ -845,7 +1154,7 @@ export class Media extends HeyApiClient {
845
1154
  /**
846
1155
  * Upload media bytes
847
1156
  *
848
- * Stream the file body to the worker, which writes it to storage and immediately drives the asset through processing. File assets come back Ready; Directory assets come back Processing (zip extraction running). Call /:mediaId/process to retry a Failed Directory.
1157
+ * Write the request body to storage and start processing. Files return Ready; directories return Processing while extraction runs.
849
1158
  */
850
1159
  upload(parameters, options) {
851
1160
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "mediaId" }] }]);
@@ -858,7 +1167,7 @@ export class Media extends HeyApiClient {
858
1167
  /**
859
1168
  * Process a media asset
860
1169
  *
861
- * Drive the media asset toward Ready. Call after PUTting bytes to /:mediaId/upload to finalize the upload (File assets become Ready; Directory assets trigger zip extraction). Idempotent — assets that are already Ready or currently Processing are returned as-is. Failed Directory assets re-trigger extraction.
1170
+ * Retry processing for a failed directory. The operation is idempotent and leaves Ready or Processing assets unchanged.
862
1171
  */
863
1172
  process(parameters, options) {
864
1173
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "mediaId" }] }]);
@@ -869,9 +1178,9 @@ export class Media extends HeyApiClient {
869
1178
  });
870
1179
  }
871
1180
  /**
872
- * List children of a Directory media asset
1181
+ * List directory files
873
1182
  *
874
- * Returns a paginated list of File children (e.g. per-token metadata or extracted archive files).
1183
+ * List the extracted files in a directory with cursor pagination.
875
1184
  */
876
1185
  listChildren(parameters, options) {
877
1186
  const params = buildClientParams([parameters], [
@@ -892,7 +1201,7 @@ export class Media extends HeyApiClient {
892
1201
  /**
893
1202
  * Delete a media asset
894
1203
  *
895
- * Delete the media asset and its R2 objects. Arweave archive locations remain on-chain (immutable) but are no longer referenced. Fails with 409 if still referenced by a collection contract or generative collection code.
1204
+ * Delete a media record and its R2 objects. An immutable Arweave archive remains available. Returns 409 when a contract or generative collection still references the media.
896
1205
  */
897
1206
  delete(parameters, options) {
898
1207
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "mediaId" }] }]);
@@ -918,7 +1227,7 @@ export class Media extends HeyApiClient {
918
1227
  /**
919
1228
  * Publish media to archive
920
1229
  *
921
- * Mirror the media asset to its immutable archive provider (Arweave). File media publishes the single blob; Directory media publishes a manifest of all children. Idempotent — returns early if already archived.
1230
+ * Archive media to Arweave. Files publish one blob; directories publish their children and a manifest. The operation is idempotent.
922
1231
  */
923
1232
  publish(parameters, options) {
924
1233
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "mediaId" }] }]);
@@ -929,9 +1238,9 @@ export class Media extends HeyApiClient {
929
1238
  });
930
1239
  }
931
1240
  /**
932
- * Get a child File Entity by path
1241
+ * Get a child file by path
933
1242
  *
934
- * Returns the child File's full Entity (with locations and status). Use `entity.url` to fetch bytes directly from the storage provider.
1243
+ * Get an extracted file by path, including its status and storage locations.
935
1244
  */
936
1245
  getChild(parameters, options) {
937
1246
  const params = buildClientParams([parameters], [
@@ -949,11 +1258,128 @@ export class Media extends HeyApiClient {
949
1258
  });
950
1259
  }
951
1260
  }
1261
+ export class Tx extends HeyApiClient {
1262
+ /**
1263
+ * Get transaction status
1264
+ *
1265
+ * Get the transaction's domain milestones and their status. The overall status reaches Ready after all expected milestones finish. Use the `/ws` route for live updates.
1266
+ */
1267
+ status(parameters, options) {
1268
+ const params = buildClientParams([parameters], [
1269
+ {
1270
+ args: [
1271
+ { in: "path", key: "chainId" },
1272
+ { in: "path", key: "txHash" },
1273
+ ],
1274
+ },
1275
+ ]);
1276
+ return (options?.client ?? this.client).get({
1277
+ url: "/tx/{chainId}/{txHash}",
1278
+ ...options,
1279
+ ...params,
1280
+ });
1281
+ }
1282
+ /**
1283
+ * Submit a transaction for tracking
1284
+ *
1285
+ * Submit a broadcast transaction hash for domain processing and milestone tracking. Returns the current snapshot; use the `/ws` route for live updates.
1286
+ */
1287
+ submit(parameters, options) {
1288
+ const params = buildClientParams([parameters], [
1289
+ {
1290
+ args: [
1291
+ { in: "path", key: "chainId" },
1292
+ { in: "path", key: "txHash" },
1293
+ ],
1294
+ },
1295
+ ]);
1296
+ return (options?.client ?? this.client).post({
1297
+ url: "/tx/{chainId}/{txHash}",
1298
+ ...options,
1299
+ ...params,
1300
+ });
1301
+ }
1302
+ }
1303
+ export class Profile extends HeyApiClient {
1304
+ /**
1305
+ * Get authenticated profile
1306
+ *
1307
+ * Get the private profile for the authenticated account, including its email.
1308
+ */
1309
+ get(options) {
1310
+ return (options?.client ?? this.client).get({ url: "/user/profile", ...options });
1311
+ }
1312
+ /**
1313
+ * Update authenticated profile
1314
+ *
1315
+ * Update private profile fields. Avatar media must be an owned, ready User-scope image file.
1316
+ */
1317
+ update(parameters, options) {
1318
+ const params = buildClientParams([parameters], [
1319
+ {
1320
+ args: [
1321
+ { in: "body", key: "displayName" },
1322
+ { in: "body", key: "bio" },
1323
+ { in: "body", key: "website" },
1324
+ { in: "body", key: "avatarMediaId" },
1325
+ ],
1326
+ },
1327
+ ]);
1328
+ return (options?.client ?? this.client).patch({
1329
+ url: "/user/profile",
1330
+ ...options,
1331
+ ...params,
1332
+ headers: {
1333
+ "Content-Type": "application/json",
1334
+ ...options?.headers,
1335
+ ...params.headers,
1336
+ },
1337
+ });
1338
+ }
1339
+ /**
1340
+ * Get public profile
1341
+ *
1342
+ * Get a wallet's public profile. Valid wallet addresses without a registered account return an address-only fallback profile.
1343
+ */
1344
+ public(parameters, options) {
1345
+ const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "walletAddress" }] }]);
1346
+ return (options?.client ?? this.client).get({
1347
+ url: "/user/{walletAddress}/profile",
1348
+ ...options,
1349
+ ...params,
1350
+ });
1351
+ }
1352
+ /**
1353
+ * List public wallet tokens
1354
+ *
1355
+ * Get a wallet's token holdings across live collections. This is available for every valid EVM address, including addresses without a registered account.
1356
+ */
1357
+ tokens(parameters, options) {
1358
+ const params = buildClientParams([parameters], [
1359
+ {
1360
+ args: [
1361
+ { in: "path", key: "walletAddress" },
1362
+ { in: "query", key: "page" },
1363
+ { in: "query", key: "limit" },
1364
+ { in: "query", key: "sort" },
1365
+ { in: "query", key: "order" },
1366
+ { in: "query", key: "collectionId" },
1367
+ { in: "query", key: "search" },
1368
+ ],
1369
+ },
1370
+ ]);
1371
+ return (options?.client ?? this.client).get({
1372
+ url: "/user/{walletAddress}/tokens",
1373
+ ...options,
1374
+ ...params,
1375
+ });
1376
+ }
1377
+ }
952
1378
  export class Siwe extends HeyApiClient {
953
1379
  /**
954
1380
  * Issue a SIWE nonce
955
1381
  *
956
- * Issues a single-use, short-lived nonce for use as the `nonce` field of a SIWE (EIP-4361) message.
1382
+ * Issue a single-use, short-lived nonce for the `nonce` field of a SIWE (EIP-4361) message.
957
1383
  */
958
1384
  nonce(options) {
959
1385
  return (options?.client ?? this.client).post({ url: "/user/signin/siwe/nonce", ...options });
@@ -961,9 +1387,9 @@ export class Siwe extends HeyApiClient {
961
1387
  }
962
1388
  export class User extends HeyApiClient {
963
1389
  /**
964
- * Sign in user
1390
+ * Sign in
965
1391
  *
966
- * Sign in with a provider credential (Privy id_token or SIWE message + signature) and receive access/refresh tokens plus user.
1392
+ * Exchange a Privy ID token or signed SIWE message for Highlight access and refresh tokens.
967
1393
  */
968
1394
  signin(parameters, options) {
969
1395
  const params = buildClientParams([parameters], [{ args: [{ key: "body", map: "body" }] }]);
@@ -1050,6 +1476,11 @@ export class HighlightClient extends HeyApiClient {
1050
1476
  super(args);
1051
1477
  HighlightClient.__registry.set(this, args?.key);
1052
1478
  }
1479
+ /**
1480
+ * Activate a chain indexer
1481
+ *
1482
+ * Start or wake indexing for an enabled chain. Administrative use only.
1483
+ */
1053
1484
  postIndexerChainsByChainIdActivate(parameters, options) {
1054
1485
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "chainId" }] }]);
1055
1486
  return (options?.client ?? this.client).post({
@@ -1058,6 +1489,11 @@ export class HighlightClient extends HeyApiClient {
1058
1489
  ...params,
1059
1490
  });
1060
1491
  }
1492
+ /**
1493
+ * Reset a chain indexer
1494
+ *
1495
+ * Move a chain's indexing cursor to a block so later polls reprocess from that point. Administrative use only.
1496
+ */
1061
1497
  postIndexerChainsByChainIdReset(parameters, options) {
1062
1498
  const params = buildClientParams([parameters], [
1063
1499
  {
@@ -1078,6 +1514,11 @@ export class HighlightClient extends HeyApiClient {
1078
1514
  },
1079
1515
  });
1080
1516
  }
1517
+ /**
1518
+ * Poll a chain indexer
1519
+ *
1520
+ * Run one indexing cycle for an enabled chain. Administrative use only.
1521
+ */
1081
1522
  postIndexerChainsByChainIdPoll(parameters, options) {
1082
1523
  const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "chainId" }] }]);
1083
1524
  return (options?.client ?? this.client).post({
@@ -1114,6 +1555,14 @@ export class HighlightClient extends HeyApiClient {
1114
1555
  get media() {
1115
1556
  return (this._media ??= new Media({ client: this.client }));
1116
1557
  }
1558
+ _tx;
1559
+ get tx() {
1560
+ return (this._tx ??= new Tx({ client: this.client }));
1561
+ }
1562
+ _profile;
1563
+ get profile() {
1564
+ return (this._profile ??= new Profile({ client: this.client }));
1565
+ }
1117
1566
  _user;
1118
1567
  get user() {
1119
1568
  return (this._user ??= new User({ client: this.client }));