@medialane/sdk 0.8.2 → 0.9.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
@@ -14,11 +14,11 @@ declare const MARKETPLACE_721_START_BLOCK_MAINNET = 9196722;
14
14
  /** @deprecated Use MARKETPLACE_721_START_BLOCK_MAINNET. */
15
15
  declare const MARKETPLACE_START_BLOCK_MAINNET = 9196722;
16
16
  /** Medialane Protocol ERC-1155 marketplace — immutable, no admin key. */
17
- declare const MARKETPLACE_1155_CONTRACT_MAINNET = "0x04a0a65bd13e1ec9a2ce92c36115578486331e941b395f97d49fe488baac8309";
17
+ declare const MARKETPLACE_1155_CONTRACT_MAINNET = "0x02bfa521c25461a09d735889b469418608d7d92f8b26e3d37ef174a4c2e22f99";
18
18
  /** Class hash of the Medialane Protocol ERC-1155 marketplace implementation. */
19
- declare const MARKETPLACE_1155_CLASS_HASH_MAINNET = "0x03e1b84f1058dd5c9c766634e638d02756b59910080492983a5168c99856efd0";
19
+ declare const MARKETPLACE_1155_CLASS_HASH_MAINNET = "0x01b674aad934be85abc7c1970265cbf7e9bc7d586a90f0a67112c201636dbdd3";
20
20
  /** First mainnet block for the current Medialane Protocol ERC-1155 deployment. */
21
- declare const MARKETPLACE_1155_START_BLOCK_MAINNET = 9197091;
21
+ declare const MARKETPLACE_1155_START_BLOCK_MAINNET = 9260304;
22
22
  declare const COLLECTION_721_CONTRACT_MAINNET = "0x05c49ee5d3208a2c2e150fdd0c247d1195ed9ab54fa2d5dea7a633f39e4b205b";
23
23
  /** @deprecated Use COLLECTION_721_CONTRACT_MAINNET. */
24
24
  declare const COLLECTION_CONTRACT_MAINNET = "0x05c49ee5d3208a2c2e150fdd0c247d1195ed9ab54fa2d5dea7a633f39e4b205b";
@@ -199,6 +199,10 @@ interface MakeOfferParams {
199
199
  }
200
200
  interface FulfillOrderParams {
201
201
  orderHash: string;
202
+ /** ERC-20 payment token address — the consideration token on the listing. */
203
+ paymentToken: string;
204
+ /** Total price in raw token units as a string (e.g. "1000000" for 1 USDC). */
205
+ totalPrice: string;
202
206
  }
203
207
  interface CancelOrderParams {
204
208
  orderHash: string;
@@ -211,6 +215,8 @@ interface CartItem {
211
215
  considerationAmount: string;
212
216
  /** Human-readable identifier for the NFT (for logging) */
213
217
  offerIdentifier?: string;
218
+ /** ERC-1155 only: number of units to purchase per item (defaults to "1") */
219
+ quantity?: string;
214
220
  }
215
221
  interface MintParams {
216
222
  collectionId: string;
@@ -229,6 +235,15 @@ interface CreateCollectionParams {
229
235
  interface TxResult {
230
236
  txHash: string;
231
237
  }
238
+ interface OrderDetails {
239
+ offerer: string;
240
+ offer: OfferItem;
241
+ consideration: ConsiderationItem;
242
+ start_time: bigint;
243
+ end_time: bigint;
244
+ order_status: string;
245
+ fulfiller: string | null;
246
+ }
232
247
  interface CreateListing1155Params {
233
248
  /** ERC-1155 contract address */
234
249
  nftContract: string;
@@ -257,6 +272,20 @@ interface CancelOrder1155Params {
257
272
  /** On-chain order hash */
258
273
  orderHash: string;
259
274
  }
275
+ interface MakeOffer1155Params {
276
+ /** ERC-1155 contract address */
277
+ nftContract: string;
278
+ /** Token type ID */
279
+ tokenId: string;
280
+ /** Number of tokens requested */
281
+ amount: string;
282
+ /** Total offer price in human-readable units (e.g. "1.5") */
283
+ price: string;
284
+ /** Currency symbol or token address. Defaults to "USDC". */
285
+ currency?: string;
286
+ /** How long the offer is valid, in seconds */
287
+ durationSeconds: number;
288
+ }
260
289
 
261
290
  type MedialaneErrorCode = "TOKEN_NOT_FOUND" | "COLLECTION_NOT_FOUND" | "ORDER_NOT_FOUND" | "INTENT_NOT_FOUND" | "INTENT_EXPIRED" | "RATE_LIMITED" | "NETWORK_NOT_SUPPORTED" | "APPROVAL_FAILED" | "TRANSACTION_FAILED" | "INVALID_PARAMS" | "UNAUTHORIZED" | "UNKNOWN";
262
291
 
@@ -276,6 +305,8 @@ declare class MarketplaceModule {
276
305
  checkoutCart(account: AccountInterface, items: CartItem[]): Promise<TxResult>;
277
306
  mint(account: AccountInterface, params: MintParams): Promise<TxResult>;
278
307
  createCollection(account: AccountInterface, params: CreateCollectionParams): Promise<TxResult>;
308
+ getOrderDetails(orderHash: string): Promise<OrderDetails>;
309
+ getNonce(address: string): Promise<bigint>;
279
310
  buildListingTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
280
311
  buildFulfillmentTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
281
312
  buildCancellationTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
@@ -289,6 +320,11 @@ declare class Medialane1155Module {
289
320
  * Optionally grants `set_approval_for_all` if not already approved.
290
321
  */
291
322
  createListing(account: AccountInterface, params: CreateListing1155Params): Promise<TxResult>;
323
+ /**
324
+ * Make an offer (bid) on an ERC-1155 token.
325
+ * Approves the ERC-20 spend then calls `register_order` atomically.
326
+ */
327
+ makeOffer(account: AccountInterface, params: MakeOffer1155Params): Promise<TxResult>;
292
328
  /**
293
329
  * Fulfill (buy) an ERC-1155 listing.
294
330
  * Approves the payment token then calls `fulfill_order` atomically.
@@ -298,6 +334,13 @@ declare class Medialane1155Module {
298
334
  * Cancel an ERC-1155 listing (offerer only).
299
335
  */
300
336
  cancelOrder(account: AccountInterface, params: CancelOrder1155Params): Promise<TxResult>;
337
+ /**
338
+ * Checkout a cart of ERC-1155 orders atomically.
339
+ * Signs one fulfillment per item (with quantity), sums ERC-20 approvals by token.
340
+ */
341
+ checkoutCart(account: AccountInterface, items: CartItem[]): Promise<TxResult>;
342
+ getOrderDetails(orderHash: string): Promise<OrderDetails>;
343
+ getNonce(address: string): Promise<bigint>;
301
344
  buildListingTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
302
345
  buildFulfillmentTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
303
346
  buildCancellationTypedData(params: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
@@ -607,6 +650,10 @@ interface MakeOfferIntentParams {
607
650
  price: string;
608
651
  endTime: number;
609
652
  salt?: string;
653
+ /** Caller hint — "ERC1155" creates the bid on the ERC-1155 marketplace. */
654
+ tokenStandard?: string;
655
+ /** ERC-1155 only: number of editions requested. Defaults to 1. */
656
+ quantity?: string;
610
657
  }
611
658
  interface FulfillOrderIntentParams {
612
659
  fulfiller: string;
@@ -1149,6 +1196,99 @@ declare class DropService {
1149
1196
  createDrop(account: AccountInterface, params: CreateDropParams): Promise<TxResult>;
1150
1197
  }
1151
1198
 
1199
+ interface DeployCollectionParams {
1200
+ /** Human-readable collection name (e.g. "My IP Collection") */
1201
+ name: string;
1202
+ /** Short ticker symbol (e.g. "MIP") */
1203
+ symbol: string;
1204
+ /**
1205
+ * Collection-level metadata URI (e.g. "ipfs://Qm…/collection.json").
1206
+ * Should point to a JSON containing `name`, `description`, `image`, and `external_link`.
1207
+ * Stored on-chain at deploy time. Pass an empty string if not available.
1208
+ */
1209
+ baseUri: string;
1210
+ }
1211
+ interface MintItemParams {
1212
+ /** ERC-1155 collection contract address */
1213
+ collection: string;
1214
+ /** Recipient wallet address */
1215
+ to: string;
1216
+ /** Token ID (u256 — use a numeric string or bigint) */
1217
+ tokenId: bigint | string;
1218
+ /** Number of copies to mint */
1219
+ value: bigint | string;
1220
+ /**
1221
+ * Metadata URI — must start with `ipfs://` or `ar://`.
1222
+ * Immutable: validated and stored on first mint of each token_id.
1223
+ */
1224
+ tokenUri: string;
1225
+ }
1226
+ interface BatchMintItemParams {
1227
+ /** ERC-1155 collection contract address */
1228
+ collection: string;
1229
+ /** Recipient wallet address */
1230
+ to: string;
1231
+ items: Array<{
1232
+ tokenId: bigint | string;
1233
+ value: bigint | string;
1234
+ tokenUri: string;
1235
+ }>;
1236
+ }
1237
+ declare class ERC1155CollectionService {
1238
+ private readonly factoryAddress;
1239
+ constructor(config: ResolvedConfig);
1240
+ private _factory;
1241
+ private _collection;
1242
+ /**
1243
+ * Deploy a new ERC-1155 IP collection.
1244
+ * Caller becomes the collection owner and can mint items.
1245
+ * Returns the transaction hash; the deployed collection address is emitted
1246
+ * in the `CollectionDeployed` event of the factory.
1247
+ */
1248
+ deployCollection(account: AccountInterface, params: DeployCollectionParams): Promise<TxResult>;
1249
+ /**
1250
+ * Mint a single token into an existing ERC-1155 collection.
1251
+ * Caller must be the collection owner.
1252
+ * The `tokenUri` is immutable — validated and stored on the first mint only.
1253
+ */
1254
+ mintItem(account: AccountInterface, params: MintItemParams): Promise<TxResult>;
1255
+ /**
1256
+ * Batch-mint multiple token IDs into an existing ERC-1155 collection.
1257
+ * All items go to the same `to` address.
1258
+ * Caller must be the collection owner.
1259
+ */
1260
+ batchMintItem(account: AccountInterface, params: BatchMintItemParams): Promise<TxResult>;
1261
+ /**
1262
+ * Set the default ERC-2981 royalty for the entire collection.
1263
+ * `feeNumerator` is out of 10 000 (e.g. 500 = 5%).
1264
+ * Caller must be the collection owner.
1265
+ */
1266
+ setDefaultRoyalty(account: AccountInterface, params: {
1267
+ collection: string;
1268
+ receiver: string;
1269
+ feeNumerator: number;
1270
+ }): Promise<TxResult>;
1271
+ /**
1272
+ * Set a per-token ERC-2981 royalty override.
1273
+ * `feeNumerator` is out of 10 000. Caller must be the collection owner.
1274
+ */
1275
+ setTokenRoyalty(account: AccountInterface, params: {
1276
+ collection: string;
1277
+ tokenId: bigint | string;
1278
+ receiver: string;
1279
+ feeNumerator: number;
1280
+ }): Promise<TxResult>;
1281
+ /**
1282
+ * Approve the Medialane1155 marketplace (or any operator) to transfer
1283
+ * all tokens on behalf of `account`. Required before listing.
1284
+ */
1285
+ setApprovalForAll(account: AccountInterface, params: {
1286
+ collection: string;
1287
+ operator: string;
1288
+ approved: boolean;
1289
+ }): Promise<TxResult>;
1290
+ }
1291
+
1152
1292
  declare class MedialaneClient {
1153
1293
  /** On-chain marketplace interactions for ERC-721 assets (create listing, fulfill order, etc.) */
1154
1294
  readonly marketplace: MarketplaceModule;
@@ -1162,6 +1302,7 @@ declare class MedialaneClient {
1162
1302
  readonly services: {
1163
1303
  readonly pop: PopService;
1164
1304
  readonly drop: DropService;
1305
+ readonly erc1155Collection: ERC1155CollectionService;
1165
1306
  };
1166
1307
  private readonly config;
1167
1308
  constructor(rawConfig?: MedialaneConfig);
@@ -2138,46 +2279,61 @@ declare const CollectionRegistryABI: readonly [{
2138
2279
  }];
2139
2280
  declare const Medialane1155ABI: readonly [{
2140
2281
  readonly type: "impl";
2141
- readonly name: "UpgradeableImpl";
2142
- readonly interface_name: "openzeppelin_upgrades::interface::IUpgradeable";
2282
+ readonly name: "Medialane1155V2Impl";
2283
+ readonly interface_name: "medialane_erc1155::core::interface::IMedialane1155V2";
2143
2284
  }, {
2144
- readonly type: "interface";
2145
- readonly name: "openzeppelin_upgrades::interface::IUpgradeable";
2146
- readonly items: readonly [{
2147
- readonly type: "function";
2148
- readonly name: "upgrade";
2149
- readonly inputs: readonly [{
2150
- readonly name: "new_class_hash";
2151
- readonly type: "core::starknet::class_hash::ClassHash";
2152
- }];
2153
- readonly outputs: readonly [];
2154
- readonly state_mutability: "external";
2285
+ readonly type: "struct";
2286
+ readonly name: "medialane_erc1155::core::types::OfferItem";
2287
+ readonly members: readonly [{
2288
+ readonly name: "item_type";
2289
+ readonly type: "core::felt252";
2290
+ }, {
2291
+ readonly name: "token";
2292
+ readonly type: "core::starknet::contract_address::ContractAddress";
2293
+ }, {
2294
+ readonly name: "identifier_or_criteria";
2295
+ readonly type: "core::felt252";
2296
+ }, {
2297
+ readonly name: "start_amount";
2298
+ readonly type: "core::felt252";
2299
+ }, {
2300
+ readonly name: "end_amount";
2301
+ readonly type: "core::felt252";
2155
2302
  }];
2156
- }, {
2157
- readonly type: "impl";
2158
- readonly name: "Medialane1155Impl";
2159
- readonly interface_name: "medialane_erc1155::core::interface::IMedialane1155";
2160
2303
  }, {
2161
2304
  readonly type: "struct";
2162
- readonly name: "medialane_erc1155::core::types::OrderParameters";
2305
+ readonly name: "medialane_erc1155::core::types::ConsiderationItem";
2163
2306
  readonly members: readonly [{
2164
- readonly name: "offerer";
2165
- readonly type: "core::starknet::contract_address::ContractAddress";
2307
+ readonly name: "item_type";
2308
+ readonly type: "core::felt252";
2166
2309
  }, {
2167
- readonly name: "nft_contract";
2310
+ readonly name: "token";
2168
2311
  readonly type: "core::starknet::contract_address::ContractAddress";
2169
2312
  }, {
2170
- readonly name: "token_id";
2313
+ readonly name: "identifier_or_criteria";
2171
2314
  readonly type: "core::felt252";
2172
2315
  }, {
2173
- readonly name: "amount";
2316
+ readonly name: "start_amount";
2174
2317
  readonly type: "core::felt252";
2175
2318
  }, {
2176
- readonly name: "payment_token";
2319
+ readonly name: "end_amount";
2320
+ readonly type: "core::felt252";
2321
+ }, {
2322
+ readonly name: "recipient";
2323
+ readonly type: "core::starknet::contract_address::ContractAddress";
2324
+ }];
2325
+ }, {
2326
+ readonly type: "struct";
2327
+ readonly name: "medialane_erc1155::core::types::OrderParameters";
2328
+ readonly members: readonly [{
2329
+ readonly name: "offerer";
2177
2330
  readonly type: "core::starknet::contract_address::ContractAddress";
2178
2331
  }, {
2179
- readonly name: "price_per_unit";
2180
- readonly type: "core::felt252";
2332
+ readonly name: "offer";
2333
+ readonly type: "medialane_erc1155::core::types::OfferItem";
2334
+ }, {
2335
+ readonly name: "consideration";
2336
+ readonly type: "medialane_erc1155::core::types::ConsiderationItem";
2181
2337
  }, {
2182
2338
  readonly name: "start_time";
2183
2339
  readonly type: "core::felt252";
@@ -2210,6 +2366,9 @@ declare const Medialane1155ABI: readonly [{
2210
2366
  }, {
2211
2367
  readonly name: "fulfiller";
2212
2368
  readonly type: "core::starknet::contract_address::ContractAddress";
2369
+ }, {
2370
+ readonly name: "quantity";
2371
+ readonly type: "core::felt252";
2213
2372
  }, {
2214
2373
  readonly name: "nonce";
2215
2374
  readonly type: "core::felt252";
@@ -2263,16 +2422,6 @@ declare const Medialane1155ABI: readonly [{
2263
2422
  readonly name: "Cancelled";
2264
2423
  readonly type: "()";
2265
2424
  }];
2266
- }, {
2267
- readonly type: "enum";
2268
- readonly name: "core::option::Option::<core::starknet::contract_address::ContractAddress>";
2269
- readonly variants: readonly [{
2270
- readonly name: "Some";
2271
- readonly type: "core::starknet::contract_address::ContractAddress";
2272
- }, {
2273
- readonly name: "None";
2274
- readonly type: "()";
2275
- }];
2276
2425
  }, {
2277
2426
  readonly type: "struct";
2278
2427
  readonly name: "medialane_erc1155::core::types::OrderDetails";
@@ -2280,20 +2429,11 @@ declare const Medialane1155ABI: readonly [{
2280
2429
  readonly name: "offerer";
2281
2430
  readonly type: "core::starknet::contract_address::ContractAddress";
2282
2431
  }, {
2283
- readonly name: "nft_contract";
2284
- readonly type: "core::starknet::contract_address::ContractAddress";
2285
- }, {
2286
- readonly name: "token_id";
2287
- readonly type: "core::felt252";
2288
- }, {
2289
- readonly name: "amount";
2290
- readonly type: "core::felt252";
2291
- }, {
2292
- readonly name: "payment_token";
2293
- readonly type: "core::starknet::contract_address::ContractAddress";
2432
+ readonly name: "offer";
2433
+ readonly type: "medialane_erc1155::core::types::OfferItem";
2294
2434
  }, {
2295
- readonly name: "price_per_unit";
2296
- readonly type: "core::felt252";
2435
+ readonly name: "consideration";
2436
+ readonly type: "medialane_erc1155::core::types::ConsiderationItem";
2297
2437
  }, {
2298
2438
  readonly name: "start_time";
2299
2439
  readonly type: "core::integer::u64";
@@ -2304,12 +2444,15 @@ declare const Medialane1155ABI: readonly [{
2304
2444
  readonly name: "order_status";
2305
2445
  readonly type: "medialane_erc1155::core::types::OrderStatus";
2306
2446
  }, {
2307
- readonly name: "fulfiller";
2308
- readonly type: "core::option::Option::<core::starknet::contract_address::ContractAddress>";
2447
+ readonly name: "total_amount";
2448
+ readonly type: "core::felt252";
2449
+ }, {
2450
+ readonly name: "remaining_amount";
2451
+ readonly type: "core::felt252";
2309
2452
  }];
2310
2453
  }, {
2311
2454
  readonly type: "interface";
2312
- readonly name: "medialane_erc1155::core::interface::IMedialane1155";
2455
+ readonly name: "medialane_erc1155::core::interface::IMedialane1155V2";
2313
2456
  readonly items: readonly [{
2314
2457
  readonly type: "function";
2315
2458
  readonly name: "register_order";
@@ -2364,7 +2507,7 @@ declare const Medialane1155ABI: readonly [{
2364
2507
  readonly state_mutability: "view";
2365
2508
  }, {
2366
2509
  readonly type: "function";
2367
- readonly name: "get_native_token";
2510
+ readonly name: "get_native_token_address";
2368
2511
  readonly inputs: readonly [];
2369
2512
  readonly outputs: readonly [{
2370
2513
  readonly type: "core::starknet::contract_address::ContractAddress";
@@ -2390,111 +2533,10 @@ declare const Medialane1155ABI: readonly [{
2390
2533
  }];
2391
2534
  readonly state_mutability: "view";
2392
2535
  }];
2393
- }, {
2394
- readonly type: "impl";
2395
- readonly name: "SRC5Impl";
2396
- readonly interface_name: "openzeppelin_introspection::interface::ISRC5";
2397
- }, {
2398
- readonly type: "enum";
2399
- readonly name: "core::bool";
2400
- readonly variants: readonly [{
2401
- readonly name: "False";
2402
- readonly type: "()";
2403
- }, {
2404
- readonly name: "True";
2405
- readonly type: "()";
2406
- }];
2407
- }, {
2408
- readonly type: "interface";
2409
- readonly name: "openzeppelin_introspection::interface::ISRC5";
2410
- readonly items: readonly [{
2411
- readonly type: "function";
2412
- readonly name: "supports_interface";
2413
- readonly inputs: readonly [{
2414
- readonly name: "interface_id";
2415
- readonly type: "core::felt252";
2416
- }];
2417
- readonly outputs: readonly [{
2418
- readonly type: "core::bool";
2419
- }];
2420
- readonly state_mutability: "view";
2421
- }];
2422
- }, {
2423
- readonly type: "impl";
2424
- readonly name: "AccessControlImpl";
2425
- readonly interface_name: "openzeppelin_access::accesscontrol::interface::IAccessControl";
2426
- }, {
2427
- readonly type: "interface";
2428
- readonly name: "openzeppelin_access::accesscontrol::interface::IAccessControl";
2429
- readonly items: readonly [{
2430
- readonly type: "function";
2431
- readonly name: "has_role";
2432
- readonly inputs: readonly [{
2433
- readonly name: "role";
2434
- readonly type: "core::felt252";
2435
- }, {
2436
- readonly name: "account";
2437
- readonly type: "core::starknet::contract_address::ContractAddress";
2438
- }];
2439
- readonly outputs: readonly [{
2440
- readonly type: "core::bool";
2441
- }];
2442
- readonly state_mutability: "view";
2443
- }, {
2444
- readonly type: "function";
2445
- readonly name: "get_role_admin";
2446
- readonly inputs: readonly [{
2447
- readonly name: "role";
2448
- readonly type: "core::felt252";
2449
- }];
2450
- readonly outputs: readonly [{
2451
- readonly type: "core::felt252";
2452
- }];
2453
- readonly state_mutability: "view";
2454
- }, {
2455
- readonly type: "function";
2456
- readonly name: "grant_role";
2457
- readonly inputs: readonly [{
2458
- readonly name: "role";
2459
- readonly type: "core::felt252";
2460
- }, {
2461
- readonly name: "account";
2462
- readonly type: "core::starknet::contract_address::ContractAddress";
2463
- }];
2464
- readonly outputs: readonly [];
2465
- readonly state_mutability: "external";
2466
- }, {
2467
- readonly type: "function";
2468
- readonly name: "revoke_role";
2469
- readonly inputs: readonly [{
2470
- readonly name: "role";
2471
- readonly type: "core::felt252";
2472
- }, {
2473
- readonly name: "account";
2474
- readonly type: "core::starknet::contract_address::ContractAddress";
2475
- }];
2476
- readonly outputs: readonly [];
2477
- readonly state_mutability: "external";
2478
- }, {
2479
- readonly type: "function";
2480
- readonly name: "renounce_role";
2481
- readonly inputs: readonly [{
2482
- readonly name: "role";
2483
- readonly type: "core::felt252";
2484
- }, {
2485
- readonly name: "account";
2486
- readonly type: "core::starknet::contract_address::ContractAddress";
2487
- }];
2488
- readonly outputs: readonly [];
2489
- readonly state_mutability: "external";
2490
- }];
2491
2536
  }, {
2492
2537
  readonly type: "constructor";
2493
2538
  readonly name: "constructor";
2494
2539
  readonly inputs: readonly [{
2495
- readonly name: "manager";
2496
- readonly type: "core::starknet::contract_address::ContractAddress";
2497
- }, {
2498
2540
  readonly name: "native_token_address";
2499
2541
  readonly type: "core::starknet::contract_address::ContractAddress";
2500
2542
  }];
@@ -2510,26 +2552,6 @@ declare const Medialane1155ABI: readonly [{
2510
2552
  readonly name: "offerer";
2511
2553
  readonly type: "core::starknet::contract_address::ContractAddress";
2512
2554
  readonly kind: "key";
2513
- }, {
2514
- readonly name: "nft_contract";
2515
- readonly type: "core::starknet::contract_address::ContractAddress";
2516
- readonly kind: "data";
2517
- }, {
2518
- readonly name: "token_id";
2519
- readonly type: "core::felt252";
2520
- readonly kind: "data";
2521
- }, {
2522
- readonly name: "amount";
2523
- readonly type: "core::felt252";
2524
- readonly kind: "data";
2525
- }, {
2526
- readonly name: "price_per_unit";
2527
- readonly type: "core::felt252";
2528
- readonly kind: "data";
2529
- }, {
2530
- readonly name: "payment_token";
2531
- readonly type: "core::starknet::contract_address::ContractAddress";
2532
- readonly kind: "data";
2533
2555
  }];
2534
2556
  }, {
2535
2557
  readonly type: "struct";
@@ -2557,6 +2579,18 @@ declare const Medialane1155ABI: readonly [{
2557
2579
  readonly name: "fulfiller";
2558
2580
  readonly type: "core::starknet::contract_address::ContractAddress";
2559
2581
  readonly kind: "key";
2582
+ }, {
2583
+ readonly name: "quantity";
2584
+ readonly type: "core::felt252";
2585
+ readonly kind: "data";
2586
+ }, {
2587
+ readonly name: "remaining_amount";
2588
+ readonly type: "core::felt252";
2589
+ readonly kind: "data";
2590
+ }, {
2591
+ readonly name: "sale_amount";
2592
+ readonly type: "core::integer::u256";
2593
+ readonly kind: "data";
2560
2594
  }, {
2561
2595
  readonly name: "royalty_receiver";
2562
2596
  readonly type: "core::starknet::contract_address::ContractAddress";
@@ -2586,123 +2620,7 @@ declare const Medialane1155ABI: readonly [{
2586
2620
  readonly variants: readonly [];
2587
2621
  }, {
2588
2622
  readonly type: "event";
2589
- readonly name: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded";
2590
- readonly kind: "struct";
2591
- readonly members: readonly [{
2592
- readonly name: "class_hash";
2593
- readonly type: "core::starknet::class_hash::ClassHash";
2594
- readonly kind: "data";
2595
- }];
2596
- }, {
2597
- readonly type: "event";
2598
- readonly name: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event";
2599
- readonly kind: "enum";
2600
- readonly variants: readonly [{
2601
- readonly name: "Upgraded";
2602
- readonly type: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded";
2603
- readonly kind: "nested";
2604
- }];
2605
- }, {
2606
- readonly type: "event";
2607
- readonly name: "openzeppelin_introspection::src5::SRC5Component::Event";
2608
- readonly kind: "enum";
2609
- readonly variants: readonly [];
2610
- }, {
2611
- readonly type: "event";
2612
- readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted";
2613
- readonly kind: "struct";
2614
- readonly members: readonly [{
2615
- readonly name: "role";
2616
- readonly type: "core::felt252";
2617
- readonly kind: "data";
2618
- }, {
2619
- readonly name: "account";
2620
- readonly type: "core::starknet::contract_address::ContractAddress";
2621
- readonly kind: "data";
2622
- }, {
2623
- readonly name: "sender";
2624
- readonly type: "core::starknet::contract_address::ContractAddress";
2625
- readonly kind: "data";
2626
- }];
2627
- }, {
2628
- readonly type: "event";
2629
- readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay";
2630
- readonly kind: "struct";
2631
- readonly members: readonly [{
2632
- readonly name: "role";
2633
- readonly type: "core::felt252";
2634
- readonly kind: "data";
2635
- }, {
2636
- readonly name: "account";
2637
- readonly type: "core::starknet::contract_address::ContractAddress";
2638
- readonly kind: "data";
2639
- }, {
2640
- readonly name: "sender";
2641
- readonly type: "core::starknet::contract_address::ContractAddress";
2642
- readonly kind: "data";
2643
- }, {
2644
- readonly name: "delay";
2645
- readonly type: "core::integer::u64";
2646
- readonly kind: "data";
2647
- }];
2648
- }, {
2649
- readonly type: "event";
2650
- readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked";
2651
- readonly kind: "struct";
2652
- readonly members: readonly [{
2653
- readonly name: "role";
2654
- readonly type: "core::felt252";
2655
- readonly kind: "data";
2656
- }, {
2657
- readonly name: "account";
2658
- readonly type: "core::starknet::contract_address::ContractAddress";
2659
- readonly kind: "data";
2660
- }, {
2661
- readonly name: "sender";
2662
- readonly type: "core::starknet::contract_address::ContractAddress";
2663
- readonly kind: "data";
2664
- }];
2665
- }, {
2666
- readonly type: "event";
2667
- readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged";
2668
- readonly kind: "struct";
2669
- readonly members: readonly [{
2670
- readonly name: "role";
2671
- readonly type: "core::felt252";
2672
- readonly kind: "data";
2673
- }, {
2674
- readonly name: "previous_admin_role";
2675
- readonly type: "core::felt252";
2676
- readonly kind: "data";
2677
- }, {
2678
- readonly name: "new_admin_role";
2679
- readonly type: "core::felt252";
2680
- readonly kind: "data";
2681
- }];
2682
- }, {
2683
- readonly type: "event";
2684
- readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event";
2685
- readonly kind: "enum";
2686
- readonly variants: readonly [{
2687
- readonly name: "RoleGranted";
2688
- readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted";
2689
- readonly kind: "nested";
2690
- }, {
2691
- readonly name: "RoleGrantedWithDelay";
2692
- readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay";
2693
- readonly kind: "nested";
2694
- }, {
2695
- readonly name: "RoleRevoked";
2696
- readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked";
2697
- readonly kind: "nested";
2698
- }, {
2699
- readonly name: "RoleAdminChanged";
2700
- readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged";
2701
- readonly kind: "nested";
2702
- }];
2703
- }, {
2704
- readonly type: "event";
2705
- readonly name: "medialane_erc1155::core::medialane::Medialane1155::Event";
2623
+ readonly name: "medialane_erc1155::core::medialane::Medialane1155V2::Event";
2706
2624
  readonly kind: "enum";
2707
2625
  readonly variants: readonly [{
2708
2626
  readonly name: "OrderCreated";
@@ -2720,18 +2638,6 @@ declare const Medialane1155ABI: readonly [{
2720
2638
  readonly name: "NoncesEvent";
2721
2639
  readonly type: "openzeppelin_utils::cryptography::nonces::NoncesComponent::Event";
2722
2640
  readonly kind: "flat";
2723
- }, {
2724
- readonly name: "UpgradeableEvent";
2725
- readonly type: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event";
2726
- readonly kind: "flat";
2727
- }, {
2728
- readonly name: "SRC5Event";
2729
- readonly type: "openzeppelin_introspection::src5::SRC5Component::Event";
2730
- readonly kind: "flat";
2731
- }, {
2732
- readonly name: "AccessControlEvent";
2733
- readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event";
2734
- readonly kind: "flat";
2735
2641
  }];
2736
2642
  }];
2737
2643
  declare const IPCollection1155FactoryABI: readonly [{
@@ -2986,99 +2892,6 @@ declare const IPCollection1155ABI: readonly [{
2986
2892
  readonly state_mutability: "external";
2987
2893
  }];
2988
2894
 
2989
- interface DeployCollectionParams {
2990
- /** Human-readable collection name (e.g. "My IP Collection") */
2991
- name: string;
2992
- /** Short ticker symbol (e.g. "MIP") */
2993
- symbol: string;
2994
- /**
2995
- * Collection-level metadata URI (e.g. "ipfs://Qm…/collection.json").
2996
- * Should point to a JSON containing `name`, `description`, `image`, and `external_link`.
2997
- * Stored on-chain at deploy time. Pass an empty string if not available.
2998
- */
2999
- baseUri: string;
3000
- }
3001
- interface MintItemParams {
3002
- /** ERC-1155 collection contract address */
3003
- collection: string;
3004
- /** Recipient wallet address */
3005
- to: string;
3006
- /** Token ID (u256 — use a numeric string or bigint) */
3007
- tokenId: bigint | string;
3008
- /** Number of copies to mint */
3009
- value: bigint | string;
3010
- /**
3011
- * Metadata URI — must start with `ipfs://` or `ar://`.
3012
- * Immutable: validated and stored on first mint of each token_id.
3013
- */
3014
- tokenUri: string;
3015
- }
3016
- interface BatchMintItemParams {
3017
- /** ERC-1155 collection contract address */
3018
- collection: string;
3019
- /** Recipient wallet address */
3020
- to: string;
3021
- items: Array<{
3022
- tokenId: bigint | string;
3023
- value: bigint | string;
3024
- tokenUri: string;
3025
- }>;
3026
- }
3027
- declare class ERC1155CollectionService {
3028
- private readonly factoryAddress;
3029
- constructor(config: ResolvedConfig);
3030
- private _factory;
3031
- private _collection;
3032
- /**
3033
- * Deploy a new ERC-1155 IP collection.
3034
- * Caller becomes the collection owner and can mint items.
3035
- * Returns the transaction hash; the deployed collection address is emitted
3036
- * in the `CollectionDeployed` event of the factory.
3037
- */
3038
- deployCollection(account: AccountInterface, params: DeployCollectionParams): Promise<TxResult>;
3039
- /**
3040
- * Mint a single token into an existing ERC-1155 collection.
3041
- * Caller must be the collection owner.
3042
- * The `tokenUri` is immutable — validated and stored on the first mint only.
3043
- */
3044
- mintItem(account: AccountInterface, params: MintItemParams): Promise<TxResult>;
3045
- /**
3046
- * Batch-mint multiple token IDs into an existing ERC-1155 collection.
3047
- * All items go to the same `to` address.
3048
- * Caller must be the collection owner.
3049
- */
3050
- batchMintItem(account: AccountInterface, params: BatchMintItemParams): Promise<TxResult>;
3051
- /**
3052
- * Set the default ERC-2981 royalty for the entire collection.
3053
- * `feeNumerator` is out of 10 000 (e.g. 500 = 5%).
3054
- * Caller must be the collection owner.
3055
- */
3056
- setDefaultRoyalty(account: AccountInterface, params: {
3057
- collection: string;
3058
- receiver: string;
3059
- feeNumerator: number;
3060
- }): Promise<TxResult>;
3061
- /**
3062
- * Set a per-token ERC-2981 royalty override.
3063
- * `feeNumerator` is out of 10 000. Caller must be the collection owner.
3064
- */
3065
- setTokenRoyalty(account: AccountInterface, params: {
3066
- collection: string;
3067
- tokenId: bigint | string;
3068
- receiver: string;
3069
- feeNumerator: number;
3070
- }): Promise<TxResult>;
3071
- /**
3072
- * Approve the Medialane1155 marketplace (or any operator) to transfer
3073
- * all tokens on behalf of `account`. Required before listing.
3074
- */
3075
- setApprovalForAll(account: AccountInterface, params: {
3076
- collection: string;
3077
- operator: string;
3078
- approved: boolean;
3079
- }): Promise<TxResult>;
3080
- }
3081
-
3082
2895
  /**
3083
2896
  * Normalize a Starknet address to a 0x-prefixed 64-character hex string.
3084
2897
  */
@@ -3125,6 +2938,18 @@ declare function stringifyBigInts(obj: unknown): unknown;
3125
2938
  */
3126
2939
  declare function u256ToBigInt(low: string, high: string): bigint;
3127
2940
 
2941
+ /**
2942
+ * Serialize a string as Cairo ByteArray calldata felts using UTF-8 encoding.
2943
+ *
2944
+ * starknet.js byteArray.byteArrayFromString calls encodeShortString internally
2945
+ * which rejects non-ASCII characters (accented letters, CJK, Arabic, etc.).
2946
+ * This implementation packs raw UTF-8 bytes into 31-byte chunks as big-endian
2947
+ * felts, matching the Cairo ByteArray struct layout.
2948
+ *
2949
+ * Return layout: [chunks_len, ...chunk_felts, pending_word, pending_word_len]
2950
+ */
2951
+ declare function encodeByteArray(str: string): string[];
2952
+
3128
2953
  /**
3129
2954
  * Build SNIP-12 typed data for signing an OrderParameters struct.
3130
2955
  * Uses TypedDataRevision.ACTIVE and ContractAddress / shortstring SNIP-12 types.
@@ -3142,9 +2967,10 @@ declare function buildCancellationTypedData(message: Record<string, unknown>, ch
3142
2967
  /**
3143
2968
  * Build SNIP-12 typed data for signing an ERC-1155 OrderParameters struct.
3144
2969
  *
3145
- * Differs from the ERC-721 Medialane signing:
3146
- * - Domain name is "Medialane1155"
3147
- * - OrderParameters is flat (no nested OfferItem / ConsiderationItem structs)
2970
+ * Uses the ERC-1155 V2 marketplace shape:
2971
+ * - Domain name is "Medialane"
2972
+ * - Domain version is "2"
2973
+ * - OrderParameters contains nested OfferItem and ConsiderationItem structs
3148
2974
  */
3149
2975
  declare function build1155OrderTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
3150
2976
  /**
@@ -3156,4 +2982,4 @@ declare function build1155FulfillmentTypedData(message: Record<string, unknown>,
3156
2982
  */
3157
2983
  declare function build1155CancellationTypedData(message: Record<string, unknown>, chainId: constants.StarknetChainId): TypedData;
3158
2984
 
3159
- export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, 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 ApiWebhookCreated, type ApiWebhookEndpoint, type AutoRemixOfferParams, type BatchMintItemParams, COLLECTION_1155_CLASS_HASH_MAINNET, COLLECTION_1155_CONTRACT_MAINNET, COLLECTION_721_CONTRACT_MAINNET, COLLECTION_CONTRACT_MAINNET, type CancelOrder1155Params, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type ClaimConditions, CollectionRegistryABI, type CollectionSort, type CollectionSource, 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, ERC1155_COLLECTION_CLASS_HASH_MAINNET, ERC1155_FACTORY_CONTRACT_MAINNET, type FulfillOrder1155Params, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, INDEXER_START_BLOCK_MAINNET, IPCollection1155ABI, IPCollection1155FactoryABI, IPMarketplaceABI, type IPType, 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, MARKETPLACE_CLASS_HASH_MAINNET, MARKETPLACE_CONTRACT_MAINNET, MARKETPLACE_START_BLOCK_MAINNET, 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 OrderParameters, type OrderStatus, POPCollectionABI, POPFactoryABI, POP_COLLECTION_CLASS_HASH_MAINNET, POP_FACTORY_CONTRACT_MAINNET, type PopBatchEligibilityItem, type PopClaimStatus, type PopEventType, PopService, type RemixOfferStatus, type ResolvedConfig, type RetryOptions, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedToken, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, build1155CancellationTypedData, build1155FulfillmentTypedData, build1155OrderTypedData, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, formatAmount, getListableTokens, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };
2985
+ export { type ActivityType, type ApiActivitiesQuery, type ApiActivity, type ApiActivityPrice, type ApiAdminCollectionClaim, ApiClient, type ApiCollection, type ApiCollectionClaim, type ApiCollectionProfile, 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 ApiWebhookCreated, type ApiWebhookEndpoint, type AutoRemixOfferParams, type BatchMintItemParams, COLLECTION_1155_CLASS_HASH_MAINNET, COLLECTION_1155_CONTRACT_MAINNET, COLLECTION_721_CONTRACT_MAINNET, COLLECTION_CONTRACT_MAINNET, type CancelOrder1155Params, type CancelOrderIntentParams, type CancelOrderParams, type Cancelation, type CartItem, type ClaimConditions, CollectionRegistryABI, type CollectionSort, type CollectionSource, 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, ERC1155_COLLECTION_CLASS_HASH_MAINNET, ERC1155_FACTORY_CONTRACT_MAINNET, type FulfillOrder1155Params, type FulfillOrderIntentParams, type FulfillOrderParams, type Fulfillment, INDEXER_START_BLOCK_MAINNET, IPCollection1155ABI, IPCollection1155FactoryABI, IPMarketplaceABI, type IPType, 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, MARKETPLACE_CLASS_HASH_MAINNET, MARKETPLACE_CONTRACT_MAINNET, MARKETPLACE_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, type PopBatchEligibilityItem, type PopClaimStatus, type PopEventType, PopService, type RemixOfferStatus, type ResolvedConfig, type RetryOptions, SUPPORTED_NETWORKS, SUPPORTED_TOKENS, type SortOrder, type SupportedToken, type SupportedTokenSymbol, type TenantPlan, type TxResult, type WebhookEventType, type WebhookStatus, build1155CancellationTypedData, build1155FulfillmentTypedData, build1155OrderTypedData, buildCancellationTypedData, buildFulfillmentTypedData, buildOrderTypedData, encodeByteArray, formatAmount, getListableTokens, getTokenByAddress, getTokenBySymbol, normalizeAddress, parseAmount, resolveConfig, shortenAddress, stringifyBigInts, u256ToBigInt };