@medialane/sdk 0.199.0 → 0.200.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.
- package/README.md +5 -6
- package/dist/contract/index.d.cts +2 -2
- package/dist/contract/index.d.ts +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js.map +1 -1
- package/dist/{passkey-errors-Bu6I_5rn.d.ts → passkey-errors-B0HGcjPc.d.ts} +5 -65
- package/dist/{passkey-errors-D0XNQ3_g.d.cts → passkey-errors-yndCFeHv.d.cts} +5 -65
- package/dist/{responses-BLpM_cH_.d.cts → responses-D3nBY71f.d.cts} +1 -1
- package/dist/{responses-BLpM_cH_.d.ts → responses-D3nBY71f.d.ts} +1 -1
- package/dist/{services-C9CkOsYi.d.cts → services-B15RJBSW.d.cts} +3 -3
- package/dist/{services-CI62hzNf.d.ts → services-BAnTJhwt.d.ts} +3 -3
- package/dist/starknet/index.d.cts +5 -5
- package/dist/starknet/index.d.ts +5 -5
- package/dist/wallet/index.d.cts +3 -3
- package/dist/wallet/index.d.ts +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -264,7 +264,7 @@ const metaResult = await client.api.metadata.upload({
|
|
|
264
264
|
```typescript
|
|
265
265
|
import type { IpAttribute, IpNftMetadata, ApiTokenMetadata } from "@medialane/sdk";
|
|
266
266
|
|
|
267
|
-
// Single OpenSea
|
|
267
|
+
// Single OpenSea attribute (the value is a string, number or boolean)
|
|
268
268
|
const attr: IpAttribute = { trait_type: "License", value: "CC BY-NC-SA" };
|
|
269
269
|
|
|
270
270
|
// Full IPFS metadata shape for a Medialane IP NFT
|
|
@@ -287,12 +287,11 @@ const metadata: IpNftMetadata = {
|
|
|
287
287
|
],
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
// Token from the API:
|
|
290
|
+
// Token from the API: the indexed fields, and every attribute as the creator set it
|
|
291
291
|
const token = await client.api.tokens.get(contract, tokenId);
|
|
292
|
-
token.metadata.licenseType; // "CC BY-NC-SA"
|
|
293
|
-
token.metadata.commercialUse; //
|
|
294
|
-
token.metadata.
|
|
295
|
-
token.metadata.attributes; // IpAttribute[] | null
|
|
292
|
+
token.metadata.licenseType; // "CC BY-NC-SA" | null
|
|
293
|
+
token.metadata.commercialUse; // boolean | null
|
|
294
|
+
token.metadata.attributes; // IpAttribute[] | null, the rest of the license terms are here
|
|
296
295
|
```
|
|
297
296
|
|
|
298
297
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { N as COLLECTION_SERVICE_IDS, O as FACTORY_FAMILY_SERVICE_IDS, Q as INTENT_KINDS, R as IntentKind, T as TIER_SERVICE_IDS, g as cancelSchema, L as checkoutBodySchema, k as commentSchema, S as confirmSchema, K as counterOfferSchema, B as createCoinSchema, z as createCollectionSchema, A as createTierSchema, r as dropClaimSchema, x as dropManageSchema, f as fulfillSchema, v as fundingTransferSchema, n as genesisMintSchema, U as intentPath, C as launchCoinSchema, l as listingSchema, m as mintSchema, e as offerSchema, q as popBurnSchema, p as popClaimSchema, y as popManageSchema, V as signatureSchema, s as sponsorshipBidAcceptSchema, G as sponsorshipBidRetractSchema, F as sponsorshipBidSchema, E as sponsorshipOfferOpenSchema, D as sponsorshipOfferSchema, a as sponsorshipProposalAcceptSchema, J as sponsorshipProposalRejectSchema, H as sponsorshipProposalSchema, I as sponsorshipProposalWithdrawSchema, u as swapIntentSchema, j as transferCollectionOwnershipSchema, i as transferNftSchema, h as transferTokenSchema, w as walletManageSchema } from '../responses-D3nBY71f.cjs';
|
|
3
|
+
export { W as DEFAULT_BATCH_SIZE, X as MAX_RECIPIENTS, d as collectionProfileSchema, c as collectionSchema, Y as creatorProfileSchema, M as emissionSchema, b as orderSchema, o as ordersListQuery, P as tokenAttributeSchema, t as tokenSchema, Z as urlField } from '../responses-D3nBY71f.cjs';
|
|
4
4
|
export { p as provisioningRegisterSchema } from '../provisioning-CwRkCN8D.cjs';
|
|
5
5
|
|
|
6
6
|
declare const address: z.ZodString;
|
package/dist/contract/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { N as COLLECTION_SERVICE_IDS, O as FACTORY_FAMILY_SERVICE_IDS, Q as INTENT_KINDS, R as IntentKind, T as TIER_SERVICE_IDS, g as cancelSchema, L as checkoutBodySchema, k as commentSchema, S as confirmSchema, K as counterOfferSchema, B as createCoinSchema, z as createCollectionSchema, A as createTierSchema, r as dropClaimSchema, x as dropManageSchema, f as fulfillSchema, v as fundingTransferSchema, n as genesisMintSchema, U as intentPath, C as launchCoinSchema, l as listingSchema, m as mintSchema, e as offerSchema, q as popBurnSchema, p as popClaimSchema, y as popManageSchema, V as signatureSchema, s as sponsorshipBidAcceptSchema, G as sponsorshipBidRetractSchema, F as sponsorshipBidSchema, E as sponsorshipOfferOpenSchema, D as sponsorshipOfferSchema, a as sponsorshipProposalAcceptSchema, J as sponsorshipProposalRejectSchema, H as sponsorshipProposalSchema, I as sponsorshipProposalWithdrawSchema, u as swapIntentSchema, j as transferCollectionOwnershipSchema, i as transferNftSchema, h as transferTokenSchema, w as walletManageSchema } from '../responses-D3nBY71f.js';
|
|
3
|
+
export { W as DEFAULT_BATCH_SIZE, X as MAX_RECIPIENTS, d as collectionProfileSchema, c as collectionSchema, Y as creatorProfileSchema, M as emissionSchema, b as orderSchema, o as ordersListQuery, P as tokenAttributeSchema, t as tokenSchema, Z as urlField } from '../responses-D3nBY71f.js';
|
|
4
4
|
export { p as provisioningRegisterSchema } from '../provisioning-CwRkCN8D.js';
|
|
5
5
|
|
|
6
6
|
declare const address: z.ZodString;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/launchpad-runs.ts","../src/types/api.ts","../src/metadata.ts","../src/remix-policy.ts","../src/uploads.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { FetchLike } from \"../utils/fetch.js\";\nexport type RunStatus = \"DRAFT\" | \"PAID\" | \"RUNNING\" | \"COMPLETED\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface RunQuoteLine {\n action: string;\n units: number;\n unitCredits: number;\n credits: number;\n}\n\nexport interface RunQuote {\n lines: RunQuoteLine[];\n total: number;\n}\n\nexport type NextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"metadata\"; items: number[] }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type TicketingNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"ticket-metadata\" }\n | { kind: \"tier\" }\n | { kind: \"wait-tier\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type CertificateEmissionNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"certificate-metadata\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport interface WalletRequest {\n recipient: string;\n}\n\ninterface LaunchpadRunBase {\n id: string;\n status: RunStatus;\n spec: unknown;\n quote: RunQuote | null;\n creditsHeld: number;\n creditsSpent: number;\n progress: unknown;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type DataTokenizationRun = LaunchpadRunBase & { service: \"data-tokenization-erc721\"; next?: NextStep };\nexport type TicketingRun = LaunchpadRunBase & { service: \"ip-ticketing\"; next?: TicketingNextStep };\nexport type CertificateEmissionRun = LaunchpadRunBase & { service: \"certificate-emission\"; next?: CertificateEmissionNextStep };\nexport type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;\n\nexport const isDataTokenizationRun = (run: LaunchpadRun): run is DataTokenizationRun =>\n run.service === \"data-tokenization-erc721\";\n\nexport const isTicketingRun = (run: LaunchpadRun): run is TicketingRun => run.service === \"ip-ticketing\";\n\nexport const isCertificateEmissionRun = (run: LaunchpadRun): run is CertificateEmissionRun =>\n run.service === \"certificate-emission\";\n\nexport interface ConfirmResult {\n pending: boolean;\n status: string;\n completed?: boolean;\n}\n\nexport class RunRequestError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly body: Record<string, unknown>,\n ) {\n super(message);\n }\n}\n\nexport interface LaunchpadRunsClientOptions {\n baseUrl: string;\n fetchImpl?: FetchLike;\n}\n\nexport function createLaunchpadRunsClient({ baseUrl, fetchImpl = fetch }: LaunchpadRunsClientOptions) {\n const runsUrl = `${baseUrl.replace(/\\/$/, \"\")}/v1/portal/runs`;\n const runBase = (id: string): string => `${runsUrl}/${id}`;\n const runBatchBase = (id: string, index: number): string => `${runBase(id)}/batches/${index}`;\n const runCollectionBase = (id: string): string => `${runBase(id)}/collection`;\n const runTierBase = (id: string): string => `${runBase(id)}/tier`;\n\n const runFetch: FetchLike = (input, init) => fetchImpl(input, { ...init, cache: \"no-store\" });\n\n async function call<T>(url: string, init?: RequestInit): Promise<{ status: number; data: T }> {\n const res = await runFetch(url, {\n ...init,\n headers: { \"content-type\": \"application/json\", ...(init?.headers as Record<string, string> | undefined) },\n });\n const body = (await res.json().catch(() => ({}))) as Record<string, unknown>;\n if (!res.ok) {\n throw new RunRequestError(String(body.error ?? \"Something went wrong with this run\"), res.status, body);\n }\n return { status: res.status, data: body.data as T };\n }\n\n const post = <T>(url: string, body?: unknown) =>\n call<T>(url, { method: \"POST\", body: body === undefined ? undefined : JSON.stringify(body) });\n\n const confirm = async (url: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(url);\n return { pending: status === 202, status: data.status, completed: data.completed };\n };\n\n const ticketing = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/wallets/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/wallets`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmTier: (id: string) => confirm(`${runTierBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n const certificateEmission = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/certificate-metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/recipients/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/recipients`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n return {\n fetch: runFetch,\n runBase,\n runBatchBase,\n runCollectionBase,\n runTierBase,\n ticketing,\n certificateEmission,\n\n list: async () => (await call<LaunchpadRun[]>(runsUrl)).data,\n\n get: async (id: string) => (await call<LaunchpadRun>(`${runBase(id)}`)).data,\n\n create: async (service: string, spec: unknown) =>\n (await post<LaunchpadRun>(runsUrl, { service, spec })).data,\n\n update: async (id: string, spec: unknown) =>\n (await call<LaunchpadRun>(`${runBase(id)}`, { method: \"PATCH\", body: JSON.stringify({ spec }) })).data,\n\n cancel: async (id: string) => (await post<LaunchpadRun>(`${runBase(id)}/cancel`)).data,\n\n checkoutWithCredits: async (id: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"credits\" })).data,\n\n checkoutFromWallet: async (id: string, intentId: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"wallet\", intentId })).data,\n\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n itemMetadata: async (id: string, index: number, userAddress: string) =>\n (await post<{ index: number; tokenUri: string }>(`${runBase(id)}/items/${index}/metadata`, { userAddress })).data,\n\n resolveGuests: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/guests/resolve`)).data.pending,\n\n registerGuest: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/guests`, request)).data,\n\n confirmBatch: async (id: string, index: number): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(\n `${runBase(id)}/batches/${index}/confirm`,\n );\n return { pending: status === 202, status: data.status, completed: data.completed };\n },\n\n confirmCollection: async (id: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string }>(`${runBase(id)}/collection/confirm`);\n return { pending: status === 202, status: data.status };\n },\n };\n}\n\nexport type LaunchpadRunsClient = ReturnType<typeof createLaunchpadRunsClient>;\n","import type { z } from \"zod\";\nimport type * as intents from \"../contract/intents.js\";\nimport type * as issuance from \"../contract/issuance.js\";\nimport type * as orders from \"../contract/orders.js\";\nimport type * as profiles from \"../contract/profiles.js\";\nimport type * as responses from \"../contract/responses.js\";\n\nexport type IPType =\n | \"Audio\"\n | \"Art\"\n | \"Documents\"\n | \"NFT\"\n | \"Video\"\n | \"Photography\"\n | \"Patents\"\n | \"Posts\"\n | \"Publications\"\n | \"RWA\"\n | \"Software\"\n | \"Custom\";\n\nexport type CollectionSort = \"recent\" | \"supply\" | \"floor\" | \"volume\" | \"name\";\n\nexport type CollectionTokensSort = \"recent\" | \"oldest\" | \"name\" | \"price\";\n\nexport type ServiceCapability =\n | \"list\" | \"buy\" | \"make_offer\" | \"cancel\"\n | \"transfer\" | \"burn\"\n | \"mint\" | \"claim\" | \"airdrop\"\n | \"remix\" | \"license\"\n | \"subscribe\" | \"redeem\"\n | \"launch\" | \"swap\"\n | \"sponsor\";\n\nexport interface EnforcementDeclaration {\n royalty?: \"erc2981\" | \"service-split\" | \"none\";\n escrow?: boolean;\n timeLock?: boolean;\n revocable?: boolean;\n}\n\nexport interface ServiceEventDeclaration {\n\n name: string;\n\n emittedBy: \"factory\" | \"instance\";\n\n poll?: \"fast\" | \"slow\";\n}\n\nexport interface ServiceDefinition {\n\n id: string;\n displayName: string;\n description: string;\n standard: \"ERC721\" | \"ERC1155\" | \"ERC20\" | \"UNKNOWN\";\n provenance: \"MEDIALANE\" | \"EXTERNAL\";\n onchain?: Partial<Record<import(\"../chains.js\").Chain, {\n factoryAddress?: string;\n classHash?: string;\n startBlock?: number;\n }>>;\n\n uiVariant: string;\n capabilities: ServiceCapability[];\n\n events?: ServiceEventDeclaration[];\n metadataSchema?: {\n requiredTraits?: string[];\n\n licenseDefault?: string;\n enforcement?: EnforcementDeclaration;\n };\n}\n\nexport interface ApiCollectionsQuery {\n page?: number;\n limit?: number;\n isKnown?: boolean;\n sort?: CollectionSort;\n owner?: string;\n\n service?: string;\n}\n\nexport type OrderStatus = \"ACTIVE\" | \"FULFILLED\" | \"CANCELLED\" | \"EXPIRED\";\nexport type SortOrder = \"price_asc\" | \"price_desc\" | \"recent\";\nexport type ActivityType = \"mint\" | \"transfer\" | \"sale\" | \"listing\" | \"offer\" | \"cancelled\";\nexport type IntentType = \"CREATE_LISTING\" | \"MAKE_OFFER\" | \"FULFILL_ORDER\" | \"CANCEL_ORDER\" | \"MINT\" | \"CREATE_COLLECTION\" | \"COUNTER_OFFER\";\nexport type IntentStatus = \"PENDING\" | \"SIGNED\" | \"SUBMITTED\" | \"CONFIRMED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiMeta {\n page: number;\n limit: number;\n total?: number;\n\n counts?: Record<string, number>;\n}\n\nexport interface ApiResponse<T> {\n data: T;\n meta?: ApiMeta;\n}\n\nexport type ChainFilter = import(\"../chains.js\").Chain | \"all\";\n\nexport type ApiOrdersQuery = z.input<typeof orders.ordersListQuery> & { chain?: ChainFilter };\n\nexport interface ApiOrderOffer {\n itemType: string;\n token: string;\n identifier: string;\n startAmount: string;\n endAmount: string;\n}\n\nexport interface ApiOrderConsideration extends ApiOrderOffer {\n recipient: string;\n}\n\nexport interface ApiOrderPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n decimals: number;\n}\n\nexport interface ApiOrderTxHash {\n created: string | null;\n fulfilled: string | null;\n cancelled: string | null;\n}\n\nexport interface ApiOrderTokenMeta {\n name: string | null;\n image: string | null;\n description: string | null;\n animationUrl: string | null;\n}\n\nexport type ApiOrder = z.output<typeof responses.orderSchema>;\n\nexport interface IpAttribute {\n trait_type: string;\n value: string;\n}\n\nexport interface IpNftMetadata {\n name: string;\n description?: string;\n image?: string | null;\n external_url?: string;\n attributes?: IpAttribute[];\n\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n territory?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n registration?: string | null;\n}\n\nexport interface ApiTokenMetadata {\n name: string | null;\n description: string | null;\n image: string | null;\n\n animationUrl: string | null;\n\n attributes: IpAttribute[] | null;\n\n ipType: string | null;\n licenseType: string | null;\n commercialUse: string | null;\n derivatives: string | null;\n attribution: string | null;\n territory: string | null;\n aiPolicy: string | null;\n royalty: string | null;\n registration: string | null;\n author: string | null;\n}\n\nexport interface ApiTokenBalance {\n owner: string;\n\n amount: string;\n}\n\nexport interface ApiToken {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n\n owner: string | null;\n tokenUri: string | null;\n metadataStatus: \"PENDING\" | \"FETCHING\" | \"FETCHED\" | \"FAILED\";\n\n standard: \"ERC721\" | \"ERC1155\" | \"UNKNOWN\";\n metadata: ApiTokenMetadata;\n\n balances: ApiTokenBalance[] | null;\n holderCount?: number;\n supply?: string;\n activeOrders: ApiOrder[];\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCollection {\n id: string;\n chain: string;\n contractAddress: string;\n collectionId: string | null;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n owner: string | null;\n startBlock: string;\n metadataStatus: \"PENDING\" | \"FETCHING\" | \"FETCHED\" | \"FAILED\";\n\n standard: \"ERC721\" | \"ERC1155\";\n isKnown: boolean;\n\n isHidden: boolean;\n\n isFeatured: boolean;\n\n service: string | null;\n claimedBy: string | null;\n profile?: ApiCollectionProfile | null;\n floorPrice: string | null;\n totalVolume: string | null;\n holderCount: number | null;\n totalSupply: number | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoin {\n id: string;\n chain: string;\n contractAddress: string;\n standard: \"ERC20\";\n\n service: string;\n name: string | null;\n symbol: string | null;\n decimals: number;\n\n totalSupply: string | null;\n description: string | null;\n image: string | null;\n creator: string | null;\n\n isLaunched?: boolean | null;\n startBlock: string;\n isHidden: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoinPrice {\n\n usdc: number;\n}\n\nexport type ApiCoinPrices = Record<string, ApiCoinPrice | null>;\n\nexport type ApiCoinClaimResult =\n | { verified: true; coin: ApiCoin | null }\n | { verified: false; reason: \"owner_mismatch\" | \"owner_check_failed\" | \"not_erc20\" | \"no_total_supply\" };\n\nexport interface ApiCoinsQuery {\n chain?: ChainFilter;\n page?: number;\n limit?: number;\n service?: string;\n sort?: string;\n creator?: string;\n}\n\nexport interface ApiActivityPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n}\n\nexport interface ApiActivity {\n type: ActivityType;\n chain: import(\"../chains.js\").Chain;\n\n contractAddress?: string;\n tokenId?: string;\n from?: string;\n to?: string;\n blockNumber?: string;\n\n amount?: string;\n\n orderHash?: string;\n nftContract?: string;\n nftTokenId?: string;\n offerer?: string;\n fulfiller?: string | null;\n price?: ApiActivityPrice;\n\n tokenStandard?: \"ERC721\" | \"ERC1155\";\n txHash: string | null;\n timestamp: string;\n\n token?: { name: string | null; image: string | null; animationUrl: string | null } | null;\n}\n\nexport interface ApiActivitiesQuery {\n chain?: ChainFilter;\n type?: ActivityType;\n\n contract?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiComment {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n content: string;\n txHash: string | null;\n blockNumber: string;\n postedAt: string;\n}\n\nexport interface ApiSearchTokenResult {\n contractAddress: string;\n tokenId: string;\n name: string | null;\n image: string | null;\n owner: string;\n metadataStatus: string;\n}\n\nexport interface ApiSearchCollectionResult {\n contractAddress: string;\n name: string | null;\n image: string | null;\n totalSupply: number | null;\n floorPrice: string | null;\n holderCount: number | null;\n}\n\nexport interface ApiSearchCreatorResult {\n walletAddress: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n}\n\nexport interface ApiSearchResult {\n tokens: ApiSearchTokenResult[];\n collections: ApiSearchCollectionResult[];\n creators: ApiSearchCreatorResult[];\n}\n\nexport interface ApiIntent {\n id: string;\n chain: string;\n type: IntentType;\n status: IntentStatus;\n requester: string;\n typedData: unknown;\n calls: unknown;\n signature: string[];\n txHash: string | null;\n orderHash: string | null;\n\n parentOrderHash?: string | null;\n\n counterOfferMessage?: string | null;\n expiresAt: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface IntentCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport type ApiIntentCreated =\n | { id: string; expiresAt: string; requiresSignature: true; typedData: unknown }\n | { id: string; expiresAt: string; requiresSignature: false; calls: IntentCall[] };\n\nexport interface ApiTxSyncResult {\n applied: number;\n contracts?: string[];\n pending: boolean;\n}\n\nexport type CreateListingIntentParams = z.input<typeof intents.listingSchema>;\n\nexport type MakeOfferIntentParams = z.input<typeof intents.offerSchema>;\n\nexport type FulfillOrderIntentParams = z.input<typeof intents.fulfillSchema>;\n\nexport type CancelOrderIntentParams = z.input<typeof intents.cancelSchema>;\n\nexport type FactoryFamilyServiceId = (typeof intents.FACTORY_FAMILY_SERVICE_IDS)[number];\n\nexport type TierServiceId = (typeof intents.TIER_SERVICE_IDS)[number];\n\nexport type CollectionServiceId = (typeof intents.COLLECTION_SERVICE_IDS)[number];\n\nexport type CreateMintIntentParams = z.input<typeof intents.mintSchema>;\n\n/** Drop sale terms on the wire: amounts as decimal strings in the token's smallest unit. */\nexport interface DropTermsBody {\n /** Unix seconds; 0 = open from creation. */\n startTime: number;\n /** Unix seconds; 0 = never closes. */\n endTime: number;\n /** Per token; \"0\" = free. */\n price: string;\n paymentToken: string;\n /** \"0\" = unlimited. */\n maxPerWallet: string;\n}\n\nexport type ApiDropListStatus = \"live\" | \"upcoming\" | \"ended\";\n\nexport interface ApiDrop {\n contractAddress: string;\n dropId: string;\n organizer: string;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n /** Token URI = baseUri + token id. */\n baseUri: string | null;\n /** \"0\" = no cap. */\n maxSupply: string;\n minted: string;\n /** Total paid to the organizer, in the payment token's smallest unit. */\n revenue: string;\n collectors: number;\n terms: DropTermsBody;\n /** \"0x0\" = open to everyone. */\n allowlistRoot: string;\n createdBlock: string;\n}\n\nexport interface ApiDropFee {\n /** Platform fee added to a mint, in basis points; 0 when none applies. */\n launchpadBps: number;\n}\n\nexport interface ApiDropMint {\n kind: \"claim\" | \"issue\";\n wallet: string;\n quantity: string;\n firstTokenId: string;\n totalPaid: string;\n txHash: string;\n blockNumber: string;\n createdAt: string;\n}\n\nexport type CreateCollectionIntentParams = z.input<typeof intents.createCollectionSchema>;\n\nexport interface CheckoutIntentItem {\n orderHash: string;\n\n quantity?: string;\n}\n\nexport type CreateCheckoutIntentParams = z.input<typeof intents.checkoutBodySchema>;\n\nexport interface ApiCheckoutIntentResult {\n id?: string;\n orderHash: string;\n requiresSignature?: false;\n calls?: unknown;\n expiresAt?: string;\n\n error?: string;\n}\n\nexport type CreateTierIntentParams = z.output<typeof intents.createTierSchema>;\n\nexport type EmissionParams = z.input<typeof issuance.emissionSchema>;\n\nexport interface ApiEmissionCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport interface ApiEmissionResult {\n service: string;\n recipientCount: number;\n callCount: number;\n batches: ApiEmissionCall[][];\n}\n\nexport type CreateCoinIntentParams = z.input<typeof intents.createCoinSchema>;\n\nexport type LaunchCoinIntentParams = z.output<typeof intents.launchCoinSchema>;\n\nexport type CreateSponsorshipOfferIntentParams = z.output<typeof intents.sponsorshipOfferSchema>;\n\nexport type SetSponsorshipOfferOpenIntentParams = z.input<typeof intents.sponsorshipOfferOpenSchema>;\n\nexport type PlaceSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidSchema>;\n\nexport type RetractSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidRetractSchema>;\n\nexport type AcceptSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidAcceptSchema>;\n\nexport type CreateSponsorshipProposalIntentParams = z.output<typeof intents.sponsorshipProposalSchema>;\n\nexport type WithdrawSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalWithdrawSchema>;\n\nexport type AcceptSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalAcceptSchema>;\n\nexport type RejectSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalRejectSchema>;\n\nexport type CreateCounterOfferIntentParams = z.input<typeof intents.counterOfferSchema>;\n\nexport interface ApiCounterOffersQuery {\n\n originalOrderHash?: string;\n\n sellerAddress?: string;\n page?: number;\n limit?: number;\n}\n\nexport const OPEN_LICENSES = [\"CC0\", \"CC BY\", \"CC BY-SA\", \"CC BY-NC\"] as const;\nexport type OpenLicense = (typeof OPEN_LICENSES)[number];\n\nexport type RemixOfferStatus =\n | \"PENDING\"\n | \"AUTO_PENDING\"\n | \"APPROVED\"\n | \"COMPLETED\"\n | \"REJECTED\"\n | \"EXPIRED\"\n | \"SELF_MINTED\";\n\nexport interface ApiRemixOfferPrice {\n raw: string;\n formatted: string;\n currency: string;\n decimals: number;\n}\n\nexport interface ApiRemixOffer {\n id: string;\n status: RemixOfferStatus;\n originalContract: string;\n originalTokenId: string;\n creatorAddress: string;\n requesterAddress: string | null;\n message?: string | null;\n\n price?: ApiRemixOfferPrice;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct: number | null;\n approvedCollection: string | null;\n remixContract: string | null;\n remixTokenId: string | null;\n orderHash: string | null;\n createdAt: string;\n expiresAt: string;\n updatedAt: string;\n}\n\nexport interface ApiPublicRemix {\n id: string;\n remixContract: string | null;\n remixTokenId: string | null;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n createdAt: string;\n}\n\nexport interface CreateRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n proposedPrice?: string;\n proposedCurrency?: string;\n message?: string;\n\n expiresInDays?: number;\n}\n\nexport interface AutoRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n}\n\nexport interface ConfirmSelfRemixParams {\n originalContract: string;\n originalTokenId: string;\n remixContract: string;\n remixTokenId: string;\n\n txHash?: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n}\n\nexport interface ConfirmRemixOfferParams {\n approvedCollection: string;\n remixContract: string;\n remixTokenId: string;\n orderHash?: string;\n}\n\nexport interface ApiRemixOffersQuery {\n\n role: \"creator\" | \"requester\";\n status?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiMetadataSignedUrl {\n url: string;\n}\n\nexport interface ApiMetadataUpload {\n cid: string;\n url: string;\n}\n\nexport interface ApiPortalMe {\n id: string;\n accountId: string;\n status: string;\n creditBalance: number;\n}\n\nexport interface ApiPortalKey {\n id: string;\n prefix: string;\n label: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n}\n\nexport interface ApiPortalKeyCreated {\n id: string;\n prefix: string;\n label: string | null;\n\n plaintext: string;\n}\n\nexport interface ApiCreditPayment {\n id: string;\n asset: string;\n amountAtomic: string;\n creditedAmount: number;\n mdlnMultiplier: number;\n txHash: string;\n status: string;\n createdAt: string;\n}\n\nexport interface ApiFundingMethod {\n id: string;\n [detail: string]: unknown;\n}\n\nexport type ApiFundingStatus = \"PENDING\" | \"SETTLED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiFundingIntent {\n id: string;\n method: string;\n status: ApiFundingStatus;\n expiresAt: string;\n payer?: string | null;\n}\n\nexport interface ApiFundingInstructions {\n chain: string;\n payTo: string;\n asset: string;\n amountAtomic: string;\n}\n\nexport type ApiFundingSubmit =\n | { status: \"SETTLED\"; credited?: number }\n | { status: \"PENDING\"; reason: string };\n\nexport interface ApiSpendByAction {\n actionKey: string;\n credits: number;\n units: number;\n}\n\nexport interface ApiPortalSpend {\n recent: Array<{ actionKey: string; credits: number; createdAt: string }>;\n byAction: ApiSpendByAction[];\n spent: number;\n credited: number;\n drift: number;\n}\n\nexport interface ApiCollectionProfile {\n contractAddress: string;\n chain: string;\n displayName: string | null;\n description: string | null;\n image: string | null;\n bannerImage: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n hasGatedContent: boolean;\n gatedContentTitle: string | null;\n slug: string | null;\n updatedBy: string | null;\n updatedAt: string;\n}\n\nexport type UpdateCollectionProfileInput = z.output<typeof profiles.collectionProfileSchema>;\n\nexport interface ApiCollectionSlugClaim {\n id: string;\n slug: string;\n contractAddress: string;\n chain: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n notifyEmail: string | null;\n reviewedAt: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCreatorProfile {\n walletAddress: string;\n chain: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n\n collectionImage?: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n updatedAt: string;\n}\n\nexport interface ApiCreatorListResult {\n creators: ApiCreatorProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\nexport type ApiChain = \"STARKNET\" | \"ETHEREUM\" | \"SOLANA\" | \"BASE\" | \"BITCOIN\";\n\nexport interface ApiSession {\n accountId: string;\n publicId: string;\n walletAddress: string | null;\n email: string | null;\n emailDeadline: string | null;\n}\n\nexport interface ApiUserWallet {\n walletAddress: string;\n email?: string | null;\n emailDeadline?: string | null;\n}\n\nexport interface ApiCollectionClaim {\n id: string;\n contractAddress: string;\n chain: string;\n claimantAddress: string | null;\n status: \"PENDING\" | \"AUTO_APPROVED\" | \"APPROVED\" | \"REJECTED\";\n verificationMethod: \"ONCHAIN\" | \"SIGNATURE\" | \"MANUAL\";\n createdAt: string;\n}\n\nexport interface ApiAdminCollectionClaim extends ApiCollectionClaim {\n claimantEmail: string | null;\n notes: string | null;\n adminNotes: string | null;\n reviewedBy: string | null;\n reviewedAt: string | null;\n updatedAt: string;\n}\n\nexport interface ApiBusinessProvisioning {\n chain: string;\n walletAddress: string;\n}\n\nexport interface ApiWalletActivity {\n id: string;\n chain: string;\n accountAddress: string;\n type: \"SEND\" | \"RECEIVE\" | \"SWAP\" | \"DEPLOY\" | \"GUARDIAN_SET\" | \"GUARDIAN_TRIGGER_ESCAPE\" | \"GUARDIAN_COMPLETE_ESCAPE\" | \"GUARDIAN_CANCEL_ESCAPE\";\n txHash: string;\n blockNumber: string;\n timestamp: string;\n tokenAddress: string | null;\n amount: string | null;\n counterparty: string | null;\n tokenInAddress: string | null;\n amountIn: string | null;\n tokenOutAddress: string | null;\n amountOut: string | null;\n}\n\nexport interface ApiRewardsBadge {\n key: string;\n name: string;\n description: string;\n icon: string;\n color: string;\n category: string;\n}\n\nexport interface ApiRewardsLevel {\n level: number;\n name: string;\n xpRequired: number;\n badgeColor: string;\n description: string | null;\n}\n\nexport interface ApiUserRewards {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n nextLevel: { level: number; name: string; xpRequired: number } | null;\n progressPct: number;\n breakdown: Record<string, number>;\n badges: ApiRewardsBadge[];\n computedAt: string | null;\n}\n\nexport interface ApiRewardsLeaderboardEntry {\n rank: number;\n address: string;\n accountId: string | null;\n publicId: string | null;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiRewardsConfig {\n levels: ApiRewardsLevel[];\n actions: { type: string; label: string; xp: number; dailyCap: number | null }[];\n badges: ApiRewardsBadge[];\n}\n\nexport interface ApiRewardsBatchEntry {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiPointEvent {\n id: string;\n actionType: string;\n xp: number;\n multiplier: number;\n finalXp: number;\n txHash: string | null;\n createdAt: string;\n}\n\nexport interface ApiPlatformStats {\n collections: number;\n tokens: number;\n sales: number;\n}\n\nexport interface ApiTierOnchain {\n maxSupply: string;\n minted: string;\n startTime: number | null;\n endTime: number | null;\n royaltyBps: number;\n}\n\nexport interface ApiSwapQuoteRequest {\n sellSymbol?: string;\n buySymbol?: string;\n sellTokenAddress?: string;\n buyTokenAddress?: string;\n sellAmountRaw?: string;\n buyAmountRaw?: string;\n takerAddress?: string;\n}\n\nexport interface ApiSwapQuote {\n quoteId: string;\n sellTokenAddress: string;\n sellAmount: string;\n buyTokenAddress: string;\n buyAmount: string;\n}\n\nexport interface ApiIpNftTokenData {\n owner: string;\n metadataUri: string;\n originalCreator: string;\n registeredAt: number;\n}\n\nexport interface ApiTokensQuery {\n page?: number;\n limit?: number;\n sort?: string;\n ipType?: string;\n derivatives?: \"allowed\";\n}\n\nexport interface ApiUsernameClaim {\n id: string;\n username: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n reviewedAt: string | null;\n createdAt: string;\n}\n\nexport type ApiReportTargetType = \"COLLECTION\" | \"TOKEN\" | \"CREATOR\" | \"COMMENT\";\n\nexport interface ApiSubmitReport {\n targetType: ApiReportTargetType;\n targetContract?: string;\n targetTokenId?: string;\n targetAddress?: string;\n targetId?: string;\n categories: string[];\n description?: string;\n}\n\nexport interface ApiSponsorshipOffer {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n author: string;\n nftContract: string;\n tokenId: string;\n minAmount: string;\n duration: number;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n specificSponsor: string | null;\n open: boolean;\n createdAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipBid {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n sponsor: string;\n amount: string;\n placedAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipProposal {\n id: string;\n chain: string;\n contractAddress: string;\n proposalId: string;\n proposer: string;\n nftContract: string;\n tokenId: string;\n amount: string;\n duration: number;\n validUntil: string | null;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n open: boolean;\n accepted: boolean | null;\n createdAtChain: string;\n closedAtChain: string | null;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipLicense {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n recipient: string;\n assetContract: string;\n assetTokenId: string;\n expiresAt: string;\n transferable: boolean;\n royaltyBps: number;\n licenseTermsUri: string;\n offerId: string | null;\n proposalId: string | null;\n mintedAtChain: string;\n currentHolder?: string | null;\n}\n\nexport interface ApiSponsorshipOffersQuery {\n limit?: number;\n nftContract?: string;\n author?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipProposalsQuery {\n limit?: number;\n nftContract?: string;\n proposer?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipLicensesQuery {\n limit?: number;\n holder?: string;\n author?: string;\n}\n\nexport interface ApiCollectionsListQuery {\n page?: number;\n limit?: number;\n owner?: string;\n service?: string;\n sort?: CollectionSort;\n isFeatured?: boolean;\n hideEmpty?: boolean;\n standard?: string;\n chain?: ChainFilter;\n}\n\nexport interface ApiPricingRule {\n actionKey: string;\n chain: string;\n service: string;\n credits: number;\n}\n\nexport interface ApiPricing {\n creditsPerUsdc: number;\n mdln?: { contract: string | null; tiers: { minWholeTokens: number; multiplier: number }[] };\n pricing: { default: number; rules: ApiPricingRule[] };\n}\n\nexport type CreateTransferTokenIntentParams = z.input<typeof intents.transferTokenSchema>;\n\nexport type CreateTransferNftIntentParams = z.input<typeof intents.transferNftSchema>;\n\nexport type CreateTransferCollectionOwnershipIntentParams = z.input<typeof intents.transferCollectionOwnershipSchema>;\n\nexport type CreateCommentIntentParams = z.input<typeof intents.commentSchema>;\n\nexport type CreateGenesisMintIntentParams = z.input<typeof intents.genesisMintSchema>;\n\nexport type CreatePopClaimIntentParams = z.input<typeof intents.popClaimSchema>;\n\nexport type CreatePopBurnIntentParams = z.input<typeof intents.popBurnSchema>;\n\nexport type CreateDropClaimIntentParams = z.input<typeof intents.dropClaimSchema>;\n\nexport type WalletManageAction = \"add_owner\" | \"remove_owner\" | \"cancel_escape\" | \"set_first_guardian\" | \"trigger_escape\" | \"complete_escape\";\n\nexport type CreateWalletManageIntentParams = z.input<typeof intents.walletManageSchema>;\n\nexport type CreateSwapIntentParams = z.input<typeof intents.swapIntentSchema>;\n\nexport type CreateFundingTransferIntentParams = z.input<typeof intents.fundingTransferSchema>;\n\nexport type DropManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreateDropManageIntentParams = z.input<typeof intents.dropManageSchema>;\n\nexport type PopManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreatePopManageIntentParams = z.input<typeof intents.popManageSchema>;\n\nexport interface IntentParamsByKind {\n listing: CreateListingIntentParams;\n offer: MakeOfferIntentParams;\n fulfill: FulfillOrderIntentParams;\n cancel: CancelOrderIntentParams;\n mint: CreateMintIntentParams;\n \"transfer-token\": CreateTransferTokenIntentParams;\n \"transfer-nft\": CreateTransferNftIntentParams;\n \"transfer-collection-ownership\": CreateTransferCollectionOwnershipIntentParams;\n comment: CreateCommentIntentParams;\n \"genesis-mint\": CreateGenesisMintIntentParams;\n \"pop-claim\": CreatePopClaimIntentParams;\n \"pop-burn\": CreatePopBurnIntentParams;\n \"drop-claim\": CreateDropClaimIntentParams;\n \"wallet-manage\": CreateWalletManageIntentParams;\n swap: CreateSwapIntentParams;\n \"funding-transfer\": CreateFundingTransferIntentParams;\n \"drop-manage\": CreateDropManageIntentParams;\n \"pop-manage\": CreatePopManageIntentParams;\n \"create-collection\": CreateCollectionIntentParams;\n \"create-tier\": CreateTierIntentParams;\n \"create-coin\": CreateCoinIntentParams;\n \"launch-coin\": LaunchCoinIntentParams;\n \"sponsorship-offer\": CreateSponsorshipOfferIntentParams;\n \"sponsorship-offer-open\": SetSponsorshipOfferOpenIntentParams;\n \"sponsorship-bid\": PlaceSponsorshipBidIntentParams;\n \"sponsorship-bid-retract\": RetractSponsorshipBidIntentParams;\n \"sponsorship-bid-accept\": AcceptSponsorshipBidIntentParams;\n \"sponsorship-proposal\": CreateSponsorshipProposalIntentParams;\n \"sponsorship-proposal-withdraw\": WithdrawSponsorshipProposalIntentParams;\n \"sponsorship-proposal-accept\": AcceptSponsorshipProposalIntentParams;\n \"sponsorship-proposal-reject\": RejectSponsorshipProposalIntentParams;\n \"counter-offer\": CreateCounterOfferIntentParams;\n}\n","\n\nexport type AssetAttribute = { trait_type: string; value: string };\n\nexport interface AssetMetadata {\n name: string;\n description: string;\n image: string | null;\n external_url: string;\n attributes: AssetAttribute[];\n}\n\nexport interface BuildAssetMetadataInput {\n name: string;\n description?: string | null;\n externalUrl?: string | null;\n imageUri?: string | null;\n creator?: string | null;\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n geographicScope?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n edition?: string | null;\n\n templateTraits?: { traitType: string; value: string }[];\n\n registrationDate?: string;\n}\n\nexport const RESERVED_TRAITS = new Set([\n \"Creator\", \"IP Type\", \"License\", \"Commercial Use\", \"Derivatives\",\n \"Attribution\", \"Territory\", \"AI Policy\", \"Royalty\", \"Edition\",\n \"Standard\", \"Registration\",\n]);\nconst RESERVED_TRAITS_NORMALIZED = new Set([...RESERVED_TRAITS].map((t) => t.toLowerCase()));\n\nexport function buildAssetMetadata(input: BuildAssetMetadataInput): AssetMetadata {\n const attributes: AssetAttribute[] = [];\n\n if (input.creator) attributes.push({ trait_type: \"Creator\", value: input.creator });\n if (input.ipType) attributes.push({ trait_type: \"IP Type\", value: input.ipType });\n if (input.licenseType) attributes.push({ trait_type: \"License\", value: input.licenseType });\n if (input.commercialUse) attributes.push({ trait_type: \"Commercial Use\", value: input.commercialUse });\n if (input.derivatives) attributes.push({ trait_type: \"Derivatives\", value: input.derivatives });\n if (input.attribution) attributes.push({ trait_type: \"Attribution\", value: input.attribution });\n if (input.geographicScope) attributes.push({ trait_type: \"Territory\", value: input.geographicScope });\n if (input.aiPolicy) attributes.push({ trait_type: \"AI Policy\", value: input.aiPolicy });\n\n if (input.royalty) {\n const num = parseFloat(String(input.royalty).replace(\"%\", \"\"));\n if (!isNaN(num) && num > 0) attributes.push({ trait_type: \"Royalty\", value: `${num}%` });\n }\n\n if (input.edition) attributes.push({ trait_type: \"Edition\", value: input.edition });\n\n for (const t of input.templateTraits ?? []) {\n const traitType = t.traitType?.trim() ?? \"\";\n const traitValue = String(t.value ?? \"\").trim();\n if (!traitType || !traitValue || RESERVED_TRAITS_NORMALIZED.has(traitType.toLowerCase())) continue;\n attributes.push({ trait_type: traitType, value: traitValue });\n }\n\n if (input.licenseType) {\n attributes.push({ trait_type: \"Standard\", value: \"Berne Convention\" });\n attributes.push({\n trait_type: \"Registration\",\n value: input.registrationDate ?? new Date().toISOString().split(\"T\")[0],\n });\n }\n\n return {\n name: input.name,\n description: input.description ?? \"\",\n image: input.imageUri ?? null,\n external_url: input.externalUrl || \"https://medialane.io\",\n attributes,\n };\n}\n\nexport interface CollectionMetadata {\n name: string;\n description?: string;\n image?: string;\n external_link: string;\n}\n\nexport interface BuildCollectionMetadataInput {\n name: string;\n owner: string;\n description?: string | null;\n image?: string | null;\n externalLink?: string | null;\n}\n\nexport const accountPageUrl = (address: string): string => `https://www.medialane.io/account/${address}`;\n\nexport function buildCollectionMetadata(input: BuildCollectionMetadataInput): CollectionMetadata {\n const description = input.description?.trim();\n const image = input.image?.trim();\n return {\n name: input.name,\n ...(description ? { description } : {}),\n ...(image ? { image } : {}),\n external_link: input.externalLink?.trim() || accountPageUrl(input.owner),\n };\n}\n","\n\ntype Attribute = { trait_type?: string; value?: string };\n\nexport function getDerivativesTerm(\n attributes: Attribute[] | null | undefined,\n): \"Allowed\" | \"Not Allowed\" | null {\n const v = (Array.isArray(attributes) ? attributes : []).find(\n (a) => a.trait_type === \"Derivatives\",\n )?.value;\n return v === \"Allowed\" || v === \"Not Allowed\" ? v : null;\n}\n\nexport interface RemixPolicyInput {\n\n parentNoDerivatives: boolean;\n\n viewerIsParentOwner: boolean;\n\n dealAvailable: boolean;\n}\n\nexport interface RemixPolicy extends RemixPolicyInput {\n\n canRemixDirect: boolean;\n\n showDealOption: boolean;\n}\n\nexport function resolveRemixPolicy(input: RemixPolicyInput): RemixPolicy {\n const canRemixDirect = input.viewerIsParentOwner || !input.parentNoDerivatives;\n const showDealOption = input.dealAvailable && !input.viewerIsParentOwner;\n return { ...input, canRemixDirect, showDealOption };\n}\n","export type UploadKind = \"image\" | \"document\" | \"media\";\n\nexport interface UploadLimit {\n mimeTypes: readonly string[];\n extensions: readonly string[];\n}\n\nconst MB = 1024 * 1024;\n\nexport const MAX_UPLOAD_BYTES = 90 * MB;\n\nconst IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".gif\", \".svg\", \".webp\", \".avif\"];\n\nexport const UPLOAD_LIMITS: Record<UploadKind, UploadLimit> = {\n image: {\n mimeTypes: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\", \"image/webp\", \"image/avif\"],\n extensions: IMAGE_EXTENSIONS,\n },\n document: {\n mimeTypes: [\n \"application/pdf\",\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.oasis.opendocument.text\",\n \"application/rtf\",\n \"text/plain\",\n \"text/markdown\",\n \"application/octet-stream\",\n ],\n extensions: [\".pdf\", \".doc\", \".docx\", \".odt\", \".rtf\", \".txt\", \".md\"],\n },\n media: {\n mimeTypes: [\n \"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\", \"image/svg+xml\", \"image/avif\",\n \"video/mp4\", \"video/webm\", \"video/ogg\",\n \"audio/mpeg\", \"audio/ogg\", \"audio/wav\", \"audio/webm\", \"audio/flac\",\n \"application/pdf\",\n ],\n extensions: [...IMAGE_EXTENSIONS, \".mp4\", \".webm\", \".ogv\", \".ogg\", \".mp3\", \".wav\", \".flac\", \".pdf\"],\n },\n};\n\nexport function formatFileSize(bytes: number): string {\n const mb = bytes / MB;\n return `${Number.isInteger(mb) ? mb : mb.toFixed(1)} MB`;\n}\n\nexport function uploadSizeError(file: { size: number }, kind: UploadKind = \"image\"): string | null {\n if (file.size <= MAX_UPLOAD_BYTES) return null;\n const noun = kind === \"image\" ? \"image\" : \"file\";\n return `That ${noun} is ${formatFileSize(file.size)}. Please choose one under ${formatFileSize(MAX_UPLOAD_BYTES)}.`;\n}\n\nexport function acceptFor(kind: UploadKind): string {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n return [...mimeTypes, ...extensions].join(\",\");\n}\n\nfunction typeList(extensions: readonly string[]): string {\n const names = extensions.map((ext) => ext.slice(1).toUpperCase());\n return names.length > 1 ? `${names.slice(0, -1).join(\", \")} or ${names[names.length - 1]}` : names.join(\"\");\n}\n\nexport function uploadError(file: { size: number; type: string; name?: string }, kind: UploadKind = \"image\"): string | null {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n const name = (file.name ?? \"\").toLowerCase();\n const allowed = mimeTypes.includes(file.type) || (file.type === \"\" && extensions.some((ext) => name.endsWith(ext)));\n if (!allowed) return `Choose ${kind === \"image\" ? \"an image\" : \"a file\"} in ${typeList(extensions)}.`;\n return uploadSizeError(file, kind);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/launchpad-runs.ts","../src/types/api.ts","../src/metadata.ts","../src/remix-policy.ts","../src/uploads.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { FetchLike } from \"../utils/fetch.js\";\nexport type RunStatus = \"DRAFT\" | \"PAID\" | \"RUNNING\" | \"COMPLETED\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface RunQuoteLine {\n action: string;\n units: number;\n unitCredits: number;\n credits: number;\n}\n\nexport interface RunQuote {\n lines: RunQuoteLine[];\n total: number;\n}\n\nexport type NextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"metadata\"; items: number[] }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type TicketingNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"ticket-metadata\" }\n | { kind: \"tier\" }\n | { kind: \"wait-tier\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type CertificateEmissionNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"certificate-metadata\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport interface WalletRequest {\n recipient: string;\n}\n\ninterface LaunchpadRunBase {\n id: string;\n status: RunStatus;\n spec: unknown;\n quote: RunQuote | null;\n creditsHeld: number;\n creditsSpent: number;\n progress: unknown;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type DataTokenizationRun = LaunchpadRunBase & { service: \"data-tokenization-erc721\"; next?: NextStep };\nexport type TicketingRun = LaunchpadRunBase & { service: \"ip-ticketing\"; next?: TicketingNextStep };\nexport type CertificateEmissionRun = LaunchpadRunBase & { service: \"certificate-emission\"; next?: CertificateEmissionNextStep };\nexport type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;\n\nexport const isDataTokenizationRun = (run: LaunchpadRun): run is DataTokenizationRun =>\n run.service === \"data-tokenization-erc721\";\n\nexport const isTicketingRun = (run: LaunchpadRun): run is TicketingRun => run.service === \"ip-ticketing\";\n\nexport const isCertificateEmissionRun = (run: LaunchpadRun): run is CertificateEmissionRun =>\n run.service === \"certificate-emission\";\n\nexport interface ConfirmResult {\n pending: boolean;\n status: string;\n completed?: boolean;\n}\n\nexport class RunRequestError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly body: Record<string, unknown>,\n ) {\n super(message);\n }\n}\n\nexport interface LaunchpadRunsClientOptions {\n baseUrl: string;\n fetchImpl?: FetchLike;\n}\n\nexport function createLaunchpadRunsClient({ baseUrl, fetchImpl = fetch }: LaunchpadRunsClientOptions) {\n const runsUrl = `${baseUrl.replace(/\\/$/, \"\")}/v1/portal/runs`;\n const runBase = (id: string): string => `${runsUrl}/${id}`;\n const runBatchBase = (id: string, index: number): string => `${runBase(id)}/batches/${index}`;\n const runCollectionBase = (id: string): string => `${runBase(id)}/collection`;\n const runTierBase = (id: string): string => `${runBase(id)}/tier`;\n\n const runFetch: FetchLike = (input, init) => fetchImpl(input, { ...init, cache: \"no-store\" });\n\n async function call<T>(url: string, init?: RequestInit): Promise<{ status: number; data: T }> {\n const res = await runFetch(url, {\n ...init,\n headers: { \"content-type\": \"application/json\", ...(init?.headers as Record<string, string> | undefined) },\n });\n const body = (await res.json().catch(() => ({}))) as Record<string, unknown>;\n if (!res.ok) {\n throw new RunRequestError(String(body.error ?? \"Something went wrong with this run\"), res.status, body);\n }\n return { status: res.status, data: body.data as T };\n }\n\n const post = <T>(url: string, body?: unknown) =>\n call<T>(url, { method: \"POST\", body: body === undefined ? undefined : JSON.stringify(body) });\n\n const confirm = async (url: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(url);\n return { pending: status === 202, status: data.status, completed: data.completed };\n };\n\n const ticketing = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/wallets/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/wallets`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmTier: (id: string) => confirm(`${runTierBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n const certificateEmission = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/certificate-metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/recipients/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/recipients`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n return {\n fetch: runFetch,\n runBase,\n runBatchBase,\n runCollectionBase,\n runTierBase,\n ticketing,\n certificateEmission,\n\n list: async () => (await call<LaunchpadRun[]>(runsUrl)).data,\n\n get: async (id: string) => (await call<LaunchpadRun>(`${runBase(id)}`)).data,\n\n create: async (service: string, spec: unknown) =>\n (await post<LaunchpadRun>(runsUrl, { service, spec })).data,\n\n update: async (id: string, spec: unknown) =>\n (await call<LaunchpadRun>(`${runBase(id)}`, { method: \"PATCH\", body: JSON.stringify({ spec }) })).data,\n\n cancel: async (id: string) => (await post<LaunchpadRun>(`${runBase(id)}/cancel`)).data,\n\n checkoutWithCredits: async (id: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"credits\" })).data,\n\n checkoutFromWallet: async (id: string, intentId: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"wallet\", intentId })).data,\n\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n itemMetadata: async (id: string, index: number, userAddress: string) =>\n (await post<{ index: number; tokenUri: string }>(`${runBase(id)}/items/${index}/metadata`, { userAddress })).data,\n\n resolveGuests: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/guests/resolve`)).data.pending,\n\n registerGuest: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/guests`, request)).data,\n\n confirmBatch: async (id: string, index: number): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(\n `${runBase(id)}/batches/${index}/confirm`,\n );\n return { pending: status === 202, status: data.status, completed: data.completed };\n },\n\n confirmCollection: async (id: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string }>(`${runBase(id)}/collection/confirm`);\n return { pending: status === 202, status: data.status };\n },\n };\n}\n\nexport type LaunchpadRunsClient = ReturnType<typeof createLaunchpadRunsClient>;\n","import type { z } from \"zod\";\nimport type * as intents from \"../contract/intents.js\";\nimport type * as issuance from \"../contract/issuance.js\";\nimport type * as orders from \"../contract/orders.js\";\nimport type * as profiles from \"../contract/profiles.js\";\nimport type * as responses from \"../contract/responses.js\";\n\nexport type IPType =\n | \"Audio\"\n | \"Art\"\n | \"Documents\"\n | \"NFT\"\n | \"Video\"\n | \"Photography\"\n | \"Patents\"\n | \"Posts\"\n | \"Publications\"\n | \"RWA\"\n | \"Software\"\n | \"Custom\";\n\nexport type CollectionSort = \"recent\" | \"supply\" | \"floor\" | \"volume\" | \"name\";\n\nexport type CollectionTokensSort = \"recent\" | \"oldest\" | \"name\" | \"price\";\n\nexport type ServiceCapability =\n | \"list\" | \"buy\" | \"make_offer\" | \"cancel\"\n | \"transfer\" | \"burn\"\n | \"mint\" | \"claim\" | \"airdrop\"\n | \"remix\" | \"license\"\n | \"subscribe\" | \"redeem\"\n | \"launch\" | \"swap\"\n | \"sponsor\";\n\nexport interface EnforcementDeclaration {\n royalty?: \"erc2981\" | \"service-split\" | \"none\";\n escrow?: boolean;\n timeLock?: boolean;\n revocable?: boolean;\n}\n\nexport interface ServiceEventDeclaration {\n\n name: string;\n\n emittedBy: \"factory\" | \"instance\";\n\n poll?: \"fast\" | \"slow\";\n}\n\nexport interface ServiceDefinition {\n\n id: string;\n displayName: string;\n description: string;\n standard: \"ERC721\" | \"ERC1155\" | \"ERC20\" | \"UNKNOWN\";\n provenance: \"MEDIALANE\" | \"EXTERNAL\";\n onchain?: Partial<Record<import(\"../chains.js\").Chain, {\n factoryAddress?: string;\n classHash?: string;\n startBlock?: number;\n }>>;\n\n uiVariant: string;\n capabilities: ServiceCapability[];\n\n events?: ServiceEventDeclaration[];\n metadataSchema?: {\n requiredTraits?: string[];\n\n licenseDefault?: string;\n enforcement?: EnforcementDeclaration;\n };\n}\n\nexport interface ApiCollectionsQuery {\n page?: number;\n limit?: number;\n isKnown?: boolean;\n sort?: CollectionSort;\n owner?: string;\n\n service?: string;\n}\n\nexport type OrderStatus = \"ACTIVE\" | \"FULFILLED\" | \"CANCELLED\" | \"EXPIRED\";\nexport type SortOrder = \"price_asc\" | \"price_desc\" | \"recent\";\nexport type ActivityType = \"mint\" | \"transfer\" | \"sale\" | \"listing\" | \"offer\" | \"cancelled\";\nexport type IntentType = \"CREATE_LISTING\" | \"MAKE_OFFER\" | \"FULFILL_ORDER\" | \"CANCEL_ORDER\" | \"MINT\" | \"CREATE_COLLECTION\" | \"COUNTER_OFFER\";\nexport type IntentStatus = \"PENDING\" | \"SIGNED\" | \"SUBMITTED\" | \"CONFIRMED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiMeta {\n page: number;\n limit: number;\n total?: number;\n\n counts?: Record<string, number>;\n}\n\nexport interface ApiResponse<T> {\n data: T;\n meta?: ApiMeta;\n}\n\nexport type ChainFilter = import(\"../chains.js\").Chain | \"all\";\n\nexport type ApiOrdersQuery = z.input<typeof orders.ordersListQuery> & { chain?: ChainFilter };\n\nexport interface ApiOrderOffer {\n itemType: string;\n token: string;\n identifier: string;\n startAmount: string;\n endAmount: string;\n}\n\nexport interface ApiOrderConsideration extends ApiOrderOffer {\n recipient: string;\n}\n\nexport interface ApiOrderPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n decimals: number;\n}\n\nexport interface ApiOrderTxHash {\n created: string | null;\n fulfilled: string | null;\n cancelled: string | null;\n}\n\nexport interface ApiOrderTokenMeta {\n name: string | null;\n image: string | null;\n description: string | null;\n animationUrl: string | null;\n}\n\nexport type ApiOrder = z.output<typeof responses.orderSchema>;\n\nexport type IpAttribute = z.output<typeof responses.tokenAttributeSchema>;\n\nexport interface IpNftMetadata {\n name: string;\n description?: string;\n image?: string | null;\n external_url?: string;\n attributes?: IpAttribute[];\n\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n territory?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n registration?: string | null;\n}\n\nexport type ApiTokenMetadata = ApiToken[\"metadata\"];\n\nexport interface ApiTokenBalance {\n owner: string;\n\n amount: string;\n}\n\nexport type ApiToken = z.output<typeof responses.tokenSchema>;\n\nexport type ApiCollection = z.output<typeof responses.collectionSchema>;\n\nexport interface ApiCoin {\n id: string;\n chain: string;\n contractAddress: string;\n standard: \"ERC20\";\n\n service: string;\n name: string | null;\n symbol: string | null;\n decimals: number;\n\n totalSupply: string | null;\n description: string | null;\n image: string | null;\n creator: string | null;\n\n isLaunched?: boolean | null;\n startBlock: string;\n isHidden: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoinPrice {\n\n usdc: number;\n}\n\nexport type ApiCoinPrices = Record<string, ApiCoinPrice | null>;\n\nexport type ApiCoinClaimResult =\n | { verified: true; coin: ApiCoin | null }\n | { verified: false; reason: \"owner_mismatch\" | \"owner_check_failed\" | \"not_erc20\" | \"no_total_supply\" };\n\nexport interface ApiCoinsQuery {\n chain?: ChainFilter;\n page?: number;\n limit?: number;\n service?: string;\n sort?: string;\n creator?: string;\n}\n\nexport interface ApiActivityPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n}\n\nexport interface ApiActivity {\n type: ActivityType;\n chain: import(\"../chains.js\").Chain;\n\n contractAddress?: string;\n tokenId?: string;\n from?: string;\n to?: string;\n blockNumber?: string;\n\n amount?: string;\n\n orderHash?: string;\n nftContract?: string;\n nftTokenId?: string;\n offerer?: string;\n fulfiller?: string | null;\n price?: ApiActivityPrice;\n\n tokenStandard?: \"ERC721\" | \"ERC1155\";\n txHash: string | null;\n timestamp: string;\n\n token?: { name: string | null; image: string | null; animationUrl: string | null } | null;\n}\n\nexport interface ApiActivitiesQuery {\n chain?: ChainFilter;\n type?: ActivityType;\n\n contract?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiComment {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n content: string;\n txHash: string | null;\n blockNumber: string;\n postedAt: string;\n}\n\nexport interface ApiSearchTokenResult {\n contractAddress: string;\n tokenId: string;\n name: string | null;\n image: string | null;\n owner: string;\n metadataStatus: string;\n}\n\nexport interface ApiSearchCollectionResult {\n contractAddress: string;\n name: string | null;\n image: string | null;\n totalSupply: number | null;\n floorPrice: string | null;\n holderCount: number | null;\n}\n\nexport interface ApiSearchCreatorResult {\n walletAddress: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n}\n\nexport interface ApiSearchResult {\n tokens: ApiSearchTokenResult[];\n collections: ApiSearchCollectionResult[];\n creators: ApiSearchCreatorResult[];\n}\n\nexport interface ApiIntent {\n id: string;\n chain: string;\n type: IntentType;\n status: IntentStatus;\n requester: string;\n typedData: unknown;\n calls: unknown;\n signature: string[];\n txHash: string | null;\n orderHash: string | null;\n\n parentOrderHash?: string | null;\n\n counterOfferMessage?: string | null;\n expiresAt: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface IntentCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport type ApiIntentCreated =\n | { id: string; expiresAt: string; requiresSignature: true; typedData: unknown }\n | { id: string; expiresAt: string; requiresSignature: false; calls: IntentCall[] };\n\nexport interface ApiTxSyncResult {\n applied: number;\n contracts?: string[];\n pending: boolean;\n}\n\nexport type CreateListingIntentParams = z.input<typeof intents.listingSchema>;\n\nexport type MakeOfferIntentParams = z.input<typeof intents.offerSchema>;\n\nexport type FulfillOrderIntentParams = z.input<typeof intents.fulfillSchema>;\n\nexport type CancelOrderIntentParams = z.input<typeof intents.cancelSchema>;\n\nexport type FactoryFamilyServiceId = (typeof intents.FACTORY_FAMILY_SERVICE_IDS)[number];\n\nexport type TierServiceId = (typeof intents.TIER_SERVICE_IDS)[number];\n\nexport type CollectionServiceId = (typeof intents.COLLECTION_SERVICE_IDS)[number];\n\nexport type CreateMintIntentParams = z.input<typeof intents.mintSchema>;\n\n/** Drop sale terms on the wire: amounts as decimal strings in the token's smallest unit. */\nexport interface DropTermsBody {\n /** Unix seconds; 0 = open from creation. */\n startTime: number;\n /** Unix seconds; 0 = never closes. */\n endTime: number;\n /** Per token; \"0\" = free. */\n price: string;\n paymentToken: string;\n /** \"0\" = unlimited. */\n maxPerWallet: string;\n}\n\nexport type ApiDropListStatus = \"live\" | \"upcoming\" | \"ended\";\n\nexport interface ApiDrop {\n contractAddress: string;\n dropId: string;\n organizer: string;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n /** Token URI = baseUri + token id. */\n baseUri: string | null;\n /** \"0\" = no cap. */\n maxSupply: string;\n minted: string;\n /** Total paid to the organizer, in the payment token's smallest unit. */\n revenue: string;\n collectors: number;\n terms: DropTermsBody;\n /** \"0x0\" = open to everyone. */\n allowlistRoot: string;\n createdBlock: string;\n}\n\nexport interface ApiDropFee {\n /** Platform fee added to a mint, in basis points; 0 when none applies. */\n launchpadBps: number;\n}\n\nexport interface ApiDropMint {\n kind: \"claim\" | \"issue\";\n wallet: string;\n quantity: string;\n firstTokenId: string;\n totalPaid: string;\n txHash: string;\n blockNumber: string;\n createdAt: string;\n}\n\nexport type CreateCollectionIntentParams = z.input<typeof intents.createCollectionSchema>;\n\nexport interface CheckoutIntentItem {\n orderHash: string;\n\n quantity?: string;\n}\n\nexport type CreateCheckoutIntentParams = z.input<typeof intents.checkoutBodySchema>;\n\nexport interface ApiCheckoutIntentResult {\n id?: string;\n orderHash: string;\n requiresSignature?: false;\n calls?: unknown;\n expiresAt?: string;\n\n error?: string;\n}\n\nexport type CreateTierIntentParams = z.output<typeof intents.createTierSchema>;\n\nexport type EmissionParams = z.input<typeof issuance.emissionSchema>;\n\nexport interface ApiEmissionCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport interface ApiEmissionResult {\n service: string;\n recipientCount: number;\n callCount: number;\n batches: ApiEmissionCall[][];\n}\n\nexport type CreateCoinIntentParams = z.input<typeof intents.createCoinSchema>;\n\nexport type LaunchCoinIntentParams = z.output<typeof intents.launchCoinSchema>;\n\nexport type CreateSponsorshipOfferIntentParams = z.output<typeof intents.sponsorshipOfferSchema>;\n\nexport type SetSponsorshipOfferOpenIntentParams = z.input<typeof intents.sponsorshipOfferOpenSchema>;\n\nexport type PlaceSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidSchema>;\n\nexport type RetractSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidRetractSchema>;\n\nexport type AcceptSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidAcceptSchema>;\n\nexport type CreateSponsorshipProposalIntentParams = z.output<typeof intents.sponsorshipProposalSchema>;\n\nexport type WithdrawSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalWithdrawSchema>;\n\nexport type AcceptSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalAcceptSchema>;\n\nexport type RejectSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalRejectSchema>;\n\nexport type CreateCounterOfferIntentParams = z.input<typeof intents.counterOfferSchema>;\n\nexport interface ApiCounterOffersQuery {\n\n originalOrderHash?: string;\n\n sellerAddress?: string;\n page?: number;\n limit?: number;\n}\n\nexport const OPEN_LICENSES = [\"CC0\", \"CC BY\", \"CC BY-SA\", \"CC BY-NC\"] as const;\nexport type OpenLicense = (typeof OPEN_LICENSES)[number];\n\nexport type RemixOfferStatus =\n | \"PENDING\"\n | \"AUTO_PENDING\"\n | \"APPROVED\"\n | \"COMPLETED\"\n | \"REJECTED\"\n | \"EXPIRED\"\n | \"SELF_MINTED\";\n\nexport interface ApiRemixOfferPrice {\n raw: string;\n formatted: string;\n currency: string;\n decimals: number;\n}\n\nexport interface ApiRemixOffer {\n id: string;\n status: RemixOfferStatus;\n originalContract: string;\n originalTokenId: string;\n creatorAddress: string;\n requesterAddress: string | null;\n message?: string | null;\n\n price?: ApiRemixOfferPrice;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct: number | null;\n approvedCollection: string | null;\n remixContract: string | null;\n remixTokenId: string | null;\n orderHash: string | null;\n createdAt: string;\n expiresAt: string;\n updatedAt: string;\n}\n\nexport interface ApiPublicRemix {\n id: string;\n remixContract: string | null;\n remixTokenId: string | null;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n createdAt: string;\n}\n\nexport interface CreateRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n proposedPrice?: string;\n proposedCurrency?: string;\n message?: string;\n\n expiresInDays?: number;\n}\n\nexport interface AutoRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n}\n\nexport interface ConfirmSelfRemixParams {\n originalContract: string;\n originalTokenId: string;\n remixContract: string;\n remixTokenId: string;\n\n txHash?: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n}\n\nexport interface ConfirmRemixOfferParams {\n approvedCollection: string;\n remixContract: string;\n remixTokenId: string;\n orderHash?: string;\n}\n\nexport interface ApiRemixOffersQuery {\n\n role: \"creator\" | \"requester\";\n status?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiMetadataSignedUrl {\n url: string;\n}\n\nexport interface ApiMetadataUpload {\n cid: string;\n url: string;\n}\n\nexport interface ApiPortalMe {\n id: string;\n accountId: string;\n status: string;\n creditBalance: number;\n}\n\nexport interface ApiPortalKey {\n id: string;\n prefix: string;\n label: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n}\n\nexport interface ApiPortalKeyCreated {\n id: string;\n prefix: string;\n label: string | null;\n\n plaintext: string;\n}\n\nexport interface ApiCreditPayment {\n id: string;\n asset: string;\n amountAtomic: string;\n creditedAmount: number;\n mdlnMultiplier: number;\n txHash: string;\n status: string;\n createdAt: string;\n}\n\nexport interface ApiFundingMethod {\n id: string;\n [detail: string]: unknown;\n}\n\nexport type ApiFundingStatus = \"PENDING\" | \"SETTLED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiFundingIntent {\n id: string;\n method: string;\n status: ApiFundingStatus;\n expiresAt: string;\n payer?: string | null;\n}\n\nexport interface ApiFundingInstructions {\n chain: string;\n payTo: string;\n asset: string;\n amountAtomic: string;\n}\n\nexport type ApiFundingSubmit =\n | { status: \"SETTLED\"; credited?: number }\n | { status: \"PENDING\"; reason: string };\n\nexport interface ApiSpendByAction {\n actionKey: string;\n credits: number;\n units: number;\n}\n\nexport interface ApiPortalSpend {\n recent: Array<{ actionKey: string; credits: number; createdAt: string }>;\n byAction: ApiSpendByAction[];\n spent: number;\n credited: number;\n drift: number;\n}\n\nexport interface ApiCollectionProfile {\n contractAddress: string;\n chain: string;\n displayName: string | null;\n description: string | null;\n image: string | null;\n bannerImage: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n hasGatedContent: boolean;\n gatedContentTitle: string | null;\n slug: string | null;\n updatedBy: string | null;\n updatedAt: string;\n}\n\nexport type UpdateCollectionProfileInput = z.output<typeof profiles.collectionProfileSchema>;\n\nexport interface ApiCollectionSlugClaim {\n id: string;\n slug: string;\n contractAddress: string;\n chain: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n notifyEmail: string | null;\n reviewedAt: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCreatorProfile {\n walletAddress: string;\n chain: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n\n collectionImage?: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n updatedAt: string;\n}\n\nexport interface ApiCreatorListResult {\n creators: ApiCreatorProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\nexport type ApiChain = \"STARKNET\" | \"ETHEREUM\" | \"SOLANA\" | \"BASE\" | \"BITCOIN\";\n\nexport interface ApiSession {\n accountId: string;\n publicId: string;\n walletAddress: string | null;\n email: string | null;\n emailDeadline: string | null;\n}\n\nexport interface ApiUserWallet {\n walletAddress: string;\n email?: string | null;\n emailDeadline?: string | null;\n}\n\nexport interface ApiCollectionClaim {\n id: string;\n contractAddress: string;\n chain: string;\n claimantAddress: string | null;\n status: \"PENDING\" | \"AUTO_APPROVED\" | \"APPROVED\" | \"REJECTED\";\n verificationMethod: \"ONCHAIN\" | \"SIGNATURE\" | \"MANUAL\";\n createdAt: string;\n}\n\nexport interface ApiAdminCollectionClaim extends ApiCollectionClaim {\n claimantEmail: string | null;\n notes: string | null;\n adminNotes: string | null;\n reviewedBy: string | null;\n reviewedAt: string | null;\n updatedAt: string;\n}\n\nexport interface ApiBusinessProvisioning {\n chain: string;\n walletAddress: string;\n}\n\nexport interface ApiWalletActivity {\n id: string;\n chain: string;\n accountAddress: string;\n type: \"SEND\" | \"RECEIVE\" | \"SWAP\" | \"DEPLOY\" | \"GUARDIAN_SET\" | \"GUARDIAN_TRIGGER_ESCAPE\" | \"GUARDIAN_COMPLETE_ESCAPE\" | \"GUARDIAN_CANCEL_ESCAPE\";\n txHash: string;\n blockNumber: string;\n timestamp: string;\n tokenAddress: string | null;\n amount: string | null;\n counterparty: string | null;\n tokenInAddress: string | null;\n amountIn: string | null;\n tokenOutAddress: string | null;\n amountOut: string | null;\n}\n\nexport interface ApiRewardsBadge {\n key: string;\n name: string;\n description: string;\n icon: string;\n color: string;\n category: string;\n}\n\nexport interface ApiRewardsLevel {\n level: number;\n name: string;\n xpRequired: number;\n badgeColor: string;\n description: string | null;\n}\n\nexport interface ApiUserRewards {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n nextLevel: { level: number; name: string; xpRequired: number } | null;\n progressPct: number;\n breakdown: Record<string, number>;\n badges: ApiRewardsBadge[];\n computedAt: string | null;\n}\n\nexport interface ApiRewardsLeaderboardEntry {\n rank: number;\n address: string;\n accountId: string | null;\n publicId: string | null;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiRewardsConfig {\n levels: ApiRewardsLevel[];\n actions: { type: string; label: string; xp: number; dailyCap: number | null }[];\n badges: ApiRewardsBadge[];\n}\n\nexport interface ApiRewardsBatchEntry {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiPointEvent {\n id: string;\n actionType: string;\n xp: number;\n multiplier: number;\n finalXp: number;\n txHash: string | null;\n createdAt: string;\n}\n\nexport interface ApiPlatformStats {\n collections: number;\n tokens: number;\n sales: number;\n}\n\nexport interface ApiTierOnchain {\n maxSupply: string;\n minted: string;\n startTime: number | null;\n endTime: number | null;\n royaltyBps: number;\n}\n\nexport interface ApiSwapQuoteRequest {\n sellSymbol?: string;\n buySymbol?: string;\n sellTokenAddress?: string;\n buyTokenAddress?: string;\n sellAmountRaw?: string;\n buyAmountRaw?: string;\n takerAddress?: string;\n}\n\nexport interface ApiSwapQuote {\n quoteId: string;\n sellTokenAddress: string;\n sellAmount: string;\n buyTokenAddress: string;\n buyAmount: string;\n}\n\nexport interface ApiIpNftTokenData {\n owner: string;\n metadataUri: string;\n originalCreator: string;\n registeredAt: number;\n}\n\nexport interface ApiTokensQuery {\n page?: number;\n limit?: number;\n sort?: string;\n ipType?: string;\n derivatives?: \"allowed\";\n}\n\nexport interface ApiUsernameClaim {\n id: string;\n username: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n reviewedAt: string | null;\n createdAt: string;\n}\n\nexport type ApiReportTargetType = \"COLLECTION\" | \"TOKEN\" | \"CREATOR\" | \"COMMENT\";\n\nexport interface ApiSubmitReport {\n targetType: ApiReportTargetType;\n targetContract?: string;\n targetTokenId?: string;\n targetAddress?: string;\n targetId?: string;\n categories: string[];\n description?: string;\n}\n\nexport interface ApiSponsorshipOffer {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n author: string;\n nftContract: string;\n tokenId: string;\n minAmount: string;\n duration: number;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n specificSponsor: string | null;\n open: boolean;\n createdAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipBid {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n sponsor: string;\n amount: string;\n placedAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipProposal {\n id: string;\n chain: string;\n contractAddress: string;\n proposalId: string;\n proposer: string;\n nftContract: string;\n tokenId: string;\n amount: string;\n duration: number;\n validUntil: string | null;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n open: boolean;\n accepted: boolean | null;\n createdAtChain: string;\n closedAtChain: string | null;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipLicense {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n recipient: string;\n assetContract: string;\n assetTokenId: string;\n expiresAt: string;\n transferable: boolean;\n royaltyBps: number;\n licenseTermsUri: string;\n offerId: string | null;\n proposalId: string | null;\n mintedAtChain: string;\n currentHolder?: string | null;\n}\n\nexport interface ApiSponsorshipOffersQuery {\n limit?: number;\n nftContract?: string;\n author?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipProposalsQuery {\n limit?: number;\n nftContract?: string;\n proposer?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipLicensesQuery {\n limit?: number;\n holder?: string;\n author?: string;\n}\n\nexport interface ApiCollectionsListQuery {\n page?: number;\n limit?: number;\n owner?: string;\n service?: string;\n sort?: CollectionSort;\n isFeatured?: boolean;\n hideEmpty?: boolean;\n standard?: string;\n chain?: ChainFilter;\n}\n\nexport interface ApiPricingRule {\n actionKey: string;\n chain: string;\n service: string;\n credits: number;\n}\n\nexport interface ApiPricing {\n creditsPerUsdc: number;\n mdln?: { contract: string | null; tiers: { minWholeTokens: number; multiplier: number }[] };\n pricing: { default: number; rules: ApiPricingRule[] };\n}\n\nexport type CreateTransferTokenIntentParams = z.input<typeof intents.transferTokenSchema>;\n\nexport type CreateTransferNftIntentParams = z.input<typeof intents.transferNftSchema>;\n\nexport type CreateTransferCollectionOwnershipIntentParams = z.input<typeof intents.transferCollectionOwnershipSchema>;\n\nexport type CreateCommentIntentParams = z.input<typeof intents.commentSchema>;\n\nexport type CreateGenesisMintIntentParams = z.input<typeof intents.genesisMintSchema>;\n\nexport type CreatePopClaimIntentParams = z.input<typeof intents.popClaimSchema>;\n\nexport type CreatePopBurnIntentParams = z.input<typeof intents.popBurnSchema>;\n\nexport type CreateDropClaimIntentParams = z.input<typeof intents.dropClaimSchema>;\n\nexport type WalletManageAction = \"add_owner\" | \"remove_owner\" | \"cancel_escape\" | \"set_first_guardian\" | \"trigger_escape\" | \"complete_escape\";\n\nexport type CreateWalletManageIntentParams = z.input<typeof intents.walletManageSchema>;\n\nexport type CreateSwapIntentParams = z.input<typeof intents.swapIntentSchema>;\n\nexport type CreateFundingTransferIntentParams = z.input<typeof intents.fundingTransferSchema>;\n\nexport type DropManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreateDropManageIntentParams = z.input<typeof intents.dropManageSchema>;\n\nexport type PopManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreatePopManageIntentParams = z.input<typeof intents.popManageSchema>;\n\nexport interface IntentParamsByKind {\n listing: CreateListingIntentParams;\n offer: MakeOfferIntentParams;\n fulfill: FulfillOrderIntentParams;\n cancel: CancelOrderIntentParams;\n mint: CreateMintIntentParams;\n \"transfer-token\": CreateTransferTokenIntentParams;\n \"transfer-nft\": CreateTransferNftIntentParams;\n \"transfer-collection-ownership\": CreateTransferCollectionOwnershipIntentParams;\n comment: CreateCommentIntentParams;\n \"genesis-mint\": CreateGenesisMintIntentParams;\n \"pop-claim\": CreatePopClaimIntentParams;\n \"pop-burn\": CreatePopBurnIntentParams;\n \"drop-claim\": CreateDropClaimIntentParams;\n \"wallet-manage\": CreateWalletManageIntentParams;\n swap: CreateSwapIntentParams;\n \"funding-transfer\": CreateFundingTransferIntentParams;\n \"drop-manage\": CreateDropManageIntentParams;\n \"pop-manage\": CreatePopManageIntentParams;\n \"create-collection\": CreateCollectionIntentParams;\n \"create-tier\": CreateTierIntentParams;\n \"create-coin\": CreateCoinIntentParams;\n \"launch-coin\": LaunchCoinIntentParams;\n \"sponsorship-offer\": CreateSponsorshipOfferIntentParams;\n \"sponsorship-offer-open\": SetSponsorshipOfferOpenIntentParams;\n \"sponsorship-bid\": PlaceSponsorshipBidIntentParams;\n \"sponsorship-bid-retract\": RetractSponsorshipBidIntentParams;\n \"sponsorship-bid-accept\": AcceptSponsorshipBidIntentParams;\n \"sponsorship-proposal\": CreateSponsorshipProposalIntentParams;\n \"sponsorship-proposal-withdraw\": WithdrawSponsorshipProposalIntentParams;\n \"sponsorship-proposal-accept\": AcceptSponsorshipProposalIntentParams;\n \"sponsorship-proposal-reject\": RejectSponsorshipProposalIntentParams;\n \"counter-offer\": CreateCounterOfferIntentParams;\n}\n","\n\nexport type AssetAttribute = { trait_type: string; value: string };\n\nexport interface AssetMetadata {\n name: string;\n description: string;\n image: string | null;\n external_url: string;\n attributes: AssetAttribute[];\n}\n\nexport interface BuildAssetMetadataInput {\n name: string;\n description?: string | null;\n externalUrl?: string | null;\n imageUri?: string | null;\n creator?: string | null;\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n geographicScope?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n edition?: string | null;\n\n templateTraits?: { traitType: string; value: string }[];\n\n registrationDate?: string;\n}\n\nexport const RESERVED_TRAITS = new Set([\n \"Creator\", \"IP Type\", \"License\", \"Commercial Use\", \"Derivatives\",\n \"Attribution\", \"Territory\", \"AI Policy\", \"Royalty\", \"Edition\",\n \"Standard\", \"Registration\",\n]);\nconst RESERVED_TRAITS_NORMALIZED = new Set([...RESERVED_TRAITS].map((t) => t.toLowerCase()));\n\nexport function buildAssetMetadata(input: BuildAssetMetadataInput): AssetMetadata {\n const attributes: AssetAttribute[] = [];\n\n if (input.creator) attributes.push({ trait_type: \"Creator\", value: input.creator });\n if (input.ipType) attributes.push({ trait_type: \"IP Type\", value: input.ipType });\n if (input.licenseType) attributes.push({ trait_type: \"License\", value: input.licenseType });\n if (input.commercialUse) attributes.push({ trait_type: \"Commercial Use\", value: input.commercialUse });\n if (input.derivatives) attributes.push({ trait_type: \"Derivatives\", value: input.derivatives });\n if (input.attribution) attributes.push({ trait_type: \"Attribution\", value: input.attribution });\n if (input.geographicScope) attributes.push({ trait_type: \"Territory\", value: input.geographicScope });\n if (input.aiPolicy) attributes.push({ trait_type: \"AI Policy\", value: input.aiPolicy });\n\n if (input.royalty) {\n const num = parseFloat(String(input.royalty).replace(\"%\", \"\"));\n if (!isNaN(num) && num > 0) attributes.push({ trait_type: \"Royalty\", value: `${num}%` });\n }\n\n if (input.edition) attributes.push({ trait_type: \"Edition\", value: input.edition });\n\n for (const t of input.templateTraits ?? []) {\n const traitType = t.traitType?.trim() ?? \"\";\n const traitValue = String(t.value ?? \"\").trim();\n if (!traitType || !traitValue || RESERVED_TRAITS_NORMALIZED.has(traitType.toLowerCase())) continue;\n attributes.push({ trait_type: traitType, value: traitValue });\n }\n\n if (input.licenseType) {\n attributes.push({ trait_type: \"Standard\", value: \"Berne Convention\" });\n attributes.push({\n trait_type: \"Registration\",\n value: input.registrationDate ?? new Date().toISOString().split(\"T\")[0],\n });\n }\n\n return {\n name: input.name,\n description: input.description ?? \"\",\n image: input.imageUri ?? null,\n external_url: input.externalUrl || \"https://medialane.io\",\n attributes,\n };\n}\n\nexport interface CollectionMetadata {\n name: string;\n description?: string;\n image?: string;\n external_link: string;\n}\n\nexport interface BuildCollectionMetadataInput {\n name: string;\n owner: string;\n description?: string | null;\n image?: string | null;\n externalLink?: string | null;\n}\n\nexport const accountPageUrl = (address: string): string => `https://www.medialane.io/account/${address}`;\n\nexport function buildCollectionMetadata(input: BuildCollectionMetadataInput): CollectionMetadata {\n const description = input.description?.trim();\n const image = input.image?.trim();\n return {\n name: input.name,\n ...(description ? { description } : {}),\n ...(image ? { image } : {}),\n external_link: input.externalLink?.trim() || accountPageUrl(input.owner),\n };\n}\n","\n\ntype Attribute = { trait_type?: string; value?: string | number | boolean };\n\nexport function getDerivativesTerm(\n attributes: Attribute[] | null | undefined,\n): \"Allowed\" | \"Not Allowed\" | null {\n const v = (Array.isArray(attributes) ? attributes : []).find(\n (a) => a.trait_type === \"Derivatives\",\n )?.value;\n return v === \"Allowed\" || v === \"Not Allowed\" ? v : null;\n}\n\nexport interface RemixPolicyInput {\n\n parentNoDerivatives: boolean;\n\n viewerIsParentOwner: boolean;\n\n dealAvailable: boolean;\n}\n\nexport interface RemixPolicy extends RemixPolicyInput {\n\n canRemixDirect: boolean;\n\n showDealOption: boolean;\n}\n\nexport function resolveRemixPolicy(input: RemixPolicyInput): RemixPolicy {\n const canRemixDirect = input.viewerIsParentOwner || !input.parentNoDerivatives;\n const showDealOption = input.dealAvailable && !input.viewerIsParentOwner;\n return { ...input, canRemixDirect, showDealOption };\n}\n","export type UploadKind = \"image\" | \"document\" | \"media\";\n\nexport interface UploadLimit {\n mimeTypes: readonly string[];\n extensions: readonly string[];\n}\n\nconst MB = 1024 * 1024;\n\nexport const MAX_UPLOAD_BYTES = 90 * MB;\n\nconst IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".gif\", \".svg\", \".webp\", \".avif\"];\n\nexport const UPLOAD_LIMITS: Record<UploadKind, UploadLimit> = {\n image: {\n mimeTypes: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\", \"image/webp\", \"image/avif\"],\n extensions: IMAGE_EXTENSIONS,\n },\n document: {\n mimeTypes: [\n \"application/pdf\",\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.oasis.opendocument.text\",\n \"application/rtf\",\n \"text/plain\",\n \"text/markdown\",\n \"application/octet-stream\",\n ],\n extensions: [\".pdf\", \".doc\", \".docx\", \".odt\", \".rtf\", \".txt\", \".md\"],\n },\n media: {\n mimeTypes: [\n \"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\", \"image/svg+xml\", \"image/avif\",\n \"video/mp4\", \"video/webm\", \"video/ogg\",\n \"audio/mpeg\", \"audio/ogg\", \"audio/wav\", \"audio/webm\", \"audio/flac\",\n \"application/pdf\",\n ],\n extensions: [...IMAGE_EXTENSIONS, \".mp4\", \".webm\", \".ogv\", \".ogg\", \".mp3\", \".wav\", \".flac\", \".pdf\"],\n },\n};\n\nexport function formatFileSize(bytes: number): string {\n const mb = bytes / MB;\n return `${Number.isInteger(mb) ? mb : mb.toFixed(1)} MB`;\n}\n\nexport function uploadSizeError(file: { size: number }, kind: UploadKind = \"image\"): string | null {\n if (file.size <= MAX_UPLOAD_BYTES) return null;\n const noun = kind === \"image\" ? \"image\" : \"file\";\n return `That ${noun} is ${formatFileSize(file.size)}. Please choose one under ${formatFileSize(MAX_UPLOAD_BYTES)}.`;\n}\n\nexport function acceptFor(kind: UploadKind): string {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n return [...mimeTypes, ...extensions].join(\",\");\n}\n\nfunction typeList(extensions: readonly string[]): string {\n const names = extensions.map((ext) => ext.slice(1).toUpperCase());\n return names.length > 1 ? `${names.slice(0, -1).join(\", \")} or ${names[names.length - 1]}` : names.join(\"\");\n}\n\nexport function uploadError(file: { size: number; type: string; name?: string }, kind: UploadKind = \"image\"): string | null {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n const name = (file.name ?? \"\").toLowerCase();\n const allowed = mimeTypes.includes(file.type) || (file.type === \"\" && extensions.some((ext) => name.endsWith(ext)));\n if (!allowed) return `Choose ${kind === \"image\" ? \"an image\" : \"a file\"} in ${typeList(extensions)}.`;\n return uploadSizeError(file, kind);\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { A as ActivityApi, a as AddSupplyParams, b as ApiClient, c as ApiClientOptions, B as BatchMintEditionParams, d as BearerSource, e as BusinessApi, C as ChainReadsApi, f as CoinsApi, g as CollectionsApi, h as CreateDropParams, i as CreateMembershipParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, l as CreateTicketParams, m as CreatorsApi, D as DeployCollectionParams, n as DropTerms, o as DropsApi, F as FeeConfig, p as FundingApi, G as GatedContent, I as IntentsApi, M as MedialaneApiError, q as MedialaneConfig, r as MedialaneError, s as MedialaneErrorCode, t as MetadataApi, u as MintEditionParams, v as MintMembershipsParams, w as MintTicketsParams, O as OrdersApi, P as PlatformApi, x as PortalApi, y as ProposeSponsorshipParams, z as ProvisioningResult, R as RemixApi, E as ResolvedConfig, H as ResolvedFeeConfig, J as RetryOptions, K as RewardsApi, S as SearchApi, L as SponsorshipApi, T as TokensApi, U as UserFacingError, N as resolveConfig, Q as resolveFeeConfig } from './services-
|
|
1
|
+
export { A as ActivityApi, a as AddSupplyParams, b as ApiClient, c as ApiClientOptions, B as BatchMintEditionParams, d as BearerSource, e as BusinessApi, C as ChainReadsApi, f as CoinsApi, g as CollectionsApi, h as CreateDropParams, i as CreateMembershipParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, l as CreateTicketParams, m as CreatorsApi, D as DeployCollectionParams, n as DropTerms, o as DropsApi, F as FeeConfig, p as FundingApi, G as GatedContent, I as IntentsApi, M as MedialaneApiError, q as MedialaneConfig, r as MedialaneError, s as MedialaneErrorCode, t as MetadataApi, u as MintEditionParams, v as MintMembershipsParams, w as MintTicketsParams, O as OrdersApi, P as PlatformApi, x as PortalApi, y as ProposeSponsorshipParams, z as ProvisioningResult, R as RemixApi, E as ResolvedConfig, H as ResolvedFeeConfig, J as RetryOptions, K as RewardsApi, S as SearchApi, L as SponsorshipApi, T as TokensApi, U as UserFacingError, N as resolveConfig, Q as resolveFeeConfig } from './services-B15RJBSW.cjs';
|
|
2
2
|
import { F as FetchLike } from './fetch-Cx9Pr7-B.cjs';
|
|
3
|
-
import { S as ServiceDefinition, a as ServiceCapability } from './passkey-errors-
|
|
4
|
-
export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as AccountApi, d as ActivityType, e as ApiActivitiesQuery, f as ApiActivity, g as ApiActivityPrice, h as ApiAdminCollectionClaim, i as ApiBusinessProvisioning, j as ApiChain, k as ApiCheckoutIntentResult, l as ApiCoin, m as ApiCoinClaimResult, n as ApiCoinPrice, o as ApiCoinPrices, p as ApiCoinsQuery, q as ApiCollection, r as ApiCollectionClaim, s as ApiCollectionProfile, t as ApiCollectionSlugClaim, u as ApiCollectionsListQuery, v as ApiCollectionsQuery, w as ApiComment, x as ApiCounterOffersQuery, y as ApiCreatorListResult, z as ApiCreatorProfile, B as ApiCreditPayment, C as ApiDrop, D as ApiDropFee, E as ApiDropListStatus, F as ApiDropMint, G as ApiEmissionCall, H as ApiEmissionResult, I as ApiFundingInstructions, J as ApiFundingIntent, K as ApiFundingMethod, L as ApiFundingStatus, M as ApiFundingSubmit, N as ApiIntent, O as ApiIntentCreated, P as ApiIpNftTokenData, Q as ApiMeta, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, U as ApiOrder, V as ApiOrderConsideration, W as ApiOrderOffer, X as ApiOrderPrice, Y as ApiOrderTokenMeta, Z as ApiOrderTxHash, _ as ApiOrdersQuery, $ as ApiPlatformStats, a0 as ApiPointEvent, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, a3 as ApiPortalMe, a4 as ApiPortalSpend, a5 as ApiPricing, a6 as ApiPricingRule, a7 as ApiPublicRemix, a8 as ApiRemixOffer, a9 as ApiRemixOfferPrice, aa as ApiRemixOffersQuery, ab as ApiReportTargetType, ac as ApiResponse, ad as ApiRewardsBadge, ae as ApiRewardsBatchEntry, af as ApiRewardsConfig, ag as ApiRewardsLeaderboardEntry, ah as ApiRewardsLevel, ai as ApiSearchCollectionResult, aj as ApiSearchCreatorResult, ak as ApiSearchResult, al as ApiSearchTokenResult, am as ApiSession, an as ApiSpendByAction, ao as ApiSponsorshipBid, ap as ApiSponsorshipLicense, aq as ApiSponsorshipLicensesQuery, ar as ApiSponsorshipOffer, as as ApiSponsorshipOffersQuery, at as ApiSponsorshipProposal, au as ApiSponsorshipProposalsQuery, av as ApiSubmitReport, aw as ApiSwapQuote, ax as ApiSwapQuoteRequest, ay as ApiTierOnchain, az as ApiToken, aA as ApiTokenBalance, aB as ApiTokenMetadata, aC as ApiTokensQuery, aD as ApiTxSyncResult, aE as ApiUserRewards, aF as ApiUserWallet, aG as ApiUsernameClaim, aH as ApiWalletActivity, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as CollectionServiceId, aN as CollectionSort, aO as CollectionTokensSort, aP as ConfirmRemixOfferParams, aQ as ConfirmSelfRemixParams, aR as CreateCheckoutIntentParams, aS as CreateCoinIntentParams, aT as CreateCollectionIntentParams, aU as CreateCommentIntentParams, aV as CreateCounterOfferIntentParams, aW as CreateDropClaimIntentParams, aX as CreateDropManageIntentParams, aY as CreateFundingTransferIntentParams, aZ as CreateGenesisMintIntentParams, a_ as CreateListingIntentParams, a$ as CreateMintIntentParams, b0 as CreatePopBurnIntentParams, b1 as CreatePopClaimIntentParams, b2 as CreatePopManageIntentParams, b3 as CreateRemixOfferParams, b4 as CreateSponsorshipOfferIntentParams, b5 as CreateSponsorshipProposalIntentParams, b6 as CreateSwapIntentParams, b7 as CreateTierIntentParams, b8 as CreateTransferCollectionOwnershipIntentParams, b9 as CreateTransferNftIntentParams, ba as CreateTransferTokenIntentParams, bb as CreateWalletManageIntentParams, bc as DeviceKeyMissingError, bd as DropManageAction, be as DropTermsBody, bf as EmissionParams, bg as EnforcementDeclaration, bh as FactoryFamilyServiceId, bi as FulfillOrderIntentParams, bj as IPType, bk as IntentCall, bl as IntentParamsByKind, bm as IntentStatus, bn as IntentType, bo as IpAttribute, bp as IpNftMetadata, bq as LaunchCoinIntentParams, br as MakeOfferIntentParams, bs as OPEN_LICENSES, bt as OpenLicense, bu as OrderStatus, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason, by as PlaceSponsorshipBidIntentParams, bz as PopManageAction, bA as RegisteredUser, bB as RejectSponsorshipProposalIntentParams, bC as RemixOfferStatus, bD as RetractSponsorshipBidIntentParams, bE as ServiceEventDeclaration, bF as SetSponsorshipOfferOpenIntentParams, bG as SortOrder, bH as TierServiceId, bI as UpdateCollectionProfileInput, bJ as WalletManageAction, bK as WithdrawSponsorshipProposalIntentParams } from './passkey-errors-
|
|
3
|
+
import { S as ServiceDefinition, a as ServiceCapability } from './passkey-errors-yndCFeHv.cjs';
|
|
4
|
+
export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as AccountApi, d as ActivityType, e as ApiActivitiesQuery, f as ApiActivity, g as ApiActivityPrice, h as ApiAdminCollectionClaim, i as ApiBusinessProvisioning, j as ApiChain, k as ApiCheckoutIntentResult, l as ApiCoin, m as ApiCoinClaimResult, n as ApiCoinPrice, o as ApiCoinPrices, p as ApiCoinsQuery, q as ApiCollection, r as ApiCollectionClaim, s as ApiCollectionProfile, t as ApiCollectionSlugClaim, u as ApiCollectionsListQuery, v as ApiCollectionsQuery, w as ApiComment, x as ApiCounterOffersQuery, y as ApiCreatorListResult, z as ApiCreatorProfile, B as ApiCreditPayment, C as ApiDrop, D as ApiDropFee, E as ApiDropListStatus, F as ApiDropMint, G as ApiEmissionCall, H as ApiEmissionResult, I as ApiFundingInstructions, J as ApiFundingIntent, K as ApiFundingMethod, L as ApiFundingStatus, M as ApiFundingSubmit, N as ApiIntent, O as ApiIntentCreated, P as ApiIpNftTokenData, Q as ApiMeta, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, U as ApiOrder, V as ApiOrderConsideration, W as ApiOrderOffer, X as ApiOrderPrice, Y as ApiOrderTokenMeta, Z as ApiOrderTxHash, _ as ApiOrdersQuery, $ as ApiPlatformStats, a0 as ApiPointEvent, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, a3 as ApiPortalMe, a4 as ApiPortalSpend, a5 as ApiPricing, a6 as ApiPricingRule, a7 as ApiPublicRemix, a8 as ApiRemixOffer, a9 as ApiRemixOfferPrice, aa as ApiRemixOffersQuery, ab as ApiReportTargetType, ac as ApiResponse, ad as ApiRewardsBadge, ae as ApiRewardsBatchEntry, af as ApiRewardsConfig, ag as ApiRewardsLeaderboardEntry, ah as ApiRewardsLevel, ai as ApiSearchCollectionResult, aj as ApiSearchCreatorResult, ak as ApiSearchResult, al as ApiSearchTokenResult, am as ApiSession, an as ApiSpendByAction, ao as ApiSponsorshipBid, ap as ApiSponsorshipLicense, aq as ApiSponsorshipLicensesQuery, ar as ApiSponsorshipOffer, as as ApiSponsorshipOffersQuery, at as ApiSponsorshipProposal, au as ApiSponsorshipProposalsQuery, av as ApiSubmitReport, aw as ApiSwapQuote, ax as ApiSwapQuoteRequest, ay as ApiTierOnchain, az as ApiToken, aA as ApiTokenBalance, aB as ApiTokenMetadata, aC as ApiTokensQuery, aD as ApiTxSyncResult, aE as ApiUserRewards, aF as ApiUserWallet, aG as ApiUsernameClaim, aH as ApiWalletActivity, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as CollectionServiceId, aN as CollectionSort, aO as CollectionTokensSort, aP as ConfirmRemixOfferParams, aQ as ConfirmSelfRemixParams, aR as CreateCheckoutIntentParams, aS as CreateCoinIntentParams, aT as CreateCollectionIntentParams, aU as CreateCommentIntentParams, aV as CreateCounterOfferIntentParams, aW as CreateDropClaimIntentParams, aX as CreateDropManageIntentParams, aY as CreateFundingTransferIntentParams, aZ as CreateGenesisMintIntentParams, a_ as CreateListingIntentParams, a$ as CreateMintIntentParams, b0 as CreatePopBurnIntentParams, b1 as CreatePopClaimIntentParams, b2 as CreatePopManageIntentParams, b3 as CreateRemixOfferParams, b4 as CreateSponsorshipOfferIntentParams, b5 as CreateSponsorshipProposalIntentParams, b6 as CreateSwapIntentParams, b7 as CreateTierIntentParams, b8 as CreateTransferCollectionOwnershipIntentParams, b9 as CreateTransferNftIntentParams, ba as CreateTransferTokenIntentParams, bb as CreateWalletManageIntentParams, bc as DeviceKeyMissingError, bd as DropManageAction, be as DropTermsBody, bf as EmissionParams, bg as EnforcementDeclaration, bh as FactoryFamilyServiceId, bi as FulfillOrderIntentParams, bj as IPType, bk as IntentCall, bl as IntentParamsByKind, bm as IntentStatus, bn as IntentType, bo as IpAttribute, bp as IpNftMetadata, bq as LaunchCoinIntentParams, br as MakeOfferIntentParams, bs as OPEN_LICENSES, bt as OpenLicense, bu as OrderStatus, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason, by as PlaceSponsorshipBidIntentParams, bz as PopManageAction, bA as RegisteredUser, bB as RejectSponsorshipProposalIntentParams, bC as RemixOfferStatus, bD as RetractSponsorshipBidIntentParams, bE as ServiceEventDeclaration, bF as SetSponsorshipOfferOpenIntentParams, bG as SortOrder, bH as TierServiceId, bI as UpdateCollectionProfileInput, bJ as WalletManageAction, bK as WithdrawSponsorshipProposalIntentParams } from './passkey-errors-yndCFeHv.cjs';
|
|
5
5
|
import { C as Chain } from './chains-CmwjZVU7.cjs';
|
|
6
6
|
export { a as CHAINS, b as ChainCoordinates, c as CoordinatesByChain, D as DEFAULT_CHAIN, E as EvmCoordinates, S as SolanaCoordinates, d as StarknetCoordinates, e as StellarCoordinates, g as getCoordinates, f as getStarknetCoordinates } from './chains-CmwjZVU7.cjs';
|
|
7
7
|
export { ACCOUNT_SESSION_COOKIE, ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, AppGatewayConfig, AppSessionConfig, BackendMetadataConfig, BackendUploadResult, CappedBody, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, ImageProxyConfig, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, SiwsIdentity, createAppGateway, createAppSessionHandler, createImageProxyHandler, getBackendSignedUrl, isPrivateHost, isPrivateOrInsecureUrl, isPublicAppRoute, isSameOrigin, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, readBodyWithCap, resolveSafeImageContentType, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken } from './server/index.cjs';
|
|
8
8
|
export { A as AdapterTxResult, a as AssetRef, C as CreateCollectionInput, I as IssuanceAdapter, M as MintInput, O as OrderRef, R as RegisterOrderParams, V as VenueAdapter } from './types-BftPOVEJ.cjs';
|
|
9
9
|
import 'zod';
|
|
10
|
-
import './responses-
|
|
10
|
+
import './responses-D3nBY71f.cjs';
|
|
11
11
|
import 'starknet';
|
|
12
12
|
import './provisioning-CwRkCN8D.cjs';
|
|
13
13
|
|
|
@@ -744,7 +744,7 @@ declare function buildCollectionMetadata(input: BuildCollectionMetadataInput): C
|
|
|
744
744
|
|
|
745
745
|
type Attribute = {
|
|
746
746
|
trait_type?: string;
|
|
747
|
-
value?: string;
|
|
747
|
+
value?: string | number | boolean;
|
|
748
748
|
};
|
|
749
749
|
declare function getDerivativesTerm(attributes: Attribute[] | null | undefined): "Allowed" | "Not Allowed" | null;
|
|
750
750
|
interface RemixPolicyInput {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { A as ActivityApi, a as AddSupplyParams, b as ApiClient, c as ApiClientOptions, B as BatchMintEditionParams, d as BearerSource, e as BusinessApi, C as ChainReadsApi, f as CoinsApi, g as CollectionsApi, h as CreateDropParams, i as CreateMembershipParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, l as CreateTicketParams, m as CreatorsApi, D as DeployCollectionParams, n as DropTerms, o as DropsApi, F as FeeConfig, p as FundingApi, G as GatedContent, I as IntentsApi, M as MedialaneApiError, q as MedialaneConfig, r as MedialaneError, s as MedialaneErrorCode, t as MetadataApi, u as MintEditionParams, v as MintMembershipsParams, w as MintTicketsParams, O as OrdersApi, P as PlatformApi, x as PortalApi, y as ProposeSponsorshipParams, z as ProvisioningResult, R as RemixApi, E as ResolvedConfig, H as ResolvedFeeConfig, J as RetryOptions, K as RewardsApi, S as SearchApi, L as SponsorshipApi, T as TokensApi, U as UserFacingError, N as resolveConfig, Q as resolveFeeConfig } from './services-
|
|
1
|
+
export { A as ActivityApi, a as AddSupplyParams, b as ApiClient, c as ApiClientOptions, B as BatchMintEditionParams, d as BearerSource, e as BusinessApi, C as ChainReadsApi, f as CoinsApi, g as CollectionsApi, h as CreateDropParams, i as CreateMembershipParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, l as CreateTicketParams, m as CreatorsApi, D as DeployCollectionParams, n as DropTerms, o as DropsApi, F as FeeConfig, p as FundingApi, G as GatedContent, I as IntentsApi, M as MedialaneApiError, q as MedialaneConfig, r as MedialaneError, s as MedialaneErrorCode, t as MetadataApi, u as MintEditionParams, v as MintMembershipsParams, w as MintTicketsParams, O as OrdersApi, P as PlatformApi, x as PortalApi, y as ProposeSponsorshipParams, z as ProvisioningResult, R as RemixApi, E as ResolvedConfig, H as ResolvedFeeConfig, J as RetryOptions, K as RewardsApi, S as SearchApi, L as SponsorshipApi, T as TokensApi, U as UserFacingError, N as resolveConfig, Q as resolveFeeConfig } from './services-BAnTJhwt.js';
|
|
2
2
|
import { F as FetchLike } from './fetch-Cx9Pr7-B.js';
|
|
3
|
-
import { S as ServiceDefinition, a as ServiceCapability } from './passkey-errors-
|
|
4
|
-
export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as AccountApi, d as ActivityType, e as ApiActivitiesQuery, f as ApiActivity, g as ApiActivityPrice, h as ApiAdminCollectionClaim, i as ApiBusinessProvisioning, j as ApiChain, k as ApiCheckoutIntentResult, l as ApiCoin, m as ApiCoinClaimResult, n as ApiCoinPrice, o as ApiCoinPrices, p as ApiCoinsQuery, q as ApiCollection, r as ApiCollectionClaim, s as ApiCollectionProfile, t as ApiCollectionSlugClaim, u as ApiCollectionsListQuery, v as ApiCollectionsQuery, w as ApiComment, x as ApiCounterOffersQuery, y as ApiCreatorListResult, z as ApiCreatorProfile, B as ApiCreditPayment, C as ApiDrop, D as ApiDropFee, E as ApiDropListStatus, F as ApiDropMint, G as ApiEmissionCall, H as ApiEmissionResult, I as ApiFundingInstructions, J as ApiFundingIntent, K as ApiFundingMethod, L as ApiFundingStatus, M as ApiFundingSubmit, N as ApiIntent, O as ApiIntentCreated, P as ApiIpNftTokenData, Q as ApiMeta, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, U as ApiOrder, V as ApiOrderConsideration, W as ApiOrderOffer, X as ApiOrderPrice, Y as ApiOrderTokenMeta, Z as ApiOrderTxHash, _ as ApiOrdersQuery, $ as ApiPlatformStats, a0 as ApiPointEvent, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, a3 as ApiPortalMe, a4 as ApiPortalSpend, a5 as ApiPricing, a6 as ApiPricingRule, a7 as ApiPublicRemix, a8 as ApiRemixOffer, a9 as ApiRemixOfferPrice, aa as ApiRemixOffersQuery, ab as ApiReportTargetType, ac as ApiResponse, ad as ApiRewardsBadge, ae as ApiRewardsBatchEntry, af as ApiRewardsConfig, ag as ApiRewardsLeaderboardEntry, ah as ApiRewardsLevel, ai as ApiSearchCollectionResult, aj as ApiSearchCreatorResult, ak as ApiSearchResult, al as ApiSearchTokenResult, am as ApiSession, an as ApiSpendByAction, ao as ApiSponsorshipBid, ap as ApiSponsorshipLicense, aq as ApiSponsorshipLicensesQuery, ar as ApiSponsorshipOffer, as as ApiSponsorshipOffersQuery, at as ApiSponsorshipProposal, au as ApiSponsorshipProposalsQuery, av as ApiSubmitReport, aw as ApiSwapQuote, ax as ApiSwapQuoteRequest, ay as ApiTierOnchain, az as ApiToken, aA as ApiTokenBalance, aB as ApiTokenMetadata, aC as ApiTokensQuery, aD as ApiTxSyncResult, aE as ApiUserRewards, aF as ApiUserWallet, aG as ApiUsernameClaim, aH as ApiWalletActivity, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as CollectionServiceId, aN as CollectionSort, aO as CollectionTokensSort, aP as ConfirmRemixOfferParams, aQ as ConfirmSelfRemixParams, aR as CreateCheckoutIntentParams, aS as CreateCoinIntentParams, aT as CreateCollectionIntentParams, aU as CreateCommentIntentParams, aV as CreateCounterOfferIntentParams, aW as CreateDropClaimIntentParams, aX as CreateDropManageIntentParams, aY as CreateFundingTransferIntentParams, aZ as CreateGenesisMintIntentParams, a_ as CreateListingIntentParams, a$ as CreateMintIntentParams, b0 as CreatePopBurnIntentParams, b1 as CreatePopClaimIntentParams, b2 as CreatePopManageIntentParams, b3 as CreateRemixOfferParams, b4 as CreateSponsorshipOfferIntentParams, b5 as CreateSponsorshipProposalIntentParams, b6 as CreateSwapIntentParams, b7 as CreateTierIntentParams, b8 as CreateTransferCollectionOwnershipIntentParams, b9 as CreateTransferNftIntentParams, ba as CreateTransferTokenIntentParams, bb as CreateWalletManageIntentParams, bc as DeviceKeyMissingError, bd as DropManageAction, be as DropTermsBody, bf as EmissionParams, bg as EnforcementDeclaration, bh as FactoryFamilyServiceId, bi as FulfillOrderIntentParams, bj as IPType, bk as IntentCall, bl as IntentParamsByKind, bm as IntentStatus, bn as IntentType, bo as IpAttribute, bp as IpNftMetadata, bq as LaunchCoinIntentParams, br as MakeOfferIntentParams, bs as OPEN_LICENSES, bt as OpenLicense, bu as OrderStatus, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason, by as PlaceSponsorshipBidIntentParams, bz as PopManageAction, bA as RegisteredUser, bB as RejectSponsorshipProposalIntentParams, bC as RemixOfferStatus, bD as RetractSponsorshipBidIntentParams, bE as ServiceEventDeclaration, bF as SetSponsorshipOfferOpenIntentParams, bG as SortOrder, bH as TierServiceId, bI as UpdateCollectionProfileInput, bJ as WalletManageAction, bK as WithdrawSponsorshipProposalIntentParams } from './passkey-errors-
|
|
3
|
+
import { S as ServiceDefinition, a as ServiceCapability } from './passkey-errors-B0HGcjPc.js';
|
|
4
|
+
export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as AccountApi, d as ActivityType, e as ApiActivitiesQuery, f as ApiActivity, g as ApiActivityPrice, h as ApiAdminCollectionClaim, i as ApiBusinessProvisioning, j as ApiChain, k as ApiCheckoutIntentResult, l as ApiCoin, m as ApiCoinClaimResult, n as ApiCoinPrice, o as ApiCoinPrices, p as ApiCoinsQuery, q as ApiCollection, r as ApiCollectionClaim, s as ApiCollectionProfile, t as ApiCollectionSlugClaim, u as ApiCollectionsListQuery, v as ApiCollectionsQuery, w as ApiComment, x as ApiCounterOffersQuery, y as ApiCreatorListResult, z as ApiCreatorProfile, B as ApiCreditPayment, C as ApiDrop, D as ApiDropFee, E as ApiDropListStatus, F as ApiDropMint, G as ApiEmissionCall, H as ApiEmissionResult, I as ApiFundingInstructions, J as ApiFundingIntent, K as ApiFundingMethod, L as ApiFundingStatus, M as ApiFundingSubmit, N as ApiIntent, O as ApiIntentCreated, P as ApiIpNftTokenData, Q as ApiMeta, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, U as ApiOrder, V as ApiOrderConsideration, W as ApiOrderOffer, X as ApiOrderPrice, Y as ApiOrderTokenMeta, Z as ApiOrderTxHash, _ as ApiOrdersQuery, $ as ApiPlatformStats, a0 as ApiPointEvent, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, a3 as ApiPortalMe, a4 as ApiPortalSpend, a5 as ApiPricing, a6 as ApiPricingRule, a7 as ApiPublicRemix, a8 as ApiRemixOffer, a9 as ApiRemixOfferPrice, aa as ApiRemixOffersQuery, ab as ApiReportTargetType, ac as ApiResponse, ad as ApiRewardsBadge, ae as ApiRewardsBatchEntry, af as ApiRewardsConfig, ag as ApiRewardsLeaderboardEntry, ah as ApiRewardsLevel, ai as ApiSearchCollectionResult, aj as ApiSearchCreatorResult, ak as ApiSearchResult, al as ApiSearchTokenResult, am as ApiSession, an as ApiSpendByAction, ao as ApiSponsorshipBid, ap as ApiSponsorshipLicense, aq as ApiSponsorshipLicensesQuery, ar as ApiSponsorshipOffer, as as ApiSponsorshipOffersQuery, at as ApiSponsorshipProposal, au as ApiSponsorshipProposalsQuery, av as ApiSubmitReport, aw as ApiSwapQuote, ax as ApiSwapQuoteRequest, ay as ApiTierOnchain, az as ApiToken, aA as ApiTokenBalance, aB as ApiTokenMetadata, aC as ApiTokensQuery, aD as ApiTxSyncResult, aE as ApiUserRewards, aF as ApiUserWallet, aG as ApiUsernameClaim, aH as ApiWalletActivity, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as CollectionServiceId, aN as CollectionSort, aO as CollectionTokensSort, aP as ConfirmRemixOfferParams, aQ as ConfirmSelfRemixParams, aR as CreateCheckoutIntentParams, aS as CreateCoinIntentParams, aT as CreateCollectionIntentParams, aU as CreateCommentIntentParams, aV as CreateCounterOfferIntentParams, aW as CreateDropClaimIntentParams, aX as CreateDropManageIntentParams, aY as CreateFundingTransferIntentParams, aZ as CreateGenesisMintIntentParams, a_ as CreateListingIntentParams, a$ as CreateMintIntentParams, b0 as CreatePopBurnIntentParams, b1 as CreatePopClaimIntentParams, b2 as CreatePopManageIntentParams, b3 as CreateRemixOfferParams, b4 as CreateSponsorshipOfferIntentParams, b5 as CreateSponsorshipProposalIntentParams, b6 as CreateSwapIntentParams, b7 as CreateTierIntentParams, b8 as CreateTransferCollectionOwnershipIntentParams, b9 as CreateTransferNftIntentParams, ba as CreateTransferTokenIntentParams, bb as CreateWalletManageIntentParams, bc as DeviceKeyMissingError, bd as DropManageAction, be as DropTermsBody, bf as EmissionParams, bg as EnforcementDeclaration, bh as FactoryFamilyServiceId, bi as FulfillOrderIntentParams, bj as IPType, bk as IntentCall, bl as IntentParamsByKind, bm as IntentStatus, bn as IntentType, bo as IpAttribute, bp as IpNftMetadata, bq as LaunchCoinIntentParams, br as MakeOfferIntentParams, bs as OPEN_LICENSES, bt as OpenLicense, bu as OrderStatus, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason, by as PlaceSponsorshipBidIntentParams, bz as PopManageAction, bA as RegisteredUser, bB as RejectSponsorshipProposalIntentParams, bC as RemixOfferStatus, bD as RetractSponsorshipBidIntentParams, bE as ServiceEventDeclaration, bF as SetSponsorshipOfferOpenIntentParams, bG as SortOrder, bH as TierServiceId, bI as UpdateCollectionProfileInput, bJ as WalletManageAction, bK as WithdrawSponsorshipProposalIntentParams } from './passkey-errors-B0HGcjPc.js';
|
|
5
5
|
import { C as Chain } from './chains-CmwjZVU7.js';
|
|
6
6
|
export { a as CHAINS, b as ChainCoordinates, c as CoordinatesByChain, D as DEFAULT_CHAIN, E as EvmCoordinates, S as SolanaCoordinates, d as StarknetCoordinates, e as StellarCoordinates, g as getCoordinates, f as getStarknetCoordinates } from './chains-CmwjZVU7.js';
|
|
7
7
|
export { ACCOUNT_SESSION_COOKIE, ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, AppGatewayConfig, AppSessionConfig, BackendMetadataConfig, BackendUploadResult, CappedBody, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, ImageProxyConfig, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, SiwsIdentity, createAppGateway, createAppSessionHandler, createImageProxyHandler, getBackendSignedUrl, isPrivateHost, isPrivateOrInsecureUrl, isPublicAppRoute, isSameOrigin, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, readBodyWithCap, resolveSafeImageContentType, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken } from './server/index.js';
|
|
8
8
|
export { A as AdapterTxResult, a as AssetRef, C as CreateCollectionInput, I as IssuanceAdapter, M as MintInput, O as OrderRef, R as RegisterOrderParams, V as VenueAdapter } from './types-BW6ktwcT.js';
|
|
9
9
|
import 'zod';
|
|
10
|
-
import './responses-
|
|
10
|
+
import './responses-D3nBY71f.js';
|
|
11
11
|
import 'starknet';
|
|
12
12
|
import './provisioning-CwRkCN8D.js';
|
|
13
13
|
|
|
@@ -744,7 +744,7 @@ declare function buildCollectionMetadata(input: BuildCollectionMetadataInput): C
|
|
|
744
744
|
|
|
745
745
|
type Attribute = {
|
|
746
746
|
trait_type?: string;
|
|
747
|
-
value?: string;
|
|
747
|
+
value?: string | number | boolean;
|
|
748
748
|
};
|
|
749
749
|
declare function getDerivativesTerm(attributes: Attribute[] | null | undefined): "Allowed" | "Not Allowed" | null;
|
|
750
750
|
interface RemixPolicyInput {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/launchpad-runs.ts","../src/types/api.ts","../src/metadata.ts","../src/remix-policy.ts","../src/uploads.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { FetchLike } from \"../utils/fetch.js\";\nexport type RunStatus = \"DRAFT\" | \"PAID\" | \"RUNNING\" | \"COMPLETED\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface RunQuoteLine {\n action: string;\n units: number;\n unitCredits: number;\n credits: number;\n}\n\nexport interface RunQuote {\n lines: RunQuoteLine[];\n total: number;\n}\n\nexport type NextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"metadata\"; items: number[] }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type TicketingNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"ticket-metadata\" }\n | { kind: \"tier\" }\n | { kind: \"wait-tier\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type CertificateEmissionNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"certificate-metadata\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport interface WalletRequest {\n recipient: string;\n}\n\ninterface LaunchpadRunBase {\n id: string;\n status: RunStatus;\n spec: unknown;\n quote: RunQuote | null;\n creditsHeld: number;\n creditsSpent: number;\n progress: unknown;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type DataTokenizationRun = LaunchpadRunBase & { service: \"data-tokenization-erc721\"; next?: NextStep };\nexport type TicketingRun = LaunchpadRunBase & { service: \"ip-ticketing\"; next?: TicketingNextStep };\nexport type CertificateEmissionRun = LaunchpadRunBase & { service: \"certificate-emission\"; next?: CertificateEmissionNextStep };\nexport type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;\n\nexport const isDataTokenizationRun = (run: LaunchpadRun): run is DataTokenizationRun =>\n run.service === \"data-tokenization-erc721\";\n\nexport const isTicketingRun = (run: LaunchpadRun): run is TicketingRun => run.service === \"ip-ticketing\";\n\nexport const isCertificateEmissionRun = (run: LaunchpadRun): run is CertificateEmissionRun =>\n run.service === \"certificate-emission\";\n\nexport interface ConfirmResult {\n pending: boolean;\n status: string;\n completed?: boolean;\n}\n\nexport class RunRequestError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly body: Record<string, unknown>,\n ) {\n super(message);\n }\n}\n\nexport interface LaunchpadRunsClientOptions {\n baseUrl: string;\n fetchImpl?: FetchLike;\n}\n\nexport function createLaunchpadRunsClient({ baseUrl, fetchImpl = fetch }: LaunchpadRunsClientOptions) {\n const runsUrl = `${baseUrl.replace(/\\/$/, \"\")}/v1/portal/runs`;\n const runBase = (id: string): string => `${runsUrl}/${id}`;\n const runBatchBase = (id: string, index: number): string => `${runBase(id)}/batches/${index}`;\n const runCollectionBase = (id: string): string => `${runBase(id)}/collection`;\n const runTierBase = (id: string): string => `${runBase(id)}/tier`;\n\n const runFetch: FetchLike = (input, init) => fetchImpl(input, { ...init, cache: \"no-store\" });\n\n async function call<T>(url: string, init?: RequestInit): Promise<{ status: number; data: T }> {\n const res = await runFetch(url, {\n ...init,\n headers: { \"content-type\": \"application/json\", ...(init?.headers as Record<string, string> | undefined) },\n });\n const body = (await res.json().catch(() => ({}))) as Record<string, unknown>;\n if (!res.ok) {\n throw new RunRequestError(String(body.error ?? \"Something went wrong with this run\"), res.status, body);\n }\n return { status: res.status, data: body.data as T };\n }\n\n const post = <T>(url: string, body?: unknown) =>\n call<T>(url, { method: \"POST\", body: body === undefined ? undefined : JSON.stringify(body) });\n\n const confirm = async (url: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(url);\n return { pending: status === 202, status: data.status, completed: data.completed };\n };\n\n const ticketing = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/wallets/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/wallets`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmTier: (id: string) => confirm(`${runTierBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n const certificateEmission = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/certificate-metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/recipients/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/recipients`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n return {\n fetch: runFetch,\n runBase,\n runBatchBase,\n runCollectionBase,\n runTierBase,\n ticketing,\n certificateEmission,\n\n list: async () => (await call<LaunchpadRun[]>(runsUrl)).data,\n\n get: async (id: string) => (await call<LaunchpadRun>(`${runBase(id)}`)).data,\n\n create: async (service: string, spec: unknown) =>\n (await post<LaunchpadRun>(runsUrl, { service, spec })).data,\n\n update: async (id: string, spec: unknown) =>\n (await call<LaunchpadRun>(`${runBase(id)}`, { method: \"PATCH\", body: JSON.stringify({ spec }) })).data,\n\n cancel: async (id: string) => (await post<LaunchpadRun>(`${runBase(id)}/cancel`)).data,\n\n checkoutWithCredits: async (id: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"credits\" })).data,\n\n checkoutFromWallet: async (id: string, intentId: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"wallet\", intentId })).data,\n\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n itemMetadata: async (id: string, index: number, userAddress: string) =>\n (await post<{ index: number; tokenUri: string }>(`${runBase(id)}/items/${index}/metadata`, { userAddress })).data,\n\n resolveGuests: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/guests/resolve`)).data.pending,\n\n registerGuest: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/guests`, request)).data,\n\n confirmBatch: async (id: string, index: number): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(\n `${runBase(id)}/batches/${index}/confirm`,\n );\n return { pending: status === 202, status: data.status, completed: data.completed };\n },\n\n confirmCollection: async (id: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string }>(`${runBase(id)}/collection/confirm`);\n return { pending: status === 202, status: data.status };\n },\n };\n}\n\nexport type LaunchpadRunsClient = ReturnType<typeof createLaunchpadRunsClient>;\n","import type { z } from \"zod\";\nimport type * as intents from \"../contract/intents.js\";\nimport type * as issuance from \"../contract/issuance.js\";\nimport type * as orders from \"../contract/orders.js\";\nimport type * as profiles from \"../contract/profiles.js\";\nimport type * as responses from \"../contract/responses.js\";\n\nexport type IPType =\n | \"Audio\"\n | \"Art\"\n | \"Documents\"\n | \"NFT\"\n | \"Video\"\n | \"Photography\"\n | \"Patents\"\n | \"Posts\"\n | \"Publications\"\n | \"RWA\"\n | \"Software\"\n | \"Custom\";\n\nexport type CollectionSort = \"recent\" | \"supply\" | \"floor\" | \"volume\" | \"name\";\n\nexport type CollectionTokensSort = \"recent\" | \"oldest\" | \"name\" | \"price\";\n\nexport type ServiceCapability =\n | \"list\" | \"buy\" | \"make_offer\" | \"cancel\"\n | \"transfer\" | \"burn\"\n | \"mint\" | \"claim\" | \"airdrop\"\n | \"remix\" | \"license\"\n | \"subscribe\" | \"redeem\"\n | \"launch\" | \"swap\"\n | \"sponsor\";\n\nexport interface EnforcementDeclaration {\n royalty?: \"erc2981\" | \"service-split\" | \"none\";\n escrow?: boolean;\n timeLock?: boolean;\n revocable?: boolean;\n}\n\nexport interface ServiceEventDeclaration {\n\n name: string;\n\n emittedBy: \"factory\" | \"instance\";\n\n poll?: \"fast\" | \"slow\";\n}\n\nexport interface ServiceDefinition {\n\n id: string;\n displayName: string;\n description: string;\n standard: \"ERC721\" | \"ERC1155\" | \"ERC20\" | \"UNKNOWN\";\n provenance: \"MEDIALANE\" | \"EXTERNAL\";\n onchain?: Partial<Record<import(\"../chains.js\").Chain, {\n factoryAddress?: string;\n classHash?: string;\n startBlock?: number;\n }>>;\n\n uiVariant: string;\n capabilities: ServiceCapability[];\n\n events?: ServiceEventDeclaration[];\n metadataSchema?: {\n requiredTraits?: string[];\n\n licenseDefault?: string;\n enforcement?: EnforcementDeclaration;\n };\n}\n\nexport interface ApiCollectionsQuery {\n page?: number;\n limit?: number;\n isKnown?: boolean;\n sort?: CollectionSort;\n owner?: string;\n\n service?: string;\n}\n\nexport type OrderStatus = \"ACTIVE\" | \"FULFILLED\" | \"CANCELLED\" | \"EXPIRED\";\nexport type SortOrder = \"price_asc\" | \"price_desc\" | \"recent\";\nexport type ActivityType = \"mint\" | \"transfer\" | \"sale\" | \"listing\" | \"offer\" | \"cancelled\";\nexport type IntentType = \"CREATE_LISTING\" | \"MAKE_OFFER\" | \"FULFILL_ORDER\" | \"CANCEL_ORDER\" | \"MINT\" | \"CREATE_COLLECTION\" | \"COUNTER_OFFER\";\nexport type IntentStatus = \"PENDING\" | \"SIGNED\" | \"SUBMITTED\" | \"CONFIRMED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiMeta {\n page: number;\n limit: number;\n total?: number;\n\n counts?: Record<string, number>;\n}\n\nexport interface ApiResponse<T> {\n data: T;\n meta?: ApiMeta;\n}\n\nexport type ChainFilter = import(\"../chains.js\").Chain | \"all\";\n\nexport type ApiOrdersQuery = z.input<typeof orders.ordersListQuery> & { chain?: ChainFilter };\n\nexport interface ApiOrderOffer {\n itemType: string;\n token: string;\n identifier: string;\n startAmount: string;\n endAmount: string;\n}\n\nexport interface ApiOrderConsideration extends ApiOrderOffer {\n recipient: string;\n}\n\nexport interface ApiOrderPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n decimals: number;\n}\n\nexport interface ApiOrderTxHash {\n created: string | null;\n fulfilled: string | null;\n cancelled: string | null;\n}\n\nexport interface ApiOrderTokenMeta {\n name: string | null;\n image: string | null;\n description: string | null;\n animationUrl: string | null;\n}\n\nexport type ApiOrder = z.output<typeof responses.orderSchema>;\n\nexport interface IpAttribute {\n trait_type: string;\n value: string;\n}\n\nexport interface IpNftMetadata {\n name: string;\n description?: string;\n image?: string | null;\n external_url?: string;\n attributes?: IpAttribute[];\n\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n territory?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n registration?: string | null;\n}\n\nexport interface ApiTokenMetadata {\n name: string | null;\n description: string | null;\n image: string | null;\n\n animationUrl: string | null;\n\n attributes: IpAttribute[] | null;\n\n ipType: string | null;\n licenseType: string | null;\n commercialUse: string | null;\n derivatives: string | null;\n attribution: string | null;\n territory: string | null;\n aiPolicy: string | null;\n royalty: string | null;\n registration: string | null;\n author: string | null;\n}\n\nexport interface ApiTokenBalance {\n owner: string;\n\n amount: string;\n}\n\nexport interface ApiToken {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n\n owner: string | null;\n tokenUri: string | null;\n metadataStatus: \"PENDING\" | \"FETCHING\" | \"FETCHED\" | \"FAILED\";\n\n standard: \"ERC721\" | \"ERC1155\" | \"UNKNOWN\";\n metadata: ApiTokenMetadata;\n\n balances: ApiTokenBalance[] | null;\n holderCount?: number;\n supply?: string;\n activeOrders: ApiOrder[];\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCollection {\n id: string;\n chain: string;\n contractAddress: string;\n collectionId: string | null;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n owner: string | null;\n startBlock: string;\n metadataStatus: \"PENDING\" | \"FETCHING\" | \"FETCHED\" | \"FAILED\";\n\n standard: \"ERC721\" | \"ERC1155\";\n isKnown: boolean;\n\n isHidden: boolean;\n\n isFeatured: boolean;\n\n service: string | null;\n claimedBy: string | null;\n profile?: ApiCollectionProfile | null;\n floorPrice: string | null;\n totalVolume: string | null;\n holderCount: number | null;\n totalSupply: number | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoin {\n id: string;\n chain: string;\n contractAddress: string;\n standard: \"ERC20\";\n\n service: string;\n name: string | null;\n symbol: string | null;\n decimals: number;\n\n totalSupply: string | null;\n description: string | null;\n image: string | null;\n creator: string | null;\n\n isLaunched?: boolean | null;\n startBlock: string;\n isHidden: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoinPrice {\n\n usdc: number;\n}\n\nexport type ApiCoinPrices = Record<string, ApiCoinPrice | null>;\n\nexport type ApiCoinClaimResult =\n | { verified: true; coin: ApiCoin | null }\n | { verified: false; reason: \"owner_mismatch\" | \"owner_check_failed\" | \"not_erc20\" | \"no_total_supply\" };\n\nexport interface ApiCoinsQuery {\n chain?: ChainFilter;\n page?: number;\n limit?: number;\n service?: string;\n sort?: string;\n creator?: string;\n}\n\nexport interface ApiActivityPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n}\n\nexport interface ApiActivity {\n type: ActivityType;\n chain: import(\"../chains.js\").Chain;\n\n contractAddress?: string;\n tokenId?: string;\n from?: string;\n to?: string;\n blockNumber?: string;\n\n amount?: string;\n\n orderHash?: string;\n nftContract?: string;\n nftTokenId?: string;\n offerer?: string;\n fulfiller?: string | null;\n price?: ApiActivityPrice;\n\n tokenStandard?: \"ERC721\" | \"ERC1155\";\n txHash: string | null;\n timestamp: string;\n\n token?: { name: string | null; image: string | null; animationUrl: string | null } | null;\n}\n\nexport interface ApiActivitiesQuery {\n chain?: ChainFilter;\n type?: ActivityType;\n\n contract?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiComment {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n content: string;\n txHash: string | null;\n blockNumber: string;\n postedAt: string;\n}\n\nexport interface ApiSearchTokenResult {\n contractAddress: string;\n tokenId: string;\n name: string | null;\n image: string | null;\n owner: string;\n metadataStatus: string;\n}\n\nexport interface ApiSearchCollectionResult {\n contractAddress: string;\n name: string | null;\n image: string | null;\n totalSupply: number | null;\n floorPrice: string | null;\n holderCount: number | null;\n}\n\nexport interface ApiSearchCreatorResult {\n walletAddress: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n}\n\nexport interface ApiSearchResult {\n tokens: ApiSearchTokenResult[];\n collections: ApiSearchCollectionResult[];\n creators: ApiSearchCreatorResult[];\n}\n\nexport interface ApiIntent {\n id: string;\n chain: string;\n type: IntentType;\n status: IntentStatus;\n requester: string;\n typedData: unknown;\n calls: unknown;\n signature: string[];\n txHash: string | null;\n orderHash: string | null;\n\n parentOrderHash?: string | null;\n\n counterOfferMessage?: string | null;\n expiresAt: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface IntentCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport type ApiIntentCreated =\n | { id: string; expiresAt: string; requiresSignature: true; typedData: unknown }\n | { id: string; expiresAt: string; requiresSignature: false; calls: IntentCall[] };\n\nexport interface ApiTxSyncResult {\n applied: number;\n contracts?: string[];\n pending: boolean;\n}\n\nexport type CreateListingIntentParams = z.input<typeof intents.listingSchema>;\n\nexport type MakeOfferIntentParams = z.input<typeof intents.offerSchema>;\n\nexport type FulfillOrderIntentParams = z.input<typeof intents.fulfillSchema>;\n\nexport type CancelOrderIntentParams = z.input<typeof intents.cancelSchema>;\n\nexport type FactoryFamilyServiceId = (typeof intents.FACTORY_FAMILY_SERVICE_IDS)[number];\n\nexport type TierServiceId = (typeof intents.TIER_SERVICE_IDS)[number];\n\nexport type CollectionServiceId = (typeof intents.COLLECTION_SERVICE_IDS)[number];\n\nexport type CreateMintIntentParams = z.input<typeof intents.mintSchema>;\n\n/** Drop sale terms on the wire: amounts as decimal strings in the token's smallest unit. */\nexport interface DropTermsBody {\n /** Unix seconds; 0 = open from creation. */\n startTime: number;\n /** Unix seconds; 0 = never closes. */\n endTime: number;\n /** Per token; \"0\" = free. */\n price: string;\n paymentToken: string;\n /** \"0\" = unlimited. */\n maxPerWallet: string;\n}\n\nexport type ApiDropListStatus = \"live\" | \"upcoming\" | \"ended\";\n\nexport interface ApiDrop {\n contractAddress: string;\n dropId: string;\n organizer: string;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n /** Token URI = baseUri + token id. */\n baseUri: string | null;\n /** \"0\" = no cap. */\n maxSupply: string;\n minted: string;\n /** Total paid to the organizer, in the payment token's smallest unit. */\n revenue: string;\n collectors: number;\n terms: DropTermsBody;\n /** \"0x0\" = open to everyone. */\n allowlistRoot: string;\n createdBlock: string;\n}\n\nexport interface ApiDropFee {\n /** Platform fee added to a mint, in basis points; 0 when none applies. */\n launchpadBps: number;\n}\n\nexport interface ApiDropMint {\n kind: \"claim\" | \"issue\";\n wallet: string;\n quantity: string;\n firstTokenId: string;\n totalPaid: string;\n txHash: string;\n blockNumber: string;\n createdAt: string;\n}\n\nexport type CreateCollectionIntentParams = z.input<typeof intents.createCollectionSchema>;\n\nexport interface CheckoutIntentItem {\n orderHash: string;\n\n quantity?: string;\n}\n\nexport type CreateCheckoutIntentParams = z.input<typeof intents.checkoutBodySchema>;\n\nexport interface ApiCheckoutIntentResult {\n id?: string;\n orderHash: string;\n requiresSignature?: false;\n calls?: unknown;\n expiresAt?: string;\n\n error?: string;\n}\n\nexport type CreateTierIntentParams = z.output<typeof intents.createTierSchema>;\n\nexport type EmissionParams = z.input<typeof issuance.emissionSchema>;\n\nexport interface ApiEmissionCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport interface ApiEmissionResult {\n service: string;\n recipientCount: number;\n callCount: number;\n batches: ApiEmissionCall[][];\n}\n\nexport type CreateCoinIntentParams = z.input<typeof intents.createCoinSchema>;\n\nexport type LaunchCoinIntentParams = z.output<typeof intents.launchCoinSchema>;\n\nexport type CreateSponsorshipOfferIntentParams = z.output<typeof intents.sponsorshipOfferSchema>;\n\nexport type SetSponsorshipOfferOpenIntentParams = z.input<typeof intents.sponsorshipOfferOpenSchema>;\n\nexport type PlaceSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidSchema>;\n\nexport type RetractSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidRetractSchema>;\n\nexport type AcceptSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidAcceptSchema>;\n\nexport type CreateSponsorshipProposalIntentParams = z.output<typeof intents.sponsorshipProposalSchema>;\n\nexport type WithdrawSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalWithdrawSchema>;\n\nexport type AcceptSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalAcceptSchema>;\n\nexport type RejectSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalRejectSchema>;\n\nexport type CreateCounterOfferIntentParams = z.input<typeof intents.counterOfferSchema>;\n\nexport interface ApiCounterOffersQuery {\n\n originalOrderHash?: string;\n\n sellerAddress?: string;\n page?: number;\n limit?: number;\n}\n\nexport const OPEN_LICENSES = [\"CC0\", \"CC BY\", \"CC BY-SA\", \"CC BY-NC\"] as const;\nexport type OpenLicense = (typeof OPEN_LICENSES)[number];\n\nexport type RemixOfferStatus =\n | \"PENDING\"\n | \"AUTO_PENDING\"\n | \"APPROVED\"\n | \"COMPLETED\"\n | \"REJECTED\"\n | \"EXPIRED\"\n | \"SELF_MINTED\";\n\nexport interface ApiRemixOfferPrice {\n raw: string;\n formatted: string;\n currency: string;\n decimals: number;\n}\n\nexport interface ApiRemixOffer {\n id: string;\n status: RemixOfferStatus;\n originalContract: string;\n originalTokenId: string;\n creatorAddress: string;\n requesterAddress: string | null;\n message?: string | null;\n\n price?: ApiRemixOfferPrice;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct: number | null;\n approvedCollection: string | null;\n remixContract: string | null;\n remixTokenId: string | null;\n orderHash: string | null;\n createdAt: string;\n expiresAt: string;\n updatedAt: string;\n}\n\nexport interface ApiPublicRemix {\n id: string;\n remixContract: string | null;\n remixTokenId: string | null;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n createdAt: string;\n}\n\nexport interface CreateRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n proposedPrice?: string;\n proposedCurrency?: string;\n message?: string;\n\n expiresInDays?: number;\n}\n\nexport interface AutoRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n}\n\nexport interface ConfirmSelfRemixParams {\n originalContract: string;\n originalTokenId: string;\n remixContract: string;\n remixTokenId: string;\n\n txHash?: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n}\n\nexport interface ConfirmRemixOfferParams {\n approvedCollection: string;\n remixContract: string;\n remixTokenId: string;\n orderHash?: string;\n}\n\nexport interface ApiRemixOffersQuery {\n\n role: \"creator\" | \"requester\";\n status?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiMetadataSignedUrl {\n url: string;\n}\n\nexport interface ApiMetadataUpload {\n cid: string;\n url: string;\n}\n\nexport interface ApiPortalMe {\n id: string;\n accountId: string;\n status: string;\n creditBalance: number;\n}\n\nexport interface ApiPortalKey {\n id: string;\n prefix: string;\n label: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n}\n\nexport interface ApiPortalKeyCreated {\n id: string;\n prefix: string;\n label: string | null;\n\n plaintext: string;\n}\n\nexport interface ApiCreditPayment {\n id: string;\n asset: string;\n amountAtomic: string;\n creditedAmount: number;\n mdlnMultiplier: number;\n txHash: string;\n status: string;\n createdAt: string;\n}\n\nexport interface ApiFundingMethod {\n id: string;\n [detail: string]: unknown;\n}\n\nexport type ApiFundingStatus = \"PENDING\" | \"SETTLED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiFundingIntent {\n id: string;\n method: string;\n status: ApiFundingStatus;\n expiresAt: string;\n payer?: string | null;\n}\n\nexport interface ApiFundingInstructions {\n chain: string;\n payTo: string;\n asset: string;\n amountAtomic: string;\n}\n\nexport type ApiFundingSubmit =\n | { status: \"SETTLED\"; credited?: number }\n | { status: \"PENDING\"; reason: string };\n\nexport interface ApiSpendByAction {\n actionKey: string;\n credits: number;\n units: number;\n}\n\nexport interface ApiPortalSpend {\n recent: Array<{ actionKey: string; credits: number; createdAt: string }>;\n byAction: ApiSpendByAction[];\n spent: number;\n credited: number;\n drift: number;\n}\n\nexport interface ApiCollectionProfile {\n contractAddress: string;\n chain: string;\n displayName: string | null;\n description: string | null;\n image: string | null;\n bannerImage: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n hasGatedContent: boolean;\n gatedContentTitle: string | null;\n slug: string | null;\n updatedBy: string | null;\n updatedAt: string;\n}\n\nexport type UpdateCollectionProfileInput = z.output<typeof profiles.collectionProfileSchema>;\n\nexport interface ApiCollectionSlugClaim {\n id: string;\n slug: string;\n contractAddress: string;\n chain: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n notifyEmail: string | null;\n reviewedAt: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCreatorProfile {\n walletAddress: string;\n chain: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n\n collectionImage?: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n updatedAt: string;\n}\n\nexport interface ApiCreatorListResult {\n creators: ApiCreatorProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\nexport type ApiChain = \"STARKNET\" | \"ETHEREUM\" | \"SOLANA\" | \"BASE\" | \"BITCOIN\";\n\nexport interface ApiSession {\n accountId: string;\n publicId: string;\n walletAddress: string | null;\n email: string | null;\n emailDeadline: string | null;\n}\n\nexport interface ApiUserWallet {\n walletAddress: string;\n email?: string | null;\n emailDeadline?: string | null;\n}\n\nexport interface ApiCollectionClaim {\n id: string;\n contractAddress: string;\n chain: string;\n claimantAddress: string | null;\n status: \"PENDING\" | \"AUTO_APPROVED\" | \"APPROVED\" | \"REJECTED\";\n verificationMethod: \"ONCHAIN\" | \"SIGNATURE\" | \"MANUAL\";\n createdAt: string;\n}\n\nexport interface ApiAdminCollectionClaim extends ApiCollectionClaim {\n claimantEmail: string | null;\n notes: string | null;\n adminNotes: string | null;\n reviewedBy: string | null;\n reviewedAt: string | null;\n updatedAt: string;\n}\n\nexport interface ApiBusinessProvisioning {\n chain: string;\n walletAddress: string;\n}\n\nexport interface ApiWalletActivity {\n id: string;\n chain: string;\n accountAddress: string;\n type: \"SEND\" | \"RECEIVE\" | \"SWAP\" | \"DEPLOY\" | \"GUARDIAN_SET\" | \"GUARDIAN_TRIGGER_ESCAPE\" | \"GUARDIAN_COMPLETE_ESCAPE\" | \"GUARDIAN_CANCEL_ESCAPE\";\n txHash: string;\n blockNumber: string;\n timestamp: string;\n tokenAddress: string | null;\n amount: string | null;\n counterparty: string | null;\n tokenInAddress: string | null;\n amountIn: string | null;\n tokenOutAddress: string | null;\n amountOut: string | null;\n}\n\nexport interface ApiRewardsBadge {\n key: string;\n name: string;\n description: string;\n icon: string;\n color: string;\n category: string;\n}\n\nexport interface ApiRewardsLevel {\n level: number;\n name: string;\n xpRequired: number;\n badgeColor: string;\n description: string | null;\n}\n\nexport interface ApiUserRewards {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n nextLevel: { level: number; name: string; xpRequired: number } | null;\n progressPct: number;\n breakdown: Record<string, number>;\n badges: ApiRewardsBadge[];\n computedAt: string | null;\n}\n\nexport interface ApiRewardsLeaderboardEntry {\n rank: number;\n address: string;\n accountId: string | null;\n publicId: string | null;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiRewardsConfig {\n levels: ApiRewardsLevel[];\n actions: { type: string; label: string; xp: number; dailyCap: number | null }[];\n badges: ApiRewardsBadge[];\n}\n\nexport interface ApiRewardsBatchEntry {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiPointEvent {\n id: string;\n actionType: string;\n xp: number;\n multiplier: number;\n finalXp: number;\n txHash: string | null;\n createdAt: string;\n}\n\nexport interface ApiPlatformStats {\n collections: number;\n tokens: number;\n sales: number;\n}\n\nexport interface ApiTierOnchain {\n maxSupply: string;\n minted: string;\n startTime: number | null;\n endTime: number | null;\n royaltyBps: number;\n}\n\nexport interface ApiSwapQuoteRequest {\n sellSymbol?: string;\n buySymbol?: string;\n sellTokenAddress?: string;\n buyTokenAddress?: string;\n sellAmountRaw?: string;\n buyAmountRaw?: string;\n takerAddress?: string;\n}\n\nexport interface ApiSwapQuote {\n quoteId: string;\n sellTokenAddress: string;\n sellAmount: string;\n buyTokenAddress: string;\n buyAmount: string;\n}\n\nexport interface ApiIpNftTokenData {\n owner: string;\n metadataUri: string;\n originalCreator: string;\n registeredAt: number;\n}\n\nexport interface ApiTokensQuery {\n page?: number;\n limit?: number;\n sort?: string;\n ipType?: string;\n derivatives?: \"allowed\";\n}\n\nexport interface ApiUsernameClaim {\n id: string;\n username: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n reviewedAt: string | null;\n createdAt: string;\n}\n\nexport type ApiReportTargetType = \"COLLECTION\" | \"TOKEN\" | \"CREATOR\" | \"COMMENT\";\n\nexport interface ApiSubmitReport {\n targetType: ApiReportTargetType;\n targetContract?: string;\n targetTokenId?: string;\n targetAddress?: string;\n targetId?: string;\n categories: string[];\n description?: string;\n}\n\nexport interface ApiSponsorshipOffer {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n author: string;\n nftContract: string;\n tokenId: string;\n minAmount: string;\n duration: number;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n specificSponsor: string | null;\n open: boolean;\n createdAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipBid {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n sponsor: string;\n amount: string;\n placedAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipProposal {\n id: string;\n chain: string;\n contractAddress: string;\n proposalId: string;\n proposer: string;\n nftContract: string;\n tokenId: string;\n amount: string;\n duration: number;\n validUntil: string | null;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n open: boolean;\n accepted: boolean | null;\n createdAtChain: string;\n closedAtChain: string | null;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipLicense {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n recipient: string;\n assetContract: string;\n assetTokenId: string;\n expiresAt: string;\n transferable: boolean;\n royaltyBps: number;\n licenseTermsUri: string;\n offerId: string | null;\n proposalId: string | null;\n mintedAtChain: string;\n currentHolder?: string | null;\n}\n\nexport interface ApiSponsorshipOffersQuery {\n limit?: number;\n nftContract?: string;\n author?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipProposalsQuery {\n limit?: number;\n nftContract?: string;\n proposer?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipLicensesQuery {\n limit?: number;\n holder?: string;\n author?: string;\n}\n\nexport interface ApiCollectionsListQuery {\n page?: number;\n limit?: number;\n owner?: string;\n service?: string;\n sort?: CollectionSort;\n isFeatured?: boolean;\n hideEmpty?: boolean;\n standard?: string;\n chain?: ChainFilter;\n}\n\nexport interface ApiPricingRule {\n actionKey: string;\n chain: string;\n service: string;\n credits: number;\n}\n\nexport interface ApiPricing {\n creditsPerUsdc: number;\n mdln?: { contract: string | null; tiers: { minWholeTokens: number; multiplier: number }[] };\n pricing: { default: number; rules: ApiPricingRule[] };\n}\n\nexport type CreateTransferTokenIntentParams = z.input<typeof intents.transferTokenSchema>;\n\nexport type CreateTransferNftIntentParams = z.input<typeof intents.transferNftSchema>;\n\nexport type CreateTransferCollectionOwnershipIntentParams = z.input<typeof intents.transferCollectionOwnershipSchema>;\n\nexport type CreateCommentIntentParams = z.input<typeof intents.commentSchema>;\n\nexport type CreateGenesisMintIntentParams = z.input<typeof intents.genesisMintSchema>;\n\nexport type CreatePopClaimIntentParams = z.input<typeof intents.popClaimSchema>;\n\nexport type CreatePopBurnIntentParams = z.input<typeof intents.popBurnSchema>;\n\nexport type CreateDropClaimIntentParams = z.input<typeof intents.dropClaimSchema>;\n\nexport type WalletManageAction = \"add_owner\" | \"remove_owner\" | \"cancel_escape\" | \"set_first_guardian\" | \"trigger_escape\" | \"complete_escape\";\n\nexport type CreateWalletManageIntentParams = z.input<typeof intents.walletManageSchema>;\n\nexport type CreateSwapIntentParams = z.input<typeof intents.swapIntentSchema>;\n\nexport type CreateFundingTransferIntentParams = z.input<typeof intents.fundingTransferSchema>;\n\nexport type DropManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreateDropManageIntentParams = z.input<typeof intents.dropManageSchema>;\n\nexport type PopManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreatePopManageIntentParams = z.input<typeof intents.popManageSchema>;\n\nexport interface IntentParamsByKind {\n listing: CreateListingIntentParams;\n offer: MakeOfferIntentParams;\n fulfill: FulfillOrderIntentParams;\n cancel: CancelOrderIntentParams;\n mint: CreateMintIntentParams;\n \"transfer-token\": CreateTransferTokenIntentParams;\n \"transfer-nft\": CreateTransferNftIntentParams;\n \"transfer-collection-ownership\": CreateTransferCollectionOwnershipIntentParams;\n comment: CreateCommentIntentParams;\n \"genesis-mint\": CreateGenesisMintIntentParams;\n \"pop-claim\": CreatePopClaimIntentParams;\n \"pop-burn\": CreatePopBurnIntentParams;\n \"drop-claim\": CreateDropClaimIntentParams;\n \"wallet-manage\": CreateWalletManageIntentParams;\n swap: CreateSwapIntentParams;\n \"funding-transfer\": CreateFundingTransferIntentParams;\n \"drop-manage\": CreateDropManageIntentParams;\n \"pop-manage\": CreatePopManageIntentParams;\n \"create-collection\": CreateCollectionIntentParams;\n \"create-tier\": CreateTierIntentParams;\n \"create-coin\": CreateCoinIntentParams;\n \"launch-coin\": LaunchCoinIntentParams;\n \"sponsorship-offer\": CreateSponsorshipOfferIntentParams;\n \"sponsorship-offer-open\": SetSponsorshipOfferOpenIntentParams;\n \"sponsorship-bid\": PlaceSponsorshipBidIntentParams;\n \"sponsorship-bid-retract\": RetractSponsorshipBidIntentParams;\n \"sponsorship-bid-accept\": AcceptSponsorshipBidIntentParams;\n \"sponsorship-proposal\": CreateSponsorshipProposalIntentParams;\n \"sponsorship-proposal-withdraw\": WithdrawSponsorshipProposalIntentParams;\n \"sponsorship-proposal-accept\": AcceptSponsorshipProposalIntentParams;\n \"sponsorship-proposal-reject\": RejectSponsorshipProposalIntentParams;\n \"counter-offer\": CreateCounterOfferIntentParams;\n}\n","\n\nexport type AssetAttribute = { trait_type: string; value: string };\n\nexport interface AssetMetadata {\n name: string;\n description: string;\n image: string | null;\n external_url: string;\n attributes: AssetAttribute[];\n}\n\nexport interface BuildAssetMetadataInput {\n name: string;\n description?: string | null;\n externalUrl?: string | null;\n imageUri?: string | null;\n creator?: string | null;\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n geographicScope?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n edition?: string | null;\n\n templateTraits?: { traitType: string; value: string }[];\n\n registrationDate?: string;\n}\n\nexport const RESERVED_TRAITS = new Set([\n \"Creator\", \"IP Type\", \"License\", \"Commercial Use\", \"Derivatives\",\n \"Attribution\", \"Territory\", \"AI Policy\", \"Royalty\", \"Edition\",\n \"Standard\", \"Registration\",\n]);\nconst RESERVED_TRAITS_NORMALIZED = new Set([...RESERVED_TRAITS].map((t) => t.toLowerCase()));\n\nexport function buildAssetMetadata(input: BuildAssetMetadataInput): AssetMetadata {\n const attributes: AssetAttribute[] = [];\n\n if (input.creator) attributes.push({ trait_type: \"Creator\", value: input.creator });\n if (input.ipType) attributes.push({ trait_type: \"IP Type\", value: input.ipType });\n if (input.licenseType) attributes.push({ trait_type: \"License\", value: input.licenseType });\n if (input.commercialUse) attributes.push({ trait_type: \"Commercial Use\", value: input.commercialUse });\n if (input.derivatives) attributes.push({ trait_type: \"Derivatives\", value: input.derivatives });\n if (input.attribution) attributes.push({ trait_type: \"Attribution\", value: input.attribution });\n if (input.geographicScope) attributes.push({ trait_type: \"Territory\", value: input.geographicScope });\n if (input.aiPolicy) attributes.push({ trait_type: \"AI Policy\", value: input.aiPolicy });\n\n if (input.royalty) {\n const num = parseFloat(String(input.royalty).replace(\"%\", \"\"));\n if (!isNaN(num) && num > 0) attributes.push({ trait_type: \"Royalty\", value: `${num}%` });\n }\n\n if (input.edition) attributes.push({ trait_type: \"Edition\", value: input.edition });\n\n for (const t of input.templateTraits ?? []) {\n const traitType = t.traitType?.trim() ?? \"\";\n const traitValue = String(t.value ?? \"\").trim();\n if (!traitType || !traitValue || RESERVED_TRAITS_NORMALIZED.has(traitType.toLowerCase())) continue;\n attributes.push({ trait_type: traitType, value: traitValue });\n }\n\n if (input.licenseType) {\n attributes.push({ trait_type: \"Standard\", value: \"Berne Convention\" });\n attributes.push({\n trait_type: \"Registration\",\n value: input.registrationDate ?? new Date().toISOString().split(\"T\")[0],\n });\n }\n\n return {\n name: input.name,\n description: input.description ?? \"\",\n image: input.imageUri ?? null,\n external_url: input.externalUrl || \"https://medialane.io\",\n attributes,\n };\n}\n\nexport interface CollectionMetadata {\n name: string;\n description?: string;\n image?: string;\n external_link: string;\n}\n\nexport interface BuildCollectionMetadataInput {\n name: string;\n owner: string;\n description?: string | null;\n image?: string | null;\n externalLink?: string | null;\n}\n\nexport const accountPageUrl = (address: string): string => `https://www.medialane.io/account/${address}`;\n\nexport function buildCollectionMetadata(input: BuildCollectionMetadataInput): CollectionMetadata {\n const description = input.description?.trim();\n const image = input.image?.trim();\n return {\n name: input.name,\n ...(description ? { description } : {}),\n ...(image ? { image } : {}),\n external_link: input.externalLink?.trim() || accountPageUrl(input.owner),\n };\n}\n","\n\ntype Attribute = { trait_type?: string; value?: string };\n\nexport function getDerivativesTerm(\n attributes: Attribute[] | null | undefined,\n): \"Allowed\" | \"Not Allowed\" | null {\n const v = (Array.isArray(attributes) ? attributes : []).find(\n (a) => a.trait_type === \"Derivatives\",\n )?.value;\n return v === \"Allowed\" || v === \"Not Allowed\" ? v : null;\n}\n\nexport interface RemixPolicyInput {\n\n parentNoDerivatives: boolean;\n\n viewerIsParentOwner: boolean;\n\n dealAvailable: boolean;\n}\n\nexport interface RemixPolicy extends RemixPolicyInput {\n\n canRemixDirect: boolean;\n\n showDealOption: boolean;\n}\n\nexport function resolveRemixPolicy(input: RemixPolicyInput): RemixPolicy {\n const canRemixDirect = input.viewerIsParentOwner || !input.parentNoDerivatives;\n const showDealOption = input.dealAvailable && !input.viewerIsParentOwner;\n return { ...input, canRemixDirect, showDealOption };\n}\n","export type UploadKind = \"image\" | \"document\" | \"media\";\n\nexport interface UploadLimit {\n mimeTypes: readonly string[];\n extensions: readonly string[];\n}\n\nconst MB = 1024 * 1024;\n\nexport const MAX_UPLOAD_BYTES = 90 * MB;\n\nconst IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".gif\", \".svg\", \".webp\", \".avif\"];\n\nexport const UPLOAD_LIMITS: Record<UploadKind, UploadLimit> = {\n image: {\n mimeTypes: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\", \"image/webp\", \"image/avif\"],\n extensions: IMAGE_EXTENSIONS,\n },\n document: {\n mimeTypes: [\n \"application/pdf\",\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.oasis.opendocument.text\",\n \"application/rtf\",\n \"text/plain\",\n \"text/markdown\",\n \"application/octet-stream\",\n ],\n extensions: [\".pdf\", \".doc\", \".docx\", \".odt\", \".rtf\", \".txt\", \".md\"],\n },\n media: {\n mimeTypes: [\n \"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\", \"image/svg+xml\", \"image/avif\",\n \"video/mp4\", \"video/webm\", \"video/ogg\",\n \"audio/mpeg\", \"audio/ogg\", \"audio/wav\", \"audio/webm\", \"audio/flac\",\n \"application/pdf\",\n ],\n extensions: [...IMAGE_EXTENSIONS, \".mp4\", \".webm\", \".ogv\", \".ogg\", \".mp3\", \".wav\", \".flac\", \".pdf\"],\n },\n};\n\nexport function formatFileSize(bytes: number): string {\n const mb = bytes / MB;\n return `${Number.isInteger(mb) ? mb : mb.toFixed(1)} MB`;\n}\n\nexport function uploadSizeError(file: { size: number }, kind: UploadKind = \"image\"): string | null {\n if (file.size <= MAX_UPLOAD_BYTES) return null;\n const noun = kind === \"image\" ? \"image\" : \"file\";\n return `That ${noun} is ${formatFileSize(file.size)}. Please choose one under ${formatFileSize(MAX_UPLOAD_BYTES)}.`;\n}\n\nexport function acceptFor(kind: UploadKind): string {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n return [...mimeTypes, ...extensions].join(\",\");\n}\n\nfunction typeList(extensions: readonly string[]): string {\n const names = extensions.map((ext) => ext.slice(1).toUpperCase());\n return names.length > 1 ? `${names.slice(0, -1).join(\", \")} or ${names[names.length - 1]}` : names.join(\"\");\n}\n\nexport function uploadError(file: { size: number; type: string; name?: string }, kind: UploadKind = \"image\"): string | null {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n const name = (file.name ?? \"\").toLowerCase();\n const allowed = mimeTypes.includes(file.type) || (file.type === \"\" && extensions.some((ext) => name.endsWith(ext)));\n if (!allowed) return `Choose ${kind === \"image\" ? \"an image\" : \"a file\"} in ${typeList(extensions)}.`;\n return uploadSizeError(file, kind);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/launchpad-runs.ts","../src/types/api.ts","../src/metadata.ts","../src/remix-policy.ts","../src/uploads.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { FetchLike } from \"../utils/fetch.js\";\nexport type RunStatus = \"DRAFT\" | \"PAID\" | \"RUNNING\" | \"COMPLETED\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface RunQuoteLine {\n action: string;\n units: number;\n unitCredits: number;\n credits: number;\n}\n\nexport interface RunQuote {\n lines: RunQuoteLine[];\n total: number;\n}\n\nexport type NextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"metadata\"; items: number[] }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type TicketingNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"ticket-metadata\" }\n | { kind: \"tier\" }\n | { kind: \"wait-tier\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport type CertificateEmissionNextStep =\n | { kind: \"collection\" }\n | { kind: \"wait-collection\" }\n | { kind: \"upload\"; files: string[] }\n | { kind: \"certificate-metadata\" }\n | { kind: \"wallets\" }\n | { kind: \"batch\"; index: number }\n | { kind: \"wait\"; index: number }\n | { kind: \"done\" };\n\nexport interface WalletRequest {\n recipient: string;\n}\n\ninterface LaunchpadRunBase {\n id: string;\n status: RunStatus;\n spec: unknown;\n quote: RunQuote | null;\n creditsHeld: number;\n creditsSpent: number;\n progress: unknown;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type DataTokenizationRun = LaunchpadRunBase & { service: \"data-tokenization-erc721\"; next?: NextStep };\nexport type TicketingRun = LaunchpadRunBase & { service: \"ip-ticketing\"; next?: TicketingNextStep };\nexport type CertificateEmissionRun = LaunchpadRunBase & { service: \"certificate-emission\"; next?: CertificateEmissionNextStep };\nexport type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;\n\nexport const isDataTokenizationRun = (run: LaunchpadRun): run is DataTokenizationRun =>\n run.service === \"data-tokenization-erc721\";\n\nexport const isTicketingRun = (run: LaunchpadRun): run is TicketingRun => run.service === \"ip-ticketing\";\n\nexport const isCertificateEmissionRun = (run: LaunchpadRun): run is CertificateEmissionRun =>\n run.service === \"certificate-emission\";\n\nexport interface ConfirmResult {\n pending: boolean;\n status: string;\n completed?: boolean;\n}\n\nexport class RunRequestError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly body: Record<string, unknown>,\n ) {\n super(message);\n }\n}\n\nexport interface LaunchpadRunsClientOptions {\n baseUrl: string;\n fetchImpl?: FetchLike;\n}\n\nexport function createLaunchpadRunsClient({ baseUrl, fetchImpl = fetch }: LaunchpadRunsClientOptions) {\n const runsUrl = `${baseUrl.replace(/\\/$/, \"\")}/v1/portal/runs`;\n const runBase = (id: string): string => `${runsUrl}/${id}`;\n const runBatchBase = (id: string, index: number): string => `${runBase(id)}/batches/${index}`;\n const runCollectionBase = (id: string): string => `${runBase(id)}/collection`;\n const runTierBase = (id: string): string => `${runBase(id)}/tier`;\n\n const runFetch: FetchLike = (input, init) => fetchImpl(input, { ...init, cache: \"no-store\" });\n\n async function call<T>(url: string, init?: RequestInit): Promise<{ status: number; data: T }> {\n const res = await runFetch(url, {\n ...init,\n headers: { \"content-type\": \"application/json\", ...(init?.headers as Record<string, string> | undefined) },\n });\n const body = (await res.json().catch(() => ({}))) as Record<string, unknown>;\n if (!res.ok) {\n throw new RunRequestError(String(body.error ?? \"Something went wrong with this run\"), res.status, body);\n }\n return { status: res.status, data: body.data as T };\n }\n\n const post = <T>(url: string, body?: unknown) =>\n call<T>(url, { method: \"POST\", body: body === undefined ? undefined : JSON.stringify(body) });\n\n const confirm = async (url: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(url);\n return { pending: status === 202, status: data.status, completed: data.completed };\n };\n\n const ticketing = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/wallets/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/wallets`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmTier: (id: string) => confirm(`${runTierBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n const certificateEmission = {\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n metadata: async (id: string, userAddress: string) =>\n (await post<{ tokenUri: string }>(`${runBase(id)}/certificate-metadata`, { userAddress })).data,\n\n resolveWallets: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/recipients/resolve`)).data.pending,\n\n registerWallet: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/recipients`, request)).data,\n\n confirmCollection: (id: string) => confirm(`${runCollectionBase(id)}/confirm`),\n confirmBatch: (id: string, index: number) => confirm(`${runBatchBase(id, index)}/confirm`),\n };\n\n return {\n fetch: runFetch,\n runBase,\n runBatchBase,\n runCollectionBase,\n runTierBase,\n ticketing,\n certificateEmission,\n\n list: async () => (await call<LaunchpadRun[]>(runsUrl)).data,\n\n get: async (id: string) => (await call<LaunchpadRun>(`${runBase(id)}`)).data,\n\n create: async (service: string, spec: unknown) =>\n (await post<LaunchpadRun>(runsUrl, { service, spec })).data,\n\n update: async (id: string, spec: unknown) =>\n (await call<LaunchpadRun>(`${runBase(id)}`, { method: \"PATCH\", body: JSON.stringify({ spec }) })).data,\n\n cancel: async (id: string) => (await post<LaunchpadRun>(`${runBase(id)}/cancel`)).data,\n\n checkoutWithCredits: async (id: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"credits\" })).data,\n\n checkoutFromWallet: async (id: string, intentId: string) =>\n (await post<LaunchpadRun>(`${runBase(id)}/checkout`, { method: \"wallet\", intentId })).data,\n\n uploadUrl: async (id: string, name: string) =>\n (await post<{ name: string; url: string }>(`${runBase(id)}/files/upload-url`, { name })).data.url,\n\n uploaded: async (id: string, name: string, cid: string) =>\n (await post<{ name: string; uri: string }>(`${runBase(id)}/files/uploaded`, { name, cid })).data,\n\n itemMetadata: async (id: string, index: number, userAddress: string) =>\n (await post<{ index: number; tokenUri: string }>(`${runBase(id)}/items/${index}/metadata`, { userAddress })).data,\n\n resolveGuests: async (id: string) =>\n (await post<{ pending: string[] }>(`${runBase(id)}/guests/resolve`)).data.pending,\n\n registerGuest: async (id: string, request: WalletRequest) =>\n (await post<{ recipient: string; walletAddress: string }>(`${runBase(id)}/guests`, request)).data,\n\n confirmBatch: async (id: string, index: number): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string; completed?: boolean }>(\n `${runBase(id)}/batches/${index}/confirm`,\n );\n return { pending: status === 202, status: data.status, completed: data.completed };\n },\n\n confirmCollection: async (id: string): Promise<ConfirmResult> => {\n const { status, data } = await post<{ status: string }>(`${runBase(id)}/collection/confirm`);\n return { pending: status === 202, status: data.status };\n },\n };\n}\n\nexport type LaunchpadRunsClient = ReturnType<typeof createLaunchpadRunsClient>;\n","import type { z } from \"zod\";\nimport type * as intents from \"../contract/intents.js\";\nimport type * as issuance from \"../contract/issuance.js\";\nimport type * as orders from \"../contract/orders.js\";\nimport type * as profiles from \"../contract/profiles.js\";\nimport type * as responses from \"../contract/responses.js\";\n\nexport type IPType =\n | \"Audio\"\n | \"Art\"\n | \"Documents\"\n | \"NFT\"\n | \"Video\"\n | \"Photography\"\n | \"Patents\"\n | \"Posts\"\n | \"Publications\"\n | \"RWA\"\n | \"Software\"\n | \"Custom\";\n\nexport type CollectionSort = \"recent\" | \"supply\" | \"floor\" | \"volume\" | \"name\";\n\nexport type CollectionTokensSort = \"recent\" | \"oldest\" | \"name\" | \"price\";\n\nexport type ServiceCapability =\n | \"list\" | \"buy\" | \"make_offer\" | \"cancel\"\n | \"transfer\" | \"burn\"\n | \"mint\" | \"claim\" | \"airdrop\"\n | \"remix\" | \"license\"\n | \"subscribe\" | \"redeem\"\n | \"launch\" | \"swap\"\n | \"sponsor\";\n\nexport interface EnforcementDeclaration {\n royalty?: \"erc2981\" | \"service-split\" | \"none\";\n escrow?: boolean;\n timeLock?: boolean;\n revocable?: boolean;\n}\n\nexport interface ServiceEventDeclaration {\n\n name: string;\n\n emittedBy: \"factory\" | \"instance\";\n\n poll?: \"fast\" | \"slow\";\n}\n\nexport interface ServiceDefinition {\n\n id: string;\n displayName: string;\n description: string;\n standard: \"ERC721\" | \"ERC1155\" | \"ERC20\" | \"UNKNOWN\";\n provenance: \"MEDIALANE\" | \"EXTERNAL\";\n onchain?: Partial<Record<import(\"../chains.js\").Chain, {\n factoryAddress?: string;\n classHash?: string;\n startBlock?: number;\n }>>;\n\n uiVariant: string;\n capabilities: ServiceCapability[];\n\n events?: ServiceEventDeclaration[];\n metadataSchema?: {\n requiredTraits?: string[];\n\n licenseDefault?: string;\n enforcement?: EnforcementDeclaration;\n };\n}\n\nexport interface ApiCollectionsQuery {\n page?: number;\n limit?: number;\n isKnown?: boolean;\n sort?: CollectionSort;\n owner?: string;\n\n service?: string;\n}\n\nexport type OrderStatus = \"ACTIVE\" | \"FULFILLED\" | \"CANCELLED\" | \"EXPIRED\";\nexport type SortOrder = \"price_asc\" | \"price_desc\" | \"recent\";\nexport type ActivityType = \"mint\" | \"transfer\" | \"sale\" | \"listing\" | \"offer\" | \"cancelled\";\nexport type IntentType = \"CREATE_LISTING\" | \"MAKE_OFFER\" | \"FULFILL_ORDER\" | \"CANCEL_ORDER\" | \"MINT\" | \"CREATE_COLLECTION\" | \"COUNTER_OFFER\";\nexport type IntentStatus = \"PENDING\" | \"SIGNED\" | \"SUBMITTED\" | \"CONFIRMED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiMeta {\n page: number;\n limit: number;\n total?: number;\n\n counts?: Record<string, number>;\n}\n\nexport interface ApiResponse<T> {\n data: T;\n meta?: ApiMeta;\n}\n\nexport type ChainFilter = import(\"../chains.js\").Chain | \"all\";\n\nexport type ApiOrdersQuery = z.input<typeof orders.ordersListQuery> & { chain?: ChainFilter };\n\nexport interface ApiOrderOffer {\n itemType: string;\n token: string;\n identifier: string;\n startAmount: string;\n endAmount: string;\n}\n\nexport interface ApiOrderConsideration extends ApiOrderOffer {\n recipient: string;\n}\n\nexport interface ApiOrderPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n decimals: number;\n}\n\nexport interface ApiOrderTxHash {\n created: string | null;\n fulfilled: string | null;\n cancelled: string | null;\n}\n\nexport interface ApiOrderTokenMeta {\n name: string | null;\n image: string | null;\n description: string | null;\n animationUrl: string | null;\n}\n\nexport type ApiOrder = z.output<typeof responses.orderSchema>;\n\nexport type IpAttribute = z.output<typeof responses.tokenAttributeSchema>;\n\nexport interface IpNftMetadata {\n name: string;\n description?: string;\n image?: string | null;\n external_url?: string;\n attributes?: IpAttribute[];\n\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n territory?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n registration?: string | null;\n}\n\nexport type ApiTokenMetadata = ApiToken[\"metadata\"];\n\nexport interface ApiTokenBalance {\n owner: string;\n\n amount: string;\n}\n\nexport type ApiToken = z.output<typeof responses.tokenSchema>;\n\nexport type ApiCollection = z.output<typeof responses.collectionSchema>;\n\nexport interface ApiCoin {\n id: string;\n chain: string;\n contractAddress: string;\n standard: \"ERC20\";\n\n service: string;\n name: string | null;\n symbol: string | null;\n decimals: number;\n\n totalSupply: string | null;\n description: string | null;\n image: string | null;\n creator: string | null;\n\n isLaunched?: boolean | null;\n startBlock: string;\n isHidden: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCoinPrice {\n\n usdc: number;\n}\n\nexport type ApiCoinPrices = Record<string, ApiCoinPrice | null>;\n\nexport type ApiCoinClaimResult =\n | { verified: true; coin: ApiCoin | null }\n | { verified: false; reason: \"owner_mismatch\" | \"owner_check_failed\" | \"not_erc20\" | \"no_total_supply\" };\n\nexport interface ApiCoinsQuery {\n chain?: ChainFilter;\n page?: number;\n limit?: number;\n service?: string;\n sort?: string;\n creator?: string;\n}\n\nexport interface ApiActivityPrice {\n raw: string | null;\n formatted: string | null;\n currency: string | null;\n}\n\nexport interface ApiActivity {\n type: ActivityType;\n chain: import(\"../chains.js\").Chain;\n\n contractAddress?: string;\n tokenId?: string;\n from?: string;\n to?: string;\n blockNumber?: string;\n\n amount?: string;\n\n orderHash?: string;\n nftContract?: string;\n nftTokenId?: string;\n offerer?: string;\n fulfiller?: string | null;\n price?: ApiActivityPrice;\n\n tokenStandard?: \"ERC721\" | \"ERC1155\";\n txHash: string | null;\n timestamp: string;\n\n token?: { name: string | null; image: string | null; animationUrl: string | null } | null;\n}\n\nexport interface ApiActivitiesQuery {\n chain?: ChainFilter;\n type?: ActivityType;\n\n contract?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiComment {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n content: string;\n txHash: string | null;\n blockNumber: string;\n postedAt: string;\n}\n\nexport interface ApiSearchTokenResult {\n contractAddress: string;\n tokenId: string;\n name: string | null;\n image: string | null;\n owner: string;\n metadataStatus: string;\n}\n\nexport interface ApiSearchCollectionResult {\n contractAddress: string;\n name: string | null;\n image: string | null;\n totalSupply: number | null;\n floorPrice: string | null;\n holderCount: number | null;\n}\n\nexport interface ApiSearchCreatorResult {\n walletAddress: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n}\n\nexport interface ApiSearchResult {\n tokens: ApiSearchTokenResult[];\n collections: ApiSearchCollectionResult[];\n creators: ApiSearchCreatorResult[];\n}\n\nexport interface ApiIntent {\n id: string;\n chain: string;\n type: IntentType;\n status: IntentStatus;\n requester: string;\n typedData: unknown;\n calls: unknown;\n signature: string[];\n txHash: string | null;\n orderHash: string | null;\n\n parentOrderHash?: string | null;\n\n counterOfferMessage?: string | null;\n expiresAt: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface IntentCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport type ApiIntentCreated =\n | { id: string; expiresAt: string; requiresSignature: true; typedData: unknown }\n | { id: string; expiresAt: string; requiresSignature: false; calls: IntentCall[] };\n\nexport interface ApiTxSyncResult {\n applied: number;\n contracts?: string[];\n pending: boolean;\n}\n\nexport type CreateListingIntentParams = z.input<typeof intents.listingSchema>;\n\nexport type MakeOfferIntentParams = z.input<typeof intents.offerSchema>;\n\nexport type FulfillOrderIntentParams = z.input<typeof intents.fulfillSchema>;\n\nexport type CancelOrderIntentParams = z.input<typeof intents.cancelSchema>;\n\nexport type FactoryFamilyServiceId = (typeof intents.FACTORY_FAMILY_SERVICE_IDS)[number];\n\nexport type TierServiceId = (typeof intents.TIER_SERVICE_IDS)[number];\n\nexport type CollectionServiceId = (typeof intents.COLLECTION_SERVICE_IDS)[number];\n\nexport type CreateMintIntentParams = z.input<typeof intents.mintSchema>;\n\n/** Drop sale terms on the wire: amounts as decimal strings in the token's smallest unit. */\nexport interface DropTermsBody {\n /** Unix seconds; 0 = open from creation. */\n startTime: number;\n /** Unix seconds; 0 = never closes. */\n endTime: number;\n /** Per token; \"0\" = free. */\n price: string;\n paymentToken: string;\n /** \"0\" = unlimited. */\n maxPerWallet: string;\n}\n\nexport type ApiDropListStatus = \"live\" | \"upcoming\" | \"ended\";\n\nexport interface ApiDrop {\n contractAddress: string;\n dropId: string;\n organizer: string;\n name: string | null;\n symbol: string | null;\n description: string | null;\n image: string | null;\n /** Token URI = baseUri + token id. */\n baseUri: string | null;\n /** \"0\" = no cap. */\n maxSupply: string;\n minted: string;\n /** Total paid to the organizer, in the payment token's smallest unit. */\n revenue: string;\n collectors: number;\n terms: DropTermsBody;\n /** \"0x0\" = open to everyone. */\n allowlistRoot: string;\n createdBlock: string;\n}\n\nexport interface ApiDropFee {\n /** Platform fee added to a mint, in basis points; 0 when none applies. */\n launchpadBps: number;\n}\n\nexport interface ApiDropMint {\n kind: \"claim\" | \"issue\";\n wallet: string;\n quantity: string;\n firstTokenId: string;\n totalPaid: string;\n txHash: string;\n blockNumber: string;\n createdAt: string;\n}\n\nexport type CreateCollectionIntentParams = z.input<typeof intents.createCollectionSchema>;\n\nexport interface CheckoutIntentItem {\n orderHash: string;\n\n quantity?: string;\n}\n\nexport type CreateCheckoutIntentParams = z.input<typeof intents.checkoutBodySchema>;\n\nexport interface ApiCheckoutIntentResult {\n id?: string;\n orderHash: string;\n requiresSignature?: false;\n calls?: unknown;\n expiresAt?: string;\n\n error?: string;\n}\n\nexport type CreateTierIntentParams = z.output<typeof intents.createTierSchema>;\n\nexport type EmissionParams = z.input<typeof issuance.emissionSchema>;\n\nexport interface ApiEmissionCall {\n contractAddress: string;\n entrypoint: string;\n calldata: string[];\n}\n\nexport interface ApiEmissionResult {\n service: string;\n recipientCount: number;\n callCount: number;\n batches: ApiEmissionCall[][];\n}\n\nexport type CreateCoinIntentParams = z.input<typeof intents.createCoinSchema>;\n\nexport type LaunchCoinIntentParams = z.output<typeof intents.launchCoinSchema>;\n\nexport type CreateSponsorshipOfferIntentParams = z.output<typeof intents.sponsorshipOfferSchema>;\n\nexport type SetSponsorshipOfferOpenIntentParams = z.input<typeof intents.sponsorshipOfferOpenSchema>;\n\nexport type PlaceSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidSchema>;\n\nexport type RetractSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidRetractSchema>;\n\nexport type AcceptSponsorshipBidIntentParams = z.input<typeof intents.sponsorshipBidAcceptSchema>;\n\nexport type CreateSponsorshipProposalIntentParams = z.output<typeof intents.sponsorshipProposalSchema>;\n\nexport type WithdrawSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalWithdrawSchema>;\n\nexport type AcceptSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalAcceptSchema>;\n\nexport type RejectSponsorshipProposalIntentParams = z.input<typeof intents.sponsorshipProposalRejectSchema>;\n\nexport type CreateCounterOfferIntentParams = z.input<typeof intents.counterOfferSchema>;\n\nexport interface ApiCounterOffersQuery {\n\n originalOrderHash?: string;\n\n sellerAddress?: string;\n page?: number;\n limit?: number;\n}\n\nexport const OPEN_LICENSES = [\"CC0\", \"CC BY\", \"CC BY-SA\", \"CC BY-NC\"] as const;\nexport type OpenLicense = (typeof OPEN_LICENSES)[number];\n\nexport type RemixOfferStatus =\n | \"PENDING\"\n | \"AUTO_PENDING\"\n | \"APPROVED\"\n | \"COMPLETED\"\n | \"REJECTED\"\n | \"EXPIRED\"\n | \"SELF_MINTED\";\n\nexport interface ApiRemixOfferPrice {\n raw: string;\n formatted: string;\n currency: string;\n decimals: number;\n}\n\nexport interface ApiRemixOffer {\n id: string;\n status: RemixOfferStatus;\n originalContract: string;\n originalTokenId: string;\n creatorAddress: string;\n requesterAddress: string | null;\n message?: string | null;\n\n price?: ApiRemixOfferPrice;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct: number | null;\n approvedCollection: string | null;\n remixContract: string | null;\n remixTokenId: string | null;\n orderHash: string | null;\n createdAt: string;\n expiresAt: string;\n updatedAt: string;\n}\n\nexport interface ApiPublicRemix {\n id: string;\n remixContract: string | null;\n remixTokenId: string | null;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n createdAt: string;\n}\n\nexport interface CreateRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n proposedPrice?: string;\n proposedCurrency?: string;\n message?: string;\n\n expiresInDays?: number;\n}\n\nexport interface AutoRemixOfferParams {\n originalContract: string;\n originalTokenId: string;\n licenseType: string;\n}\n\nexport interface ConfirmSelfRemixParams {\n originalContract: string;\n originalTokenId: string;\n remixContract: string;\n remixTokenId: string;\n\n txHash?: string;\n licenseType: string;\n commercial: boolean;\n derivatives: boolean;\n royaltyPct?: number;\n}\n\nexport interface ConfirmRemixOfferParams {\n approvedCollection: string;\n remixContract: string;\n remixTokenId: string;\n orderHash?: string;\n}\n\nexport interface ApiRemixOffersQuery {\n\n role: \"creator\" | \"requester\";\n status?: string;\n page?: number;\n limit?: number;\n}\n\nexport interface ApiMetadataSignedUrl {\n url: string;\n}\n\nexport interface ApiMetadataUpload {\n cid: string;\n url: string;\n}\n\nexport interface ApiPortalMe {\n id: string;\n accountId: string;\n status: string;\n creditBalance: number;\n}\n\nexport interface ApiPortalKey {\n id: string;\n prefix: string;\n label: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n}\n\nexport interface ApiPortalKeyCreated {\n id: string;\n prefix: string;\n label: string | null;\n\n plaintext: string;\n}\n\nexport interface ApiCreditPayment {\n id: string;\n asset: string;\n amountAtomic: string;\n creditedAmount: number;\n mdlnMultiplier: number;\n txHash: string;\n status: string;\n createdAt: string;\n}\n\nexport interface ApiFundingMethod {\n id: string;\n [detail: string]: unknown;\n}\n\nexport type ApiFundingStatus = \"PENDING\" | \"SETTLED\" | \"FAILED\" | \"EXPIRED\";\n\nexport interface ApiFundingIntent {\n id: string;\n method: string;\n status: ApiFundingStatus;\n expiresAt: string;\n payer?: string | null;\n}\n\nexport interface ApiFundingInstructions {\n chain: string;\n payTo: string;\n asset: string;\n amountAtomic: string;\n}\n\nexport type ApiFundingSubmit =\n | { status: \"SETTLED\"; credited?: number }\n | { status: \"PENDING\"; reason: string };\n\nexport interface ApiSpendByAction {\n actionKey: string;\n credits: number;\n units: number;\n}\n\nexport interface ApiPortalSpend {\n recent: Array<{ actionKey: string; credits: number; createdAt: string }>;\n byAction: ApiSpendByAction[];\n spent: number;\n credited: number;\n drift: number;\n}\n\nexport interface ApiCollectionProfile {\n contractAddress: string;\n chain: string;\n displayName: string | null;\n description: string | null;\n image: string | null;\n bannerImage: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n hasGatedContent: boolean;\n gatedContentTitle: string | null;\n slug: string | null;\n updatedBy: string | null;\n updatedAt: string;\n}\n\nexport type UpdateCollectionProfileInput = z.output<typeof profiles.collectionProfileSchema>;\n\nexport interface ApiCollectionSlugClaim {\n id: string;\n slug: string;\n contractAddress: string;\n chain: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n notifyEmail: string | null;\n reviewedAt: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ApiCreatorProfile {\n walletAddress: string;\n chain: string;\n username: string | null;\n name: string | null;\n bio: string | null;\n avatarImage: string | null;\n\n collectionImage?: string | null;\n websiteUrl: string | null;\n twitterUrl: string | null;\n discordUrl: string | null;\n telegramUrl: string | null;\n updatedAt: string;\n}\n\nexport interface ApiCreatorListResult {\n creators: ApiCreatorProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\nexport type ApiChain = \"STARKNET\" | \"ETHEREUM\" | \"SOLANA\" | \"BASE\" | \"BITCOIN\";\n\nexport interface ApiSession {\n accountId: string;\n publicId: string;\n walletAddress: string | null;\n email: string | null;\n emailDeadline: string | null;\n}\n\nexport interface ApiUserWallet {\n walletAddress: string;\n email?: string | null;\n emailDeadline?: string | null;\n}\n\nexport interface ApiCollectionClaim {\n id: string;\n contractAddress: string;\n chain: string;\n claimantAddress: string | null;\n status: \"PENDING\" | \"AUTO_APPROVED\" | \"APPROVED\" | \"REJECTED\";\n verificationMethod: \"ONCHAIN\" | \"SIGNATURE\" | \"MANUAL\";\n createdAt: string;\n}\n\nexport interface ApiAdminCollectionClaim extends ApiCollectionClaim {\n claimantEmail: string | null;\n notes: string | null;\n adminNotes: string | null;\n reviewedBy: string | null;\n reviewedAt: string | null;\n updatedAt: string;\n}\n\nexport interface ApiBusinessProvisioning {\n chain: string;\n walletAddress: string;\n}\n\nexport interface ApiWalletActivity {\n id: string;\n chain: string;\n accountAddress: string;\n type: \"SEND\" | \"RECEIVE\" | \"SWAP\" | \"DEPLOY\" | \"GUARDIAN_SET\" | \"GUARDIAN_TRIGGER_ESCAPE\" | \"GUARDIAN_COMPLETE_ESCAPE\" | \"GUARDIAN_CANCEL_ESCAPE\";\n txHash: string;\n blockNumber: string;\n timestamp: string;\n tokenAddress: string | null;\n amount: string | null;\n counterparty: string | null;\n tokenInAddress: string | null;\n amountIn: string | null;\n tokenOutAddress: string | null;\n amountOut: string | null;\n}\n\nexport interface ApiRewardsBadge {\n key: string;\n name: string;\n description: string;\n icon: string;\n color: string;\n category: string;\n}\n\nexport interface ApiRewardsLevel {\n level: number;\n name: string;\n xpRequired: number;\n badgeColor: string;\n description: string | null;\n}\n\nexport interface ApiUserRewards {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n nextLevel: { level: number; name: string; xpRequired: number } | null;\n progressPct: number;\n breakdown: Record<string, number>;\n badges: ApiRewardsBadge[];\n computedAt: string | null;\n}\n\nexport interface ApiRewardsLeaderboardEntry {\n rank: number;\n address: string;\n accountId: string | null;\n publicId: string | null;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiRewardsConfig {\n levels: ApiRewardsLevel[];\n actions: { type: string; label: string; xp: number; dailyCap: number | null }[];\n badges: ApiRewardsBadge[];\n}\n\nexport interface ApiRewardsBatchEntry {\n address: string;\n totalXp: number;\n currentLevel: number;\n currentLevelName: string;\n badgeColor: string;\n}\n\nexport interface ApiPointEvent {\n id: string;\n actionType: string;\n xp: number;\n multiplier: number;\n finalXp: number;\n txHash: string | null;\n createdAt: string;\n}\n\nexport interface ApiPlatformStats {\n collections: number;\n tokens: number;\n sales: number;\n}\n\nexport interface ApiTierOnchain {\n maxSupply: string;\n minted: string;\n startTime: number | null;\n endTime: number | null;\n royaltyBps: number;\n}\n\nexport interface ApiSwapQuoteRequest {\n sellSymbol?: string;\n buySymbol?: string;\n sellTokenAddress?: string;\n buyTokenAddress?: string;\n sellAmountRaw?: string;\n buyAmountRaw?: string;\n takerAddress?: string;\n}\n\nexport interface ApiSwapQuote {\n quoteId: string;\n sellTokenAddress: string;\n sellAmount: string;\n buyTokenAddress: string;\n buyAmount: string;\n}\n\nexport interface ApiIpNftTokenData {\n owner: string;\n metadataUri: string;\n originalCreator: string;\n registeredAt: number;\n}\n\nexport interface ApiTokensQuery {\n page?: number;\n limit?: number;\n sort?: string;\n ipType?: string;\n derivatives?: \"allowed\";\n}\n\nexport interface ApiUsernameClaim {\n id: string;\n username: string;\n walletAddress: string;\n status: \"PENDING\" | \"APPROVED\" | \"REJECTED\";\n adminNotes: string | null;\n reviewedAt: string | null;\n createdAt: string;\n}\n\nexport type ApiReportTargetType = \"COLLECTION\" | \"TOKEN\" | \"CREATOR\" | \"COMMENT\";\n\nexport interface ApiSubmitReport {\n targetType: ApiReportTargetType;\n targetContract?: string;\n targetTokenId?: string;\n targetAddress?: string;\n targetId?: string;\n categories: string[];\n description?: string;\n}\n\nexport interface ApiSponsorshipOffer {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n author: string;\n nftContract: string;\n tokenId: string;\n minAmount: string;\n duration: number;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n specificSponsor: string | null;\n open: boolean;\n createdAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipBid {\n id: string;\n chain: string;\n contractAddress: string;\n offerId: string;\n sponsor: string;\n amount: string;\n placedAtChain: string;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipProposal {\n id: string;\n chain: string;\n contractAddress: string;\n proposalId: string;\n proposer: string;\n nftContract: string;\n tokenId: string;\n amount: string;\n duration: number;\n validUntil: string | null;\n paymentToken: string;\n licenseTermsUri: string;\n transferable: boolean;\n royaltyBps: number;\n open: boolean;\n accepted: boolean | null;\n createdAtChain: string;\n closedAtChain: string | null;\n updatedAt: string;\n}\n\nexport interface ApiSponsorshipLicense {\n id: string;\n chain: string;\n contractAddress: string;\n tokenId: string;\n author: string;\n recipient: string;\n assetContract: string;\n assetTokenId: string;\n expiresAt: string;\n transferable: boolean;\n royaltyBps: number;\n licenseTermsUri: string;\n offerId: string | null;\n proposalId: string | null;\n mintedAtChain: string;\n currentHolder?: string | null;\n}\n\nexport interface ApiSponsorshipOffersQuery {\n limit?: number;\n nftContract?: string;\n author?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipProposalsQuery {\n limit?: number;\n nftContract?: string;\n proposer?: string;\n owner?: string;\n open?: boolean;\n}\n\nexport interface ApiSponsorshipLicensesQuery {\n limit?: number;\n holder?: string;\n author?: string;\n}\n\nexport interface ApiCollectionsListQuery {\n page?: number;\n limit?: number;\n owner?: string;\n service?: string;\n sort?: CollectionSort;\n isFeatured?: boolean;\n hideEmpty?: boolean;\n standard?: string;\n chain?: ChainFilter;\n}\n\nexport interface ApiPricingRule {\n actionKey: string;\n chain: string;\n service: string;\n credits: number;\n}\n\nexport interface ApiPricing {\n creditsPerUsdc: number;\n mdln?: { contract: string | null; tiers: { minWholeTokens: number; multiplier: number }[] };\n pricing: { default: number; rules: ApiPricingRule[] };\n}\n\nexport type CreateTransferTokenIntentParams = z.input<typeof intents.transferTokenSchema>;\n\nexport type CreateTransferNftIntentParams = z.input<typeof intents.transferNftSchema>;\n\nexport type CreateTransferCollectionOwnershipIntentParams = z.input<typeof intents.transferCollectionOwnershipSchema>;\n\nexport type CreateCommentIntentParams = z.input<typeof intents.commentSchema>;\n\nexport type CreateGenesisMintIntentParams = z.input<typeof intents.genesisMintSchema>;\n\nexport type CreatePopClaimIntentParams = z.input<typeof intents.popClaimSchema>;\n\nexport type CreatePopBurnIntentParams = z.input<typeof intents.popBurnSchema>;\n\nexport type CreateDropClaimIntentParams = z.input<typeof intents.dropClaimSchema>;\n\nexport type WalletManageAction = \"add_owner\" | \"remove_owner\" | \"cancel_escape\" | \"set_first_guardian\" | \"trigger_escape\" | \"complete_escape\";\n\nexport type CreateWalletManageIntentParams = z.input<typeof intents.walletManageSchema>;\n\nexport type CreateSwapIntentParams = z.input<typeof intents.swapIntentSchema>;\n\nexport type CreateFundingTransferIntentParams = z.input<typeof intents.fundingTransferSchema>;\n\nexport type DropManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreateDropManageIntentParams = z.input<typeof intents.dropManageSchema>;\n\nexport type PopManageAction = \"issue\" | \"set_allowlist_root\";\n\nexport type CreatePopManageIntentParams = z.input<typeof intents.popManageSchema>;\n\nexport interface IntentParamsByKind {\n listing: CreateListingIntentParams;\n offer: MakeOfferIntentParams;\n fulfill: FulfillOrderIntentParams;\n cancel: CancelOrderIntentParams;\n mint: CreateMintIntentParams;\n \"transfer-token\": CreateTransferTokenIntentParams;\n \"transfer-nft\": CreateTransferNftIntentParams;\n \"transfer-collection-ownership\": CreateTransferCollectionOwnershipIntentParams;\n comment: CreateCommentIntentParams;\n \"genesis-mint\": CreateGenesisMintIntentParams;\n \"pop-claim\": CreatePopClaimIntentParams;\n \"pop-burn\": CreatePopBurnIntentParams;\n \"drop-claim\": CreateDropClaimIntentParams;\n \"wallet-manage\": CreateWalletManageIntentParams;\n swap: CreateSwapIntentParams;\n \"funding-transfer\": CreateFundingTransferIntentParams;\n \"drop-manage\": CreateDropManageIntentParams;\n \"pop-manage\": CreatePopManageIntentParams;\n \"create-collection\": CreateCollectionIntentParams;\n \"create-tier\": CreateTierIntentParams;\n \"create-coin\": CreateCoinIntentParams;\n \"launch-coin\": LaunchCoinIntentParams;\n \"sponsorship-offer\": CreateSponsorshipOfferIntentParams;\n \"sponsorship-offer-open\": SetSponsorshipOfferOpenIntentParams;\n \"sponsorship-bid\": PlaceSponsorshipBidIntentParams;\n \"sponsorship-bid-retract\": RetractSponsorshipBidIntentParams;\n \"sponsorship-bid-accept\": AcceptSponsorshipBidIntentParams;\n \"sponsorship-proposal\": CreateSponsorshipProposalIntentParams;\n \"sponsorship-proposal-withdraw\": WithdrawSponsorshipProposalIntentParams;\n \"sponsorship-proposal-accept\": AcceptSponsorshipProposalIntentParams;\n \"sponsorship-proposal-reject\": RejectSponsorshipProposalIntentParams;\n \"counter-offer\": CreateCounterOfferIntentParams;\n}\n","\n\nexport type AssetAttribute = { trait_type: string; value: string };\n\nexport interface AssetMetadata {\n name: string;\n description: string;\n image: string | null;\n external_url: string;\n attributes: AssetAttribute[];\n}\n\nexport interface BuildAssetMetadataInput {\n name: string;\n description?: string | null;\n externalUrl?: string | null;\n imageUri?: string | null;\n creator?: string | null;\n ipType?: string | null;\n licenseType?: string | null;\n commercialUse?: string | null;\n derivatives?: string | null;\n attribution?: string | null;\n geographicScope?: string | null;\n aiPolicy?: string | null;\n royalty?: string | null;\n edition?: string | null;\n\n templateTraits?: { traitType: string; value: string }[];\n\n registrationDate?: string;\n}\n\nexport const RESERVED_TRAITS = new Set([\n \"Creator\", \"IP Type\", \"License\", \"Commercial Use\", \"Derivatives\",\n \"Attribution\", \"Territory\", \"AI Policy\", \"Royalty\", \"Edition\",\n \"Standard\", \"Registration\",\n]);\nconst RESERVED_TRAITS_NORMALIZED = new Set([...RESERVED_TRAITS].map((t) => t.toLowerCase()));\n\nexport function buildAssetMetadata(input: BuildAssetMetadataInput): AssetMetadata {\n const attributes: AssetAttribute[] = [];\n\n if (input.creator) attributes.push({ trait_type: \"Creator\", value: input.creator });\n if (input.ipType) attributes.push({ trait_type: \"IP Type\", value: input.ipType });\n if (input.licenseType) attributes.push({ trait_type: \"License\", value: input.licenseType });\n if (input.commercialUse) attributes.push({ trait_type: \"Commercial Use\", value: input.commercialUse });\n if (input.derivatives) attributes.push({ trait_type: \"Derivatives\", value: input.derivatives });\n if (input.attribution) attributes.push({ trait_type: \"Attribution\", value: input.attribution });\n if (input.geographicScope) attributes.push({ trait_type: \"Territory\", value: input.geographicScope });\n if (input.aiPolicy) attributes.push({ trait_type: \"AI Policy\", value: input.aiPolicy });\n\n if (input.royalty) {\n const num = parseFloat(String(input.royalty).replace(\"%\", \"\"));\n if (!isNaN(num) && num > 0) attributes.push({ trait_type: \"Royalty\", value: `${num}%` });\n }\n\n if (input.edition) attributes.push({ trait_type: \"Edition\", value: input.edition });\n\n for (const t of input.templateTraits ?? []) {\n const traitType = t.traitType?.trim() ?? \"\";\n const traitValue = String(t.value ?? \"\").trim();\n if (!traitType || !traitValue || RESERVED_TRAITS_NORMALIZED.has(traitType.toLowerCase())) continue;\n attributes.push({ trait_type: traitType, value: traitValue });\n }\n\n if (input.licenseType) {\n attributes.push({ trait_type: \"Standard\", value: \"Berne Convention\" });\n attributes.push({\n trait_type: \"Registration\",\n value: input.registrationDate ?? new Date().toISOString().split(\"T\")[0],\n });\n }\n\n return {\n name: input.name,\n description: input.description ?? \"\",\n image: input.imageUri ?? null,\n external_url: input.externalUrl || \"https://medialane.io\",\n attributes,\n };\n}\n\nexport interface CollectionMetadata {\n name: string;\n description?: string;\n image?: string;\n external_link: string;\n}\n\nexport interface BuildCollectionMetadataInput {\n name: string;\n owner: string;\n description?: string | null;\n image?: string | null;\n externalLink?: string | null;\n}\n\nexport const accountPageUrl = (address: string): string => `https://www.medialane.io/account/${address}`;\n\nexport function buildCollectionMetadata(input: BuildCollectionMetadataInput): CollectionMetadata {\n const description = input.description?.trim();\n const image = input.image?.trim();\n return {\n name: input.name,\n ...(description ? { description } : {}),\n ...(image ? { image } : {}),\n external_link: input.externalLink?.trim() || accountPageUrl(input.owner),\n };\n}\n","\n\ntype Attribute = { trait_type?: string; value?: string | number | boolean };\n\nexport function getDerivativesTerm(\n attributes: Attribute[] | null | undefined,\n): \"Allowed\" | \"Not Allowed\" | null {\n const v = (Array.isArray(attributes) ? attributes : []).find(\n (a) => a.trait_type === \"Derivatives\",\n )?.value;\n return v === \"Allowed\" || v === \"Not Allowed\" ? v : null;\n}\n\nexport interface RemixPolicyInput {\n\n parentNoDerivatives: boolean;\n\n viewerIsParentOwner: boolean;\n\n dealAvailable: boolean;\n}\n\nexport interface RemixPolicy extends RemixPolicyInput {\n\n canRemixDirect: boolean;\n\n showDealOption: boolean;\n}\n\nexport function resolveRemixPolicy(input: RemixPolicyInput): RemixPolicy {\n const canRemixDirect = input.viewerIsParentOwner || !input.parentNoDerivatives;\n const showDealOption = input.dealAvailable && !input.viewerIsParentOwner;\n return { ...input, canRemixDirect, showDealOption };\n}\n","export type UploadKind = \"image\" | \"document\" | \"media\";\n\nexport interface UploadLimit {\n mimeTypes: readonly string[];\n extensions: readonly string[];\n}\n\nconst MB = 1024 * 1024;\n\nexport const MAX_UPLOAD_BYTES = 90 * MB;\n\nconst IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".gif\", \".svg\", \".webp\", \".avif\"];\n\nexport const UPLOAD_LIMITS: Record<UploadKind, UploadLimit> = {\n image: {\n mimeTypes: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\", \"image/webp\", \"image/avif\"],\n extensions: IMAGE_EXTENSIONS,\n },\n document: {\n mimeTypes: [\n \"application/pdf\",\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.oasis.opendocument.text\",\n \"application/rtf\",\n \"text/plain\",\n \"text/markdown\",\n \"application/octet-stream\",\n ],\n extensions: [\".pdf\", \".doc\", \".docx\", \".odt\", \".rtf\", \".txt\", \".md\"],\n },\n media: {\n mimeTypes: [\n \"image/jpeg\", \"image/png\", \"image/gif\", \"image/webp\", \"image/svg+xml\", \"image/avif\",\n \"video/mp4\", \"video/webm\", \"video/ogg\",\n \"audio/mpeg\", \"audio/ogg\", \"audio/wav\", \"audio/webm\", \"audio/flac\",\n \"application/pdf\",\n ],\n extensions: [...IMAGE_EXTENSIONS, \".mp4\", \".webm\", \".ogv\", \".ogg\", \".mp3\", \".wav\", \".flac\", \".pdf\"],\n },\n};\n\nexport function formatFileSize(bytes: number): string {\n const mb = bytes / MB;\n return `${Number.isInteger(mb) ? mb : mb.toFixed(1)} MB`;\n}\n\nexport function uploadSizeError(file: { size: number }, kind: UploadKind = \"image\"): string | null {\n if (file.size <= MAX_UPLOAD_BYTES) return null;\n const noun = kind === \"image\" ? \"image\" : \"file\";\n return `That ${noun} is ${formatFileSize(file.size)}. Please choose one under ${formatFileSize(MAX_UPLOAD_BYTES)}.`;\n}\n\nexport function acceptFor(kind: UploadKind): string {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n return [...mimeTypes, ...extensions].join(\",\");\n}\n\nfunction typeList(extensions: readonly string[]): string {\n const names = extensions.map((ext) => ext.slice(1).toUpperCase());\n return names.length > 1 ? `${names.slice(0, -1).join(\", \")} or ${names[names.length - 1]}` : names.join(\"\");\n}\n\nexport function uploadError(file: { size: number; type: string; name?: string }, kind: UploadKind = \"image\"): string | null {\n const { mimeTypes, extensions } = UPLOAD_LIMITS[kind];\n const name = (file.name ?? \"\").toLowerCase();\n const allowed = mimeTypes.includes(file.type) || (file.type === \"\" && extensions.some((ext) => name.endsWith(ext)));\n if (!allowed) return `Choose ${kind === \"image\" ? \"an image\" : \"a file\"} in ${typeList(extensions)}.`;\n return uploadSizeError(file, kind);\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as Chain } from './chains-CmwjZVU7.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { s as sponsorshipBidAcceptSchema, a as sponsorshipProposalAcceptSchema, o as ordersListQuery, b as orderSchema, c as collectionProfileSchema, l as listingSchema,
|
|
3
|
+
import { s as sponsorshipBidAcceptSchema, a as sponsorshipProposalAcceptSchema, o as ordersListQuery, b as orderSchema, t as tokenSchema, c as collectionSchema, d as collectionProfileSchema, l as listingSchema, e as offerSchema, f as fulfillSchema, g as cancelSchema, m as mintSchema, h as transferTokenSchema, i as transferNftSchema, j as transferCollectionOwnershipSchema, k as commentSchema, n as genesisMintSchema, p as popClaimSchema, q as popBurnSchema, r as dropClaimSchema, w as walletManageSchema, u as swapIntentSchema, v as fundingTransferSchema, x as dropManageSchema, y as popManageSchema, z as createCollectionSchema, A as createTierSchema, B as createCoinSchema, C as launchCoinSchema, D as sponsorshipOfferSchema, E as sponsorshipOfferOpenSchema, F as sponsorshipBidSchema, G as sponsorshipBidRetractSchema, H as sponsorshipProposalSchema, I as sponsorshipProposalWithdrawSchema, J as sponsorshipProposalRejectSchema, K as counterOfferSchema, L as checkoutBodySchema, M as emissionSchema, N as COLLECTION_SERVICE_IDS, O as FACTORY_FAMILY_SERVICE_IDS, P as tokenAttributeSchema, T as TIER_SERVICE_IDS } from './responses-D3nBY71f.js';
|
|
4
4
|
|
|
5
5
|
type IPType = "Audio" | "Art" | "Documents" | "NFT" | "Video" | "Photography" | "Patents" | "Posts" | "Publications" | "RWA" | "Software" | "Custom";
|
|
6
6
|
type CollectionSort = "recent" | "supply" | "floor" | "volume" | "name";
|
|
@@ -92,10 +92,7 @@ interface ApiOrderTokenMeta {
|
|
|
92
92
|
animationUrl: string | null;
|
|
93
93
|
}
|
|
94
94
|
type ApiOrder = z.output<typeof orderSchema>;
|
|
95
|
-
|
|
96
|
-
trait_type: string;
|
|
97
|
-
value: string;
|
|
98
|
-
}
|
|
95
|
+
type IpAttribute = z.output<typeof tokenAttributeSchema>;
|
|
99
96
|
interface IpNftMetadata {
|
|
100
97
|
name: string;
|
|
101
98
|
description?: string;
|
|
@@ -112,70 +109,13 @@ interface IpNftMetadata {
|
|
|
112
109
|
royalty?: string | null;
|
|
113
110
|
registration?: string | null;
|
|
114
111
|
}
|
|
115
|
-
|
|
116
|
-
name: string | null;
|
|
117
|
-
description: string | null;
|
|
118
|
-
image: string | null;
|
|
119
|
-
animationUrl: string | null;
|
|
120
|
-
attributes: IpAttribute[] | null;
|
|
121
|
-
ipType: string | null;
|
|
122
|
-
licenseType: string | null;
|
|
123
|
-
commercialUse: string | null;
|
|
124
|
-
derivatives: string | null;
|
|
125
|
-
attribution: string | null;
|
|
126
|
-
territory: string | null;
|
|
127
|
-
aiPolicy: string | null;
|
|
128
|
-
royalty: string | null;
|
|
129
|
-
registration: string | null;
|
|
130
|
-
author: string | null;
|
|
131
|
-
}
|
|
112
|
+
type ApiTokenMetadata = ApiToken["metadata"];
|
|
132
113
|
interface ApiTokenBalance {
|
|
133
114
|
owner: string;
|
|
134
115
|
amount: string;
|
|
135
116
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
chain: string;
|
|
139
|
-
contractAddress: string;
|
|
140
|
-
tokenId: string;
|
|
141
|
-
owner: string | null;
|
|
142
|
-
tokenUri: string | null;
|
|
143
|
-
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
144
|
-
standard: "ERC721" | "ERC1155" | "UNKNOWN";
|
|
145
|
-
metadata: ApiTokenMetadata;
|
|
146
|
-
balances: ApiTokenBalance[] | null;
|
|
147
|
-
holderCount?: number;
|
|
148
|
-
supply?: string;
|
|
149
|
-
activeOrders: ApiOrder[];
|
|
150
|
-
createdAt: string;
|
|
151
|
-
updatedAt: string;
|
|
152
|
-
}
|
|
153
|
-
interface ApiCollection {
|
|
154
|
-
id: string;
|
|
155
|
-
chain: string;
|
|
156
|
-
contractAddress: string;
|
|
157
|
-
collectionId: string | null;
|
|
158
|
-
name: string | null;
|
|
159
|
-
symbol: string | null;
|
|
160
|
-
description: string | null;
|
|
161
|
-
image: string | null;
|
|
162
|
-
owner: string | null;
|
|
163
|
-
startBlock: string;
|
|
164
|
-
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
165
|
-
standard: "ERC721" | "ERC1155";
|
|
166
|
-
isKnown: boolean;
|
|
167
|
-
isHidden: boolean;
|
|
168
|
-
isFeatured: boolean;
|
|
169
|
-
service: string | null;
|
|
170
|
-
claimedBy: string | null;
|
|
171
|
-
profile?: ApiCollectionProfile | null;
|
|
172
|
-
floorPrice: string | null;
|
|
173
|
-
totalVolume: string | null;
|
|
174
|
-
holderCount: number | null;
|
|
175
|
-
totalSupply: number | null;
|
|
176
|
-
createdAt: string;
|
|
177
|
-
updatedAt: string;
|
|
178
|
-
}
|
|
117
|
+
type ApiToken = z.output<typeof tokenSchema>;
|
|
118
|
+
type ApiCollection = z.output<typeof collectionSchema>;
|
|
179
119
|
interface ApiCoin {
|
|
180
120
|
id: string;
|
|
181
121
|
chain: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as Chain } from './chains-CmwjZVU7.cjs';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { s as sponsorshipBidAcceptSchema, a as sponsorshipProposalAcceptSchema, o as ordersListQuery, b as orderSchema, c as collectionProfileSchema, l as listingSchema,
|
|
3
|
+
import { s as sponsorshipBidAcceptSchema, a as sponsorshipProposalAcceptSchema, o as ordersListQuery, b as orderSchema, t as tokenSchema, c as collectionSchema, d as collectionProfileSchema, l as listingSchema, e as offerSchema, f as fulfillSchema, g as cancelSchema, m as mintSchema, h as transferTokenSchema, i as transferNftSchema, j as transferCollectionOwnershipSchema, k as commentSchema, n as genesisMintSchema, p as popClaimSchema, q as popBurnSchema, r as dropClaimSchema, w as walletManageSchema, u as swapIntentSchema, v as fundingTransferSchema, x as dropManageSchema, y as popManageSchema, z as createCollectionSchema, A as createTierSchema, B as createCoinSchema, C as launchCoinSchema, D as sponsorshipOfferSchema, E as sponsorshipOfferOpenSchema, F as sponsorshipBidSchema, G as sponsorshipBidRetractSchema, H as sponsorshipProposalSchema, I as sponsorshipProposalWithdrawSchema, J as sponsorshipProposalRejectSchema, K as counterOfferSchema, L as checkoutBodySchema, M as emissionSchema, N as COLLECTION_SERVICE_IDS, O as FACTORY_FAMILY_SERVICE_IDS, P as tokenAttributeSchema, T as TIER_SERVICE_IDS } from './responses-D3nBY71f.cjs';
|
|
4
4
|
|
|
5
5
|
type IPType = "Audio" | "Art" | "Documents" | "NFT" | "Video" | "Photography" | "Patents" | "Posts" | "Publications" | "RWA" | "Software" | "Custom";
|
|
6
6
|
type CollectionSort = "recent" | "supply" | "floor" | "volume" | "name";
|
|
@@ -92,10 +92,7 @@ interface ApiOrderTokenMeta {
|
|
|
92
92
|
animationUrl: string | null;
|
|
93
93
|
}
|
|
94
94
|
type ApiOrder = z.output<typeof orderSchema>;
|
|
95
|
-
|
|
96
|
-
trait_type: string;
|
|
97
|
-
value: string;
|
|
98
|
-
}
|
|
95
|
+
type IpAttribute = z.output<typeof tokenAttributeSchema>;
|
|
99
96
|
interface IpNftMetadata {
|
|
100
97
|
name: string;
|
|
101
98
|
description?: string;
|
|
@@ -112,70 +109,13 @@ interface IpNftMetadata {
|
|
|
112
109
|
royalty?: string | null;
|
|
113
110
|
registration?: string | null;
|
|
114
111
|
}
|
|
115
|
-
|
|
116
|
-
name: string | null;
|
|
117
|
-
description: string | null;
|
|
118
|
-
image: string | null;
|
|
119
|
-
animationUrl: string | null;
|
|
120
|
-
attributes: IpAttribute[] | null;
|
|
121
|
-
ipType: string | null;
|
|
122
|
-
licenseType: string | null;
|
|
123
|
-
commercialUse: string | null;
|
|
124
|
-
derivatives: string | null;
|
|
125
|
-
attribution: string | null;
|
|
126
|
-
territory: string | null;
|
|
127
|
-
aiPolicy: string | null;
|
|
128
|
-
royalty: string | null;
|
|
129
|
-
registration: string | null;
|
|
130
|
-
author: string | null;
|
|
131
|
-
}
|
|
112
|
+
type ApiTokenMetadata = ApiToken["metadata"];
|
|
132
113
|
interface ApiTokenBalance {
|
|
133
114
|
owner: string;
|
|
134
115
|
amount: string;
|
|
135
116
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
chain: string;
|
|
139
|
-
contractAddress: string;
|
|
140
|
-
tokenId: string;
|
|
141
|
-
owner: string | null;
|
|
142
|
-
tokenUri: string | null;
|
|
143
|
-
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
144
|
-
standard: "ERC721" | "ERC1155" | "UNKNOWN";
|
|
145
|
-
metadata: ApiTokenMetadata;
|
|
146
|
-
balances: ApiTokenBalance[] | null;
|
|
147
|
-
holderCount?: number;
|
|
148
|
-
supply?: string;
|
|
149
|
-
activeOrders: ApiOrder[];
|
|
150
|
-
createdAt: string;
|
|
151
|
-
updatedAt: string;
|
|
152
|
-
}
|
|
153
|
-
interface ApiCollection {
|
|
154
|
-
id: string;
|
|
155
|
-
chain: string;
|
|
156
|
-
contractAddress: string;
|
|
157
|
-
collectionId: string | null;
|
|
158
|
-
name: string | null;
|
|
159
|
-
symbol: string | null;
|
|
160
|
-
description: string | null;
|
|
161
|
-
image: string | null;
|
|
162
|
-
owner: string | null;
|
|
163
|
-
startBlock: string;
|
|
164
|
-
metadataStatus: "PENDING" | "FETCHING" | "FETCHED" | "FAILED";
|
|
165
|
-
standard: "ERC721" | "ERC1155";
|
|
166
|
-
isKnown: boolean;
|
|
167
|
-
isHidden: boolean;
|
|
168
|
-
isFeatured: boolean;
|
|
169
|
-
service: string | null;
|
|
170
|
-
claimedBy: string | null;
|
|
171
|
-
profile?: ApiCollectionProfile | null;
|
|
172
|
-
floorPrice: string | null;
|
|
173
|
-
totalVolume: string | null;
|
|
174
|
-
holderCount: number | null;
|
|
175
|
-
totalSupply: number | null;
|
|
176
|
-
createdAt: string;
|
|
177
|
-
updatedAt: string;
|
|
178
|
-
}
|
|
117
|
+
type ApiToken = z.output<typeof tokenSchema>;
|
|
118
|
+
type ApiCollection = z.output<typeof collectionSchema>;
|
|
179
119
|
interface ApiCoin {
|
|
180
120
|
id: string;
|
|
181
121
|
chain: string;
|
|
@@ -1709,4 +1709,4 @@ declare const collectionSchema: z.ZodObject<{
|
|
|
1709
1709
|
} | null;
|
|
1710
1710
|
}>;
|
|
1711
1711
|
|
|
1712
|
-
export {
|
|
1712
|
+
export { createTierSchema as A, createCoinSchema as B, launchCoinSchema as C, sponsorshipOfferSchema as D, sponsorshipOfferOpenSchema as E, sponsorshipBidSchema as F, sponsorshipBidRetractSchema as G, sponsorshipProposalSchema as H, sponsorshipProposalWithdrawSchema as I, sponsorshipProposalRejectSchema as J, counterOfferSchema as K, checkoutBodySchema as L, emissionSchema as M, COLLECTION_SERVICE_IDS as N, FACTORY_FAMILY_SERVICE_IDS as O, tokenAttributeSchema as P, INTENT_KINDS as Q, type IntentKind as R, confirmSchema as S, TIER_SERVICE_IDS as T, intentPath as U, signatureSchema as V, DEFAULT_BATCH_SIZE as W, MAX_RECIPIENTS as X, creatorProfileSchema as Y, urlField as Z, sponsorshipProposalAcceptSchema as a, orderSchema as b, collectionSchema as c, collectionProfileSchema as d, offerSchema as e, fulfillSchema as f, cancelSchema as g, transferTokenSchema as h, transferNftSchema as i, transferCollectionOwnershipSchema as j, commentSchema as k, listingSchema as l, mintSchema as m, genesisMintSchema as n, ordersListQuery as o, popClaimSchema as p, popBurnSchema as q, dropClaimSchema as r, sponsorshipBidAcceptSchema as s, tokenSchema as t, swapIntentSchema as u, fundingTransferSchema as v, walletManageSchema as w, dropManageSchema as x, popManageSchema as y, createCollectionSchema as z };
|
|
@@ -1709,4 +1709,4 @@ declare const collectionSchema: z.ZodObject<{
|
|
|
1709
1709
|
} | null;
|
|
1710
1710
|
}>;
|
|
1711
1711
|
|
|
1712
|
-
export {
|
|
1712
|
+
export { createTierSchema as A, createCoinSchema as B, launchCoinSchema as C, sponsorshipOfferSchema as D, sponsorshipOfferOpenSchema as E, sponsorshipBidSchema as F, sponsorshipBidRetractSchema as G, sponsorshipProposalSchema as H, sponsorshipProposalWithdrawSchema as I, sponsorshipProposalRejectSchema as J, counterOfferSchema as K, checkoutBodySchema as L, emissionSchema as M, COLLECTION_SERVICE_IDS as N, FACTORY_FAMILY_SERVICE_IDS as O, tokenAttributeSchema as P, INTENT_KINDS as Q, type IntentKind as R, confirmSchema as S, TIER_SERVICE_IDS as T, intentPath as U, signatureSchema as V, DEFAULT_BATCH_SIZE as W, MAX_RECIPIENTS as X, creatorProfileSchema as Y, urlField as Z, sponsorshipProposalAcceptSchema as a, orderSchema as b, collectionSchema as c, collectionProfileSchema as d, offerSchema as e, fulfillSchema as f, cancelSchema as g, transferTokenSchema as h, transferNftSchema as i, transferCollectionOwnershipSchema as j, commentSchema as k, listingSchema as l, mintSchema as m, genesisMintSchema as n, ordersListQuery as o, popClaimSchema as p, popBurnSchema as q, dropClaimSchema as r, sponsorshipBidAcceptSchema as s, tokenSchema as t, swapIntentSchema as u, fundingTransferSchema as v, walletManageSchema as w, dropManageSchema as x, popManageSchema as y, createCollectionSchema as z };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { C as Chain } from './chains-CmwjZVU7.cjs';
|
|
3
3
|
import { F as FetchLike } from './fetch-Cx9Pr7-B.cjs';
|
|
4
|
-
import { _ as ApiOrdersQuery, ac as ApiResponse, U as ApiOrder, x as ApiCounterOffersQuery, aC as ApiTokensQuery, az as ApiToken, aA as ApiTokenBalance, f as ApiActivity, w as ApiComment, a7 as ApiPublicRemix, u as ApiCollectionsListQuery, q as ApiCollection, aO as CollectionTokensSort, s as ApiCollectionProfile, bI as UpdateCollectionProfileInput, r as ApiCollectionClaim, t as ApiCollectionSlugClaim, e as ApiActivitiesQuery, aH as ApiWalletActivity, aK as ChainFilter, ak as ApiSearchResult, bl as IntentParamsByKind, O as ApiIntentCreated, aR as CreateCheckoutIntentParams, k as ApiCheckoutIntentResult, N as ApiIntent, aD as ApiTxSyncResult, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, y as ApiCreatorListResult, z as ApiCreatorProfile, aG as ApiUsernameClaim, a3 as ApiPortalMe, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, B as ApiCreditPayment, a4 as ApiPortalSpend, a5 as ApiPricing, K as ApiFundingMethod, J as ApiFundingIntent, I as ApiFundingInstructions, M as ApiFundingSubmit, bf as EmissionParams, H as ApiEmissionResult, i as ApiBusinessProvisioning, b3 as CreateRemixOfferParams, a8 as ApiRemixOffer, aI as AutoRemixOfferParams, aQ as ConfirmSelfRemixParams, aa as ApiRemixOffersQuery, aP as ConfirmRemixOfferParams, p as ApiCoinsQuery, l as ApiCoin, o as ApiCoinPrices, m as ApiCoinClaimResult, D as ApiDropFee, E as ApiDropListStatus, C as ApiDrop, F as ApiDropMint, as as ApiSponsorshipOffersQuery, ar as ApiSponsorshipOffer, ao as ApiSponsorshipBid, au as ApiSponsorshipProposalsQuery, at as ApiSponsorshipProposal, aq as ApiSponsorshipLicensesQuery, ap as ApiSponsorshipLicense, aE as ApiUserRewards, ag as ApiRewardsLeaderboardEntry, a0 as ApiPointEvent, af as ApiRewardsConfig, ae as ApiRewardsBatchEntry, $ as ApiPlatformStats, ax as ApiSwapQuoteRequest, aw as ApiSwapQuote, av as ApiSubmitReport, ay as ApiTierOnchain, P as ApiIpNftTokenData, c as AccountApi } from './passkey-errors-
|
|
5
|
-
import {
|
|
4
|
+
import { _ as ApiOrdersQuery, ac as ApiResponse, U as ApiOrder, x as ApiCounterOffersQuery, aC as ApiTokensQuery, az as ApiToken, aA as ApiTokenBalance, f as ApiActivity, w as ApiComment, a7 as ApiPublicRemix, u as ApiCollectionsListQuery, q as ApiCollection, aO as CollectionTokensSort, s as ApiCollectionProfile, bI as UpdateCollectionProfileInput, r as ApiCollectionClaim, t as ApiCollectionSlugClaim, e as ApiActivitiesQuery, aH as ApiWalletActivity, aK as ChainFilter, ak as ApiSearchResult, bl as IntentParamsByKind, O as ApiIntentCreated, aR as CreateCheckoutIntentParams, k as ApiCheckoutIntentResult, N as ApiIntent, aD as ApiTxSyncResult, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, y as ApiCreatorListResult, z as ApiCreatorProfile, aG as ApiUsernameClaim, a3 as ApiPortalMe, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, B as ApiCreditPayment, a4 as ApiPortalSpend, a5 as ApiPricing, K as ApiFundingMethod, J as ApiFundingIntent, I as ApiFundingInstructions, M as ApiFundingSubmit, bf as EmissionParams, H as ApiEmissionResult, i as ApiBusinessProvisioning, b3 as CreateRemixOfferParams, a8 as ApiRemixOffer, aI as AutoRemixOfferParams, aQ as ConfirmSelfRemixParams, aa as ApiRemixOffersQuery, aP as ConfirmRemixOfferParams, p as ApiCoinsQuery, l as ApiCoin, o as ApiCoinPrices, m as ApiCoinClaimResult, D as ApiDropFee, E as ApiDropListStatus, C as ApiDrop, F as ApiDropMint, as as ApiSponsorshipOffersQuery, ar as ApiSponsorshipOffer, ao as ApiSponsorshipBid, au as ApiSponsorshipProposalsQuery, at as ApiSponsorshipProposal, aq as ApiSponsorshipLicensesQuery, ap as ApiSponsorshipLicense, aE as ApiUserRewards, ag as ApiRewardsLeaderboardEntry, a0 as ApiPointEvent, af as ApiRewardsConfig, ae as ApiRewardsBatchEntry, $ as ApiPlatformStats, ax as ApiSwapQuoteRequest, aw as ApiSwapQuote, av as ApiSubmitReport, ay as ApiTierOnchain, P as ApiIpNftTokenData, c as AccountApi } from './passkey-errors-yndCFeHv.cjs';
|
|
5
|
+
import { R as IntentKind } from './responses-D3nBY71f.cjs';
|
|
6
6
|
import { TypedData, Call, ProviderInterface } from 'starknet';
|
|
7
7
|
import { p as provisioningRegisterSchema } from './provisioning-CwRkCN8D.cjs';
|
|
8
8
|
|
|
@@ -136,7 +136,7 @@ interface ResolvedConfig {
|
|
|
136
136
|
}
|
|
137
137
|
declare function resolveConfig(raw: MedialaneConfig): ResolvedConfig;
|
|
138
138
|
|
|
139
|
-
type MedialaneErrorCode = "NOT_FOUND" | "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "
|
|
139
|
+
type MedialaneErrorCode = "NOT_FOUND" | "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "INVALID_PARAMS" | "UNAUTHORIZED" | "UNKNOWN";
|
|
140
140
|
|
|
141
141
|
declare class UserFacingError extends Error {
|
|
142
142
|
constructor(message: string);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { C as Chain } from './chains-CmwjZVU7.js';
|
|
3
3
|
import { F as FetchLike } from './fetch-Cx9Pr7-B.js';
|
|
4
|
-
import { _ as ApiOrdersQuery, ac as ApiResponse, U as ApiOrder, x as ApiCounterOffersQuery, aC as ApiTokensQuery, az as ApiToken, aA as ApiTokenBalance, f as ApiActivity, w as ApiComment, a7 as ApiPublicRemix, u as ApiCollectionsListQuery, q as ApiCollection, aO as CollectionTokensSort, s as ApiCollectionProfile, bI as UpdateCollectionProfileInput, r as ApiCollectionClaim, t as ApiCollectionSlugClaim, e as ApiActivitiesQuery, aH as ApiWalletActivity, aK as ChainFilter, ak as ApiSearchResult, bl as IntentParamsByKind, O as ApiIntentCreated, aR as CreateCheckoutIntentParams, k as ApiCheckoutIntentResult, N as ApiIntent, aD as ApiTxSyncResult, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, y as ApiCreatorListResult, z as ApiCreatorProfile, aG as ApiUsernameClaim, a3 as ApiPortalMe, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, B as ApiCreditPayment, a4 as ApiPortalSpend, a5 as ApiPricing, K as ApiFundingMethod, J as ApiFundingIntent, I as ApiFundingInstructions, M as ApiFundingSubmit, bf as EmissionParams, H as ApiEmissionResult, i as ApiBusinessProvisioning, b3 as CreateRemixOfferParams, a8 as ApiRemixOffer, aI as AutoRemixOfferParams, aQ as ConfirmSelfRemixParams, aa as ApiRemixOffersQuery, aP as ConfirmRemixOfferParams, p as ApiCoinsQuery, l as ApiCoin, o as ApiCoinPrices, m as ApiCoinClaimResult, D as ApiDropFee, E as ApiDropListStatus, C as ApiDrop, F as ApiDropMint, as as ApiSponsorshipOffersQuery, ar as ApiSponsorshipOffer, ao as ApiSponsorshipBid, au as ApiSponsorshipProposalsQuery, at as ApiSponsorshipProposal, aq as ApiSponsorshipLicensesQuery, ap as ApiSponsorshipLicense, aE as ApiUserRewards, ag as ApiRewardsLeaderboardEntry, a0 as ApiPointEvent, af as ApiRewardsConfig, ae as ApiRewardsBatchEntry, $ as ApiPlatformStats, ax as ApiSwapQuoteRequest, aw as ApiSwapQuote, av as ApiSubmitReport, ay as ApiTierOnchain, P as ApiIpNftTokenData, c as AccountApi } from './passkey-errors-
|
|
5
|
-
import {
|
|
4
|
+
import { _ as ApiOrdersQuery, ac as ApiResponse, U as ApiOrder, x as ApiCounterOffersQuery, aC as ApiTokensQuery, az as ApiToken, aA as ApiTokenBalance, f as ApiActivity, w as ApiComment, a7 as ApiPublicRemix, u as ApiCollectionsListQuery, q as ApiCollection, aO as CollectionTokensSort, s as ApiCollectionProfile, bI as UpdateCollectionProfileInput, r as ApiCollectionClaim, t as ApiCollectionSlugClaim, e as ApiActivitiesQuery, aH as ApiWalletActivity, aK as ChainFilter, ak as ApiSearchResult, bl as IntentParamsByKind, O as ApiIntentCreated, aR as CreateCheckoutIntentParams, k as ApiCheckoutIntentResult, N as ApiIntent, aD as ApiTxSyncResult, R as ApiMetadataSignedUrl, T as ApiMetadataUpload, y as ApiCreatorListResult, z as ApiCreatorProfile, aG as ApiUsernameClaim, a3 as ApiPortalMe, a1 as ApiPortalKey, a2 as ApiPortalKeyCreated, B as ApiCreditPayment, a4 as ApiPortalSpend, a5 as ApiPricing, K as ApiFundingMethod, J as ApiFundingIntent, I as ApiFundingInstructions, M as ApiFundingSubmit, bf as EmissionParams, H as ApiEmissionResult, i as ApiBusinessProvisioning, b3 as CreateRemixOfferParams, a8 as ApiRemixOffer, aI as AutoRemixOfferParams, aQ as ConfirmSelfRemixParams, aa as ApiRemixOffersQuery, aP as ConfirmRemixOfferParams, p as ApiCoinsQuery, l as ApiCoin, o as ApiCoinPrices, m as ApiCoinClaimResult, D as ApiDropFee, E as ApiDropListStatus, C as ApiDrop, F as ApiDropMint, as as ApiSponsorshipOffersQuery, ar as ApiSponsorshipOffer, ao as ApiSponsorshipBid, au as ApiSponsorshipProposalsQuery, at as ApiSponsorshipProposal, aq as ApiSponsorshipLicensesQuery, ap as ApiSponsorshipLicense, aE as ApiUserRewards, ag as ApiRewardsLeaderboardEntry, a0 as ApiPointEvent, af as ApiRewardsConfig, ae as ApiRewardsBatchEntry, $ as ApiPlatformStats, ax as ApiSwapQuoteRequest, aw as ApiSwapQuote, av as ApiSubmitReport, ay as ApiTierOnchain, P as ApiIpNftTokenData, c as AccountApi } from './passkey-errors-B0HGcjPc.js';
|
|
5
|
+
import { R as IntentKind } from './responses-D3nBY71f.js';
|
|
6
6
|
import { TypedData, Call, ProviderInterface } from 'starknet';
|
|
7
7
|
import { p as provisioningRegisterSchema } from './provisioning-CwRkCN8D.js';
|
|
8
8
|
|
|
@@ -136,7 +136,7 @@ interface ResolvedConfig {
|
|
|
136
136
|
}
|
|
137
137
|
declare function resolveConfig(raw: MedialaneConfig): ResolvedConfig;
|
|
138
138
|
|
|
139
|
-
type MedialaneErrorCode = "NOT_FOUND" | "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "
|
|
139
|
+
type MedialaneErrorCode = "NOT_FOUND" | "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "INVALID_PARAMS" | "UNAUTHORIZED" | "UNKNOWN";
|
|
140
140
|
|
|
141
141
|
declare class UserFacingError extends Error {
|
|
142
142
|
constructor(message: string);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as starknet from 'starknet';
|
|
2
2
|
import { RpcProvider, ProviderInterface, TypedData, Call, constants } from 'starknet';
|
|
3
|
-
import { b as ApiClient, q as MedialaneConfig, E as ResolvedConfig, H as ResolvedFeeConfig, p as FundingApi, I as IntentsApi, h as CreateDropParams, n as DropTerms, i as CreateMembershipParams, v as MintMembershipsParams, u as MintEditionParams, B as BatchMintEditionParams, a as AddSupplyParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, y as ProposeSponsorshipParams, l as CreateTicketParams, w as MintTicketsParams } from '../services-
|
|
4
|
-
export { V as ApiKeyAction, W as ApiKeyConfirmation, X as ApiKeyConfirmationInput, Y as CreateCreatorCoinParams, Z as CreatorCoinGuarantees, _ as CreatorCoinReceiptLike, D as DeployCollectionParams, $ as DropMintState, a0 as DropMintStateKind, a1 as DropOnchain, a2 as EkuboLaunchParams, a3 as EkuboPoolParams, a4 as MAX_HOLDERS_AT_LAUNCH, a5 as MAX_TEAM_ALLOCATION_PERCENT, r as MedialaneError, a6 as PopAllowlist, a7 as PopClaimInfo, a8 as PopClaimLink, a9 as PopClaimState, U as UserFacingError, aa as VALIDATED_EKUBO_PARAMS, ab as apiKeyConfirmationTypedData, ac as buildCreateCreatorCoinCall, ad as buildDropClaimCalls, ae as buildLaunchOnEkuboCalls, af as buildPopAllowlist, ag as decodePopClaimFragment, ah as dropClaimLinks, ai as dropClaimedBy, aj as dropMintState, ak as encodePopClaimFragment, al as getCreatorCoinGuarantees, am as isCreatorCoin, an as parseCreatorCoinCreated, ao as popCalls, ap as popClaimInfo, aq as popClaimLinks, ar as popClaimLinksCsv, as as popClaimState, at as popHasClaimed, au as priceToEkuboParams, av as readDrop, aw as validatePrice, ax as verifyPopProof } from '../services-
|
|
3
|
+
import { b as ApiClient, q as MedialaneConfig, E as ResolvedConfig, H as ResolvedFeeConfig, p as FundingApi, I as IntentsApi, h as CreateDropParams, n as DropTerms, i as CreateMembershipParams, v as MintMembershipsParams, u as MintEditionParams, B as BatchMintEditionParams, a as AddSupplyParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, y as ProposeSponsorshipParams, l as CreateTicketParams, w as MintTicketsParams } from '../services-B15RJBSW.cjs';
|
|
4
|
+
export { V as ApiKeyAction, W as ApiKeyConfirmation, X as ApiKeyConfirmationInput, Y as CreateCreatorCoinParams, Z as CreatorCoinGuarantees, _ as CreatorCoinReceiptLike, D as DeployCollectionParams, $ as DropMintState, a0 as DropMintStateKind, a1 as DropOnchain, a2 as EkuboLaunchParams, a3 as EkuboPoolParams, a4 as MAX_HOLDERS_AT_LAUNCH, a5 as MAX_TEAM_ALLOCATION_PERCENT, r as MedialaneError, a6 as PopAllowlist, a7 as PopClaimInfo, a8 as PopClaimLink, a9 as PopClaimState, U as UserFacingError, aa as VALIDATED_EKUBO_PARAMS, ab as apiKeyConfirmationTypedData, ac as buildCreateCreatorCoinCall, ad as buildDropClaimCalls, ae as buildLaunchOnEkuboCalls, af as buildPopAllowlist, ag as decodePopClaimFragment, ah as dropClaimLinks, ai as dropClaimedBy, aj as dropMintState, ak as encodePopClaimFragment, al as getCreatorCoinGuarantees, am as isCreatorCoin, an as parseCreatorCoinCreated, ao as popCalls, ap as popClaimInfo, aq as popClaimLinks, ar as popClaimLinksCsv, as as popClaimState, at as popHasClaimed, au as priceToEkuboParams, av as readDrop, aw as validatePrice, ax as verifyPopProof } from '../services-B15RJBSW.cjs';
|
|
5
5
|
import { b as VenueSigner, V as VenueAdapter, O as OrderRef, A as AdapterTxResult, R as RegisterOrderParams } from '../types-BftPOVEJ.cjs';
|
|
6
|
-
import { I as ApiFundingInstructions, O as ApiIntentCreated } from '../passkey-errors-
|
|
7
|
-
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-
|
|
6
|
+
import { I as ApiFundingInstructions, O as ApiIntentCreated } from '../passkey-errors-yndCFeHv.cjs';
|
|
7
|
+
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-yndCFeHv.cjs';
|
|
8
8
|
import { F as FetchLike } from '../fetch-Cx9Pr7-B.cjs';
|
|
9
9
|
export { CreatedOwner, DeploymentCoordinator, DeploymentDeps, DeploymentResult, DeploymentStep, DeviceEntry, DeviceKeyStore, EscapeInfo, EscapeStatusName, EscapeTypeName, ExecutedTransaction, GuardianInfo, GuardianStatus, InvalidPairingPayloadError, InvalidRecoveryKeyError, InvalidStarkPrivateKeyError, MediaWallet, MediaWalletConfig, OwnerSigner, OwnerStore, PairingPayload, PasskeyConfig, PasskeyOwner, ReceiptProviderLike, RecoveryAction, RecoveryKey, SealedOwner, SelfFundConsent, SelfFundConsentHandler, SelfFundFeeEstimate, SelfFundedDeps, SessionWallet, SessionWalletClaimDeps, SponsoredDeps, WalletExecutor, accountFor, buildAddOwnerCall, buildCancelEscapeCall, buildCompleteEscapeOwnerCall, buildDeployAccountParams, buildRemoveOwnerByGuidCall, buildRemoveOwnerCall, buildSetFirstGuardianCall, buildTriggerEscapeOwnerCall, canRemoveDevice, claimSessionWallet, completeDeployment, computeAccountAddress, computeOwnerGuid, createDeploymentCoordinator, createMediaWallet, createOwnerStore, createPasskeyOwner, createSelfFundConsent, decodeEscapeAndStatus, decodeGuardiansInfo, deploySelfFunded, deploySponsored, deriveAesKey, deriveOwnerKeyPair, describeDevices, describeGuardianStatus, describeRecoveryAction, encodePairingPayload, encodeRecoveryKey, estimateSelfFundedFee, generateStarkKeyPair, getEscape, getEscapeSecurityPeriod, getGuardians, getOwners, indexedDbDeviceKeys, isDeployed, isValidStarknetAddress, normalizeWalletAddress, ownerConstructorCalldata, parseAccountAddress, parsePairingPayload, parseRecoveryKey, sealPrivateKey, selfFundedExecutor, signWithPrivateKey, sponsoredExecutor, starkKeyPairFromPrivateKey, unsealPrivateKey, waitUntilDeployed } from '../wallet/index.cjs';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import '../chains-CmwjZVU7.cjs';
|
|
12
|
-
import '../responses-
|
|
12
|
+
import '../responses-D3nBY71f.cjs';
|
|
13
13
|
import '../provisioning-CwRkCN8D.cjs';
|
|
14
14
|
|
|
15
15
|
declare class MedialaneClient {
|
package/dist/starknet/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as starknet from 'starknet';
|
|
2
2
|
import { RpcProvider, ProviderInterface, TypedData, Call, constants } from 'starknet';
|
|
3
|
-
import { b as ApiClient, q as MedialaneConfig, E as ResolvedConfig, H as ResolvedFeeConfig, p as FundingApi, I as IntentsApi, h as CreateDropParams, n as DropTerms, i as CreateMembershipParams, v as MintMembershipsParams, u as MintEditionParams, B as BatchMintEditionParams, a as AddSupplyParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, y as ProposeSponsorshipParams, l as CreateTicketParams, w as MintTicketsParams } from '../services-
|
|
4
|
-
export { V as ApiKeyAction, W as ApiKeyConfirmation, X as ApiKeyConfirmationInput, Y as CreateCreatorCoinParams, Z as CreatorCoinGuarantees, _ as CreatorCoinReceiptLike, D as DeployCollectionParams, $ as DropMintState, a0 as DropMintStateKind, a1 as DropOnchain, a2 as EkuboLaunchParams, a3 as EkuboPoolParams, a4 as MAX_HOLDERS_AT_LAUNCH, a5 as MAX_TEAM_ALLOCATION_PERCENT, r as MedialaneError, a6 as PopAllowlist, a7 as PopClaimInfo, a8 as PopClaimLink, a9 as PopClaimState, U as UserFacingError, aa as VALIDATED_EKUBO_PARAMS, ab as apiKeyConfirmationTypedData, ac as buildCreateCreatorCoinCall, ad as buildDropClaimCalls, ae as buildLaunchOnEkuboCalls, af as buildPopAllowlist, ag as decodePopClaimFragment, ah as dropClaimLinks, ai as dropClaimedBy, aj as dropMintState, ak as encodePopClaimFragment, al as getCreatorCoinGuarantees, am as isCreatorCoin, an as parseCreatorCoinCreated, ao as popCalls, ap as popClaimInfo, aq as popClaimLinks, ar as popClaimLinksCsv, as as popClaimState, at as popHasClaimed, au as priceToEkuboParams, av as readDrop, aw as validatePrice, ax as verifyPopProof } from '../services-
|
|
3
|
+
import { b as ApiClient, q as MedialaneConfig, E as ResolvedConfig, H as ResolvedFeeConfig, p as FundingApi, I as IntentsApi, h as CreateDropParams, n as DropTerms, i as CreateMembershipParams, v as MintMembershipsParams, u as MintEditionParams, B as BatchMintEditionParams, a as AddSupplyParams, j as CreatePopCollectionParams, k as CreateSponsorshipOfferParams, y as ProposeSponsorshipParams, l as CreateTicketParams, w as MintTicketsParams } from '../services-BAnTJhwt.js';
|
|
4
|
+
export { V as ApiKeyAction, W as ApiKeyConfirmation, X as ApiKeyConfirmationInput, Y as CreateCreatorCoinParams, Z as CreatorCoinGuarantees, _ as CreatorCoinReceiptLike, D as DeployCollectionParams, $ as DropMintState, a0 as DropMintStateKind, a1 as DropOnchain, a2 as EkuboLaunchParams, a3 as EkuboPoolParams, a4 as MAX_HOLDERS_AT_LAUNCH, a5 as MAX_TEAM_ALLOCATION_PERCENT, r as MedialaneError, a6 as PopAllowlist, a7 as PopClaimInfo, a8 as PopClaimLink, a9 as PopClaimState, U as UserFacingError, aa as VALIDATED_EKUBO_PARAMS, ab as apiKeyConfirmationTypedData, ac as buildCreateCreatorCoinCall, ad as buildDropClaimCalls, ae as buildLaunchOnEkuboCalls, af as buildPopAllowlist, ag as decodePopClaimFragment, ah as dropClaimLinks, ai as dropClaimedBy, aj as dropMintState, ak as encodePopClaimFragment, al as getCreatorCoinGuarantees, am as isCreatorCoin, an as parseCreatorCoinCreated, ao as popCalls, ap as popClaimInfo, aq as popClaimLinks, ar as popClaimLinksCsv, as as popClaimState, at as popHasClaimed, au as priceToEkuboParams, av as readDrop, aw as validatePrice, ax as verifyPopProof } from '../services-BAnTJhwt.js';
|
|
5
5
|
import { b as VenueSigner, V as VenueAdapter, O as OrderRef, A as AdapterTxResult, R as RegisterOrderParams } from '../types-BW6ktwcT.js';
|
|
6
|
-
import { I as ApiFundingInstructions, O as ApiIntentCreated } from '../passkey-errors-
|
|
7
|
-
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-
|
|
6
|
+
import { I as ApiFundingInstructions, O as ApiIntentCreated } from '../passkey-errors-B0HGcjPc.js';
|
|
7
|
+
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-B0HGcjPc.js';
|
|
8
8
|
import { F as FetchLike } from '../fetch-Cx9Pr7-B.js';
|
|
9
9
|
export { CreatedOwner, DeploymentCoordinator, DeploymentDeps, DeploymentResult, DeploymentStep, DeviceEntry, DeviceKeyStore, EscapeInfo, EscapeStatusName, EscapeTypeName, ExecutedTransaction, GuardianInfo, GuardianStatus, InvalidPairingPayloadError, InvalidRecoveryKeyError, InvalidStarkPrivateKeyError, MediaWallet, MediaWalletConfig, OwnerSigner, OwnerStore, PairingPayload, PasskeyConfig, PasskeyOwner, ReceiptProviderLike, RecoveryAction, RecoveryKey, SealedOwner, SelfFundConsent, SelfFundConsentHandler, SelfFundFeeEstimate, SelfFundedDeps, SessionWallet, SessionWalletClaimDeps, SponsoredDeps, WalletExecutor, accountFor, buildAddOwnerCall, buildCancelEscapeCall, buildCompleteEscapeOwnerCall, buildDeployAccountParams, buildRemoveOwnerByGuidCall, buildRemoveOwnerCall, buildSetFirstGuardianCall, buildTriggerEscapeOwnerCall, canRemoveDevice, claimSessionWallet, completeDeployment, computeAccountAddress, computeOwnerGuid, createDeploymentCoordinator, createMediaWallet, createOwnerStore, createPasskeyOwner, createSelfFundConsent, decodeEscapeAndStatus, decodeGuardiansInfo, deploySelfFunded, deploySponsored, deriveAesKey, deriveOwnerKeyPair, describeDevices, describeGuardianStatus, describeRecoveryAction, encodePairingPayload, encodeRecoveryKey, estimateSelfFundedFee, generateStarkKeyPair, getEscape, getEscapeSecurityPeriod, getGuardians, getOwners, indexedDbDeviceKeys, isDeployed, isValidStarknetAddress, normalizeWalletAddress, ownerConstructorCalldata, parseAccountAddress, parsePairingPayload, parseRecoveryKey, sealPrivateKey, selfFundedExecutor, signWithPrivateKey, sponsoredExecutor, starkKeyPairFromPrivateKey, unsealPrivateKey, waitUntilDeployed } from '../wallet/index.js';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import '../chains-CmwjZVU7.js';
|
|
12
|
-
import '../responses-
|
|
12
|
+
import '../responses-D3nBY71f.js';
|
|
13
13
|
import '../provisioning-CwRkCN8D.js';
|
|
14
14
|
|
|
15
15
|
declare class MedialaneClient {
|
package/dist/wallet/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BigNumberish, Call, DeployAccountContractPayload, ProviderInterface, TypedData, Account } from 'starknet';
|
|
2
2
|
import { F as FetchLike } from '../fetch-Cx9Pr7-B.cjs';
|
|
3
|
-
import { bb as CreateWalletManageIntentParams, c as AccountApi } from '../passkey-errors-
|
|
4
|
-
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-
|
|
3
|
+
import { bb as CreateWalletManageIntentParams, c as AccountApi } from '../passkey-errors-yndCFeHv.cjs';
|
|
4
|
+
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-yndCFeHv.cjs';
|
|
5
5
|
import '../chains-CmwjZVU7.cjs';
|
|
6
6
|
import 'zod';
|
|
7
|
-
import '../responses-
|
|
7
|
+
import '../responses-D3nBY71f.cjs';
|
|
8
8
|
|
|
9
9
|
declare function deriveOwnerKeyPair(secret: Uint8Array, recipientId: string): {
|
|
10
10
|
privateKey: string;
|
package/dist/wallet/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BigNumberish, Call, DeployAccountContractPayload, ProviderInterface, TypedData, Account } from 'starknet';
|
|
2
2
|
import { F as FetchLike } from '../fetch-Cx9Pr7-B.js';
|
|
3
|
-
import { bb as CreateWalletManageIntentParams, c as AccountApi } from '../passkey-errors-
|
|
4
|
-
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-
|
|
3
|
+
import { bb as CreateWalletManageIntentParams, c as AccountApi } from '../passkey-errors-B0HGcjPc.js';
|
|
4
|
+
export { bc as DeviceKeyMissingError, bv as PasskeyCancelledError, bw as PasskeyUnsupportedError, bx as PasskeyUnsupportedReason } from '../passkey-errors-B0HGcjPc.js';
|
|
5
5
|
import '../chains-CmwjZVU7.js';
|
|
6
6
|
import 'zod';
|
|
7
|
-
import '../responses-
|
|
7
|
+
import '../responses-D3nBY71f.js';
|
|
8
8
|
|
|
9
9
|
declare function deriveOwnerKeyPair(secret: Uint8Array, recipientId: string): {
|
|
10
10
|
privateKey: string;
|