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
|
@@ -1,46 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
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.registerArbitratorCommand = registerArbitratorCommand;
|
|
37
|
-
const sdk_1 = require("@arc402/sdk");
|
|
38
|
-
const config_1 = require("../config");
|
|
39
|
-
const client_1 = require("../client");
|
|
40
|
-
const colors_1 = require("../ui/colors");
|
|
41
|
-
const spinner_1 = require("../ui/spinner");
|
|
42
|
-
const tree_1 = require("../ui/tree");
|
|
43
|
-
function registerArbitratorCommand(program) {
|
|
1
|
+
import { DisputeArbitrationClient } from "@arc402/sdk";
|
|
2
|
+
import { loadConfig } from "../config.js";
|
|
3
|
+
import { getClient, requireSigner } from "../client.js";
|
|
4
|
+
import { c } from "../ui/colors.js";
|
|
5
|
+
import { startSpinner } from "../ui/spinner.js";
|
|
6
|
+
import { renderTree } from "../ui/tree.js";
|
|
7
|
+
export function registerArbitratorCommand(program) {
|
|
44
8
|
const arbitrator = program
|
|
45
9
|
.command("arbitrator")
|
|
46
10
|
.description("Arbitrator panel operations: bonds, eligibility, status");
|
|
@@ -52,21 +16,21 @@ function registerArbitratorCommand(program) {
|
|
|
52
16
|
.command("status <arbitratorAddress> [agreementId]")
|
|
53
17
|
.description("Check arbitrator bond status for an agreement (or general eligibility)")
|
|
54
18
|
.action(async (arbitratorAddress, agreementId, _opts) => {
|
|
55
|
-
const config =
|
|
19
|
+
const config = loadConfig();
|
|
56
20
|
if (!config.disputeArbitrationAddress)
|
|
57
21
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
58
|
-
const { provider } = await
|
|
59
|
-
const client = new
|
|
22
|
+
const { provider } = await getClient(config);
|
|
23
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, provider);
|
|
60
24
|
const eligible = await client.isEligibleArbitrator(arbitratorAddress);
|
|
61
|
-
console.log('\n ' +
|
|
62
|
-
|
|
25
|
+
console.log('\n ' + c.mark + c.white(' Arbitrator status'));
|
|
26
|
+
renderTree([
|
|
63
27
|
{ label: 'Address', value: arbitratorAddress },
|
|
64
28
|
{ label: 'Eligible', value: eligible ? 'yes' : 'no', last: !agreementId },
|
|
65
29
|
]);
|
|
66
30
|
if (agreementId) {
|
|
67
31
|
const bondState = await client.getArbitratorBondState(arbitratorAddress, BigInt(agreementId));
|
|
68
|
-
console.log('\n ' +
|
|
69
|
-
|
|
32
|
+
console.log('\n ' + c.mark + c.white(` Bond state — agreement #${agreementId}`));
|
|
33
|
+
renderTree([
|
|
70
34
|
{ label: 'Amount', value: `${bondState.bondAmount.toString()} tokens` },
|
|
71
35
|
{ label: 'Locked', value: String(bondState.locked) },
|
|
72
36
|
{ label: 'Slashed', value: String(bondState.slashed) },
|
|
@@ -80,16 +44,16 @@ function registerArbitratorCommand(program) {
|
|
|
80
44
|
.description("Accept panel assignment and post bond")
|
|
81
45
|
.option("--bond <bond>", "Bond amount in wei (for ETH agreements)", "0")
|
|
82
46
|
.action(async (agreementId, opts) => {
|
|
83
|
-
const config =
|
|
47
|
+
const config = loadConfig();
|
|
84
48
|
if (!config.disputeArbitrationAddress)
|
|
85
49
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
86
|
-
const { signer } = await
|
|
87
|
-
const client = new
|
|
50
|
+
const { signer } = await requireSigner(config);
|
|
51
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
88
52
|
const bondAmount = BigInt(opts.bond);
|
|
89
53
|
if (bondAmount === 0n) {
|
|
90
|
-
console.warn(' ' +
|
|
54
|
+
console.warn(' ' + c.warning + c.white(' Bond amount is 0. For ERC-20 agreements, pre-approve the DisputeArbitration contract.'));
|
|
91
55
|
}
|
|
92
|
-
const spinner =
|
|
56
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
93
57
|
try {
|
|
94
58
|
await client.acceptAssignment(BigInt(agreementId), bondAmount);
|
|
95
59
|
spinner.succeed();
|
|
@@ -98,18 +62,18 @@ function registerArbitratorCommand(program) {
|
|
|
98
62
|
spinner.fail();
|
|
99
63
|
throw err;
|
|
100
64
|
}
|
|
101
|
-
console.log(' ' +
|
|
65
|
+
console.log(' ' + c.success + c.white(` Assignment accepted — agreement #${agreementId}`));
|
|
102
66
|
});
|
|
103
67
|
bond
|
|
104
68
|
.command("fallback <agreementId>")
|
|
105
69
|
.description("Trigger fallback to human backstop (mutual unfunded or panel incomplete)")
|
|
106
70
|
.action(async (agreementId, _opts) => {
|
|
107
|
-
const config =
|
|
71
|
+
const config = loadConfig();
|
|
108
72
|
if (!config.disputeArbitrationAddress)
|
|
109
73
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
110
|
-
const { signer } = await
|
|
111
|
-
const client = new
|
|
112
|
-
const spinner =
|
|
74
|
+
const { signer } = await requireSigner(config);
|
|
75
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
76
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
113
77
|
try {
|
|
114
78
|
await client.triggerFallback(BigInt(agreementId));
|
|
115
79
|
spinner.succeed();
|
|
@@ -118,7 +82,7 @@ function registerArbitratorCommand(program) {
|
|
|
118
82
|
spinner.fail();
|
|
119
83
|
throw err;
|
|
120
84
|
}
|
|
121
|
-
console.log(' ' +
|
|
85
|
+
console.log(' ' + c.success + c.white(` Fallback triggered — agreement #${agreementId}`));
|
|
122
86
|
});
|
|
123
87
|
// Rate subcommands — nest under 'rate'
|
|
124
88
|
const rate = arbitrator
|
|
@@ -128,13 +92,13 @@ function registerArbitratorCommand(program) {
|
|
|
128
92
|
.command("set <tokenAddress> <usdPerToken>")
|
|
129
93
|
.description("Set USD rate for a token. Rate in USD with 18 decimals. e.g. 2000e18 for $2000")
|
|
130
94
|
.action(async (tokenAddress, usdPerToken, _opts) => {
|
|
131
|
-
const config =
|
|
95
|
+
const config = loadConfig();
|
|
132
96
|
if (!config.disputeArbitrationAddress)
|
|
133
97
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
134
|
-
const { signer } = await
|
|
135
|
-
const client = new
|
|
98
|
+
const { signer } = await requireSigner(config);
|
|
99
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
136
100
|
const rateVal = BigInt(usdPerToken);
|
|
137
|
-
const spinner =
|
|
101
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
138
102
|
try {
|
|
139
103
|
await client.setTokenUsdRate(tokenAddress, rateVal);
|
|
140
104
|
spinner.succeed();
|
|
@@ -143,19 +107,19 @@ function registerArbitratorCommand(program) {
|
|
|
143
107
|
spinner.fail();
|
|
144
108
|
throw err;
|
|
145
109
|
}
|
|
146
|
-
console.log(' ' +
|
|
110
|
+
console.log(' ' + c.success + c.white(` Token rate set: ${tokenAddress} = ${rateVal.toString()} USD/token`));
|
|
147
111
|
});
|
|
148
112
|
// Admin: slash arbitrator (manual rules violation)
|
|
149
113
|
arbitrator
|
|
150
114
|
.command("slash <agreementId> <arbitratorAddress> <reason>")
|
|
151
115
|
.description("Owner only: manually slash an arbitrator for rules violation")
|
|
152
116
|
.action(async (agreementId, arbitratorAddress, reason, _opts) => {
|
|
153
|
-
const config =
|
|
117
|
+
const config = loadConfig();
|
|
154
118
|
if (!config.disputeArbitrationAddress)
|
|
155
119
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
156
|
-
const { signer } = await
|
|
157
|
-
const client = new
|
|
158
|
-
const spinner =
|
|
120
|
+
const { signer } = await requireSigner(config);
|
|
121
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
122
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
159
123
|
try {
|
|
160
124
|
await client.slashArbitrator(BigInt(agreementId), arbitratorAddress, reason);
|
|
161
125
|
spinner.succeed();
|
|
@@ -164,18 +128,18 @@ function registerArbitratorCommand(program) {
|
|
|
164
128
|
spinner.fail();
|
|
165
129
|
throw err;
|
|
166
130
|
}
|
|
167
|
-
console.log(' ' +
|
|
131
|
+
console.log(' ' + c.success + c.white(` Slashed ${arbitratorAddress}`));
|
|
168
132
|
});
|
|
169
133
|
arbitrator
|
|
170
134
|
.command("reclaim-bond <agreementId>")
|
|
171
135
|
.description("Reclaim an arbitrator bond after 45 days if dispute was never resolved via resolveDisputeFee")
|
|
172
136
|
.action(async (agreementId, _opts) => {
|
|
173
|
-
const config =
|
|
137
|
+
const config = loadConfig();
|
|
174
138
|
if (!config.disputeArbitrationAddress)
|
|
175
139
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
176
|
-
const { signer } = await
|
|
177
|
-
const client = new
|
|
178
|
-
const spinner =
|
|
140
|
+
const { signer } = await requireSigner(config);
|
|
141
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
142
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
179
143
|
try {
|
|
180
144
|
await client.reclaimExpiredBond(BigInt(agreementId));
|
|
181
145
|
spinner.succeed();
|
|
@@ -184,7 +148,7 @@ function registerArbitratorCommand(program) {
|
|
|
184
148
|
spinner.fail();
|
|
185
149
|
throw err;
|
|
186
150
|
}
|
|
187
|
-
console.log(' ' +
|
|
151
|
+
console.log(' ' + c.success + c.white(` Bond reclaimed — agreement #${agreementId}`));
|
|
188
152
|
});
|
|
189
153
|
arbitrator
|
|
190
154
|
.command("resolve-from <agreementId>")
|
|
@@ -193,13 +157,13 @@ function registerArbitratorCommand(program) {
|
|
|
193
157
|
.requiredOption("--provider-amount <amount>", "Provider payout in wei/tokens")
|
|
194
158
|
.requiredOption("--client-amount <amount>", "Client refund in wei/tokens")
|
|
195
159
|
.action(async (agreementId, opts) => {
|
|
196
|
-
const { ServiceAgreementClient } = await
|
|
197
|
-
const config =
|
|
160
|
+
const { ServiceAgreementClient } = await import("@arc402/sdk");
|
|
161
|
+
const config = loadConfig();
|
|
198
162
|
if (!config.serviceAgreementAddress)
|
|
199
163
|
throw new Error("serviceAgreementAddress missing in config");
|
|
200
|
-
const { signer } = await
|
|
164
|
+
const { signer } = await requireSigner(config);
|
|
201
165
|
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
202
|
-
const spinner =
|
|
166
|
+
const spinner = startSpinner("Submitting transaction...");
|
|
203
167
|
try {
|
|
204
168
|
await client.resolveFromArbitration(BigInt(agreementId), opts.recipient, BigInt(opts.providerAmount), BigInt(opts.clientAmount));
|
|
205
169
|
spinner.succeed();
|
|
@@ -208,7 +172,7 @@ function registerArbitratorCommand(program) {
|
|
|
208
172
|
spinner.fail();
|
|
209
173
|
throw err;
|
|
210
174
|
}
|
|
211
|
-
console.log(' ' +
|
|
175
|
+
console.log(' ' + c.success + c.white(` Resolved from arbitration — agreement #${agreementId}`));
|
|
212
176
|
});
|
|
213
177
|
}
|
|
214
178
|
//# sourceMappingURL=arbitrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arbitrator.js","sourceRoot":"","sources":["../../src/commands/arbitrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arbitrator.js","sourceRoot":"","sources":["../../src/commands/arbitrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const abis_1 = require("../abis");
|
|
8
|
-
const spinner_1 = require("../ui/spinner");
|
|
9
|
-
const tree_1 = require("../ui/tree");
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { loadConfig, getUsdcAddress } from "../config.js";
|
|
3
|
+
import { requireSigner } from "../client.js";
|
|
4
|
+
import { AGENT_REGISTRY_ABI } from "../abis.js";
|
|
5
|
+
import { startSpinner } from "../ui/spinner.js";
|
|
6
|
+
import { renderTree } from "../ui/tree.js";
|
|
10
7
|
const DEFAULT_REGISTRY_ADDRESS = "0xD5c2851B00090c92Ba7F4723FB548bb30C9B6865";
|
|
11
8
|
async function pingHandshakeEndpoint(agentAddress, payload, registryAddress, provider) {
|
|
12
|
-
const registry = new
|
|
9
|
+
const registry = new ethers.Contract(registryAddress, AGENT_REGISTRY_ABI, provider);
|
|
13
10
|
const agentData = await registry.getAgent(agentAddress);
|
|
14
11
|
const endpoint = agentData.endpoint;
|
|
15
12
|
if (!endpoint)
|
|
@@ -52,12 +49,12 @@ const HANDSHAKE_TYPES = {
|
|
|
52
49
|
};
|
|
53
50
|
// ─── Auto-Whitelist ──────────────────────────────────────────────────────────
|
|
54
51
|
async function ensureWhitelisted(signer, provider, walletAddress, policyEngineAddress, handshakeAddress) {
|
|
55
|
-
const pe = new
|
|
52
|
+
const pe = new ethers.Contract(policyEngineAddress, POLICY_ENGINE_ABI, provider);
|
|
56
53
|
const isWhitelisted = await pe.isContractWhitelisted(walletAddress, handshakeAddress);
|
|
57
54
|
if (!isWhitelisted) {
|
|
58
55
|
console.log("Handshake contract not yet whitelisted on your wallet.");
|
|
59
56
|
console.log("Whitelisting now (one-time setup)...");
|
|
60
|
-
const peSigner = new
|
|
57
|
+
const peSigner = new ethers.Contract(policyEngineAddress, POLICY_ENGINE_ABI, signer);
|
|
61
58
|
const tx = await peSigner.whitelistContract(walletAddress, handshakeAddress);
|
|
62
59
|
console.log(` tx: ${tx.hash}`);
|
|
63
60
|
await tx.wait();
|
|
@@ -65,7 +62,7 @@ async function ensureWhitelisted(signer, provider, walletAddress, policyEngineAd
|
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
64
|
// ─── Commands ────────────────────────────────────────────────────────────────
|
|
68
|
-
function registerArenaHandshakeCommands(program) {
|
|
65
|
+
export function registerArenaHandshakeCommands(program) {
|
|
69
66
|
const hs = program
|
|
70
67
|
.command("shake")
|
|
71
68
|
.description("ARC Arena social handshake — send a typed trust signal to another agent.");
|
|
@@ -78,8 +75,8 @@ function registerArenaHandshakeCommands(program) {
|
|
|
78
75
|
.option("--usdc <amount>", "USDC tip to attach (e.g. 5.00)")
|
|
79
76
|
.option("--json", "Output as JSON")
|
|
80
77
|
.action(async (agentAddress, opts) => {
|
|
81
|
-
const config =
|
|
82
|
-
const { signer, provider } = await
|
|
78
|
+
const config = loadConfig();
|
|
79
|
+
const { signer, provider } = await requireSigner(config);
|
|
83
80
|
const myAddress = await signer.getAddress();
|
|
84
81
|
if (!config.handshakeAddress) {
|
|
85
82
|
console.error("handshakeAddress not configured. Run: arc402 config set handshakeAddress <address>");
|
|
@@ -97,18 +94,18 @@ function registerArenaHandshakeCommands(program) {
|
|
|
97
94
|
console.error(`Valid types: ${Object.keys(HANDSHAKE_TYPES).join(", ")}`);
|
|
98
95
|
process.exit(1);
|
|
99
96
|
}
|
|
100
|
-
const handshake = new
|
|
101
|
-
const hsSpinner =
|
|
97
|
+
const handshake = new ethers.Contract(config.handshakeAddress, HANDSHAKE_ABI, signer);
|
|
98
|
+
const hsSpinner = startSpinner(`Sending ${opts.type} handshake...`);
|
|
102
99
|
let tx;
|
|
103
100
|
if (opts.usdc) {
|
|
104
101
|
// USDC handshake
|
|
105
|
-
const usdcAddress =
|
|
106
|
-
const amount =
|
|
102
|
+
const usdcAddress = getUsdcAddress(config);
|
|
103
|
+
const amount = ethers.parseUnits(opts.usdc, 6);
|
|
107
104
|
tx = await handshake.sendHandshakeWithToken(agentAddress, hsType, opts.note, usdcAddress, amount);
|
|
108
105
|
}
|
|
109
106
|
else {
|
|
110
107
|
// ETH handshake (with optional tip)
|
|
111
|
-
const value = opts.tip ?
|
|
108
|
+
const value = opts.tip ? ethers.parseEther(opts.tip) : 0n;
|
|
112
109
|
tx = await handshake.sendHandshake(agentAddress, hsType, opts.note, { value });
|
|
113
110
|
}
|
|
114
111
|
hsSpinner.succeed("Handshake sent");
|
|
@@ -133,7 +130,7 @@ function registerArenaHandshakeCommands(program) {
|
|
|
133
130
|
...(opts.usdc ? [{ label: "Tip", value: `${opts.usdc} USDC` }] : []),
|
|
134
131
|
{ label: "Tx", value: tx.hash, last: true },
|
|
135
132
|
];
|
|
136
|
-
|
|
133
|
+
renderTree(treeItems);
|
|
137
134
|
}
|
|
138
135
|
});
|
|
139
136
|
// ── batch ─────────────────────────────────────────────────────────────────
|
|
@@ -143,8 +140,8 @@ function registerArenaHandshakeCommands(program) {
|
|
|
143
140
|
.option("--type <type>", "Handshake type for all", "hello")
|
|
144
141
|
.option("--note <note>", "Note for all", "")
|
|
145
142
|
.action(async (agents, opts) => {
|
|
146
|
-
const config =
|
|
147
|
-
const { signer, provider } = await
|
|
143
|
+
const config = loadConfig();
|
|
144
|
+
const { signer, provider } = await requireSigner(config);
|
|
148
145
|
const myAddress = await signer.getAddress();
|
|
149
146
|
if (!config.handshakeAddress || !config.policyEngineAddress) {
|
|
150
147
|
console.error("handshakeAddress or policyEngineAddress not configured.");
|
|
@@ -160,7 +157,7 @@ function registerArenaHandshakeCommands(program) {
|
|
|
160
157
|
console.error("Max 10 agents per batch.");
|
|
161
158
|
process.exit(1);
|
|
162
159
|
}
|
|
163
|
-
const handshake = new
|
|
160
|
+
const handshake = new ethers.Contract(config.handshakeAddress, HANDSHAKE_ABI, signer);
|
|
164
161
|
const types = agents.map(() => hsType);
|
|
165
162
|
const notes = agents.map(() => opts.note);
|
|
166
163
|
const tx = await handshake.sendBatch(agents, types, notes);
|
|
@@ -172,14 +169,14 @@ function registerArenaHandshakeCommands(program) {
|
|
|
172
169
|
hs.command("stats [address]")
|
|
173
170
|
.description("View handshake stats for an agent.")
|
|
174
171
|
.action(async (address) => {
|
|
175
|
-
const config =
|
|
176
|
-
const { signer, provider } = await
|
|
172
|
+
const config = loadConfig();
|
|
173
|
+
const { signer, provider } = await requireSigner(config);
|
|
177
174
|
const target = address || await signer.getAddress();
|
|
178
175
|
if (!config.handshakeAddress) {
|
|
179
176
|
console.error("handshakeAddress not configured.");
|
|
180
177
|
process.exit(1);
|
|
181
178
|
}
|
|
182
|
-
const handshake = new
|
|
179
|
+
const handshake = new ethers.Contract(config.handshakeAddress, HANDSHAKE_ABI, provider);
|
|
183
180
|
const [sent, received, unique] = await handshake.getStats(target);
|
|
184
181
|
const total = await handshake.totalHandshakes();
|
|
185
182
|
console.log(`Handshake Stats: ${target}`);
|
|
@@ -192,14 +189,14 @@ function registerArenaHandshakeCommands(program) {
|
|
|
192
189
|
hs.command("check <agentAddress>")
|
|
193
190
|
.description("Check if a connection or mutual handshake exists with an agent.")
|
|
194
191
|
.action(async (agentAddress) => {
|
|
195
|
-
const config =
|
|
196
|
-
const { signer, provider } = await
|
|
192
|
+
const config = loadConfig();
|
|
193
|
+
const { signer, provider } = await requireSigner(config);
|
|
197
194
|
const myAddress = await signer.getAddress();
|
|
198
195
|
if (!config.handshakeAddress) {
|
|
199
196
|
console.error("handshakeAddress not configured.");
|
|
200
197
|
process.exit(1);
|
|
201
198
|
}
|
|
202
|
-
const handshake = new
|
|
199
|
+
const handshake = new ethers.Contract(config.handshakeAddress, HANDSHAKE_ABI, provider);
|
|
203
200
|
const iSent = await handshake.hasConnection(myAddress, agentAddress);
|
|
204
201
|
const theySent = await handshake.hasConnection(agentAddress, myAddress);
|
|
205
202
|
const mutual = await handshake.isMutual(myAddress, agentAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arena-handshake.js","sourceRoot":"","sources":["../../src/commands/arena-handshake.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arena-handshake.js","sourceRoot":"","sources":["../../src/commands/arena-handshake.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/arena.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.registerArenaCommands = registerArenaCommands;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const feed_1 = require("./feed");
|
|
9
|
-
const colors_1 = require("../ui/colors");
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { runFeed } from "./feed.js";
|
|
3
|
+
import { c } from "../ui/colors.js";
|
|
10
4
|
const SUBGRAPH_URL = "https://api.studio.thegraph.com/query/1744310/arc-402/v0.2.0";
|
|
11
5
|
async function gql(query) {
|
|
12
6
|
const res = await fetch(SUBGRAPH_URL, {
|
|
@@ -21,7 +15,7 @@ async function gql(query) {
|
|
|
21
15
|
throw new Error(`Subgraph error: ${JSON.stringify(json.errors[0])}`);
|
|
22
16
|
return json.data ?? {};
|
|
23
17
|
}
|
|
24
|
-
function registerArenaCommands(program) {
|
|
18
|
+
export function registerArenaCommands(program) {
|
|
25
19
|
const arena = program.command("arena").description("Arena network commands");
|
|
26
20
|
// ─── arena stats ───────────────────────────────────────────────────────────
|
|
27
21
|
arena
|
|
@@ -48,7 +42,7 @@ function registerArenaCommands(program) {
|
|
|
48
42
|
console.log(JSON.stringify({ error: msg }));
|
|
49
43
|
}
|
|
50
44
|
else {
|
|
51
|
-
console.error(' ' +
|
|
45
|
+
console.error(' ' + c.warning + c.white(` ${msg}`));
|
|
52
46
|
}
|
|
53
47
|
process.exit(1);
|
|
54
48
|
}
|
|
@@ -71,9 +65,9 @@ function registerArenaCommands(program) {
|
|
|
71
65
|
return;
|
|
72
66
|
}
|
|
73
67
|
const pad = (v) => String(v ?? 0).padStart(6);
|
|
74
|
-
console.log(
|
|
75
|
-
console.log(
|
|
76
|
-
console.log(
|
|
68
|
+
console.log(chalk.bold("╔══════════════════════════════════════╗"));
|
|
69
|
+
console.log(chalk.bold("║ ARC Arena — Network Stats ║"));
|
|
70
|
+
console.log(chalk.bold("╚══════════════════════════════════════╝"));
|
|
77
71
|
console.log();
|
|
78
72
|
console.log(` Agents ${pad(stats["totalAgents"])} registered`);
|
|
79
73
|
console.log(` Wallets ${pad(stats["totalWallets"])} deployed`);
|
|
@@ -83,7 +77,7 @@ function registerArenaCommands(program) {
|
|
|
83
77
|
console.log(` Vouches ${pad(stats["totalVouches"])} active`);
|
|
84
78
|
console.log(` Capabilities ${pad(stats["totalCapabilityClaims"])} claimed`);
|
|
85
79
|
console.log();
|
|
86
|
-
console.log(
|
|
80
|
+
console.log(chalk.dim(" Subgraph: v0.2.0 · synced"));
|
|
87
81
|
}
|
|
88
82
|
catch (err) {
|
|
89
83
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -91,7 +85,7 @@ function registerArenaCommands(program) {
|
|
|
91
85
|
console.log(JSON.stringify({ error: "Subgraph unavailable", details: msg }));
|
|
92
86
|
}
|
|
93
87
|
else {
|
|
94
|
-
console.error(' ' +
|
|
88
|
+
console.error(' ' + c.failure + c.white(` Subgraph unavailable: ${msg}`));
|
|
95
89
|
}
|
|
96
90
|
process.exit(1);
|
|
97
91
|
}
|
|
@@ -106,7 +100,7 @@ function registerArenaCommands(program) {
|
|
|
106
100
|
.option("--json", "Output as JSON")
|
|
107
101
|
.action(async (opts) => {
|
|
108
102
|
try {
|
|
109
|
-
await
|
|
103
|
+
await runFeed(opts);
|
|
110
104
|
}
|
|
111
105
|
catch (err) {
|
|
112
106
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -114,7 +108,7 @@ function registerArenaCommands(program) {
|
|
|
114
108
|
console.log(JSON.stringify({ error: "Subgraph unavailable", details: msg }));
|
|
115
109
|
}
|
|
116
110
|
else {
|
|
117
|
-
console.error(' ' +
|
|
111
|
+
console.error(' ' + c.failure + c.white(` Subgraph unavailable: ${msg}`));
|
|
118
112
|
}
|
|
119
113
|
process.exit(1);
|
|
120
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arena.js","sourceRoot":"","sources":["../../src/commands/arena.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arena.js","sourceRoot":"","sources":["../../src/commands/arena.ts"],"names":[],"mappings":"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"}
|