mint.club-cli 1.0.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.
Files changed (44) hide show
  1. package/README.md +43 -0
  2. package/dist/abi/bond.d.ts +244 -0
  3. package/dist/abi/bond.js +323 -0
  4. package/dist/abi/bond.js.map +1 -0
  5. package/dist/abi/zap-v2.d.ts +93 -0
  6. package/dist/abi/zap-v2.js +121 -0
  7. package/dist/abi/zap-v2.js.map +1 -0
  8. package/dist/client.d.ts +6 -0
  9. package/dist/client.js +38 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/commands/buy.d.ts +2 -0
  12. package/dist/commands/buy.js +77 -0
  13. package/dist/commands/buy.js.map +1 -0
  14. package/dist/commands/create.d.ts +2 -0
  15. package/dist/commands/create.js +85 -0
  16. package/dist/commands/create.js.map +1 -0
  17. package/dist/commands/info.d.ts +19 -0
  18. package/dist/commands/info.js +139 -0
  19. package/dist/commands/info.js.map +1 -0
  20. package/dist/commands/sell.d.ts +2 -0
  21. package/dist/commands/sell.js +77 -0
  22. package/dist/commands/sell.js.map +1 -0
  23. package/dist/commands/zap-buy.d.ts +2 -0
  24. package/dist/commands/zap-buy.js +93 -0
  25. package/dist/commands/zap-buy.js.map +1 -0
  26. package/dist/commands/zap-sell.d.ts +2 -0
  27. package/dist/commands/zap-sell.js +89 -0
  28. package/dist/commands/zap-sell.js.map +1 -0
  29. package/dist/config/chains.d.ts +782 -0
  30. package/dist/config/chains.js +260 -0
  31. package/dist/config/chains.js.map +1 -0
  32. package/dist/config/contracts.d.ts +44 -0
  33. package/dist/config/contracts.js +59 -0
  34. package/dist/config/contracts.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.js +73 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/utils/format.d.ts +26 -0
  39. package/dist/utils/format.js +54 -0
  40. package/dist/utils/format.js.map +1 -0
  41. package/dist/utils/swap.d.ts +8 -0
  42. package/dist/utils/swap.js +48 -0
  43. package/dist/utils/swap.js.map +1 -0
  44. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,6BAA6B;AAC7B,MAAM,EAAE,CAAC;AAET,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,iBAAiB;AACjB,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,UAA2B,CAAC;AACrC,CAAC;AAED,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC7C,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC7C,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,MAAM,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;KACnE,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC7C,cAAc,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KACnE,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,cAAc,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACjD,cAAc,CAAC,uBAAuB,EAAE,cAAc,CAAC;KACvD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;KAClE,cAAc,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;KACnE,cAAc,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;KACpG,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAChE,MAAM,CAAC,0BAA0B,EAAE,2CAA2C,EAAE,GAAG,CAAC;KACpF,MAAM,CAAC,0BAA0B,EAAE,2CAA2C,EAAE,GAAG,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,aAAa,CACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,CACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,uDAAuD,CAAC;KACpE,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC7C,cAAc,CAAC,6BAA6B,EAAE,uCAAuC,CAAC;KACtF,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;KAC3F,MAAM,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,EAAE,MAAM,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,aAAa,CACjB,KAAK,EACL,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,KAAK,EACL,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC7C,cAAc,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KACnE,cAAc,CAAC,8BAA8B,EAAE,wCAAwC,CAAC;KACxF,cAAc,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;KAC3F,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,EAAE,MAAM,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,cAAc,CAClB,KAAK,EACL,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,KAAK,EACL,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare function formatAmount(amount: bigint, decimals?: number): string;
2
+ export declare function parseAmount(amount: string, decimals?: number): bigint;
3
+ export declare function formatAddress(address: string): string;
4
+ export declare function formatTxHash(hash: string): string;
5
+ export declare function formatTokenInfo(tokenInfo: {
6
+ name: string;
7
+ symbol: string;
8
+ address: string;
9
+ creator: string;
10
+ reserveToken: string;
11
+ reserveBalance: bigint;
12
+ currentSupply: bigint;
13
+ maxSupply: bigint;
14
+ mintRoyalty: number;
15
+ burnRoyalty: number;
16
+ createdAt: number;
17
+ steps: readonly {
18
+ rangeTo: bigint;
19
+ price: bigint;
20
+ }[];
21
+ }): string;
22
+ export declare function displayError(error: unknown): string;
23
+ export declare function parseStepsInput(stepsStr: string): {
24
+ stepRanges: bigint[];
25
+ stepPrices: bigint[];
26
+ };
@@ -0,0 +1,54 @@
1
+ import { formatUnits, parseUnits } from 'viem';
2
+ export function formatAmount(amount, decimals = 18) {
3
+ return formatUnits(amount, decimals);
4
+ }
5
+ export function parseAmount(amount, decimals = 18) {
6
+ return parseUnits(amount, decimals);
7
+ }
8
+ export function formatAddress(address) {
9
+ return `${address.slice(0, 6)}...${address.slice(-4)}`;
10
+ }
11
+ export function formatTxHash(hash) {
12
+ return `${hash.slice(0, 10)}...${hash.slice(-8)}`;
13
+ }
14
+ export function formatTokenInfo(tokenInfo) {
15
+ const lines = [
16
+ `🪙 Token: ${tokenInfo.name} (${tokenInfo.symbol})`,
17
+ `📍 Address: ${tokenInfo.address}`,
18
+ `👤 Creator: ${formatAddress(tokenInfo.creator)}`,
19
+ `💰 Reserve Token: ${formatAddress(tokenInfo.reserveToken)}`,
20
+ `💎 Reserve Balance: ${formatAmount(tokenInfo.reserveBalance)} tokens`,
21
+ `📊 Supply: ${formatAmount(tokenInfo.currentSupply)} / ${formatAmount(tokenInfo.maxSupply)}`,
22
+ `💸 Mint Royalty: ${(tokenInfo.mintRoyalty / 100).toFixed(2)}%`,
23
+ `🔥 Burn Royalty: ${(tokenInfo.burnRoyalty / 100).toFixed(2)}%`,
24
+ `📅 Created: ${new Date(tokenInfo.createdAt * 1000).toLocaleString()}`,
25
+ ];
26
+ if (tokenInfo.steps.length > 0) {
27
+ lines.push('📈 Bonding Curve Steps:');
28
+ tokenInfo.steps.forEach((step, i) => {
29
+ lines.push(` Step ${i + 1}: Up to ${formatAmount(step.rangeTo)} at ${formatAmount(step.price)} per token`);
30
+ });
31
+ }
32
+ return lines.join('\n');
33
+ }
34
+ export function displayError(error) {
35
+ if (error instanceof Error) {
36
+ return error.message;
37
+ }
38
+ return String(error);
39
+ }
40
+ export function parseStepsInput(stepsStr) {
41
+ const steps = stepsStr.split(',').map(s => s.trim());
42
+ const stepRanges = [];
43
+ const stepPrices = [];
44
+ for (const step of steps) {
45
+ const [range, price] = step.split(':').map(s => s.trim());
46
+ if (!range || !price) {
47
+ throw new Error(`Invalid step format: ${step}. Expected format: "range:price"`);
48
+ }
49
+ stepRanges.push(parseAmount(range));
50
+ stepPrices.push(parseAmount(price));
51
+ }
52
+ return { stepRanges, stepPrices };
53
+ }
54
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const V3_SWAP_EXACT_IN = "0x00";
2
+ export declare function encodeV3SwapPath(tokens: string[], fees: number[]): `0x${string}`;
3
+ export declare function encodeV3SwapInput(recipient: `0x${string}`, amountIn: bigint, amountOutMin: bigint, path: `0x${string}`, payerIsUser: boolean): `0x${string}`;
4
+ export declare function createSwapCommands(swapCommand?: string): `0x${string}`;
5
+ export declare function parseSwapPath(pathStr: string): {
6
+ tokens: string[];
7
+ fees: number[];
8
+ };
@@ -0,0 +1,48 @@
1
+ import { encodePacked, encodeAbiParameters, parseAbiParameters } from 'viem';
2
+ // UniversalRouter V3_SWAP_EXACT_IN command
3
+ export const V3_SWAP_EXACT_IN = '0x00';
4
+ export function encodeV3SwapPath(tokens, fees) {
5
+ if (tokens.length !== fees.length + 1) {
6
+ throw new Error('Invalid path: tokens length must be fees length + 1');
7
+ }
8
+ let path = tokens[0];
9
+ for (let i = 0; i < fees.length; i++) {
10
+ // Encode fee as 3 bytes (uint24)
11
+ const feeHex = fees[i].toString(16).padStart(6, '0');
12
+ path = encodePacked(['bytes', 'bytes', 'bytes'], [path, `0x${feeHex}`, tokens[i + 1]]);
13
+ }
14
+ return path;
15
+ }
16
+ export function encodeV3SwapInput(recipient, amountIn, amountOutMin, path, payerIsUser) {
17
+ return encodeAbiParameters(parseAbiParameters('address,uint256,uint256,bytes,bool'), [recipient, amountIn, amountOutMin, path, payerIsUser]);
18
+ }
19
+ export function createSwapCommands(swapCommand = V3_SWAP_EXACT_IN) {
20
+ return swapCommand;
21
+ }
22
+ export function parseSwapPath(pathStr) {
23
+ const parts = pathStr.split(',').map(s => s.trim());
24
+ const tokens = [];
25
+ const fees = [];
26
+ for (let i = 0; i < parts.length; i++) {
27
+ if (i % 2 === 0) {
28
+ // Token address
29
+ if (!parts[i].startsWith('0x') || parts[i].length !== 42) {
30
+ throw new Error(`Invalid token address: ${parts[i]}`);
31
+ }
32
+ tokens.push(parts[i]);
33
+ }
34
+ else {
35
+ // Fee
36
+ const fee = parseInt(parts[i]);
37
+ if (isNaN(fee) || fee < 0) {
38
+ throw new Error(`Invalid fee: ${parts[i]}`);
39
+ }
40
+ fees.push(fee);
41
+ }
42
+ }
43
+ if (tokens.length !== fees.length + 1) {
44
+ throw new Error('Invalid path format. Expected: token0,fee0,token1,fee1,token2,...');
45
+ }
46
+ return { tokens, fees };
47
+ }
48
+ //# sourceMappingURL=swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/utils/swap.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "mint.club-cli",
3
+ "version": "1.0.0",
4
+ "description": "CLI for Mint Club V2 bonding curve tokens",
5
+ "main": "dist/index.js",
6
+ "files": ["dist", "README.md"],
7
+ "bin": {
8
+ "mc": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "bun build src/index.ts --outdir dist --format esm --target node --minify",
12
+ "prepublishOnly": "bun run build",
13
+ "start": "bun src/index.ts",
14
+ "check": "tsc --noEmit"
15
+ },
16
+ "keywords": [
17
+ "mint",
18
+ "club",
19
+ "bonding",
20
+ "curve",
21
+ "crypto",
22
+ "defi"
23
+ ],
24
+ "author": "h1-hunt <h1@hunt.town>",
25
+ "license": "MIT",
26
+ "dependencies": {
27
+ "commander": "^12.1.0",
28
+ "dotenv": "^16.4.5",
29
+ "viem": "^2.21.49"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^22.10.2",
33
+ "typescript": "^5.7.3"
34
+ },
35
+ "engines": {
36
+ "node": ">=18.0.0"
37
+ }
38
+ }