mint.club-cli 1.0.5 → 1.0.6

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 (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -83,4 +83,4 @@ ${mG(M)}`;super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessag
83
83
  `),console.log(` Address: ${Z.address}`),console.log(` Saved to: ~/.mintclub/.env
84
84
  `),console.log(`\uD83D\uDCB0 Fund this address to start using mc buy/sell/create.
85
85
  `),DD();return}let J=process.env.PRIVATE_KEY;if(!J){console.log(`No wallet configured.
86
- `),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=aJ(Q);console.log(`\uD83D\uDC5B Wallet: ${X.address}`)}var Uw=[{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 UD($,J,Q,X,Y){let Z=Q$(Q),W=A$(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} (${qJ(Y.token)}) to ${qJ($)} on ${Q}...`);let U=await W.writeContract({address:Y.token,abi:Uw,functionName:"safeTransferFrom",args:[G.address,$,q,M,"0x"]});console.log(` TX: ${X$(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:$1,functionName:"decimals"}),Z.readContract({address:Y.token,abi:$1,functionName:"symbol"}).catch(()=>"tokens")]),U=T0(J,q);console.log(`\uD83D\uDCB8 Sending ${J} ${M} (${qJ(Y.token)}) to ${qJ($)} 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: ${X$(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=OW(J);console.log(`\uD83D\uDCB8 Sending ${J} ETH to ${qJ($)} on ${Q}...`);let V=await W.sendTransaction({to:$,value:K});console.log(` TX: ${X$(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 Nw}from"path";import{homedir as ww}from"os";iW.config({path:Nw(ww(),".mintclub",".env")});iW.config();function CQ(){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 MJ($){return async()=>{try{await $()}catch(J){console.error("❌",J instanceof Error?J.message:J),process.exit(1)}}}var x8=new M4().name("mc").description("Mint Club V2 CLI — bonding curve tokens").version("1.0.0");x8.command("info").description("Get token info").argument("<token>","Token address").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>XD($,DJ(J.chain)))());x8.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)=>MJ(()=>YD($,J.amount,J.maxCost,DJ(J.chain),CQ()))());x8.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)=>MJ(()=>ZD($,J.amount,J.minRefund,DJ(J.chain),CQ()))());x8.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").requiredOption("-t, --steps <s>",'Steps: "range:price,range:price,..."').option("-c, --chain <chain>","Chain","base").option("--mint-royalty <bp>","Mint royalty (bps)","0").option("--burn-royalty <bp>","Burn royalty (bps)","0").action(($)=>MJ(()=>WD($.name,$.symbol,$.reserve,$.maxSupply,$.steps,DJ($.chain),CQ(),parseInt($.mintRoyalty),parseInt($.burnRoyalty)))());x8.command("zap-buy").description("Buy tokens with any token via ZapV2 (Base only)").argument("<token>","Token address").requiredOption("-i, --input-token <addr>","Input token (0x0 for ETH)").requiredOption("-a, --input-amount <n>","Input amount").requiredOption("-p, --path <p>","Swap path: token,fee,token,...").option("-m, --min-tokens <n>","Min tokens out").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>{let Q=DJ(J.chain);if(!eJ(Q))throw Error("ZapV2 is Base only");return GD($,J.inputToken,J.inputAmount,J.minTokens,J.path,Q,CQ())})());x8.command("zap-sell").description("Sell tokens for any token via ZapV2 (Base only)").argument("<token>","Token address").requiredOption("-a, --amount <n>","Tokens to sell").requiredOption("-o, --output-token <addr>","Output token (0x0 for ETH)").requiredOption("-p, --path <p>","Swap path: token,fee,token,...").option("-m, --min-output <n>","Min output").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>{let Q=DJ(J.chain);if(!eJ(Q))throw Error("ZapV2 is Base only");return KD($,J.amount,J.outputToken,J.minOutput,J.path,Q,CQ())})());x8.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)=>MJ(()=>UD($,J.amount,DJ(J.chain),CQ(),{token:J.token,tokenId:J.tokenId}))());x8.command("wallet").description("Show wallet address or generate a new one").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").action(($)=>MJ(()=>MD($))());x8.parse();
86
+ `),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=aJ(Q);console.log(`\uD83D\uDC5B Wallet: ${X.address}`)}var Uw=[{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 UD($,J,Q,X,Y){let Z=Q$(Q),W=A$(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} (${qJ(Y.token)}) to ${qJ($)} on ${Q}...`);let U=await W.writeContract({address:Y.token,abi:Uw,functionName:"safeTransferFrom",args:[G.address,$,q,M,"0x"]});console.log(` TX: ${X$(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:$1,functionName:"decimals"}),Z.readContract({address:Y.token,abi:$1,functionName:"symbol"}).catch(()=>"tokens")]),U=T0(J,q);console.log(`\uD83D\uDCB8 Sending ${J} ${M} (${qJ(Y.token)}) to ${qJ($)} 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: ${X$(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=OW(J);console.log(`\uD83D\uDCB8 Sending ${J} ETH to ${qJ($)} on ${Q}...`);let V=await W.sendTransaction({to:$,value:K});console.log(` TX: ${X$(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 Nw}from"path";import{homedir as ww}from"os";iW.config({path:Nw(ww(),".mintclub",".env")});iW.config();function CQ(){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 MJ($){return async()=>{try{await $()}catch(J){console.error("❌",J instanceof Error?J.message:J),process.exit(1)}}}var x8=new M4().name("mc").description("Mint Club V2 CLI — bonding curve tokens").version("1.0.6");x8.command("info").description("Get token info").argument("<token>","Token address").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>XD($,DJ(J.chain)))());x8.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)=>MJ(()=>YD($,J.amount,J.maxCost,DJ(J.chain),CQ()))());x8.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)=>MJ(()=>ZD($,J.amount,J.minRefund,DJ(J.chain),CQ()))());x8.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").requiredOption("-t, --steps <s>",'Steps: "range:price,range:price,..."').option("-c, --chain <chain>","Chain","base").option("--mint-royalty <bp>","Mint royalty (bps)","0").option("--burn-royalty <bp>","Burn royalty (bps)","0").action(($)=>MJ(()=>WD($.name,$.symbol,$.reserve,$.maxSupply,$.steps,DJ($.chain),CQ(),parseInt($.mintRoyalty),parseInt($.burnRoyalty)))());x8.command("zap-buy").description("Buy tokens with any token via ZapV2 (Base only)").argument("<token>","Token address").requiredOption("-i, --input-token <addr>","Input token (0x0 for ETH)").requiredOption("-a, --input-amount <n>","Input amount").requiredOption("-p, --path <p>","Swap path: token,fee,token,...").option("-m, --min-tokens <n>","Min tokens out").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>{let Q=DJ(J.chain);if(!eJ(Q))throw Error("ZapV2 is Base only");return GD($,J.inputToken,J.inputAmount,J.minTokens,J.path,Q,CQ())})());x8.command("zap-sell").description("Sell tokens for any token via ZapV2 (Base only)").argument("<token>","Token address").requiredOption("-a, --amount <n>","Tokens to sell").requiredOption("-o, --output-token <addr>","Output token (0x0 for ETH)").requiredOption("-p, --path <p>","Swap path: token,fee,token,...").option("-m, --min-output <n>","Min output").option("-c, --chain <chain>","Chain","base").action(($,J)=>MJ(()=>{let Q=DJ(J.chain);if(!eJ(Q))throw Error("ZapV2 is Base only");return KD($,J.amount,J.outputToken,J.minOutput,J.path,Q,CQ())})());x8.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)=>MJ(()=>UD($,J.amount,DJ(J.chain),CQ(),{token:J.token,tokenId:J.tokenId}))());x8.command("wallet").description("Show wallet address or generate a new one").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").action(($)=>MJ(()=>MD($))());x8.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mint.club-cli",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "CLI for Mint Club V2 bonding curve tokens",
5
5
  "main": "dist/index.js",
6
6
  "files": ["dist", "README.md"],
@@ -8,7 +8,7 @@
8
8
  "mc": "./dist/index.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "bun build src/index.ts --outdir dist --format esm --target node --minify",
11
+ "build": "bun build src/index.ts --outdir dist --format esm --target node --minify --define __VERSION__=\\\"$npm_package_version\\\"",
12
12
  "prepublishOnly": "bun run build",
13
13
  "start": "bun src/index.ts",
14
14
  "check": "tsc --noEmit"