clanker-sdk 4.2.10 → 4.2.12

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.
Files changed (40) hide show
  1. package/README.md +42 -9
  2. package/dist/{deploy-BvFgwMVl.d.ts → clankerTokenV4-DoIzm6GW.d.ts} +1822 -9
  3. package/dist/cli/cli.js +10456 -7324
  4. package/dist/cli/commands/airdrop.d.ts +8 -0
  5. package/dist/cli/commands/airdrop.js +8524 -0
  6. package/dist/cli/commands/deploy.d.ts +14 -0
  7. package/dist/cli/commands/deploy.js +9883 -0
  8. package/dist/cli/commands/presale.d.ts +5 -0
  9. package/dist/cli/commands/presale.js +9340 -0
  10. package/dist/cli/commands/rewards.d.ts +5 -0
  11. package/dist/cli/commands/rewards.js +8235 -0
  12. package/dist/cli/commands/setup.d.ts +5 -0
  13. package/dist/cli/commands/setup.js +314 -0
  14. package/dist/cli/commands/token.d.ts +5 -0
  15. package/dist/cli/commands/token.js +8120 -0
  16. package/dist/cli/commands/vault.d.ts +5 -0
  17. package/dist/cli/commands/vault.js +8128 -0
  18. package/dist/cli/create-clanker.js +29 -2
  19. package/dist/cli/utils/chains.d.ts +6 -0
  20. package/dist/cli/utils/chains.js +51 -0
  21. package/dist/cli/utils/config.d.ts +10 -0
  22. package/dist/cli/utils/config.js +31 -0
  23. package/dist/cli/utils/output.d.ts +14 -0
  24. package/dist/cli/utils/output.js +209 -0
  25. package/dist/cli/utils/style.d.ts +49 -0
  26. package/dist/cli/utils/style.js +129 -0
  27. package/dist/cli/utils/wallet.d.ts +22 -0
  28. package/dist/cli/utils/wallet.js +108 -0
  29. package/dist/deploy-BUDlDPzt.d.ts +6 -0
  30. package/dist/index.d.ts +25 -16
  31. package/dist/index.js +36 -2
  32. package/dist/legacyFeeClaims/index.js +25 -1
  33. package/dist/merkleTree-BNYdIOkH.d.ts +15 -0
  34. package/dist/v3/index.d.ts +4 -4
  35. package/dist/v3/index.js +28 -1
  36. package/dist/v4/extensions/index.d.ts +2 -1
  37. package/dist/v4/extensions/index.js +28 -1
  38. package/dist/v4/index.d.ts +5 -4
  39. package/dist/v4/index.js +28 -1
  40. package/package.json +2 -1
@@ -0,0 +1,108 @@
1
+ // src/cli/utils/wallet.ts
2
+ import {
3
+ createPublicClient,
4
+ createWalletClient,
5
+ http
6
+ } from "viem";
7
+ import { privateKeyToAccount } from "viem/accounts";
8
+
9
+ // src/cli/utils/chains.ts
10
+ import { arbitrum, base, baseSepolia, bsc, mainnet, unichain } from "viem/chains";
11
+
12
+ // src/utils/chains/monad.ts
13
+ import { defineChain } from "viem";
14
+ var monad = /* @__PURE__ */ defineChain({
15
+ id: 143,
16
+ name: "Monad",
17
+ blockTime: 400,
18
+ nativeCurrency: {
19
+ name: "MON",
20
+ symbol: "MON",
21
+ decimals: 18
22
+ },
23
+ rpcUrls: {
24
+ default: {
25
+ http: ["https://rpc.monad.xyz"]
26
+ }
27
+ },
28
+ blockExplorers: {
29
+ default: {
30
+ name: "Monad explorer",
31
+ url: "TODO"
32
+ }
33
+ },
34
+ contracts: {},
35
+ testnet: false
36
+ });
37
+
38
+ // src/cli/utils/chains.ts
39
+ var CHAIN_MAP = {
40
+ base,
41
+ "base-sepolia": baseSepolia,
42
+ arbitrum,
43
+ ethereum: mainnet,
44
+ bsc,
45
+ unichain,
46
+ monad
47
+ };
48
+ var CHAIN_NAMES = Object.keys(CHAIN_MAP);
49
+ function resolveChain(name) {
50
+ const chain = CHAIN_MAP[name];
51
+ if (!chain) {
52
+ throw new Error(`Unknown chain "${name}". Supported: ${CHAIN_NAMES.join(", ")}`);
53
+ }
54
+ return chain;
55
+ }
56
+
57
+ // src/cli/utils/config.ts
58
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
59
+ import { homedir } from "node:os";
60
+ import { join } from "node:path";
61
+ var CONFIG_DIR = join(homedir(), ".clanker");
62
+ var CONFIG_PATH = join(CONFIG_DIR, "config.json");
63
+ function loadConfig() {
64
+ try {
65
+ if (!existsSync(CONFIG_PATH)) return {};
66
+ return JSON.parse(readFileSync(CONFIG_PATH, "utf-8"));
67
+ } catch {
68
+ return {};
69
+ }
70
+ }
71
+
72
+ // src/cli/utils/wallet.ts
73
+ function resolvePrivateKey(opts) {
74
+ const key = opts.privateKey || process.env.PRIVATE_KEY || loadConfig().privateKey;
75
+ if (!key) {
76
+ throw new Error(
77
+ "Private key required. Run `clanker setup`, pass --private-key, or set PRIVATE_KEY env var."
78
+ );
79
+ }
80
+ return key;
81
+ }
82
+ function resolveRpcUrl(opts, chainName) {
83
+ if (opts.rpc) return opts.rpc;
84
+ const config = loadConfig();
85
+ return config.rpc?.[chainName];
86
+ }
87
+ function resolveClients(opts) {
88
+ const chainName = opts.chain || loadConfig().defaultChain || "base";
89
+ const chain = resolveChain(chainName);
90
+ const rpcUrl = resolveRpcUrl(opts, chainName);
91
+ const transport = rpcUrl ? http(rpcUrl) : http();
92
+ const account = privateKeyToAccount(resolvePrivateKey(opts));
93
+ const walletClient = createWalletClient({ account, chain, transport });
94
+ const publicClient = createPublicClient({ chain, transport });
95
+ return { chain, account, walletClient, publicClient };
96
+ }
97
+ function resolvePublicClient(opts) {
98
+ const chainName = opts.chain || loadConfig().defaultChain || "base";
99
+ const chain = resolveChain(chainName);
100
+ const rpcUrl = resolveRpcUrl(opts, chainName);
101
+ const transport = rpcUrl ? http(rpcUrl) : http();
102
+ const publicClient = createPublicClient({ chain, transport });
103
+ return { chain, publicClient };
104
+ }
105
+ export {
106
+ resolveClients,
107
+ resolvePublicClient
108
+ };
@@ -0,0 +1,6 @@
1
+ type DeployTokenOptions = {
2
+ /** Data to append to the end of the transaction calldata (e.g., Base builder codes) */
3
+ dataSuffix?: `0x${string}`;
4
+ };
5
+
6
+ export type { DeployTokenOptions as D };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export { C as ClankerTokenV3 } from './clankerTokenV3-BqHTF9QY.js';
2
- import { a as Chain, C as ClankerTokenV4, b as ClankerDeployment } from './deploy-BvFgwMVl.js';
3
- export { d as CLANKERS, g as Chains, h as ClankerDeployments, f as Clankers, D as DeployTokenOptions, R as RelatedV3_1, c as RelatedV4, T as Type, i as clankerConfigFor } from './deploy-BvFgwMVl.js';
2
+ import { a as Chain, C as ClankerTokenV4, b as ClankerDeployment } from './clankerTokenV4-DoIzm6GW.js';
3
+ export { d as CLANKERS, g as Chains, h as ClankerDeployments, f as Clankers, R as RelatedV3_1, c as RelatedV4, T as Type, i as clankerConfigFor } from './clankerTokenV4-DoIzm6GW.js';
4
+ export { D as DeployTokenOptions } from './deploy-BUDlDPzt.js';
4
5
  import { ContractConstructorArgs, Hex, PublicClient } from 'viem';
5
6
  import { C as ClankerToken_v3_1_abi, a as ClankerToken_v4_abi } from './ClankerToken-Dra5lppJ.js';
7
+ export { A as AirdropEntry, c as createMerkleTree, e as encodeAirdropData, g as getMerkleProof } from './merkleTree-BNYdIOkH.js';
6
8
  import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
7
9
  import 'zod/v4';
8
10
 
@@ -13,6 +15,10 @@ declare const ANON_ADDRESS: `0x${string}`;
13
15
  declare const HIGHER_ADDRESS: `0x${string}`;
14
16
  declare const CB_BTC_ADDRESS: `0x${string}`;
15
17
  declare const A0X_ADDRESS: `0x${string}`;
18
+ /** WBNB (Wrapped BNB) on BSC - use for BNB/BNB token pairs */
19
+ declare const WBNB_ADDRESS: `0x${string}`;
20
+ /** USDT (Binance-Peg BSC-USD) on BSC – 18 decimals */
21
+ declare const BSC_USDT_ADDRESS: `0x${string}`;
16
22
  declare const WETH_ADDRESSES: Record<Chain, `0x${string}`>;
17
23
  declare const DEFAULT_SUPPLY = 100000000000000000000000000000n;
18
24
  declare enum PoolPositions {
@@ -69,7 +75,7 @@ declare const getTickFromMarketCap: (marketCap: number) => {
69
75
  tickSpacing: number;
70
76
  };
71
77
  /**
72
- * Calculate the tick for a desired market cap in USDC
78
+ * Calculate the tick for a desired market cap in USDC (6 decimals)
73
79
  *
74
80
  * @param marketCapUSDC - Desired market cap in USDC (e.g., 10 for $10)
75
81
  * @param tickSpacing - Tick spacing (must be multiple of this, default 200)
@@ -82,18 +88,21 @@ declare const getTickFromMarketCap: (marketCap: number) => {
82
88
  * - tick = log(price) / log(1.0001)
83
89
  */
84
90
  declare function getTickFromMarketCapUSDC(marketCapUSDC: number, tickSpacing?: number): number;
85
-
86
- interface AirdropEntry {
87
- account: `0x${string}`;
88
- amount: number;
89
- }
90
- declare function createMerkleTree(entries: AirdropEntry[]): {
91
- tree: StandardMerkleTree<[string, string]>;
92
- root: `0x${string}`;
93
- entries: [string, string][];
94
- };
95
- declare function getMerkleProof(tree: StandardMerkleTree<[string, string]>, entries: [string, string][], account: `0x${string}`, amount: number): `0x${string}`[];
96
- declare function encodeAirdropData(merkleRoot: `0x${string}`, lockupDuration: number, vestingDuration: number): `0x${string}`;
91
+ /**
92
+ * Calculate the tick for a desired market cap priced in a stablecoin with
93
+ * an arbitrary number of decimals.
94
+ *
95
+ * @param marketCap - Desired market cap in USD terms (e.g., 10_000 for $10k)
96
+ * @param stableDecimals - Decimals of the paired stablecoin (6 for USDC, 18 for BSC-USDT)
97
+ * @param tickSpacing - Tick spacing (must be multiple of this, default 200)
98
+ * @returns The tick value rounded down to the nearest tickSpacing
99
+ *
100
+ * Formula:
101
+ * - Total supply: 100B tokens (10^11 * 10^18 = 10^29)
102
+ * - Price per token = (marketCap * 10^stableDecimals) / 10^29
103
+ * - tick = log(price) / log(1.0001)
104
+ */
105
+ declare function getTickFromMarketCapStable(marketCap: number, stableDecimals: number, tickSpacing?: number): number;
97
106
 
98
107
  /**
99
108
  * Represents an allowlist entry with an address and allowed ETH amount
@@ -226,4 +235,4 @@ declare function verifyBuyerAllowance(publicClient: PublicClient, presaleId: big
226
235
  allowedAmountWei: bigint;
227
236
  }>;
228
237
 
229
- export { A0X_ADDRESS, ANON_ADDRESS, type AirdropEntry, type AllowlistEntry, type AllowlistProof, CB_BTC_ADDRESS, CLANKER_ADDRESS, Chain, ClankerDeployment, ClankerTokenV4, DEFAULT_SUPPLY, DEGEN_ADDRESS, FEE_CONFIGS, FeeConfigs, HIGHER_ADDRESS, NATIVE_ADDRESS, POOL_POSITIONS, PoolPositions, WETH_ADDRESSES, createAllowlistMerkleTree, createMerkleTree, encodeAirdropData, encodeAllowlistInitializationData, encodeAllowlistProofData, findVanityAddress, findVanityAddressV4, getAllowedAmountForBuyer, getAllowlistAddress, getAllowlistInfo, getAllowlistMerkleProof, getMerkleProof, getTickFromMarketCap, getTickFromMarketCapUSDC, predictTokenAddressV4, verifyBuyerAllowance };
238
+ export { A0X_ADDRESS, ANON_ADDRESS, type AllowlistEntry, type AllowlistProof, BSC_USDT_ADDRESS, CB_BTC_ADDRESS, CLANKER_ADDRESS, Chain, ClankerDeployment, ClankerTokenV4, DEFAULT_SUPPLY, DEGEN_ADDRESS, FEE_CONFIGS, FeeConfigs, HIGHER_ADDRESS, NATIVE_ADDRESS, POOL_POSITIONS, PoolPositions, WBNB_ADDRESS, WETH_ADDRESSES, createAllowlistMerkleTree, encodeAllowlistInitializationData, encodeAllowlistProofData, findVanityAddress, findVanityAddressV4, getAllowedAmountForBuyer, getAllowlistAddress, getAllowlistInfo, getAllowlistMerkleProof, getTickFromMarketCap, getTickFromMarketCapStable, getTickFromMarketCapUSDC, predictTokenAddressV4, verifyBuyerAllowance };
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  arbitrum,
5
5
  base,
6
6
  baseSepolia,
7
+ bsc,
7
8
  mainnet,
8
9
  monadTestnet,
9
10
  unichain
@@ -22,7 +23,7 @@ var monad = /* @__PURE__ */ defineChain({
22
23
  },
23
24
  rpcUrls: {
24
25
  default: {
25
- http: ["TODO"]
26
+ http: ["https://rpc.monad.xyz"]
26
27
  }
27
28
  },
28
29
  blockExplorers: {
@@ -43,9 +44,12 @@ var ANON_ADDRESS = "0x0Db510e79909666d6dEc7f5e49370838c16D950f";
43
44
  var HIGHER_ADDRESS = "0x0578d8A44db98B23BF096A382e016e29a5Ce0ffe";
44
45
  var CB_BTC_ADDRESS = "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
45
46
  var A0X_ADDRESS = "0x820C5F0fB255a1D18fd0eBB0F1CCefbC4D546dA7";
47
+ var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
48
+ var BSC_USDT_ADDRESS = "0x55d398326f99059fF775485246999027B3197955";
46
49
  var WETH_ADDRESSES = {
47
50
  [mainnet.id]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
48
51
  [arbitrum.id]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
52
+ [bsc.id]: WBNB_ADDRESS,
49
53
  [base.id]: "0x4200000000000000000000000000000000000006",
50
54
  [baseSepolia.id]: "0x4200000000000000000000000000000000000006",
51
55
  [unichain.id]: "0x4200000000000000000000000000000000000006",
@@ -2015,6 +2019,7 @@ import {
2015
2019
  arbitrum as arbitrum2,
2016
2020
  base as base2,
2017
2021
  baseSepolia as baseSepolia2,
2022
+ bsc as bsc2,
2018
2023
  mainnet as mainnet2,
2019
2024
  monadTestnet as monadTestnet2,
2020
2025
  unichain as unichain2
@@ -5722,6 +5727,29 @@ var CLANKERS = {
5722
5727
  feeStaticHookV2: "0x94F802a9EFE4dd542FdBd77a25D9e69A6dC828Cc",
5723
5728
  feeDynamicHook: "0x0000000000000000000000000000000000000000"
5724
5729
  }
5730
+ },
5731
+ clanker_v4_bnb: {
5732
+ abi: Clanker_v4_abi,
5733
+ token: {
5734
+ abi: ClankerToken_v4_abi,
5735
+ bytecode: ClankerToken_v4_bytecode
5736
+ },
5737
+ chainId: bsc2.id,
5738
+ type: "clanker_v4",
5739
+ address: "0xea30438E0B5f99096cb05A8Da63be55A6A298F6a",
5740
+ related: {
5741
+ locker: "0x1166022e1becc70E7E9aB2250aF1aC7842B9B420",
5742
+ vault: "0x15ee8382DBd8Fb991F653B59CA11bf504a07372D",
5743
+ airdrop: "0xBB0f069b995e0205cD5F92C84a1dF056a3F47900",
5744
+ devbuy: "0x302989E1cA167B6E78f9711e5a08d1BD555DdAc4",
5745
+ mevModule: "0xEE2940CC010820B7F22DF627e081d707693989a6",
5746
+ mevModuleV2: "0xec1310cf227a2D671176000aE0849DE6417b175a",
5747
+ feeLocker: "0x67D04Ae42F03D9b63dE0E6F2d82bB186A0306bBb",
5748
+ feeStaticHook: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5749
+ feeStaticHookV2: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5750
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
5751
+ feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
5752
+ }
5725
5753
  }
5726
5754
  };
5727
5755
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -5803,7 +5831,10 @@ var getTickFromMarketCap = (marketCap) => {
5803
5831
  };
5804
5832
  };
5805
5833
  function getTickFromMarketCapUSDC(marketCapUSDC, tickSpacing = 200) {
5806
- const price = marketCapUSDC / 1e23;
5834
+ return getTickFromMarketCapStable(marketCapUSDC, 6, tickSpacing);
5835
+ }
5836
+ function getTickFromMarketCapStable(marketCap, stableDecimals, tickSpacing = 200) {
5837
+ const price = marketCap / 10 ** (29 - stableDecimals);
5807
5838
  const rawTick = Math.log(price) / Math.log(1.0001);
5808
5839
  return Math.floor(rawTick / tickSpacing) * tickSpacing;
5809
5840
  }
@@ -6062,6 +6093,7 @@ async function verifyBuyerAllowance(publicClient, presaleId, buyer, desiredAmoun
6062
6093
  export {
6063
6094
  A0X_ADDRESS,
6064
6095
  ANON_ADDRESS,
6096
+ BSC_USDT_ADDRESS,
6065
6097
  CB_BTC_ADDRESS,
6066
6098
  CLANKERS,
6067
6099
  CLANKER_ADDRESS,
@@ -6075,6 +6107,7 @@ export {
6075
6107
  NATIVE_ADDRESS,
6076
6108
  POOL_POSITIONS,
6077
6109
  PoolPositions,
6110
+ WBNB_ADDRESS,
6078
6111
  WETH_ADDRESSES,
6079
6112
  clankerConfigFor,
6080
6113
  createAllowlistMerkleTree,
@@ -6090,6 +6123,7 @@ export {
6090
6123
  getAllowlistMerkleProof,
6091
6124
  getMerkleProof,
6092
6125
  getTickFromMarketCap,
6126
+ getTickFromMarketCapStable,
6093
6127
  getTickFromMarketCapUSDC,
6094
6128
  predictTokenAddressV4,
6095
6129
  verifyBuyerAllowance
@@ -248,6 +248,7 @@ import {
248
248
  arbitrum,
249
249
  base,
250
250
  baseSepolia,
251
+ bsc,
251
252
  mainnet,
252
253
  monadTestnet,
253
254
  unichain
@@ -5538,7 +5539,7 @@ var monad = /* @__PURE__ */ defineChain({
5538
5539
  },
5539
5540
  rpcUrls: {
5540
5541
  default: {
5541
- http: ["TODO"]
5542
+ http: ["https://rpc.monad.xyz"]
5542
5543
  }
5543
5544
  },
5544
5545
  blockExplorers: {
@@ -5776,6 +5777,29 @@ var CLANKERS = {
5776
5777
  feeStaticHookV2: "0x94F802a9EFE4dd542FdBd77a25D9e69A6dC828Cc",
5777
5778
  feeDynamicHook: "0x0000000000000000000000000000000000000000"
5778
5779
  }
5780
+ },
5781
+ clanker_v4_bnb: {
5782
+ abi: Clanker_v4_abi,
5783
+ token: {
5784
+ abi: ClankerToken_v4_abi,
5785
+ bytecode: ClankerToken_v4_bytecode
5786
+ },
5787
+ chainId: bsc.id,
5788
+ type: "clanker_v4",
5789
+ address: "0xea30438E0B5f99096cb05A8Da63be55A6A298F6a",
5790
+ related: {
5791
+ locker: "0x1166022e1becc70E7E9aB2250aF1aC7842B9B420",
5792
+ vault: "0x15ee8382DBd8Fb991F653B59CA11bf504a07372D",
5793
+ airdrop: "0xBB0f069b995e0205cD5F92C84a1dF056a3F47900",
5794
+ devbuy: "0x302989E1cA167B6E78f9711e5a08d1BD555DdAc4",
5795
+ mevModule: "0xEE2940CC010820B7F22DF627e081d707693989a6",
5796
+ mevModuleV2: "0xec1310cf227a2D671176000aE0849DE6417b175a",
5797
+ feeLocker: "0x67D04Ae42F03D9b63dE0E6F2d82bB186A0306bBb",
5798
+ feeStaticHook: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5799
+ feeStaticHookV2: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5800
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
5801
+ feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
5802
+ }
5779
5803
  }
5780
5804
  };
5781
5805
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -0,0 +1,15 @@
1
+ import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
2
+
3
+ interface AirdropEntry {
4
+ account: `0x${string}`;
5
+ amount: number;
6
+ }
7
+ declare function createMerkleTree(entries: AirdropEntry[]): {
8
+ tree: StandardMerkleTree<[string, string]>;
9
+ root: `0x${string}`;
10
+ entries: [string, string][];
11
+ };
12
+ declare function getMerkleProof(tree: StandardMerkleTree<[string, string]>, entries: [string, string][], account: `0x${string}`, amount: number): `0x${string}`[];
13
+ declare function encodeAirdropData(merkleRoot: `0x${string}`, lockupDuration: number, vestingDuration: number): `0x${string}`;
14
+
15
+ export { type AirdropEntry as A, createMerkleTree as c, encodeAirdropData as e, getMerkleProof as g };
@@ -877,7 +877,7 @@ declare class Clanker {
877
877
  }];
878
878
  readonly stateMutability: "view";
879
879
  readonly type: "function";
880
- }], "claimRewards" | "deployToken" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "renounceOwnership" | "setAdmin" | "setDeprecated" | "transferOwnership" | "updateLiquidityLocker" | "updateVault"> & {
880
+ }], "deployToken" | "renounceOwnership" | "transferOwnership" | "updateLiquidityLocker" | "setDeprecated" | "claimRewards" | "setAdmin" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "updateVault"> & {
881
881
  error?: undefined;
882
882
  }) | ({
883
883
  result?: undefined;
@@ -2256,7 +2256,7 @@ declare class Clanker {
2256
2256
  readonly outputs: readonly [];
2257
2257
  readonly stateMutability: "nonpayable";
2258
2258
  readonly type: "function";
2259
- }], "renounceOwnership" | "transferOwnership" | "collectRewards" | "onERC721Received" | "withdrawERC20" | "withdrawETH" | "addTokenReward" | "setOverrideTeamRewardRecipientForToken" | "updateCreatorRewardAdmin" | "updateCreatorRewardRecipient" | "updateInterfaceRewardAdmin" | "updateInterfaceRewardRecipient" | "updateTeamRecipient"> & {
2259
+ }], "renounceOwnership" | "transferOwnership" | "addTokenReward" | "collectRewards" | "onERC721Received" | "setOverrideTeamRewardRecipientForToken" | "updateCreatorRewardAdmin" | "updateCreatorRewardRecipient" | "updateInterfaceRewardAdmin" | "updateInterfaceRewardRecipient" | "updateTeamRecipient" | "withdrawERC20" | "withdrawETH"> & {
2260
2260
  error?: undefined;
2261
2261
  }) | ({
2262
2262
  result?: undefined;
@@ -3636,7 +3636,7 @@ declare class Clanker {
3636
3636
  readonly outputs: readonly [];
3637
3637
  readonly stateMutability: "nonpayable";
3638
3638
  readonly type: "function";
3639
- }], "renounceOwnership" | "transferOwnership" | "collectRewards" | "onERC721Received" | "withdrawERC20" | "withdrawETH" | "addTokenReward" | "setOverrideTeamRewardRecipientForToken" | "updateCreatorRewardAdmin" | "updateCreatorRewardRecipient" | "updateInterfaceRewardAdmin" | "updateInterfaceRewardRecipient" | "updateTeamRecipient"> & {
3639
+ }], "renounceOwnership" | "transferOwnership" | "addTokenReward" | "collectRewards" | "onERC721Received" | "setOverrideTeamRewardRecipientForToken" | "updateCreatorRewardAdmin" | "updateCreatorRewardRecipient" | "updateInterfaceRewardAdmin" | "updateInterfaceRewardRecipient" | "updateTeamRecipient" | "withdrawERC20" | "withdrawETH"> & {
3640
3640
  error?: undefined;
3641
3641
  }) | ({
3642
3642
  result?: undefined;
@@ -4519,7 +4519,7 @@ declare class Clanker {
4519
4519
  * @param requestorAddress Requestor for the deployment. Various admins will fall back to this.
4520
4520
  * @returns Abi transaction
4521
4521
  */
4522
- deploySimulate(token: ClankerTokenV3, account?: Account): Promise<(viem.SimulateContractReturnType<ClankerFactory, "claimRewards" | "deployToken" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "renounceOwnership" | "setAdmin" | "setDeprecated" | "transferOwnership" | "updateLiquidityLocker" | "updateVault" | "claimTeamFees" | "setExtension" | "setHook" | "setLocker" | "setMevModule" | "setTeamFeeRecipient"> & {
4522
+ deploySimulate(token: ClankerTokenV3, account?: Account): Promise<(viem.SimulateContractReturnType<ClankerFactory, "deployToken" | "renounceOwnership" | "transferOwnership" | "updateLiquidityLocker" | "setDeprecated" | "claimRewards" | "setAdmin" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "updateVault" | "claimTeamFees" | "setExtension" | "setHook" | "setLocker" | "setMevModule" | "setTeamFeeRecipient"> & {
4523
4523
  error?: undefined;
4524
4524
  }) | ({
4525
4525
  result?: undefined;
package/dist/v3/index.js CHANGED
@@ -3066,6 +3066,7 @@ import {
3066
3066
  arbitrum,
3067
3067
  base,
3068
3068
  baseSepolia,
3069
+ bsc,
3069
3070
  mainnet,
3070
3071
  monadTestnet,
3071
3072
  unichain
@@ -3084,7 +3085,7 @@ var monad = /* @__PURE__ */ defineChain({
3084
3085
  },
3085
3086
  rpcUrls: {
3086
3087
  default: {
3087
- http: ["TODO"]
3088
+ http: ["https://rpc.monad.xyz"]
3088
3089
  }
3089
3090
  },
3090
3091
  blockExplorers: {
@@ -3105,9 +3106,11 @@ var ANON_ADDRESS = "0x0Db510e79909666d6dEc7f5e49370838c16D950f";
3105
3106
  var HIGHER_ADDRESS = "0x0578d8A44db98B23BF096A382e016e29a5Ce0ffe";
3106
3107
  var CB_BTC_ADDRESS = "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
3107
3108
  var A0X_ADDRESS = "0x820C5F0fB255a1D18fd0eBB0F1CCefbC4D546dA7";
3109
+ var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
3108
3110
  var WETH_ADDRESSES = {
3109
3111
  [mainnet.id]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
3110
3112
  [arbitrum.id]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
3113
+ [bsc.id]: WBNB_ADDRESS,
3111
3114
  [base.id]: "0x4200000000000000000000000000000000000006",
3112
3115
  [baseSepolia.id]: "0x4200000000000000000000000000000000000006",
3113
3116
  [unichain.id]: "0x4200000000000000000000000000000000000006",
@@ -3133,6 +3136,7 @@ import {
3133
3136
  arbitrum as arbitrum2,
3134
3137
  base as base2,
3135
3138
  baseSepolia as baseSepolia2,
3139
+ bsc as bsc2,
3136
3140
  mainnet as mainnet2,
3137
3141
  monadTestnet as monadTestnet2,
3138
3142
  unichain as unichain2
@@ -6150,6 +6154,29 @@ var CLANKERS = {
6150
6154
  feeStaticHookV2: "0x94F802a9EFE4dd542FdBd77a25D9e69A6dC828Cc",
6151
6155
  feeDynamicHook: "0x0000000000000000000000000000000000000000"
6152
6156
  }
6157
+ },
6158
+ clanker_v4_bnb: {
6159
+ abi: Clanker_v4_abi,
6160
+ token: {
6161
+ abi: ClankerToken_v4_abi,
6162
+ bytecode: ClankerToken_v4_bytecode
6163
+ },
6164
+ chainId: bsc2.id,
6165
+ type: "clanker_v4",
6166
+ address: "0xea30438E0B5f99096cb05A8Da63be55A6A298F6a",
6167
+ related: {
6168
+ locker: "0x1166022e1becc70E7E9aB2250aF1aC7842B9B420",
6169
+ vault: "0x15ee8382DBd8Fb991F653B59CA11bf504a07372D",
6170
+ airdrop: "0xBB0f069b995e0205cD5F92C84a1dF056a3F47900",
6171
+ devbuy: "0x302989E1cA167B6E78f9711e5a08d1BD555DdAc4",
6172
+ mevModule: "0xEE2940CC010820B7F22DF627e081d707693989a6",
6173
+ mevModuleV2: "0xec1310cf227a2D671176000aE0849DE6417b175a",
6174
+ feeLocker: "0x67D04Ae42F03D9b63dE0E6F2d82bB186A0306bBb",
6175
+ feeStaticHook: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
6176
+ feeStaticHookV2: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
6177
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
6178
+ feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
6179
+ }
6153
6180
  }
6154
6181
  };
6155
6182
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -1,11 +1,12 @@
1
1
  import { C as ClankerTransactionConfig, f as ClankerAirdrop_v4_abi, c as ClankerResult, g as Clanker_PresaleEthToCreator_v4_1_abi, h as Clanker_PresaleAllowlist_v4_1_abi } from '../../write-clanker-contracts-wZSL1UyM.js';
2
2
  import { MerkleTree } from '@openzeppelin/merkle-tree/dist/merkletree.js';
3
3
  import * as z from 'zod/v4';
4
- import { a as Chain, C as ClankerTokenV4 } from '../../deploy-BvFgwMVl.js';
4
+ import { a as Chain, C as ClankerTokenV4 } from '../../clankerTokenV4-DoIzm6GW.js';
5
5
  import { Clanker } from '../index.js';
6
6
  import { C as ClankerError } from '../../errors-5Gv28Tkr.js';
7
7
  import 'viem';
8
8
  import '../../ClankerToken-Dra5lppJ.js';
9
+ import '../../deploy-BUDlDPzt.js';
9
10
 
10
11
  declare const AirdropEntrySchema: z.ZodArray<z.ZodObject<{
11
12
  account: z.ZodCustom<`0x${string}`, `0x${string}`>;
@@ -203,6 +203,7 @@ import {
203
203
  arbitrum,
204
204
  base,
205
205
  baseSepolia,
206
+ bsc,
206
207
  mainnet,
207
208
  monadTestnet,
208
209
  unichain
@@ -5493,7 +5494,7 @@ var monad = /* @__PURE__ */ defineChain({
5493
5494
  },
5494
5495
  rpcUrls: {
5495
5496
  default: {
5496
- http: ["TODO"]
5497
+ http: ["https://rpc.monad.xyz"]
5497
5498
  }
5498
5499
  },
5499
5500
  blockExplorers: {
@@ -5731,6 +5732,29 @@ var CLANKERS = {
5731
5732
  feeStaticHookV2: "0x94F802a9EFE4dd542FdBd77a25D9e69A6dC828Cc",
5732
5733
  feeDynamicHook: "0x0000000000000000000000000000000000000000"
5733
5734
  }
5735
+ },
5736
+ clanker_v4_bnb: {
5737
+ abi: Clanker_v4_abi,
5738
+ token: {
5739
+ abi: ClankerToken_v4_abi,
5740
+ bytecode: ClankerToken_v4_bytecode
5741
+ },
5742
+ chainId: bsc.id,
5743
+ type: "clanker_v4",
5744
+ address: "0xea30438E0B5f99096cb05A8Da63be55A6A298F6a",
5745
+ related: {
5746
+ locker: "0x1166022e1becc70E7E9aB2250aF1aC7842B9B420",
5747
+ vault: "0x15ee8382DBd8Fb991F653B59CA11bf504a07372D",
5748
+ airdrop: "0xBB0f069b995e0205cD5F92C84a1dF056a3F47900",
5749
+ devbuy: "0x302989E1cA167B6E78f9711e5a08d1BD555DdAc4",
5750
+ mevModule: "0xEE2940CC010820B7F22DF627e081d707693989a6",
5751
+ mevModuleV2: "0xec1310cf227a2D671176000aE0849DE6417b175a",
5752
+ feeLocker: "0x67D04Ae42F03D9b63dE0E6F2d82bB186A0306bBb",
5753
+ feeStaticHook: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5754
+ feeStaticHookV2: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
5755
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
5756
+ feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
5757
+ }
5734
5758
  }
5735
5759
  };
5736
5760
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -6959,13 +6983,16 @@ import {
6959
6983
  arbitrum as arbitrum2,
6960
6984
  base as base2,
6961
6985
  baseSepolia as baseSepolia2,
6986
+ bsc as bsc2,
6962
6987
  mainnet as mainnet2,
6963
6988
  monadTestnet as monadTestnet2,
6964
6989
  unichain as unichain2
6965
6990
  } from "viem/chains";
6991
+ var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
6966
6992
  var WETH_ADDRESSES = {
6967
6993
  [mainnet2.id]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
6968
6994
  [arbitrum2.id]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
6995
+ [bsc2.id]: WBNB_ADDRESS,
6969
6996
  [base2.id]: "0x4200000000000000000000000000000000000006",
6970
6997
  [baseSepolia2.id]: "0x4200000000000000000000000000000000000006",
6971
6998
  [unichain2.id]: "0x4200000000000000000000000000000000000006",
@@ -2,8 +2,9 @@ import { C as ClankerTransactionConfig, d as ClankerFeeLocker_abi, b as ClankerF
2
2
  import * as viem from 'viem';
3
3
  import { WalletClient, Transport, Chain, Account, PublicClient } from 'viem';
4
4
  import { a as ClankerToken_v4_abi } from '../ClankerToken-Dra5lppJ.js';
5
- import { C as ClankerTokenV4, D as DeployTokenOptions } from '../deploy-BvFgwMVl.js';
6
- export { e as encodeFeeConfig } from '../deploy-BvFgwMVl.js';
5
+ import { C as ClankerTokenV4 } from '../clankerTokenV4-DoIzm6GW.js';
6
+ export { e as encodeFeeConfig } from '../clankerTokenV4-DoIzm6GW.js';
7
+ import { D as DeployTokenOptions } from '../deploy-BUDlDPzt.js';
7
8
  import { C as ClankerError } from '../errors-5Gv28Tkr.js';
8
9
  import 'zod/v4';
9
10
 
@@ -331,7 +332,7 @@ declare class Clanker {
331
332
  readonly outputs: readonly [];
332
333
  readonly stateMutability: "nonpayable";
333
334
  readonly type: "function";
334
- }], "addDepositor" | "claim" | "renounceOwnership" | "storeFees" | "transferOwnership"> & {
335
+ }], "claim" | "renounceOwnership" | "transferOwnership" | "addDepositor" | "storeFees"> & {
335
336
  error?: undefined;
336
337
  }) | ({
337
338
  result?: undefined;
@@ -1506,7 +1507,7 @@ declare class Clanker {
1506
1507
  * @param account Optional account for the deployer
1507
1508
  * @returns Abi transaction
1508
1509
  */
1509
- deploySimulate(token: ClankerTokenV4, account?: Account): Promise<(viem.SimulateContractReturnType<ClankerFactory, "renounceOwnership" | "transferOwnership" | "claimRewards" | "deployToken" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "setAdmin" | "setDeprecated" | "updateLiquidityLocker" | "updateVault" | "claimTeamFees" | "setExtension" | "setHook" | "setLocker" | "setMevModule" | "setTeamFeeRecipient"> & {
1510
+ deploySimulate(token: ClankerTokenV4, account?: Account): Promise<(viem.SimulateContractReturnType<ClankerFactory, "deployToken" | "renounceOwnership" | "transferOwnership" | "updateLiquidityLocker" | "setDeprecated" | "claimRewards" | "setAdmin" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "updateVault" | "claimTeamFees" | "setExtension" | "setHook" | "setLocker" | "setMevModule" | "setTeamFeeRecipient"> & {
1510
1511
  error?: undefined;
1511
1512
  }) | ({
1512
1513
  result?: undefined;
package/dist/v4/index.js CHANGED
@@ -1918,6 +1918,7 @@ import {
1918
1918
  arbitrum,
1919
1919
  base,
1920
1920
  baseSepolia,
1921
+ bsc,
1921
1922
  mainnet,
1922
1923
  monadTestnet,
1923
1924
  unichain
@@ -1936,7 +1937,7 @@ var monad = /* @__PURE__ */ defineChain({
1936
1937
  },
1937
1938
  rpcUrls: {
1938
1939
  default: {
1939
- http: ["TODO"]
1940
+ http: ["https://rpc.monad.xyz"]
1940
1941
  }
1941
1942
  },
1942
1943
  blockExplorers: {
@@ -1950,9 +1951,11 @@ var monad = /* @__PURE__ */ defineChain({
1950
1951
  });
1951
1952
 
1952
1953
  // src/constants.ts
1954
+ var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
1953
1955
  var WETH_ADDRESSES = {
1954
1956
  [mainnet.id]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
1955
1957
  [arbitrum.id]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
1958
+ [bsc.id]: WBNB_ADDRESS,
1956
1959
  [base.id]: "0x4200000000000000000000000000000000000006",
1957
1960
  [baseSepolia.id]: "0x4200000000000000000000000000000000000006",
1958
1961
  [unichain.id]: "0x4200000000000000000000000000000000000006",
@@ -3869,6 +3872,7 @@ import {
3869
3872
  arbitrum as arbitrum2,
3870
3873
  base as base2,
3871
3874
  baseSepolia as baseSepolia2,
3875
+ bsc as bsc2,
3872
3876
  mainnet as mainnet2,
3873
3877
  monadTestnet as monadTestnet2,
3874
3878
  unichain as unichain2
@@ -6583,6 +6587,29 @@ var CLANKERS = {
6583
6587
  feeStaticHookV2: "0x94F802a9EFE4dd542FdBd77a25D9e69A6dC828Cc",
6584
6588
  feeDynamicHook: "0x0000000000000000000000000000000000000000"
6585
6589
  }
6590
+ },
6591
+ clanker_v4_bnb: {
6592
+ abi: Clanker_v4_abi,
6593
+ token: {
6594
+ abi: ClankerToken_v4_abi,
6595
+ bytecode: ClankerToken_v4_bytecode
6596
+ },
6597
+ chainId: bsc2.id,
6598
+ type: "clanker_v4",
6599
+ address: "0xea30438E0B5f99096cb05A8Da63be55A6A298F6a",
6600
+ related: {
6601
+ locker: "0x1166022e1becc70E7E9aB2250aF1aC7842B9B420",
6602
+ vault: "0x15ee8382DBd8Fb991F653B59CA11bf504a07372D",
6603
+ airdrop: "0xBB0f069b995e0205cD5F92C84a1dF056a3F47900",
6604
+ devbuy: "0x302989E1cA167B6E78f9711e5a08d1BD555DdAc4",
6605
+ mevModule: "0xEE2940CC010820B7F22DF627e081d707693989a6",
6606
+ mevModuleV2: "0xec1310cf227a2D671176000aE0849DE6417b175a",
6607
+ feeLocker: "0x67D04Ae42F03D9b63dE0E6F2d82bB186A0306bBb",
6608
+ feeStaticHook: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
6609
+ feeStaticHookV2: "0xC5d309026BCAb6630888d51CE21154AD2f4828cC",
6610
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
6611
+ feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
6612
+ }
6586
6613
  }
6587
6614
  };
6588
6615
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clanker-sdk",
3
- "version": "4.2.10",
3
+ "version": "4.2.12",
4
4
  "description": "SDK for deploying tokens using Clanker",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,6 +38,7 @@
38
38
  "dependencies": {
39
39
  "@openzeppelin/merkle-tree": "^1.0.8",
40
40
  "abitype": "^1.0.8",
41
+ "commander": "^14.0.3",
41
42
  "inquirer": "^8.2.6",
42
43
  "viem": "^2.38.3",
43
44
  "zod": "^4.1.12"