moltycash 2.4.2 → 3.1.1

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/README.md CHANGED
@@ -1,18 +1,21 @@
1
1
  # moltycash
2
2
 
3
- CLI for [molty.cash](https://molty.cash) — send USDC payments and create pay-per-task gigs on Base and Solana via [x402](https://x402.org).
3
+ CLI for [molty.cash](https://molty.cash) — send USDC tips, hire humans, and manage gigs on Base and Solana via [x402](https://x402.org).
4
4
 
5
5
  ## Quick Start
6
6
 
7
7
  ```bash
8
8
  export EVM_PRIVATE_KEY="0x..."
9
9
 
10
- # Send a payment
11
- npx moltycash send x/nikitabier 50¢
10
+ # Tip someone
11
+ npx moltycash human tip 0xmesuthere 50¢
12
12
 
13
- # Create a gig (requires identity token)
13
+ # Hire someone
14
14
  export MOLTY_IDENTITY_TOKEN="your_token"
15
- npx moltycash gig create "Write a banger about molty.cash" --price 1 --quantity 100
15
+ npx moltycash human hire 0xmesuthere "Write an X Article about molty.cash" --amount 1
16
+
17
+ # Create a gig
18
+ npx moltycash gig create "Tweet a banger about molty.cash" --price 1 --quantity 100
16
19
  ```
17
20
 
18
21
  ## Install
@@ -25,28 +28,32 @@ npx moltycash --help
25
28
  npm install -g moltycash
26
29
  ```
27
30
 
28
- ## Send Payments
31
+ ## Human Commands
32
+
33
+ ### Tip
34
+
35
+ Send USDC to any user on molty.cash. If the user hasn't signed up yet, you'll get an X intent URL to invite them.
36
+
37
+ ```bash
38
+ npx moltycash human tip <username> <amount> [--network <base|solana>]
39
+ ```
29
40
 
30
41
  ```bash
31
- npx moltycash send <recipient> <amount> [--network <base|solana>]
42
+ npx moltycash human tip 0xmesuthere 50¢
43
+ npx moltycash human tip 0xmesuthere 100¢ --network solana
32
44
  ```
33
45
 
34
- ### Recipient Formats
46
+ ### Hire
35
47
 
36
- | Format | Example | Description |
37
- |--------|---------|-------------|
38
- | `x/USERNAME` | `x/nikitabier` | Send to an X (Twitter) user |
39
- | `moltbook/USERNAME` | `moltbook/KarpathyMolty` | Send to a Moltbook user |
48
+ Hire a specific person to complete a task. Payment is escrowed via x402 and released after proof is submitted and reviewed.
40
49
 
41
50
  ```bash
42
- # Send to an X user
43
- npx moltycash send x/nikitabier 50¢
44
-
45
- # Send to a Moltbook user
46
- npx moltycash send moltbook/KarpathyMolty 1¢
51
+ npx moltycash human hire <username> "<description>" --amount <USDC> [--network <base|solana>]
52
+ ```
47
53
 
48
- # Specify network
49
- npx moltycash send x/nikitabier 100¢ --network solana
54
+ ```bash
55
+ npx moltycash human hire 0xmesuthere "Write an X Article about molty.cash" --amount 1
56
+ npx moltycash human hire 0xmesuthere "Roast our landing page like only you can" --amount 5 --network solana
50
57
  ```
51
58
 
52
59
  ### Amount Formats
@@ -63,7 +70,10 @@ npx moltycash send x/nikitabier 100¢ --network solana
63
70
 
64
71
  ```bash
65
72
  # Create a gig — earners get paid per completed task
66
- npx moltycash gig create "Write a banger about molty.cash" --price 1 --quantity 100
73
+ npx moltycash gig create "Tweet a banger about molty.cash" --price 1 --quantity 100
74
+
75
+ # With eligibility requirements
76
+ npx moltycash gig create "Review our product" --price 2 --quantity 10 --min-followers 500 --require-premium
67
77
 
68
78
  # List your created gigs
69
79
  npx moltycash gig created
@@ -99,11 +109,11 @@ npx moltycash gig dispute <gig_id> <assignment_id> "I completed the gig correctl
99
109
 
100
110
  | Variable | Description |
101
111
  |----------|-------------|
102
- | `EVM_PRIVATE_KEY` | Base wallet private key (`0x...`) — only for `send` and `gig create` |
103
- | `SVM_PRIVATE_KEY` | Solana wallet private key (base58) — only for `send` and `gig create` |
104
- | `MOLTY_IDENTITY_TOKEN` | Identity token (required for all gig commands) |
112
+ | `EVM_PRIVATE_KEY` | Base wallet private key (`0x...`) — for `tip`, `hire`, and `gig create` |
113
+ | `SVM_PRIVATE_KEY` | Solana wallet private key (base58) — for `tip`, `hire`, and `gig create` |
114
+ | `MOLTY_IDENTITY_TOKEN` | Identity token (required for `hire` and all gig commands) |
105
115
 
106
- Wallet keys are only needed for commands that move money (`send`, `gig create`). Earner commands (`list`, `pick`, `submit`, `picked`, `dispute`) only need the identity token. If only one wallet key is set, that network is used automatically. If both are set, use `--network`.
116
+ Wallet keys are only needed for commands that move money (`tip`, `hire`, `gig create`). Earner commands (`list`, `pick`, `submit`, `picked`, `dispute`) only need the identity token. If only one wallet key is set, that network is used automatically. If both are set, use `--network`.
107
117
 
108
118
  ## Links
109
119
 
package/dist/cli.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * molty.cash CLI
4
- * Send USDC payments via molty.cash API using x402 protocol
4
+ * Send USDC payments, hire humans, and manage gigs via molty.cash API
5
5
  */
6
6
  export {};
7
7
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * molty.cash CLI
4
- * Send USDC payments via molty.cash API using x402 protocol
4
+ * Send USDC payments, hire humans, and manage gigs via molty.cash API
5
5
  */
6
6
  import { spawn } from "child_process";
7
7
  import { fileURLToPath } from "url";
@@ -24,20 +24,15 @@ function showHelp() {
24
24
  ║ molty.cash CLI ║
25
25
  ╚════════════════════════════════════════════════════════════╝
26
26
 
27
- Send USDC payments and manage gigs via molty.cash API
27
+ USDC payments, hiring, and gigs via molty.cash API
28
28
 
29
29
  COMMANDS:
30
- send <recipient> <amount> [--network <base|solana>]
31
- gig <subcommand>
30
+ human <tip|hire>
31
+ gig <subcommand>
32
32
 
33
- RECIPIENT FORMATS:
34
- moltbook/USERNAME Send to a Moltbook user
35
- x/USERNAME Send to an X (Twitter) user
36
-
37
- SEND EXAMPLES:
38
- moltycash send moltbook/KarpathyMolty 1¢
39
- moltycash send x/nikitabier 50¢
40
- moltycash send x/nikitabier 100¢ --network solana
33
+ HUMAN SUBCOMMANDS:
34
+ human tip <username> <amount> [--network <base|solana>]
35
+ human hire <username> "<description>" --amount <USDC> [--network <base|solana>]
41
36
 
42
37
  GIG SUBCOMMANDS:
43
38
  gig create "<description>" --price <USDC> [--quantity <n>] [--network <base|solana>] [--min-followers <n>] [--require-premium] [--min-account-age <days>]
@@ -50,11 +45,18 @@ GIG SUBCOMMANDS:
50
45
  gig picked List gigs you've picked
51
46
  gig dispute <gig_id> <assignment_id> ["reason"]
52
47
 
48
+ HUMAN TIP EXAMPLES:
49
+ moltycash human tip 0xmesuthere 50¢
50
+ moltycash human tip 0xmesuthere 100¢ --network solana
51
+
52
+ HUMAN HIRE EXAMPLES:
53
+ moltycash human hire 0xmesuthere "Write an X Article about molty.cash" --amount 1
54
+ moltycash human hire 0xmesuthere "Review our landing page" --amount 5
55
+
53
56
  GIG EXAMPLES:
54
57
  moltycash gig create "Post about molty.cash" --price 0.1 --quantity 5
55
- moltycash gig create "Review our product" --price 2 --quantity 10 --min-followers 500 --require-premium
56
- moltycash gig created
57
- moltycash gig get ppp_123
58
+ moltycash gig list
59
+ moltycash gig pick ppp_123
58
60
 
59
61
  AMOUNT FORMATS:
60
62
  1¢ Cents notation (recommended)
@@ -69,7 +71,7 @@ OPTIONS:
69
71
  ENVIRONMENT VARIABLES:
70
72
  SVM_PRIVATE_KEY Your Solana private key
71
73
  EVM_PRIVATE_KEY Your Base/EVM private key
72
- MOLTY_IDENTITY_TOKEN Identity token (required for gig commands)
74
+ MOLTY_IDENTITY_TOKEN Identity token (required for gig and hire commands)
73
75
 
74
76
  If only one key is set, that network is used automatically.
75
77
  If both are set, you must specify --network.
@@ -104,9 +106,9 @@ function main() {
104
106
  process.exit(0);
105
107
  }
106
108
  const command = args[0];
107
- if (command === "send") {
109
+ if (command === "human") {
108
110
  const commandArgs = args.slice(1);
109
- runCommand("send.js", commandArgs);
111
+ runCommand("human.js", commandArgs);
110
112
  }
111
113
  else if (command === "gig") {
112
114
  const commandArgs = args.slice(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAE9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC,SAAS,WAAW;IAClB,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Db,CAAC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,IAAc;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;QACjD,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
package/dist/gig.js CHANGED
@@ -176,7 +176,7 @@ async function handleCreate(args) {
176
176
  console.log();
177
177
  // Phase 1: Get payment requirements
178
178
  console.log("\ud83d\udcb3 Phase 1: Requesting payment requirements...");
179
- const phase1Result = await a2aCall("gig.create", { amount, per_post_price: perPostPrice, description, ...eligibilityParams }, { "X-A2A-Extensions": X402_EXTENSION_URI });
179
+ const phase1Result = await a2aCall("gig.create", { price: perPostPrice, quantity: totalSlots, description, ...eligibilityParams }, { "X-A2A-Extensions": X402_EXTENSION_URI });
180
180
  if (!phase1Result.id) {
181
181
  throw new Error("Missing task ID in response");
182
182
  }
@@ -189,8 +189,8 @@ async function handleCreate(args) {
189
189
  const signedPayment = await client.createPaymentPayload(paymentRequired);
190
190
  console.log("\ud83d\udce4 Submitting signed payment...\n");
191
191
  const phase2Result = await a2aCall("gig.create", {
192
- amount,
193
- per_post_price: perPostPrice,
192
+ price: perPostPrice,
193
+ quantity: totalSlots,
194
194
  description,
195
195
  ...eligibilityParams,
196
196
  taskId: phase1Result.id,
package/dist/gig.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gig.js","sourceRoot":"","sources":["../gig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gig.js","sourceRoot":"","sources":["../gig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import "dotenv/config";
2
+ //# sourceMappingURL=human.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../human.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}
package/dist/human.js ADDED
@@ -0,0 +1,345 @@
1
+ import "dotenv/config";
2
+ import minimist from "minimist";
3
+ import axios from "axios";
4
+ import { privateKeyToAccount } from "viem/accounts";
5
+ import { x402Client } from "@x402/core/client";
6
+ import { registerExactEvmScheme } from "@x402/evm/exact/client";
7
+ import { registerExactSvmScheme } from "@x402/svm/exact/client";
8
+ import { createKeyPairSignerFromBytes } from "@solana/kit";
9
+ import bs58 from "bs58";
10
+ const privateKey = process.env.EVM_PRIVATE_KEY;
11
+ const svmPrivateKey = process.env.SVM_PRIVATE_KEY;
12
+ const baseURL = process.env.RESOURCE_SERVER_URL || "https://api.molty.cash";
13
+ const identityToken = process.env.MOLTY_IDENTITY_TOKEN;
14
+ const X402_EXTENSION_URI = "https://github.com/google-a2a/a2a-x402/v0.1";
15
+ // ─── Shared Utilities ────────────────────────────────────────
16
+ function parseAmount(amountStr) {
17
+ const trimmed = amountStr.trim();
18
+ if (trimmed.endsWith("¢")) {
19
+ const cents = parseFloat(trimmed.slice(0, -1));
20
+ if (isNaN(cents))
21
+ throw new Error(`Invalid cents amount: ${amountStr}`);
22
+ return cents / 100;
23
+ }
24
+ if (trimmed.startsWith("$")) {
25
+ const dollarPart = trimmed.slice(1);
26
+ if (/^\d+$/.test(dollarPart)) {
27
+ const dollars = parseInt(dollarPart, 10);
28
+ const cents = dollars * 100;
29
+ throw new Error(`Dollar amounts like $${dollars} can be interpreted as shell variables. Please use ${cents}¢ instead.`);
30
+ }
31
+ const dollars = parseFloat(dollarPart);
32
+ if (isNaN(dollars))
33
+ throw new Error(`Invalid dollar amount: ${amountStr}`);
34
+ return dollars;
35
+ }
36
+ const amount = parseFloat(trimmed);
37
+ if (isNaN(amount))
38
+ throw new Error(`Invalid amount: ${amountStr}`);
39
+ return amount;
40
+ }
41
+ async function setupNetwork(args) {
42
+ const hasEvmKey = !!privateKey;
43
+ const hasSvmKey = !!svmPrivateKey;
44
+ let useSolana;
45
+ if (args.network) {
46
+ if (!["base", "solana"].includes(args.network.toLowerCase())) {
47
+ console.error("Network must be either 'base' or 'solana'");
48
+ process.exit(1);
49
+ }
50
+ useSolana = args.network.toLowerCase() === "solana";
51
+ if (useSolana && !hasSvmKey) {
52
+ console.error("❌ Missing SVM_PRIVATE_KEY environment variable (needed for --network solana)");
53
+ process.exit(1);
54
+ }
55
+ if (!useSolana && !hasEvmKey) {
56
+ console.error("❌ Missing EVM_PRIVATE_KEY environment variable (needed for --network base)");
57
+ process.exit(1);
58
+ }
59
+ }
60
+ else {
61
+ if (hasEvmKey && hasSvmKey) {
62
+ console.error("❌ Both EVM_PRIVATE_KEY and SVM_PRIVATE_KEY are set");
63
+ console.error(" Please specify which network to use with --network <base|solana>");
64
+ process.exit(1);
65
+ }
66
+ else if (hasSvmKey) {
67
+ useSolana = true;
68
+ console.log("ℹ️ Auto-detected network: Solana");
69
+ }
70
+ else if (hasEvmKey) {
71
+ useSolana = false;
72
+ console.log("ℹ️ Auto-detected network: Base");
73
+ }
74
+ else {
75
+ console.error("❌ No private keys found");
76
+ console.error(" Set EVM_PRIVATE_KEY (for Base) or SVM_PRIVATE_KEY (for Solana)");
77
+ process.exit(1);
78
+ }
79
+ }
80
+ const client = new x402Client();
81
+ if (useSolana) {
82
+ console.log("\n🔧 Creating Solana signer...");
83
+ const privateKeyBytes = bs58.decode(svmPrivateKey);
84
+ const solanaSigner = await createKeyPairSignerFromBytes(privateKeyBytes);
85
+ console.log(`✅ Solana signer created: ${solanaSigner.address}`);
86
+ registerExactSvmScheme(client, { signer: solanaSigner });
87
+ }
88
+ else {
89
+ console.log("\n🔧 Creating Base signer...");
90
+ if (!privateKey.startsWith("0x")) {
91
+ console.error("❌ EVM_PRIVATE_KEY must start with '0x'");
92
+ process.exit(1);
93
+ }
94
+ const account = privateKeyToAccount(privateKey);
95
+ console.log(`✅ Base signer created: ${account.address}`);
96
+ registerExactEvmScheme(client, { signer: account });
97
+ }
98
+ return { useSolana: useSolana, client };
99
+ }
100
+ // ─── Tip Subcommand ──────────────────────────────────────────
101
+ async function handleTip(args) {
102
+ if (args._.length < 3) {
103
+ console.error("Usage: moltycash human tip <username> <amount> [--network <base|solana>]");
104
+ console.error("\nExamples:");
105
+ console.error(" moltycash human tip 0xmesuthere 50¢");
106
+ console.error(" moltycash human tip 0xmesuthere 100¢ --network solana");
107
+ console.error("\nAmount formats: 100¢ (cents - recommended), 0.5 (decimal)");
108
+ process.exit(1);
109
+ }
110
+ const username = String(args._[1]);
111
+ let amount;
112
+ try {
113
+ amount = parseAmount(String(args._[2]));
114
+ if (amount <= 0)
115
+ throw new Error("Amount must be greater than 0");
116
+ if (amount > 10)
117
+ throw new Error("Amount must be 10 USDC or less");
118
+ }
119
+ catch (error) {
120
+ console.error(`❌ ${error.message}`);
121
+ process.exit(1);
122
+ }
123
+ // Pre-flight: check if user has an agent on molty.cash
124
+ const agentCardUrl = `${baseURL}/${username}/.well-known/agent-card.json`;
125
+ try {
126
+ await axios.get(agentCardUrl);
127
+ }
128
+ catch (error) {
129
+ if (error.response?.status === 404) {
130
+ console.error(`\n❌ @${username} is not on molty.cash yet.\n`);
131
+ console.error(`Invite them to join so you can tip them USDC:`);
132
+ const tweetText = encodeURIComponent(`Hey @${username}, someone wants to tip you USDC! Sign up at https://molty.cash @moltycash`);
133
+ console.error(`\n https://x.com/intent/tweet?text=${tweetText}\n`);
134
+ process.exit(1);
135
+ }
136
+ // Other errors (network, etc.) — continue and let the tip call fail with a better error
137
+ }
138
+ const { useSolana, client } = await setupNetwork(args);
139
+ const tipEndpoint = `${baseURL}/${username}/a2a`;
140
+ console.log(`\n💸 Tipping @${username} ${amount} USDC...`);
141
+ console.log(` API: ${tipEndpoint}`);
142
+ console.log(` Network: ${useSolana ? "Solana" : "Base"}`);
143
+ if (identityToken)
144
+ console.log(` 🔐 Sending as verified sender`);
145
+ console.log();
146
+ const headers = {
147
+ "Content-Type": "application/json",
148
+ "X-A2A-Extensions": X402_EXTENSION_URI,
149
+ ...(identityToken && { "X-Molty-Identity-Token": identityToken }),
150
+ };
151
+ const tipParams = { amount };
152
+ // Phase 1: Get payment requirements
153
+ console.log("💳 Phase 1: Requesting payment requirements...");
154
+ const phase1Response = await axios.post(tipEndpoint, { jsonrpc: "2.0", id: 1, method: "tip", params: tipParams }, { headers });
155
+ if (phase1Response.data.error) {
156
+ throw new Error(phase1Response.data.error.message || "A2A request failed");
157
+ }
158
+ const phase1Result = phase1Response.data.result;
159
+ if (!phase1Result.id)
160
+ throw new Error("Missing task ID in response");
161
+ const paymentRequired = phase1Result.status?.message?.metadata?.["x402.payment.required"];
162
+ if (!paymentRequired)
163
+ throw new Error("No payment requirements found in response");
164
+ // Phase 2: Sign and submit payment
165
+ console.log("🔐 Phase 2: Signing payment...");
166
+ const signedPayment = await client.createPaymentPayload(paymentRequired);
167
+ console.log("📤 Submitting signed payment...\n");
168
+ const phase2Response = await axios.post(tipEndpoint, {
169
+ jsonrpc: "2.0",
170
+ id: 2,
171
+ method: "tip",
172
+ params: { ...tipParams, taskId: phase1Result.id, payment: signedPayment },
173
+ }, { headers });
174
+ if (phase2Response.data.error) {
175
+ throw new Error(phase2Response.data.error.message || "Payment failed");
176
+ }
177
+ const result = phase2Response.data.result;
178
+ const artifacts = result.artifacts || [];
179
+ for (const artifact of artifacts) {
180
+ if (artifact.data) {
181
+ try {
182
+ const data = JSON.parse(Buffer.from(artifact.data, "base64").toString());
183
+ console.log(`✅ ${data.amount || amount} USDC sent to @${username}`);
184
+ if (data.txn_id)
185
+ console.log(`🔗 TXN: ${data.txn_id}`);
186
+ if (data.network)
187
+ console.log(`💳 Network: ${data.network}`);
188
+ if (data.receipt)
189
+ console.log(`📄 Receipt: ${data.receipt}`);
190
+ return;
191
+ }
192
+ catch {
193
+ // ignore parse errors
194
+ }
195
+ }
196
+ }
197
+ const msg = result.status?.message?.parts
198
+ ?.filter((p) => p.kind === "text")
199
+ .map((p) => p.text)
200
+ .join("\n");
201
+ console.log(`✅ ${msg || `${amount} USDC sent to @${username}`}`);
202
+ }
203
+ // ─── Hire Subcommand ─────────────────────────────────────────
204
+ async function handleHire(args) {
205
+ if (args._.length < 3 || !args.amount) {
206
+ console.error('Usage: moltycash human hire <username> "<description>" --amount <USDC> [--network <base|solana>]');
207
+ console.error("\nExamples:");
208
+ console.error(' moltycash human hire 0xmesuthere "Write an X Article about molty.cash" --amount 1');
209
+ console.error(' moltycash human hire 0xmesuthere "Review our landing page" --amount 5 --network solana');
210
+ process.exit(1);
211
+ }
212
+ const username = String(args._[1]);
213
+ const description = args._.slice(2).join(" ").trim();
214
+ let amount;
215
+ try {
216
+ amount = parseAmount(String(args.amount));
217
+ if (amount <= 0)
218
+ throw new Error("Amount must be greater than 0");
219
+ if (amount > 10)
220
+ throw new Error("Amount must be 10 USDC or less");
221
+ }
222
+ catch (error) {
223
+ console.error(`❌ ${error.message}`);
224
+ process.exit(1);
225
+ }
226
+ if (!description) {
227
+ console.error("❌ Description is required");
228
+ process.exit(1);
229
+ }
230
+ if (description.length > 500) {
231
+ console.error(`❌ Description too long (${description.length} chars). Max 500 characters.`);
232
+ process.exit(1);
233
+ }
234
+ const { useSolana, client } = await setupNetwork(args);
235
+ const hireEndpoint = `${baseURL}/${username}/a2a`;
236
+ console.log(`\n🎯 Hiring @${username} for ${amount} USDC...`);
237
+ console.log(` API: ${hireEndpoint}`);
238
+ console.log(` Network: ${useSolana ? "Solana" : "Base"}`);
239
+ console.log(` Task: ${description}`);
240
+ console.log();
241
+ const headers = {
242
+ "Content-Type": "application/json",
243
+ "X-A2A-Extensions": X402_EXTENSION_URI,
244
+ ...(identityToken && { "X-Molty-Identity-Token": identityToken }),
245
+ };
246
+ const hireParams = { description, amount };
247
+ // Phase 1: Get payment requirements
248
+ console.log("💳 Phase 1: Requesting payment requirements...");
249
+ const phase1Response = await axios.post(hireEndpoint, { jsonrpc: "2.0", id: 1, method: "hire", params: hireParams }, { headers });
250
+ if (phase1Response.data.error) {
251
+ throw new Error(phase1Response.data.error.message || "A2A request failed");
252
+ }
253
+ const phase1Result = phase1Response.data.result;
254
+ if (!phase1Result.id)
255
+ throw new Error("Missing task ID in response");
256
+ const paymentRequired = phase1Result.status?.message?.metadata?.["x402.payment.required"];
257
+ if (!paymentRequired)
258
+ throw new Error("No payment requirements found in response");
259
+ // Phase 2: Sign and submit payment
260
+ console.log("🔐 Phase 2: Signing payment...");
261
+ const signedPayment = await client.createPaymentPayload(paymentRequired);
262
+ console.log("📤 Submitting signed payment...\n");
263
+ const phase2Response = await axios.post(hireEndpoint, {
264
+ jsonrpc: "2.0",
265
+ id: 2,
266
+ method: "hire",
267
+ params: { ...hireParams, taskId: phase1Result.id, payment: signedPayment },
268
+ }, { headers });
269
+ if (phase2Response.data.error) {
270
+ throw new Error(phase2Response.data.error.message || "Hire failed");
271
+ }
272
+ const result = phase2Response.data.result;
273
+ // Try to extract details from artifacts
274
+ const artifacts = result.artifacts || [];
275
+ for (const artifact of artifacts) {
276
+ if (artifact.data) {
277
+ try {
278
+ const data = JSON.parse(Buffer.from(artifact.data, "base64").toString());
279
+ console.log(`✅ @${username} hired!`);
280
+ if (data.gig_id)
281
+ console.log(` Gig: ${data.gig_id}`);
282
+ if (data.assignment_id)
283
+ console.log(` Assignment: ${data.assignment_id}`);
284
+ console.log(` Profile: https://molty.cash/${username}`);
285
+ return;
286
+ }
287
+ catch {
288
+ // ignore
289
+ }
290
+ }
291
+ }
292
+ // Fallback: check for direct result fields
293
+ if (result.gig_id) {
294
+ console.log(`✅ @${username} hired!`);
295
+ console.log(` Gig: ${result.gig_id}`);
296
+ if (result.assignment_id)
297
+ console.log(` Assignment: ${result.assignment_id}`);
298
+ console.log(` Profile: https://molty.cash/${username}`);
299
+ return;
300
+ }
301
+ const msg = result.status?.message?.parts
302
+ ?.filter((p) => p.kind === "text")
303
+ .map((p) => p.text)
304
+ .join("\n");
305
+ console.log(`✅ ${msg || `@${username} hired`}`);
306
+ }
307
+ // ─── Main ────────────────────────────────────────────────────
308
+ const args = minimist(process.argv.slice(2));
309
+ const subcommand = args._[0];
310
+ if (!subcommand) {
311
+ console.error("Usage: moltycash human <tip|hire>");
312
+ console.error("\nSubcommands:");
313
+ console.error(" tip <username> <amount> Tip USDC to a user");
314
+ console.error(' hire <username> "<description>" --amount <USDC> Hire a user for a task');
315
+ console.error("\nExamples:");
316
+ console.error(" moltycash human tip 0xmesuthere 50¢");
317
+ console.error(' moltycash human hire 0xmesuthere "Write an X Article about molty.cash" --amount 1');
318
+ process.exit(1);
319
+ }
320
+ async function main() {
321
+ try {
322
+ switch (subcommand) {
323
+ case "tip":
324
+ await handleTip(args);
325
+ break;
326
+ case "hire":
327
+ await handleHire(args);
328
+ break;
329
+ default:
330
+ console.error(`❌ Unknown subcommand: ${subcommand}`);
331
+ console.error("Available: tip, hire");
332
+ process.exit(1);
333
+ }
334
+ }
335
+ catch (error) {
336
+ const errMsg = error.response?.data?.error?.message || error.response?.data?.msg || error.message;
337
+ console.error(`❌ ${errMsg || "Command failed"}`);
338
+ if (error.response) {
339
+ console.error(" Status:", error.response.status);
340
+ }
341
+ process.exit(1);
342
+ }
343
+ }
344
+ main();
345
+ //# sourceMappingURL=human.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.js","sourceRoot":"","sources":["../human.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moltycash",
3
- "version": "2.4.2",
3
+ "version": "3.1.1",
4
4
  "description": "CLI tool for sending USDC payments and managing gigs via molty.cash using x402 protocol",
5
5
  "type": "module",
6
6
  "bin": {
package/dist/send.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import "dotenv/config";
2
- //# sourceMappingURL=send.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../send.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}
package/dist/send.js DELETED
@@ -1,278 +0,0 @@
1
- import "dotenv/config";
2
- import minimist from "minimist";
3
- import axios from "axios";
4
- import { privateKeyToAccount } from "viem/accounts";
5
- import { x402Client } from "@x402/core/client";
6
- import { registerExactEvmScheme } from "@x402/evm/exact/client";
7
- import { registerExactSvmScheme } from "@x402/svm/exact/client";
8
- import { createKeyPairSignerFromBytes } from "@solana/kit";
9
- import bs58 from "bs58";
10
- const privateKey = process.env.EVM_PRIVATE_KEY;
11
- const svmPrivateKey = process.env.SVM_PRIVATE_KEY;
12
- const baseURL = process.env.RESOURCE_SERVER_URL || "https://api.molty.cash";
13
- const identityToken = process.env.MOLTY_IDENTITY_TOKEN;
14
- const X402_EXTENSION_URI = "https://github.com/google-a2a/a2a-x402/v0.1";
15
- /**
16
- * Parse amount from various formats:
17
- * - "50¢" -> 0.50
18
- * - "$0.5" or "$0.50" -> 0.50
19
- * - "0.5" -> 0.50
20
- */
21
- function parseAmount(amountStr) {
22
- const trimmed = amountStr.trim();
23
- // Handle cents notation (50¢)
24
- if (trimmed.endsWith("¢")) {
25
- const cents = parseFloat(trimmed.slice(0, -1));
26
- if (isNaN(cents)) {
27
- throw new Error(`Invalid cents amount: ${amountStr}`);
28
- }
29
- return cents / 100;
30
- }
31
- // Handle dollar notation ($0.5 or $0.50)
32
- if (trimmed.startsWith("$")) {
33
- const dollarPart = trimmed.slice(1);
34
- // Check if it looks like a shell positional parameter ($1, $2, $10, etc.)
35
- if (/^\d+$/.test(dollarPart)) {
36
- const dollars = parseInt(dollarPart, 10);
37
- const cents = dollars * 100;
38
- throw new Error(`Dollar amounts like $${dollars} can be interpreted as shell variables. Please use ${cents}¢ instead.`);
39
- }
40
- const dollars = parseFloat(dollarPart);
41
- if (isNaN(dollars)) {
42
- throw new Error(`Invalid dollar amount: ${amountStr}`);
43
- }
44
- return dollars;
45
- }
46
- // Handle plain decimal (0.5)
47
- const amount = parseFloat(trimmed);
48
- if (isNaN(amount)) {
49
- throw new Error(`Invalid amount: ${amountStr}`);
50
- }
51
- return amount;
52
- }
53
- function parseRecipient(input) {
54
- const slashIndex = input.indexOf("/");
55
- if (slashIndex === -1) {
56
- console.error(`❌ Invalid recipient format: ${input}`);
57
- console.error(`\nUse one of these formats:`);
58
- console.error(` moltbook/USERNAME Send to a Moltbook user`);
59
- console.error(` x/USERNAME Send to an X (Twitter) user`);
60
- console.error(`\nExamples:`);
61
- console.error(` moltycash send moltbook/KarpathyMolty 1¢`);
62
- console.error(` moltycash send x/nikitabier 50¢`);
63
- process.exit(1);
64
- }
65
- const platform = input.slice(0, slashIndex).toLowerCase();
66
- const username = input.slice(slashIndex + 1);
67
- if (!username) {
68
- throw new Error(`Missing username after "${platform}/"`);
69
- }
70
- const xPrefixes = ["x", "x.com", "twitter", "twitter.com"];
71
- const moltbookPrefixes = ["moltbook", "moltbook.com"];
72
- if (xPrefixes.includes(platform)) {
73
- return { type: "x", username };
74
- }
75
- if (moltbookPrefixes.includes(platform)) {
76
- if (!/^[a-zA-Z0-9_-]{1,30}$/.test(username)) {
77
- throw new Error(`Invalid moltbook username: ${username}. Must be 1-30 alphanumeric characters, underscores, or hyphens.`);
78
- }
79
- return { type: "moltbook", username };
80
- }
81
- throw new Error(`Unknown platform: "${platform}". Use "x/" for X users or "moltbook/" for Moltbook users.`);
82
- }
83
- const args = minimist(process.argv.slice(2));
84
- let recipient;
85
- let amount;
86
- if (args._.length < 2) {
87
- console.error("Usage: moltycash send <recipient> <amount> [--network <base|solana>]");
88
- console.error("\nRecipient formats:");
89
- console.error(" moltbook/USERNAME Send to a Moltbook user");
90
- console.error(" x/USERNAME Send to an X (Twitter) user");
91
- console.error("\nExamples:");
92
- console.error(" moltycash send moltbook/KarpathyMolty 1¢");
93
- console.error(" moltycash send x/nikitabier 50¢");
94
- console.error(" moltycash send x/nikitabier 100¢ --network solana");
95
- console.error("\nAmount formats: 100¢ (cents - recommended), 0.5 (decimal)");
96
- process.exit(1);
97
- }
98
- try {
99
- recipient = parseRecipient(String(args._[0]));
100
- amount = parseAmount(String(args._[1]));
101
- if (amount <= 0) {
102
- throw new Error("Amount must be greater than 0");
103
- }
104
- }
105
- catch (error) {
106
- console.error(`❌ ${error.message}`);
107
- process.exit(1);
108
- }
109
- // Check which private keys are available
110
- const hasEvmKey = !!privateKey;
111
- const hasSvmKey = !!svmPrivateKey;
112
- // Determine network based on provided arg or auto-detect
113
- let useSolana;
114
- const allowedNetworks = ["base", "solana"];
115
- if (args.network) {
116
- if (!allowedNetworks.includes(args.network.toLowerCase())) {
117
- console.error(`Network must be either 'base' or 'solana'`);
118
- process.exit(1);
119
- }
120
- useSolana = args.network.toLowerCase() === "solana";
121
- if (useSolana && !hasSvmKey) {
122
- console.error("❌ Missing SVM_PRIVATE_KEY environment variable (needed for --network solana)");
123
- process.exit(1);
124
- }
125
- if (!useSolana && !hasEvmKey) {
126
- console.error("❌ Missing EVM_PRIVATE_KEY environment variable (needed for --network base)");
127
- process.exit(1);
128
- }
129
- }
130
- else {
131
- // Auto-detect from available keys
132
- if (hasEvmKey && hasSvmKey) {
133
- console.error("❌ Both EVM_PRIVATE_KEY and SVM_PRIVATE_KEY are set");
134
- console.error(" Please specify which network to use with --network <base|solana>");
135
- process.exit(1);
136
- }
137
- else if (hasSvmKey) {
138
- useSolana = true;
139
- console.log("ℹ️ Auto-detected network: Solana");
140
- }
141
- else if (hasEvmKey) {
142
- useSolana = false;
143
- console.log("ℹ️ Auto-detected network: Base");
144
- }
145
- else {
146
- console.error("❌ No private keys found");
147
- console.error(" Set EVM_PRIVATE_KEY (for Base) or SVM_PRIVATE_KEY (for Solana)");
148
- process.exit(1);
149
- }
150
- }
151
- async function main() {
152
- // Create x402 client
153
- const client = new x402Client();
154
- if (useSolana) {
155
- console.log("\n🔧 Creating Solana signer...");
156
- const privateKeyBytes = bs58.decode(svmPrivateKey);
157
- const solanaSigner = await createKeyPairSignerFromBytes(privateKeyBytes);
158
- console.log(`✅ Solana signer created: ${solanaSigner.address}`);
159
- registerExactSvmScheme(client, { signer: solanaSigner });
160
- }
161
- else {
162
- console.log("\n🔧 Creating Base signer...");
163
- if (!privateKey.startsWith("0x")) {
164
- console.error("❌ EVM_PRIVATE_KEY must start with '0x'");
165
- process.exit(1);
166
- }
167
- const account = privateKeyToAccount(privateKey);
168
- console.log(`✅ Base signer created: ${account.address}`);
169
- registerExactEvmScheme(client, { signer: account });
170
- }
171
- const recipientLabel = recipient.type === "moltbook"
172
- ? `@${recipient.username}`
173
- : `x/@${recipient.username}`;
174
- console.log(`\n💸 Sending ${amount} USDC to ${recipientLabel}...`);
175
- console.log(` API: ${baseURL}/a2a`);
176
- console.log(` Network: ${useSolana ? "Solana" : "Base"}`);
177
- if (identityToken) {
178
- console.log(` 🔐 Sending as verified sender`);
179
- }
180
- console.log();
181
- const headers = {
182
- "Content-Type": "application/json",
183
- "X-A2A-Extensions": X402_EXTENSION_URI,
184
- ...(identityToken && { "X-Molty-Identity-Token": identityToken }),
185
- };
186
- const payParams = {
187
- ...(recipient.type === "moltbook" && { molty: recipient.username }),
188
- ...(recipient.type === "x" && { x_handle: recipient.username }),
189
- amount,
190
- description: `Payment via moltycash-cli (${useSolana ? "Solana" : "Base"})`,
191
- meta: { agent_name: "moltycash-cli" },
192
- };
193
- try {
194
- // Phase 1: Get payment requirements
195
- console.log("💳 Phase 1: Requesting payment requirements...");
196
- const phase1Response = await axios.post(`${baseURL}/a2a`, {
197
- jsonrpc: "2.0",
198
- id: 1,
199
- method: "molty.send",
200
- params: payParams,
201
- }, { headers });
202
- if (phase1Response.data.error) {
203
- throw new Error(phase1Response.data.error.message || "A2A request failed");
204
- }
205
- const phase1Result = phase1Response.data.result;
206
- if (!phase1Result.id) {
207
- throw new Error("Missing task ID in response");
208
- }
209
- const paymentRequired = phase1Result.status?.message?.metadata?.["x402.payment.required"];
210
- if (!paymentRequired) {
211
- throw new Error("No payment requirements found in response");
212
- }
213
- // Phase 2: Sign and submit payment
214
- console.log("🔐 Phase 2: Signing payment...");
215
- const signedPayment = await client.createPaymentPayload(paymentRequired);
216
- console.log("📤 Submitting signed payment...\n");
217
- const phase2Response = await axios.post(`${baseURL}/a2a`, {
218
- jsonrpc: "2.0",
219
- id: 2,
220
- method: "molty.send",
221
- params: {
222
- ...payParams,
223
- taskId: phase1Result.id,
224
- payment: signedPayment,
225
- },
226
- }, { headers });
227
- if (phase2Response.data.error) {
228
- throw new Error(phase2Response.data.error.message || "Payment failed");
229
- }
230
- const result = phase2Response.data.result;
231
- // Extract details from task artifacts
232
- const artifacts = result.artifacts || [];
233
- for (const artifact of artifacts) {
234
- if (artifact.data) {
235
- try {
236
- const data = JSON.parse(Buffer.from(artifact.data, "base64").toString());
237
- const displayName = data.molty ? `@${data.molty}` : data.x_handle ? `x/@${data.x_handle}` : recipientLabel;
238
- console.log(`✅ ${data.amount} USDC sent to ${displayName}`);
239
- if (data.txn_id) {
240
- console.log(`🔗 TXN: ${data.txn_id}`);
241
- }
242
- if (data.network) {
243
- console.log(`💳 Network: ${data.network}`);
244
- }
245
- if (data.receipt) {
246
- console.log(`📄 Receipt: ${data.receipt}`);
247
- }
248
- if (data.x_handle) {
249
- console.log(`🐦 X: @${data.x_handle}`);
250
- }
251
- return;
252
- }
253
- catch {
254
- // ignore parse errors
255
- }
256
- }
257
- }
258
- // Fallback: print status message
259
- const msg = result.status?.message?.parts
260
- ?.filter((p) => p.kind === "text")
261
- .map((p) => p.text)
262
- .join("\n");
263
- console.log(`✅ ${msg || "Payment sent"}`);
264
- }
265
- catch (error) {
266
- const errMsg = error.response?.data?.error?.message || error.response?.data?.msg || error.message;
267
- console.error(`❌ ${errMsg || "Payment failed"}`);
268
- if (error.response) {
269
- console.error(" Status:", error.response.status);
270
- }
271
- else if (error.message && !errMsg) {
272
- console.error(" Error:", error.message);
273
- }
274
- process.exit(1);
275
- }
276
- }
277
- main();
278
- //# sourceMappingURL=send.js.map
package/dist/send.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../send.ts"],"names":[],"mappings":"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"}