arc402-cli 0.7.5 → 0.9.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/INK6-UX-SPEC.md +446 -0
- 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 +87 -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 +9 -14
- package/dist/tui/Header.js.map +1 -1
- package/dist/tui/InputLine.d.ts +1 -2
- package/dist/tui/InputLine.d.ts.map +1 -1
- package/dist/tui/InputLine.js +92 -46
- 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/components/Button.d.ts +7 -0
- package/dist/tui/components/Button.d.ts.map +1 -0
- package/dist/tui/components/Button.js +18 -0
- package/dist/tui/components/Button.js.map +1 -0
- package/dist/tui/components/CeremonyView.d.ts +13 -0
- package/dist/tui/components/CeremonyView.d.ts.map +1 -0
- package/dist/tui/components/CeremonyView.js +7 -0
- package/dist/tui/components/CeremonyView.js.map +1 -0
- package/dist/tui/components/CompletionDropdown.d.ts +7 -0
- package/dist/tui/components/CompletionDropdown.d.ts.map +1 -0
- package/dist/tui/components/CompletionDropdown.js +20 -0
- package/dist/tui/components/CompletionDropdown.js.map +1 -0
- package/dist/tui/components/ConfirmPrompt.d.ts +9 -0
- package/dist/tui/components/ConfirmPrompt.d.ts.map +1 -0
- package/dist/tui/components/ConfirmPrompt.js +7 -0
- package/dist/tui/components/ConfirmPrompt.js.map +1 -0
- package/dist/tui/components/InteractiveTable.d.ts +14 -0
- package/dist/tui/components/InteractiveTable.d.ts.map +1 -0
- package/dist/tui/components/InteractiveTable.js +58 -0
- package/dist/tui/components/InteractiveTable.js.map +1 -0
- package/dist/tui/components/StepSpinner.d.ts +11 -0
- package/dist/tui/components/StepSpinner.d.ts.map +1 -0
- package/dist/tui/components/StepSpinner.js +29 -0
- package/dist/tui/components/StepSpinner.js.map +1 -0
- package/dist/tui/components/Toast.d.ts +18 -0
- package/dist/tui/components/Toast.d.ts.map +1 -0
- package/dist/tui/components/Toast.js +25 -0
- package/dist/tui/components/Toast.js.map +1 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +28 -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/useNotifications.d.ts +9 -0
- package/dist/tui/useNotifications.d.ts.map +1 -0
- package/dist/tui/useNotifications.js +14 -0
- package/dist/tui/useNotifications.js.map +1 -0
- package/dist/tui/useScroll.js +9 -12
- package/dist/tui/useScroll.js.map +1 -1
- package/dist/ui/banner.d.ts +12 -0
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +35 -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 +75 -52
- package/src/tui/Header.tsx +26 -12
- package/src/tui/InputLine.tsx +108 -33
- package/src/tui/Viewport.tsx +22 -18
- package/src/tui/WalletConnectPairing.tsx +131 -0
- package/src/tui/components/Button.tsx +38 -0
- package/src/tui/components/CeremonyView.tsx +39 -0
- package/src/tui/components/CompletionDropdown.tsx +59 -0
- package/src/tui/components/ConfirmPrompt.tsx +36 -0
- package/src/tui/components/InteractiveTable.tsx +112 -0
- package/src/tui/components/StepSpinner.tsx +84 -0
- package/src/tui/components/Toast.tsx +59 -0
- package/src/tui/index.tsx +27 -9
- package/src/tui/useChat.ts +1 -1
- package/src/tui/useCommand.ts +86 -183
- package/src/tui/useNotifications.ts +28 -0
- package/src/ui/banner.ts +29 -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,50 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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.registerAgreementsCommands = registerAgreementsCommands;
|
|
37
|
-
const ethers_1 = require("ethers");
|
|
38
|
-
const readline = __importStar(require("readline"));
|
|
39
|
-
const sdk_1 = require("@arc402/sdk");
|
|
40
|
-
const config_1 = require("../config");
|
|
41
|
-
const client_1 = require("../client");
|
|
42
|
-
const format_1 = require("../utils/format");
|
|
43
|
-
const time_1 = require("../utils/time");
|
|
44
|
-
const hash_1 = require("../utils/hash");
|
|
45
|
-
const colors_1 = require("../ui/colors");
|
|
46
|
-
const tree_1 = require("../ui/tree");
|
|
47
|
-
const format_2 = require("../ui/format");
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import * as readline from "readline";
|
|
3
|
+
import { AgreementStatus, ServiceAgreementClient } from "@arc402/sdk";
|
|
4
|
+
import { loadConfig } from "../config.js";
|
|
5
|
+
import { getClient } from "../client.js";
|
|
6
|
+
import { agreementStatusLabel, formatDate, printTable, truncateAddress } from "../utils/format.js";
|
|
7
|
+
import { formatDeadline } from "../utils/time.js";
|
|
8
|
+
import { hashString } from "../utils/hash.js";
|
|
9
|
+
import { c } from "../ui/colors.js";
|
|
10
|
+
import { renderTree } from "../ui/tree.js";
|
|
11
|
+
import { formatAddress } from "../ui/format.js";
|
|
48
12
|
// ─── AgreementTree minimal ABI ────────────────────────────────────────────────
|
|
49
13
|
const AGREEMENT_TREE_ABI = [
|
|
50
14
|
"function registerSubAgreement(uint256 parentAgreementId, uint256 childAgreementId) external",
|
|
@@ -54,7 +18,7 @@ const AGREEMENT_TREE_ABI = [
|
|
|
54
18
|
"function allChildrenSettled(uint256 agreementId) external view returns (bool)",
|
|
55
19
|
"function getDepth(uint256 agreementId) external view returns (uint256)",
|
|
56
20
|
];
|
|
57
|
-
function registerAgreementsCommands(program) {
|
|
21
|
+
export function registerAgreementsCommands(program) {
|
|
58
22
|
// ── arc402 agreements ────────────────────────────────────────────────────────
|
|
59
23
|
program
|
|
60
24
|
.command("agreements")
|
|
@@ -62,24 +26,24 @@ function registerAgreementsCommands(program) {
|
|
|
62
26
|
.option("--as <role>", "client or provider", "client")
|
|
63
27
|
.option("--json")
|
|
64
28
|
.action(async (opts) => {
|
|
65
|
-
const config =
|
|
29
|
+
const config = loadConfig();
|
|
66
30
|
if (!config.serviceAgreementAddress)
|
|
67
31
|
throw new Error("serviceAgreementAddress missing in config");
|
|
68
|
-
const { provider, address } = await
|
|
32
|
+
const { provider, address } = await getClient(config);
|
|
69
33
|
if (!address)
|
|
70
34
|
throw new Error("No wallet configured");
|
|
71
|
-
const client = new
|
|
35
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, provider);
|
|
72
36
|
const agreements = opts.as === "provider"
|
|
73
37
|
? await client.getProviderAgreements(address)
|
|
74
38
|
: await client.getClientAgreements(address);
|
|
75
39
|
if (opts.json)
|
|
76
40
|
return console.log(JSON.stringify(agreements, (_k, value) => typeof value === "bigint" ? value.toString() : value, 2));
|
|
77
|
-
|
|
41
|
+
printTable(["ID", "COUNTERPARTY", "SERVICE", "DEADLINE", "STATUS"], agreements.map((agreement) => [
|
|
78
42
|
agreement.id.toString(),
|
|
79
|
-
|
|
43
|
+
truncateAddress(opts.as === "provider" ? agreement.client : agreement.provider),
|
|
80
44
|
agreement.serviceType,
|
|
81
|
-
|
|
82
|
-
|
|
45
|
+
formatDeadline(Number(agreement.deadline)),
|
|
46
|
+
agreementStatusLabel(agreement.status),
|
|
83
47
|
]));
|
|
84
48
|
});
|
|
85
49
|
// ── arc402 agreement <id> ────────────────────────────────────────────────────
|
|
@@ -88,28 +52,28 @@ function registerAgreementsCommands(program) {
|
|
|
88
52
|
.description("Show agreement detail, including remediation/dispute fields")
|
|
89
53
|
.option("--json")
|
|
90
54
|
.action(async (id, opts) => {
|
|
91
|
-
const config =
|
|
55
|
+
const config = loadConfig();
|
|
92
56
|
if (!config.serviceAgreementAddress)
|
|
93
57
|
throw new Error("serviceAgreementAddress missing in config");
|
|
94
|
-
const { provider } = await
|
|
95
|
-
const client = new
|
|
58
|
+
const { provider } = await getClient(config);
|
|
59
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, provider);
|
|
96
60
|
const agreement = await client.getAgreement(BigInt(id));
|
|
97
61
|
if (opts.json)
|
|
98
62
|
return console.log(JSON.stringify(agreement, (_k, value) => typeof value === "bigint" ? value.toString() : value, 2));
|
|
99
|
-
console.log('\n ' +
|
|
100
|
-
|
|
101
|
-
{ label: 'Client', value:
|
|
102
|
-
{ label: 'Provider', value:
|
|
103
|
-
{ label: 'Status', value:
|
|
104
|
-
{ label: 'Created', value:
|
|
105
|
-
{ label: 'Deadline', value:
|
|
106
|
-
{ label: 'Verify end', value: Number(agreement.verifyWindowEnd) ?
|
|
63
|
+
console.log('\n ' + c.mark + c.white(` Agreement #${agreement.id}`));
|
|
64
|
+
renderTree([
|
|
65
|
+
{ label: 'Client', value: formatAddress(agreement.client) },
|
|
66
|
+
{ label: 'Provider', value: formatAddress(agreement.provider) },
|
|
67
|
+
{ label: 'Status', value: agreementStatusLabel(agreement.status) },
|
|
68
|
+
{ label: 'Created', value: formatDate(Number(agreement.createdAt)) },
|
|
69
|
+
{ label: 'Deadline', value: formatDate(Number(agreement.deadline)) },
|
|
70
|
+
{ label: 'Verify end', value: Number(agreement.verifyWindowEnd) ? formatDate(Number(agreement.verifyWindowEnd)) : 'n/a' },
|
|
107
71
|
{ label: 'Hash', value: String(agreement.committedHash), last: true },
|
|
108
72
|
]);
|
|
109
|
-
if ([
|
|
73
|
+
if ([AgreementStatus.REVISION_REQUESTED, AgreementStatus.REVISED, AgreementStatus.PARTIAL_SETTLEMENT, AgreementStatus.ESCALATED_TO_HUMAN, AgreementStatus.DISPUTED, AgreementStatus.ESCALATED_TO_ARBITRATION].includes(agreement.status)) {
|
|
110
74
|
const remediation = await client.getRemediationCase(agreement.id);
|
|
111
75
|
const dispute = await client.getDisputeCase(agreement.id);
|
|
112
|
-
|
|
76
|
+
renderTree([
|
|
113
77
|
{ label: 'Remediation', value: `active=${remediation.active} cycles=${remediation.cycleCount}` },
|
|
114
78
|
{ label: 'Dispute', value: `outcome=${dispute.outcome}`, last: true },
|
|
115
79
|
]);
|
|
@@ -124,23 +88,23 @@ function registerAgreementsCommands(program) {
|
|
|
124
88
|
.requiredOption("--child <id>", "Child agreement ID to register under the parent")
|
|
125
89
|
.option("--json", "Machine-parseable output")
|
|
126
90
|
.action(async (opts) => {
|
|
127
|
-
const config =
|
|
91
|
+
const config = loadConfig();
|
|
128
92
|
if (!config.agreementTreeAddress)
|
|
129
93
|
throw new Error("agreementTreeAddress missing in config");
|
|
130
|
-
const { signer } = await
|
|
94
|
+
const { signer } = await getClient(config);
|
|
131
95
|
if (!signer) {
|
|
132
96
|
console.error("No private key configured.");
|
|
133
97
|
process.exit(1);
|
|
134
98
|
}
|
|
135
|
-
const tree = new
|
|
99
|
+
const tree = new ethers.Contract(config.agreementTreeAddress, AGREEMENT_TREE_ABI, signer);
|
|
136
100
|
const tx = await tree.registerSubAgreement(BigInt(opts.parent), BigInt(opts.child));
|
|
137
101
|
const receipt = await tx.wait();
|
|
138
102
|
if (opts.json) {
|
|
139
103
|
console.log(JSON.stringify({ txHash: receipt.hash, parentId: opts.parent, childId: opts.child }));
|
|
140
104
|
}
|
|
141
105
|
else {
|
|
142
|
-
console.log('\n ' +
|
|
143
|
-
|
|
106
|
+
console.log('\n ' + c.mark + c.white(' Sub-agreement registered'));
|
|
107
|
+
renderTree([
|
|
144
108
|
{ label: 'Parent', value: `#${opts.parent}` },
|
|
145
109
|
{ label: 'Child', value: `#${opts.child}` },
|
|
146
110
|
{ label: 'Tx', value: receipt.hash, last: true },
|
|
@@ -154,11 +118,11 @@ function registerAgreementsCommands(program) {
|
|
|
154
118
|
.description("View full agreement tree for an agreement (Spec 19)")
|
|
155
119
|
.option("--json", "Machine-parseable output")
|
|
156
120
|
.action(async (agreementId, opts) => {
|
|
157
|
-
const config =
|
|
121
|
+
const config = loadConfig();
|
|
158
122
|
if (!config.agreementTreeAddress)
|
|
159
123
|
throw new Error("agreementTreeAddress missing in config");
|
|
160
|
-
const { provider } = await
|
|
161
|
-
const tree = new
|
|
124
|
+
const { provider } = await getClient(config);
|
|
125
|
+
const tree = new ethers.Contract(config.agreementTreeAddress, AGREEMENT_TREE_ABI, provider);
|
|
162
126
|
const id = BigInt(agreementId);
|
|
163
127
|
const [root, path, children, depth] = await Promise.all([
|
|
164
128
|
tree.getRoot(id),
|
|
@@ -177,8 +141,8 @@ function registerAgreementsCommands(program) {
|
|
|
177
141
|
console.log(JSON.stringify(result));
|
|
178
142
|
return;
|
|
179
143
|
}
|
|
180
|
-
console.log('\n ' +
|
|
181
|
-
|
|
144
|
+
console.log('\n ' + c.mark + c.white(` Agreement Tree — node #${agreementId}`));
|
|
145
|
+
renderTree([
|
|
182
146
|
{ label: 'Root', value: `#${result.root}` },
|
|
183
147
|
{ label: 'Depth', value: String(result.depth) },
|
|
184
148
|
{ label: 'Path', value: result.path.map((p) => "#" + p).join(" → ") },
|
|
@@ -192,11 +156,11 @@ function registerAgreementsCommands(program) {
|
|
|
192
156
|
.description("Check whether all sub-agreements are settled before delivering (Spec 19)")
|
|
193
157
|
.option("--json", "Machine-parseable output")
|
|
194
158
|
.action(async (agreementId, opts) => {
|
|
195
|
-
const config =
|
|
159
|
+
const config = loadConfig();
|
|
196
160
|
if (!config.agreementTreeAddress)
|
|
197
161
|
throw new Error("agreementTreeAddress missing in config");
|
|
198
|
-
const { provider } = await
|
|
199
|
-
const tree = new
|
|
162
|
+
const { provider } = await getClient(config);
|
|
163
|
+
const tree = new ethers.Contract(config.agreementTreeAddress, AGREEMENT_TREE_ABI, provider);
|
|
200
164
|
const id = BigInt(agreementId);
|
|
201
165
|
const [allSettled, children] = await Promise.all([
|
|
202
166
|
tree.allChildrenSettled(id),
|
|
@@ -212,8 +176,8 @@ function registerAgreementsCommands(program) {
|
|
|
212
176
|
console.log(JSON.stringify(result));
|
|
213
177
|
return;
|
|
214
178
|
}
|
|
215
|
-
console.log('\n ' +
|
|
216
|
-
|
|
179
|
+
console.log('\n ' + c.mark + c.white(` Agreement #${agreementId} — tree status`));
|
|
180
|
+
renderTree([
|
|
217
181
|
{ label: 'Sub-agrmts', value: String(result.childCount) },
|
|
218
182
|
{ label: 'All settled', value: result.allChildrenSettled ? 'YES' : 'NO' },
|
|
219
183
|
{ label: 'Ready', value: result.readyToDeliver ? 'YES — ready to deliver to parent' : 'NO', last: true },
|
|
@@ -236,12 +200,12 @@ function registerAgreementsCommands(program) {
|
|
|
236
200
|
.option("--interactive", "Prompt interactively for sub-agreements")
|
|
237
201
|
.option("--json", "Machine-parseable output")
|
|
238
202
|
.action(async (opts) => {
|
|
239
|
-
const config =
|
|
203
|
+
const config = loadConfig();
|
|
240
204
|
if (!config.serviceAgreementAddress)
|
|
241
205
|
throw new Error("serviceAgreementAddress missing in config");
|
|
242
206
|
if (!config.agreementTreeAddress)
|
|
243
207
|
throw new Error("agreementTreeAddress missing in config");
|
|
244
|
-
const { signer } = await
|
|
208
|
+
const { signer } = await getClient(config);
|
|
245
209
|
if (!signer) {
|
|
246
210
|
console.error("No private key configured.");
|
|
247
211
|
process.exit(1);
|
|
@@ -285,19 +249,19 @@ function registerAgreementsCommands(program) {
|
|
|
285
249
|
}
|
|
286
250
|
rl.close();
|
|
287
251
|
}
|
|
288
|
-
const saContract = new
|
|
252
|
+
const saContract = new ethers.Contract(config.serviceAgreementAddress, [
|
|
289
253
|
"function propose(address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash) external payable returns (uint256)",
|
|
290
254
|
"event AgreementProposed(uint256 indexed id, address indexed client, address indexed provider, string serviceType, uint256 price, address token, uint256 deadline)",
|
|
291
255
|
], signer);
|
|
292
|
-
const treeContract = new
|
|
256
|
+
const treeContract = new ethers.Contract(config.agreementTreeAddress, AGREEMENT_TREE_ABI, signer);
|
|
293
257
|
const rootPrice = BigInt(opts.price);
|
|
294
258
|
const rootDeadline = Number(opts.deadline);
|
|
295
|
-
const rootHash =
|
|
259
|
+
const rootHash = hashString(opts.task);
|
|
296
260
|
if (!opts.json)
|
|
297
|
-
console.log('\n ' +
|
|
298
|
-
const rootTx = await saContract.propose(opts.provider, opts.serviceType, opts.task, rootPrice,
|
|
261
|
+
console.log('\n ' + c.mark + c.white(` Proposing root agreement to ${opts.provider}...`));
|
|
262
|
+
const rootTx = await saContract.propose(opts.provider, opts.serviceType, opts.task, rootPrice, ethers.ZeroAddress, rootDeadline, rootHash, { value: rootPrice });
|
|
299
263
|
const rootReceipt = await rootTx.wait();
|
|
300
|
-
const iface = new
|
|
264
|
+
const iface = new ethers.Interface([
|
|
301
265
|
"event AgreementProposed(uint256 indexed id, address indexed client, address indexed provider, string serviceType, uint256 price, address token, uint256 deadline)",
|
|
302
266
|
]);
|
|
303
267
|
let rootAgreementId;
|
|
@@ -314,13 +278,13 @@ function registerAgreementsCommands(program) {
|
|
|
314
278
|
if (rootAgreementId === undefined)
|
|
315
279
|
throw new Error("Could not parse root AgreementProposed event");
|
|
316
280
|
if (!opts.json)
|
|
317
|
-
console.log(' ' +
|
|
281
|
+
console.log(' ' + c.success + c.white(` Root agreement ID: #${rootAgreementId}`));
|
|
318
282
|
const childAgreementIds = [];
|
|
319
283
|
for (const sub of subSpecs) {
|
|
320
284
|
if (!opts.json)
|
|
321
|
-
console.log(' ' +
|
|
322
|
-
const subHash =
|
|
323
|
-
const subTx = await saContract.propose(sub.provider, sub.serviceType, sub.task, sub.price,
|
|
285
|
+
console.log(' ' + c.dim(` Proposing sub-agreement to ${sub.provider}...`));
|
|
286
|
+
const subHash = hashString(sub.task);
|
|
287
|
+
const subTx = await saContract.propose(sub.provider, sub.serviceType, sub.task, sub.price, ethers.ZeroAddress, sub.deadline, subHash, { value: sub.price });
|
|
324
288
|
const subReceipt = await subTx.wait();
|
|
325
289
|
let childId;
|
|
326
290
|
for (const log of subReceipt.logs) {
|
|
@@ -336,7 +300,7 @@ function registerAgreementsCommands(program) {
|
|
|
336
300
|
if (childId === undefined)
|
|
337
301
|
throw new Error(`Could not parse AgreementProposed for sub-agreement to ${sub.provider}`);
|
|
338
302
|
if (!opts.json)
|
|
339
|
-
console.log(' ' +
|
|
303
|
+
console.log(' ' + c.success + c.white(` Sub-agreement #${childId} — registering in tree...`));
|
|
340
304
|
await (await treeContract.registerSubAgreement(rootAgreementId, childId)).wait();
|
|
341
305
|
childAgreementIds.push(childId);
|
|
342
306
|
}
|
|
@@ -349,8 +313,8 @@ function registerAgreementsCommands(program) {
|
|
|
349
313
|
console.log(JSON.stringify(result, null, 2));
|
|
350
314
|
}
|
|
351
315
|
else {
|
|
352
|
-
console.log('\n ' +
|
|
353
|
-
|
|
316
|
+
console.log('\n ' + c.mark + c.white(' Agreement tree created'));
|
|
317
|
+
renderTree([
|
|
354
318
|
{ label: 'Root', value: `#${result.rootAgreementId}` },
|
|
355
319
|
{
|
|
356
320
|
label: 'Children',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agreements.js","sourceRoot":"","sources":["../../src/commands/agreements.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agreements.js","sourceRoot":"","sources":["../../src/commands/agreements.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|