@medialane/sdk 0.69.0 → 0.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as ServiceDefinition, a as ServiceCapability } from './index-7ubLS_Ae.cjs';
2
- export { A as ADMIN_HEADERS, b as ADMIN_SCOPE, c as ActivityType, d as AddSupplyParams, e as AdminGrant, f as AdminRequest, g as AdminRequestSig, h as AdminSession, i as AdminSessionTypedDataInput, j as ApiActivitiesQuery, k as ApiActivity, l as ApiActivityPrice, m as ApiAdminCollectionClaim, n as ApiAppSource, o as ApiChain, p as ApiClient, q as ApiCoin, r as ApiCoinsQuery, s as ApiCollection, t as ApiCollectionClaim, u as ApiCollectionProfile, v as ApiCollectionSlugClaim, w as ApiCollectionsQuery, x as ApiComment, y as ApiCounterOffersQuery, z as ApiCreatorListResult, B as ApiCreatorProfile, C as ApiIntent, D as ApiIntentCreated, E as ApiKeyStatus, F as ApiMeta, G as ApiMetadataSignedUrl, H as ApiMetadataUpload, I as ApiOrder, J as ApiOrderConsideration, K as ApiOrderOffer, L as ApiOrderPrice, M as ApiOrderTokenMeta, N as ApiOrderTxHash, O as ApiOrdersQuery, P as ApiPointEvent, Q as ApiPortalKey, R as ApiPortalKeyCreated, T as ApiPortalMe, U as ApiPublicRemix, V as ApiRemixOffer, W as ApiRemixOfferPrice, X as ApiRemixOffersQuery, Y as ApiResponse, Z as ApiRewardsBadge, _ as ApiRewardsBatchEntry, $ as ApiRewardsConfig, a0 as ApiRewardsLeaderboardEntry, a1 as ApiRewardsLevel, a2 as ApiSearchCollectionResult, a3 as ApiSearchCreatorResult, a4 as ApiSearchResult, a5 as ApiSearchTokenResult, a6 as ApiToken, a7 as ApiTokenBalance, a8 as ApiTokenMetadata, a9 as ApiUsageDay, aa as ApiUserRewards, ab as ApiUserWallet, ac as ApiWebhookCreated, ad as ApiWebhookEndpoint, ae as AutoRemixOfferParams, af as BatchMintEditionParams, ag as BuildFeeCallParams, ah as COIN_MAX_SUPPLY, ai as COIN_MIN_SUPPLY, aj as CancelOrderIntentParams, ak as ChainFilter, al as ClaimConditions, am as ClubService, an as CollectionSort, ao as CollectionTokensSort, ap as ConfirmRemixOfferParams, aq as ConfirmSelfRemixParams, ar as ConsiderationItem, as as CreateCollectionIntentParams, at as CreateCounterOfferIntentParams, au as CreateCreatorCoinParams, av as CreateDropParams, aw as CreateGrantOpts, ax as CreateListingIntentParams, ay as CreateMembershipParams, az as CreateMintIntentParams, aA as CreatePopCollectionParams, aB as CreateRemixOfferParams, aC as CreateSponsorshipOfferParams, aD as CreateTicketParams, aE as CreateWebhookParams, aF as CreatorCoinFactoryABI, aG as CreatorCoinPrice, aH as CreatorCoinReceiptLike, aI as CreatorCoinService, aJ as DeployCollectionParams, aK as DropCollectionABI, aL as DropFactoryABI, aM as DropMintStatus, aN as DropService, aO as ERC1155CollectionService, aP as EkuboLaunchParams, aQ as EkuboPoolParams, aR as EnforcementDeclaration, aS as FeeConfig, aT as FeeConfigSchema, aU as FeeSurface, aV as FulfillOrderIntentParams, aW as IPClubCollectionABI, aX as IPClubFactoryABI, aY as IPCollection1155ABI, aZ as IPCollection1155FactoryABI, a_ as IPCollectionABI, a$ as IPGenesisABI, b0 as IPMarketplaceABI, b1 as IPNftABI, b2 as IPSponsorshipABI, b3 as IPTicketCollectionABI, b4 as IPTicketCollectionFactoryABI, b5 as IPType, b6 as IntentCall, b7 as IntentStatus, b8 as IntentType, b9 as IpAttribute, ba as IpNftMetadata, bb as LAUNCH_PRICE_QUOTE_PER_COIN, bc as MakeOfferIntentParams, bd as Medialane1155ABI, be as MedialaneApiError, bf as MedialaneClient, bg as MedialaneConfig, bh as MedialaneError, bi as MedialaneErrorCode, bj as MintEditionParams, bk as MintMembershipsParams, bl as MintTicketsParams, bm as OPEN_LICENSES, bn as OfferItem, bo as OpenLicense, bp as Order, bq as OrderDetails, br as OrderParameters, bs as OrderStatus, bt as POPCollectionABI, bu as POPFactoryABI, bv as ParsedAdminHeaders, bw as PopBatchEligibilityItem, bx as PopClaimStatus, by as PopEventType, bz as PopService, bA as ProposeSponsorshipParams, bB as RemixOfferStatus, bC as RequestSiwsTokenArgs, bD as ResolvedConfig, bE as ResolvedFeeConfig, bF as ResolvedOrder, bG as RetryOptions, bH as ServiceEventDeclaration, bI as SiwsSigner, bJ as SortOrder, bK as SponsorshipService, bL as StarknetVenue, bM as StarknetVenueDeps, bN as StarknetVenueSigner, bO as TenantPlan, bP as TicketService, bQ as TxResult, bR as VALIDATED_EKUBO_PARAMS, bS as WebhookEventType, bT as WebhookStatus, bU as adminRequestDigest, bV as build1155CancellationTypedData, bW as build1155OrderTypedData, bX as buildAdminSessionTypedData, bY as buildCancellationTypedData, bZ as buildCreateCreatorCoinCall, b_ as buildFeeCall, b$ as buildLaunchOnEkuboCalls, c0 as buildOrderTypedData, c1 as buybackQuoteRaw, c2 as coinToRaw, c3 as createAdminSessionGrant, c4 as encodeAdminHeaders, c5 as encodeByteArray, c6 as fdvHuman, c7 as getCounter, c8 as getCounter1155, c9 as getCreatorCoinPrice, ca as getOrderDetails, cb as getOrderDetails1155, cc as getSiwsStorageKey, cd as getStoredSiwsToken, ce as isSiwsTokenValid, cf as normalizeSiwsSignature, cg as parseAdminHeaders, ch as parseCreatorCoinCreated, ci as randomNonce, cj as requestSiwsToken, ck as resolveConfig, cl as resolveFeeConfig, cm as sessionKeyHashOf, cn as signAdminRequest, co as storeSiwsToken, cp as teamCoinsRaw, cq as validateCoinName, cr as validateCoinSupply, cs as validateCoinSymbol, ct as verifyAdminRequestSig } from './index-7ubLS_Ae.cjs';
1
+ import { S as ServiceDefinition, a as ServiceCapability } from './index-D-ugU7Tw.cjs';
2
+ export { A as ADMIN_HEADERS, b as ADMIN_SCOPE, c as ActivityType, d as AddSupplyParams, e as AdminGrant, f as AdminRequest, g as AdminRequestSig, h as AdminSession, i as AdminSessionTypedDataInput, j as ApiActivitiesQuery, k as ApiActivity, l as ApiActivityPrice, m as ApiAdminCollectionClaim, n as ApiAppSource, o as ApiChain, p as ApiClient, q as ApiCoin, r as ApiCoinsQuery, s as ApiCollection, t as ApiCollectionClaim, u as ApiCollectionProfile, v as ApiCollectionSlugClaim, w as ApiCollectionsQuery, x as ApiComment, y as ApiCounterOffersQuery, z as ApiCreatorListResult, B as ApiCreatorProfile, C as ApiIntent, D as ApiIntentCreated, E as ApiKeyStatus, F as ApiMeta, G as ApiMetadataSignedUrl, H as ApiMetadataUpload, I as ApiOrder, J as ApiOrderConsideration, K as ApiOrderOffer, L as ApiOrderPrice, M as ApiOrderTokenMeta, N as ApiOrderTxHash, O as ApiOrdersQuery, P as ApiPointEvent, Q as ApiPortalKey, R as ApiPortalKeyCreated, T as ApiPortalMe, U as ApiPublicRemix, V as ApiRemixOffer, W as ApiRemixOfferPrice, X as ApiRemixOffersQuery, Y as ApiResponse, Z as ApiRewardsBadge, _ as ApiRewardsBatchEntry, $ as ApiRewardsConfig, a0 as ApiRewardsLeaderboardEntry, a1 as ApiRewardsLevel, a2 as ApiSearchCollectionResult, a3 as ApiSearchCreatorResult, a4 as ApiSearchResult, a5 as ApiSearchTokenResult, a6 as ApiToken, a7 as ApiTokenBalance, a8 as ApiTokenMetadata, a9 as ApiUsageDay, aa as ApiUserRewards, ab as ApiUserWallet, ac as ApiWebhookCreated, ad as ApiWebhookEndpoint, ae as AutoRemixOfferParams, af as BatchMintEditionParams, ag as BuildFeeCallParams, ah as COIN_MAX_SUPPLY, ai as COIN_MIN_SUPPLY, aj as CancelOrderIntentParams, ak as ChainFilter, al as ClaimConditions, am as ClubService, an as CollectionSort, ao as CollectionTokensSort, ap as ConfirmRemixOfferParams, aq as ConfirmSelfRemixParams, ar as ConsiderationItem, as as CreateCollectionIntentParams, at as CreateCounterOfferIntentParams, au as CreateCreatorCoinParams, av as CreateDropParams, aw as CreateGrantOpts, ax as CreateListingIntentParams, ay as CreateMembershipParams, az as CreateMintIntentParams, aA as CreatePopCollectionParams, aB as CreateRemixOfferParams, aC as CreateSponsorshipOfferParams, aD as CreateTicketParams, aE as CreateWebhookParams, aF as CreatorCoinFactoryABI, aG as CreatorCoinPrice, aH as CreatorCoinReceiptLike, aI as CreatorCoinService, aJ as DeployCollectionParams, aK as DropCollectionABI, aL as DropFactoryABI, aM as DropMintStatus, aN as DropService, aO as ERC1155CollectionService, aP as EkuboLaunchParams, aQ as EkuboPoolParams, aR as EnforcementDeclaration, aS as FeeConfig, aT as FeeConfigSchema, aU as FeeSurface, aV as FulfillOrderIntentParams, aW as IPClubCollectionABI, aX as IPClubFactoryABI, aY as IPCollection1155ABI, aZ as IPCollection1155FactoryABI, a_ as IPCollectionABI, a$ as IPGenesisABI, b0 as IPMarketplaceABI, b1 as IPNftABI, b2 as IPSponsorshipABI, b3 as IPTicketCollectionABI, b4 as IPTicketCollectionFactoryABI, b5 as IPType, b6 as IntentCall, b7 as IntentStatus, b8 as IntentType, b9 as IpAttribute, ba as IpNftMetadata, bb as LAUNCH_PRICE_QUOTE_PER_COIN, bc as MakeOfferIntentParams, bd as Medialane1155ABI, be as MedialaneApiError, bf as MedialaneClient, bg as MedialaneConfig, bh as MedialaneError, bi as MedialaneErrorCode, bj as MintEditionParams, bk as MintMembershipsParams, bl as MintTicketsParams, bm as OPEN_LICENSES, bn as OfferItem, bo as OpenLicense, bp as Order, bq as OrderDetails, br as OrderParameters, bs as OrderStatus, bt as POPCollectionABI, bu as POPFactoryABI, bv as ParsedAdminHeaders, bw as PopBatchEligibilityItem, bx as PopClaimStatus, by as PopEventType, bz as PopService, bA as ProposeSponsorshipParams, bB as RemixOfferStatus, bC as RequestSiwsTokenArgs, bD as ResolvedConfig, bE as ResolvedFeeConfig, bF as ResolvedOrder, bG as RetryOptions, bH as ServiceEventDeclaration, bI as SiwsSigner, bJ as SortOrder, bK as SponsorshipService, bL as StarknetVenue, bM as StarknetVenueDeps, bN as StarknetVenueSigner, bO as TenantPlan, bP as TicketService, bQ as TxResult, bR as VALIDATED_EKUBO_PARAMS, bS as WebhookEventType, bT as WebhookStatus, bU as adminRequestDigest, bV as build1155CancellationTypedData, bW as build1155OrderTypedData, bX as buildAdminSessionTypedData, bY as buildCancellationTypedData, bZ as buildCreateCreatorCoinCall, b_ as buildFeeCall, b$ as buildLaunchOnEkuboCalls, c0 as buildOrderTypedData, c1 as buybackQuoteRaw, c2 as coinToRaw, c3 as createAdminSessionGrant, c4 as encodeAdminHeaders, c5 as encodeByteArray, c6 as fdvHuman, c7 as getCounter, c8 as getCounter1155, c9 as getCreatorCoinPrice, ca as getOrderDetails, cb as getOrderDetails1155, cc as getSiwsStorageKey, cd as getStoredSiwsToken, ce as isSiwsTokenValid, cf as normalizeSiwsSignature, cg as parseAdminHeaders, ch as parseCreatorCoinCreated, ci as randomNonce, cj as requestSiwsToken, ck as resolveConfig, cl as resolveFeeConfig, cm as sessionKeyHashOf, cn as signAdminRequest, co as storeSiwsToken, cp as teamCoinsRaw, cq as validateCoinName, cr as validateCoinSupply, cs as validateCoinSymbol, ct as verifyAdminRequestSig } from './index-D-ugU7Tw.cjs';
3
3
  import { C as Chain } from './types-Du_-QoQ1.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 VenueSigner, i as getCoordinates, j as getStarknetCoordinates } from './types-Du_-QoQ1.cjs';
5
5
  import 'zod';
@@ -431,7 +431,13 @@ declare function parseAmount(human: string, decimals: number): string;
431
431
  */
432
432
  declare function formatAmount(raw: string, decimals: number): string;
433
433
  /**
434
- * Find a supported token by its contract address (case-insensitive).
434
+ * Find a supported token by its contract address.
435
+ *
436
+ * Compares by numeric felt value so a caller-supplied address that isn't
437
+ * zero-padded to 64 hex chars (`0x33068f6…`) still matches the stored padded
438
+ * form (`0x033068f6…`) — a bare `.toLowerCase()` string compare would miss it,
439
+ * the exact padding trap the address invariant warns against. Non-hex inputs
440
+ * fall back to a case-insensitive string compare.
435
441
  */
436
442
  declare function getTokenByAddress(address: string): SupportedToken | undefined;
437
443
  /**
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as ServiceDefinition, a as ServiceCapability } from './index-CQGxMPav.js';
2
- export { A as ADMIN_HEADERS, b as ADMIN_SCOPE, c as ActivityType, d as AddSupplyParams, e as AdminGrant, f as AdminRequest, g as AdminRequestSig, h as AdminSession, i as AdminSessionTypedDataInput, j as ApiActivitiesQuery, k as ApiActivity, l as ApiActivityPrice, m as ApiAdminCollectionClaim, n as ApiAppSource, o as ApiChain, p as ApiClient, q as ApiCoin, r as ApiCoinsQuery, s as ApiCollection, t as ApiCollectionClaim, u as ApiCollectionProfile, v as ApiCollectionSlugClaim, w as ApiCollectionsQuery, x as ApiComment, y as ApiCounterOffersQuery, z as ApiCreatorListResult, B as ApiCreatorProfile, C as ApiIntent, D as ApiIntentCreated, E as ApiKeyStatus, F as ApiMeta, G as ApiMetadataSignedUrl, H as ApiMetadataUpload, I as ApiOrder, J as ApiOrderConsideration, K as ApiOrderOffer, L as ApiOrderPrice, M as ApiOrderTokenMeta, N as ApiOrderTxHash, O as ApiOrdersQuery, P as ApiPointEvent, Q as ApiPortalKey, R as ApiPortalKeyCreated, T as ApiPortalMe, U as ApiPublicRemix, V as ApiRemixOffer, W as ApiRemixOfferPrice, X as ApiRemixOffersQuery, Y as ApiResponse, Z as ApiRewardsBadge, _ as ApiRewardsBatchEntry, $ as ApiRewardsConfig, a0 as ApiRewardsLeaderboardEntry, a1 as ApiRewardsLevel, a2 as ApiSearchCollectionResult, a3 as ApiSearchCreatorResult, a4 as ApiSearchResult, a5 as ApiSearchTokenResult, a6 as ApiToken, a7 as ApiTokenBalance, a8 as ApiTokenMetadata, a9 as ApiUsageDay, aa as ApiUserRewards, ab as ApiUserWallet, ac as ApiWebhookCreated, ad as ApiWebhookEndpoint, ae as AutoRemixOfferParams, af as BatchMintEditionParams, ag as BuildFeeCallParams, ah as COIN_MAX_SUPPLY, ai as COIN_MIN_SUPPLY, aj as CancelOrderIntentParams, ak as ChainFilter, al as ClaimConditions, am as ClubService, an as CollectionSort, ao as CollectionTokensSort, ap as ConfirmRemixOfferParams, aq as ConfirmSelfRemixParams, ar as ConsiderationItem, as as CreateCollectionIntentParams, at as CreateCounterOfferIntentParams, au as CreateCreatorCoinParams, av as CreateDropParams, aw as CreateGrantOpts, ax as CreateListingIntentParams, ay as CreateMembershipParams, az as CreateMintIntentParams, aA as CreatePopCollectionParams, aB as CreateRemixOfferParams, aC as CreateSponsorshipOfferParams, aD as CreateTicketParams, aE as CreateWebhookParams, aF as CreatorCoinFactoryABI, aG as CreatorCoinPrice, aH as CreatorCoinReceiptLike, aI as CreatorCoinService, aJ as DeployCollectionParams, aK as DropCollectionABI, aL as DropFactoryABI, aM as DropMintStatus, aN as DropService, aO as ERC1155CollectionService, aP as EkuboLaunchParams, aQ as EkuboPoolParams, aR as EnforcementDeclaration, aS as FeeConfig, aT as FeeConfigSchema, aU as FeeSurface, aV as FulfillOrderIntentParams, aW as IPClubCollectionABI, aX as IPClubFactoryABI, aY as IPCollection1155ABI, aZ as IPCollection1155FactoryABI, a_ as IPCollectionABI, a$ as IPGenesisABI, b0 as IPMarketplaceABI, b1 as IPNftABI, b2 as IPSponsorshipABI, b3 as IPTicketCollectionABI, b4 as IPTicketCollectionFactoryABI, b5 as IPType, b6 as IntentCall, b7 as IntentStatus, b8 as IntentType, b9 as IpAttribute, ba as IpNftMetadata, bb as LAUNCH_PRICE_QUOTE_PER_COIN, bc as MakeOfferIntentParams, bd as Medialane1155ABI, be as MedialaneApiError, bf as MedialaneClient, bg as MedialaneConfig, bh as MedialaneError, bi as MedialaneErrorCode, bj as MintEditionParams, bk as MintMembershipsParams, bl as MintTicketsParams, bm as OPEN_LICENSES, bn as OfferItem, bo as OpenLicense, bp as Order, bq as OrderDetails, br as OrderParameters, bs as OrderStatus, bt as POPCollectionABI, bu as POPFactoryABI, bv as ParsedAdminHeaders, bw as PopBatchEligibilityItem, bx as PopClaimStatus, by as PopEventType, bz as PopService, bA as ProposeSponsorshipParams, bB as RemixOfferStatus, bC as RequestSiwsTokenArgs, bD as ResolvedConfig, bE as ResolvedFeeConfig, bF as ResolvedOrder, bG as RetryOptions, bH as ServiceEventDeclaration, bI as SiwsSigner, bJ as SortOrder, bK as SponsorshipService, bL as StarknetVenue, bM as StarknetVenueDeps, bN as StarknetVenueSigner, bO as TenantPlan, bP as TicketService, bQ as TxResult, bR as VALIDATED_EKUBO_PARAMS, bS as WebhookEventType, bT as WebhookStatus, bU as adminRequestDigest, bV as build1155CancellationTypedData, bW as build1155OrderTypedData, bX as buildAdminSessionTypedData, bY as buildCancellationTypedData, bZ as buildCreateCreatorCoinCall, b_ as buildFeeCall, b$ as buildLaunchOnEkuboCalls, c0 as buildOrderTypedData, c1 as buybackQuoteRaw, c2 as coinToRaw, c3 as createAdminSessionGrant, c4 as encodeAdminHeaders, c5 as encodeByteArray, c6 as fdvHuman, c7 as getCounter, c8 as getCounter1155, c9 as getCreatorCoinPrice, ca as getOrderDetails, cb as getOrderDetails1155, cc as getSiwsStorageKey, cd as getStoredSiwsToken, ce as isSiwsTokenValid, cf as normalizeSiwsSignature, cg as parseAdminHeaders, ch as parseCreatorCoinCreated, ci as randomNonce, cj as requestSiwsToken, ck as resolveConfig, cl as resolveFeeConfig, cm as sessionKeyHashOf, cn as signAdminRequest, co as storeSiwsToken, cp as teamCoinsRaw, cq as validateCoinName, cr as validateCoinSupply, cs as validateCoinSymbol, ct as verifyAdminRequestSig } from './index-CQGxMPav.js';
1
+ import { S as ServiceDefinition, a as ServiceCapability } from './index-BayGCrpT.js';
2
+ export { A as ADMIN_HEADERS, b as ADMIN_SCOPE, c as ActivityType, d as AddSupplyParams, e as AdminGrant, f as AdminRequest, g as AdminRequestSig, h as AdminSession, i as AdminSessionTypedDataInput, j as ApiActivitiesQuery, k as ApiActivity, l as ApiActivityPrice, m as ApiAdminCollectionClaim, n as ApiAppSource, o as ApiChain, p as ApiClient, q as ApiCoin, r as ApiCoinsQuery, s as ApiCollection, t as ApiCollectionClaim, u as ApiCollectionProfile, v as ApiCollectionSlugClaim, w as ApiCollectionsQuery, x as ApiComment, y as ApiCounterOffersQuery, z as ApiCreatorListResult, B as ApiCreatorProfile, C as ApiIntent, D as ApiIntentCreated, E as ApiKeyStatus, F as ApiMeta, G as ApiMetadataSignedUrl, H as ApiMetadataUpload, I as ApiOrder, J as ApiOrderConsideration, K as ApiOrderOffer, L as ApiOrderPrice, M as ApiOrderTokenMeta, N as ApiOrderTxHash, O as ApiOrdersQuery, P as ApiPointEvent, Q as ApiPortalKey, R as ApiPortalKeyCreated, T as ApiPortalMe, U as ApiPublicRemix, V as ApiRemixOffer, W as ApiRemixOfferPrice, X as ApiRemixOffersQuery, Y as ApiResponse, Z as ApiRewardsBadge, _ as ApiRewardsBatchEntry, $ as ApiRewardsConfig, a0 as ApiRewardsLeaderboardEntry, a1 as ApiRewardsLevel, a2 as ApiSearchCollectionResult, a3 as ApiSearchCreatorResult, a4 as ApiSearchResult, a5 as ApiSearchTokenResult, a6 as ApiToken, a7 as ApiTokenBalance, a8 as ApiTokenMetadata, a9 as ApiUsageDay, aa as ApiUserRewards, ab as ApiUserWallet, ac as ApiWebhookCreated, ad as ApiWebhookEndpoint, ae as AutoRemixOfferParams, af as BatchMintEditionParams, ag as BuildFeeCallParams, ah as COIN_MAX_SUPPLY, ai as COIN_MIN_SUPPLY, aj as CancelOrderIntentParams, ak as ChainFilter, al as ClaimConditions, am as ClubService, an as CollectionSort, ao as CollectionTokensSort, ap as ConfirmRemixOfferParams, aq as ConfirmSelfRemixParams, ar as ConsiderationItem, as as CreateCollectionIntentParams, at as CreateCounterOfferIntentParams, au as CreateCreatorCoinParams, av as CreateDropParams, aw as CreateGrantOpts, ax as CreateListingIntentParams, ay as CreateMembershipParams, az as CreateMintIntentParams, aA as CreatePopCollectionParams, aB as CreateRemixOfferParams, aC as CreateSponsorshipOfferParams, aD as CreateTicketParams, aE as CreateWebhookParams, aF as CreatorCoinFactoryABI, aG as CreatorCoinPrice, aH as CreatorCoinReceiptLike, aI as CreatorCoinService, aJ as DeployCollectionParams, aK as DropCollectionABI, aL as DropFactoryABI, aM as DropMintStatus, aN as DropService, aO as ERC1155CollectionService, aP as EkuboLaunchParams, aQ as EkuboPoolParams, aR as EnforcementDeclaration, aS as FeeConfig, aT as FeeConfigSchema, aU as FeeSurface, aV as FulfillOrderIntentParams, aW as IPClubCollectionABI, aX as IPClubFactoryABI, aY as IPCollection1155ABI, aZ as IPCollection1155FactoryABI, a_ as IPCollectionABI, a$ as IPGenesisABI, b0 as IPMarketplaceABI, b1 as IPNftABI, b2 as IPSponsorshipABI, b3 as IPTicketCollectionABI, b4 as IPTicketCollectionFactoryABI, b5 as IPType, b6 as IntentCall, b7 as IntentStatus, b8 as IntentType, b9 as IpAttribute, ba as IpNftMetadata, bb as LAUNCH_PRICE_QUOTE_PER_COIN, bc as MakeOfferIntentParams, bd as Medialane1155ABI, be as MedialaneApiError, bf as MedialaneClient, bg as MedialaneConfig, bh as MedialaneError, bi as MedialaneErrorCode, bj as MintEditionParams, bk as MintMembershipsParams, bl as MintTicketsParams, bm as OPEN_LICENSES, bn as OfferItem, bo as OpenLicense, bp as Order, bq as OrderDetails, br as OrderParameters, bs as OrderStatus, bt as POPCollectionABI, bu as POPFactoryABI, bv as ParsedAdminHeaders, bw as PopBatchEligibilityItem, bx as PopClaimStatus, by as PopEventType, bz as PopService, bA as ProposeSponsorshipParams, bB as RemixOfferStatus, bC as RequestSiwsTokenArgs, bD as ResolvedConfig, bE as ResolvedFeeConfig, bF as ResolvedOrder, bG as RetryOptions, bH as ServiceEventDeclaration, bI as SiwsSigner, bJ as SortOrder, bK as SponsorshipService, bL as StarknetVenue, bM as StarknetVenueDeps, bN as StarknetVenueSigner, bO as TenantPlan, bP as TicketService, bQ as TxResult, bR as VALIDATED_EKUBO_PARAMS, bS as WebhookEventType, bT as WebhookStatus, bU as adminRequestDigest, bV as build1155CancellationTypedData, bW as build1155OrderTypedData, bX as buildAdminSessionTypedData, bY as buildCancellationTypedData, bZ as buildCreateCreatorCoinCall, b_ as buildFeeCall, b$ as buildLaunchOnEkuboCalls, c0 as buildOrderTypedData, c1 as buybackQuoteRaw, c2 as coinToRaw, c3 as createAdminSessionGrant, c4 as encodeAdminHeaders, c5 as encodeByteArray, c6 as fdvHuman, c7 as getCounter, c8 as getCounter1155, c9 as getCreatorCoinPrice, ca as getOrderDetails, cb as getOrderDetails1155, cc as getSiwsStorageKey, cd as getStoredSiwsToken, ce as isSiwsTokenValid, cf as normalizeSiwsSignature, cg as parseAdminHeaders, ch as parseCreatorCoinCreated, ci as randomNonce, cj as requestSiwsToken, ck as resolveConfig, cl as resolveFeeConfig, cm as sessionKeyHashOf, cn as signAdminRequest, co as storeSiwsToken, cp as teamCoinsRaw, cq as validateCoinName, cr as validateCoinSupply, cs as validateCoinSymbol, ct as verifyAdminRequestSig } from './index-BayGCrpT.js';
3
3
  import { C as Chain } from './types-Du_-QoQ1.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 VenueSigner, i as getCoordinates, j as getStarknetCoordinates } from './types-Du_-QoQ1.js';
5
5
  import 'zod';
@@ -431,7 +431,13 @@ declare function parseAmount(human: string, decimals: number): string;
431
431
  */
432
432
  declare function formatAmount(raw: string, decimals: number): string;
433
433
  /**
434
- * Find a supported token by its contract address (case-insensitive).
434
+ * Find a supported token by its contract address.
435
+ *
436
+ * Compares by numeric felt value so a caller-supplied address that isn't
437
+ * zero-padded to 64 hex chars (`0x33068f6…`) still matches the stored padded
438
+ * form (`0x033068f6…`) — a bare `.toLowerCase()` string compare would miss it,
439
+ * the exact padding trap the address invariant warns against. Non-hex inputs
440
+ * fall back to a case-insensitive string compare.
435
441
  */
436
442
  declare function getTokenByAddress(address: string): SupportedToken | undefined;
437
443
  /**
package/dist/index.js CHANGED
@@ -35,10 +35,10 @@ var COORDINATES = {
35
35
  creatorCoinFactoryClassHash: "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55",
36
36
  creatorCoinStartBlock: 10474544,
37
37
  ekuboCore: "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b",
38
- ipTicketsFactory: "0x059802639b41e9c6449c3d557703e610ef639a91866dc1dd44216f9f37111ac5",
39
- ipTicketCollectionClassHash: "0x047bd108881457c4f4db6c64671c1dd402f4d8c79fd9182f03a2dd841335a34b",
38
+ ipTicketsFactory: "0x0767bf5b57e1f812463159b5ed683183e1b0c3f942b74871b5c6cd6a93c15e99",
39
+ ipTicketCollectionClassHash: "0x0449e8eb7c117740d07cb8e0157d32c8ba3d19d1cfd2784ed5e139f5a1e04acc",
40
40
  ipTicketsFactoryClassHash: "0x04a739ac3a673ebd0db96bb24475600797c3ed34827e79517f9b2b1640276e6a",
41
- ipTicketsStartBlock: 11836622,
41
+ ipTicketsStartBlock: 11933694,
42
42
  ipClubFactory: "0x06a0b0be16d70c78f2e18119dbf90e5911cbfd5d8d484bc555dc61d96f56a2b9",
43
43
  ipClubFactoryClassHash: "0x05d9d431bd3532b1fa4d5bab572f49c5ad8034ee3cc83951aa41ae82c9cad266",
44
44
  ipClubCollectionClassHash: "0x05b8477c72e6bf0cf64967d71155021fd4d77d9a57e8805c6b40709121c002c5",
@@ -273,18 +273,26 @@ var ApiClient = class {
273
273
  addr(a) {
274
274
  return normalizeAddress(this.chain, a);
275
275
  }
276
- async request(path, init) {
276
+ /**
277
+ * The one HTTP path for the whole client: base headers (incl. x-api-key),
278
+ * JSON error unwrapping, and `withRetry` (5xx/network only — 4xx never
279
+ * retried). `allow404`/`allow403` turn those statuses into a `null` result
280
+ * instead of a throw, for "profile may not exist" / "not a holder" reads —
281
+ * so no method needs to hand-roll `fetch` to get that behavior.
282
+ */
283
+ async request(path, init, opts) {
277
284
  const url = `${this.baseUrl.replace(/\/$/, "")}${path}`;
278
285
  const headers = { ...this.baseHeaders };
279
286
  if (!(init?.body instanceof FormData)) {
280
287
  headers["Content-Type"] = "application/json";
281
288
  }
289
+ const allowed = (status) => opts?.allow404 === true && status === 404 || opts?.allow403 === true && status === 403;
282
290
  const res = await withRetry(async () => {
283
291
  const response = await fetch(url, {
284
292
  ...init,
285
293
  headers: { ...headers, ...init?.headers }
286
294
  });
287
- if (!response.ok) {
295
+ if (!response.ok && !allowed(response.status)) {
288
296
  const text = await response.text().catch(() => response.statusText);
289
297
  let message = text;
290
298
  try {
@@ -296,6 +304,7 @@ var ApiClient = class {
296
304
  }
297
305
  return response;
298
306
  }, this.retryOptions);
307
+ if (allowed(res.status)) return null;
299
308
  return res.json();
300
309
  }
301
310
  get(path) {
@@ -310,20 +319,9 @@ var ApiClient = class {
310
319
  del(path) {
311
320
  return this.request(path, { method: "DELETE" });
312
321
  }
313
- async checkResponse(res, options) {
314
- if (options?.allow404 && res.status === 404) return null;
315
- if (options?.allow403 && res.status === 403) return null;
316
- if (!res.ok) {
317
- const text = await res.text().catch(() => res.statusText);
318
- let message = text;
319
- try {
320
- const body = JSON.parse(text);
321
- if (body.error) message = body.error;
322
- } catch {
323
- }
324
- throw new MedialaneApiError(res.status, message);
325
- }
326
- return res.json();
322
+ /** Bearer header for Clerk-JWT-authenticated routes. */
323
+ bearer(clerkToken) {
324
+ return { Authorization: `Bearer ${clerkToken}` };
327
325
  }
328
326
  // ─── Orders ────────────────────────────────────────────────────────────────
329
327
  getOrders(query = {}) {
@@ -527,17 +525,11 @@ var ApiClient = class {
527
525
  * Authorization: Bearer (Clerk JWT) simultaneously.
528
526
  */
529
527
  async claimCollection(contractAddress, walletAddress, clerkToken) {
530
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collections/claim`;
531
- const res = await fetch(url, {
528
+ return this.request("/v1/collections/claim", {
532
529
  method: "POST",
533
- headers: {
534
- "x-api-key": this.baseHeaders["x-api-key"] ?? "",
535
- "Content-Type": "application/json",
536
- "Authorization": `Bearer ${clerkToken}`
537
- },
538
- body: JSON.stringify({ contractAddress, walletAddress })
530
+ body: JSON.stringify({ contractAddress, walletAddress }),
531
+ headers: this.bearer(clerkToken)
539
532
  });
540
- return this.checkResponse(res);
541
533
  }
542
534
  /**
543
535
  * Path 3: Manual off-chain claim request (email-based).
@@ -549,106 +541,92 @@ var ApiClient = class {
549
541
  });
550
542
  }
551
543
  // ─── Collection Profiles ────────────────────────────────────────────────────
552
- async getCollectionProfile(contractAddress) {
553
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collections/${this.addr(contractAddress)}/profile`;
554
- const res = await fetch(url, { headers: this.baseHeaders });
555
- return this.checkResponse(res, { allow404: true });
544
+ getCollectionProfile(contractAddress) {
545
+ return this.request(
546
+ `/v1/collections/${this.addr(contractAddress)}/profile`,
547
+ { method: "GET" },
548
+ { allow404: true }
549
+ );
556
550
  }
557
551
  /**
558
552
  * Update collection profile. Requires Clerk JWT for ownership check.
559
553
  */
560
- async updateCollectionProfile(contractAddress, data, clerkToken) {
561
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collections/${this.addr(contractAddress)}/profile`;
562
- const res = await fetch(url, {
563
- method: "PATCH",
564
- headers: {
565
- "x-api-key": this.baseHeaders["x-api-key"] ?? "",
566
- "Content-Type": "application/json",
567
- "Authorization": `Bearer ${clerkToken}`
568
- },
569
- body: JSON.stringify(data)
570
- });
571
- return this.checkResponse(res);
554
+ updateCollectionProfile(contractAddress, data, clerkToken) {
555
+ return this.request(
556
+ `/v1/collections/${this.addr(contractAddress)}/profile`,
557
+ { method: "PATCH", body: JSON.stringify(data), headers: this.bearer(clerkToken) }
558
+ );
572
559
  }
573
- async getGatedContent(contractAddress, clerkToken) {
574
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collections/${this.addr(contractAddress)}/gated-content`;
575
- const res = await fetch(url, {
576
- headers: { ...this.baseHeaders, "Authorization": `Bearer ${clerkToken}` }
577
- });
578
- return this.checkResponse(res, { allow404: true, allow403: true });
560
+ getGatedContent(contractAddress, clerkToken) {
561
+ return this.request(
562
+ `/v1/collections/${this.addr(contractAddress)}/gated-content`,
563
+ { method: "GET", headers: this.bearer(clerkToken) },
564
+ { allow404: true, allow403: true }
565
+ );
579
566
  }
580
567
  // ─── Creator Profiles ───────────────────────────────────────────────────────
581
568
  /** List all creators with an approved username. */
582
- async getCreators(opts = {}) {
569
+ getCreators(opts = {}) {
583
570
  const params = new URLSearchParams();
584
571
  if (opts.search) params.set("search", opts.search);
585
572
  if (opts.page) params.set("page", String(opts.page));
586
573
  if (opts.limit) params.set("limit", String(opts.limit));
587
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/creators?${params}`;
588
- const res = await fetch(url, { headers: this.baseHeaders });
589
- return this.checkResponse(res);
574
+ const qs = params.toString();
575
+ return this.get(`/v1/creators${qs ? `?${qs}` : ""}`);
590
576
  }
591
- async getCreatorProfile(walletAddress) {
592
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/creators/${this.addr(walletAddress)}/profile`;
593
- const res = await fetch(url, { headers: this.baseHeaders });
594
- return this.checkResponse(res, { allow404: true });
577
+ getCreatorProfile(walletAddress) {
578
+ return this.request(
579
+ `/v1/creators/${this.addr(walletAddress)}/profile`,
580
+ { method: "GET" },
581
+ { allow404: true }
582
+ );
595
583
  }
596
584
  /** Resolve a username slug to a creator profile (public). */
597
- async getCreatorByUsername(username) {
598
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/creators/by-username/${encodeURIComponent(username.toLowerCase().trim())}`;
599
- const res = await fetch(url, { headers: this.baseHeaders });
600
- return this.checkResponse(res, { allow404: true });
585
+ getCreatorByUsername(username) {
586
+ return this.request(
587
+ `/v1/creators/by-username/${encodeURIComponent(username.toLowerCase().trim())}`,
588
+ { method: "GET" },
589
+ { allow404: true }
590
+ );
601
591
  }
602
592
  /**
603
593
  * Update creator profile. Requires Clerk JWT; wallet must match authenticated user.
604
594
  */
605
- async updateCreatorProfile(walletAddress, data, clerkToken) {
606
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/creators/${this.addr(walletAddress)}/profile`;
607
- const res = await fetch(url, {
608
- method: "PATCH",
609
- headers: {
610
- "x-api-key": this.baseHeaders["x-api-key"] ?? "",
611
- "Content-Type": "application/json",
612
- "Authorization": `Bearer ${clerkToken}`
613
- },
614
- body: JSON.stringify(data)
615
- });
616
- return this.checkResponse(res);
595
+ updateCreatorProfile(walletAddress, data, clerkToken) {
596
+ return this.request(
597
+ `/v1/creators/${this.addr(walletAddress)}/profile`,
598
+ { method: "PATCH", body: JSON.stringify(data), headers: this.bearer(clerkToken) }
599
+ );
617
600
  }
618
601
  // ─── Collection Slug Claims ───────────────────────────────────────────────────
619
602
  /** Check if a collection slug is available (public, no auth). */
620
- async checkCollectionSlugAvailability(slug) {
621
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collection-slug-claims/check/${encodeURIComponent(slug.toLowerCase().trim())}`;
622
- const res = await fetch(url, { headers: this.baseHeaders });
623
- return this.checkResponse(res);
603
+ checkCollectionSlugAvailability(slug) {
604
+ return this.get(
605
+ `/v1/collection-slug-claims/check/${encodeURIComponent(slug.toLowerCase().trim())}`
606
+ );
624
607
  }
625
608
  /** Submit a slug claim for a collection. Requires Clerk JWT — caller must be the collection owner. */
626
- async submitCollectionSlugClaim(contractAddress, slug, clerkToken, notifyEmail) {
627
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collection-slug-claims`;
628
- const res = await fetch(url, {
609
+ submitCollectionSlugClaim(contractAddress, slug, clerkToken, notifyEmail) {
610
+ return this.request("/v1/collection-slug-claims", {
629
611
  method: "POST",
630
- headers: {
631
- "x-api-key": this.baseHeaders["x-api-key"] ?? "",
632
- "Content-Type": "application/json",
633
- Authorization: `Bearer ${clerkToken}`
634
- },
635
- body: JSON.stringify({ contractAddress, slug, notifyEmail })
612
+ body: JSON.stringify({ contractAddress, slug, notifyEmail }),
613
+ headers: this.bearer(clerkToken)
636
614
  });
637
- return this.checkResponse(res);
638
615
  }
639
616
  /** Returns all slug claims submitted by the authenticated wallet. Requires Clerk JWT. */
640
- async getMyCollectionSlugClaims(clerkToken) {
641
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collection-slug-claims/me`;
642
- const res = await fetch(url, {
643
- headers: { ...this.baseHeaders, Authorization: `Bearer ${clerkToken}` }
617
+ getMyCollectionSlugClaims(clerkToken) {
618
+ return this.request("/v1/collection-slug-claims/me", {
619
+ method: "GET",
620
+ headers: this.bearer(clerkToken)
644
621
  });
645
- return this.checkResponse(res);
646
622
  }
647
623
  /** Resolve a collection slug to a full collection. Returns null if not found. */
648
- async getCollectionBySlug(slug) {
649
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/collections/by-slug/${encodeURIComponent(slug.toLowerCase().trim())}`;
650
- const res = await fetch(url, { headers: this.baseHeaders });
651
- return this.checkResponse(res, { allow404: true });
624
+ getCollectionBySlug(slug) {
625
+ return this.request(
626
+ `/v1/collections/by-slug/${encodeURIComponent(slug.toLowerCase().trim())}`,
627
+ { method: "GET" },
628
+ { allow404: true }
629
+ );
652
630
  }
653
631
  // ─── User Wallet ─────────────────────────────────────────────────────────────
654
632
  /**
@@ -665,33 +643,28 @@ var ApiClient = class {
665
643
  return this.post("/v1/users/register", params);
666
644
  }
667
645
  async upsertMyWallet(clerkToken, options = {}) {
668
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/users/me`;
669
646
  const body = {
670
647
  walletType: options.walletType ?? "UNKNOWN",
671
648
  appSource: options.appSource ?? "MEDIALANE_SDK"
672
649
  };
673
650
  if (options.chain) body.chain = options.chain;
674
- const res = await fetch(url, {
651
+ return this.request("/v1/users/me", {
675
652
  method: "POST",
676
- headers: {
677
- "Content-Type": "application/json",
678
- "Authorization": `Bearer ${clerkToken}`
679
- },
680
- body: JSON.stringify(body)
653
+ body: JSON.stringify(body),
654
+ headers: this.bearer(clerkToken)
681
655
  });
682
- return this.checkResponse(res);
683
656
  }
684
657
  /**
685
658
  * Get the authenticated user's stored wallet address from the backend DB.
686
659
  * Returns null if the user has not completed onboarding yet.
687
660
  * Requires Clerk JWT; no tenant API key needed.
688
661
  */
689
- async getMyWallet(clerkToken) {
690
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/users/me`;
691
- const res = await fetch(url, {
692
- headers: { "Authorization": `Bearer ${clerkToken}` }
693
- });
694
- return this.checkResponse(res, { allow404: true });
662
+ getMyWallet(clerkToken) {
663
+ return this.request(
664
+ "/v1/users/me",
665
+ { method: "GET", headers: this.bearer(clerkToken) },
666
+ { allow404: true }
667
+ );
695
668
  }
696
669
  // ─── Remix Licensing ─────────────────────────────────────────────────────────
697
670
  /**
@@ -741,25 +714,23 @@ var ApiClient = class {
741
714
  * role="creator" — offers where you are the original creator.
742
715
  * role="requester" — offers you made.
743
716
  */
744
- async getRemixOffers(query, clerkToken) {
717
+ getRemixOffers(query, clerkToken) {
745
718
  const params = new URLSearchParams({ role: query.role });
746
719
  if (query.page !== void 0) params.set("page", String(query.page));
747
720
  if (query.limit !== void 0) params.set("limit", String(query.limit));
748
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/remix-offers?${params}`;
749
- const res = await fetch(url, {
750
- headers: { ...this.baseHeaders, "Authorization": `Bearer ${clerkToken}` }
721
+ return this.request(`/v1/remix-offers?${params}`, {
722
+ method: "GET",
723
+ headers: this.bearer(clerkToken)
751
724
  });
752
- return this.checkResponse(res);
753
725
  }
754
726
  /**
755
727
  * Get a single remix offer. Clerk JWT optional (price/currency hidden for non-participants).
756
728
  */
757
- async getRemixOffer(id, clerkToken) {
758
- const url = `${this.baseUrl.replace(/\/$/, "")}/v1/remix-offers/${id}`;
759
- const headers = { ...this.baseHeaders };
760
- if (clerkToken) headers["Authorization"] = `Bearer ${clerkToken}`;
761
- const res = await fetch(url, { headers });
762
- return this.checkResponse(res);
729
+ getRemixOffer(id, clerkToken) {
730
+ return this.request(`/v1/remix-offers/${id}`, {
731
+ method: "GET",
732
+ headers: clerkToken ? this.bearer(clerkToken) : void 0
733
+ });
763
734
  }
764
735
  /**
765
736
  * Creator approves a remix offer (authorises the requester to mint). Requires Clerk JWT.
@@ -1224,15 +1195,28 @@ function parseAmount(human, decimals) {
1224
1195
  }
1225
1196
  function formatAmount(raw, decimals) {
1226
1197
  const value = BigInt(raw);
1227
- const factor = BigInt(Math.pow(10, decimals));
1198
+ const factor = 10n ** BigInt(decimals);
1228
1199
  const whole = value / factor;
1229
1200
  const remainder = value % factor;
1230
1201
  const fractional = remainder.toString().padStart(decimals, "0");
1231
1202
  return `${whole}.${fractional}`;
1232
1203
  }
1233
1204
  function getTokenByAddress(address) {
1234
- const lower = address.toLowerCase();
1235
- return SUPPORTED_TOKENS.find((t) => t.address.toLowerCase() === lower);
1205
+ let target = null;
1206
+ try {
1207
+ target = BigInt(address);
1208
+ } catch {
1209
+ target = null;
1210
+ }
1211
+ return SUPPORTED_TOKENS.find((t) => {
1212
+ if (target !== null) {
1213
+ try {
1214
+ return BigInt(t.address) === target;
1215
+ } catch {
1216
+ }
1217
+ }
1218
+ return t.address.toLowerCase() === address.toLowerCase();
1219
+ });
1236
1220
  }
1237
1221
  function getTokenBySymbol(symbol) {
1238
1222
  const upper = symbol.toUpperCase();
@@ -5979,6 +5963,17 @@ var IPTicketCollectionABI = [
5979
5963
  ],
5980
5964
  "state_mutability": "view"
5981
5965
  },
5966
+ {
5967
+ "type": "function",
5968
+ "name": "ticket_count",
5969
+ "inputs": [],
5970
+ "outputs": [
5971
+ {
5972
+ "type": "core::integer::u256"
5973
+ }
5974
+ ],
5975
+ "state_mutability": "view"
5976
+ },
5982
5977
  {
5983
5978
  "type": "function",
5984
5979
  "name": "name",
@@ -10869,6 +10864,11 @@ var TicketService = class {
10869
10864
  ]);
10870
10865
  return Boolean(result);
10871
10866
  }
10867
+ /** Read — number of tickets created so far (ids are sequential from 1). */
10868
+ async getTicketCount(params) {
10869
+ const result = await this._collectionRead(params.collection).call("ticket_count", []);
10870
+ return BigInt(result);
10871
+ }
10872
10872
  /** Read — returns the Ticket record for a token ID. */
10873
10873
  async getTicket(params) {
10874
10874
  const t = await this._collectionRead(params.collection).call("get_ticket", [