mint.club-cli 1.2.2 → 1.2.3
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.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -88,4 +88,4 @@ ${c6(M)}`;super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessag
|
|
|
88
88
|
`),console.log(`\uD83D\uDCB0 Fund this address to start using mc buy/sell/create.
|
|
89
89
|
`),LD();return}let J=process.env.PRIVATE_KEY;if(!J){console.log(`No wallet configured.
|
|
90
90
|
`),console.log("Run `mc wallet --generate` to create one, or add PRIVATE_KEY to ~/.mintclub/.env");return}let Q=J.startsWith("0x")?J:`0x${J}`,X=$Q(Q);console.log(`\uD83D\uDC5B Wallet: ${X.address}
|
|
91
|
-
`),await P3(X.address,Y8($.chain??"base"))}var j3={base:[{symbol:"USDC",address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",decimals:6},{symbol:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:18},{symbol:"HUNT",address:"0x37f0A65b0491c49F4bDdE04F0b5dF27b214FfCf5",decimals:18}],mainnet:[{symbol:"USDC",address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",decimals:6},{symbol:"USDT",address:"0xdAC17F958D2ee523a2206206994597C13D831ec7",decimals:6},{symbol:"WETH",address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",decimals:18}],arbitrum:[{symbol:"USDC",address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",decimals:6},{symbol:"WETH",address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",decimals:18}],optimism:[{symbol:"USDC",address:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",decimals:6},{symbol:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:18}]};async function P3($,J){let Q=p$(J),X=await Q.getBalance({address:$});console.log(`\uD83D\uDCB0 Balances on ${J}:`),console.log(` ETH: ${i0(X,18)}`);let Y=j3[J]??[];if(Y.length===0)return;let Z=await Q.multicall({contracts:Y.map((W)=>({address:W.address,abi:v8,functionName:"balanceOf",args:[$]}))});for(let W=0;W<Y.length;W++){let G=Z[W].status==="success"?Z[W].result:0n;if(G>0n)console.log(` ${Y[W].symbol}: ${i0(G,Y[W].decimals)}`)}}var k3=[{type:"function",name:"safeTransferFrom",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];async function ID($,J,Q,X,Y){let Z=p$(Q),W=A0(Q,X),G=W.account;if(Y.token&&Y.tokenId){let q=BigInt(Y.tokenId),M=BigInt(J);console.log(`\uD83D\uDCE6 Sending ${M} of ERC-1155 #${q} (${NJ(Y.token)}) to ${NJ($)} on ${Q}...`);let U=await W.writeContract({address:Y.token,abi:k3,functionName:"safeTransferFrom",args:[G.address,$,q,M,"0x"]});console.log(` TX: ${X0(U)}`);let w=await Z.waitForTransactionReceipt({hash:U});if(w.status==="success")console.log(`✅ Sent (block ${w.blockNumber})`);else throw Error("Transaction failed");return}if(Y.token){let[q,M]=await Promise.all([Z.readContract({address:Y.token,abi:v8,functionName:"decimals"}),Z.readContract({address:Y.token,abi:v8,functionName:"symbol"}).catch(()=>"tokens")]),U=F$(J,q);console.log(`\uD83D\uDCB8 Sending ${J} ${M} (${NJ(Y.token)}) to ${NJ($)} on ${Q}...`);let w=await W.writeContract({address:Y.token,abi:[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],functionName:"transfer",args:[$,U]});console.log(` TX: ${X0(w)}`);let O=await Z.waitForTransactionReceipt({hash:w});if(O.status==="success")console.log(`✅ Sent (block ${O.blockNumber})`);else throw Error("Transaction failed");return}let K=C4(J);console.log(`\uD83D\uDCB8 Sending ${J} ETH to ${NJ($)} on ${Q}...`);let V=await W.sendTransaction({to:$,value:K});console.log(` TX: ${X0(V)}`);let D=await Z.waitForTransactionReceipt({hash:V});if(D.status==="success")console.log(`✅ Sent (block ${D.blockNumber})`);else throw Error("Transaction failed")}import{resolve as x3}from"path";import{homedir as f3}from"os";a4.config({path:x3(f3(),".mintclub",".env")});a4.config();function S9(){let $=process.env.PRIVATE_KEY;if(!$)console.error("❌ Set PRIVATE_KEY in ~/.mintclub/.env or export it"),process.exit(1);return $.startsWith("0x")?$:`0x${$}`}function wJ($){return async()=>{try{await $()}catch(J){console.error("❌",J instanceof Error?J.message:J),process.exit(1)}}}var W8=new OW().name("mc").description("Mint Club V2 CLI — bonding curve tokens").version("1.2.
|
|
91
|
+
`),await P3(X.address,Y8($.chain??"base"))}var j3={base:[{symbol:"USDC",address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",decimals:6},{symbol:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:18},{symbol:"HUNT",address:"0x37f0A65b0491c49F4bDdE04F0b5dF27b214FfCf5",decimals:18}],mainnet:[{symbol:"USDC",address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",decimals:6},{symbol:"USDT",address:"0xdAC17F958D2ee523a2206206994597C13D831ec7",decimals:6},{symbol:"WETH",address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",decimals:18}],arbitrum:[{symbol:"USDC",address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",decimals:6},{symbol:"WETH",address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",decimals:18}],optimism:[{symbol:"USDC",address:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",decimals:6},{symbol:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:18}]};async function P3($,J){let Q=p$(J),X=await Q.getBalance({address:$});console.log(`\uD83D\uDCB0 Balances on ${J}:`),console.log(` ETH: ${i0(X,18)}`);let Y=j3[J]??[];if(Y.length===0)return;let Z=await Q.multicall({contracts:Y.map((W)=>({address:W.address,abi:v8,functionName:"balanceOf",args:[$]}))});for(let W=0;W<Y.length;W++){let G=Z[W].status==="success"?Z[W].result:0n;if(G>0n)console.log(` ${Y[W].symbol}: ${i0(G,Y[W].decimals)}`)}}var k3=[{type:"function",name:"safeTransferFrom",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];async function ID($,J,Q,X,Y){let Z=p$(Q),W=A0(Q,X),G=W.account;if(Y.token&&Y.tokenId){let q=BigInt(Y.tokenId),M=BigInt(J);console.log(`\uD83D\uDCE6 Sending ${M} of ERC-1155 #${q} (${NJ(Y.token)}) to ${NJ($)} on ${Q}...`);let U=await W.writeContract({address:Y.token,abi:k3,functionName:"safeTransferFrom",args:[G.address,$,q,M,"0x"]});console.log(` TX: ${X0(U)}`);let w=await Z.waitForTransactionReceipt({hash:U});if(w.status==="success")console.log(`✅ Sent (block ${w.blockNumber})`);else throw Error("Transaction failed");return}if(Y.token){let[q,M]=await Promise.all([Z.readContract({address:Y.token,abi:v8,functionName:"decimals"}),Z.readContract({address:Y.token,abi:v8,functionName:"symbol"}).catch(()=>"tokens")]),U=F$(J,q);console.log(`\uD83D\uDCB8 Sending ${J} ${M} (${NJ(Y.token)}) to ${NJ($)} on ${Q}...`);let w=await W.writeContract({address:Y.token,abi:[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],functionName:"transfer",args:[$,U]});console.log(` TX: ${X0(w)}`);let O=await Z.waitForTransactionReceipt({hash:w});if(O.status==="success")console.log(`✅ Sent (block ${O.blockNumber})`);else throw Error("Transaction failed");return}let K=C4(J);console.log(`\uD83D\uDCB8 Sending ${J} ETH to ${NJ($)} on ${Q}...`);let V=await W.sendTransaction({to:$,value:K});console.log(` TX: ${X0(V)}`);let D=await Z.waitForTransactionReceipt({hash:V});if(D.status==="success")console.log(`✅ Sent (block ${D.blockNumber})`);else throw Error("Transaction failed")}import{resolve as x3}from"path";import{homedir as f3}from"os";a4.config({path:x3(f3(),".mintclub",".env")});a4.config();function S9(){let $=process.env.PRIVATE_KEY;if(!$)console.error("❌ Set PRIVATE_KEY in ~/.mintclub/.env or export it"),process.exit(1);return $.startsWith("0x")?$:`0x${$}`}function wJ($){return async()=>{try{await $()}catch(J){console.error("❌",J instanceof Error?J.message:J),process.exit(1)}}}var W8=new OW().name("mc").description("Mint Club V2 CLI — bonding curve tokens").version("1.2.3");W8.command("info").description("Get token info").argument("<token>","Token address").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>GD($,Y8(J.chain)))());W8.command("buy").description("Buy (mint) tokens with reserve token").argument("<token>","Token address").requiredOption("-a, --amount <n>","Tokens to buy").option("-m, --max-cost <n>","Max reserve cost").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>KD($,J.amount,J.maxCost,Y8(J.chain),S9()))());W8.command("sell").description("Sell (burn) tokens for reserve token").argument("<token>","Token address").requiredOption("-a, --amount <n>","Tokens to sell").option("-m, --min-refund <n>","Min reserve refund").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>VD($,J.amount,J.minRefund,Y8(J.chain),S9()))());W8.command("create").description("Create a bonding curve token").requiredOption("-n, --name <name>","Token name").requiredOption("-s, --symbol <sym>","Token symbol").requiredOption("-r, --reserve <addr>","Reserve token address").requiredOption("-x, --max-supply <n>","Max supply").option("-t, --steps <s>",'Custom steps: "range:price,range:price,..."').option("--curve <type>","Curve preset: linear, exponential, logarithmic, flat").option("--initial-price <n>","Starting price (with --curve)").option("--final-price <n>","Final price (with --curve)").option("-c, --chain <chain>","Chain","base").option("--mint-royalty <bp>","Mint royalty (bps)","100").option("--burn-royalty <bp>","Burn royalty (bps)","100").option("-y, --yes","Skip confirmation prompt").action(($)=>wJ(()=>UD($.name,$.symbol,$.reserve,$.maxSupply,Y8($.chain),S9(),{steps:$.steps,curve:$.curve,initialPrice:$.initialPrice,finalPrice:$.finalPrice,mintRoyalty:parseInt($.mintRoyalty),burnRoyalty:parseInt($.burnRoyalty),yes:$.yes}))());W8.command("zap-buy").description("Buy tokens with any token via ZapV2 (auto-routes swap)").argument("<token>","Token address").requiredOption("-i, --input-token <addr>","Input token (ETH or address)").requiredOption("-a, --input-amount <n>","Input amount").option("-p, --path <p>","Manual swap path: token,fee,token,... (auto-finds if omitted)").option("-m, --min-tokens <n>","Min tokens out").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>{let Q=Y8(J.chain);if(!JQ(Q))throw Error("ZapV2 is Base only");return zD($,J.inputToken,J.inputAmount,J.minTokens,J.path,Q,S9())})());W8.command("zap-sell").description("Sell tokens for any token via ZapV2 (auto-routes swap)").argument("<token>","Token address").requiredOption("-a, --amount <n>","Tokens to sell").requiredOption("-o, --output-token <addr>","Output token (ETH or address)").option("-p, --path <p>","Manual swap path: token,fee,token,... (auto-finds if omitted)").option("-m, --min-output <n>","Min output").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>{let Q=Y8(J.chain);if(!JQ(Q))throw Error("ZapV2 is Base only");return HD($,J.amount,J.outputToken,J.minOutput,J.path,Q,S9())})());W8.command("send").description("Send ETH, ERC-20, or ERC-1155 tokens to another wallet").argument("<to>","Recipient address").requiredOption("-a, --amount <n>","Amount to send (token units for ERC-20, quantity for ERC-1155)").option("-t, --token <addr>","Token contract address (omit for native ETH)").option("--token-id <id>","ERC-1155 token ID").option("-c, --chain <chain>","Chain","base").action(($,J)=>wJ(()=>ID($,J.amount,Y8(J.chain),S9(),{token:J.token,tokenId:J.tokenId}))());W8.command("wallet").description("Show wallet address and balances, or generate/import a key").option("-g, --generate","Generate a new wallet and save to ~/.mintclub/.env").option("-s, --set-private-key <key>","Import an existing private key to ~/.mintclub/.env").option("-c, --chain <chain>","Chain for balance check","base").action(($)=>wJ(()=>BD($))());W8.command("upgrade").description("Upgrade mint.club-cli to the latest version").action(()=>{let{execSync:$}=g0("child_process");console.log("⬆️ Upgrading mint.club-cli...");try{let J=$("mc --version",{encoding:"utf-8"}).trim();$("npm install -g mint.club-cli@latest",{stdio:"pipe"});let Q=$("mc --version",{encoding:"utf-8"}).trim();if(J===Q)console.log(`✅ Already on latest (v${Q})`);else console.log(`✅ Upgraded: v${J} → v${Q}`)}catch{console.error("❌ Upgrade failed. Try: npm update -g mint.club-cli"),process.exit(1)}});W8.parse();
|