arc402-cli 0.7.5 → 0.8.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.
- package/MIGRATION-SPEC.md +108 -0
- package/dist/abis.js +14 -17
- package/dist/abis.js.map +1 -1
- package/dist/bundler.d.ts +1 -1
- package/dist/bundler.d.ts.map +1 -1
- package/dist/bundler.js +27 -61
- package/dist/bundler.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -9
- package/dist/client.js.map +1 -1
- package/dist/coinbase-smart-wallet.js +1 -4
- package/dist/coinbase-smart-wallet.js.map +1 -1
- package/dist/commands/accept.js +25 -28
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/agent-handshake.js +15 -18
- package/dist/commands/agent-handshake.js.map +1 -1
- package/dist/commands/agent.js +98 -104
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/agreements.js +62 -98
- package/dist/commands/agreements.js.map +1 -1
- package/dist/commands/arbitrator.js +45 -81
- package/dist/commands/arbitrator.js.map +1 -1
- package/dist/commands/arena-handshake.js +27 -30
- package/dist/commands/arena-handshake.js.map +1 -1
- package/dist/commands/arena.js +12 -18
- package/dist/commands/arena.js.map +1 -1
- package/dist/commands/backup.js +30 -36
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cancel.js +15 -18
- package/dist/commands/cancel.js.map +1 -1
- package/dist/commands/channel.js +45 -81
- package/dist/commands/channel.js.map +1 -1
- package/dist/commands/coldstart.js +31 -34
- package/dist/commands/coldstart.js.map +1 -1
- package/dist/commands/config.js +23 -29
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contract-interaction.js +12 -15
- package/dist/commands/contract-interaction.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +98 -135
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/deliver.js +37 -76
- package/dist/commands/deliver.js.map +1 -1
- package/dist/commands/discover.js +24 -27
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/dispute.js +104 -110
- package/dist/commands/dispute.js.map +1 -1
- package/dist/commands/doctor.js +16 -55
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/endpoint.js +56 -95
- package/dist/commands/endpoint.js.map +1 -1
- package/dist/commands/feed.js +11 -18
- package/dist/commands/feed.js.map +1 -1
- package/dist/commands/hire.js +37 -40
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/migrate.js +30 -33
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/negotiate.d.ts.map +1 -1
- package/dist/commands/negotiate.js +34 -36
- package/dist/commands/negotiate.js.map +1 -1
- package/dist/commands/openshell.js +68 -104
- package/dist/commands/openshell.js.map +1 -1
- package/dist/commands/owner.js +17 -20
- package/dist/commands/owner.js.map +1 -1
- package/dist/commands/policy.js +41 -43
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/relay.d.ts.map +1 -1
- package/dist/commands/relay.js +18 -51
- package/dist/commands/relay.js.map +1 -1
- package/dist/commands/remediate.js +20 -23
- package/dist/commands/remediate.js.map +1 -1
- package/dist/commands/reputation.js +25 -27
- package/dist/commands/reputation.js.map +1 -1
- package/dist/commands/setup.js +65 -104
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/trust.js +17 -20
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/verify.js +18 -21
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/wallet.js +619 -625
- package/dist/commands/wallet.js.map +1 -1
- package/dist/commands/watch.js +33 -36
- package/dist/commands/watch.js.map +1 -1
- package/dist/commands/watchtower.js +37 -73
- package/dist/commands/watchtower.js.map +1 -1
- package/dist/commands/workroom.d.ts.map +1 -1
- package/dist/commands/workroom.js +138 -171
- package/dist/commands/workroom.js.map +1 -1
- package/dist/config.js +21 -65
- package/dist/config.js.map +1 -1
- package/dist/daemon/config.d.ts.map +1 -1
- package/dist/daemon/config.js +16 -53
- package/dist/daemon/config.js.map +1 -1
- package/dist/daemon/hire-listener.d.ts +3 -3
- package/dist/daemon/hire-listener.d.ts.map +1 -1
- package/dist/daemon/hire-listener.js +13 -47
- package/dist/daemon/hire-listener.js.map +1 -1
- package/dist/daemon/index.d.ts +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +50 -88
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/job-lifecycle.d.ts +1 -1
- package/dist/daemon/job-lifecycle.d.ts.map +1 -1
- package/dist/daemon/job-lifecycle.js +11 -51
- package/dist/daemon/job-lifecycle.js.map +1 -1
- package/dist/daemon/notify.d.ts +1 -1
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +19 -53
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/token-metering.js +8 -47
- package/dist/daemon/token-metering.js.map +1 -1
- package/dist/daemon/userops.d.ts +2 -2
- package/dist/daemon/userops.d.ts.map +1 -1
- package/dist/daemon/userops.js +23 -27
- package/dist/daemon/userops.js.map +1 -1
- package/dist/daemon/wallet-monitor.d.ts +1 -1
- package/dist/daemon/wallet-monitor.d.ts.map +1 -1
- package/dist/daemon/wallet-monitor.js +8 -12
- package/dist/daemon/wallet-monitor.js.map +1 -1
- package/dist/drain-v4.js +26 -64
- package/dist/drain-v4.js.map +1 -1
- package/dist/endpoint-config.js +20 -63
- package/dist/endpoint-config.js.map +1 -1
- package/dist/endpoint-notify.js +9 -48
- package/dist/endpoint-notify.js.map +1 -1
- package/dist/index.js +16 -50
- package/dist/index.js.map +1 -1
- package/dist/openshell-runtime.d.ts.map +1 -1
- package/dist/openshell-runtime.js +38 -82
- package/dist/openshell-runtime.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +77 -83
- package/dist/program.js.map +1 -1
- package/dist/repl.js +25 -31
- package/dist/repl.js.map +1 -1
- package/dist/signing.js +3 -6
- package/dist/signing.js.map +1 -1
- package/dist/telegram-notify.js +3 -40
- package/dist/telegram-notify.js.map +1 -1
- package/dist/tui/App.d.ts +1 -9
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +47 -65
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Footer.js +4 -7
- package/dist/tui/Footer.js.map +1 -1
- package/dist/tui/Header.d.ts +1 -2
- package/dist/tui/Header.d.ts.map +1 -1
- package/dist/tui/Header.js +8 -14
- package/dist/tui/Header.js.map +1 -1
- package/dist/tui/InputLine.js +17 -23
- package/dist/tui/InputLine.js.map +1 -1
- package/dist/tui/Viewport.d.ts +5 -4
- package/dist/tui/Viewport.d.ts.map +1 -1
- package/dist/tui/Viewport.js +20 -13
- package/dist/tui/Viewport.js.map +1 -1
- package/dist/tui/WalletConnectPairing.d.ts +23 -0
- package/dist/tui/WalletConnectPairing.d.ts.map +1 -0
- package/dist/tui/WalletConnectPairing.js +75 -0
- package/dist/tui/WalletConnectPairing.js.map +1 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +14 -21
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/useChat.js +13 -19
- package/dist/tui/useChat.js.map +1 -1
- package/dist/tui/useCommand.d.ts +2 -7
- package/dist/tui/useCommand.d.ts.map +1 -1
- package/dist/tui/useCommand.js +77 -165
- package/dist/tui/useCommand.js.map +1 -1
- package/dist/tui/useScroll.js +9 -12
- package/dist/tui/useScroll.js.map +1 -1
- package/dist/ui/banner.js +12 -19
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/colors.js +13 -19
- package/dist/ui/colors.js.map +1 -1
- package/dist/ui/format.js +6 -14
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/spinner.js +6 -12
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/tree.js +3 -6
- package/dist/ui/tree.js.map +1 -1
- package/dist/utils/format.js +27 -41
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/hash.js +4 -42
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/time.js +2 -6
- package/dist/utils/time.js.map +1 -1
- package/dist/wallet-router.d.ts +1 -1
- package/dist/wallet-router.d.ts.map +1 -1
- package/dist/wallet-router.js +12 -19
- package/dist/wallet-router.js.map +1 -1
- package/dist/walletconnect-session.d.ts +1 -1
- package/dist/walletconnect-session.d.ts.map +1 -1
- package/dist/walletconnect-session.js +6 -11
- package/dist/walletconnect-session.js.map +1 -1
- package/dist/walletconnect.d.ts +6 -1
- package/dist/walletconnect.d.ts.map +1 -1
- package/dist/walletconnect.js +32 -35
- package/dist/walletconnect.js.map +1 -1
- package/package.json +7 -6
- package/src/bundler.ts +1 -1
- package/src/client.ts +1 -1
- package/src/commands/accept.ts +7 -7
- package/src/commands/agent-handshake.ts +4 -4
- package/src/commands/agent.ts +9 -9
- package/src/commands/agreements.ts +8 -8
- package/src/commands/arbitrator.ts +5 -5
- package/src/commands/arena-handshake.ts +6 -6
- package/src/commands/arena.ts +2 -2
- package/src/commands/backup.ts +1 -1
- package/src/commands/cancel.ts +6 -6
- package/src/commands/channel.ts +6 -6
- package/src/commands/coldstart.ts +5 -5
- package/src/commands/config.ts +2 -2
- package/src/commands/contract-interaction.ts +2 -2
- package/src/commands/daemon.ts +14 -11
- package/src/commands/deliver.ts +9 -9
- package/src/commands/discover.ts +5 -5
- package/src/commands/dispute.ts +7 -7
- package/src/commands/doctor.ts +2 -2
- package/src/commands/endpoint.ts +6 -6
- package/src/commands/feed.ts +1 -1
- package/src/commands/hire.ts +10 -10
- package/src/commands/migrate.ts +7 -7
- package/src/commands/negotiate.ts +6 -5
- package/src/commands/openshell.ts +4 -4
- package/src/commands/owner.ts +5 -5
- package/src/commands/policy.ts +5 -5
- package/src/commands/relay.ts +5 -1
- package/src/commands/remediate.ts +5 -5
- package/src/commands/reputation.ts +6 -6
- package/src/commands/setup.ts +1 -1
- package/src/commands/trust.ts +6 -6
- package/src/commands/verify.ts +6 -6
- package/src/commands/wallet.ts +15 -15
- package/src/commands/watch.ts +3 -3
- package/src/commands/watchtower.ts +6 -6
- package/src/commands/workroom.ts +14 -10
- package/src/daemon/config.ts +2 -1
- package/src/daemon/hire-listener.ts +3 -3
- package/src/daemon/index.ts +10 -9
- package/src/daemon/job-lifecycle.ts +1 -1
- package/src/daemon/notify.ts +4 -4
- package/src/daemon/userops.ts +4 -4
- package/src/daemon/wallet-monitor.ts +2 -2
- package/src/endpoint-notify.ts +1 -1
- package/src/index.ts +8 -7
- package/src/openshell-runtime.ts +5 -1
- package/src/program.ts +36 -36
- package/src/repl.ts +3 -3
- package/src/tui/App.tsx +26 -47
- package/src/tui/Header.tsx +3 -10
- package/src/tui/InputLine.tsx +1 -1
- package/src/tui/Viewport.tsx +22 -18
- package/src/tui/WalletConnectPairing.tsx +131 -0
- package/src/tui/index.tsx +7 -8
- package/src/tui/useChat.ts +1 -1
- package/src/tui/useCommand.ts +86 -183
- package/src/ui/banner.ts +2 -2
- package/src/ui/tree.ts +1 -1
- package/src/wallet-router.ts +2 -2
- package/src/walletconnect-session.ts +1 -1
- package/src/walletconnect.ts +20 -5
- package/tsconfig.json +16 -7
package/dist/commands/watch.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const config_1 = require("../config");
|
|
6
|
-
const client_1 = require("../client");
|
|
7
|
-
const colors_1 = require("../ui/colors");
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { loadConfig } from "../config.js";
|
|
3
|
+
import { getClient } from "../client.js";
|
|
4
|
+
import { c } from "../ui/colors.js";
|
|
8
5
|
// ─── Minimal ABIs for event watching ─────────────────────────────────────────
|
|
9
6
|
const AGENT_REGISTRY_WATCH_ABI = [
|
|
10
7
|
"event AgentRegistered(address indexed wallet, string name, string serviceType, uint256 timestamp)",
|
|
@@ -45,23 +42,23 @@ function nowHHMM() {
|
|
|
45
42
|
return `${h}:${m}`;
|
|
46
43
|
}
|
|
47
44
|
function printEvent(label, detail, status) {
|
|
48
|
-
const ts =
|
|
49
|
-
const col = status === "ok" ?
|
|
50
|
-
process.stdout.write(` ${ts} ${col(label)} ${
|
|
45
|
+
const ts = c.dim(`[${nowHHMM()}]`);
|
|
46
|
+
const col = status === "ok" ? c.green : status === "err" ? c.red : status === "warn" ? c.yellow : c.white;
|
|
47
|
+
process.stdout.write(` ${ts} ${col(label)} ${c.dim(detail)}\n`);
|
|
51
48
|
}
|
|
52
|
-
function registerWatchCommand(program) {
|
|
49
|
+
export function registerWatchCommand(program) {
|
|
53
50
|
program
|
|
54
51
|
.command("watch")
|
|
55
52
|
.description("Watch wallet activity in real-time (live onchain event feed)")
|
|
56
53
|
.action(async () => {
|
|
57
|
-
const config =
|
|
58
|
-
const { provider } = await
|
|
54
|
+
const config = loadConfig();
|
|
55
|
+
const { provider } = await getClient(config);
|
|
59
56
|
const myWallet = (config.walletContractAddress ?? "").toLowerCase();
|
|
60
57
|
const shortMe = myWallet ? shortAddr(config.walletContractAddress) : "(no wallet)";
|
|
61
58
|
const line = "─".repeat(22);
|
|
62
|
-
console.log(`\n ${
|
|
63
|
-
console.log(` ${
|
|
64
|
-
console.log(` ${
|
|
59
|
+
console.log(`\n ${c.mark} ${c.white("ARC-402 Live Feed")} ${c.dim(line)}`);
|
|
60
|
+
console.log(` ${c.dim("Watching")} ${c.brightCyan(shortMe)} ${c.dim("on")} ${c.dim(config.network)}`);
|
|
61
|
+
console.log(` ${c.dim("Ctrl+C to exit")}\n`);
|
|
65
62
|
// ── Build contract instances ───────────────────────────────────────────
|
|
66
63
|
const contractLabels = [];
|
|
67
64
|
if (config.agentRegistryAddress)
|
|
@@ -73,25 +70,25 @@ function registerWatchCommand(program) {
|
|
|
73
70
|
if (config.disputeModuleAddress)
|
|
74
71
|
contractLabels.push("DisputeModule");
|
|
75
72
|
if (contractLabels.length === 0) {
|
|
76
|
-
console.log(` ${
|
|
73
|
+
console.log(` ${c.warning} No contract addresses configured. Run arc402 config init.`);
|
|
77
74
|
process.exit(1);
|
|
78
75
|
}
|
|
79
|
-
console.log(` ${
|
|
76
|
+
console.log(` ${c.dim(`Monitoring ${contractLabels.length} contract${contractLabels.length !== 1 ? "s" : ""}: ${contractLabels.join(", ")}`)}\n`);
|
|
80
77
|
// ── Helpers ────────────────────────────────────────────────────────────
|
|
81
78
|
function isMe(addr) {
|
|
82
79
|
return myWallet !== "" && addr.toLowerCase() === myWallet;
|
|
83
80
|
}
|
|
84
81
|
function fmtAddr(addr) {
|
|
85
|
-
return isMe(addr) ?
|
|
82
|
+
return isMe(addr) ? c.brightCyan("you") : c.dim(shortAddr(addr));
|
|
86
83
|
}
|
|
87
84
|
// ── AgentRegistry ──────────────────────────────────────────────────────
|
|
88
85
|
if (config.agentRegistryAddress) {
|
|
89
|
-
const reg = new
|
|
86
|
+
const reg = new ethers.Contract(config.agentRegistryAddress, AGENT_REGISTRY_WATCH_ABI, provider);
|
|
90
87
|
reg.on("AgentRegistered", (wallet, name, serviceType) => {
|
|
91
|
-
printEvent(`Agent registered: ${name}`, `${fmtAddr(wallet)} ${
|
|
88
|
+
printEvent(`Agent registered: ${name}`, `${fmtAddr(wallet)} ${c.dim(serviceType)}`, "ok");
|
|
92
89
|
});
|
|
93
90
|
reg.on("AgentUpdated", (wallet, name, serviceType) => {
|
|
94
|
-
printEvent(`Agent updated: ${name}`, `${fmtAddr(wallet)} ${
|
|
91
|
+
printEvent(`Agent updated: ${name}`, `${fmtAddr(wallet)} ${c.dim(serviceType)}`);
|
|
95
92
|
});
|
|
96
93
|
reg.on("AgentDeactivated", (wallet) => {
|
|
97
94
|
printEvent(`Agent deactivated`, fmtAddr(wallet), "warn");
|
|
@@ -99,42 +96,42 @@ function registerWatchCommand(program) {
|
|
|
99
96
|
}
|
|
100
97
|
// ── ServiceAgreement ───────────────────────────────────────────────────
|
|
101
98
|
if (config.serviceAgreementAddress) {
|
|
102
|
-
const sa = new
|
|
99
|
+
const sa = new ethers.Contract(config.serviceAgreementAddress, SERVICE_AGREEMENT_WATCH_ABI, provider);
|
|
103
100
|
sa.on("AgreementProposed", (id, client, agentProvider, serviceType) => {
|
|
104
101
|
const involved = isMe(client) || isMe(agentProvider);
|
|
105
|
-
printEvent(`Agreement #${id} proposed`, `${fmtAddr(client)} → ${fmtAddr(agentProvider)} ${
|
|
102
|
+
printEvent(`Agreement #${id} proposed`, `${fmtAddr(client)} → ${fmtAddr(agentProvider)} ${c.dim(serviceType)}`, involved ? "ok" : undefined);
|
|
106
103
|
});
|
|
107
104
|
sa.on("AgreementAccepted", (id, agentProvider) => {
|
|
108
|
-
printEvent(`Agreement #${id} → ${
|
|
105
|
+
printEvent(`Agreement #${id} → ${c.green("ACCEPTED")}`, fmtAddr(agentProvider));
|
|
109
106
|
});
|
|
110
107
|
sa.on("AgreementFulfilled", (id, agentProvider, deliverablesHash) => {
|
|
111
|
-
printEvent(`Agreement #${id} → ${
|
|
108
|
+
printEvent(`Agreement #${id} → ${c.green("DELIVERED")}`, `${fmtAddr(agentProvider)} ${c.dim(deliverablesHash.slice(0, 10) + "...")}`, "ok");
|
|
112
109
|
});
|
|
113
110
|
sa.on("AgreementDisputed", (id, initiator, reason) => {
|
|
114
|
-
printEvent(`Agreement #${id} → ${
|
|
111
|
+
printEvent(`Agreement #${id} → ${c.red("DISPUTED")}`, `${fmtAddr(initiator)} ${c.dim(reason.slice(0, 40))}`, "err");
|
|
115
112
|
});
|
|
116
113
|
sa.on("AgreementCancelled", (id, client) => {
|
|
117
|
-
printEvent(`Agreement #${id} → ${
|
|
114
|
+
printEvent(`Agreement #${id} → ${c.yellow("CANCELLED")}`, fmtAddr(client), "warn");
|
|
118
115
|
});
|
|
119
116
|
}
|
|
120
117
|
// ── Handshake ──────────────────────────────────────────────────────────
|
|
121
118
|
if (config.handshakeAddress) {
|
|
122
|
-
const hs = new
|
|
119
|
+
const hs = new ethers.Contract(config.handshakeAddress, HANDSHAKE_WATCH_ABI, provider);
|
|
123
120
|
hs.on("HandshakeSent", (_id, from, to, hsType, _token, _amount, note) => {
|
|
124
121
|
const typeLabel = HS_TYPE_LABELS[hsType] ?? `type ${hsType}`;
|
|
125
122
|
const toMe = isMe(to);
|
|
126
|
-
const noteStr = note ? ` ${
|
|
127
|
-
printEvent(`Handshake from ${fmtAddr(from)} → ${fmtAddr(to)}`, `${
|
|
123
|
+
const noteStr = note ? ` ${c.dim(`(${note.slice(0, 30)})`)}` : "";
|
|
124
|
+
printEvent(`Handshake from ${fmtAddr(from)} → ${fmtAddr(to)}`, `${c.dim(typeLabel)}${noteStr}`, toMe ? "ok" : undefined);
|
|
128
125
|
});
|
|
129
126
|
}
|
|
130
127
|
// ── DisputeModule ──────────────────────────────────────────────────────
|
|
131
128
|
if (config.disputeModuleAddress) {
|
|
132
|
-
const dm = new
|
|
129
|
+
const dm = new ethers.Contract(config.disputeModuleAddress, DISPUTE_MODULE_WATCH_ABI, provider);
|
|
133
130
|
dm.on("DisputeRaised", (agreementId, initiator, reason) => {
|
|
134
|
-
printEvent(`Dispute raised on #${agreementId}`, `${fmtAddr(initiator)} ${
|
|
131
|
+
printEvent(`Dispute raised on #${agreementId}`, `${fmtAddr(initiator)} ${c.dim(reason.slice(0, 40))}`, "err");
|
|
135
132
|
});
|
|
136
133
|
dm.on("DisputeResolved", (agreementId, favorProvider, resolution) => {
|
|
137
|
-
printEvent(`Dispute #${agreementId} → ${
|
|
134
|
+
printEvent(`Dispute #${agreementId} → ${c.green("RESOLVED")}`, `${c.dim(favorProvider ? "provider wins" : "client wins")} ${c.dim(resolution.slice(0, 30))}`, "ok");
|
|
138
135
|
});
|
|
139
136
|
}
|
|
140
137
|
// ── Block heartbeat (shows feed is alive) ──────────────────────────────
|
|
@@ -143,13 +140,13 @@ function registerWatchCommand(program) {
|
|
|
143
140
|
if (blockNumber > lastBlock) {
|
|
144
141
|
lastBlock = blockNumber;
|
|
145
142
|
if (blockNumber % 10 === 0) {
|
|
146
|
-
process.stdout.write(` ${
|
|
143
|
+
process.stdout.write(` ${c.dim(`· block ${blockNumber}`)}\n`);
|
|
147
144
|
}
|
|
148
145
|
}
|
|
149
146
|
});
|
|
150
147
|
// ── Clean exit ─────────────────────────────────────────────────────────
|
|
151
148
|
process.on("SIGINT", () => {
|
|
152
|
-
console.log(`\n ${
|
|
149
|
+
console.log(`\n ${c.dim("Feed stopped.")}`);
|
|
153
150
|
provider.removeAllListeners();
|
|
154
151
|
process.exit(0);
|
|
155
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.registerWatchtowerCommands = registerWatchtowerCommands;
|
|
37
|
-
const fs = __importStar(require("fs"));
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const os = __importStar(require("os"));
|
|
40
|
-
const config_1 = require("../config");
|
|
41
|
-
const client_1 = require("../client");
|
|
42
|
-
const sdk_1 = require("@arc402/sdk");
|
|
43
|
-
const colors_1 = require("../ui/colors");
|
|
44
|
-
const spinner_1 = require("../ui/spinner");
|
|
45
|
-
const tree_1 = require("../ui/tree");
|
|
46
|
-
const format_1 = require("../ui/format");
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import * as os from "os";
|
|
4
|
+
import { loadConfig } from "../config.js";
|
|
5
|
+
import { requireSigner, getClient } from "../client.js";
|
|
6
|
+
import { WatchtowerClient, ChannelClient } from "@arc402/sdk";
|
|
7
|
+
import { c } from '../ui/colors.js';
|
|
8
|
+
import { startSpinner } from '../ui/spinner.js';
|
|
9
|
+
import { renderTree } from '../ui/tree.js';
|
|
10
|
+
import { formatAddress } from '../ui/format.js';
|
|
47
11
|
const CHANNEL_STATES_DIR = path.join(os.homedir(), ".arc402", "channel-states");
|
|
48
12
|
function loadStateFile(filePath) {
|
|
49
13
|
const raw = fs.readFileSync(filePath, "utf-8");
|
|
@@ -54,7 +18,7 @@ function loadStateFile(filePath) {
|
|
|
54
18
|
sequenceNumber: Number(obj.sequenceNumber),
|
|
55
19
|
};
|
|
56
20
|
}
|
|
57
|
-
function registerWatchtowerCommands(program) {
|
|
21
|
+
export function registerWatchtowerCommands(program) {
|
|
58
22
|
const wt = program
|
|
59
23
|
.command("watchtower")
|
|
60
24
|
.description("Watchtower management — register, status, and monitor channels for bad-faith closes");
|
|
@@ -66,18 +30,18 @@ function registerWatchtowerCommands(program) {
|
|
|
66
30
|
.option("--capabilities <caps>", "Comma-separated capability tags", "challenge")
|
|
67
31
|
.option("--json", "JSON output")
|
|
68
32
|
.action(async (opts) => {
|
|
69
|
-
const config =
|
|
33
|
+
const config = loadConfig();
|
|
70
34
|
if (!config.watchtowerRegistryAddress)
|
|
71
35
|
throw new Error("watchtowerRegistryAddress missing in config");
|
|
72
36
|
if (!config.serviceAgreementAddress)
|
|
73
37
|
throw new Error("serviceAgreementAddress missing in config");
|
|
74
|
-
const { signer } = await
|
|
75
|
-
const client = new
|
|
38
|
+
const { signer } = await requireSigner(config);
|
|
39
|
+
const client = new WatchtowerClient(config.watchtowerRegistryAddress, config.serviceAgreementAddress, signer);
|
|
76
40
|
const capabilities = opts.capabilities
|
|
77
41
|
.split(",")
|
|
78
42
|
.map((s) => s.trim())
|
|
79
43
|
.filter(Boolean);
|
|
80
|
-
const regSpinner =
|
|
44
|
+
const regSpinner = startSpinner('Registering watchtower…');
|
|
81
45
|
const result = await client.registerWatchtower({
|
|
82
46
|
name: opts.name,
|
|
83
47
|
description: opts.description,
|
|
@@ -88,8 +52,8 @@ function registerWatchtowerCommands(program) {
|
|
|
88
52
|
console.log(JSON.stringify(result));
|
|
89
53
|
}
|
|
90
54
|
else {
|
|
91
|
-
regSpinner.succeed(
|
|
92
|
-
|
|
55
|
+
regSpinner.succeed(c.success + c.white(' Registered as watchtower'));
|
|
56
|
+
renderTree([
|
|
93
57
|
{ label: 'Name', value: opts.name },
|
|
94
58
|
{ label: 'Tx', value: result.txHash, last: true },
|
|
95
59
|
]);
|
|
@@ -100,13 +64,13 @@ function registerWatchtowerCommands(program) {
|
|
|
100
64
|
.description("Check watchtower registration status (defaults to your own address)")
|
|
101
65
|
.option("--json", "JSON output")
|
|
102
66
|
.action(async (address, opts) => {
|
|
103
|
-
const config =
|
|
67
|
+
const config = loadConfig();
|
|
104
68
|
if (!config.watchtowerRegistryAddress)
|
|
105
69
|
throw new Error("watchtowerRegistryAddress missing in config");
|
|
106
70
|
if (!config.serviceAgreementAddress)
|
|
107
71
|
throw new Error("serviceAgreementAddress missing in config");
|
|
108
|
-
const { provider, address: myAddress } = await
|
|
109
|
-
const client = new
|
|
72
|
+
const { provider, address: myAddress } = await getClient(config);
|
|
73
|
+
const client = new WatchtowerClient(config.watchtowerRegistryAddress, config.serviceAgreementAddress, provider);
|
|
110
74
|
const target = address ?? myAddress;
|
|
111
75
|
if (!target) {
|
|
112
76
|
console.error("No address provided and no private key configured");
|
|
@@ -117,7 +81,7 @@ function registerWatchtowerCommands(program) {
|
|
|
117
81
|
console.log(JSON.stringify(status, null, 2));
|
|
118
82
|
}
|
|
119
83
|
else {
|
|
120
|
-
console.log('\n ' +
|
|
84
|
+
console.log('\n ' + c.mark + c.white(' Watchtower — ' + formatAddress(status.addr)));
|
|
121
85
|
const statusItems = [
|
|
122
86
|
{ label: 'Name', value: status.name },
|
|
123
87
|
{ label: 'Description', value: status.description },
|
|
@@ -130,7 +94,7 @@ function registerWatchtowerCommands(program) {
|
|
|
130
94
|
else {
|
|
131
95
|
statusItems[statusItems.length - 1].last = true;
|
|
132
96
|
}
|
|
133
|
-
|
|
97
|
+
renderTree(statusItems);
|
|
134
98
|
}
|
|
135
99
|
});
|
|
136
100
|
// ─── watch ─────────────────────────────────────────────────────────────────
|
|
@@ -140,14 +104,14 @@ function registerWatchtowerCommands(program) {
|
|
|
140
104
|
.option("--interval <ms>", "Polling interval in milliseconds", "12000")
|
|
141
105
|
.option("--json", "JSON output")
|
|
142
106
|
.action(async (channelId, opts) => {
|
|
143
|
-
const config =
|
|
107
|
+
const config = loadConfig();
|
|
144
108
|
if (!config.serviceAgreementAddress)
|
|
145
109
|
throw new Error("serviceAgreementAddress missing in config");
|
|
146
110
|
if (!config.watchtowerRegistryAddress)
|
|
147
111
|
throw new Error("watchtowerRegistryAddress missing in config");
|
|
148
|
-
const { signer, address } = await
|
|
149
|
-
const watchtowerClient = new
|
|
150
|
-
const channelClient = new
|
|
112
|
+
const { signer, address } = await requireSigner(config);
|
|
113
|
+
const watchtowerClient = new WatchtowerClient(config.watchtowerRegistryAddress, config.serviceAgreementAddress, signer);
|
|
114
|
+
const channelClient = new ChannelClient(config.serviceAgreementAddress, signer);
|
|
151
115
|
const statePath = opts.state ?? path.join(CHANNEL_STATES_DIR, `${channelId}.json`);
|
|
152
116
|
if (!fs.existsSync(statePath)) {
|
|
153
117
|
console.error(`No state file at ${statePath}`);
|
|
@@ -187,7 +151,7 @@ function registerWatchtowerCommands(program) {
|
|
|
187
151
|
console.log(JSON.stringify({ event: "challenge_submitted", channelId, txHash: result.txHash }));
|
|
188
152
|
}
|
|
189
153
|
else {
|
|
190
|
-
console.log(' ' +
|
|
154
|
+
console.log(' ' + c.success + c.white(' Challenge submitted — tx ' + result.txHash.slice(0, 12) + '...'));
|
|
191
155
|
}
|
|
192
156
|
return;
|
|
193
157
|
}
|
|
@@ -212,21 +176,21 @@ function registerWatchtowerCommands(program) {
|
|
|
212
176
|
.description("Authorize a watchtower address to challenge on your behalf for a channel")
|
|
213
177
|
.option("--json", "JSON output")
|
|
214
178
|
.action(async (channelId, watchtower, opts) => {
|
|
215
|
-
const config =
|
|
179
|
+
const config = loadConfig();
|
|
216
180
|
if (!config.serviceAgreementAddress)
|
|
217
181
|
throw new Error("serviceAgreementAddress missing in config");
|
|
218
182
|
if (!config.watchtowerRegistryAddress)
|
|
219
183
|
throw new Error("watchtowerRegistryAddress missing in config");
|
|
220
|
-
const { signer } = await
|
|
221
|
-
const client = new
|
|
222
|
-
const authSpinner =
|
|
184
|
+
const { signer } = await requireSigner(config);
|
|
185
|
+
const client = new WatchtowerClient(config.watchtowerRegistryAddress, config.serviceAgreementAddress, signer);
|
|
186
|
+
const authSpinner = startSpinner('Authorizing watchtower…');
|
|
223
187
|
const result = await client.authorizeWatchtower(channelId, watchtower);
|
|
224
188
|
if (opts.json || program.opts().json) {
|
|
225
189
|
authSpinner.stop();
|
|
226
190
|
console.log(JSON.stringify(result));
|
|
227
191
|
}
|
|
228
192
|
else {
|
|
229
|
-
authSpinner.succeed(
|
|
193
|
+
authSpinner.succeed(c.success + c.white(' Authorized: ' + formatAddress(watchtower)));
|
|
230
194
|
}
|
|
231
195
|
});
|
|
232
196
|
// ─── revoke ────────────────────────────────────────────────────────────────
|
|
@@ -234,21 +198,21 @@ function registerWatchtowerCommands(program) {
|
|
|
234
198
|
.description("Revoke a watchtower's authorization for a channel")
|
|
235
199
|
.option("--json", "JSON output")
|
|
236
200
|
.action(async (channelId, watchtower, opts) => {
|
|
237
|
-
const config =
|
|
201
|
+
const config = loadConfig();
|
|
238
202
|
if (!config.serviceAgreementAddress)
|
|
239
203
|
throw new Error("serviceAgreementAddress missing in config");
|
|
240
204
|
if (!config.watchtowerRegistryAddress)
|
|
241
205
|
throw new Error("watchtowerRegistryAddress missing in config");
|
|
242
|
-
const { signer } = await
|
|
243
|
-
const client = new
|
|
244
|
-
const revokeSpinner =
|
|
206
|
+
const { signer } = await requireSigner(config);
|
|
207
|
+
const client = new WatchtowerClient(config.watchtowerRegistryAddress, config.serviceAgreementAddress, signer);
|
|
208
|
+
const revokeSpinner = startSpinner('Revoking watchtower…');
|
|
245
209
|
const result = await client.revokeWatchtower(channelId, watchtower);
|
|
246
210
|
if (opts.json || program.opts().json) {
|
|
247
211
|
revokeSpinner.stop();
|
|
248
212
|
console.log(JSON.stringify(result));
|
|
249
213
|
}
|
|
250
214
|
else {
|
|
251
|
-
revokeSpinner.succeed(
|
|
215
|
+
revokeSpinner.succeed(c.success + c.white(' Revoked: ' + formatAddress(watchtower)));
|
|
252
216
|
}
|
|
253
217
|
});
|
|
254
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchtower.js","sourceRoot":"","sources":["../../src/commands/watchtower.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watchtower.js","sourceRoot":"","sources":["../../src/commands/watchtower.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workroom.d.ts","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"workroom.d.ts","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiHpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAi1B/D"}
|