@medialane/sdk 0.36.0 → 0.37.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,82 +1,41 @@
1
1
  import { z } from 'zod';
2
2
  import { Call, AccountInterface, constants, TypedData, ProviderInterface } from 'starknet';
3
3
 
4
- /** Medialane721 marketplace venue immutable, ownerless (redesign, deployed 2026-05-31). */
5
- declare const MARKETPLACE_721_CONTRACT_MAINNET = "0x069cf5391077e3ebdd9cb6aebf90ed530d29f0d6aa34a43f5afae938c0fb565e";
6
- /** Class hash of the Medialane721 venue. */
7
- declare const MARKETPLACE_721_CLASS_HASH_MAINNET = "0x04c6f952d747ad7ead1b3dad4c1d587837d38f8ec29d6c095a4afa5b5ece5957";
8
- /** First mainnet block for the Medialane721 venue deployment. */
9
- declare const MARKETPLACE_721_START_BLOCK_MAINNET = 10350340;
10
- /** Medialane1155 marketplace venue — immutable, ownerless (redesign, deployed 2026-05-31). */
11
- declare const MARKETPLACE_1155_CONTRACT_MAINNET = "0x040cd7b3e73bb3c892166e34bdc01d1797f97ecbc356c23f1cf38033cacf0077";
12
- /** Class hash of the Medialane1155 venue. */
13
- declare const MARKETPLACE_1155_CLASS_HASH_MAINNET = "0x02600bb720908f119afe482309d36c39d087587f0df9576454acfb6363e78cd8";
14
- /** First mainnet block for the Medialane1155 venue deployment. */
15
- declare const MARKETPLACE_1155_START_BLOCK_MAINNET = 10350855;
16
- declare const COLLECTION_721_CONTRACT_MAINNET = "0x0322cb7119955e01ac778d40976eb3ba50540bb0899f812d612f9c7e63e49fd2";
17
- /** Class hash of the IPNft (per-collection ERC-721) implementation. */
18
- declare const IPNFT_CLASS_HASH_MAINNET = "0x27ee4ded786d51bced1e94afec3034d6ffce71c032c45ee1ff283ccfa9db12e";
19
- /** Class hash of the IPCollection registry. */
20
- declare const IPCOLLECTION_CLASS_HASH_MAINNET = "0x287ccdff8b6655a2248cfe170d82eae3a35303cd00ef3e751b25ddca26d9095";
21
- /** First mainnet block for the current MIP IPCollection registry deployment. */
22
- declare const COLLECTION_721_START_BLOCK_MAINNET = 10046166;
23
- declare const DROP_FACTORY_CONTRACT_MAINNET = "0x03587f42e29daee1b193f6cf83bf8627908ed6632d0d83fcb26225c50547d800";
24
- declare const POP_FACTORY_CONTRACT_MAINNET = "0x00b32c34b427d8f346b5843ada6a37bd3368d879fc752cd52b68a87287f60111";
25
- /** NFTComments on-chain comment system — immutable, no admin key. */
26
- declare const NFTCOMMENTS_CONTRACT_MAINNET = "0x02cdac70c94447189af0389dfea63f4d5e4154ea8a563de288a5ab1c39e37843";
27
- declare const SUPPORTED_TOKENS: readonly [{
28
- readonly symbol: "USDC";
29
- readonly address: "0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb";
30
- readonly decimals: 6;
31
- readonly listable: true;
32
- }, {
33
- readonly symbol: "USDT";
34
- readonly address: "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8";
35
- readonly decimals: 6;
36
- readonly listable: true;
37
- }, {
38
- readonly symbol: "ETH";
39
- readonly address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
40
- readonly decimals: 18;
41
- readonly listable: true;
42
- }, {
43
- readonly symbol: "STRK";
44
- readonly address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
45
- readonly decimals: 18;
46
- readonly listable: true;
47
- }, {
48
- readonly symbol: "WBTC";
49
- readonly address: "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac";
50
- readonly decimals: 8;
51
- readonly listable: true;
52
- }];
53
- type SupportedTokenSymbol = (typeof SUPPORTED_TOKENS)[number]["symbol"];
54
- declare const SUPPORTED_NETWORKS: readonly ["mainnet"];
55
- type Network = (typeof SUPPORTED_NETWORKS)[number];
56
- declare const DEFAULT_RPC_URL = "https://rpc.starknet.lava.build";
57
- declare const POP_COLLECTION_CLASS_HASH_MAINNET = "0x077c421686f10851872561953ea16898d933364b7f8937a5d7e2b1ba0a36263f";
58
- declare const DROP_COLLECTION_CLASS_HASH_MAINNET = "0x00092e72cdb63067521e803aaf7d4101c3e3ce026ae6bc045ec4228027e58282";
59
- /** IPCollectionFactory v0.3.0 (deployed mainnet 2026-06-10): sequential on-chain
60
- * edition ids, ownerless/immutable. New collections deploy from here. */
61
- declare const COLLECTION_1155_CONTRACT_MAINNET = "0x0083543c3ee15040a419fc539fa6889f5b956e7d071bcfa97842cb0ae42ad6cc";
62
- /** Class hash of the IPCollectionFactory v0.3.0 implementation. */
63
- declare const COLLECTION_1155_FACTORY_CLASS_HASH_MAINNET = "0x331a69da8655a882ba1fbcb55188b8fa09116521db901bbbaafc9fead0689f8";
64
- /** Class hash of the IPCollection ERC-1155 v0.3.0 implementation. */
65
- declare const COLLECTION_1155_CLASS_HASH_MAINNET = "0x4e110b59af240ae6c7742999964c4eae13fb2ed935c47fe97653ec017ebea34";
66
- /** First mainnet block of the v0.3.0 ERC-1155 factory deployment. */
67
- declare const COLLECTION_1155_START_BLOCK_MAINNET = 10665319;
68
- /** Creator Coin Factory — entrypoint: create_creator_coin + launch_on_ekubo. */
69
- declare const CREATOR_COIN_FACTORY_CONTRACT_MAINNET = "0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c";
70
- /** EkuboLauncher — permanently holds (locks) each Creator Coin's LP position. */
71
- declare const CREATOR_COIN_EKUBO_LAUNCHER_MAINNET = "0x4f7fceb5ac10f12f9544a09580592e5bdf1b7f04f48765eecf12286d8ccb7b4";
72
- /** Class hash of the per-coin CreatorCoin ERC-20 the Factory deploys. */
73
- declare const CREATOR_COIN_CLASS_HASH_MAINNET = "0x743e4c8a5b96bb83bbf4af04edbbb482d5ece89eed9b729a79fb7df0cd0b6b6";
74
- /** Class hash of the Creator Coin Factory. */
75
- declare const CREATOR_COIN_FACTORY_CLASS_HASH_MAINNET = "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55";
76
- /** First mainnet block of the Factory deployment. */
77
- declare const CREATOR_COIN_START_BLOCK_MAINNET = 10474544;
78
- /** Ekubo Core (Starknet mainnet) — Creator Coin pools live here; read spot price via `get_pool_price`. */
79
- declare const EKUBO_CORE_MAINNET = "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b";
4
+ /** Mirrors the backend Prisma `Chain` enum. */
5
+ declare const CHAINS: readonly ["STARKNET", "ETHEREUM", "SOLANA", "BASE", "BITCOIN"];
6
+ type Chain = (typeof CHAINS)[number];
7
+ /** Per-chain on-chain coordinates of Medialane services + venues. All fields
8
+ * optional because not every service exists on every chain. */
9
+ interface ChainCoordinates {
10
+ rpcUrl: string;
11
+ marketplace721?: string;
12
+ marketplace721ClassHash?: string;
13
+ marketplace721StartBlock?: number;
14
+ marketplace1155?: string;
15
+ marketplace1155ClassHash?: string;
16
+ marketplace1155StartBlock?: number;
17
+ collection721?: string;
18
+ collection721StartBlock?: number;
19
+ ipNftClassHash?: string;
20
+ ipCollectionClassHash?: string;
21
+ collection1155?: string;
22
+ collection1155FactoryClassHash?: string;
23
+ collection1155ClassHash?: string;
24
+ collection1155StartBlock?: number;
25
+ popFactory?: string;
26
+ popCollectionClassHash?: string;
27
+ dropFactory?: string;
28
+ dropCollectionClassHash?: string;
29
+ nftComments?: string;
30
+ creatorCoinFactory?: string;
31
+ creatorCoinEkuboLauncher?: string;
32
+ creatorCoinClassHash?: string;
33
+ creatorCoinFactoryClassHash?: string;
34
+ creatorCoinStartBlock?: number;
35
+ ekuboCore?: string;
36
+ }
37
+ declare function getCoordinates(chain: Chain): ChainCoordinates;
38
+ declare const DEFAULT_CHAIN: Chain;
80
39
 
81
40
  interface RetryOptions {
82
41
  maxAttempts?: number;
@@ -127,7 +86,7 @@ interface BuildFeeCallParams {
127
86
  declare function buildFeeCall(p: BuildFeeCallParams, cfg: ResolvedFeeConfig): Call | null;
128
87
 
129
88
  declare const MedialaneConfigSchema: z.ZodObject<{
130
- network: z.ZodDefault<z.ZodEnum<["mainnet"]>>;
89
+ chain: z.ZodDefault<z.ZodEnum<["STARKNET", "ETHEREUM", "SOLANA", "BASE", "BITCOIN"]>>;
131
90
  rpcUrl: z.ZodOptional<z.ZodString>;
132
91
  backendUrl: z.ZodOptional<z.ZodString>;
133
92
  apiKey: z.ZodOptional<z.ZodString>;
@@ -167,7 +126,7 @@ declare const MedialaneConfigSchema: z.ZodObject<{
167
126
  launchpadBps?: number | undefined;
168
127
  }>>;
169
128
  }, "strip", z.ZodTypeAny, {
170
- network: "mainnet";
129
+ chain: "STARKNET" | "ETHEREUM" | "SOLANA" | "BASE" | "BITCOIN";
171
130
  rpcUrl?: string | undefined;
172
131
  backendUrl?: string | undefined;
173
132
  apiKey?: string | undefined;
@@ -189,8 +148,8 @@ declare const MedialaneConfigSchema: z.ZodObject<{
189
148
  fundAddress?: string | undefined;
190
149
  } | undefined;
191
150
  }, {
192
- network?: "mainnet" | undefined;
193
151
  rpcUrl?: string | undefined;
152
+ chain?: "STARKNET" | "ETHEREUM" | "SOLANA" | "BASE" | "BITCOIN" | undefined;
194
153
  backendUrl?: string | undefined;
195
154
  apiKey?: string | undefined;
196
155
  marketplace721Contract?: string | undefined;
@@ -213,7 +172,7 @@ declare const MedialaneConfigSchema: z.ZodObject<{
213
172
  }>;
214
173
  type MedialaneConfig = z.input<typeof MedialaneConfigSchema>;
215
174
  interface ResolvedConfig {
216
- network: Network;
175
+ chain: Chain;
217
176
  rpcUrl: string;
218
177
  backendUrl: string | undefined;
219
178
  apiKey: string | undefined;
@@ -487,11 +446,11 @@ interface ServiceDefinition {
487
446
  description: string;
488
447
  standard: "ERC721" | "ERC1155" | "ERC20" | "UNKNOWN";
489
448
  provenance: "MEDIALANE" | "EXTERNAL";
490
- onchain?: {
449
+ onchain?: Partial<Record<Chain, {
491
450
  factoryAddress?: string;
492
451
  classHash?: string;
493
452
  startBlock?: number;
494
- };
453
+ }>>;
495
454
  /** Drives the dapp asset/collection page variant. */
496
455
  uiVariant: string;
497
456
  capabilities: ServiceCapability[];
@@ -1162,9 +1121,12 @@ declare class MedialaneApiError extends Error {
1162
1121
  }
1163
1122
  declare class ApiClient {
1164
1123
  private readonly baseUrl;
1124
+ private readonly chain;
1165
1125
  private readonly baseHeaders;
1166
1126
  private readonly retryOptions;
1167
- constructor(baseUrl: string, apiKey?: string, retryOptions?: RetryOptions);
1127
+ constructor(baseUrl: string, apiKey?: string, retryOptions?: RetryOptions, chain?: Chain);
1128
+ /** Normalize an address for this client's chain (chain-scoped — Decision B). */
1129
+ private addr;
1168
1130
  private request;
1169
1131
  private get;
1170
1132
  private post;
@@ -1719,11 +1681,85 @@ declare class MedialaneClient {
1719
1681
  };
1720
1682
  private readonly config;
1721
1683
  constructor(rawConfig?: MedialaneConfig);
1722
- get network(): "mainnet";
1684
+ get chain(): "STARKNET" | "ETHEREUM" | "SOLANA" | "BASE" | "BITCOIN";
1723
1685
  get rpcUrl(): string;
1724
1686
  get marketplaceContract(): string;
1725
1687
  }
1726
1688
 
1689
+ /** Medialane721 marketplace venue — immutable, ownerless (redesign, deployed 2026-05-31). */
1690
+ declare const MARKETPLACE_721_CONTRACT_MAINNET: string;
1691
+ /** Class hash of the Medialane721 venue. */
1692
+ declare const MARKETPLACE_721_CLASS_HASH_MAINNET: string;
1693
+ /** First mainnet block for the Medialane721 venue deployment. */
1694
+ declare const MARKETPLACE_721_START_BLOCK_MAINNET: number;
1695
+ /** Medialane1155 marketplace venue — immutable, ownerless (redesign, deployed 2026-05-31). */
1696
+ declare const MARKETPLACE_1155_CONTRACT_MAINNET: string;
1697
+ /** Class hash of the Medialane1155 venue. */
1698
+ declare const MARKETPLACE_1155_CLASS_HASH_MAINNET: string;
1699
+ /** First mainnet block for the Medialane1155 venue deployment. */
1700
+ declare const MARKETPLACE_1155_START_BLOCK_MAINNET: number;
1701
+ declare const COLLECTION_721_CONTRACT_MAINNET: string;
1702
+ /** Class hash of the IPNft (per-collection ERC-721) implementation. */
1703
+ declare const IPNFT_CLASS_HASH_MAINNET: string;
1704
+ /** Class hash of the IPCollection registry. */
1705
+ declare const IPCOLLECTION_CLASS_HASH_MAINNET: string;
1706
+ /** First mainnet block for the current MIP IPCollection registry deployment. */
1707
+ declare const COLLECTION_721_START_BLOCK_MAINNET: number;
1708
+ declare const DROP_FACTORY_CONTRACT_MAINNET: string;
1709
+ declare const POP_FACTORY_CONTRACT_MAINNET: string;
1710
+ /** NFTComments on-chain comment system — immutable, no admin key. */
1711
+ declare const NFTCOMMENTS_CONTRACT_MAINNET: string;
1712
+ declare const SUPPORTED_TOKENS: readonly [{
1713
+ readonly symbol: "USDC";
1714
+ readonly address: "0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb";
1715
+ readonly decimals: 6;
1716
+ readonly listable: true;
1717
+ }, {
1718
+ readonly symbol: "USDT";
1719
+ readonly address: "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8";
1720
+ readonly decimals: 6;
1721
+ readonly listable: true;
1722
+ }, {
1723
+ readonly symbol: "ETH";
1724
+ readonly address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
1725
+ readonly decimals: 18;
1726
+ readonly listable: true;
1727
+ }, {
1728
+ readonly symbol: "STRK";
1729
+ readonly address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
1730
+ readonly decimals: 18;
1731
+ readonly listable: true;
1732
+ }, {
1733
+ readonly symbol: "WBTC";
1734
+ readonly address: "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac";
1735
+ readonly decimals: 8;
1736
+ readonly listable: true;
1737
+ }];
1738
+ type SupportedTokenSymbol = (typeof SUPPORTED_TOKENS)[number]["symbol"];
1739
+ declare const POP_COLLECTION_CLASS_HASH_MAINNET: string;
1740
+ declare const DROP_COLLECTION_CLASS_HASH_MAINNET: string;
1741
+ /** IPCollectionFactory v0.3.0 (deployed mainnet 2026-06-10): sequential on-chain
1742
+ * edition ids, ownerless/immutable. New collections deploy from here. */
1743
+ declare const COLLECTION_1155_CONTRACT_MAINNET: string;
1744
+ /** Class hash of the IPCollectionFactory v0.3.0 implementation. */
1745
+ declare const COLLECTION_1155_FACTORY_CLASS_HASH_MAINNET: string;
1746
+ /** Class hash of the IPCollection ERC-1155 v0.3.0 implementation. */
1747
+ declare const COLLECTION_1155_CLASS_HASH_MAINNET: string;
1748
+ /** First mainnet block of the v0.3.0 ERC-1155 factory deployment. */
1749
+ declare const COLLECTION_1155_START_BLOCK_MAINNET: number;
1750
+ /** Creator Coin Factory — entrypoint: create_creator_coin + launch_on_ekubo. */
1751
+ declare const CREATOR_COIN_FACTORY_CONTRACT_MAINNET: string;
1752
+ /** EkuboLauncher — permanently holds (locks) each Creator Coin's LP position. */
1753
+ declare const CREATOR_COIN_EKUBO_LAUNCHER_MAINNET: string;
1754
+ /** Class hash of the per-coin CreatorCoin ERC-20 the Factory deploys. */
1755
+ declare const CREATOR_COIN_CLASS_HASH_MAINNET: string;
1756
+ /** Class hash of the Creator Coin Factory. */
1757
+ declare const CREATOR_COIN_FACTORY_CLASS_HASH_MAINNET: string;
1758
+ /** First mainnet block of the Factory deployment. */
1759
+ declare const CREATOR_COIN_START_BLOCK_MAINNET: number;
1760
+ /** Ekubo Core (Starknet mainnet) — Creator Coin pools live here; read spot price via `get_pool_price`. */
1761
+ declare const EKUBO_CORE_MAINNET: string;
1762
+
1727
1763
  declare const IPMarketplaceABI: readonly [{
1728
1764
  readonly type: "impl";
1729
1765
  readonly name: "Medialane721Impl";
@@ -5531,10 +5567,11 @@ declare function fdvHuman(supplyHuman: number): number;
5531
5567
  /**
5532
5568
  * The Medialane service registry (05-service-model §II, §VI).
5533
5569
  * Canonical long-form IDs (01-core-model §III). SDK-resident in v1;
5534
- * on-chain registry in year 2 (08-dao-governance §IV).
5570
+ * on-chain registry later (08-dao-governance §IV).
5535
5571
  *
5536
- * Year-2 forward-compat: cross-account identity uses the future `AccountID`
5537
- * contract (07-identity-model §IV) no field here yet, intentionally.
5572
+ * `onchain` is keyed per chain (spec 2026-06-13 §3.1, Decision A): the SDK
5573
+ * registry is the single source of a service's coordinates on each chain.
5574
+ * Only STARKNET is populated today; adding a chain adds a key here.
5538
5575
  *
5539
5576
  * Phase 2B.2 of the service-model refactor. `ip-erc721` has no dedicated
5540
5577
  * on-chain constant in src/constants.ts, so its `onchain` is omitted rather
@@ -5548,8 +5585,10 @@ declare const SERVICES: {
5548
5585
  readonly standard: "ERC721";
5549
5586
  readonly provenance: "MEDIALANE";
5550
5587
  readonly onchain: {
5551
- readonly factoryAddress: "0x0322cb7119955e01ac778d40976eb3ba50540bb0899f812d612f9c7e63e49fd2";
5552
- readonly startBlock: 10046166;
5588
+ readonly STARKNET: {
5589
+ readonly factoryAddress: string;
5590
+ readonly startBlock: number;
5591
+ };
5553
5592
  };
5554
5593
  readonly uiVariant: "standard";
5555
5594
  readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"];
@@ -5580,9 +5619,11 @@ declare const SERVICES: {
5580
5619
  readonly standard: "ERC1155";
5581
5620
  readonly provenance: "MEDIALANE";
5582
5621
  readonly onchain: {
5583
- readonly factoryAddress: "0x0083543c3ee15040a419fc539fa6889f5b956e7d071bcfa97842cb0ae42ad6cc";
5584
- readonly classHash: "0x4e110b59af240ae6c7742999964c4eae13fb2ed935c47fe97653ec017ebea34";
5585
- readonly startBlock: 10665319;
5622
+ readonly STARKNET: {
5623
+ readonly factoryAddress: string;
5624
+ readonly classHash: string;
5625
+ readonly startBlock: number;
5626
+ };
5586
5627
  };
5587
5628
  readonly uiVariant: "edition";
5588
5629
  readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"];
@@ -5601,8 +5642,10 @@ declare const SERVICES: {
5601
5642
  readonly standard: "ERC721";
5602
5643
  readonly provenance: "MEDIALANE";
5603
5644
  readonly onchain: {
5604
- readonly factoryAddress: "0x00b32c34b427d8f346b5843ada6a37bd3368d879fc752cd52b68a87287f60111";
5605
- readonly classHash: "0x077c421686f10851872561953ea16898d933364b7f8937a5d7e2b1ba0a36263f";
5645
+ readonly STARKNET: {
5646
+ readonly factoryAddress: string;
5647
+ readonly classHash: string;
5648
+ };
5606
5649
  };
5607
5650
  readonly uiVariant: "pop";
5608
5651
  readonly capabilities: ["claim", "transfer"];
@@ -5625,8 +5668,10 @@ declare const SERVICES: {
5625
5668
  readonly standard: "ERC721";
5626
5669
  readonly provenance: "MEDIALANE";
5627
5670
  readonly onchain: {
5628
- readonly factoryAddress: "0x03587f42e29daee1b193f6cf83bf8627908ed6632d0d83fcb26225c50547d800";
5629
- readonly classHash: "0x00092e72cdb63067521e803aaf7d4101c3e3ce026ae6bc045ec4228027e58282";
5671
+ readonly STARKNET: {
5672
+ readonly factoryAddress: string;
5673
+ readonly classHash: string;
5674
+ };
5630
5675
  };
5631
5676
  readonly uiVariant: "drop";
5632
5677
  readonly capabilities: ["claim", "list", "buy", "make_offer", "cancel", "transfer"];
@@ -5649,9 +5694,11 @@ declare const SERVICES: {
5649
5694
  readonly standard: "ERC20";
5650
5695
  readonly provenance: "MEDIALANE";
5651
5696
  readonly onchain: {
5652
- readonly factoryAddress: "0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c";
5653
- readonly classHash: "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55";
5654
- readonly startBlock: 10474544;
5697
+ readonly STARKNET: {
5698
+ readonly factoryAddress: string;
5699
+ readonly classHash: string;
5700
+ readonly startBlock: number;
5701
+ };
5655
5702
  };
5656
5703
  readonly uiVariant: "coin";
5657
5704
  readonly capabilities: ["launch", "swap", "transfer"];
@@ -5670,9 +5717,11 @@ declare const SERVICES: {
5670
5717
  readonly standard: "ERC721";
5671
5718
  readonly provenance: "MEDIALANE";
5672
5719
  readonly onchain: {
5673
- readonly factoryAddress: "0x069cf5391077e3ebdd9cb6aebf90ed530d29f0d6aa34a43f5afae938c0fb565e";
5674
- readonly classHash: "0x04c6f952d747ad7ead1b3dad4c1d587837d38f8ec29d6c095a4afa5b5ece5957";
5675
- readonly startBlock: 10350340;
5720
+ readonly STARKNET: {
5721
+ readonly factoryAddress: string;
5722
+ readonly classHash: string;
5723
+ readonly startBlock: number;
5724
+ };
5676
5725
  };
5677
5726
  readonly uiVariant: "standard";
5678
5727
  readonly capabilities: ["list", "buy", "make_offer", "cancel"];
@@ -5694,9 +5743,11 @@ declare const SERVICES: {
5694
5743
  readonly standard: "ERC1155";
5695
5744
  readonly provenance: "MEDIALANE";
5696
5745
  readonly onchain: {
5697
- readonly factoryAddress: "0x040cd7b3e73bb3c892166e34bdc01d1797f97ecbc356c23f1cf38033cacf0077";
5698
- readonly classHash: "0x02600bb720908f119afe482309d36c39d087587f0df9576454acfb6363e78cd8";
5699
- readonly startBlock: 10350855;
5746
+ readonly STARKNET: {
5747
+ readonly factoryAddress: string;
5748
+ readonly classHash: string;
5749
+ readonly startBlock: number;
5750
+ };
5700
5751
  };
5701
5752
  readonly uiVariant: "edition";
5702
5753
  readonly capabilities: ["list", "buy", "make_offer", "cancel"];
@@ -5760,28 +5811,25 @@ declare function listServices(): ServiceDefinition[];
5760
5811
  declare function getServicesByCapability(cap: ServiceCapability): ServiceDefinition[];
5761
5812
 
5762
5813
  /**
5763
- * Normalize a Starknet address to a 0x-prefixed 64-character lowercase hex
5764
- * string. Validates the input by routing through `BigInt(...)` — non-numeric
5765
- * input throws `Invalid Starknet address: "<input>"`.
5766
- *
5767
- * The single source of truth for address normalization across Medialane.
5814
+ * Normalize an address to its chain's canonical form. The single source of
5815
+ * address normalization across Medialane (07-identity §I; spec 2026-06-13 §3.2).
5768
5816
  * `medialane-backend` re-exports this; do not maintain a parallel copy.
5769
- */
5770
- declare function normalizeAddress(address: string): string;
5771
- /**
5772
- * Normalize a Starknet felt/hash (tx hash, order hash, etc.) to a 0x-prefixed
5773
- * 64-character lowercase hex string. Same shape as `normalizeAddress` — kept
5774
- * as a separate name so the *intent* of each call site is explicit.
5775
5817
  *
5776
- * Starknet RPCs and wallets may omit leading zeroes for the same value;
5777
- * database uniqueness must not treat those textual variants as different
5778
- * transactions.
5818
+ * - STARKNET: 0x-prefixed 64-char lowercase hex (felt, zero-padded).
5819
+ * - ETHEREUM / BASE: EIP-55 mixed-case checksum.
5820
+ * - SOLANA: base58, validated as a 32-byte public key, returned verbatim.
5821
+ * - BITCOIN: not implemented — a non-foreclosed seam, gated on a future
5822
+ * Bitcoin fork (chain-sovereignty §2); never a built path today.
5779
5823
  */
5780
- declare function normalizeHash(hash: string): string;
5824
+ declare function normalizeAddress(chain: Chain, address: string): string;
5781
5825
  /**
5782
- * Shorten an address to "0x1234...abcd" format.
5826
+ * Normalize a felt/hash (tx hash, order hash) to 0x-prefixed 64-char lowercase
5827
+ * hex. Starknet-shaped; chain-scoped at call sites that handle other chains'
5828
+ * hashes.
5783
5829
  */
5784
- declare function shortenAddress(address: string, chars?: number): string;
5830
+ declare function normalizeHash(hash: string): string;
5831
+ /** Shorten an address to "0x1234...abcd" form, normalized for its chain. */
5832
+ declare function shortenAddress(chain: Chain, address: string, chars?: number): string;
5785
5833
 
5786
5834
  type SupportedToken = (typeof SUPPORTED_TOKENS)[number];
5787
5835
  /**
@@ -5900,4 +5948,4 @@ declare function build1155OrderTypedData(message: Record<string, unknown>, chain
5900
5948
  declare function buildCancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId | string): TypedData;
5901
5949
  declare function build1155CancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId | string): TypedData;
5902
5950
 
5903
- export { type ActivityType, type AddSupplyParams, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, type ApiAppSource, type ApiChain, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, type ApiCollectionSlugClaim, type ApiCollectionsQuery, type ApiComment, type ApiCounterOffersQuery, type ApiCreatorListResult, type ApiCreatorProfile, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiPublicRemix, type ApiRemixOffer, type ApiRemixOfferPrice, type ApiRemixOffersQuery, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchCreatorResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenBalance, type ApiTokenMetadata, type ApiUsageDay, type ApiUserWallet, type ApiWalletType, type ApiWebhookCreated, type ApiWebhookEndpoint, type AutoRemixOfferParams, type BatchMintEditionParams, type BuildFeeCallParams, MAX_SUPPLY as COIN_MAX_SUPPLY, MIN_SUPPLY as COIN_MIN_SUPPLY, COLLECTION_1155_CLASS_HASH_MAINNET, COLLECTION_1155_CONTRACT_MAINNET, COLLECTION_1155_FACTORY_CLASS_HASH_MAINNET, COLLECTION_1155_START_BLOCK_MAINNET, COLLECTION_721_CONTRACT_MAINNET, COLLECTION_721_START_BLOCK_MAINNET, CREATOR_COIN_CLASS_HASH_MAINNET, CREATOR_COIN_EKUBO_LAUNCHER_MAINNET, CREATOR_COIN_FACTORY_CLASS_HASH_MAINNET, CREATOR_COIN_FACTORY_CONTRACT_MAINNET, CREATOR_COIN_START_BLOCK_MAINNET, type CancelOrder1155Params, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type ClaimConditions, CollectionRegistryABI, type CollectionSort, type ConfirmRemixOfferParams, type ConfirmSelfRemixParams, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateCounterOfferIntentParams, type CreateCreatorCoinParams, type CreateDropParams, type CreateListing1155Params, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreatePopCollectionParams, type CreateRemixOfferParams, type CreateWebhookParams, CreatorCoinFactoryABI, type CreatorCoinPrice, type CreatorCoinReceiptLike, CreatorCoinService, DEFAULT_RPC_URL, DROP_COLLECTION_CLASS_HASH_MAINNET, DROP_FACTORY_CONTRACT_MAINNET, type DeployCollectionParams, DropCollectionABI, DropFactoryABI, type DropMintStatus, DropService, EKUBO_CORE_MAINNET, ERC1155CollectionService, type EkuboLaunchParams, type EkuboPoolParams, type EnforcementDeclaration, type FailoverFetchOptions, type FeeConfig, FeeConfigSchema, type FeeSurface, type FulfillOrder1155Params, type FulfillOrderIntentParams, type FulfillOrderParams, IPCOLLECTION_CLASS_HASH_MAINNET, IPCollection1155ABI, IPCollection1155FactoryABI, IPCollectionABI, IPMarketplaceABI, IPNFT_CLASS_HASH_MAINNET, IPNftABI, type IPType, type IntentCall, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, LAUNCH_PRICE_QUOTE_PER_COIN, MARKETPLACE_1155_CLASS_HASH_MAINNET, MARKETPLACE_1155_CONTRACT_MAINNET, MARKETPLACE_1155_START_BLOCK_MAINNET, MARKETPLACE_721_CLASS_HASH_MAINNET, MARKETPLACE_721_CONTRACT_MAINNET, MARKETPLACE_721_START_BLOCK_MAINNET, type MakeOffer1155Params, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, Medialane1155ABI, Medialane1155Module, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MedialaneErrorCode, type MintEditionParams, type MintParams, NFTCOMMENTS_CONTRACT_MAINNET, type Network, OPEN_LICENSES, type OfferItem, type OpenLicense, type Order, type OrderDetails, type OrderParameters, type OrderStatus, POPCollectionABI, POPFactoryABI, POP_COLLECTION_CLASS_HASH_MAINNET, POP_FACTORY_CONTRACT_MAINNET, PUBLIC_RPC_FALLBACKS, type PopBatchEligibilityItem, type PopClaimStatus, type PopEventType, PopService, type RemixOfferStatus, type ResolvedConfig, type ResolvedFeeConfig, type RetryOptions, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type ServiceCapability, type ServiceDefinition, type ServiceEventDeclaration, type ServiceId, type SortOrder, type SupportedToken, type SupportedTokenSymbol, type TenantPlan, type TxResult, VALIDATED_EKUBO_PARAMS, type WebhookEventType, type WebhookStatus, build1155CancellationTypedData, build1155OrderTypedData, buildCancellationTypedData, buildCreateCreatorCoinCall, buildFeeCall, buildLaunchOnEkuboCalls, buildOrderTypedData, buybackQuoteRaw, toRaw as coinToRaw, createFailoverFetch, encodeByteArray, fdvHuman, formatAmount, getCreatorCoinPrice, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, isServiceId, isTransientRpcError, listServices, normalizeAddress, normalizeHash, parseAmount, parseCreatorCoinCreated, resolveConfig, resolveFeeConfig, shortenAddress, stringifyBigInts, teamCoinsRaw, u256ToBigInt, validateName as validateCoinName, validateSupply as validateCoinSupply, validateSymbol as validateCoinSymbol };
5951
+ export { type ActivityType, type AddSupplyParams, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, type ApiAppSource, type ApiChain, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, type ApiCollectionSlugClaim, type ApiCollectionsQuery, type ApiComment, type ApiCounterOffersQuery, type ApiCreatorListResult, type ApiCreatorProfile, type ApiIntent, type ApiIntentCreated, type ApiKeyStatus, type ApiMeta, type ApiMetadataSignedUrl, type ApiMetadataUpload, type ApiOrder, type ApiOrderConsideration, type ApiOrderOffer, type ApiOrderPrice, type ApiOrderTokenMeta, type ApiOrderTxHash, type ApiOrdersQuery, type ApiPortalKey, type ApiPortalKeyCreated, type ApiPortalMe, type ApiPublicRemix, type ApiRemixOffer, type ApiRemixOfferPrice, type ApiRemixOffersQuery, type ApiResponse, type ApiSearchCollectionResult, type ApiSearchCreatorResult, type ApiSearchResult, type ApiSearchTokenResult, type ApiToken, type ApiTokenBalance, type ApiTokenMetadata, type ApiUsageDay, type ApiUserWallet, type ApiWalletType, type ApiWebhookCreated, type ApiWebhookEndpoint, type AutoRemixOfferParams, type BatchMintEditionParams, type BuildFeeCallParams, CHAINS, MAX_SUPPLY as COIN_MAX_SUPPLY, MIN_SUPPLY as COIN_MIN_SUPPLY, COLLECTION_1155_CLASS_HASH_MAINNET, COLLECTION_1155_CONTRACT_MAINNET, COLLECTION_1155_FACTORY_CLASS_HASH_MAINNET, COLLECTION_1155_START_BLOCK_MAINNET, COLLECTION_721_CONTRACT_MAINNET, COLLECTION_721_START_BLOCK_MAINNET, CREATOR_COIN_CLASS_HASH_MAINNET, CREATOR_COIN_EKUBO_LAUNCHER_MAINNET, CREATOR_COIN_FACTORY_CLASS_HASH_MAINNET, CREATOR_COIN_FACTORY_CONTRACT_MAINNET, CREATOR_COIN_START_BLOCK_MAINNET, type CancelOrder1155Params, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type Chain, type ChainCoordinates, type ClaimConditions, CollectionRegistryABI, type CollectionSort, type ConfirmRemixOfferParams, type ConfirmSelfRemixParams, type ConsiderationItem, type CreateCollectionIntentParams, type CreateCollectionParams, type CreateCounterOfferIntentParams, type CreateCreatorCoinParams, type CreateDropParams, type CreateListing1155Params, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreatePopCollectionParams, type CreateRemixOfferParams, type CreateWebhookParams, CreatorCoinFactoryABI, type CreatorCoinPrice, type CreatorCoinReceiptLike, CreatorCoinService, DEFAULT_CHAIN, DROP_COLLECTION_CLASS_HASH_MAINNET, DROP_FACTORY_CONTRACT_MAINNET, type DeployCollectionParams, DropCollectionABI, DropFactoryABI, type DropMintStatus, DropService, EKUBO_CORE_MAINNET, ERC1155CollectionService, type EkuboLaunchParams, type EkuboPoolParams, type EnforcementDeclaration, type FailoverFetchOptions, type FeeConfig, FeeConfigSchema, type FeeSurface, type FulfillOrder1155Params, type FulfillOrderIntentParams, type FulfillOrderParams, IPCOLLECTION_CLASS_HASH_MAINNET, IPCollection1155ABI, IPCollection1155FactoryABI, IPCollectionABI, IPMarketplaceABI, IPNFT_CLASS_HASH_MAINNET, IPNftABI, type IPType, type IntentCall, type IntentStatus, type IntentType, type IpAttribute, type IpNftMetadata, LAUNCH_PRICE_QUOTE_PER_COIN, MARKETPLACE_1155_CLASS_HASH_MAINNET, MARKETPLACE_1155_CONTRACT_MAINNET, MARKETPLACE_1155_START_BLOCK_MAINNET, MARKETPLACE_721_CLASS_HASH_MAINNET, MARKETPLACE_721_CONTRACT_MAINNET, MARKETPLACE_721_START_BLOCK_MAINNET, type MakeOffer1155Params, type MakeOfferIntentParams, type MakeOfferParams, MarketplaceModule, Medialane1155ABI, Medialane1155Module, MedialaneApiError, MedialaneClient, type MedialaneConfig, MedialaneError, type MedialaneErrorCode, type MintEditionParams, type MintParams, NFTCOMMENTS_CONTRACT_MAINNET, OPEN_LICENSES, type OfferItem, type OpenLicense, type Order, type OrderDetails, type OrderParameters, type OrderStatus, POPCollectionABI, POPFactoryABI, POP_COLLECTION_CLASS_HASH_MAINNET, POP_FACTORY_CONTRACT_MAINNET, PUBLIC_RPC_FALLBACKS, type PopBatchEligibilityItem, type PopClaimStatus, type PopEventType, PopService, type RemixOfferStatus, type ResolvedConfig, type ResolvedFeeConfig, type RetryOptions, SUPPORTED_TOKENS, type ServiceCapability, type ServiceDefinition, type ServiceEventDeclaration, type ServiceId, type SortOrder, type SupportedToken, type SupportedTokenSymbol, type TenantPlan, type TxResult, VALIDATED_EKUBO_PARAMS, type WebhookEventType, type WebhookStatus, build1155CancellationTypedData, build1155OrderTypedData, buildCancellationTypedData, buildCreateCreatorCoinCall, buildFeeCall, buildLaunchOnEkuboCalls, buildOrderTypedData, buybackQuoteRaw, toRaw as coinToRaw, createFailoverFetch, encodeByteArray, fdvHuman, formatAmount, getCoordinates, getCreatorCoinPrice, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, isServiceId, isTransientRpcError, listServices, normalizeAddress, normalizeHash, parseAmount, parseCreatorCoinCreated, resolveConfig, resolveFeeConfig, shortenAddress, stringifyBigInts, teamCoinsRaw, u256ToBigInt, validateName as validateCoinName, validateSupply as validateCoinSupply, validateSymbol as validateCoinSymbol };