@medialane/sdk 0.144.0 → 0.146.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/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedFeeConfig, S as ServiceDefinition, a as ServiceCapability } from './errors-SGwgtvtF.cjs';
2
- export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as ActivityType, d as ApiActivitiesQuery, e as ApiActivity, f as ApiActivityPrice, g as ApiAdminCollectionClaim, h as ApiBusinessProvisioning, i as ApiChain, j as ApiCheckoutIntentResult, k as ApiClient, 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 ApiDropConditions, D as ApiDropInfo, E as ApiDropState, F as ApiEmissionCall, G as ApiEmissionResult, H as ApiFundingInstructions, I as ApiFundingIntent, J as ApiFundingMethod, K as ApiFundingStatus, L as ApiFundingSubmit, M as ApiIntent, N as ApiIntentCreated, O as ApiIpNftTokenData, P as ApiKeyStatus, Q as ApiMeta, T as ApiMetadataSignedUrl, U as ApiMetadataUpload, V as ApiOrder, W as ApiOrderConsideration, X as ApiOrderOffer, Y as ApiOrderPrice, Z as ApiOrderTokenMeta, _ as ApiOrderTxHash, $ as ApiOrdersQuery, a0 as ApiPlatformStats, a1 as ApiPointEvent, a2 as ApiPortalKey, a3 as ApiPortalKeyCreated, a4 as ApiPortalMe, a5 as ApiPortalSpend, a6 as ApiPricing, a7 as ApiPricingRule, a8 as ApiPublicRemix, a9 as ApiRemixOffer, aa as ApiRemixOfferPrice, ab as ApiRemixOffersQuery, ac as ApiReportTargetType, ad as ApiResponse, ae as ApiRewardsBadge, af as ApiRewardsBatchEntry, ag as ApiRewardsConfig, ah as ApiRewardsLeaderboardEntry, ai as ApiRewardsLevel, aj as ApiSearchCollectionResult, ak as ApiSearchCreatorResult, al as ApiSearchResult, am as ApiSearchTokenResult, 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 ApiTierOnchain, ax as ApiToken, ay as ApiTokenBalance, az as ApiTokenMetadata, aA as ApiTokensQuery, aB as ApiTxSyncResult, aC as ApiUserRewards, aD as ApiUserWallet, aE as ApiUsernameClaim, aF as ApiWalletActivity, aG as ApiWebhookCreated, aH as ApiWebhookEndpoint, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as ClaimConditions, aN as CollectionServiceId, aO as CollectionSort, aP as CollectionTokensSort, aQ as ConfirmRemixOfferParams, aR as ConfirmSelfRemixParams, aS as ConsiderationItem, aT as CreateCheckoutIntentParams, aU as CreateCoinIntentParams, aV as CreateCollectionIntentParams, aW as CreateCounterOfferIntentParams, aX as CreateDropParams, aY as CreateListingIntentParams, aZ as CreateMembershipParams, a_ as CreateMintIntentParams, a$ as CreatePopCollectionParams, b0 as CreateRemixOfferParams, b1 as CreateSponsorshipOfferIntentParams, b2 as CreateSponsorshipOfferParams, b3 as CreateSponsorshipProposalIntentParams, b4 as CreateTicketParams, b5 as CreateTierIntentParams, b6 as CreateWebhookParams, b7 as DropMintStatus, b8 as EmissionParams, b9 as EnforcementDeclaration, ba as FactoryFamilyServiceId, bb as FeeConfig, bc as FeeConfigSchema, bd as FulfillOrderIntentParams, be as IPType, bf as IntentCall, bg as IntentStatus, bh as IntentType, bi as IpAttribute, bj as IpNftMetadata, bk as LaunchCoinIntentParams, bl as MakeOfferIntentParams, bm as MedialaneApiError, bn as MedialaneConfig, bo as MedialaneErrorCode, bp as MintMembershipsParams, bq as MintTicketsParams, br as OPEN_LICENSES, bs as OfferItem, bt as OpenLicense, bu as Order, bv as OrderDetails, bw as OrderParameters, bx as OrderStatus, by as PasskeyCancelledError, bz as PlaceSponsorshipBidIntentParams, bA as PopBatchEligibilityItem, bB as PopClaimStatus, bC as PopEventType, bD as ProposeSponsorshipParams, bE as RejectSponsorshipProposalIntentParams, bF as RemixOfferStatus, bG as ResolvedConfig, bH as RetractSponsorshipBidIntentParams, bI as RetryOptions, bJ as ServiceEventDeclaration, bK as SetSponsorshipOfferOpenIntentParams, bL as SortOrder, bM as TenantPlan, bN as TierServiceId, bO as TxResult, bP as UpdateCollectionProfileInput, bQ as UserFacingError, bR as WebhookEventType, bS as WebhookStatus, bT as WithdrawSponsorshipProposalIntentParams, bU as resolveConfig, bV as resolveFeeConfig } from './errors-SGwgtvtF.cjs';
1
+ import { R as ResolvedFeeConfig, S as ServiceDefinition, a as ServiceCapability } from './errors-BU-LJRp3.cjs';
2
+ export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as ActivityType, d as ApiActivitiesQuery, e as ApiActivity, f as ApiActivityPrice, g as ApiAdminCollectionClaim, h as ApiBusinessProvisioning, i as ApiChain, j as ApiCheckoutIntentResult, k as ApiClient, 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 ApiDropConditions, D as ApiDropInfo, E as ApiDropState, F as ApiEmissionCall, G as ApiEmissionResult, H as ApiFundingInstructions, I as ApiFundingIntent, J as ApiFundingMethod, K as ApiFundingStatus, L as ApiFundingSubmit, M as ApiIntent, N as ApiIntentCreated, O as ApiIpNftTokenData, P as ApiKeyStatus, Q as ApiMeta, T as ApiMetadataSignedUrl, U as ApiMetadataUpload, V as ApiOrder, W as ApiOrderConsideration, X as ApiOrderOffer, Y as ApiOrderPrice, Z as ApiOrderTokenMeta, _ as ApiOrderTxHash, $ as ApiOrdersQuery, a0 as ApiPlatformStats, a1 as ApiPointEvent, a2 as ApiPortalKey, a3 as ApiPortalKeyCreated, a4 as ApiPortalMe, a5 as ApiPortalSpend, a6 as ApiPricing, a7 as ApiPricingRule, a8 as ApiPublicRemix, a9 as ApiRemixOffer, aa as ApiRemixOfferPrice, ab as ApiRemixOffersQuery, ac as ApiReportTargetType, ad as ApiResponse, ae as ApiRewardsBadge, af as ApiRewardsBatchEntry, ag as ApiRewardsConfig, ah as ApiRewardsLeaderboardEntry, ai as ApiRewardsLevel, aj as ApiSearchCollectionResult, ak as ApiSearchCreatorResult, al as ApiSearchResult, am as ApiSearchTokenResult, 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 ApiTierOnchain, ax as ApiToken, ay as ApiTokenBalance, az as ApiTokenMetadata, aA as ApiTokensQuery, aB as ApiTxSyncResult, aC as ApiUserRewards, aD as ApiUserWallet, aE as ApiUsernameClaim, aF as ApiWalletActivity, aG as ApiWebhookCreated, aH as ApiWebhookEndpoint, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as ClaimConditions, aN as CollectionServiceId, aO as CollectionSort, aP as CollectionTokensSort, aQ as ConfirmRemixOfferParams, aR as ConfirmSelfRemixParams, aS as ConsiderationItem, aT as CreateCheckoutIntentParams, aU as CreateCoinIntentParams, aV as CreateCollectionIntentParams, aW as CreateCounterOfferIntentParams, aX as CreateDropParams, aY as CreateListingIntentParams, aZ as CreateMembershipParams, a_ as CreateMintIntentParams, a$ as CreatePopCollectionParams, b0 as CreateRemixOfferParams, b1 as CreateSponsorshipOfferIntentParams, b2 as CreateSponsorshipOfferParams, b3 as CreateSponsorshipProposalIntentParams, b4 as CreateTicketParams, b5 as CreateTierIntentParams, b6 as CreateWebhookParams, b7 as DropMintStatus, b8 as EmissionParams, b9 as EnforcementDeclaration, ba as FactoryFamilyServiceId, bb as FeeConfig, bc as FeeConfigSchema, bd as FulfillOrderIntentParams, be as IPType, bf as IntentCall, bg as IntentStatus, bh as IntentType, bi as IpAttribute, bj as IpNftMetadata, bk as LaunchCoinIntentParams, bl as MakeOfferIntentParams, bm as MedialaneApiError, bn as MedialaneConfig, bo as MedialaneErrorCode, bp as MintMembershipsParams, bq as MintTicketsParams, br as OPEN_LICENSES, bs as OfferItem, bt as OpenLicense, bu as Order, bv as OrderDetails, bw as OrderParameters, bx as OrderStatus, by as PasskeyCancelledError, bz as PlaceSponsorshipBidIntentParams, bA as PopBatchEligibilityItem, bB as PopClaimStatus, bC as PopEventType, bD as ProposeSponsorshipParams, bE as RejectSponsorshipProposalIntentParams, bF as RemixOfferStatus, bG as ResolvedConfig, bH as RetractSponsorshipBidIntentParams, bI as RetryOptions, bJ as ServiceEventDeclaration, bK as SetSponsorshipOfferOpenIntentParams, bL as SortOrder, bM as TenantPlan, bN as TierServiceId, bO as TxResult, bP as UpdateCollectionProfileInput, bQ as UserFacingError, bR as WebhookEventType, bS as WebhookStatus, bT as WithdrawSponsorshipProposalIntentParams, bU as resolveConfig, bV as resolveFeeConfig } from './errors-BU-LJRp3.cjs';
3
3
  import { C as Chain } from './types-CuSlc_YE.cjs';
4
4
  export { A as AdapterTxResult, a as AssetRef, b as CHAINS, c as ChainCoordinates, d as CoordinatesByChain, e as CreateCollectionInput, D as DEFAULT_CHAIN, E as EvmCoordinates, I as IssuanceAdapter, M as MintInput, O as OrderRef, R as RegisterOrderParams, S as SolanaCoordinates, f as StarknetCoordinates, g as StellarCoordinates, V as VenueAdapter, h as getCoordinates, i as getStarknetCoordinates } from './types-CuSlc_YE.cjs';
5
5
  import 'zod';
@@ -43,7 +43,6 @@ type NextStep = {
43
43
  } | {
44
44
  kind: "done";
45
45
  };
46
- /** What a paid IP Ticketing run asks for next. Kinds it shares with the shared union keep their shape. */
47
46
  type TicketingNextStep = {
48
47
  kind: "collection";
49
48
  } | {
@@ -68,6 +67,26 @@ type TicketingNextStep = {
68
67
  } | {
69
68
  kind: "done";
70
69
  };
70
+ type CertificateEmissionNextStep = {
71
+ kind: "collection";
72
+ } | {
73
+ kind: "wait-collection";
74
+ } | {
75
+ kind: "upload";
76
+ files: string[];
77
+ } | {
78
+ kind: "certificate-metadata";
79
+ } | {
80
+ kind: "wallets";
81
+ } | {
82
+ kind: "batch";
83
+ index: number;
84
+ } | {
85
+ kind: "wait";
86
+ index: number;
87
+ } | {
88
+ kind: "done";
89
+ };
71
90
  interface WalletRequest {
72
91
  recipient: string;
73
92
  }
@@ -90,9 +109,14 @@ type TicketingRun = LaunchpadRunBase & {
90
109
  service: "ip-ticketing";
91
110
  next?: TicketingNextStep;
92
111
  };
93
- type LaunchpadRun = DataTokenizationRun | TicketingRun;
112
+ type CertificateEmissionRun = LaunchpadRunBase & {
113
+ service: "certificate-emission";
114
+ next?: CertificateEmissionNextStep;
115
+ };
116
+ type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;
94
117
  declare const isDataTokenizationRun: (run: LaunchpadRun) => run is DataTokenizationRun;
95
118
  declare const isTicketingRun: (run: LaunchpadRun) => run is TicketingRun;
119
+ declare const isCertificateEmissionRun: (run: LaunchpadRun) => run is CertificateEmissionRun;
96
120
  interface ConfirmResult {
97
121
  pending: boolean;
98
122
  status: string;
@@ -105,12 +129,10 @@ declare class RunRequestError extends Error {
105
129
  }
106
130
  type TokenSource = () => Promise<string | null>;
107
131
  interface LaunchpadRunsClientOptions {
108
- /** The backend, or an app's proxy to it. `/v1/portal/runs` is appended. */
109
132
  baseUrl: string;
110
133
  getToken: TokenSource;
111
134
  fetchImpl?: typeof fetch;
112
135
  }
113
- /** Paid launchpad runs for the caller's account: create, pay, execute step by step, confirm. */
114
136
  declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: LaunchpadRunsClientOptions): {
115
137
  authorizedFetch: typeof fetch;
116
138
  runBase: (id: string) => string;
@@ -126,7 +148,6 @@ declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: Lau
126
148
  metadata: (id: string, userAddress: string) => Promise<{
127
149
  tokenUri: string;
128
150
  }>;
129
- /** Guests who still need a wallet deployed; the ones who already have one are recorded on the run. */
130
151
  resolveWallets: (id: string) => Promise<string[]>;
131
152
  registerWallet: (id: string, request: WalletRequest) => Promise<{
132
153
  recipient: string;
@@ -136,6 +157,23 @@ declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: Lau
136
157
  confirmTier: (id: string) => Promise<ConfirmResult>;
137
158
  confirmBatch: (id: string, index: number) => Promise<ConfirmResult>;
138
159
  };
160
+ certificateEmission: {
161
+ uploadUrl: (id: string, name: string) => Promise<string>;
162
+ uploaded: (id: string, name: string, cid: string) => Promise<{
163
+ name: string;
164
+ uri: string;
165
+ }>;
166
+ metadata: (id: string, userAddress: string) => Promise<{
167
+ tokenUri: string;
168
+ }>;
169
+ resolveWallets: (id: string) => Promise<string[]>;
170
+ registerWallet: (id: string, request: WalletRequest) => Promise<{
171
+ recipient: string;
172
+ walletAddress: string;
173
+ }>;
174
+ confirmCollection: (id: string) => Promise<ConfirmResult>;
175
+ confirmBatch: (id: string, index: number) => Promise<ConfirmResult>;
176
+ };
139
177
  list: () => Promise<LaunchpadRun[]>;
140
178
  get: (id: string) => Promise<LaunchpadRun>;
141
179
  create: (service: string, spec: unknown) => Promise<LaunchpadRun>;
@@ -335,6 +373,28 @@ declare const SERVICES: {
335
373
  readonly licenseDefault: "CC BY-SA";
336
374
  };
337
375
  };
376
+ readonly "certificate-emission": {
377
+ readonly id: "certificate-emission";
378
+ readonly displayName: "Certificate Emission";
379
+ readonly description: "Issue a soulbound credential to a list of recipients in one run — everyone gets a wallet and their certificate.";
380
+ readonly standard: "ERC721";
381
+ readonly provenance: "MEDIALANE";
382
+ readonly onchain: {
383
+ readonly STARKNET: {
384
+ readonly factoryAddress: `0x${string}`;
385
+ readonly classHash: `0x${string}`;
386
+ };
387
+ };
388
+ readonly uiVariant: "pop";
389
+ readonly capabilities: ["mint", "airdrop"];
390
+ readonly events: [{
391
+ readonly name: "CollectionCreated";
392
+ readonly emittedBy: "factory";
393
+ }];
394
+ readonly metadataSchema: {
395
+ readonly licenseDefault: "CC BY-SA";
396
+ };
397
+ };
338
398
  readonly "drop-collection": {
339
399
  readonly id: "drop-collection";
340
400
  readonly displayName: "Collection Drop";
@@ -757,4 +817,4 @@ declare const IPFS_SAFE_CONTENT_TYPE_PREFIXES: readonly ["image/jpeg", "image/pn
757
817
  declare function resolveSafeImageContentType(contentType: string): string;
758
818
  declare const MAX_IPFS_GATEWAY_RESPONSE_BYTES: number;
759
819
 
760
- export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, type AssetAttribute, type AssetMetadata, type BackendMetadataConfig, type BackendProxyConfig, type BackendUploadResult, type BuildAssetMetadataInput, type CanonicalHash, type CappedBody, Chain, type ConfirmResult, DEFAULT_CURRENCY, type DataTokenizationRun, type FailoverFetchOptions, type FeeEnv, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, type ImageProxyConfig, type LaunchpadRun, type LaunchpadRunsClient, type LaunchpadRunsClientOptions, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, type NextStep, POLICY_REFUSAL_CODES, RESERVED_TRAITS, type RemixPolicy, type RemixPolicyInput, ResolvedFeeConfig, type RpcProxyConfig, type RunQuote, type RunQuoteLine, RunRequestError, type RunStatus, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, ServiceCapability, ServiceDefinition, type ServiceId, type SiwsIdentity, type SupportedToken, type SupportedTokenSymbol, type TicketingNextStep, type TicketingRun, type TokenSource, type WalletRequest, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
820
+ export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, type AssetAttribute, type AssetMetadata, type BackendMetadataConfig, type BackendProxyConfig, type BackendUploadResult, type BuildAssetMetadataInput, type CanonicalHash, type CappedBody, type CertificateEmissionNextStep, type CertificateEmissionRun, Chain, type ConfirmResult, DEFAULT_CURRENCY, type DataTokenizationRun, type FailoverFetchOptions, type FeeEnv, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, type ImageProxyConfig, type LaunchpadRun, type LaunchpadRunsClient, type LaunchpadRunsClientOptions, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, type NextStep, POLICY_REFUSAL_CODES, RESERVED_TRAITS, type RemixPolicy, type RemixPolicyInput, ResolvedFeeConfig, type RpcProxyConfig, type RunQuote, type RunQuoteLine, RunRequestError, type RunStatus, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, ServiceCapability, ServiceDefinition, type ServiceId, type SiwsIdentity, type SupportedToken, type SupportedTokenSymbol, type TicketingNextStep, type TicketingRun, type TokenSource, type WalletRequest, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isCertificateEmissionRun, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedFeeConfig, S as ServiceDefinition, a as ServiceCapability } from './errors-DUiebYFo.js';
2
- export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as ActivityType, d as ApiActivitiesQuery, e as ApiActivity, f as ApiActivityPrice, g as ApiAdminCollectionClaim, h as ApiBusinessProvisioning, i as ApiChain, j as ApiCheckoutIntentResult, k as ApiClient, 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 ApiDropConditions, D as ApiDropInfo, E as ApiDropState, F as ApiEmissionCall, G as ApiEmissionResult, H as ApiFundingInstructions, I as ApiFundingIntent, J as ApiFundingMethod, K as ApiFundingStatus, L as ApiFundingSubmit, M as ApiIntent, N as ApiIntentCreated, O as ApiIpNftTokenData, P as ApiKeyStatus, Q as ApiMeta, T as ApiMetadataSignedUrl, U as ApiMetadataUpload, V as ApiOrder, W as ApiOrderConsideration, X as ApiOrderOffer, Y as ApiOrderPrice, Z as ApiOrderTokenMeta, _ as ApiOrderTxHash, $ as ApiOrdersQuery, a0 as ApiPlatformStats, a1 as ApiPointEvent, a2 as ApiPortalKey, a3 as ApiPortalKeyCreated, a4 as ApiPortalMe, a5 as ApiPortalSpend, a6 as ApiPricing, a7 as ApiPricingRule, a8 as ApiPublicRemix, a9 as ApiRemixOffer, aa as ApiRemixOfferPrice, ab as ApiRemixOffersQuery, ac as ApiReportTargetType, ad as ApiResponse, ae as ApiRewardsBadge, af as ApiRewardsBatchEntry, ag as ApiRewardsConfig, ah as ApiRewardsLeaderboardEntry, ai as ApiRewardsLevel, aj as ApiSearchCollectionResult, ak as ApiSearchCreatorResult, al as ApiSearchResult, am as ApiSearchTokenResult, 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 ApiTierOnchain, ax as ApiToken, ay as ApiTokenBalance, az as ApiTokenMetadata, aA as ApiTokensQuery, aB as ApiTxSyncResult, aC as ApiUserRewards, aD as ApiUserWallet, aE as ApiUsernameClaim, aF as ApiWalletActivity, aG as ApiWebhookCreated, aH as ApiWebhookEndpoint, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as ClaimConditions, aN as CollectionServiceId, aO as CollectionSort, aP as CollectionTokensSort, aQ as ConfirmRemixOfferParams, aR as ConfirmSelfRemixParams, aS as ConsiderationItem, aT as CreateCheckoutIntentParams, aU as CreateCoinIntentParams, aV as CreateCollectionIntentParams, aW as CreateCounterOfferIntentParams, aX as CreateDropParams, aY as CreateListingIntentParams, aZ as CreateMembershipParams, a_ as CreateMintIntentParams, a$ as CreatePopCollectionParams, b0 as CreateRemixOfferParams, b1 as CreateSponsorshipOfferIntentParams, b2 as CreateSponsorshipOfferParams, b3 as CreateSponsorshipProposalIntentParams, b4 as CreateTicketParams, b5 as CreateTierIntentParams, b6 as CreateWebhookParams, b7 as DropMintStatus, b8 as EmissionParams, b9 as EnforcementDeclaration, ba as FactoryFamilyServiceId, bb as FeeConfig, bc as FeeConfigSchema, bd as FulfillOrderIntentParams, be as IPType, bf as IntentCall, bg as IntentStatus, bh as IntentType, bi as IpAttribute, bj as IpNftMetadata, bk as LaunchCoinIntentParams, bl as MakeOfferIntentParams, bm as MedialaneApiError, bn as MedialaneConfig, bo as MedialaneErrorCode, bp as MintMembershipsParams, bq as MintTicketsParams, br as OPEN_LICENSES, bs as OfferItem, bt as OpenLicense, bu as Order, bv as OrderDetails, bw as OrderParameters, bx as OrderStatus, by as PasskeyCancelledError, bz as PlaceSponsorshipBidIntentParams, bA as PopBatchEligibilityItem, bB as PopClaimStatus, bC as PopEventType, bD as ProposeSponsorshipParams, bE as RejectSponsorshipProposalIntentParams, bF as RemixOfferStatus, bG as ResolvedConfig, bH as RetractSponsorshipBidIntentParams, bI as RetryOptions, bJ as ServiceEventDeclaration, bK as SetSponsorshipOfferOpenIntentParams, bL as SortOrder, bM as TenantPlan, bN as TierServiceId, bO as TxResult, bP as UpdateCollectionProfileInput, bQ as UserFacingError, bR as WebhookEventType, bS as WebhookStatus, bT as WithdrawSponsorshipProposalIntentParams, bU as resolveConfig, bV as resolveFeeConfig } from './errors-DUiebYFo.js';
1
+ import { R as ResolvedFeeConfig, S as ServiceDefinition, a as ServiceCapability } from './errors-CTfk25XX.js';
2
+ export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as ActivityType, d as ApiActivitiesQuery, e as ApiActivity, f as ApiActivityPrice, g as ApiAdminCollectionClaim, h as ApiBusinessProvisioning, i as ApiChain, j as ApiCheckoutIntentResult, k as ApiClient, 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 ApiDropConditions, D as ApiDropInfo, E as ApiDropState, F as ApiEmissionCall, G as ApiEmissionResult, H as ApiFundingInstructions, I as ApiFundingIntent, J as ApiFundingMethod, K as ApiFundingStatus, L as ApiFundingSubmit, M as ApiIntent, N as ApiIntentCreated, O as ApiIpNftTokenData, P as ApiKeyStatus, Q as ApiMeta, T as ApiMetadataSignedUrl, U as ApiMetadataUpload, V as ApiOrder, W as ApiOrderConsideration, X as ApiOrderOffer, Y as ApiOrderPrice, Z as ApiOrderTokenMeta, _ as ApiOrderTxHash, $ as ApiOrdersQuery, a0 as ApiPlatformStats, a1 as ApiPointEvent, a2 as ApiPortalKey, a3 as ApiPortalKeyCreated, a4 as ApiPortalMe, a5 as ApiPortalSpend, a6 as ApiPricing, a7 as ApiPricingRule, a8 as ApiPublicRemix, a9 as ApiRemixOffer, aa as ApiRemixOfferPrice, ab as ApiRemixOffersQuery, ac as ApiReportTargetType, ad as ApiResponse, ae as ApiRewardsBadge, af as ApiRewardsBatchEntry, ag as ApiRewardsConfig, ah as ApiRewardsLeaderboardEntry, ai as ApiRewardsLevel, aj as ApiSearchCollectionResult, ak as ApiSearchCreatorResult, al as ApiSearchResult, am as ApiSearchTokenResult, 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 ApiTierOnchain, ax as ApiToken, ay as ApiTokenBalance, az as ApiTokenMetadata, aA as ApiTokensQuery, aB as ApiTxSyncResult, aC as ApiUserRewards, aD as ApiUserWallet, aE as ApiUsernameClaim, aF as ApiWalletActivity, aG as ApiWebhookCreated, aH as ApiWebhookEndpoint, aI as AutoRemixOfferParams, aJ as CancelOrderIntentParams, aK as ChainFilter, aL as CheckoutIntentItem, aM as ClaimConditions, aN as CollectionServiceId, aO as CollectionSort, aP as CollectionTokensSort, aQ as ConfirmRemixOfferParams, aR as ConfirmSelfRemixParams, aS as ConsiderationItem, aT as CreateCheckoutIntentParams, aU as CreateCoinIntentParams, aV as CreateCollectionIntentParams, aW as CreateCounterOfferIntentParams, aX as CreateDropParams, aY as CreateListingIntentParams, aZ as CreateMembershipParams, a_ as CreateMintIntentParams, a$ as CreatePopCollectionParams, b0 as CreateRemixOfferParams, b1 as CreateSponsorshipOfferIntentParams, b2 as CreateSponsorshipOfferParams, b3 as CreateSponsorshipProposalIntentParams, b4 as CreateTicketParams, b5 as CreateTierIntentParams, b6 as CreateWebhookParams, b7 as DropMintStatus, b8 as EmissionParams, b9 as EnforcementDeclaration, ba as FactoryFamilyServiceId, bb as FeeConfig, bc as FeeConfigSchema, bd as FulfillOrderIntentParams, be as IPType, bf as IntentCall, bg as IntentStatus, bh as IntentType, bi as IpAttribute, bj as IpNftMetadata, bk as LaunchCoinIntentParams, bl as MakeOfferIntentParams, bm as MedialaneApiError, bn as MedialaneConfig, bo as MedialaneErrorCode, bp as MintMembershipsParams, bq as MintTicketsParams, br as OPEN_LICENSES, bs as OfferItem, bt as OpenLicense, bu as Order, bv as OrderDetails, bw as OrderParameters, bx as OrderStatus, by as PasskeyCancelledError, bz as PlaceSponsorshipBidIntentParams, bA as PopBatchEligibilityItem, bB as PopClaimStatus, bC as PopEventType, bD as ProposeSponsorshipParams, bE as RejectSponsorshipProposalIntentParams, bF as RemixOfferStatus, bG as ResolvedConfig, bH as RetractSponsorshipBidIntentParams, bI as RetryOptions, bJ as ServiceEventDeclaration, bK as SetSponsorshipOfferOpenIntentParams, bL as SortOrder, bM as TenantPlan, bN as TierServiceId, bO as TxResult, bP as UpdateCollectionProfileInput, bQ as UserFacingError, bR as WebhookEventType, bS as WebhookStatus, bT as WithdrawSponsorshipProposalIntentParams, bU as resolveConfig, bV as resolveFeeConfig } from './errors-CTfk25XX.js';
3
3
  import { C as Chain } from './types-CuSlc_YE.js';
4
4
  export { A as AdapterTxResult, a as AssetRef, b as CHAINS, c as ChainCoordinates, d as CoordinatesByChain, e as CreateCollectionInput, D as DEFAULT_CHAIN, E as EvmCoordinates, I as IssuanceAdapter, M as MintInput, O as OrderRef, R as RegisterOrderParams, S as SolanaCoordinates, f as StarknetCoordinates, g as StellarCoordinates, V as VenueAdapter, h as getCoordinates, i as getStarknetCoordinates } from './types-CuSlc_YE.js';
5
5
  import 'zod';
@@ -43,7 +43,6 @@ type NextStep = {
43
43
  } | {
44
44
  kind: "done";
45
45
  };
46
- /** What a paid IP Ticketing run asks for next. Kinds it shares with the shared union keep their shape. */
47
46
  type TicketingNextStep = {
48
47
  kind: "collection";
49
48
  } | {
@@ -68,6 +67,26 @@ type TicketingNextStep = {
68
67
  } | {
69
68
  kind: "done";
70
69
  };
70
+ type CertificateEmissionNextStep = {
71
+ kind: "collection";
72
+ } | {
73
+ kind: "wait-collection";
74
+ } | {
75
+ kind: "upload";
76
+ files: string[];
77
+ } | {
78
+ kind: "certificate-metadata";
79
+ } | {
80
+ kind: "wallets";
81
+ } | {
82
+ kind: "batch";
83
+ index: number;
84
+ } | {
85
+ kind: "wait";
86
+ index: number;
87
+ } | {
88
+ kind: "done";
89
+ };
71
90
  interface WalletRequest {
72
91
  recipient: string;
73
92
  }
@@ -90,9 +109,14 @@ type TicketingRun = LaunchpadRunBase & {
90
109
  service: "ip-ticketing";
91
110
  next?: TicketingNextStep;
92
111
  };
93
- type LaunchpadRun = DataTokenizationRun | TicketingRun;
112
+ type CertificateEmissionRun = LaunchpadRunBase & {
113
+ service: "certificate-emission";
114
+ next?: CertificateEmissionNextStep;
115
+ };
116
+ type LaunchpadRun = DataTokenizationRun | TicketingRun | CertificateEmissionRun;
94
117
  declare const isDataTokenizationRun: (run: LaunchpadRun) => run is DataTokenizationRun;
95
118
  declare const isTicketingRun: (run: LaunchpadRun) => run is TicketingRun;
119
+ declare const isCertificateEmissionRun: (run: LaunchpadRun) => run is CertificateEmissionRun;
96
120
  interface ConfirmResult {
97
121
  pending: boolean;
98
122
  status: string;
@@ -105,12 +129,10 @@ declare class RunRequestError extends Error {
105
129
  }
106
130
  type TokenSource = () => Promise<string | null>;
107
131
  interface LaunchpadRunsClientOptions {
108
- /** The backend, or an app's proxy to it. `/v1/portal/runs` is appended. */
109
132
  baseUrl: string;
110
133
  getToken: TokenSource;
111
134
  fetchImpl?: typeof fetch;
112
135
  }
113
- /** Paid launchpad runs for the caller's account: create, pay, execute step by step, confirm. */
114
136
  declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: LaunchpadRunsClientOptions): {
115
137
  authorizedFetch: typeof fetch;
116
138
  runBase: (id: string) => string;
@@ -126,7 +148,6 @@ declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: Lau
126
148
  metadata: (id: string, userAddress: string) => Promise<{
127
149
  tokenUri: string;
128
150
  }>;
129
- /** Guests who still need a wallet deployed; the ones who already have one are recorded on the run. */
130
151
  resolveWallets: (id: string) => Promise<string[]>;
131
152
  registerWallet: (id: string, request: WalletRequest) => Promise<{
132
153
  recipient: string;
@@ -136,6 +157,23 @@ declare function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl }: Lau
136
157
  confirmTier: (id: string) => Promise<ConfirmResult>;
137
158
  confirmBatch: (id: string, index: number) => Promise<ConfirmResult>;
138
159
  };
160
+ certificateEmission: {
161
+ uploadUrl: (id: string, name: string) => Promise<string>;
162
+ uploaded: (id: string, name: string, cid: string) => Promise<{
163
+ name: string;
164
+ uri: string;
165
+ }>;
166
+ metadata: (id: string, userAddress: string) => Promise<{
167
+ tokenUri: string;
168
+ }>;
169
+ resolveWallets: (id: string) => Promise<string[]>;
170
+ registerWallet: (id: string, request: WalletRequest) => Promise<{
171
+ recipient: string;
172
+ walletAddress: string;
173
+ }>;
174
+ confirmCollection: (id: string) => Promise<ConfirmResult>;
175
+ confirmBatch: (id: string, index: number) => Promise<ConfirmResult>;
176
+ };
139
177
  list: () => Promise<LaunchpadRun[]>;
140
178
  get: (id: string) => Promise<LaunchpadRun>;
141
179
  create: (service: string, spec: unknown) => Promise<LaunchpadRun>;
@@ -335,6 +373,28 @@ declare const SERVICES: {
335
373
  readonly licenseDefault: "CC BY-SA";
336
374
  };
337
375
  };
376
+ readonly "certificate-emission": {
377
+ readonly id: "certificate-emission";
378
+ readonly displayName: "Certificate Emission";
379
+ readonly description: "Issue a soulbound credential to a list of recipients in one run — everyone gets a wallet and their certificate.";
380
+ readonly standard: "ERC721";
381
+ readonly provenance: "MEDIALANE";
382
+ readonly onchain: {
383
+ readonly STARKNET: {
384
+ readonly factoryAddress: `0x${string}`;
385
+ readonly classHash: `0x${string}`;
386
+ };
387
+ };
388
+ readonly uiVariant: "pop";
389
+ readonly capabilities: ["mint", "airdrop"];
390
+ readonly events: [{
391
+ readonly name: "CollectionCreated";
392
+ readonly emittedBy: "factory";
393
+ }];
394
+ readonly metadataSchema: {
395
+ readonly licenseDefault: "CC BY-SA";
396
+ };
397
+ };
338
398
  readonly "drop-collection": {
339
399
  readonly id: "drop-collection";
340
400
  readonly displayName: "Collection Drop";
@@ -757,4 +817,4 @@ declare const IPFS_SAFE_CONTENT_TYPE_PREFIXES: readonly ["image/jpeg", "image/pn
757
817
  declare function resolveSafeImageContentType(contentType: string): string;
758
818
  declare const MAX_IPFS_GATEWAY_RESPONSE_BYTES: number;
759
819
 
760
- export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, type AssetAttribute, type AssetMetadata, type BackendMetadataConfig, type BackendProxyConfig, type BackendUploadResult, type BuildAssetMetadataInput, type CanonicalHash, type CappedBody, Chain, type ConfirmResult, DEFAULT_CURRENCY, type DataTokenizationRun, type FailoverFetchOptions, type FeeEnv, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, type ImageProxyConfig, type LaunchpadRun, type LaunchpadRunsClient, type LaunchpadRunsClientOptions, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, type NextStep, POLICY_REFUSAL_CODES, RESERVED_TRAITS, type RemixPolicy, type RemixPolicyInput, ResolvedFeeConfig, type RpcProxyConfig, type RunQuote, type RunQuoteLine, RunRequestError, type RunStatus, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, ServiceCapability, ServiceDefinition, type ServiceId, type SiwsIdentity, type SupportedToken, type SupportedTokenSymbol, type TicketingNextStep, type TicketingRun, type TokenSource, type WalletRequest, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
820
+ export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, type AssetAttribute, type AssetMetadata, type BackendMetadataConfig, type BackendProxyConfig, type BackendUploadResult, type BuildAssetMetadataInput, type CanonicalHash, type CappedBody, type CertificateEmissionNextStep, type CertificateEmissionRun, Chain, type ConfirmResult, DEFAULT_CURRENCY, type DataTokenizationRun, type FailoverFetchOptions, type FeeEnv, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, type ImageProxyConfig, type LaunchpadRun, type LaunchpadRunsClient, type LaunchpadRunsClientOptions, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, type NextStep, POLICY_REFUSAL_CODES, RESERVED_TRAITS, type RemixPolicy, type RemixPolicyInput, ResolvedFeeConfig, type RpcProxyConfig, type RunQuote, type RunQuoteLine, RunRequestError, type RunStatus, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, ServiceCapability, ServiceDefinition, type ServiceId, type SiwsIdentity, type SupportedToken, type SupportedTokenSymbol, type TicketingNextStep, type TicketingRun, type TokenSource, type WalletRequest, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isCertificateEmissionRun, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
package/dist/index.js CHANGED
@@ -377,7 +377,6 @@ var ApiClient = class {
377
377
  getActiveOrdersForToken(contract, tokenId) {
378
378
  return this.get(`/v1/orders/token/${this.addr(contract)}/${tokenId}`);
379
379
  }
380
- /** Offers others made on the address's assets. */
381
380
  getReceivedOffers(address, opts = {}) {
382
381
  const params = new URLSearchParams({ page: String(opts.page ?? 1), limit: String(opts.limit ?? 50) });
383
382
  return this.get(`/v1/orders/received/${this.addr(address)}?${params}`);
@@ -536,7 +535,6 @@ var ApiClient = class {
536
535
  uploadMetadata(metadata) {
537
536
  return this.post("/v1/metadata/upload", metadata);
538
537
  }
539
- /** Pins several JSON files as one IPFS directory, e.g. a drop's token metadata. */
540
538
  async uploadMetadataDirectory(files) {
541
539
  const res = await this.post("/v1/metadata/upload-directory", { files });
542
540
  return res.data;
@@ -590,7 +588,6 @@ var ApiClient = class {
590
588
  headers: this.asSubject(siwsToken)
591
589
  });
592
590
  }
593
- /** @deprecated Use the funding methods (`createFunding`, or `fundWithChainTransfer` from `@medialane/sdk/starknet`). This call only nudges a legacy scanner and never credits anything itself. */
594
591
  checkDeposit(txHash, siwsToken) {
595
592
  return this.request("/v1/portal/credits/check", {
596
593
  method: "POST",
@@ -782,14 +779,9 @@ var ApiClient = class {
782
779
  async verifyEmailCode(email, code) {
783
780
  await this.post("/v1/auth/email/verify-code", { email, code });
784
781
  }
785
- /**
786
- * Makes the passkey the only owner of the session account's wallet. `signature` is the passkey's owner-alive
787
- * proof for the wallet. Answers 409 when the wallet is already set up.
788
- */
789
782
  setupWalletKey(params) {
790
783
  return this.post("/v1/users/me/wallet/key", params);
791
784
  }
792
- /** The session account's wallet, and whether its passkey still has to be set up (`setupWalletKey`). */
793
785
  async getSessionWallet() {
794
786
  const body = await this.post("/v1/users/me/wallet", {});
795
787
  return body.walletAddress ? { walletAddress: body.walletAddress, needsKeySetup: body.needsKeySetup === true } : null;
@@ -1124,6 +1116,7 @@ var ApiClient = class {
1124
1116
  // src/api/launchpad-runs.ts
1125
1117
  var isDataTokenizationRun = (run) => run.service === "data-tokenization-erc721";
1126
1118
  var isTicketingRun = (run) => run.service === "ip-ticketing";
1119
+ var isCertificateEmissionRun = (run) => run.service === "certificate-emission";
1127
1120
  var RunRequestError = class extends Error {
1128
1121
  constructor(message, status, body) {
1129
1122
  super(message);
@@ -1163,13 +1156,21 @@ function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl = fetch }) {
1163
1156
  uploadUrl: async (id, name) => (await post(`${runBase(id)}/files/upload-url`, { name })).data.url,
1164
1157
  uploaded: async (id, name, cid) => (await post(`${runBase(id)}/files/uploaded`, { name, cid })).data,
1165
1158
  metadata: async (id, userAddress) => (await post(`${runBase(id)}/metadata`, { userAddress })).data,
1166
- /** Guests who still need a wallet deployed; the ones who already have one are recorded on the run. */
1167
1159
  resolveWallets: async (id) => (await post(`${runBase(id)}/wallets/resolve`)).data.pending,
1168
1160
  registerWallet: async (id, request) => (await post(`${runBase(id)}/wallets`, request)).data,
1169
1161
  confirmCollection: (id) => confirm(`${runCollectionBase(id)}/confirm`),
1170
1162
  confirmTier: (id) => confirm(`${runTierBase(id)}/confirm`),
1171
1163
  confirmBatch: (id, index) => confirm(`${runBatchBase(id, index)}/confirm`)
1172
1164
  };
1165
+ const certificateEmission = {
1166
+ uploadUrl: async (id, name) => (await post(`${runBase(id)}/files/upload-url`, { name })).data.url,
1167
+ uploaded: async (id, name, cid) => (await post(`${runBase(id)}/files/uploaded`, { name, cid })).data,
1168
+ metadata: async (id, userAddress) => (await post(`${runBase(id)}/certificate-metadata`, { userAddress })).data,
1169
+ resolveWallets: async (id) => (await post(`${runBase(id)}/recipients/resolve`)).data.pending,
1170
+ registerWallet: async (id, request) => (await post(`${runBase(id)}/recipients`, request)).data,
1171
+ confirmCollection: (id) => confirm(`${runCollectionBase(id)}/confirm`),
1172
+ confirmBatch: (id, index) => confirm(`${runBatchBase(id, index)}/confirm`)
1173
+ };
1173
1174
  return {
1174
1175
  authorizedFetch,
1175
1176
  runBase,
@@ -1177,6 +1178,7 @@ function createLaunchpadRunsClient({ baseUrl, getToken, fetchImpl = fetch }) {
1177
1178
  runCollectionBase,
1178
1179
  runTierBase,
1179
1180
  ticketing,
1181
+ certificateEmission,
1180
1182
  list: async () => (await call(runsUrl)).data,
1181
1183
  get: async (id) => (await call(`${runBase(id)}`)).data,
1182
1184
  create: async (service, spec) => (await post(runsUrl, { service, spec })).data,
@@ -1394,6 +1396,25 @@ var SERVICES = {
1394
1396
  ],
1395
1397
  metadataSchema: { licenseDefault: "CC BY-SA" }
1396
1398
  },
1399
+ "certificate-emission": {
1400
+ id: "certificate-emission",
1401
+ displayName: "Certificate Emission",
1402
+ description: "Issue a soulbound credential to a list of recipients in one run \u2014 everyone gets a wallet and their certificate.",
1403
+ standard: "ERC721",
1404
+ provenance: "MEDIALANE",
1405
+ onchain: {
1406
+ STARKNET: {
1407
+ factoryAddress: SN2.popFactory,
1408
+ classHash: SN2.popCollectionClassHash
1409
+ }
1410
+ },
1411
+ uiVariant: "pop",
1412
+ capabilities: ["mint", "airdrop"],
1413
+ events: [
1414
+ { name: "CollectionCreated", emittedBy: "factory" }
1415
+ ],
1416
+ metadataSchema: { licenseDefault: "CC BY-SA" }
1417
+ },
1397
1418
  "drop-collection": {
1398
1419
  id: "drop-collection",
1399
1420
  displayName: "Collection Drop",
@@ -2294,6 +2315,6 @@ var UserFacingError = class extends Error {
2294
2315
  }
2295
2316
  };
2296
2317
 
2297
- export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, ApiClient, CHAINS, DEFAULT_CHAIN, DEFAULT_CURRENCY, FeeConfigSchema, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, MedialaneApiError, OPEN_LICENSES, POLICY_REFUSAL_CODES, PasskeyCancelledError, RESERVED_TRAITS, RunRequestError, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, UserFacingError, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getCoordinates, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getStarknetCoordinates, getTokenByAddress, getTokenBySymbol, hasCapability, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveConfig, resolveFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
2318
+ export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, ApiClient, CHAINS, DEFAULT_CHAIN, DEFAULT_CURRENCY, FeeConfigSchema, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, MedialaneApiError, OPEN_LICENSES, POLICY_REFUSAL_CODES, PasskeyCancelledError, RESERVED_TRAITS, RunRequestError, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, UserFacingError, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createLaunchpadRunsClient, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getCoordinates, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getStarknetCoordinates, getTokenByAddress, getTokenBySymbol, hasCapability, isCertificateEmissionRun, isDataTokenizationRun, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTicketingRun, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, resolveAppFeeConfig, resolveConfig, resolveFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };
2298
2319
  //# sourceMappingURL=index.js.map
2299
2320
  //# sourceMappingURL=index.js.map