@highlightxyz/sdk 0.3.0 → 0.4.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.
@@ -12,9 +12,11 @@ export declare enum MediaKind {
12
12
  File = "File",
13
13
  Directory = "Directory"
14
14
  }
15
- export declare enum MediaScope {
15
+ export declare enum MediaNamespace {
16
16
  Collection = "Collection",
17
- User = "User"
17
+ User = "User",
18
+ Contract = "Contract",
19
+ System = "System"
18
20
  }
19
21
  export declare enum MediaProvenance {
20
22
  UserUpload = "UserUpload",
@@ -49,7 +51,6 @@ export type MediaStorageLocation = {
49
51
  provider: StorageProvider;
50
52
  role: StorageRole;
51
53
  reference: string;
52
- url: string | null;
53
54
  status: LocationStatus;
54
55
  attempts: number;
55
56
  lastError: string | null;
@@ -64,10 +65,10 @@ export type MediaAsset = {
64
65
  id: string;
65
66
  accountId: string;
66
67
  kind: MediaKind;
67
- scope: MediaScope;
68
+ namespace: MediaNamespace;
68
69
  provenance: MediaProvenance;
69
70
  status: MediaAssetStatus;
70
- fileName: string;
71
+ fileName: string | null;
71
72
  mimeType: string | null;
72
73
  fileSize: number | null;
73
74
  contentHash: string | null;
@@ -78,11 +79,6 @@ export type MediaAsset = {
78
79
  createdAt: string;
79
80
  updatedAt: string;
80
81
  };
81
- export declare enum RevealStrategy {
82
- Noop = "Noop",
83
- PreAssigned = "PreAssigned",
84
- Generative = "Generative"
85
- }
86
82
  export declare enum CollectionSource {
87
83
  Internal = "Internal",
88
84
  External = "External"
@@ -190,7 +186,9 @@ export type SeriesPreviewEntry = {
190
186
  metadataId: number;
191
187
  name: string | null;
192
188
  description: string | null;
189
+ image: MediaAsset | null;
193
190
  imageUrl: string | null;
191
+ animation: MediaAsset | null;
194
192
  animationUrl: string | null;
195
193
  attributes: Array<{
196
194
  traitType: string;
@@ -200,6 +198,33 @@ export type SeriesPreviewEntry = {
200
198
  export type SeriesPreviewsResponse = {
201
199
  items: Array<SeriesPreviewEntry>;
202
200
  };
201
+ export type MediaUploadInstructions = {
202
+ url: string;
203
+ method: "PUT";
204
+ headers: {
205
+ [key: string]: string;
206
+ };
207
+ expiresAt: string;
208
+ };
209
+ export type MediaUploadSession = {
210
+ media: MediaAsset;
211
+ uploadMediaId: string;
212
+ upload: MediaUploadInstructions;
213
+ };
214
+ export declare enum MediaPurpose {
215
+ CollectionLogo = "CollectionLogo",
216
+ EditionImage = "EditionImage",
217
+ EditionAnimation = "EditionAnimation",
218
+ SeriesAssets = "SeriesAssets",
219
+ GenerativeCode = "GenerativeCode",
220
+ UserAvatar = "UserAvatar"
221
+ }
222
+ export type MediaContentHash = string;
223
+ export type CollectionUpdateMetadataInput = {
224
+ name?: string;
225
+ description?: string | null;
226
+ logoMediaId?: string;
227
+ };
203
228
  export type EditionContractExecution = {
204
229
  chainId: number;
205
230
  to: string | null;
@@ -212,14 +237,13 @@ export type EditionUpdateResponse = {
212
237
  collectionId: string | null;
213
238
  name: string;
214
239
  description: string | null;
215
- logoMediaId: string;
216
- logoMedia: MediaAsset;
240
+ logoMediaId: string | null;
241
+ logoMedia: MediaAsset | null;
217
242
  baseUriId: string | null;
218
243
  royaltyAddress: string | null;
219
244
  royaltyAmount: number | null;
220
245
  tokenManager: string | null;
221
246
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
222
- revealStrategy: RevealStrategy;
223
247
  source: CollectionSource;
224
248
  type: CollectionType;
225
249
  contract: {
@@ -232,6 +256,7 @@ export type EditionUpdateResponse = {
232
256
  address: string | null;
233
257
  symbol: string;
234
258
  contractUri: string | null;
259
+ contractMetadataMediaId: string | null;
235
260
  status: "Draft" | "Deploying" | "Live";
236
261
  createdAt: string;
237
262
  updatedAt: string;
@@ -269,6 +294,7 @@ export type EditionUpdateResponse = {
269
294
  description?: string;
270
295
  imageMediaId?: string;
271
296
  animationMediaId?: string;
297
+ metadataMediaId?: string;
272
298
  imageMedia?: MediaAsset | null;
273
299
  animationMedia?: MediaAsset | null;
274
300
  attributes?: Array<{
@@ -303,7 +329,6 @@ export type EditionUpdateResponse = {
303
329
  paymentRecipient: string;
304
330
  accessMode: SaleAccessMode;
305
331
  gateId: string | null;
306
- gasSponsored: boolean;
307
332
  status: SaleStatus;
308
333
  paused: boolean;
309
334
  mechanicId: string | null;
@@ -330,6 +355,8 @@ export type RankedAuctionViewerStanding = {
330
355
  numWinningBids: number;
331
356
  numClaimed: number;
332
357
  tokensLeftToClaim: number;
358
+ numBids: number;
359
+ rebateAmount: string;
333
360
  };
334
361
  export type RankedAuctionStandings = {
335
362
  saleId: string;
@@ -338,6 +365,9 @@ export type RankedAuctionStandings = {
338
365
  currency: SaleCurrency;
339
366
  maxWinners: number;
340
367
  totalBids: number;
368
+ endTimestamp: number;
369
+ rebatesEnabled: boolean;
370
+ maxBidsPerWallet: number;
341
371
  bids: Array<RankedAuctionStandingBid>;
342
372
  viewer: RankedAuctionViewerStanding | null;
343
373
  };
@@ -361,6 +391,9 @@ export type EnglishAuctionStanding = {
361
391
  creatorEarnings: string;
362
392
  platformBps: number;
363
393
  totalBids: number;
394
+ minBidIncrementBps: number;
395
+ bufferSeconds: number;
396
+ maxClaimsPerAccount: number;
364
397
  viewer: EnglishAuctionViewerStanding | null;
365
398
  };
366
399
  export type EnglishAuctionBidEntry = {
@@ -376,6 +409,31 @@ export type EnglishAuctionBidHistory = {
376
409
  currency: SaleCurrency;
377
410
  bids: Array<EnglishAuctionBidEntry>;
378
411
  };
412
+ export type DutchAuctionViewerStanding = {
413
+ address: string;
414
+ numTokensBought: number;
415
+ numRebates: number;
416
+ totalPosted: string;
417
+ rebateAmount: string;
418
+ rebateClaimable: boolean;
419
+ };
420
+ export type DutchAuctionStanding = {
421
+ saleId: string;
422
+ currency: SaleCurrency;
423
+ prices: Array<string>;
424
+ startTimestamp: number;
425
+ endTimestamp: number;
426
+ periodDuration: number;
427
+ clearingPrice: string;
428
+ currentSupply: number;
429
+ totalSales: string;
430
+ escrowedFunds: string;
431
+ fundsFinalized: boolean;
432
+ fundsWithdrawn: boolean;
433
+ auctionExhausted: boolean;
434
+ auctionInFPP: boolean;
435
+ viewer: DutchAuctionViewerStanding | null;
436
+ };
379
437
  export declare enum TokenStatus {
380
438
  PendingReveal = "PendingReveal",
381
439
  PendingIndex = "PendingIndex",
@@ -401,10 +459,17 @@ export type TokenOwnersResponse = {
401
459
  export type TokenRedriveSummary = {
402
460
  candidates: number;
403
461
  scheduled: number;
404
- indexOnly: number;
462
+ fromChain: number;
405
463
  skippedRecent: number;
406
464
  failed: number;
407
465
  };
466
+ export type MediaHostsResponse = {
467
+ assets: string;
468
+ metadata: string;
469
+ legacyAssets: string;
470
+ arweaveGateway: string;
471
+ ipfsGateway: string;
472
+ };
408
473
  export declare enum GateMatchMode {
409
474
  All = "ALL",
410
475
  Any = "ANY"
@@ -459,17 +524,6 @@ export type GateFarcasterUserPreview = {
459
524
  displayName: string | null;
460
525
  pfpUrl: string | null;
461
526
  };
462
- export type MediaUploadInstructions = {
463
- url: string;
464
- method: "PUT";
465
- headers: {
466
- [key: string]: string;
467
- };
468
- };
469
- export type MediaUploadSession = {
470
- media: MediaAsset;
471
- upload: MediaUploadInstructions;
472
- };
473
527
  export type MediaChildrenList = {
474
528
  items: Array<MediaAsset>;
475
529
  nextCursor: string | null;
@@ -587,14 +641,13 @@ export type CollectionListResponses = {
587
641
  collectionId: string | null;
588
642
  name: string;
589
643
  description: string | null;
590
- logoMediaId: string;
591
- logoMedia: MediaAsset;
644
+ logoMediaId: string | null;
645
+ logoMedia: MediaAsset | null;
592
646
  baseUriId: string | null;
593
647
  royaltyAddress: string | null;
594
648
  royaltyAmount: number | null;
595
649
  tokenManager: string | null;
596
650
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
597
- revealStrategy: RevealStrategy;
598
651
  source: CollectionSource;
599
652
  type: CollectionType;
600
653
  contract: {
@@ -607,6 +660,7 @@ export type CollectionListResponses = {
607
660
  address: string | null;
608
661
  symbol: string;
609
662
  contractUri: string | null;
663
+ contractMetadataMediaId: string | null;
610
664
  status: "Draft" | "Deploying" | "Live";
611
665
  createdAt: string;
612
666
  updatedAt: string;
@@ -644,6 +698,7 @@ export type CollectionListResponses = {
644
698
  description?: string;
645
699
  imageMediaId?: string;
646
700
  animationMediaId?: string;
701
+ metadataMediaId?: string;
647
702
  imageMedia?: MediaAsset | null;
648
703
  animationMedia?: MediaAsset | null;
649
704
  attributes?: Array<{
@@ -678,7 +733,6 @@ export type CollectionListResponses = {
678
733
  paymentRecipient: string;
679
734
  accessMode: SaleAccessMode;
680
735
  gateId: string | null;
681
- gasSponsored: boolean;
682
736
  status: SaleStatus;
683
737
  paused: boolean;
684
738
  mechanicId: string | null;
@@ -714,8 +768,6 @@ export type CollectionCreateData = {
714
768
  symbol: string;
715
769
  standard: ContractStandard;
716
770
  };
717
- logoMediaId: string;
718
- image: string;
719
771
  type: CollectionType;
720
772
  royalty?: {
721
773
  address: string;
@@ -755,14 +807,13 @@ export type CollectionCreateResponses = {
755
807
  collectionId: string | null;
756
808
  name: string;
757
809
  description: string | null;
758
- logoMediaId: string;
759
- logoMedia: MediaAsset;
810
+ logoMediaId: string | null;
811
+ logoMedia: MediaAsset | null;
760
812
  baseUriId: string | null;
761
813
  royaltyAddress: string | null;
762
814
  royaltyAmount: number | null;
763
815
  tokenManager: string | null;
764
816
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
765
- revealStrategy: RevealStrategy;
766
817
  source: CollectionSource;
767
818
  type: CollectionType;
768
819
  contract: {
@@ -775,6 +826,7 @@ export type CollectionCreateResponses = {
775
826
  address: string | null;
776
827
  symbol: string;
777
828
  contractUri: string | null;
829
+ contractMetadataMediaId: string | null;
778
830
  status: "Draft" | "Deploying" | "Live";
779
831
  createdAt: string;
780
832
  updatedAt: string;
@@ -812,6 +864,7 @@ export type CollectionCreateResponses = {
812
864
  description?: string;
813
865
  imageMediaId?: string;
814
866
  animationMediaId?: string;
867
+ metadataMediaId?: string;
815
868
  imageMedia?: MediaAsset | null;
816
869
  animationMedia?: MediaAsset | null;
817
870
  attributes?: Array<{
@@ -846,7 +899,6 @@ export type CollectionCreateResponses = {
846
899
  paymentRecipient: string;
847
900
  accessMode: SaleAccessMode;
848
901
  gateId: string | null;
849
- gasSponsored: boolean;
850
902
  status: SaleStatus;
851
903
  paused: boolean;
852
904
  mechanicId: string | null;
@@ -937,14 +989,13 @@ export type CollectionGetResponses = {
937
989
  collectionId: string | null;
938
990
  name: string;
939
991
  description: string | null;
940
- logoMediaId: string;
941
- logoMedia: MediaAsset;
992
+ logoMediaId: string | null;
993
+ logoMedia: MediaAsset | null;
942
994
  baseUriId: string | null;
943
995
  royaltyAddress: string | null;
944
996
  royaltyAmount: number | null;
945
997
  tokenManager: string | null;
946
998
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
947
- revealStrategy: RevealStrategy;
948
999
  source: CollectionSource;
949
1000
  type: CollectionType;
950
1001
  contract: {
@@ -957,6 +1008,7 @@ export type CollectionGetResponses = {
957
1008
  address: string | null;
958
1009
  symbol: string;
959
1010
  contractUri: string | null;
1011
+ contractMetadataMediaId: string | null;
960
1012
  status: "Draft" | "Deploying" | "Live";
961
1013
  createdAt: string;
962
1014
  updatedAt: string;
@@ -994,6 +1046,7 @@ export type CollectionGetResponses = {
994
1046
  description?: string;
995
1047
  imageMediaId?: string;
996
1048
  animationMediaId?: string;
1049
+ metadataMediaId?: string;
997
1050
  imageMedia?: MediaAsset | null;
998
1051
  animationMedia?: MediaAsset | null;
999
1052
  attributes?: Array<{
@@ -1028,7 +1081,6 @@ export type CollectionGetResponses = {
1028
1081
  paymentRecipient: string;
1029
1082
  accessMode: SaleAccessMode;
1030
1083
  gateId: string | null;
1031
- gasSponsored: boolean;
1032
1084
  status: SaleStatus;
1033
1085
  paused: boolean;
1034
1086
  mechanicId: string | null;
@@ -1072,15 +1124,15 @@ export type CollectionListPreviewsResponses = {
1072
1124
  200: SeriesPreviewsResponse;
1073
1125
  };
1074
1126
  export type CollectionListPreviewsResponse = CollectionListPreviewsResponses[keyof CollectionListPreviewsResponses];
1075
- export type CollectionFinalizeBaseUriData = {
1127
+ export type CollectionArchiveBaseUriData = {
1076
1128
  body?: never;
1077
1129
  path: {
1078
1130
  highlightId: string;
1079
1131
  };
1080
1132
  query?: never;
1081
- url: "/collection/{highlightId}/finalize-base-uri";
1133
+ url: "/collection/{highlightId}/archive-base-uri";
1082
1134
  };
1083
- export type CollectionFinalizeBaseUriErrors = {
1135
+ export type CollectionArchiveBaseUriErrors = {
1084
1136
  /**
1085
1137
  * Base URI not set or directory empty
1086
1138
  */
@@ -1097,13 +1149,17 @@ export type CollectionFinalizeBaseUriErrors = {
1097
1149
  * Collection not found
1098
1150
  */
1099
1151
  404: ApiErrorResponse;
1152
+ /**
1153
+ * Metadata bytes conflict with stored Media content
1154
+ */
1155
+ 409: ApiErrorResponse;
1100
1156
  /**
1101
1157
  * Archive provider unavailable
1102
1158
  */
1103
1159
  503: ApiErrorResponse;
1104
1160
  };
1105
- export type CollectionFinalizeBaseUriError = CollectionFinalizeBaseUriErrors[keyof CollectionFinalizeBaseUriErrors];
1106
- export type CollectionFinalizeBaseUriResponses = {
1161
+ export type CollectionArchiveBaseUriError = CollectionArchiveBaseUriErrors[keyof CollectionArchiveBaseUriErrors];
1162
+ export type CollectionArchiveBaseUriResponses = {
1107
1163
  /**
1108
1164
  * Collection with Archive location on base URI
1109
1165
  */
@@ -1112,14 +1168,204 @@ export type CollectionFinalizeBaseUriResponses = {
1112
1168
  collectionId: string | null;
1113
1169
  name: string;
1114
1170
  description: string | null;
1115
- logoMediaId: string;
1116
- logoMedia: MediaAsset;
1171
+ logoMediaId: string | null;
1172
+ logoMedia: MediaAsset | null;
1173
+ baseUriId: string | null;
1174
+ royaltyAddress: string | null;
1175
+ royaltyAmount: number | null;
1176
+ tokenManager: string | null;
1177
+ status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
1178
+ source: CollectionSource;
1179
+ type: CollectionType;
1180
+ contract: {
1181
+ id: string;
1182
+ chainId: number;
1183
+ type: "GenerativeSeries" | "Series" | "MultipleEditions" | "MultipleEditionsDFS" | "SingleEdition" | "SingleEditionDFS" | "EditionsDFS1155";
1184
+ standard: ContractStandard;
1185
+ creatorAddress: string;
1186
+ name: string;
1187
+ address: string | null;
1188
+ symbol: string;
1189
+ contractUri: string | null;
1190
+ contractMetadataMediaId: string | null;
1191
+ status: "Draft" | "Deploying" | "Live";
1192
+ createdAt: string;
1193
+ updatedAt: string;
1194
+ };
1195
+ createdAt: string;
1196
+ updatedAt: string;
1197
+ series: {
1198
+ size: number;
1199
+ isCollectorsChoice?: boolean;
1200
+ assetsMediaId?: string;
1201
+ assetsMedia?: MediaAsset | null;
1202
+ } | null;
1203
+ generative: {
1204
+ size: number;
1205
+ codeMediaId: string;
1206
+ codeMedia: MediaAsset;
1207
+ isCurated?: boolean;
1208
+ isGpuRendering?: boolean;
1209
+ editionType?: GenerativeEditionType;
1210
+ allowedHashes?: Array<string>;
1211
+ requiredParams?: Array<string>;
1212
+ captureSettings?: {
1213
+ trigger: CaptureSettingsTrigger;
1214
+ delay?: number;
1215
+ selector?: string;
1216
+ selectorType?: SelectorType;
1217
+ viewPortHeight?: number;
1218
+ viewPortWidth?: number;
1219
+ };
1220
+ } | null;
1221
+ edition: {
1222
+ editionId: string;
1223
+ size: number;
1224
+ name?: string;
1225
+ description?: string;
1226
+ imageMediaId?: string;
1227
+ animationMediaId?: string;
1228
+ metadataMediaId?: string;
1229
+ imageMedia?: MediaAsset | null;
1230
+ animationMedia?: MediaAsset | null;
1231
+ attributes?: Array<{
1232
+ traitType: string;
1233
+ value: string;
1234
+ }>;
1235
+ } | null;
1236
+ account: {
1237
+ id: string;
1238
+ displayName: string | null;
1239
+ primaryAddress: string | null;
1240
+ ensName: string | null;
1241
+ };
1242
+ stats: {
1243
+ ownerCount: number;
1244
+ tokenCount: number;
1245
+ volumeByCurrency: Array<CollectionCurrencyVolume>;
1246
+ updatedAt: string;
1247
+ } | null;
1248
+ sales: Array<{
1249
+ id: string;
1250
+ collectionId: string;
1251
+ name: string | null;
1252
+ type: SaleType;
1253
+ startAt: string;
1254
+ endAt: string | null;
1255
+ price: string;
1256
+ currency: SaleCurrency;
1257
+ maxPerTransaction: number;
1258
+ maxPerWallet: number;
1259
+ maxTotal: number;
1260
+ paymentRecipient: string;
1261
+ accessMode: SaleAccessMode;
1262
+ gateId: string | null;
1263
+ status: SaleStatus;
1264
+ paused: boolean;
1265
+ mechanicId: string | null;
1266
+ typeConfig: unknown | null;
1267
+ vectorId: string | null;
1268
+ customMintFee: string | null;
1269
+ collectorMessage: string | null;
1270
+ createdAt: string;
1271
+ updatedAt: string;
1272
+ stats: SaleStats | null;
1273
+ lifecycle: SaleLifecycle;
1274
+ }>;
1275
+ };
1276
+ };
1277
+ export type CollectionArchiveBaseUriResponse = CollectionArchiveBaseUriResponses[keyof CollectionArchiveBaseUriResponses];
1278
+ export type CollectionCreateMediaUploadSessionData = {
1279
+ body: {
1280
+ purpose: MediaPurpose;
1281
+ fileName: string;
1282
+ mimeType: string;
1283
+ fileSize: number;
1284
+ contentHash: MediaContentHash;
1285
+ };
1286
+ path: {
1287
+ highlightId: string;
1288
+ };
1289
+ query?: never;
1290
+ url: "/collection/{highlightId}/media/upload-session";
1291
+ };
1292
+ export type CollectionCreateMediaUploadSessionErrors = {
1293
+ /**
1294
+ * Invalid request, unsupported content type, or file too large
1295
+ */
1296
+ 400: ApiErrorResponse;
1297
+ /**
1298
+ * Unauthorized
1299
+ */
1300
+ 401: ApiErrorResponse;
1301
+ /**
1302
+ * Forbidden
1303
+ */
1304
+ 403: ApiErrorResponse;
1305
+ /**
1306
+ * Collection not found
1307
+ */
1308
+ 404: ApiErrorResponse;
1309
+ /**
1310
+ * R2 upload signing is not configured
1311
+ */
1312
+ 500: ApiErrorResponse;
1313
+ /**
1314
+ * Storage unavailable
1315
+ */
1316
+ 503: ApiErrorResponse;
1317
+ };
1318
+ export type CollectionCreateMediaUploadSessionError = CollectionCreateMediaUploadSessionErrors[keyof CollectionCreateMediaUploadSessionErrors];
1319
+ export type CollectionCreateMediaUploadSessionResponses = {
1320
+ /**
1321
+ * Upload session
1322
+ */
1323
+ 200: MediaUploadSession;
1324
+ };
1325
+ export type CollectionCreateMediaUploadSessionResponse = CollectionCreateMediaUploadSessionResponses[keyof CollectionCreateMediaUploadSessionResponses];
1326
+ export type CollectionUpdateMetadataData = {
1327
+ body: CollectionUpdateMetadataInput;
1328
+ path: {
1329
+ highlightId: string;
1330
+ };
1331
+ query?: never;
1332
+ url: "/collection/{highlightId}/metadata";
1333
+ };
1334
+ export type CollectionUpdateMetadataErrors = {
1335
+ /**
1336
+ * Invalid request
1337
+ */
1338
+ 400: ApiErrorResponse;
1339
+ /**
1340
+ * Unauthorized
1341
+ */
1342
+ 401: ApiErrorResponse;
1343
+ /**
1344
+ * Forbidden
1345
+ */
1346
+ 403: ApiErrorResponse;
1347
+ /**
1348
+ * Not found
1349
+ */
1350
+ 404: ApiErrorResponse;
1351
+ };
1352
+ export type CollectionUpdateMetadataError = CollectionUpdateMetadataErrors[keyof CollectionUpdateMetadataErrors];
1353
+ export type CollectionUpdateMetadataResponses = {
1354
+ /**
1355
+ * Updated collection
1356
+ */
1357
+ 200: {
1358
+ highlightId: string;
1359
+ collectionId: string | null;
1360
+ name: string;
1361
+ description: string | null;
1362
+ logoMediaId: string | null;
1363
+ logoMedia: MediaAsset | null;
1117
1364
  baseUriId: string | null;
1118
1365
  royaltyAddress: string | null;
1119
1366
  royaltyAmount: number | null;
1120
1367
  tokenManager: string | null;
1121
1368
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
1122
- revealStrategy: RevealStrategy;
1123
1369
  source: CollectionSource;
1124
1370
  type: CollectionType;
1125
1371
  contract: {
@@ -1132,6 +1378,7 @@ export type CollectionFinalizeBaseUriResponses = {
1132
1378
  address: string | null;
1133
1379
  symbol: string;
1134
1380
  contractUri: string | null;
1381
+ contractMetadataMediaId: string | null;
1135
1382
  status: "Draft" | "Deploying" | "Live";
1136
1383
  createdAt: string;
1137
1384
  updatedAt: string;
@@ -1169,6 +1416,7 @@ export type CollectionFinalizeBaseUriResponses = {
1169
1416
  description?: string;
1170
1417
  imageMediaId?: string;
1171
1418
  animationMediaId?: string;
1419
+ metadataMediaId?: string;
1172
1420
  imageMedia?: MediaAsset | null;
1173
1421
  animationMedia?: MediaAsset | null;
1174
1422
  attributes?: Array<{
@@ -1203,7 +1451,6 @@ export type CollectionFinalizeBaseUriResponses = {
1203
1451
  paymentRecipient: string;
1204
1452
  accessMode: SaleAccessMode;
1205
1453
  gateId: string | null;
1206
- gasSponsored: boolean;
1207
1454
  status: SaleStatus;
1208
1455
  paused: boolean;
1209
1456
  mechanicId: string | null;
@@ -1218,7 +1465,7 @@ export type CollectionFinalizeBaseUriResponses = {
1218
1465
  }>;
1219
1466
  };
1220
1467
  };
1221
- export type CollectionFinalizeBaseUriResponse = CollectionFinalizeBaseUriResponses[keyof CollectionFinalizeBaseUriResponses];
1468
+ export type CollectionUpdateMetadataResponse = CollectionUpdateMetadataResponses[keyof CollectionUpdateMetadataResponses];
1222
1469
  export type CollectionUpdateGenerativeDetailsData = {
1223
1470
  body: {
1224
1471
  generative: {
@@ -1273,14 +1520,13 @@ export type CollectionUpdateGenerativeDetailsResponses = {
1273
1520
  collectionId: string | null;
1274
1521
  name: string;
1275
1522
  description: string | null;
1276
- logoMediaId: string;
1277
- logoMedia: MediaAsset;
1523
+ logoMediaId: string | null;
1524
+ logoMedia: MediaAsset | null;
1278
1525
  baseUriId: string | null;
1279
1526
  royaltyAddress: string | null;
1280
1527
  royaltyAmount: number | null;
1281
1528
  tokenManager: string | null;
1282
1529
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
1283
- revealStrategy: RevealStrategy;
1284
1530
  source: CollectionSource;
1285
1531
  type: CollectionType;
1286
1532
  contract: {
@@ -1293,6 +1539,7 @@ export type CollectionUpdateGenerativeDetailsResponses = {
1293
1539
  address: string | null;
1294
1540
  symbol: string;
1295
1541
  contractUri: string | null;
1542
+ contractMetadataMediaId: string | null;
1296
1543
  status: "Draft" | "Deploying" | "Live";
1297
1544
  createdAt: string;
1298
1545
  updatedAt: string;
@@ -1330,6 +1577,7 @@ export type CollectionUpdateGenerativeDetailsResponses = {
1330
1577
  description?: string;
1331
1578
  imageMediaId?: string;
1332
1579
  animationMediaId?: string;
1580
+ metadataMediaId?: string;
1333
1581
  imageMedia?: MediaAsset | null;
1334
1582
  animationMedia?: MediaAsset | null;
1335
1583
  attributes?: Array<{
@@ -1364,7 +1612,6 @@ export type CollectionUpdateGenerativeDetailsResponses = {
1364
1612
  paymentRecipient: string;
1365
1613
  accessMode: SaleAccessMode;
1366
1614
  gateId: string | null;
1367
- gasSponsored: boolean;
1368
1615
  status: SaleStatus;
1369
1616
  paused: boolean;
1370
1617
  mechanicId: string | null;
@@ -1422,14 +1669,13 @@ export type CollectionUpdateSeriesDetailsResponses = {
1422
1669
  collectionId: string | null;
1423
1670
  name: string;
1424
1671
  description: string | null;
1425
- logoMediaId: string;
1426
- logoMedia: MediaAsset;
1672
+ logoMediaId: string | null;
1673
+ logoMedia: MediaAsset | null;
1427
1674
  baseUriId: string | null;
1428
1675
  royaltyAddress: string | null;
1429
1676
  royaltyAmount: number | null;
1430
1677
  tokenManager: string | null;
1431
1678
  status: "Draft" | "InProgress" | "Live" | "Migrated" | "Disabled" | "Archived";
1432
- revealStrategy: RevealStrategy;
1433
1679
  source: CollectionSource;
1434
1680
  type: CollectionType;
1435
1681
  contract: {
@@ -1442,6 +1688,7 @@ export type CollectionUpdateSeriesDetailsResponses = {
1442
1688
  address: string | null;
1443
1689
  symbol: string;
1444
1690
  contractUri: string | null;
1691
+ contractMetadataMediaId: string | null;
1445
1692
  status: "Draft" | "Deploying" | "Live";
1446
1693
  createdAt: string;
1447
1694
  updatedAt: string;
@@ -1479,6 +1726,7 @@ export type CollectionUpdateSeriesDetailsResponses = {
1479
1726
  description?: string;
1480
1727
  imageMediaId?: string;
1481
1728
  animationMediaId?: string;
1729
+ metadataMediaId?: string;
1482
1730
  imageMedia?: MediaAsset | null;
1483
1731
  animationMedia?: MediaAsset | null;
1484
1732
  attributes?: Array<{
@@ -1513,7 +1761,6 @@ export type CollectionUpdateSeriesDetailsResponses = {
1513
1761
  paymentRecipient: string;
1514
1762
  accessMode: SaleAccessMode;
1515
1763
  gateId: string | null;
1516
- gasSponsored: boolean;
1517
1764
  status: SaleStatus;
1518
1765
  paused: boolean;
1519
1766
  mechanicId: string | null;
@@ -1621,7 +1868,6 @@ export type CollectionGetSalesResponses = {
1621
1868
  paymentRecipient: string;
1622
1869
  accessMode: SaleAccessMode;
1623
1870
  gateId: string | null;
1624
- gasSponsored: boolean;
1625
1871
  status: SaleStatus;
1626
1872
  paused: boolean;
1627
1873
  mechanicId: string | null;
@@ -1650,7 +1896,6 @@ export type CollectionAddSaleData = {
1650
1896
  paymentRecipient: string;
1651
1897
  accessMode?: SaleAccessMode;
1652
1898
  gateId?: string | null;
1653
- gasSponsored?: boolean;
1654
1899
  mechanicId?: string | null;
1655
1900
  typeConfig?: unknown | null;
1656
1901
  collectorMessage?: string | null;
@@ -2130,6 +2375,78 @@ export type CollectionEnglishAuctionBidsResponses = {
2130
2375
  200: EnglishAuctionBidHistory;
2131
2376
  };
2132
2377
  export type CollectionEnglishAuctionBidsResponse = CollectionEnglishAuctionBidsResponses[keyof CollectionEnglishAuctionBidsResponses];
2378
+ export type CollectionDutchAuctionStandingData = {
2379
+ body?: never;
2380
+ path: {
2381
+ highlightId: string;
2382
+ saleId: string;
2383
+ };
2384
+ query?: never;
2385
+ url: "/collection/{highlightId}/sales/{saleId}/dutch";
2386
+ };
2387
+ export type CollectionDutchAuctionStandingErrors = {
2388
+ /**
2389
+ * Invalid request
2390
+ */
2391
+ 400: ApiErrorResponse;
2392
+ /**
2393
+ * Not found
2394
+ */
2395
+ 404: ApiErrorResponse;
2396
+ };
2397
+ export type CollectionDutchAuctionStandingError = CollectionDutchAuctionStandingErrors[keyof CollectionDutchAuctionStandingErrors];
2398
+ export type CollectionDutchAuctionStandingResponses = {
2399
+ /**
2400
+ * Dutch auction standing
2401
+ */
2402
+ 200: DutchAuctionStanding;
2403
+ };
2404
+ export type CollectionDutchAuctionStandingResponse = CollectionDutchAuctionStandingResponses[keyof CollectionDutchAuctionStandingResponses];
2405
+ export type CollectionClaimDutchRebateData = {
2406
+ body: {
2407
+ saleId: string;
2408
+ };
2409
+ path: {
2410
+ highlightId: string;
2411
+ };
2412
+ query?: never;
2413
+ url: "/collection/{highlightId}/sales/dutch/rebate";
2414
+ };
2415
+ export type CollectionClaimDutchRebateErrors = {
2416
+ /**
2417
+ * Invalid request
2418
+ */
2419
+ 400: ApiErrorResponse;
2420
+ /**
2421
+ * Unauthorized
2422
+ */
2423
+ 401: ApiErrorResponse;
2424
+ /**
2425
+ * Not found
2426
+ */
2427
+ 404: ApiErrorResponse;
2428
+ /**
2429
+ * No rebate owed
2430
+ */
2431
+ 409: ApiErrorResponse;
2432
+ /**
2433
+ * Internal server error
2434
+ */
2435
+ 500: ApiErrorResponse;
2436
+ };
2437
+ export type CollectionClaimDutchRebateError = CollectionClaimDutchRebateErrors[keyof CollectionClaimDutchRebateErrors];
2438
+ export type CollectionClaimDutchRebateResponses = {
2439
+ /**
2440
+ * Rebate transaction configuration
2441
+ */
2442
+ 200: {
2443
+ chainId: number;
2444
+ to: string | null;
2445
+ data: string;
2446
+ value: string;
2447
+ };
2448
+ };
2449
+ export type CollectionClaimDutchRebateResponse = CollectionClaimDutchRebateResponses[keyof CollectionClaimDutchRebateResponses];
2133
2450
  export type CollectionDeployData = {
2134
2451
  body?: never;
2135
2452
  path: {
@@ -2486,6 +2803,19 @@ export type ConfigChainsResponses = {
2486
2803
  };
2487
2804
  };
2488
2805
  export type ConfigChainsResponse = ConfigChainsResponses[keyof ConfigChainsResponses];
2806
+ export type ConfigMediaHostsData = {
2807
+ body?: never;
2808
+ path?: never;
2809
+ query?: never;
2810
+ url: "/config/media-hosts";
2811
+ };
2812
+ export type ConfigMediaHostsResponses = {
2813
+ /**
2814
+ * Media delivery hosts
2815
+ */
2816
+ 200: MediaHostsResponse;
2817
+ };
2818
+ export type ConfigMediaHostsResponse = ConfigMediaHostsResponses[keyof ConfigMediaHostsResponses];
2489
2819
  export type ConfigSystemContractData = {
2490
2820
  body?: never;
2491
2821
  path?: never;
@@ -2548,6 +2878,7 @@ export type ContractListResponses = {
2548
2878
  address: string | null;
2549
2879
  symbol: string;
2550
2880
  contractUri: string | null;
2881
+ contractMetadataMediaId: string | null;
2551
2882
  status: "Draft" | "Deploying" | "Live";
2552
2883
  createdAt: string;
2553
2884
  updatedAt: string;
@@ -2592,6 +2923,7 @@ export type ContractGetResponses = {
2592
2923
  address: string | null;
2593
2924
  symbol: string;
2594
2925
  contractUri: string | null;
2926
+ contractMetadataMediaId: string | null;
2595
2927
  status: "Draft" | "Deploying" | "Live";
2596
2928
  createdAt: string;
2597
2929
  updatedAt: string;
@@ -3162,7 +3494,7 @@ export type MechanicListData = {
3162
3494
  path?: never;
3163
3495
  query?: {
3164
3496
  builtIn?: boolean | string;
3165
- type?: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3497
+ type?: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3166
3498
  };
3167
3499
  url: "/mechanic";
3168
3500
  };
@@ -3174,7 +3506,7 @@ export type MechanicListResponses = {
3174
3506
  id: string;
3175
3507
  slug: string;
3176
3508
  name: string;
3177
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3509
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3178
3510
  description: string | null;
3179
3511
  configSchema: unknown | null;
3180
3512
  encodingAbi: unknown | null;
@@ -3221,7 +3553,7 @@ export type MechanicCreateResponses = {
3221
3553
  id: string;
3222
3554
  slug: string;
3223
3555
  name: string;
3224
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3556
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3225
3557
  description: string | null;
3226
3558
  configSchema: unknown | null;
3227
3559
  encodingAbi: unknown | null;
@@ -3260,7 +3592,7 @@ export type MechanicGetResponses = {
3260
3592
  id: string;
3261
3593
  slug: string;
3262
3594
  name: string;
3263
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3595
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3264
3596
  description: string | null;
3265
3597
  configSchema: unknown | null;
3266
3598
  encodingAbi: unknown | null;
@@ -3316,7 +3648,7 @@ export type MechanicUpdateResponses = {
3316
3648
  id: string;
3317
3649
  slug: string;
3318
3650
  name: string;
3319
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3651
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3320
3652
  description: string | null;
3321
3653
  configSchema: unknown | null;
3322
3654
  encodingAbi: unknown | null;
@@ -3369,7 +3701,7 @@ export type MechanicRemoveDeploymentResponses = {
3369
3701
  id: string;
3370
3702
  slug: string;
3371
3703
  name: string;
3372
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3704
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3373
3705
  description: string | null;
3374
3706
  configSchema: unknown | null;
3375
3707
  encodingAbi: unknown | null;
@@ -3423,7 +3755,7 @@ export type MechanicAddDeploymentResponses = {
3423
3755
  id: string;
3424
3756
  slug: string;
3425
3757
  name: string;
3426
- type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "GASLESS" | "CUSTOM";
3758
+ type: "SEED_BASED_MINT" | "DISCRETE_DUTCH_AUCTION" | "RANKED_AUCTION" | "CUSTOM";
3427
3759
  description: string | null;
3428
3760
  configSchema: unknown | null;
3429
3761
  encodingAbi: unknown | null;
@@ -3439,53 +3771,15 @@ export type MechanicAddDeploymentResponses = {
3439
3771
  };
3440
3772
  };
3441
3773
  export type MechanicAddDeploymentResponse = MechanicAddDeploymentResponses[keyof MechanicAddDeploymentResponses];
3442
- export type MediaCreateUploadSessionData = {
3443
- body: {
3444
- kind: MediaKind;
3445
- scope?: MediaScope;
3446
- fileName: string;
3447
- mimeType: string;
3448
- fileSize: number;
3449
- };
3450
- path?: never;
3451
- query?: never;
3452
- url: "/media/upload-session";
3453
- };
3454
- export type MediaCreateUploadSessionErrors = {
3455
- /**
3456
- * Invalid request
3457
- */
3458
- 400: ApiErrorResponse;
3459
- /**
3460
- * Unauthorized
3461
- */
3462
- 401: ApiErrorResponse;
3463
- /**
3464
- * Forbidden
3465
- */
3466
- 403: ApiErrorResponse;
3467
- /**
3468
- * Storage unavailable
3469
- */
3470
- 503: ApiErrorResponse;
3471
- };
3472
- export type MediaCreateUploadSessionError = MediaCreateUploadSessionErrors[keyof MediaCreateUploadSessionErrors];
3473
- export type MediaCreateUploadSessionResponses = {
3474
- /**
3475
- * Upload session
3476
- */
3477
- 200: MediaUploadSession;
3478
- };
3479
- export type MediaCreateUploadSessionResponse = MediaCreateUploadSessionResponses[keyof MediaCreateUploadSessionResponses];
3480
- export type MediaUploadData = {
3774
+ export type MediaFinalizeUploadData = {
3481
3775
  body?: never;
3482
3776
  path: {
3483
3777
  mediaId: string;
3484
3778
  };
3485
3779
  query?: never;
3486
- url: "/media/{mediaId}/upload";
3780
+ url: "/media/{mediaId}/finalize";
3487
3781
  };
3488
- export type MediaUploadErrors = {
3782
+ export type MediaFinalizeUploadErrors = {
3489
3783
  /**
3490
3784
  * Invalid request
3491
3785
  */
@@ -3499,60 +3793,30 @@ export type MediaUploadErrors = {
3499
3793
  */
3500
3794
  403: ApiErrorResponse;
3501
3795
  /**
3502
- * Not found
3796
+ * Media or uploaded object not found
3503
3797
  */
3504
3798
  404: ApiErrorResponse;
3505
3799
  /**
3506
- * Storage unavailable
3507
- */
3508
- 503: ApiErrorResponse;
3509
- };
3510
- export type MediaUploadError = MediaUploadErrors[keyof MediaUploadErrors];
3511
- export type MediaUploadResponses = {
3512
- /**
3513
- * Upload accepted and processed
3514
- */
3515
- 200: MediaAsset;
3516
- };
3517
- export type MediaUploadResponse = MediaUploadResponses[keyof MediaUploadResponses];
3518
- export type MediaProcessData = {
3519
- body?: never;
3520
- path: {
3521
- mediaId: string;
3522
- };
3523
- query?: never;
3524
- url: "/media/{mediaId}/process";
3525
- };
3526
- export type MediaProcessErrors = {
3527
- /**
3528
- * Invalid request
3800
+ * Uploaded object does not match its session
3529
3801
  */
3530
- 400: ApiErrorResponse;
3531
- /**
3532
- * Unauthorized
3533
- */
3534
- 401: ApiErrorResponse;
3535
- /**
3536
- * Forbidden
3537
- */
3538
- 403: ApiErrorResponse;
3802
+ 409: ApiErrorResponse;
3539
3803
  /**
3540
- * Media or uploaded object not found
3804
+ * Unexpected storage reference
3541
3805
  */
3542
- 404: ApiErrorResponse;
3806
+ 500: ApiErrorResponse;
3543
3807
  /**
3544
3808
  * Storage unavailable
3545
3809
  */
3546
3810
  503: ApiErrorResponse;
3547
3811
  };
3548
- export type MediaProcessError = MediaProcessErrors[keyof MediaProcessErrors];
3549
- export type MediaProcessResponses = {
3812
+ export type MediaFinalizeUploadError = MediaFinalizeUploadErrors[keyof MediaFinalizeUploadErrors];
3813
+ export type MediaFinalizeUploadResponses = {
3550
3814
  /**
3551
- * Media asset with updated status
3815
+ * Finalized media asset
3552
3816
  */
3553
3817
  200: MediaAsset;
3554
3818
  };
3555
- export type MediaProcessResponse = MediaProcessResponses[keyof MediaProcessResponses];
3819
+ export type MediaFinalizeUploadResponse = MediaFinalizeUploadResponses[keyof MediaFinalizeUploadResponses];
3556
3820
  export type MediaListChildrenData = {
3557
3821
  body?: never;
3558
3822
  path: {
@@ -3683,6 +3947,10 @@ export type MediaPublishErrors = {
3683
3947
  * Not found
3684
3948
  */
3685
3949
  404: ApiErrorResponse;
3950
+ /**
3951
+ * Origin bytes conflict with immutable Media content
3952
+ */
3953
+ 409: ApiErrorResponse;
3686
3954
  /**
3687
3955
  * Archive provider unavailable
3688
3956
  */
@@ -3777,6 +4045,44 @@ export type TxSubmitResponses = {
3777
4045
  202: TxStatusSnapshot;
3778
4046
  };
3779
4047
  export type TxSubmitResponse = TxSubmitResponses[keyof TxSubmitResponses];
4048
+ export type UserCreateMediaUploadSessionData = {
4049
+ body: {
4050
+ purpose: MediaPurpose;
4051
+ fileName: string;
4052
+ mimeType: string;
4053
+ fileSize: number;
4054
+ contentHash: MediaContentHash;
4055
+ };
4056
+ path?: never;
4057
+ query?: never;
4058
+ url: "/user/media/upload-session";
4059
+ };
4060
+ export type UserCreateMediaUploadSessionErrors = {
4061
+ /**
4062
+ * Invalid request, unsupported content type, or file too large
4063
+ */
4064
+ 400: ApiErrorResponse;
4065
+ /**
4066
+ * Unauthorized
4067
+ */
4068
+ 401: ApiErrorResponse;
4069
+ /**
4070
+ * R2 upload signing is not configured
4071
+ */
4072
+ 500: ApiErrorResponse;
4073
+ /**
4074
+ * Storage unavailable
4075
+ */
4076
+ 503: ApiErrorResponse;
4077
+ };
4078
+ export type UserCreateMediaUploadSessionError = UserCreateMediaUploadSessionErrors[keyof UserCreateMediaUploadSessionErrors];
4079
+ export type UserCreateMediaUploadSessionResponses = {
4080
+ /**
4081
+ * Upload session
4082
+ */
4083
+ 200: MediaUploadSession;
4084
+ };
4085
+ export type UserCreateMediaUploadSessionResponse = UserCreateMediaUploadSessionResponses[keyof UserCreateMediaUploadSessionResponses];
3780
4086
  export type ProfileGetData = {
3781
4087
  body?: never;
3782
4088
  path?: never;