clanker-sdk 4.0.9 → 4.0.11

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/cli/cli.js CHANGED
@@ -34,7 +34,7 @@ var init_validation_schema = __esm({
34
34
  isHexRefinement = (val) => isHex(val);
35
35
  isAddressRefinement = (val) => isAddress(val);
36
36
  clankerConfigSchema = z.object({
37
- publicClient: z.any({ message: "Public client is required" }),
37
+ publicClient: z.any().optional(),
38
38
  wallet: z.any().optional()
39
39
  });
40
40
  tokenConfigSchema = z.object({
@@ -883,13 +883,14 @@ var init_Clanker = __esm({
883
883
 
884
884
  // src/constants.ts
885
885
  import { base, baseSepolia } from "viem/chains";
886
- var CLANKER_FACTORY_V3_1, CLANKER_FACTORY_V4, WETH_ADDRESS, DEGEN_ADDRESS, NATIVE_ADDRESS, CLANKER_ADDRESS, ANON_ADDRESS, HIGHER_ADDRESS, CB_BTC_ADDRESS, A0X_ADDRESS, SUPPORTED_CHAINS, DEFAULT_SUPPLY, CLANKER_VAULT_ADDRESS, CLANKER_AIRDROP_ADDRESS, CLANKER_DEVBUY_ADDRESS, CLANKER_MEV_MODULE_ADDRESS, CLANKER_HOOK_STATIC_FEE_ADDRESS, CLANKER_HOOK_DYNAMIC_FEE_ADDRESS;
886
+ var CLANKER_FACTORY_V3_1, CLANKER_FACTORY_V4, CLANKER_LOCKER_V4, WETH_ADDRESS, DEGEN_ADDRESS, NATIVE_ADDRESS, CLANKER_ADDRESS, ANON_ADDRESS, HIGHER_ADDRESS, CB_BTC_ADDRESS, A0X_ADDRESS, SUPPORTED_CHAINS, DEFAULT_SUPPLY, CLANKER_VAULT_ADDRESS, CLANKER_AIRDROP_ADDRESS, CLANKER_DEVBUY_ADDRESS, CLANKER_MEV_MODULE_ADDRESS, CLANKER_HOOK_STATIC_FEE_ADDRESS, CLANKER_HOOK_DYNAMIC_FEE_ADDRESS;
887
887
  var init_constants = __esm({
888
888
  "src/constants.ts"() {
889
889
  "use strict";
890
890
  init_esm_shims();
891
891
  CLANKER_FACTORY_V3_1 = "0x2A787b2362021cC3eEa3C24C4748a6cD5B687382";
892
- CLANKER_FACTORY_V4 = "0xeBA5bCE4a0e62e8D374fa46c6914D8d8c70619f6";
892
+ CLANKER_FACTORY_V4 = "0x8608Ed9A6C2897678501FA01c47f9CC248457F94";
893
+ CLANKER_LOCKER_V4 = "0x057DA2d99D57FDc9B0316Fa1eC073E05d6f4c063";
893
894
  WETH_ADDRESS = "0x4200000000000000000000000000000000000006";
894
895
  DEGEN_ADDRESS = "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed";
895
896
  NATIVE_ADDRESS = "0x20DD04c17AFD5c9a8b3f2cdacaa8Ee7907385BEF";
@@ -900,12 +901,12 @@ var init_constants = __esm({
900
901
  A0X_ADDRESS = "0x820C5F0fB255a1D18fd0eBB0F1CCefbC4D546dA7";
901
902
  SUPPORTED_CHAINS = [base.id, baseSepolia.id];
902
903
  DEFAULT_SUPPLY = 100000000000000000000000000000n;
903
- CLANKER_VAULT_ADDRESS = "0xfed01720E35FA0977254414B7245f9b78D87c76b";
904
- CLANKER_AIRDROP_ADDRESS = "0x21a7499803E679DBb444e06bC77E2c107e94961F";
905
- CLANKER_DEVBUY_ADDRESS = "0x685DfF86292744500E624c629E91E20dd68D9908";
906
- CLANKER_MEV_MODULE_ADDRESS = "0x9037603A27aCf7c70A2A531B60cCc48eCD154fB3";
907
- CLANKER_HOOK_STATIC_FEE_ADDRESS = "0x3227d5AA27FC55AB4d4f8A9733959B265aBDa8cC";
908
- CLANKER_HOOK_DYNAMIC_FEE_ADDRESS = "0x03c8FDe0d02D1f42B73127D9EC18A5a48853a8cC";
904
+ CLANKER_VAULT_ADDRESS = "0xf3A75c2F8a4E1df00a371620a5F712468A3a5139";
905
+ CLANKER_AIRDROP_ADDRESS = "0xF6EeDF44454247A9A5E59779d099b158c5166303";
906
+ CLANKER_DEVBUY_ADDRESS = "0xf03Fd1eA5b2452D0F0F124790C2351a77a09Bdf8";
907
+ CLANKER_MEV_MODULE_ADDRESS = "0xeFB8da7f8724507Fe7d57824CF58695f336df1be";
908
+ CLANKER_HOOK_STATIC_FEE_ADDRESS = "0x2b1D1C231bC4A759C3048D0e196057a2F9e6E8CC";
909
+ CLANKER_HOOK_DYNAMIC_FEE_ADDRESS = "0x7665C5C018bE1B27E910F8068328692B7d69E8cC";
909
910
  }
910
911
  });
911
912
 
@@ -2244,921 +2245,438 @@ var init_Clanker6 = __esm({
2244
2245
  init_esm_shims();
2245
2246
  Clanker_v4_abi = [
2246
2247
  {
2247
- type: "constructor",
2248
- inputs: [
2249
- {
2250
- name: "owner_",
2251
- type: "address",
2252
- internalType: "address"
2253
- }
2254
- ],
2255
- stateMutability: "nonpayable"
2256
- },
2257
- {
2258
- type: "function",
2259
- name: "BPS",
2260
- inputs: [],
2261
- outputs: [
2262
- {
2263
- name: "",
2264
- type: "uint256",
2265
- internalType: "uint256"
2266
- }
2267
- ],
2268
- stateMutability: "view"
2269
- },
2270
- {
2271
- type: "function",
2272
- name: "MAX_EXTENSIONS",
2273
- inputs: [],
2274
- outputs: [
2275
- {
2276
- name: "",
2277
- type: "uint256",
2278
- internalType: "uint256"
2279
- }
2280
- ],
2281
- stateMutability: "view"
2282
- },
2283
- {
2284
- type: "function",
2285
- name: "MAX_EXTENSION_BPS",
2286
- inputs: [],
2287
- outputs: [
2288
- {
2289
- name: "",
2290
- type: "uint16",
2291
- internalType: "uint16"
2292
- }
2293
- ],
2294
- stateMutability: "view"
2295
- },
2296
- {
2297
- type: "function",
2298
- name: "TOKEN_SUPPLY",
2299
- inputs: [],
2300
- outputs: [
2301
- {
2302
- name: "",
2303
- type: "uint256",
2304
- internalType: "uint256"
2305
- }
2306
- ],
2307
- stateMutability: "view"
2308
- },
2309
- {
2310
- type: "function",
2311
- name: "admins",
2312
- inputs: [
2313
- {
2314
- name: "",
2315
- type: "address",
2316
- internalType: "address"
2317
- }
2318
- ],
2319
- outputs: [
2320
- {
2321
- name: "",
2322
- type: "bool",
2323
- internalType: "bool"
2324
- }
2325
- ],
2326
- stateMutability: "view"
2327
- },
2328
- {
2329
- type: "function",
2330
- name: "claimTeamFees",
2331
- inputs: [
2332
- {
2333
- name: "token",
2334
- type: "address",
2335
- internalType: "address"
2336
- }
2337
- ],
2338
- outputs: [],
2339
- stateMutability: "nonpayable"
2340
- },
2341
- {
2342
- type: "function",
2343
- name: "deployToken",
2344
- inputs: [
2345
- {
2346
- name: "deploymentConfig",
2347
- type: "tuple",
2348
- internalType: "struct IClanker.DeploymentConfig",
2349
- components: [
2350
- {
2351
- name: "tokenConfig",
2352
- type: "tuple",
2353
- internalType: "struct IClanker.TokenConfig",
2354
- components: [
2355
- {
2356
- name: "tokenAdmin",
2357
- type: "address",
2358
- internalType: "address"
2359
- },
2360
- {
2361
- name: "name",
2362
- type: "string",
2363
- internalType: "string"
2364
- },
2365
- {
2366
- name: "symbol",
2367
- type: "string",
2368
- internalType: "string"
2369
- },
2370
- {
2371
- name: "salt",
2372
- type: "bytes32",
2373
- internalType: "bytes32"
2374
- },
2375
- {
2376
- name: "image",
2377
- type: "string",
2378
- internalType: "string"
2379
- },
2380
- {
2381
- name: "metadata",
2382
- type: "string",
2383
- internalType: "string"
2384
- },
2385
- {
2386
- name: "context",
2387
- type: "string",
2388
- internalType: "string"
2389
- },
2390
- {
2391
- name: "originatingChainId",
2392
- type: "uint256",
2393
- internalType: "uint256"
2394
- }
2395
- ]
2396
- },
2397
- {
2398
- name: "poolConfig",
2399
- type: "tuple",
2400
- internalType: "struct IClanker.PoolConfig",
2401
- components: [
2402
- {
2403
- name: "hook",
2404
- type: "address",
2405
- internalType: "address"
2406
- },
2407
- {
2408
- name: "pairedToken",
2409
- type: "address",
2410
- internalType: "address"
2411
- },
2412
- {
2413
- name: "tickIfToken0IsClanker",
2414
- type: "int24",
2415
- internalType: "int24"
2416
- },
2417
- {
2418
- name: "tickSpacing",
2419
- type: "int24",
2420
- internalType: "int24"
2421
- },
2422
- {
2423
- name: "poolData",
2424
- type: "bytes",
2425
- internalType: "bytes"
2426
- }
2427
- ]
2428
- },
2429
- {
2430
- name: "lockerConfig",
2431
- type: "tuple",
2432
- internalType: "struct IClanker.LockerConfig",
2433
- components: [
2434
- {
2435
- name: "rewardAdmins",
2436
- type: "address[]",
2437
- internalType: "address[]"
2438
- },
2439
- {
2440
- name: "rewardRecipients",
2441
- type: "address[]",
2442
- internalType: "address[]"
2443
- },
2444
- {
2445
- name: "rewardBps",
2446
- type: "uint16[]",
2447
- internalType: "uint16[]"
2448
- },
2449
- {
2450
- name: "tickLower",
2451
- type: "int24[]",
2452
- internalType: "int24[]"
2453
- },
2454
- {
2455
- name: "tickUpper",
2456
- type: "int24[]",
2457
- internalType: "int24[]"
2458
- },
2459
- {
2460
- name: "positionBps",
2461
- type: "uint16[]",
2462
- internalType: "uint16[]"
2463
- }
2464
- ]
2465
- },
2466
- {
2467
- name: "mevModuleConfig",
2468
- type: "tuple",
2469
- internalType: "struct IClanker.MevModuleConfig",
2470
- components: [
2471
- {
2472
- name: "mevModule",
2473
- type: "address",
2474
- internalType: "address"
2475
- },
2476
- {
2477
- name: "mevModuleData",
2478
- type: "bytes",
2479
- internalType: "bytes"
2480
- }
2481
- ]
2482
- },
2483
- {
2484
- name: "extensionConfigs",
2485
- type: "tuple[]",
2486
- internalType: "struct IClanker.ExtensionConfig[]",
2487
- components: [
2488
- {
2489
- name: "extension",
2490
- type: "address",
2491
- internalType: "address"
2492
- },
2493
- {
2494
- name: "msgValue",
2495
- type: "uint256",
2496
- internalType: "uint256"
2497
- },
2498
- {
2499
- name: "extensionBps",
2500
- type: "uint16",
2501
- internalType: "uint16"
2502
- },
2503
- {
2504
- name: "extensionData",
2505
- type: "bytes",
2506
- internalType: "bytes"
2507
- }
2508
- ]
2509
- }
2510
- ]
2511
- }
2512
- ],
2513
- outputs: [
2514
- {
2515
- name: "tokenAddress",
2516
- type: "address",
2517
- internalType: "address"
2518
- }
2519
- ],
2520
- stateMutability: "payable"
2521
- },
2522
- {
2523
- type: "function",
2524
- name: "deployTokenZeroSupply",
2525
- inputs: [
2526
- {
2527
- name: "tokenConfig",
2528
- type: "tuple",
2529
- internalType: "struct IClanker.TokenConfig",
2530
- components: [
2531
- {
2532
- name: "tokenAdmin",
2533
- type: "address",
2534
- internalType: "address"
2535
- },
2536
- {
2537
- name: "name",
2538
- type: "string",
2539
- internalType: "string"
2540
- },
2541
- {
2542
- name: "symbol",
2543
- type: "string",
2544
- internalType: "string"
2545
- },
2546
- {
2547
- name: "salt",
2548
- type: "bytes32",
2549
- internalType: "bytes32"
2550
- },
2551
- {
2552
- name: "image",
2553
- type: "string",
2554
- internalType: "string"
2555
- },
2556
- {
2557
- name: "metadata",
2558
- type: "string",
2559
- internalType: "string"
2560
- },
2561
- {
2562
- name: "context",
2563
- type: "string",
2564
- internalType: "string"
2565
- },
2566
- {
2567
- name: "originatingChainId",
2568
- type: "uint256",
2569
- internalType: "uint256"
2570
- }
2571
- ]
2572
- }
2573
- ],
2574
- outputs: [
2575
- {
2576
- name: "tokenAddress",
2577
- type: "address",
2578
- internalType: "address"
2579
- }
2580
- ],
2581
- stateMutability: "nonpayable"
2582
- },
2583
- {
2584
- type: "function",
2585
- name: "deploymentInfoForToken",
2586
- inputs: [
2587
- {
2588
- name: "token",
2589
- type: "address",
2590
- internalType: "address"
2591
- }
2592
- ],
2593
- outputs: [
2594
- {
2595
- name: "token",
2596
- type: "address",
2597
- internalType: "address"
2598
- },
2599
- {
2600
- name: "hook",
2601
- type: "address",
2602
- internalType: "address"
2603
- }
2604
- ],
2605
- stateMutability: "view"
2606
- },
2607
- {
2608
- type: "function",
2609
- name: "deprecated",
2610
- inputs: [],
2611
- outputs: [
2612
- {
2613
- name: "",
2614
- type: "bool",
2615
- internalType: "bool"
2616
- }
2617
- ],
2618
- stateMutability: "view"
2619
- },
2620
- {
2621
- type: "function",
2622
- name: "initialize",
2623
- inputs: [
2624
- {
2625
- name: "locker_",
2626
- type: "address",
2627
- internalType: "address"
2628
- },
2629
- {
2630
- name: "teamFeeRecipient_",
2631
- type: "address",
2632
- internalType: "address"
2633
- }
2634
- ],
2635
- outputs: [],
2636
- stateMutability: "nonpayable"
2637
- },
2638
- {
2639
- type: "function",
2640
- name: "owner",
2641
- inputs: [],
2642
- outputs: [
2643
- {
2644
- name: "",
2645
- type: "address",
2646
- internalType: "address"
2647
- }
2648
- ],
2649
- stateMutability: "view"
2650
- },
2651
- {
2652
- type: "function",
2653
- name: "renounceOwnership",
2654
- inputs: [],
2655
- outputs: [],
2656
- stateMutability: "nonpayable"
2248
+ inputs: [{ internalType: "address", name: "owner_", type: "address" }],
2249
+ stateMutability: "nonpayable",
2250
+ type: "constructor"
2657
2251
  },
2252
+ { inputs: [], name: "Deprecated", type: "error" },
2253
+ { inputs: [], name: "ExtensionMsgValueMismatch", type: "error" },
2254
+ { inputs: [], name: "ExtensionNotEnabled", type: "error" },
2255
+ { inputs: [], name: "HookNotEnabled", type: "error" },
2256
+ { inputs: [], name: "InvalidExtension", type: "error" },
2257
+ { inputs: [], name: "InvalidHook", type: "error" },
2258
+ { inputs: [], name: "InvalidLocker", type: "error" },
2259
+ { inputs: [], name: "InvalidMevModule", type: "error" },
2260
+ { inputs: [], name: "LockerNotEnabled", type: "error" },
2261
+ { inputs: [], name: "MaxExtensionBpsExceeded", type: "error" },
2262
+ { inputs: [], name: "MaxExtensionsExceeded", type: "error" },
2263
+ { inputs: [], name: "MevModuleNotEnabled", type: "error" },
2264
+ { inputs: [], name: "NotFound", type: "error" },
2265
+ { inputs: [], name: "OnlyNonOriginatingChains", type: "error" },
2266
+ { inputs: [], name: "OnlyOriginatingChain", type: "error" },
2658
2267
  {
2659
- type: "function",
2660
- name: "setAdmin",
2661
- inputs: [
2662
- {
2663
- name: "admin",
2664
- type: "address",
2665
- internalType: "address"
2666
- },
2667
- {
2668
- name: "enabled",
2669
- type: "bool",
2670
- internalType: "bool"
2671
- }
2672
- ],
2673
- outputs: [],
2674
- stateMutability: "nonpayable"
2268
+ inputs: [{ internalType: "address", name: "owner", type: "address" }],
2269
+ name: "OwnableInvalidOwner",
2270
+ type: "error"
2675
2271
  },
2676
2272
  {
2677
- type: "function",
2678
- name: "setDeprecated",
2679
- inputs: [
2680
- {
2681
- name: "deprecated_",
2682
- type: "bool",
2683
- internalType: "bool"
2684
- }
2685
- ],
2686
- outputs: [],
2687
- stateMutability: "nonpayable"
2273
+ inputs: [{ internalType: "address", name: "account", type: "address" }],
2274
+ name: "OwnableUnauthorizedAccount",
2275
+ type: "error"
2688
2276
  },
2277
+ { inputs: [], name: "ReentrancyGuardReentrantCall", type: "error" },
2278
+ { inputs: [], name: "Unauthorized", type: "error" },
2689
2279
  {
2690
- type: "function",
2691
- name: "setExtension",
2280
+ anonymous: false,
2692
2281
  inputs: [
2693
- {
2694
- name: "extension",
2695
- type: "address",
2696
- internalType: "address"
2697
- },
2698
- {
2699
- name: "enabled",
2700
- type: "bool",
2701
- internalType: "bool"
2702
- }
2282
+ { indexed: true, internalType: "address", name: "token", type: "address" },
2283
+ { indexed: true, internalType: "address", name: "recipient", type: "address" },
2284
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" }
2703
2285
  ],
2704
- outputs: [],
2705
- stateMutability: "nonpayable"
2286
+ name: "ClaimTeamFees",
2287
+ type: "event"
2706
2288
  },
2707
2289
  {
2708
- type: "function",
2709
- name: "setHook",
2290
+ anonymous: false,
2710
2291
  inputs: [
2711
- {
2712
- name: "hook",
2713
- type: "address",
2714
- internalType: "address"
2715
- },
2716
- {
2717
- name: "enabled",
2718
- type: "bool",
2719
- internalType: "bool"
2720
- }
2292
+ { indexed: false, internalType: "address", name: "extension", type: "address" },
2293
+ { indexed: false, internalType: "uint256", name: "extensionSupply", type: "uint256" },
2294
+ { indexed: false, internalType: "uint256", name: "msgValue", type: "uint256" }
2721
2295
  ],
2722
- outputs: [],
2723
- stateMutability: "nonpayable"
2296
+ name: "ExtensionTriggered",
2297
+ type: "event"
2724
2298
  },
2725
2299
  {
2726
- type: "function",
2727
- name: "setMevModule",
2300
+ anonymous: false,
2728
2301
  inputs: [
2729
- {
2730
- name: "mevModule",
2731
- type: "address",
2732
- internalType: "address"
2733
- },
2734
- {
2735
- name: "enabled",
2736
- type: "bool",
2737
- internalType: "bool"
2738
- }
2302
+ { indexed: true, internalType: "address", name: "previousOwner", type: "address" },
2303
+ { indexed: true, internalType: "address", name: "newOwner", type: "address" }
2739
2304
  ],
2740
- outputs: [],
2741
- stateMutability: "nonpayable"
2305
+ name: "OwnershipTransferred",
2306
+ type: "event"
2742
2307
  },
2743
2308
  {
2744
- type: "function",
2745
- name: "setTeamFeeRecipient",
2309
+ anonymous: false,
2746
2310
  inputs: [
2747
- {
2748
- name: "teamFeeRecipient_",
2749
- type: "address",
2750
- internalType: "address"
2751
- }
2311
+ { indexed: true, internalType: "address", name: "admin", type: "address" },
2312
+ { indexed: false, internalType: "bool", name: "enabled", type: "bool" }
2752
2313
  ],
2753
- outputs: [],
2754
- stateMutability: "nonpayable"
2314
+ name: "SetAdmin",
2315
+ type: "event"
2755
2316
  },
2756
2317
  {
2757
- type: "function",
2758
- name: "teamFeeRecipient",
2759
- inputs: [],
2760
- outputs: [
2761
- {
2762
- name: "",
2763
- type: "address",
2764
- internalType: "address"
2765
- }
2766
- ],
2767
- stateMutability: "view"
2318
+ anonymous: false,
2319
+ inputs: [{ indexed: false, internalType: "bool", name: "deprecated", type: "bool" }],
2320
+ name: "SetDeprecated",
2321
+ type: "event"
2768
2322
  },
2769
2323
  {
2770
- type: "function",
2771
- name: "transferOwnership",
2324
+ anonymous: false,
2772
2325
  inputs: [
2773
- {
2774
- name: "newOwner",
2775
- type: "address",
2776
- internalType: "address"
2777
- }
2326
+ { indexed: false, internalType: "address", name: "extension", type: "address" },
2327
+ { indexed: false, internalType: "bool", name: "enabled", type: "bool" }
2778
2328
  ],
2779
- outputs: [],
2780
- stateMutability: "nonpayable"
2329
+ name: "SetExtension",
2330
+ type: "event"
2781
2331
  },
2782
2332
  {
2783
- type: "event",
2784
- name: "ClaimTeamFees",
2333
+ anonymous: false,
2785
2334
  inputs: [
2786
- {
2787
- name: "token",
2788
- type: "address",
2789
- indexed: true,
2790
- internalType: "address"
2791
- },
2792
- {
2793
- name: "recipient",
2794
- type: "address",
2795
- indexed: true,
2796
- internalType: "address"
2797
- },
2798
- {
2799
- name: "amount",
2800
- type: "uint256",
2801
- indexed: false,
2802
- internalType: "uint256"
2803
- }
2335
+ { indexed: false, internalType: "address", name: "hook", type: "address" },
2336
+ { indexed: false, internalType: "bool", name: "enabled", type: "bool" }
2804
2337
  ],
2805
- anonymous: false
2338
+ name: "SetHook",
2339
+ type: "event"
2806
2340
  },
2807
2341
  {
2808
- type: "event",
2809
- name: "ExtensionTriggered",
2342
+ anonymous: false,
2810
2343
  inputs: [
2811
- {
2812
- name: "extension",
2813
- type: "address",
2814
- indexed: false,
2815
- internalType: "address"
2816
- },
2817
- {
2818
- name: "extensionSupply",
2819
- type: "uint256",
2820
- indexed: false,
2821
- internalType: "uint256"
2822
- },
2823
- {
2824
- name: "msgValue",
2825
- type: "uint256",
2826
- indexed: false,
2827
- internalType: "uint256"
2828
- }
2344
+ { indexed: false, internalType: "address", name: "locker", type: "address" },
2345
+ { indexed: false, internalType: "address", name: "pool", type: "address" },
2346
+ { indexed: false, internalType: "bool", name: "enabled", type: "bool" }
2829
2347
  ],
2830
- anonymous: false
2348
+ name: "SetLocker",
2349
+ type: "event"
2831
2350
  },
2832
2351
  {
2833
- type: "event",
2834
- name: "OwnershipTransferred",
2352
+ anonymous: false,
2835
2353
  inputs: [
2836
- {
2837
- name: "previousOwner",
2838
- type: "address",
2839
- indexed: true,
2840
- internalType: "address"
2841
- },
2842
- {
2843
- name: "newOwner",
2844
- type: "address",
2845
- indexed: true,
2846
- internalType: "address"
2847
- }
2354
+ { indexed: false, internalType: "address", name: "mevModule", type: "address" },
2355
+ { indexed: false, internalType: "bool", name: "enabled", type: "bool" }
2848
2356
  ],
2849
- anonymous: false
2357
+ name: "SetMevModule",
2358
+ type: "event"
2850
2359
  },
2851
2360
  {
2852
- type: "event",
2853
- name: "SetAdmin",
2361
+ anonymous: false,
2854
2362
  inputs: [
2855
- {
2856
- name: "admin",
2857
- type: "address",
2858
- indexed: true,
2859
- internalType: "address"
2860
- },
2861
- {
2862
- name: "enabled",
2863
- type: "bool",
2864
- indexed: false,
2865
- internalType: "bool"
2866
- }
2363
+ { indexed: false, internalType: "address", name: "oldTeamFeeRecipient", type: "address" },
2364
+ { indexed: false, internalType: "address", name: "newTeamFeeRecipient", type: "address" }
2867
2365
  ],
2868
- anonymous: false
2366
+ name: "SetTeamFeeRecipient",
2367
+ type: "event"
2869
2368
  },
2870
2369
  {
2871
- type: "event",
2872
- name: "SetDeprecated",
2370
+ anonymous: false,
2873
2371
  inputs: [
2874
- {
2875
- name: "deprecated",
2876
- type: "bool",
2877
- indexed: false,
2878
- internalType: "bool"
2879
- }
2372
+ { indexed: false, internalType: "address", name: "msgSender", type: "address" },
2373
+ { indexed: true, internalType: "address", name: "tokenAddress", type: "address" },
2374
+ { indexed: true, internalType: "address", name: "tokenAdmin", type: "address" },
2375
+ { indexed: false, internalType: "string", name: "tokenImage", type: "string" },
2376
+ { indexed: false, internalType: "string", name: "tokenName", type: "string" },
2377
+ { indexed: false, internalType: "string", name: "tokenSymbol", type: "string" },
2378
+ { indexed: false, internalType: "string", name: "tokenMetadata", type: "string" },
2379
+ { indexed: false, internalType: "string", name: "tokenContext", type: "string" },
2380
+ { indexed: false, internalType: "int24", name: "startingTick", type: "int24" },
2381
+ { indexed: false, internalType: "address", name: "poolHook", type: "address" },
2382
+ { indexed: false, internalType: "PoolId", name: "poolId", type: "bytes32" },
2383
+ { indexed: false, internalType: "address", name: "pairedToken", type: "address" },
2384
+ { indexed: false, internalType: "address", name: "locker", type: "address" },
2385
+ { indexed: false, internalType: "address", name: "mevModule", type: "address" },
2386
+ { indexed: false, internalType: "uint256", name: "extensionsSupply", type: "uint256" },
2387
+ { indexed: false, internalType: "address[]", name: "extensions", type: "address[]" }
2880
2388
  ],
2881
- anonymous: false
2389
+ name: "TokenCreated",
2390
+ type: "event"
2882
2391
  },
2883
2392
  {
2884
- type: "event",
2885
- name: "SetExtension",
2886
- inputs: [
2887
- {
2888
- name: "extension",
2889
- type: "address",
2890
- indexed: false,
2891
- internalType: "address"
2892
- },
2893
- {
2894
- name: "enabled",
2895
- type: "bool",
2896
- indexed: false,
2897
- internalType: "bool"
2898
- }
2899
- ],
2900
- anonymous: false
2393
+ inputs: [],
2394
+ name: "BPS",
2395
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
2396
+ stateMutability: "view",
2397
+ type: "function"
2901
2398
  },
2902
2399
  {
2903
- type: "event",
2904
- name: "SetHook",
2905
- inputs: [
2906
- {
2907
- name: "hook",
2908
- type: "address",
2909
- indexed: false,
2910
- internalType: "address"
2911
- },
2912
- {
2913
- name: "enabled",
2914
- type: "bool",
2915
- indexed: false,
2916
- internalType: "bool"
2917
- }
2918
- ],
2919
- anonymous: false
2400
+ inputs: [],
2401
+ name: "MAX_EXTENSIONS",
2402
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
2403
+ stateMutability: "view",
2404
+ type: "function"
2405
+ },
2406
+ {
2407
+ inputs: [],
2408
+ name: "MAX_EXTENSION_BPS",
2409
+ outputs: [{ internalType: "uint16", name: "", type: "uint16" }],
2410
+ stateMutability: "view",
2411
+ type: "function"
2412
+ },
2413
+ {
2414
+ inputs: [],
2415
+ name: "TOKEN_SUPPLY",
2416
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
2417
+ stateMutability: "view",
2418
+ type: "function"
2419
+ },
2420
+ {
2421
+ inputs: [{ internalType: "address", name: "", type: "address" }],
2422
+ name: "admins",
2423
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
2424
+ stateMutability: "view",
2425
+ type: "function"
2426
+ },
2427
+ {
2428
+ inputs: [{ internalType: "address", name: "token", type: "address" }],
2429
+ name: "claimTeamFees",
2430
+ outputs: [],
2431
+ stateMutability: "nonpayable",
2432
+ type: "function"
2920
2433
  },
2921
2434
  {
2922
- type: "event",
2923
- name: "SetMevModule",
2924
2435
  inputs: [
2925
2436
  {
2926
- name: "mevModule",
2927
- type: "address",
2928
- indexed: false,
2929
- internalType: "address"
2930
- },
2931
- {
2932
- name: "enabled",
2933
- type: "bool",
2934
- indexed: false,
2935
- internalType: "bool"
2437
+ components: [
2438
+ {
2439
+ components: [
2440
+ { internalType: "address", name: "tokenAdmin", type: "address" },
2441
+ { internalType: "string", name: "name", type: "string" },
2442
+ { internalType: "string", name: "symbol", type: "string" },
2443
+ { internalType: "bytes32", name: "salt", type: "bytes32" },
2444
+ { internalType: "string", name: "image", type: "string" },
2445
+ { internalType: "string", name: "metadata", type: "string" },
2446
+ { internalType: "string", name: "context", type: "string" },
2447
+ { internalType: "uint256", name: "originatingChainId", type: "uint256" }
2448
+ ],
2449
+ internalType: "struct IClanker.TokenConfig",
2450
+ name: "tokenConfig",
2451
+ type: "tuple"
2452
+ },
2453
+ {
2454
+ components: [
2455
+ { internalType: "address", name: "hook", type: "address" },
2456
+ { internalType: "address", name: "pairedToken", type: "address" },
2457
+ { internalType: "int24", name: "tickIfToken0IsClanker", type: "int24" },
2458
+ { internalType: "int24", name: "tickSpacing", type: "int24" },
2459
+ { internalType: "bytes", name: "poolData", type: "bytes" }
2460
+ ],
2461
+ internalType: "struct IClanker.PoolConfig",
2462
+ name: "poolConfig",
2463
+ type: "tuple"
2464
+ },
2465
+ {
2466
+ components: [
2467
+ { internalType: "address", name: "locker", type: "address" },
2468
+ { internalType: "address[]", name: "rewardAdmins", type: "address[]" },
2469
+ { internalType: "address[]", name: "rewardRecipients", type: "address[]" },
2470
+ { internalType: "uint16[]", name: "rewardBps", type: "uint16[]" },
2471
+ { internalType: "int24[]", name: "tickLower", type: "int24[]" },
2472
+ { internalType: "int24[]", name: "tickUpper", type: "int24[]" },
2473
+ { internalType: "uint16[]", name: "positionBps", type: "uint16[]" },
2474
+ { internalType: "bytes", name: "lockerData", type: "bytes" }
2475
+ ],
2476
+ internalType: "struct IClanker.LockerConfig",
2477
+ name: "lockerConfig",
2478
+ type: "tuple"
2479
+ },
2480
+ {
2481
+ components: [
2482
+ { internalType: "address", name: "mevModule", type: "address" },
2483
+ { internalType: "bytes", name: "mevModuleData", type: "bytes" }
2484
+ ],
2485
+ internalType: "struct IClanker.MevModuleConfig",
2486
+ name: "mevModuleConfig",
2487
+ type: "tuple"
2488
+ },
2489
+ {
2490
+ components: [
2491
+ { internalType: "address", name: "extension", type: "address" },
2492
+ { internalType: "uint256", name: "msgValue", type: "uint256" },
2493
+ { internalType: "uint16", name: "extensionBps", type: "uint16" },
2494
+ { internalType: "bytes", name: "extensionData", type: "bytes" }
2495
+ ],
2496
+ internalType: "struct IClanker.ExtensionConfig[]",
2497
+ name: "extensionConfigs",
2498
+ type: "tuple[]"
2499
+ }
2500
+ ],
2501
+ internalType: "struct IClanker.DeploymentConfig",
2502
+ name: "deploymentConfig",
2503
+ type: "tuple"
2936
2504
  }
2937
2505
  ],
2938
- anonymous: false
2506
+ name: "deployToken",
2507
+ outputs: [{ internalType: "address", name: "tokenAddress", type: "address" }],
2508
+ stateMutability: "payable",
2509
+ type: "function"
2939
2510
  },
2940
2511
  {
2941
- type: "event",
2942
- name: "SetTeamFeeRecipient",
2943
2512
  inputs: [
2944
2513
  {
2945
- name: "oldTeamFeeRecipient",
2946
- type: "address",
2947
- indexed: false,
2948
- internalType: "address"
2949
- },
2950
- {
2951
- name: "newTeamFeeRecipient",
2952
- type: "address",
2953
- indexed: false,
2954
- internalType: "address"
2514
+ components: [
2515
+ { internalType: "address", name: "tokenAdmin", type: "address" },
2516
+ { internalType: "string", name: "name", type: "string" },
2517
+ { internalType: "string", name: "symbol", type: "string" },
2518
+ { internalType: "bytes32", name: "salt", type: "bytes32" },
2519
+ { internalType: "string", name: "image", type: "string" },
2520
+ { internalType: "string", name: "metadata", type: "string" },
2521
+ { internalType: "string", name: "context", type: "string" },
2522
+ { internalType: "uint256", name: "originatingChainId", type: "uint256" }
2523
+ ],
2524
+ internalType: "struct IClanker.TokenConfig",
2525
+ name: "tokenConfig",
2526
+ type: "tuple"
2955
2527
  }
2956
2528
  ],
2957
- anonymous: false
2529
+ name: "deployTokenZeroSupply",
2530
+ outputs: [{ internalType: "address", name: "tokenAddress", type: "address" }],
2531
+ stateMutability: "nonpayable",
2532
+ type: "function"
2958
2533
  },
2959
2534
  {
2960
- type: "event",
2961
- name: "TokenCreated",
2962
- inputs: [
2963
- {
2964
- name: "msgSender",
2965
- type: "address",
2966
- indexed: false,
2967
- internalType: "address"
2968
- },
2969
- {
2970
- name: "tokenAddress",
2971
- type: "address",
2972
- indexed: true,
2973
- internalType: "address"
2974
- },
2975
- {
2976
- name: "tokenAdmin",
2977
- type: "address",
2978
- indexed: true,
2979
- internalType: "address"
2980
- },
2981
- {
2982
- name: "tokenImage",
2983
- type: "string",
2984
- indexed: false,
2985
- internalType: "string"
2986
- },
2987
- {
2988
- name: "tokenName",
2989
- type: "string",
2990
- indexed: false,
2991
- internalType: "string"
2992
- },
2993
- {
2994
- name: "tokenSymbol",
2995
- type: "string",
2996
- indexed: false,
2997
- internalType: "string"
2998
- },
2999
- {
3000
- name: "tokenMetadata",
3001
- type: "string",
3002
- indexed: false,
3003
- internalType: "string"
3004
- },
3005
- {
3006
- name: "tokenContext",
3007
- type: "string",
3008
- indexed: false,
3009
- internalType: "string"
3010
- },
3011
- {
3012
- name: "startingTick",
3013
- type: "int24",
3014
- indexed: false,
3015
- internalType: "int24"
3016
- },
3017
- {
3018
- name: "poolHook",
3019
- type: "address",
3020
- indexed: false,
3021
- internalType: "address"
3022
- },
3023
- {
3024
- name: "poolId",
3025
- type: "bytes32",
3026
- indexed: false,
3027
- internalType: "PoolId"
3028
- },
3029
- {
3030
- name: "pairedToken",
3031
- type: "address",
3032
- indexed: false,
3033
- internalType: "address"
3034
- },
3035
- {
3036
- name: "mevModule",
3037
- type: "address",
3038
- indexed: false,
3039
- internalType: "address"
3040
- },
3041
- {
3042
- name: "extensionsSupply",
3043
- type: "uint256",
3044
- indexed: false,
3045
- internalType: "uint256"
3046
- },
3047
- {
3048
- name: "extensions",
3049
- type: "address[]",
3050
- indexed: false,
3051
- internalType: "address[]"
3052
- }
2535
+ inputs: [{ internalType: "address", name: "token", type: "address" }],
2536
+ name: "deploymentInfoForToken",
2537
+ outputs: [
2538
+ { internalType: "address", name: "token", type: "address" },
2539
+ { internalType: "address", name: "hook", type: "address" },
2540
+ { internalType: "address", name: "locker", type: "address" }
3053
2541
  ],
3054
- anonymous: false
3055
- },
3056
- {
3057
- type: "error",
3058
- name: "AlreadyInitialized",
3059
- inputs: []
3060
- },
3061
- {
3062
- type: "error",
3063
- name: "Deprecated",
3064
- inputs: []
3065
- },
3066
- {
3067
- type: "error",
3068
- name: "ExtensionMsgValueMismatch",
3069
- inputs: []
2542
+ stateMutability: "view",
2543
+ type: "function"
3070
2544
  },
3071
2545
  {
3072
- type: "error",
3073
- name: "ExtensionNotEnabled",
3074
- inputs: []
2546
+ inputs: [],
2547
+ name: "deprecated",
2548
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
2549
+ stateMutability: "view",
2550
+ type: "function"
3075
2551
  },
3076
2552
  {
3077
- type: "error",
3078
- name: "HookNotEnabled",
3079
- inputs: []
2553
+ inputs: [
2554
+ { internalType: "address", name: "locker", type: "address" },
2555
+ { internalType: "address", name: "pool", type: "address" }
2556
+ ],
2557
+ name: "enabledLockers",
2558
+ outputs: [{ internalType: "bool", name: "enabled", type: "bool" }],
2559
+ stateMutability: "view",
2560
+ type: "function"
3080
2561
  },
3081
2562
  {
3082
- type: "error",
3083
- name: "InvalidExtension",
3084
- inputs: []
2563
+ inputs: [{ internalType: "address", name: "teamFeeRecipient_", type: "address" }],
2564
+ name: "initialize",
2565
+ outputs: [],
2566
+ stateMutability: "nonpayable",
2567
+ type: "function"
3085
2568
  },
3086
2569
  {
3087
- type: "error",
3088
- name: "InvalidHook",
3089
- inputs: []
2570
+ inputs: [],
2571
+ name: "owner",
2572
+ outputs: [{ internalType: "address", name: "", type: "address" }],
2573
+ stateMutability: "view",
2574
+ type: "function"
3090
2575
  },
3091
2576
  {
3092
- type: "error",
3093
- name: "InvalidLocker",
3094
- inputs: []
2577
+ inputs: [],
2578
+ name: "renounceOwnership",
2579
+ outputs: [],
2580
+ stateMutability: "nonpayable",
2581
+ type: "function"
3095
2582
  },
3096
2583
  {
3097
- type: "error",
3098
- name: "InvalidMevModule",
3099
- inputs: []
2584
+ inputs: [
2585
+ { internalType: "address", name: "admin", type: "address" },
2586
+ { internalType: "bool", name: "enabled", type: "bool" }
2587
+ ],
2588
+ name: "setAdmin",
2589
+ outputs: [],
2590
+ stateMutability: "nonpayable",
2591
+ type: "function"
3100
2592
  },
3101
2593
  {
3102
- type: "error",
3103
- name: "MaxExtensionBpsExceeded",
3104
- inputs: []
2594
+ inputs: [{ internalType: "bool", name: "deprecated_", type: "bool" }],
2595
+ name: "setDeprecated",
2596
+ outputs: [],
2597
+ stateMutability: "nonpayable",
2598
+ type: "function"
3105
2599
  },
3106
2600
  {
3107
- type: "error",
3108
- name: "MaxExtensionsExceeded",
3109
- inputs: []
2601
+ inputs: [
2602
+ { internalType: "address", name: "extension", type: "address" },
2603
+ { internalType: "bool", name: "enabled", type: "bool" }
2604
+ ],
2605
+ name: "setExtension",
2606
+ outputs: [],
2607
+ stateMutability: "nonpayable",
2608
+ type: "function"
3110
2609
  },
3111
2610
  {
3112
- type: "error",
3113
- name: "MevModuleNotEnabled",
3114
- inputs: []
2611
+ inputs: [
2612
+ { internalType: "address", name: "hook", type: "address" },
2613
+ { internalType: "bool", name: "enabled", type: "bool" }
2614
+ ],
2615
+ name: "setHook",
2616
+ outputs: [],
2617
+ stateMutability: "nonpayable",
2618
+ type: "function"
3115
2619
  },
3116
2620
  {
3117
- type: "error",
3118
- name: "NotFound",
3119
- inputs: []
2621
+ inputs: [
2622
+ { internalType: "address", name: "locker", type: "address" },
2623
+ { internalType: "address", name: "pool", type: "address" },
2624
+ { internalType: "bool", name: "enabled", type: "bool" }
2625
+ ],
2626
+ name: "setLocker",
2627
+ outputs: [],
2628
+ stateMutability: "nonpayable",
2629
+ type: "function"
3120
2630
  },
3121
2631
  {
3122
- type: "error",
3123
- name: "OnlyNonOriginatingChains",
3124
- inputs: []
2632
+ inputs: [
2633
+ { internalType: "address", name: "mevModule", type: "address" },
2634
+ { internalType: "bool", name: "enabled", type: "bool" }
2635
+ ],
2636
+ name: "setMevModule",
2637
+ outputs: [],
2638
+ stateMutability: "nonpayable",
2639
+ type: "function"
3125
2640
  },
3126
2641
  {
3127
- type: "error",
3128
- name: "OnlyOriginatingChain",
3129
- inputs: []
2642
+ inputs: [{ internalType: "address", name: "teamFeeRecipient_", type: "address" }],
2643
+ name: "setTeamFeeRecipient",
2644
+ outputs: [],
2645
+ stateMutability: "nonpayable",
2646
+ type: "function"
3130
2647
  },
3131
2648
  {
3132
- type: "error",
3133
- name: "OwnableInvalidOwner",
3134
- inputs: [
3135
- {
3136
- name: "owner",
3137
- type: "address",
3138
- internalType: "address"
3139
- }
3140
- ]
2649
+ inputs: [],
2650
+ name: "teamFeeRecipient",
2651
+ outputs: [{ internalType: "address", name: "", type: "address" }],
2652
+ stateMutability: "view",
2653
+ type: "function"
3141
2654
  },
3142
2655
  {
3143
- type: "error",
3144
- name: "OwnableUnauthorizedAccount",
3145
- inputs: [
2656
+ inputs: [{ internalType: "address", name: "token", type: "address" }],
2657
+ name: "tokenDeploymentInfo",
2658
+ outputs: [
3146
2659
  {
3147
- name: "account",
3148
- type: "address",
3149
- internalType: "address"
2660
+ components: [
2661
+ { internalType: "address", name: "token", type: "address" },
2662
+ { internalType: "address", name: "hook", type: "address" },
2663
+ { internalType: "address", name: "locker", type: "address" },
2664
+ { internalType: "address[]", name: "extensions", type: "address[]" }
2665
+ ],
2666
+ internalType: "struct IClanker.DeploymentInfo",
2667
+ name: "",
2668
+ type: "tuple"
3150
2669
  }
3151
- ]
3152
- },
3153
- {
3154
- type: "error",
3155
- name: "ReentrancyGuardReentrantCall",
3156
- inputs: []
2670
+ ],
2671
+ stateMutability: "view",
2672
+ type: "function"
3157
2673
  },
3158
2674
  {
3159
- type: "error",
3160
- name: "Unauthorized",
3161
- inputs: []
2675
+ inputs: [{ internalType: "address", name: "newOwner", type: "address" }],
2676
+ name: "transferOwnership",
2677
+ outputs: [],
2678
+ stateMutability: "nonpayable",
2679
+ type: "function"
3162
2680
  }
3163
2681
  ];
3164
2682
  }
@@ -5378,12 +4896,14 @@ function buildTokenV4(cfg, chainId, salt) {
5378
4896
  originatingChainId: BigInt(chainId)
5379
4897
  },
5380
4898
  lockerConfig: {
4899
+ locker: CLANKER_LOCKER_V4,
5381
4900
  rewardAdmins: cfg.lockerConfig?.admins.map((a) => a.admin) || [],
5382
4901
  rewardRecipients: cfg.lockerConfig?.admins.map((a) => a.recipient) || [],
5383
4902
  rewardBps: cfg.lockerConfig?.admins.map((a) => a.bps) || [],
5384
4903
  tickLower: cfg.lockerConfig?.positions.map((p) => p.tickLower) || [DEFAULT_TICK_LOWER],
5385
4904
  tickUpper: cfg.lockerConfig?.positions.map((p) => p.tickUpper) || [DEFAULT_TICK_UPPER],
5386
- positionBps: cfg.lockerConfig?.positions.map((p) => p.positionBps) || [DEFAULT_POSITION_BPS]
4905
+ positionBps: cfg.lockerConfig?.positions.map((p) => p.positionBps) || [DEFAULT_POSITION_BPS],
4906
+ lockerData: "0x"
5387
4907
  },
5388
4908
  poolConfig: {
5389
4909
  hook,
@@ -5580,14 +5100,6 @@ var init_token = __esm({
5580
5100
  }
5581
5101
  });
5582
5102
 
5583
- // src/types/config.ts
5584
- var init_config = __esm({
5585
- "src/types/config.ts"() {
5586
- "use strict";
5587
- init_esm_shims();
5588
- }
5589
- });
5590
-
5591
5103
  // src/types/v4.ts
5592
5104
  var init_v42 = __esm({
5593
5105
  "src/types/v4.ts"() {
@@ -5602,7 +5114,6 @@ var init_types = __esm({
5602
5114
  "use strict";
5603
5115
  init_esm_shims();
5604
5116
  init_token();
5605
- init_config();
5606
5117
  init_validation();
5607
5118
  init_validation_schema();
5608
5119
  init_v42();
@@ -5699,14 +5210,16 @@ var init_index = __esm({
5699
5210
  wallet;
5700
5211
  publicClient;
5701
5212
  constructor(config2) {
5702
- const validationResult = validateConfig(config2);
5703
- if (!validationResult.success) {
5704
- throw new Error(
5705
- `Invalid Clanker configuration: ${JSON.stringify(validationResult.error?.format())}`
5706
- );
5213
+ if (config2) {
5214
+ const validationResult = validateConfig(config2);
5215
+ if (!validationResult.success) {
5216
+ throw new Error(
5217
+ `Invalid Clanker configuration: ${JSON.stringify(validationResult.error?.format())}`
5218
+ );
5219
+ }
5220
+ this.wallet = config2.wallet;
5221
+ this.publicClient = config2.publicClient;
5707
5222
  }
5708
- this.wallet = config2.wallet;
5709
- this.publicClient = config2.publicClient;
5710
5223
  }
5711
5224
  /**
5712
5225
  * Build V4 token deployment data without deploying
@@ -5714,7 +5227,8 @@ var init_index = __esm({
5714
5227
  * @returns Object containing transaction data, target address, and network info
5715
5228
  */
5716
5229
  buildV4(cfg) {
5717
- const result = buildTokenV4(cfg, this.publicClient.chain?.id || 84532);
5230
+ const chainId = this.publicClient?.chain?.id || 84532;
5231
+ const result = buildTokenV4(cfg, chainId);
5718
5232
  return result;
5719
5233
  }
5720
5234
  /**
@@ -5723,7 +5237,8 @@ var init_index = __esm({
5723
5237
  * @returns Object containing transaction data, target address, and network info with vanity address
5724
5238
  */
5725
5239
  async withVanityAddress(cfg) {
5726
- return withVanityAddress(cfg, this.publicClient.chain?.id || 84532);
5240
+ const chainId = this.publicClient?.chain?.id || 84532;
5241
+ return withVanityAddress(cfg, chainId);
5727
5242
  }
5728
5243
  /**
5729
5244
  * Deploy a token using the V4 protocol
@@ -5734,6 +5249,9 @@ var init_index = __esm({
5734
5249
  if (!this.wallet) {
5735
5250
  throw new Error("Wallet client required for deployment");
5736
5251
  }
5252
+ if (!this.publicClient) {
5253
+ throw new Error("Public client required for deployment");
5254
+ }
5737
5255
  return deployTokenV4(cfg, this.wallet, this.publicClient);
5738
5256
  }
5739
5257
  /**
@@ -5745,6 +5263,9 @@ var init_index = __esm({
5745
5263
  if (!this.wallet) {
5746
5264
  throw new Error("Wallet client required for deployment");
5747
5265
  }
5266
+ if (!this.publicClient) {
5267
+ throw new Error("Public client required for deployment");
5268
+ }
5748
5269
  return deployTokenV3(cfg, this.wallet, this.publicClient);
5749
5270
  }
5750
5271
  };