@medialane/sdk 0.3.2 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/index.cjs +281 -141
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +126 -6
- package/dist/index.d.ts +126 -6
- package/dist/index.js +281 -141
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -29,6 +29,12 @@ declare const SUPPORTED_NETWORKS: readonly ["mainnet", "sepolia"];
|
|
|
29
29
|
type Network = (typeof SUPPORTED_NETWORKS)[number];
|
|
30
30
|
declare const DEFAULT_RPC_URLS: Record<Network, string>;
|
|
31
31
|
|
|
32
|
+
interface RetryOptions {
|
|
33
|
+
maxAttempts?: number;
|
|
34
|
+
baseDelayMs?: number;
|
|
35
|
+
maxDelayMs?: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
declare const MedialaneConfigSchema: z.ZodObject<{
|
|
33
39
|
network: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia"]>>;
|
|
34
40
|
rpcUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -37,20 +43,43 @@ declare const MedialaneConfigSchema: z.ZodObject<{
|
|
|
37
43
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
38
44
|
marketplaceContract: z.ZodOptional<z.ZodString>;
|
|
39
45
|
collectionContract: z.ZodOptional<z.ZodString>;
|
|
46
|
+
retryOptions: z.ZodOptional<z.ZodObject<{
|
|
47
|
+
maxAttempts: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
baseDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
maxDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
maxAttempts?: number | undefined;
|
|
52
|
+
baseDelayMs?: number | undefined;
|
|
53
|
+
maxDelayMs?: number | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
maxAttempts?: number | undefined;
|
|
56
|
+
baseDelayMs?: number | undefined;
|
|
57
|
+
maxDelayMs?: number | undefined;
|
|
58
|
+
}>>;
|
|
40
59
|
}, "strip", z.ZodTypeAny, {
|
|
41
60
|
network: "mainnet" | "sepolia";
|
|
61
|
+
collectionContract?: string | undefined;
|
|
42
62
|
rpcUrl?: string | undefined;
|
|
43
63
|
backendUrl?: string | undefined;
|
|
44
64
|
apiKey?: string | undefined;
|
|
45
65
|
marketplaceContract?: string | undefined;
|
|
46
|
-
|
|
66
|
+
retryOptions?: {
|
|
67
|
+
maxAttempts?: number | undefined;
|
|
68
|
+
baseDelayMs?: number | undefined;
|
|
69
|
+
maxDelayMs?: number | undefined;
|
|
70
|
+
} | undefined;
|
|
47
71
|
}, {
|
|
72
|
+
collectionContract?: string | undefined;
|
|
48
73
|
network?: "mainnet" | "sepolia" | undefined;
|
|
49
74
|
rpcUrl?: string | undefined;
|
|
50
75
|
backendUrl?: string | undefined;
|
|
51
76
|
apiKey?: string | undefined;
|
|
52
77
|
marketplaceContract?: string | undefined;
|
|
53
|
-
|
|
78
|
+
retryOptions?: {
|
|
79
|
+
maxAttempts?: number | undefined;
|
|
80
|
+
baseDelayMs?: number | undefined;
|
|
81
|
+
maxDelayMs?: number | undefined;
|
|
82
|
+
} | undefined;
|
|
54
83
|
}>;
|
|
55
84
|
type MedialaneConfig = z.input<typeof MedialaneConfigSchema>;
|
|
56
85
|
interface ResolvedConfig {
|
|
@@ -60,6 +89,7 @@ interface ResolvedConfig {
|
|
|
60
89
|
apiKey: string | undefined;
|
|
61
90
|
marketplaceContract: string;
|
|
62
91
|
collectionContract: string;
|
|
92
|
+
retryOptions?: RetryOptions;
|
|
63
93
|
}
|
|
64
94
|
declare function resolveConfig(raw: MedialaneConfig): ResolvedConfig;
|
|
65
95
|
|
|
@@ -145,9 +175,12 @@ interface TxResult {
|
|
|
145
175
|
txHash: string;
|
|
146
176
|
}
|
|
147
177
|
|
|
178
|
+
type MedialaneErrorCode = "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "NETWORK_NOT_SUPPORTED" | "APPROVAL_FAILED" | "TRANSACTION_FAILED" | "INVALID_PARAMS" | "UNAUTHORIZED" | "UNKNOWN";
|
|
179
|
+
|
|
148
180
|
declare class MedialaneError extends Error {
|
|
181
|
+
readonly code: MedialaneErrorCode;
|
|
149
182
|
readonly cause?: unknown | undefined;
|
|
150
|
-
constructor(message: string, cause?: unknown | undefined);
|
|
183
|
+
constructor(message: string, code?: MedialaneErrorCode, cause?: unknown | undefined);
|
|
151
184
|
}
|
|
152
185
|
|
|
153
186
|
declare class MarketplaceModule {
|
|
@@ -165,6 +198,14 @@ declare class MarketplaceModule {
|
|
|
165
198
|
buildCancellationTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
|
|
166
199
|
}
|
|
167
200
|
|
|
201
|
+
type CollectionSort = "recent" | "supply" | "floor" | "volume" | "name";
|
|
202
|
+
interface ApiCollectionsQuery {
|
|
203
|
+
page?: number;
|
|
204
|
+
limit?: number;
|
|
205
|
+
isKnown?: boolean;
|
|
206
|
+
sort?: CollectionSort;
|
|
207
|
+
owner?: string;
|
|
208
|
+
}
|
|
168
209
|
type OrderStatus = "ACTIVE" | "FULFILLED" | "CANCELLED" | "EXPIRED";
|
|
169
210
|
type SortOrder = "price_asc" | "price_desc" | "recent";
|
|
170
211
|
type ActivityType = "transfer" | "sale" | "listing" | "offer" | "cancelled";
|
|
@@ -320,6 +361,9 @@ interface ApiCollection {
|
|
|
320
361
|
startBlock: string;
|
|
321
362
|
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
322
363
|
isKnown: boolean;
|
|
364
|
+
source: "MEDIALANE_REGISTRY" | "EXTERNAL" | "PARTNERSHIP" | "IP_TICKET" | "IP_CLUB" | "GAME";
|
|
365
|
+
claimedBy: string | null;
|
|
366
|
+
profile?: ApiCollectionProfile | null;
|
|
323
367
|
floorPrice: string | null;
|
|
324
368
|
totalVolume: string | null;
|
|
325
369
|
holderCount: number | null;
|
|
@@ -491,15 +535,61 @@ interface CreateWebhookParams {
|
|
|
491
535
|
events: WebhookEventType[];
|
|
492
536
|
label?: string;
|
|
493
537
|
}
|
|
538
|
+
interface ApiCollectionProfile {
|
|
539
|
+
contractAddress: string;
|
|
540
|
+
chain: string;
|
|
541
|
+
displayName: string | null;
|
|
542
|
+
description: string | null;
|
|
543
|
+
image: string | null;
|
|
544
|
+
bannerImage: string | null;
|
|
545
|
+
websiteUrl: string | null;
|
|
546
|
+
twitterUrl: string | null;
|
|
547
|
+
discordUrl: string | null;
|
|
548
|
+
telegramUrl: string | null;
|
|
549
|
+
updatedBy: string | null;
|
|
550
|
+
updatedAt: string;
|
|
551
|
+
}
|
|
552
|
+
interface ApiCreatorProfile {
|
|
553
|
+
walletAddress: string;
|
|
554
|
+
chain: string;
|
|
555
|
+
displayName: string | null;
|
|
556
|
+
bio: string | null;
|
|
557
|
+
avatarImage: string | null;
|
|
558
|
+
bannerImage: string | null;
|
|
559
|
+
websiteUrl: string | null;
|
|
560
|
+
twitterUrl: string | null;
|
|
561
|
+
discordUrl: string | null;
|
|
562
|
+
telegramUrl: string | null;
|
|
563
|
+
updatedAt: string;
|
|
564
|
+
}
|
|
565
|
+
interface ApiCollectionClaim {
|
|
566
|
+
id: string;
|
|
567
|
+
contractAddress: string;
|
|
568
|
+
chain: string;
|
|
569
|
+
claimantAddress: string | null;
|
|
570
|
+
status: "PENDING" | "AUTO_APPROVED" | "APPROVED" | "REJECTED";
|
|
571
|
+
verificationMethod: "ONCHAIN" | "SIGNATURE" | "MANUAL";
|
|
572
|
+
createdAt: string;
|
|
573
|
+
}
|
|
574
|
+
interface ApiAdminCollectionClaim extends ApiCollectionClaim {
|
|
575
|
+
claimantEmail: string | null;
|
|
576
|
+
notes: string | null;
|
|
577
|
+
adminNotes: string | null;
|
|
578
|
+
reviewedBy: string | null;
|
|
579
|
+
reviewedAt: string | null;
|
|
580
|
+
updatedAt: string;
|
|
581
|
+
}
|
|
494
582
|
|
|
495
583
|
declare class MedialaneApiError extends Error {
|
|
496
584
|
readonly status: number;
|
|
585
|
+
readonly code: MedialaneErrorCode;
|
|
497
586
|
constructor(status: number, message: string);
|
|
498
587
|
}
|
|
499
588
|
declare class ApiClient {
|
|
500
589
|
private readonly baseUrl;
|
|
501
590
|
private readonly baseHeaders;
|
|
502
|
-
|
|
591
|
+
private readonly retryOptions;
|
|
592
|
+
constructor(baseUrl: string, apiKey?: string, retryOptions?: RetryOptions);
|
|
503
593
|
private request;
|
|
504
594
|
private get;
|
|
505
595
|
private post;
|
|
@@ -512,7 +602,7 @@ declare class ApiClient {
|
|
|
512
602
|
getToken(contract: string, tokenId: string, wait?: boolean): Promise<ApiResponse<ApiToken>>;
|
|
513
603
|
getTokensByOwner(address: string, page?: number, limit?: number): Promise<ApiResponse<ApiToken[]>>;
|
|
514
604
|
getTokenHistory(contract: string, tokenId: string, page?: number, limit?: number): Promise<ApiResponse<ApiActivity[]>>;
|
|
515
|
-
getCollections(page?: number, limit?: number, isKnown?: boolean): Promise<ApiResponse<ApiCollection[]>>;
|
|
605
|
+
getCollections(page?: number, limit?: number, isKnown?: boolean, sort?: CollectionSort): Promise<ApiResponse<ApiCollection[]>>;
|
|
516
606
|
getCollectionsByOwner(owner: string, page?: number, limit?: number): Promise<ApiResponse<ApiCollection[]>>;
|
|
517
607
|
getCollection(contract: string): Promise<ApiResponse<ApiCollection>>;
|
|
518
608
|
getCollectionTokens(contract: string, page?: number, limit?: number): Promise<ApiResponse<ApiToken[]>>;
|
|
@@ -547,6 +637,36 @@ declare class ApiClient {
|
|
|
547
637
|
id: string;
|
|
548
638
|
status: string;
|
|
549
639
|
}>>;
|
|
640
|
+
/**
|
|
641
|
+
* Path 1: On-chain auto claim. Sends both x-api-key (tenant auth) and
|
|
642
|
+
* Authorization: Bearer (Clerk JWT) simultaneously.
|
|
643
|
+
*/
|
|
644
|
+
claimCollection(contractAddress: string, walletAddress: string, clerkToken: string): Promise<{
|
|
645
|
+
verified: boolean;
|
|
646
|
+
collection?: ApiCollection;
|
|
647
|
+
reason?: string;
|
|
648
|
+
}>;
|
|
649
|
+
/**
|
|
650
|
+
* Path 3: Manual off-chain claim request (email-based).
|
|
651
|
+
*/
|
|
652
|
+
requestCollectionClaim(params: {
|
|
653
|
+
contractAddress: string;
|
|
654
|
+
walletAddress?: string;
|
|
655
|
+
email: string;
|
|
656
|
+
notes?: string;
|
|
657
|
+
}): Promise<{
|
|
658
|
+
claim: ApiCollectionClaim;
|
|
659
|
+
}>;
|
|
660
|
+
getCollectionProfile(contractAddress: string): Promise<ApiCollectionProfile | null>;
|
|
661
|
+
/**
|
|
662
|
+
* Update collection profile. Requires Clerk JWT for ownership check.
|
|
663
|
+
*/
|
|
664
|
+
updateCollectionProfile(contractAddress: string, data: Partial<Omit<ApiCollectionProfile, "contractAddress" | "chain" | "updatedBy" | "updatedAt">>, clerkToken: string): Promise<ApiCollectionProfile>;
|
|
665
|
+
getCreatorProfile(walletAddress: string): Promise<ApiCreatorProfile | null>;
|
|
666
|
+
/**
|
|
667
|
+
* Update creator profile. Requires Clerk JWT; wallet must match authenticated user.
|
|
668
|
+
*/
|
|
669
|
+
updateCreatorProfile(walletAddress: string, data: Partial<Omit<ApiCreatorProfile, "walletAddress" | "chain" | "updatedAt">>, clerkToken: string): Promise<ApiCreatorProfile>;
|
|
550
670
|
}
|
|
551
671
|
|
|
552
672
|
declare class MedialaneClient {
|
|
@@ -989,4 +1109,4 @@ declare function buildFulfillmentTypedData(message: Record<string, unknown>, cha
|
|
|
989
1109
|
*/
|
|
990
1110
|
declare function buildCancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
|
|
991
1111
|
|
|
992
|
-
export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, ApiClient, type ApiCollection, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenMetadata, type ApiUsageDay, type ApiWebhookCreated, type ApiWebhookEndpoint, COLLECTION_CONTRACT_MAINNET, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreateWebhookParams, DEFAULT_RPC_URLS, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, IPMarketplaceABI, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, MARKETPLACE_CONTRACT_MAINNET, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MintParams, type Network, type OfferItem, type Order, type OrderParameters, type OrderStatus, type ResolvedConfig, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, formatAmount, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
|
|
1112
|
+
export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, type ApiCollectionsQuery, type ApiCreatorProfile, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenMetadata, type ApiUsageDay, type ApiWebhookCreated, type ApiWebhookEndpoint, COLLECTION_CONTRACT_MAINNET, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type CollectionSort, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreateWebhookParams, DEFAULT_RPC_URLS, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, IPMarketplaceABI, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, MARKETPLACE_CONTRACT_MAINNET, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MedialaneErrorCode, type MintParams, type Network, type OfferItem, type Order, type OrderParameters, type OrderStatus, type ResolvedConfig, type RetryOptions, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, formatAmount, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,12 @@ declare const SUPPORTED_NETWORKS: readonly ["mainnet", "sepolia"];
|
|
|
29
29
|
type Network = (typeof SUPPORTED_NETWORKS)[number];
|
|
30
30
|
declare const DEFAULT_RPC_URLS: Record<Network, string>;
|
|
31
31
|
|
|
32
|
+
interface RetryOptions {
|
|
33
|
+
maxAttempts?: number;
|
|
34
|
+
baseDelayMs?: number;
|
|
35
|
+
maxDelayMs?: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
declare const MedialaneConfigSchema: z.ZodObject<{
|
|
33
39
|
network: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia"]>>;
|
|
34
40
|
rpcUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -37,20 +43,43 @@ declare const MedialaneConfigSchema: z.ZodObject<{
|
|
|
37
43
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
38
44
|
marketplaceContract: z.ZodOptional<z.ZodString>;
|
|
39
45
|
collectionContract: z.ZodOptional<z.ZodString>;
|
|
46
|
+
retryOptions: z.ZodOptional<z.ZodObject<{
|
|
47
|
+
maxAttempts: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
baseDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
maxDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
maxAttempts?: number | undefined;
|
|
52
|
+
baseDelayMs?: number | undefined;
|
|
53
|
+
maxDelayMs?: number | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
maxAttempts?: number | undefined;
|
|
56
|
+
baseDelayMs?: number | undefined;
|
|
57
|
+
maxDelayMs?: number | undefined;
|
|
58
|
+
}>>;
|
|
40
59
|
}, "strip", z.ZodTypeAny, {
|
|
41
60
|
network: "mainnet" | "sepolia";
|
|
61
|
+
collectionContract?: string | undefined;
|
|
42
62
|
rpcUrl?: string | undefined;
|
|
43
63
|
backendUrl?: string | undefined;
|
|
44
64
|
apiKey?: string | undefined;
|
|
45
65
|
marketplaceContract?: string | undefined;
|
|
46
|
-
|
|
66
|
+
retryOptions?: {
|
|
67
|
+
maxAttempts?: number | undefined;
|
|
68
|
+
baseDelayMs?: number | undefined;
|
|
69
|
+
maxDelayMs?: number | undefined;
|
|
70
|
+
} | undefined;
|
|
47
71
|
}, {
|
|
72
|
+
collectionContract?: string | undefined;
|
|
48
73
|
network?: "mainnet" | "sepolia" | undefined;
|
|
49
74
|
rpcUrl?: string | undefined;
|
|
50
75
|
backendUrl?: string | undefined;
|
|
51
76
|
apiKey?: string | undefined;
|
|
52
77
|
marketplaceContract?: string | undefined;
|
|
53
|
-
|
|
78
|
+
retryOptions?: {
|
|
79
|
+
maxAttempts?: number | undefined;
|
|
80
|
+
baseDelayMs?: number | undefined;
|
|
81
|
+
maxDelayMs?: number | undefined;
|
|
82
|
+
} | undefined;
|
|
54
83
|
}>;
|
|
55
84
|
type MedialaneConfig = z.input<typeof MedialaneConfigSchema>;
|
|
56
85
|
interface ResolvedConfig {
|
|
@@ -60,6 +89,7 @@ interface ResolvedConfig {
|
|
|
60
89
|
apiKey: string | undefined;
|
|
61
90
|
marketplaceContract: string;
|
|
62
91
|
collectionContract: string;
|
|
92
|
+
retryOptions?: RetryOptions;
|
|
63
93
|
}
|
|
64
94
|
declare function resolveConfig(raw: MedialaneConfig): ResolvedConfig;
|
|
65
95
|
|
|
@@ -145,9 +175,12 @@ interface TxResult {
|
|
|
145
175
|
txHash: string;
|
|
146
176
|
}
|
|
147
177
|
|
|
178
|
+
type MedialaneErrorCode = "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "NETWORK_NOT_SUPPORTED" | "APPROVAL_FAILED" | "TRANSACTION_FAILED" | "INVALID_PARAMS" | "UNAUTHORIZED" | "UNKNOWN";
|
|
179
|
+
|
|
148
180
|
declare class MedialaneError extends Error {
|
|
181
|
+
readonly code: MedialaneErrorCode;
|
|
149
182
|
readonly cause?: unknown | undefined;
|
|
150
|
-
constructor(message: string, cause?: unknown | undefined);
|
|
183
|
+
constructor(message: string, code?: MedialaneErrorCode, cause?: unknown | undefined);
|
|
151
184
|
}
|
|
152
185
|
|
|
153
186
|
declare class MarketplaceModule {
|
|
@@ -165,6 +198,14 @@ declare class MarketplaceModule {
|
|
|
165
198
|
buildCancellationTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
|
|
166
199
|
}
|
|
167
200
|
|
|
201
|
+
type CollectionSort = "recent" | "supply" | "floor" | "volume" | "name";
|
|
202
|
+
interface ApiCollectionsQuery {
|
|
203
|
+
page?: number;
|
|
204
|
+
limit?: number;
|
|
205
|
+
isKnown?: boolean;
|
|
206
|
+
sort?: CollectionSort;
|
|
207
|
+
owner?: string;
|
|
208
|
+
}
|
|
168
209
|
type OrderStatus = "ACTIVE" | "FULFILLED" | "CANCELLED" | "EXPIRED";
|
|
169
210
|
type SortOrder = "price_asc" | "price_desc" | "recent";
|
|
170
211
|
type ActivityType = "transfer" | "sale" | "listing" | "offer" | "cancelled";
|
|
@@ -320,6 +361,9 @@ interface ApiCollection {
|
|
|
320
361
|
startBlock: string;
|
|
321
362
|
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
322
363
|
isKnown: boolean;
|
|
364
|
+
source: "MEDIALANE_REGISTRY" | "EXTERNAL" | "PARTNERSHIP" | "IP_TICKET" | "IP_CLUB" | "GAME";
|
|
365
|
+
claimedBy: string | null;
|
|
366
|
+
profile?: ApiCollectionProfile | null;
|
|
323
367
|
floorPrice: string | null;
|
|
324
368
|
totalVolume: string | null;
|
|
325
369
|
holderCount: number | null;
|
|
@@ -491,15 +535,61 @@ interface CreateWebhookParams {
|
|
|
491
535
|
events: WebhookEventType[];
|
|
492
536
|
label?: string;
|
|
493
537
|
}
|
|
538
|
+
interface ApiCollectionProfile {
|
|
539
|
+
contractAddress: string;
|
|
540
|
+
chain: string;
|
|
541
|
+
displayName: string | null;
|
|
542
|
+
description: string | null;
|
|
543
|
+
image: string | null;
|
|
544
|
+
bannerImage: string | null;
|
|
545
|
+
websiteUrl: string | null;
|
|
546
|
+
twitterUrl: string | null;
|
|
547
|
+
discordUrl: string | null;
|
|
548
|
+
telegramUrl: string | null;
|
|
549
|
+
updatedBy: string | null;
|
|
550
|
+
updatedAt: string;
|
|
551
|
+
}
|
|
552
|
+
interface ApiCreatorProfile {
|
|
553
|
+
walletAddress: string;
|
|
554
|
+
chain: string;
|
|
555
|
+
displayName: string | null;
|
|
556
|
+
bio: string | null;
|
|
557
|
+
avatarImage: string | null;
|
|
558
|
+
bannerImage: string | null;
|
|
559
|
+
websiteUrl: string | null;
|
|
560
|
+
twitterUrl: string | null;
|
|
561
|
+
discordUrl: string | null;
|
|
562
|
+
telegramUrl: string | null;
|
|
563
|
+
updatedAt: string;
|
|
564
|
+
}
|
|
565
|
+
interface ApiCollectionClaim {
|
|
566
|
+
id: string;
|
|
567
|
+
contractAddress: string;
|
|
568
|
+
chain: string;
|
|
569
|
+
claimantAddress: string | null;
|
|
570
|
+
status: "PENDING" | "AUTO_APPROVED" | "APPROVED" | "REJECTED";
|
|
571
|
+
verificationMethod: "ONCHAIN" | "SIGNATURE" | "MANUAL";
|
|
572
|
+
createdAt: string;
|
|
573
|
+
}
|
|
574
|
+
interface ApiAdminCollectionClaim extends ApiCollectionClaim {
|
|
575
|
+
claimantEmail: string | null;
|
|
576
|
+
notes: string | null;
|
|
577
|
+
adminNotes: string | null;
|
|
578
|
+
reviewedBy: string | null;
|
|
579
|
+
reviewedAt: string | null;
|
|
580
|
+
updatedAt: string;
|
|
581
|
+
}
|
|
494
582
|
|
|
495
583
|
declare class MedialaneApiError extends Error {
|
|
496
584
|
readonly status: number;
|
|
585
|
+
readonly code: MedialaneErrorCode;
|
|
497
586
|
constructor(status: number, message: string);
|
|
498
587
|
}
|
|
499
588
|
declare class ApiClient {
|
|
500
589
|
private readonly baseUrl;
|
|
501
590
|
private readonly baseHeaders;
|
|
502
|
-
|
|
591
|
+
private readonly retryOptions;
|
|
592
|
+
constructor(baseUrl: string, apiKey?: string, retryOptions?: RetryOptions);
|
|
503
593
|
private request;
|
|
504
594
|
private get;
|
|
505
595
|
private post;
|
|
@@ -512,7 +602,7 @@ declare class ApiClient {
|
|
|
512
602
|
getToken(contract: string, tokenId: string, wait?: boolean): Promise<ApiResponse<ApiToken>>;
|
|
513
603
|
getTokensByOwner(address: string, page?: number, limit?: number): Promise<ApiResponse<ApiToken[]>>;
|
|
514
604
|
getTokenHistory(contract: string, tokenId: string, page?: number, limit?: number): Promise<ApiResponse<ApiActivity[]>>;
|
|
515
|
-
getCollections(page?: number, limit?: number, isKnown?: boolean): Promise<ApiResponse<ApiCollection[]>>;
|
|
605
|
+
getCollections(page?: number, limit?: number, isKnown?: boolean, sort?: CollectionSort): Promise<ApiResponse<ApiCollection[]>>;
|
|
516
606
|
getCollectionsByOwner(owner: string, page?: number, limit?: number): Promise<ApiResponse<ApiCollection[]>>;
|
|
517
607
|
getCollection(contract: string): Promise<ApiResponse<ApiCollection>>;
|
|
518
608
|
getCollectionTokens(contract: string, page?: number, limit?: number): Promise<ApiResponse<ApiToken[]>>;
|
|
@@ -547,6 +637,36 @@ declare class ApiClient {
|
|
|
547
637
|
id: string;
|
|
548
638
|
status: string;
|
|
549
639
|
}>>;
|
|
640
|
+
/**
|
|
641
|
+
* Path 1: On-chain auto claim. Sends both x-api-key (tenant auth) and
|
|
642
|
+
* Authorization: Bearer (Clerk JWT) simultaneously.
|
|
643
|
+
*/
|
|
644
|
+
claimCollection(contractAddress: string, walletAddress: string, clerkToken: string): Promise<{
|
|
645
|
+
verified: boolean;
|
|
646
|
+
collection?: ApiCollection;
|
|
647
|
+
reason?: string;
|
|
648
|
+
}>;
|
|
649
|
+
/**
|
|
650
|
+
* Path 3: Manual off-chain claim request (email-based).
|
|
651
|
+
*/
|
|
652
|
+
requestCollectionClaim(params: {
|
|
653
|
+
contractAddress: string;
|
|
654
|
+
walletAddress?: string;
|
|
655
|
+
email: string;
|
|
656
|
+
notes?: string;
|
|
657
|
+
}): Promise<{
|
|
658
|
+
claim: ApiCollectionClaim;
|
|
659
|
+
}>;
|
|
660
|
+
getCollectionProfile(contractAddress: string): Promise<ApiCollectionProfile | null>;
|
|
661
|
+
/**
|
|
662
|
+
* Update collection profile. Requires Clerk JWT for ownership check.
|
|
663
|
+
*/
|
|
664
|
+
updateCollectionProfile(contractAddress: string, data: Partial<Omit<ApiCollectionProfile, "contractAddress" | "chain" | "updatedBy" | "updatedAt">>, clerkToken: string): Promise<ApiCollectionProfile>;
|
|
665
|
+
getCreatorProfile(walletAddress: string): Promise<ApiCreatorProfile | null>;
|
|
666
|
+
/**
|
|
667
|
+
* Update creator profile. Requires Clerk JWT; wallet must match authenticated user.
|
|
668
|
+
*/
|
|
669
|
+
updateCreatorProfile(walletAddress: string, data: Partial<Omit<ApiCreatorProfile, "walletAddress" | "chain" | "updatedAt">>, clerkToken: string): Promise<ApiCreatorProfile>;
|
|
550
670
|
}
|
|
551
671
|
|
|
552
672
|
declare class MedialaneClient {
|
|
@@ -989,4 +1109,4 @@ declare function buildFulfillmentTypedData(message: Record<string, unknown>, cha
|
|
|
989
1109
|
*/
|
|
990
1110
|
declare function buildCancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
|
|
991
1111
|
|
|
992
|
-
export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, ApiClient, type ApiCollection, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenMetadata, type ApiUsageDay, type ApiWebhookCreated, type ApiWebhookEndpoint, COLLECTION_CONTRACT_MAINNET, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreateWebhookParams, DEFAULT_RPC_URLS, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, IPMarketplaceABI, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, MARKETPLACE_CONTRACT_MAINNET, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MintParams, type Network, type OfferItem, type Order, type OrderParameters, type OrderStatus, type ResolvedConfig, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, formatAmount, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
|
|
1112
|
+
export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, type ApiCollectionsQuery, type ApiCreatorProfile, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenMetadata, type ApiUsageDay, type ApiWebhookCreated, type ApiWebhookEndpoint, COLLECTION_CONTRACT_MAINNET, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type CollectionSort, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreateWebhookParams, DEFAULT_RPC_URLS, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, IPMarketplaceABI, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, MARKETPLACE_CONTRACT_MAINNET, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MedialaneErrorCode, type MintParams, type Network, type OfferItem, type Order, type OrderParameters, type OrderStatus, type ResolvedConfig, type RetryOptions, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, formatAmount, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
|