@medialane/sdk 0.28.0 → 0.30.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
1
  import { z } from 'zod';
2
- import { Call, AccountInterface, constants, TypedData } from 'starknet';
2
+ import { Call, AccountInterface, constants, TypedData, ProviderInterface } from 'starknet';
3
3
 
4
4
  /** Medialane721 marketplace venue — immutable, ownerless (redesign, deployed 2026-05-31). */
5
5
  declare const MARKETPLACE_721_CONTRACT_MAINNET = "0x069cf5391077e3ebdd9cb6aebf90ed530d29f0d6aa34a43f5afae938c0fb565e";
@@ -63,6 +63,18 @@ declare const COLLECTION_1155_FACTORY_CLASS_HASH_MAINNET = "0x188321a7c9ca972cc6
63
63
  declare const COLLECTION_1155_CLASS_HASH_MAINNET = "0x281e13803c906f20bbe158efb44b7a0273c56fdebbeeb55b2ba59530ddb1c80";
64
64
  /** First mainnet block for the current ERC-1155 factory deployment. */
65
65
  declare const COLLECTION_1155_START_BLOCK_MAINNET = 10045611;
66
+ /** Creator Coin Factory — entrypoint: create_creator_coin + launch_on_ekubo. */
67
+ declare const CREATOR_COIN_FACTORY_CONTRACT_MAINNET = "0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c";
68
+ /** EkuboLauncher — permanently holds (locks) each Creator Coin's LP position. */
69
+ declare const CREATOR_COIN_EKUBO_LAUNCHER_MAINNET = "0x4f7fceb5ac10f12f9544a09580592e5bdf1b7f04f48765eecf12286d8ccb7b4";
70
+ /** Class hash of the per-coin CreatorCoin ERC-20 the Factory deploys. */
71
+ declare const CREATOR_COIN_CLASS_HASH_MAINNET = "0x743e4c8a5b96bb83bbf4af04edbbb482d5ece89eed9b729a79fb7df0cd0b6b6";
72
+ /** Class hash of the Creator Coin Factory. */
73
+ declare const CREATOR_COIN_FACTORY_CLASS_HASH_MAINNET = "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55";
74
+ /** First mainnet block of the Factory deployment. */
75
+ declare const CREATOR_COIN_START_BLOCK_MAINNET = 10474544;
76
+ /** Ekubo Core (Starknet mainnet) — Creator Coin pools live here; read spot price via `get_pool_price`. */
77
+ declare const EKUBO_CORE_MAINNET = "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b";
66
78
 
67
79
  interface RetryOptions {
68
80
  maxAttempts?: number;
@@ -423,7 +435,7 @@ type IPType = "Audio" | "Art" | "Documents" | "NFT" | "Video" | "Photography" |
423
435
  type CollectionSort = "recent" | "supply" | "floor" | "volume" | "name";
424
436
  /** Bounded capability set (05-service-model §III). Expand the union when a
425
437
  * service needs behavior outside it — never make it free-form. */
426
- type ServiceCapability = "list" | "buy" | "make_offer" | "cancel" | "transfer" | "burn" | "mint" | "claim" | "airdrop" | "remix" | "license" | "subscribe" | "redeem";
438
+ type ServiceCapability = "list" | "buy" | "make_offer" | "cancel" | "transfer" | "burn" | "mint" | "claim" | "airdrop" | "remix" | "license" | "subscribe" | "redeem" | "launch" | "swap";
427
439
  /** A service that bakes enforcement into its own contract declares it here
428
440
  * (04-licensing-model §V, 05-service-model §IV). Absence/all-falsey =
429
441
  * soft enforcement (the 00-principles §9 default). */
@@ -471,7 +483,7 @@ interface ServiceDefinition {
471
483
  id: string;
472
484
  displayName: string;
473
485
  description: string;
474
- standard: "ERC721" | "ERC1155" | "UNKNOWN";
486
+ standard: "ERC721" | "ERC1155" | "ERC20" | "UNKNOWN";
475
487
  provenance: "MEDIALANE" | "EXTERNAL";
476
488
  onchain?: {
477
489
  factoryAddress?: string;
@@ -1557,6 +1569,99 @@ declare class ERC1155CollectionService {
1557
1569
  }): Promise<TxResult>;
1558
1570
  }
1559
1571
 
1572
+ interface CreateCreatorCoinParams {
1573
+ /** Owner of the new coin — the only address allowed to launch it. */
1574
+ owner: string;
1575
+ name: string;
1576
+ symbol: string;
1577
+ /** Full fixed supply (raw, 18 decimals). Minted to the Factory until launch. */
1578
+ initialSupply: bigint | string;
1579
+ /** Deterministic deploy salt. Defaults to a timestamp-derived value. */
1580
+ salt?: bigint | string;
1581
+ }
1582
+ /** Ekubo pool params (off-chain tick). The `startingPrice` is an Ekubo i129 tick. */
1583
+ interface EkuboPoolParams {
1584
+ fee: bigint | string;
1585
+ tickSpacing: bigint | string;
1586
+ startingPrice: {
1587
+ mag: bigint | string;
1588
+ sign: boolean;
1589
+ };
1590
+ bound: bigint | string;
1591
+ }
1592
+ interface EkuboLaunchParams {
1593
+ creatorCoin: string;
1594
+ /** Quote token (e.g. STRK). Must NOT itself be a Creator Coin. */
1595
+ quoteToken: string;
1596
+ /** Team-allocation recipients (≤10% of supply, summed). */
1597
+ initialHolders: string[];
1598
+ initialHoldersAmounts: (bigint | string)[];
1599
+ /** Anti-snipe window in seconds. 0 = none. */
1600
+ transferRestrictionDelay?: number;
1601
+ /** Max % of supply buyable per tx during the window, in bps (≥50 = 0.5%). */
1602
+ maxPercentageBuyLaunch?: number;
1603
+ /** Ekubo pool params. Defaults to {@link VALIDATED_EKUBO_PARAMS} (0.01 quote/coin). */
1604
+ ekubo?: EkuboPoolParams;
1605
+ /**
1606
+ * Quote (raw units) to transfer to the Factory in the same multicall, used to
1607
+ * buy the team allocation back out of the pool. Must cover
1608
+ * `sum(initialHoldersAmounts) × price` (leftover is returned to the caller).
1609
+ * If omitted, the Factory must already hold enough quote.
1610
+ */
1611
+ quoteFundAmount?: bigint | string;
1612
+ }
1613
+ /**
1614
+ * Smoke-validated Ekubo params (mainnet 2026-06-04): 0.01 quote/coin for an
1615
+ * 18-decimal quote. `sign: true` yields 0.01 quote/coin regardless of token0/1
1616
+ * ordering — the launcher compensates internally.
1617
+ *
1618
+ * TODO: a `priceToEkuboParams(price, quoteDecimals, tickSpacing)` helper (port of
1619
+ * unrug's `ekubo/helpers.cairo` tick math) so callers can pick an arbitrary price.
1620
+ */
1621
+ declare const VALIDATED_EKUBO_PARAMS: EkuboPoolParams;
1622
+ /** A Creator Coin's live spot price, read from its Ekubo pool. */
1623
+ interface CreatorCoinPrice {
1624
+ /** Quote tokens per 1 coin, human units (e.g. 0.0101 = 0.0101 STRK/coin). */
1625
+ quotePerCoin: number;
1626
+ /** The quote token the coin is paired against on Ekubo. */
1627
+ quoteToken: string;
1628
+ quoteSymbol: string | null;
1629
+ quoteDecimals: number;
1630
+ }
1631
+ /**
1632
+ * Read a Creator Coin's live spot price directly from its Ekubo pool (read-only).
1633
+ *
1634
+ * Self-contained: discovers the pool params (quote token, fee, tick spacing) from the
1635
+ * coin's own `launched_with_liquidity_parameters`, reads `Core.get_pool_price`, and
1636
+ * converts the `sqrt_ratio` to quote-per-coin (handling token0/1 ordering + decimals).
1637
+ * Returns `null` if the coin isn't launched on Ekubo. No backend, no swap-quote
1638
+ * dependency — works for day-one coins that AVNU doesn't index yet.
1639
+ */
1640
+ declare function getCreatorCoinPrice(coinAddress: string, provider: ProviderInterface): Promise<CreatorCoinPrice | null>;
1641
+ /**
1642
+ * On-chain Creator Coin interactions (Ekubo-only launchpad).
1643
+ * Faithful fork of unruggable.meme — permanent LP lock + team-allocation buyback.
1644
+ */
1645
+ declare class CreatorCoinService {
1646
+ private readonly factoryAddress;
1647
+ private readonly config;
1648
+ constructor(config: ResolvedConfig);
1649
+ private _factory;
1650
+ /** Deploy a fixed-supply CreatorCoin (full supply minted to the Factory). */
1651
+ createCreatorCoin(account: AccountInterface, params: CreateCreatorCoinParams): Promise<TxResult>;
1652
+ /**
1653
+ * Launch a coin on Ekubo (owner-only). Optionally pre-funds the Factory with
1654
+ * quote (for the buyback) in the same multicall. Liquidity is permanently
1655
+ * locked in the EkuboLauncher.
1656
+ */
1657
+ launchOnEkubo(account: AccountInterface, params: EkuboLaunchParams): Promise<TxResult>;
1658
+ /** View: is this address a Factory-deployed Creator Coin? */
1659
+ isCreatorCoin(address: string, account: AccountInterface): Promise<boolean>;
1660
+ /** Read a coin's live Ekubo spot price (quote-per-coin) via the configured RPC.
1661
+ * Read-only; returns null if the coin isn't launched on Ekubo. */
1662
+ getPrice(coinAddress: string): Promise<CreatorCoinPrice | null>;
1663
+ }
1664
+
1560
1665
  declare class MedialaneClient {
1561
1666
  /** On-chain marketplace interactions for ERC-721 assets (create listing, fulfill order, etc.) */
1562
1667
  readonly marketplace: MarketplaceModule;
@@ -1571,6 +1676,7 @@ declare class MedialaneClient {
1571
1676
  readonly pop: PopService;
1572
1677
  readonly drop: DropService;
1573
1678
  readonly erc1155Collection: ERC1155CollectionService;
1679
+ readonly creatorCoin: CreatorCoinService;
1574
1680
  };
1575
1681
  private readonly config;
1576
1682
  constructor(rawConfig?: MedialaneConfig);
@@ -5074,6 +5180,384 @@ declare const IPNftABI: readonly [{
5074
5180
  }];
5075
5181
  }];
5076
5182
 
5183
+ declare const CreatorCoinFactoryABI: readonly [{
5184
+ readonly type: "impl";
5185
+ readonly name: "FactoryImpl";
5186
+ readonly interface_name: "creator_coin::factory::interface::IFactory";
5187
+ }, {
5188
+ readonly type: "struct";
5189
+ readonly name: "core::integer::u256";
5190
+ readonly members: readonly [{
5191
+ readonly name: "low";
5192
+ readonly type: "core::integer::u128";
5193
+ }, {
5194
+ readonly name: "high";
5195
+ readonly type: "core::integer::u128";
5196
+ }];
5197
+ }, {
5198
+ readonly type: "struct";
5199
+ readonly name: "core::array::Span::<core::starknet::contract_address::ContractAddress>";
5200
+ readonly members: readonly [{
5201
+ readonly name: "snapshot";
5202
+ readonly type: "@core::array::Array::<core::starknet::contract_address::ContractAddress>";
5203
+ }];
5204
+ }, {
5205
+ readonly type: "struct";
5206
+ readonly name: "core::array::Span::<core::integer::u256>";
5207
+ readonly members: readonly [{
5208
+ readonly name: "snapshot";
5209
+ readonly type: "@core::array::Array::<core::integer::u256>";
5210
+ }];
5211
+ }, {
5212
+ readonly type: "struct";
5213
+ readonly name: "creator_coin::factory::LaunchParameters";
5214
+ readonly members: readonly [{
5215
+ readonly name: "creator_coin_address";
5216
+ readonly type: "core::starknet::contract_address::ContractAddress";
5217
+ }, {
5218
+ readonly name: "transfer_restriction_delay";
5219
+ readonly type: "core::integer::u64";
5220
+ }, {
5221
+ readonly name: "max_percentage_buy_launch";
5222
+ readonly type: "core::integer::u16";
5223
+ }, {
5224
+ readonly name: "quote_address";
5225
+ readonly type: "core::starknet::contract_address::ContractAddress";
5226
+ }, {
5227
+ readonly name: "initial_holders";
5228
+ readonly type: "core::array::Span::<core::starknet::contract_address::ContractAddress>";
5229
+ }, {
5230
+ readonly name: "initial_holders_amounts";
5231
+ readonly type: "core::array::Span::<core::integer::u256>";
5232
+ }];
5233
+ }, {
5234
+ readonly type: "enum";
5235
+ readonly name: "core::bool";
5236
+ readonly variants: readonly [{
5237
+ readonly name: "False";
5238
+ readonly type: "()";
5239
+ }, {
5240
+ readonly name: "True";
5241
+ readonly type: "()";
5242
+ }];
5243
+ }, {
5244
+ readonly type: "struct";
5245
+ readonly name: "ekubo::types::i129::i129";
5246
+ readonly members: readonly [{
5247
+ readonly name: "mag";
5248
+ readonly type: "core::integer::u128";
5249
+ }, {
5250
+ readonly name: "sign";
5251
+ readonly type: "core::bool";
5252
+ }];
5253
+ }, {
5254
+ readonly type: "struct";
5255
+ readonly name: "creator_coin::exchanges::ekubo::ekubo_adapter::EkuboPoolParameters";
5256
+ readonly members: readonly [{
5257
+ readonly name: "fee";
5258
+ readonly type: "core::integer::u128";
5259
+ }, {
5260
+ readonly name: "tick_spacing";
5261
+ readonly type: "core::integer::u128";
5262
+ }, {
5263
+ readonly name: "starting_price";
5264
+ readonly type: "ekubo::types::i129::i129";
5265
+ }, {
5266
+ readonly name: "bound";
5267
+ readonly type: "core::integer::u128";
5268
+ }];
5269
+ }, {
5270
+ readonly type: "struct";
5271
+ readonly name: "ekubo::types::keys::PoolKey";
5272
+ readonly members: readonly [{
5273
+ readonly name: "token0";
5274
+ readonly type: "core::starknet::contract_address::ContractAddress";
5275
+ }, {
5276
+ readonly name: "token1";
5277
+ readonly type: "core::starknet::contract_address::ContractAddress";
5278
+ }, {
5279
+ readonly name: "fee";
5280
+ readonly type: "core::integer::u128";
5281
+ }, {
5282
+ readonly name: "tick_spacing";
5283
+ readonly type: "core::integer::u128";
5284
+ }, {
5285
+ readonly name: "extension";
5286
+ readonly type: "core::starknet::contract_address::ContractAddress";
5287
+ }];
5288
+ }, {
5289
+ readonly type: "struct";
5290
+ readonly name: "ekubo::types::bounds::Bounds";
5291
+ readonly members: readonly [{
5292
+ readonly name: "lower";
5293
+ readonly type: "ekubo::types::i129::i129";
5294
+ }, {
5295
+ readonly name: "upper";
5296
+ readonly type: "ekubo::types::i129::i129";
5297
+ }];
5298
+ }, {
5299
+ readonly type: "struct";
5300
+ readonly name: "creator_coin::exchanges::ekubo::launcher::EkuboLP";
5301
+ readonly members: readonly [{
5302
+ readonly name: "owner";
5303
+ readonly type: "core::starknet::contract_address::ContractAddress";
5304
+ }, {
5305
+ readonly name: "quote_address";
5306
+ readonly type: "core::starknet::contract_address::ContractAddress";
5307
+ }, {
5308
+ readonly name: "pool_key";
5309
+ readonly type: "ekubo::types::keys::PoolKey";
5310
+ }, {
5311
+ readonly name: "bounds";
5312
+ readonly type: "ekubo::types::bounds::Bounds";
5313
+ }];
5314
+ }, {
5315
+ readonly type: "enum";
5316
+ readonly name: "creator_coin::exchanges::SupportedExchanges";
5317
+ readonly variants: readonly [{
5318
+ readonly name: "Jediswap";
5319
+ readonly type: "()";
5320
+ }, {
5321
+ readonly name: "Ekubo";
5322
+ readonly type: "()";
5323
+ }, {
5324
+ readonly name: "Starkdefi";
5325
+ readonly type: "()";
5326
+ }];
5327
+ }, {
5328
+ readonly type: "enum";
5329
+ readonly name: "creator_coin::token::creator_coin::LiquidityType";
5330
+ readonly variants: readonly [{
5331
+ readonly name: "JediERC20";
5332
+ readonly type: "core::starknet::contract_address::ContractAddress";
5333
+ }, {
5334
+ readonly name: "StarkDeFiERC20";
5335
+ readonly type: "core::starknet::contract_address::ContractAddress";
5336
+ }, {
5337
+ readonly name: "EkuboNFT";
5338
+ readonly type: "core::integer::u64";
5339
+ }];
5340
+ }, {
5341
+ readonly type: "enum";
5342
+ readonly name: "core::option::Option::<(core::starknet::contract_address::ContractAddress, creator_coin::token::creator_coin::LiquidityType)>";
5343
+ readonly variants: readonly [{
5344
+ readonly name: "Some";
5345
+ readonly type: "(core::starknet::contract_address::ContractAddress, creator_coin::token::creator_coin::LiquidityType)";
5346
+ }, {
5347
+ readonly name: "None";
5348
+ readonly type: "()";
5349
+ }];
5350
+ }, {
5351
+ readonly type: "interface";
5352
+ readonly name: "creator_coin::factory::interface::IFactory";
5353
+ readonly items: readonly [{
5354
+ readonly type: "function";
5355
+ readonly name: "create_creator_coin";
5356
+ readonly inputs: readonly [{
5357
+ readonly name: "owner";
5358
+ readonly type: "core::starknet::contract_address::ContractAddress";
5359
+ }, {
5360
+ readonly name: "name";
5361
+ readonly type: "core::felt252";
5362
+ }, {
5363
+ readonly name: "symbol";
5364
+ readonly type: "core::felt252";
5365
+ }, {
5366
+ readonly name: "initial_supply";
5367
+ readonly type: "core::integer::u256";
5368
+ }, {
5369
+ readonly name: "contract_address_salt";
5370
+ readonly type: "core::felt252";
5371
+ }];
5372
+ readonly outputs: readonly [{
5373
+ readonly type: "core::starknet::contract_address::ContractAddress";
5374
+ }];
5375
+ readonly state_mutability: "external";
5376
+ }, {
5377
+ readonly type: "function";
5378
+ readonly name: "launch_on_jediswap";
5379
+ readonly inputs: readonly [{
5380
+ readonly name: "launch_parameters";
5381
+ readonly type: "creator_coin::factory::LaunchParameters";
5382
+ }, {
5383
+ readonly name: "quote_amount";
5384
+ readonly type: "core::integer::u256";
5385
+ }, {
5386
+ readonly name: "unlock_time";
5387
+ readonly type: "core::integer::u64";
5388
+ }];
5389
+ readonly outputs: readonly [{
5390
+ readonly type: "core::starknet::contract_address::ContractAddress";
5391
+ }];
5392
+ readonly state_mutability: "external";
5393
+ }, {
5394
+ readonly type: "function";
5395
+ readonly name: "launch_on_ekubo";
5396
+ readonly inputs: readonly [{
5397
+ readonly name: "launch_parameters";
5398
+ readonly type: "creator_coin::factory::LaunchParameters";
5399
+ }, {
5400
+ readonly name: "ekubo_parameters";
5401
+ readonly type: "creator_coin::exchanges::ekubo::ekubo_adapter::EkuboPoolParameters";
5402
+ }];
5403
+ readonly outputs: readonly [{
5404
+ readonly type: "(core::integer::u64, creator_coin::exchanges::ekubo::launcher::EkuboLP)";
5405
+ }];
5406
+ readonly state_mutability: "external";
5407
+ }, {
5408
+ readonly type: "function";
5409
+ readonly name: "launch_on_starkdefi";
5410
+ readonly inputs: readonly [{
5411
+ readonly name: "launch_parameters";
5412
+ readonly type: "creator_coin::factory::LaunchParameters";
5413
+ }, {
5414
+ readonly name: "quote_amount";
5415
+ readonly type: "core::integer::u256";
5416
+ }, {
5417
+ readonly name: "unlock_time";
5418
+ readonly type: "core::integer::u64";
5419
+ }];
5420
+ readonly outputs: readonly [{
5421
+ readonly type: "core::starknet::contract_address::ContractAddress";
5422
+ }];
5423
+ readonly state_mutability: "external";
5424
+ }, {
5425
+ readonly type: "function";
5426
+ readonly name: "exchange_address";
5427
+ readonly inputs: readonly [{
5428
+ readonly name: "exchange";
5429
+ readonly type: "creator_coin::exchanges::SupportedExchanges";
5430
+ }];
5431
+ readonly outputs: readonly [{
5432
+ readonly type: "core::starknet::contract_address::ContractAddress";
5433
+ }];
5434
+ readonly state_mutability: "view";
5435
+ }, {
5436
+ readonly type: "function";
5437
+ readonly name: "lock_manager_address";
5438
+ readonly inputs: readonly [];
5439
+ readonly outputs: readonly [{
5440
+ readonly type: "core::starknet::contract_address::ContractAddress";
5441
+ }];
5442
+ readonly state_mutability: "view";
5443
+ }, {
5444
+ readonly type: "function";
5445
+ readonly name: "locked_liquidity";
5446
+ readonly inputs: readonly [{
5447
+ readonly name: "token";
5448
+ readonly type: "core::starknet::contract_address::ContractAddress";
5449
+ }];
5450
+ readonly outputs: readonly [{
5451
+ readonly type: "core::option::Option::<(core::starknet::contract_address::ContractAddress, creator_coin::token::creator_coin::LiquidityType)>";
5452
+ }];
5453
+ readonly state_mutability: "view";
5454
+ }, {
5455
+ readonly type: "function";
5456
+ readonly name: "is_creator_coin";
5457
+ readonly inputs: readonly [{
5458
+ readonly name: "address";
5459
+ readonly type: "core::starknet::contract_address::ContractAddress";
5460
+ }];
5461
+ readonly outputs: readonly [{
5462
+ readonly type: "core::bool";
5463
+ }];
5464
+ readonly state_mutability: "view";
5465
+ }, {
5466
+ readonly type: "function";
5467
+ readonly name: "ekubo_core_address";
5468
+ readonly inputs: readonly [];
5469
+ readonly outputs: readonly [{
5470
+ readonly type: "core::starknet::contract_address::ContractAddress";
5471
+ }];
5472
+ readonly state_mutability: "view";
5473
+ }];
5474
+ }, {
5475
+ readonly type: "struct";
5476
+ readonly name: "core::array::Span::<(creator_coin::exchanges::SupportedExchanges, core::starknet::contract_address::ContractAddress)>";
5477
+ readonly members: readonly [{
5478
+ readonly name: "snapshot";
5479
+ readonly type: "@core::array::Array::<(creator_coin::exchanges::SupportedExchanges, core::starknet::contract_address::ContractAddress)>";
5480
+ }];
5481
+ }, {
5482
+ readonly type: "struct";
5483
+ readonly name: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
5484
+ readonly members: readonly [{
5485
+ readonly name: "snapshot";
5486
+ readonly type: "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
5487
+ }];
5488
+ }, {
5489
+ readonly type: "constructor";
5490
+ readonly name: "constructor";
5491
+ readonly inputs: readonly [{
5492
+ readonly name: "creator_coin_class_hash";
5493
+ readonly type: "core::starknet::class_hash::ClassHash";
5494
+ }, {
5495
+ readonly name: "lock_manager_address";
5496
+ readonly type: "core::starknet::contract_address::ContractAddress";
5497
+ }, {
5498
+ readonly name: "exchanges";
5499
+ readonly type: "core::array::Span::<(creator_coin::exchanges::SupportedExchanges, core::starknet::contract_address::ContractAddress)>";
5500
+ }, {
5501
+ readonly name: "migrated_tokens";
5502
+ readonly type: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
5503
+ }];
5504
+ }, {
5505
+ readonly type: "event";
5506
+ readonly name: "creator_coin::factory::factory::Factory::CreatorCoinCreated";
5507
+ readonly kind: "struct";
5508
+ readonly members: readonly [{
5509
+ readonly name: "owner";
5510
+ readonly type: "core::starknet::contract_address::ContractAddress";
5511
+ readonly kind: "data";
5512
+ }, {
5513
+ readonly name: "name";
5514
+ readonly type: "core::felt252";
5515
+ readonly kind: "data";
5516
+ }, {
5517
+ readonly name: "symbol";
5518
+ readonly type: "core::felt252";
5519
+ readonly kind: "data";
5520
+ }, {
5521
+ readonly name: "initial_supply";
5522
+ readonly type: "core::integer::u256";
5523
+ readonly kind: "data";
5524
+ }, {
5525
+ readonly name: "creator_coin_address";
5526
+ readonly type: "core::starknet::contract_address::ContractAddress";
5527
+ readonly kind: "data";
5528
+ }];
5529
+ }, {
5530
+ readonly type: "event";
5531
+ readonly name: "creator_coin::factory::factory::Factory::CreatorCoinLaunched";
5532
+ readonly kind: "struct";
5533
+ readonly members: readonly [{
5534
+ readonly name: "creator_coin_address";
5535
+ readonly type: "core::starknet::contract_address::ContractAddress";
5536
+ readonly kind: "data";
5537
+ }, {
5538
+ readonly name: "quote_token";
5539
+ readonly type: "core::starknet::contract_address::ContractAddress";
5540
+ readonly kind: "data";
5541
+ }, {
5542
+ readonly name: "exchange_name";
5543
+ readonly type: "core::felt252";
5544
+ readonly kind: "data";
5545
+ }];
5546
+ }, {
5547
+ readonly type: "event";
5548
+ readonly name: "creator_coin::factory::factory::Factory::Event";
5549
+ readonly kind: "enum";
5550
+ readonly variants: readonly [{
5551
+ readonly name: "CreatorCoinCreated";
5552
+ readonly type: "creator_coin::factory::factory::Factory::CreatorCoinCreated";
5553
+ readonly kind: "nested";
5554
+ }, {
5555
+ readonly name: "CreatorCoinLaunched";
5556
+ readonly type: "creator_coin::factory::factory::Factory::CreatorCoinLaunched";
5557
+ readonly kind: "nested";
5558
+ }];
5559
+ }];
5560
+
5077
5561
  /**
5078
5562
  * The Medialane service registry (05-service-model §II, §VI).
5079
5563
  * Canonical long-form IDs (01-core-model §III). SDK-resident in v1;
@@ -5188,6 +5672,27 @@ declare const SERVICES: {
5188
5672
  readonly licenseDefault: "CC BY-SA";
5189
5673
  };
5190
5674
  };
5675
+ readonly "creator-coin": {
5676
+ readonly id: "creator-coin";
5677
+ readonly displayName: "Creator Coin";
5678
+ readonly description: "Launch a fixed-supply social token with permanently-locked Ekubo liquidity.";
5679
+ readonly standard: "ERC20";
5680
+ readonly provenance: "MEDIALANE";
5681
+ readonly onchain: {
5682
+ readonly factoryAddress: "0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c";
5683
+ readonly classHash: "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55";
5684
+ readonly startBlock: 10474544;
5685
+ };
5686
+ readonly uiVariant: "coin";
5687
+ readonly capabilities: ["launch", "swap", "transfer"];
5688
+ readonly events: [{
5689
+ readonly name: "CreatorCoinCreated";
5690
+ readonly emittedBy: "factory";
5691
+ }, {
5692
+ readonly name: "CreatorCoinLaunched";
5693
+ readonly emittedBy: "factory";
5694
+ }];
5695
+ };
5191
5696
  readonly "medialane-marketplace-erc721": {
5192
5697
  readonly id: "medialane-marketplace-erc721";
5193
5698
  readonly displayName: "Medialane Marketplace (ERC-721)";
@@ -5236,6 +5741,15 @@ declare const SERVICES: {
5236
5741
  readonly emittedBy: "factory";
5237
5742
  }];
5238
5743
  };
5744
+ readonly "external-erc20": {
5745
+ readonly id: "external-erc20";
5746
+ readonly displayName: "External ERC-20";
5747
+ readonly description: "An ERC-20 token (e.g. an unrug memecoin or a partner coin) not deployed via a Medialane service. Brought in by owner claim or admin/partnership — never bulk-indexed. Generalizes to future chains.";
5748
+ readonly standard: "ERC20";
5749
+ readonly provenance: "EXTERNAL";
5750
+ readonly uiVariant: "coin";
5751
+ readonly capabilities: ["swap", "transfer"];
5752
+ };
5239
5753
  readonly "external-erc721": {
5240
5754
  readonly id: "external-erc721";
5241
5755
  readonly displayName: "External ERC-721";
@@ -5416,4 +5930,4 @@ declare function build1155OrderTypedData(message: Record<string, unknown>, chain
5416
5930
  declare function buildCancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId | string): TypedData;
5417
5931
  declare function build1155CancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId | string): TypedData;
5418
5932
 
5419
- export { type ActivityType, 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 BatchMintItemParams, type BuildFeeCallParams, 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, 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 CreateDropParams, type CreateListing1155Params, type CreateListingIntentParams, type CreateListingParams, type CreateMintIntentParams, type CreatePopCollectionParams, type CreateRemixOfferParams, type CreateWebhookParams, DEFAULT_RPC_URL, DROP_COLLECTION_CLASS_HASH_MAINNET, DROP_FACTORY_CONTRACT_MAINNET, type DeployCollectionParams, DropCollectionABI, DropFactoryABI, type DropMintStatus, DropService, ERC1155CollectionService, 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, 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 MintItemParams, 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, type WebhookEventType, type WebhookStatus, build1155CancellationTypedData, build1155OrderTypedData, buildCancellationTypedData, buildFeeCall, buildOrderTypedData, createFailoverFetch, encodeByteArray, formatAmount, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, isServiceId, isTransientRpcError, listServices, normalizeAddress, normalizeHash, parseAmount, resolveConfig, resolveFeeConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
5933
+ export { type ActivityType, 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 BatchMintItemParams, type BuildFeeCallParams, 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, 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, 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 MintItemParams, 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, buildFeeCall, buildOrderTypedData, createFailoverFetch, encodeByteArray, formatAmount, getCreatorCoinPrice, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, isServiceId, isTransientRpcError, listServices, normalizeAddress, normalizeHash, parseAmount, resolveConfig, resolveFeeConfig, shortenAddress, stringifyBigInts, u256ToBigInt };