arc402-cli 0.9.18 → 0.10.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/README.md +41 -2
- package/dist/abis.d.ts +1 -0
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +45 -14
- 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 +61 -27
- 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 +9 -5
- package/dist/client.js.map +1 -1
- package/dist/coinbase-smart-wallet.js +4 -1
- package/dist/coinbase-smart-wallet.js.map +1 -1
- package/dist/commands/accept.js +28 -25
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/agent-handshake.js +18 -15
- package/dist/commands/agent-handshake.js.map +1 -1
- package/dist/commands/agent.js +104 -98
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/agreements.js +98 -62
- package/dist/commands/agreements.js.map +1 -1
- package/dist/commands/arbitrator.js +81 -45
- package/dist/commands/arbitrator.js.map +1 -1
- package/dist/commands/arena-handshake.d.ts.map +1 -1
- package/dist/commands/arena-handshake.js +35 -53
- package/dist/commands/arena-handshake.js.map +1 -1
- package/dist/commands/arena.js +18 -12
- package/dist/commands/arena.js.map +1 -1
- package/dist/commands/backup.js +36 -30
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cancel.js +18 -15
- package/dist/commands/cancel.js.map +1 -1
- package/dist/commands/channel.js +81 -45
- package/dist/commands/channel.js.map +1 -1
- package/dist/commands/coldstart.js +34 -31
- package/dist/commands/coldstart.js.map +1 -1
- package/dist/commands/compute.d.ts +14 -0
- package/dist/commands/compute.d.ts.map +1 -0
- package/dist/commands/compute.js +466 -0
- package/dist/commands/compute.js.map +1 -0
- package/dist/commands/config.js +30 -24
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contract-interaction.js +15 -12
- package/dist/commands/contract-interaction.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +135 -98
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/deliver.js +76 -37
- package/dist/commands/deliver.js.map +1 -1
- package/dist/commands/discover.js +27 -24
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/dispute.js +110 -104
- package/dist/commands/dispute.js.map +1 -1
- package/dist/commands/doctor.js +55 -16
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/endpoint.js +95 -56
- package/dist/commands/endpoint.js.map +1 -1
- package/dist/commands/feed.js +18 -11
- package/dist/commands/feed.js.map +1 -1
- package/dist/commands/hire.js +40 -37
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/migrate.js +33 -30
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/negotiate.d.ts.map +1 -1
- package/dist/commands/negotiate.js +36 -34
- package/dist/commands/negotiate.js.map +1 -1
- package/dist/commands/openshell.js +104 -68
- package/dist/commands/openshell.js.map +1 -1
- package/dist/commands/owner.js +20 -17
- package/dist/commands/owner.js.map +1 -1
- package/dist/commands/policy.js +43 -41
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/relay.d.ts.map +1 -1
- package/dist/commands/relay.js +51 -18
- package/dist/commands/relay.js.map +1 -1
- package/dist/commands/remediate.js +23 -20
- package/dist/commands/remediate.js.map +1 -1
- package/dist/commands/reputation.js +27 -25
- package/dist/commands/reputation.js.map +1 -1
- package/dist/commands/setup.js +104 -65
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/trust.js +20 -17
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/verify.js +21 -18
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/wallet.d.ts.map +1 -1
- package/dist/commands/wallet.js +645 -679
- package/dist/commands/wallet.js.map +1 -1
- package/dist/commands/watch.js +36 -33
- package/dist/commands/watch.js.map +1 -1
- package/dist/commands/watchtower.js +73 -37
- package/dist/commands/watchtower.js.map +1 -1
- package/dist/commands/workroom.d.ts.map +1 -1
- package/dist/commands/workroom.js +282 -143
- package/dist/commands/workroom.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +71 -22
- package/dist/config.js.map +1 -1
- package/dist/daemon/compute-metering.d.ts +61 -0
- package/dist/daemon/compute-metering.d.ts.map +1 -0
- package/dist/daemon/compute-metering.js +299 -0
- package/dist/daemon/compute-metering.js.map +1 -0
- package/dist/daemon/compute-session.d.ts +100 -0
- package/dist/daemon/compute-session.d.ts.map +1 -0
- package/dist/daemon/compute-session.js +231 -0
- package/dist/daemon/compute-session.js.map +1 -0
- package/dist/daemon/config.d.ts +19 -1
- package/dist/daemon/config.d.ts.map +1 -1
- package/dist/daemon/config.js +90 -16
- package/dist/daemon/config.js.map +1 -1
- package/dist/daemon/credentials.d.ts +24 -0
- package/dist/daemon/credentials.d.ts.map +1 -0
- package/dist/daemon/credentials.js +80 -0
- package/dist/daemon/credentials.js.map +1 -0
- package/dist/daemon/delivery-client.d.ts +35 -0
- package/dist/daemon/delivery-client.d.ts.map +1 -0
- package/dist/daemon/delivery-client.js +231 -0
- package/dist/daemon/delivery-client.js.map +1 -0
- package/dist/daemon/file-delivery.d.ts +98 -0
- package/dist/daemon/file-delivery.d.ts.map +1 -0
- package/dist/daemon/file-delivery.js +461 -0
- package/dist/daemon/file-delivery.js.map +1 -0
- 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 +47 -13
- package/dist/daemon/hire-listener.js.map +1 -1
- package/dist/daemon/index.d.ts +2 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +526 -53
- 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 +51 -11
- 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 +53 -19
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/token-metering.js +47 -8
- 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 +27 -23
- 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 +12 -8
- package/dist/daemon/wallet-monitor.js.map +1 -1
- package/dist/daemon/worker-executor.d.ts +71 -0
- package/dist/daemon/worker-executor.d.ts.map +1 -0
- package/dist/daemon/worker-executor.js +382 -0
- package/dist/daemon/worker-executor.js.map +1 -0
- package/dist/drain-v4.js +64 -26
- package/dist/drain-v4.js.map +1 -1
- package/dist/endpoint-config.js +63 -20
- package/dist/endpoint-config.js.map +1 -1
- package/dist/endpoint-notify.js +48 -9
- package/dist/endpoint-notify.js.map +1 -1
- package/dist/index.js +50 -18
- package/dist/index.js.map +1 -1
- package/dist/openshell-runtime.d.ts.map +1 -1
- package/dist/openshell-runtime.js +82 -38
- package/dist/openshell-runtime.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +85 -78
- package/dist/program.js.map +1 -1
- package/dist/repl.js +31 -25
- package/dist/repl.js.map +1 -1
- package/dist/signing.js +6 -3
- package/dist/signing.js.map +1 -1
- package/dist/telegram-notify.js +40 -3
- package/dist/telegram-notify.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +56 -89
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Footer.js +7 -4
- package/dist/tui/Footer.js.map +1 -1
- package/dist/tui/Header.d.ts +1 -1
- package/dist/tui/Header.d.ts.map +1 -1
- package/dist/tui/Header.js +14 -9
- package/dist/tui/Header.js.map +1 -1
- package/dist/tui/InputLine.d.ts +2 -1
- package/dist/tui/InputLine.d.ts.map +1 -1
- package/dist/tui/InputLine.js +47 -97
- package/dist/tui/InputLine.js.map +1 -1
- package/dist/tui/Viewport.d.ts +1 -2
- package/dist/tui/Viewport.d.ts.map +1 -1
- package/dist/tui/Viewport.js +26 -6
- package/dist/tui/Viewport.js.map +1 -1
- package/dist/tui/WalletConnectPairing.js +19 -16
- package/dist/tui/WalletConnectPairing.js.map +1 -1
- package/dist/tui/components/Button.js +9 -6
- package/dist/tui/components/Button.js.map +1 -1
- package/dist/tui/components/CeremonyView.js +8 -5
- package/dist/tui/components/CeremonyView.js.map +1 -1
- package/dist/tui/components/CompletionDropdown.js +9 -6
- package/dist/tui/components/CompletionDropdown.js.map +1 -1
- package/dist/tui/components/ConfirmPrompt.js +8 -5
- package/dist/tui/components/ConfirmPrompt.js.map +1 -1
- package/dist/tui/components/CustomTextInput.js +14 -11
- package/dist/tui/components/CustomTextInput.js.map +1 -1
- package/dist/tui/components/InteractiveTable.js +12 -9
- package/dist/tui/components/InteractiveTable.js.map +1 -1
- package/dist/tui/components/StepSpinner.js +13 -10
- package/dist/tui/components/StepSpinner.js.map +1 -1
- package/dist/tui/components/Toast.js +12 -8
- package/dist/tui/components/Toast.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +21 -28
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/useChat.js +19 -13
- package/dist/tui/useChat.js.map +1 -1
- package/dist/tui/useCommand.d.ts +2 -3
- package/dist/tui/useCommand.d.ts.map +1 -1
- package/dist/tui/useCommand.js +24 -100
- package/dist/tui/useCommand.js.map +1 -1
- package/dist/tui/useNotifications.js +8 -5
- package/dist/tui/useNotifications.js.map +1 -1
- package/dist/tui/useScroll.d.ts.map +1 -1
- package/dist/tui/useScroll.js +12 -15
- package/dist/tui/useScroll.js.map +1 -1
- package/dist/ui/banner.d.ts +0 -12
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +19 -35
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/colors.js +19 -13
- package/dist/ui/colors.js.map +1 -1
- package/dist/ui/format.js +14 -6
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/qr-render.js +11 -4
- package/dist/ui/qr-render.js.map +1 -1
- package/dist/ui/rpc-fallback.js +11 -6
- package/dist/ui/rpc-fallback.js.map +1 -1
- package/dist/ui/spinner.js +12 -6
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/tree.js +6 -3
- package/dist/ui/tree.js.map +1 -1
- package/dist/utils/format.js +41 -27
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/hash.js +42 -4
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/time.js +6 -2
- 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 +19 -12
- 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 +11 -6
- package/dist/walletconnect-session.js.map +1 -1
- package/dist/walletconnect.d.ts +5 -6
- package/dist/walletconnect.d.ts.map +1 -1
- package/dist/walletconnect.js +35 -32
- package/dist/walletconnect.js.map +1 -1
- package/package.json +11 -10
- package/INK6-UX-SPEC.md +0 -446
- package/MIGRATION-SPEC.md +0 -108
- package/TUI-SPEC.md +0 -214
- package/scripts/authorize-machine-key.ts +0 -43
- package/scripts/drain-wallet.ts +0 -149
- package/scripts/execute-spend-only.ts +0 -81
- package/scripts/register-agent-userop.ts +0 -186
- package/src/abis.ts +0 -187
- package/src/bundler.ts +0 -235
- package/src/client.ts +0 -36
- package/src/coinbase-smart-wallet.ts +0 -51
- package/src/commands/accept.ts +0 -64
- package/src/commands/agent-handshake.ts +0 -72
- package/src/commands/agent.ts +0 -691
- package/src/commands/agreements.ts +0 -350
- package/src/commands/arbitrator.ts +0 -180
- package/src/commands/arena-handshake.ts +0 -274
- package/src/commands/arena.ts +0 -122
- package/src/commands/backup.ts +0 -117
- package/src/commands/cancel.ts +0 -35
- package/src/commands/channel.ts +0 -218
- package/src/commands/coldstart.ts +0 -165
- package/src/commands/config.ts +0 -68
- package/src/commands/contract-interaction.ts +0 -166
- package/src/commands/daemon.ts +0 -1054
- package/src/commands/deliver.ts +0 -148
- package/src/commands/discover.ts +0 -350
- package/src/commands/dispute.ts +0 -375
- package/src/commands/doctor.ts +0 -172
- package/src/commands/endpoint.ts +0 -620
- package/src/commands/feed.ts +0 -229
- package/src/commands/hire.ts +0 -245
- package/src/commands/migrate.ts +0 -177
- package/src/commands/negotiate.ts +0 -272
- package/src/commands/openshell.ts +0 -1055
- package/src/commands/owner.ts +0 -35
- package/src/commands/policy.ts +0 -263
- package/src/commands/relay.ts +0 -277
- package/src/commands/remediate.ts +0 -24
- package/src/commands/reputation.ts +0 -79
- package/src/commands/setup.ts +0 -343
- package/src/commands/trust.ts +0 -27
- package/src/commands/verify.ts +0 -91
- package/src/commands/wallet.ts +0 -3548
- package/src/commands/watch.ts +0 -220
- package/src/commands/watchtower.ts +0 -248
- package/src/commands/workroom.ts +0 -963
- package/src/config.ts +0 -220
- package/src/daemon/config.ts +0 -344
- package/src/daemon/hire-listener.ts +0 -226
- package/src/daemon/index.ts +0 -1089
- package/src/daemon/job-lifecycle.ts +0 -215
- package/src/daemon/notify.ts +0 -297
- package/src/daemon/token-metering.ts +0 -183
- package/src/daemon/userops.ts +0 -119
- package/src/daemon/wallet-monitor.ts +0 -90
- package/src/drain-v4.ts +0 -159
- package/src/endpoint-config.ts +0 -83
- package/src/endpoint-notify.ts +0 -129
- package/src/index.ts +0 -74
- package/src/openshell-runtime.ts +0 -281
- package/src/program.ts +0 -88
- package/src/repl.ts +0 -178
- package/src/signing.ts +0 -28
- package/src/telegram-notify.ts +0 -88
- package/src/tui/App.tsx +0 -263
- package/src/tui/Footer.tsx +0 -18
- package/src/tui/Header.tsx +0 -45
- package/src/tui/InputLine.tsx +0 -243
- package/src/tui/Viewport.tsx +0 -51
- package/src/tui/WalletConnectPairing.tsx +0 -114
- package/src/tui/components/Button.tsx +0 -38
- package/src/tui/components/CeremonyView.tsx +0 -39
- package/src/tui/components/CompletionDropdown.tsx +0 -56
- package/src/tui/components/ConfirmPrompt.tsx +0 -36
- package/src/tui/components/CustomTextInput.tsx +0 -132
- package/src/tui/components/InteractiveTable.tsx +0 -106
- package/src/tui/components/StepSpinner.tsx +0 -84
- package/src/tui/components/Toast.tsx +0 -59
- package/src/tui/index.tsx +0 -90
- package/src/tui/useChat.ts +0 -103
- package/src/tui/useCommand.ts +0 -238
- package/src/tui/useNotifications.ts +0 -28
- package/src/tui/useScroll.ts +0 -69
- package/src/ui/banner.ts +0 -78
- package/src/ui/colors.ts +0 -30
- package/src/ui/format.ts +0 -78
- package/src/ui/qr-render.ts +0 -92
- package/src/ui/rpc-fallback.ts +0 -59
- package/src/ui/spinner.ts +0 -56
- package/src/ui/tree.ts +0 -16
- package/src/utils/format.ts +0 -48
- package/src/utils/hash.ts +0 -5
- package/src/utils/time.ts +0 -15
- package/src/wallet-router.ts +0 -178
- package/src/walletconnect-session.ts +0 -27
- package/src/walletconnect.ts +0 -309
- package/test/time.test.js +0 -11
- package/tsconfig.json +0 -33
package/dist/ui/colors.js
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.c = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
2
8
|
// ─── ARC-402 Color System ─────────────────────────────────────────────────────
|
|
3
|
-
|
|
9
|
+
exports.c = {
|
|
4
10
|
// Protocol mark + section headings
|
|
5
|
-
cyan:
|
|
6
|
-
brightCyan:
|
|
11
|
+
cyan: chalk_1.default.cyan,
|
|
12
|
+
brightCyan: chalk_1.default.cyanBright,
|
|
7
13
|
// Primary content, values
|
|
8
|
-
white:
|
|
14
|
+
white: chalk_1.default.white,
|
|
9
15
|
// Secondary info — addresses, timestamps, labels
|
|
10
|
-
dim:
|
|
16
|
+
dim: chalk_1.default.dim,
|
|
11
17
|
// Success states, fulfilled agreements
|
|
12
|
-
green:
|
|
18
|
+
green: chalk_1.default.green,
|
|
13
19
|
// Errors, disputes, failures
|
|
14
|
-
red:
|
|
20
|
+
red: chalk_1.default.red,
|
|
15
21
|
// Warnings, pending states, unconfirmed
|
|
16
|
-
yellow:
|
|
22
|
+
yellow: chalk_1.default.yellow,
|
|
17
23
|
// Symbols
|
|
18
|
-
mark:
|
|
19
|
-
success:
|
|
20
|
-
failure:
|
|
21
|
-
warning:
|
|
24
|
+
mark: chalk_1.default.cyanBright("◈"),
|
|
25
|
+
success: chalk_1.default.green("✓"),
|
|
26
|
+
failure: chalk_1.default.red("✗"),
|
|
27
|
+
warning: chalk_1.default.yellow("⚠"),
|
|
22
28
|
};
|
|
23
29
|
//# sourceMappingURL=colors.js.map
|
package/dist/ui/colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/ui/colors.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/ui/colors.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,iFAAiF;AAEpE,QAAA,CAAC,GAAG;IACf,mCAAmC;IACnC,IAAI,EAAE,eAAK,CAAC,IAAI;IAChB,UAAU,EAAE,eAAK,CAAC,UAAU;IAE5B,0BAA0B;IAC1B,KAAK,EAAE,eAAK,CAAC,KAAK;IAElB,iDAAiD;IACjD,GAAG,EAAE,eAAK,CAAC,GAAG;IAEd,uCAAuC;IACvC,KAAK,EAAE,eAAK,CAAC,KAAK;IAElB,6BAA6B;IAC7B,GAAG,EAAE,eAAK,CAAC,GAAG;IAEd,wCAAwC;IACxC,MAAM,EAAE,eAAK,CAAC,MAAM;IAEpB,UAAU;IACV,IAAI,EAAE,eAAK,CAAC,UAAU,CAAC,GAAG,CAAC;IAC3B,OAAO,EAAE,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACzB,OAAO,EAAE,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACvB,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC;CAC3B,CAAC"}
|
package/dist/ui/format.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// ─── Address Formatting ───────────────────────────────────────────────────────
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.formatAddress = formatAddress;
|
|
5
|
+
exports.formatValue = formatValue;
|
|
6
|
+
exports.formatBalance = formatBalance;
|
|
7
|
+
exports.formatTimeAgo = formatTimeAgo;
|
|
8
|
+
exports.formatDuration = formatDuration;
|
|
9
|
+
exports.formatTimestamp = formatTimestamp;
|
|
2
10
|
/**
|
|
3
11
|
* Truncate an address to 0x1234...abcd format (first 6 + last 4 chars).
|
|
4
12
|
* Full address is preserved in --json output only.
|
|
5
13
|
*/
|
|
6
|
-
|
|
14
|
+
function formatAddress(address) {
|
|
7
15
|
if (address.length <= 12)
|
|
8
16
|
return address;
|
|
9
17
|
return `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
@@ -12,13 +20,13 @@ export function formatAddress(address) {
|
|
|
12
20
|
/**
|
|
13
21
|
* Format a single token value: "0.024 ETH" or "150 USDC"
|
|
14
22
|
*/
|
|
15
|
-
|
|
23
|
+
function formatValue(amount, token) {
|
|
16
24
|
return `${amount} ${token}`;
|
|
17
25
|
}
|
|
18
26
|
/**
|
|
19
27
|
* Format a combined ETH + token balance: "0.024 ETH · 150 USDC"
|
|
20
28
|
*/
|
|
21
|
-
|
|
29
|
+
function formatBalance(ethAmount, tokenAmount, tokenSymbol) {
|
|
22
30
|
const eth = `${ethAmount} ETH`;
|
|
23
31
|
if (tokenAmount !== undefined && tokenSymbol) {
|
|
24
32
|
return `${eth} · ${tokenAmount} ${tokenSymbol}`;
|
|
@@ -29,7 +37,7 @@ export function formatBalance(ethAmount, tokenAmount, tokenSymbol) {
|
|
|
29
37
|
/**
|
|
30
38
|
* Format a unix timestamp (seconds) as a relative "time ago" string.
|
|
31
39
|
*/
|
|
32
|
-
|
|
40
|
+
function formatTimeAgo(timestampSeconds) {
|
|
33
41
|
const now = Math.floor(Date.now() / 1000);
|
|
34
42
|
const delta = now - timestampSeconds;
|
|
35
43
|
if (delta < 0)
|
|
@@ -50,7 +58,7 @@ export function formatTimeAgo(timestampSeconds) {
|
|
|
50
58
|
/**
|
|
51
59
|
* Format seconds-until-expiry as "61h 14m" or "2d 3h".
|
|
52
60
|
*/
|
|
53
|
-
|
|
61
|
+
function formatDuration(seconds) {
|
|
54
62
|
if (seconds <= 0)
|
|
55
63
|
return "expired";
|
|
56
64
|
const d = Math.floor(seconds / 86400);
|
|
@@ -65,7 +73,7 @@ export function formatDuration(seconds) {
|
|
|
65
73
|
/**
|
|
66
74
|
* Format a unix timestamp (seconds) as a locale date/time string.
|
|
67
75
|
*/
|
|
68
|
-
|
|
76
|
+
function formatTimestamp(timestampSeconds) {
|
|
69
77
|
return new Date(timestampSeconds * 1000).toLocaleString();
|
|
70
78
|
}
|
|
71
79
|
//# sourceMappingURL=format.js.map
|
package/dist/ui/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAAA,iFAAiF;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/qr-render.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.renderQR = renderQR;
|
|
7
|
+
exports.printQR = printQR;
|
|
8
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
2
9
|
/**
|
|
3
10
|
* Render a QR code as terminal-friendly half-block Unicode characters.
|
|
4
11
|
* Returns an array of strings, one per terminal row.
|
|
@@ -9,12 +16,12 @@ import QRCode from "qrcode";
|
|
|
9
16
|
* - Quiet zone 1 (not 4) — saves ~6 rows
|
|
10
17
|
* - Half-block chars: each terminal row = 2 QR module rows
|
|
11
18
|
*/
|
|
12
|
-
|
|
19
|
+
function renderQR(data, options) {
|
|
13
20
|
const ec = options?.errorCorrection ?? "L";
|
|
14
21
|
const quiet = options?.quiet ?? 1;
|
|
15
22
|
const invert = options?.invert ?? true;
|
|
16
23
|
// Generate QR matrix
|
|
17
|
-
const qr =
|
|
24
|
+
const qr = qrcode_1.default.create(data, {
|
|
18
25
|
errorCorrectionLevel: ec,
|
|
19
26
|
});
|
|
20
27
|
const size = qr.modules.size;
|
|
@@ -74,7 +81,7 @@ export function renderQR(data, options) {
|
|
|
74
81
|
* Render QR code to stdout (for non-TUI / child process context).
|
|
75
82
|
* Drop-in replacement for qrcode-terminal.generate().
|
|
76
83
|
*/
|
|
77
|
-
|
|
84
|
+
function printQR(data, options) {
|
|
78
85
|
const lines = renderQR(data, options);
|
|
79
86
|
for (const line of lines) {
|
|
80
87
|
console.log(" " + line);
|
package/dist/ui/qr-render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr-render.js","sourceRoot":"","sources":["../../src/ui/qr-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qr-render.js","sourceRoot":"","sources":["../../src/ui/qr-render.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/rpc-fallback.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isVerbose = isVerbose;
|
|
4
|
+
exports.verbose = verbose;
|
|
5
|
+
exports.callWithFallback = callWithFallback;
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
2
7
|
/**
|
|
3
8
|
* Public RPC endpoints for Base mainnet, ordered by reliability.
|
|
4
9
|
* Used as fallbacks when the configured RPC fails on read-only calls.
|
|
@@ -9,11 +14,11 @@ const BASE_FALLBACK_RPCS = [
|
|
|
9
14
|
"https://1rpc.io/base",
|
|
10
15
|
];
|
|
11
16
|
/** Check if verbose mode is enabled via --verbose flag or ARC402_DEBUG env */
|
|
12
|
-
|
|
17
|
+
function isVerbose() {
|
|
13
18
|
return process.argv.includes("--verbose") || process.env.ARC402_DEBUG === "1";
|
|
14
19
|
}
|
|
15
20
|
/** Log only when verbose mode is on */
|
|
16
|
-
|
|
21
|
+
function verbose(...args) {
|
|
17
22
|
if (isVerbose()) {
|
|
18
23
|
console.log("\x1b[2m [verbose]", ...args, "\x1b[22m");
|
|
19
24
|
}
|
|
@@ -22,11 +27,11 @@ export function verbose(...args) {
|
|
|
22
27
|
* Try a read-only call on the configured RPC first, then fall back
|
|
23
28
|
* to public RPCs. Write operations always use the configured RPC.
|
|
24
29
|
*/
|
|
25
|
-
|
|
30
|
+
async function callWithFallback(configuredRpcUrl, fn) {
|
|
26
31
|
// Try configured RPC first
|
|
27
32
|
try {
|
|
28
33
|
verbose(`RPC call via ${configuredRpcUrl}`);
|
|
29
|
-
const provider = new ethers.JsonRpcProvider(configuredRpcUrl);
|
|
34
|
+
const provider = new ethers_1.ethers.JsonRpcProvider(configuredRpcUrl);
|
|
30
35
|
const result = await fn(provider);
|
|
31
36
|
verbose(`RPC call succeeded`);
|
|
32
37
|
return result;
|
|
@@ -38,7 +43,7 @@ export async function callWithFallback(configuredRpcUrl, fn) {
|
|
|
38
43
|
for (const rpc of BASE_FALLBACK_RPCS) {
|
|
39
44
|
try {
|
|
40
45
|
verbose(`Falling back to ${rpc}`);
|
|
41
|
-
const provider = new ethers.JsonRpcProvider(rpc);
|
|
46
|
+
const provider = new ethers_1.ethers.JsonRpcProvider(rpc);
|
|
42
47
|
const result = await fn(provider);
|
|
43
48
|
verbose(`Fallback succeeded on ${rpc}`);
|
|
44
49
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-fallback.js","sourceRoot":"","sources":["../../src/ui/rpc-fallback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpc-fallback.js","sourceRoot":"","sources":["../../src/ui/rpc-fallback.ts"],"names":[],"mappings":";;AAaA,8BAEC;AAGD,0BAIC;AAMD,4CA8BC;AA1DD,mCAAgC;AAEhC;;;GAGG;AACH,MAAM,kBAAkB,GAAG;IACzB,2BAA2B;IAC3B,iCAAiC;IACjC,sBAAsB;CACvB,CAAC;AAEF,8EAA8E;AAC9E,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC;AAChF,CAAC;AAED,uCAAuC;AACvC,SAAgB,OAAO,CAAC,GAAG,IAAe;IACxC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,gBAAwB,EACxB,EAAoD;IAEpD,2BAA2B;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,gBAAgB,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,iBAAiB,gBAAgB,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClC,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjG,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/ui/spinner.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.startSpinner = startSpinner;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
3
9
|
const SPINNER_FRAMES = {
|
|
4
10
|
interval: 120,
|
|
5
11
|
frames: ["◈ ", "◉ ", "◎ ", "◉ "],
|
|
6
12
|
};
|
|
7
|
-
|
|
13
|
+
function startSpinner(text) {
|
|
8
14
|
if (process.env.ARC402_PRINT) {
|
|
9
15
|
process.stdout.write(text + "\n");
|
|
10
16
|
return {
|
|
@@ -16,7 +22,7 @@ export function startSpinner(text) {
|
|
|
16
22
|
stop() { },
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
|
-
const instance =
|
|
25
|
+
const instance = (0, ora_1.default)({
|
|
20
26
|
text,
|
|
21
27
|
spinner: SPINNER_FRAMES,
|
|
22
28
|
color: "cyan",
|
|
@@ -25,14 +31,14 @@ export function startSpinner(text) {
|
|
|
25
31
|
return {
|
|
26
32
|
succeed(msg) {
|
|
27
33
|
instance.stopAndPersist({
|
|
28
|
-
symbol:
|
|
34
|
+
symbol: chalk_1.default.green("✓"),
|
|
29
35
|
text: msg ?? instance.text,
|
|
30
36
|
prefixText: " ",
|
|
31
37
|
});
|
|
32
38
|
},
|
|
33
39
|
fail(msg) {
|
|
34
40
|
instance.stopAndPersist({
|
|
35
|
-
symbol:
|
|
41
|
+
symbol: chalk_1.default.red("✗"),
|
|
36
42
|
text: msg ?? instance.text,
|
|
37
43
|
prefixText: " ",
|
|
38
44
|
});
|
package/dist/ui/spinner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":";;;;;AAeA,oCAwCC;AAvDD,8CAA+B;AAC/B,kDAA0B;AAE1B,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CACjC,CAAC;AASF,SAAgB,YAAY,CAAC,IAAY;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,CAAC,GAAY,IAAI,IAAI,GAAG;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAY,IAAI,IAAI,GAAG;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,CAAS,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,KAAI,CAAC;SACV,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAQ,IAAA,aAAG,EAAC;QACxB,IAAI;QACJ,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;KAChB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO;QACL,OAAO,CAAC,GAAY;YAClB,QAAQ,CAAC,cAAc,CAAC;gBACtB,MAAM,EAAE,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI;gBAC1B,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAY;YACf,QAAQ,CAAC,cAAc,CAAC;gBACtB,MAAM,EAAE,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBACtB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI;gBAC1B,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAY;YACjB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI;YACF,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/ui/tree.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderTree = renderTree;
|
|
4
|
+
const colors_1 = require("./colors");
|
|
5
|
+
function renderTree(items) {
|
|
3
6
|
items.forEach((item, i) => {
|
|
4
7
|
const isLast = item.last ?? (i === items.length - 1);
|
|
5
8
|
const branch = isLast ? "└" : "├";
|
|
6
9
|
const paddedLabel = item.label.padEnd(10);
|
|
7
|
-
console.log(` ${c.dim(branch)} ${c.dim(paddedLabel)} ${c.white(item.value)}`);
|
|
10
|
+
console.log(` ${colors_1.c.dim(branch)} ${colors_1.c.dim(paddedLabel)} ${colors_1.c.white(item.value)}`);
|
|
8
11
|
});
|
|
9
12
|
}
|
|
10
13
|
//# sourceMappingURL=tree.js.map
|
package/dist/ui/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/ui/tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/ui/tree.ts"],"names":[],"mappings":";;AAQA,gCAOC;AAfD,qCAA6B;AAQ7B,SAAgB,UAAU,CAAC,KAAiB;IAC1C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,UAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,UAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/utils/format.js
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.reputationSignalLabel = exports.identityTierLabel = exports.formatDate = exports.truncateAddress = void 0;
|
|
7
|
+
exports.getTrustTier = getTrustTier;
|
|
8
|
+
exports.agreementStatusLabel = agreementStatusLabel;
|
|
9
|
+
exports.colourStatus = colourStatus;
|
|
10
|
+
exports.printTable = printTable;
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
13
|
+
const sdk_1 = require("@arc402/sdk");
|
|
14
|
+
const truncateAddress = (address) => address.length <= 12 ? address : `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
15
|
+
exports.truncateAddress = truncateAddress;
|
|
16
|
+
const formatDate = (timestamp) => new Date(timestamp * 1000).toLocaleString();
|
|
17
|
+
exports.formatDate = formatDate;
|
|
18
|
+
function getTrustTier(score) {
|
|
7
19
|
if (score >= 800)
|
|
8
20
|
return "Autonomous";
|
|
9
21
|
if (score >= 600)
|
|
@@ -14,33 +26,35 @@ export function getTrustTier(score) {
|
|
|
14
26
|
return "Restricted";
|
|
15
27
|
return "Probationary";
|
|
16
28
|
}
|
|
17
|
-
|
|
18
|
-
return AgreementStatus[status] ?? "UNKNOWN";
|
|
29
|
+
function agreementStatusLabel(status) {
|
|
30
|
+
return sdk_1.AgreementStatus[status] ?? "UNKNOWN";
|
|
19
31
|
}
|
|
20
|
-
|
|
32
|
+
function colourStatus(status) {
|
|
21
33
|
const label = agreementStatusLabel(status);
|
|
22
34
|
switch (status) {
|
|
23
|
-
case AgreementStatus.PROPOSED:
|
|
24
|
-
case AgreementStatus.REVISION_REQUESTED:
|
|
25
|
-
return
|
|
26
|
-
case AgreementStatus.ACCEPTED:
|
|
27
|
-
case AgreementStatus.REVISED:
|
|
28
|
-
case AgreementStatus.PENDING_VERIFICATION:
|
|
29
|
-
return
|
|
30
|
-
case AgreementStatus.FULFILLED:
|
|
31
|
-
return
|
|
32
|
-
case AgreementStatus.DISPUTED:
|
|
33
|
-
case AgreementStatus.ESCALATED_TO_HUMAN:
|
|
34
|
-
case AgreementStatus.ESCALATED_TO_ARBITRATION:
|
|
35
|
-
return
|
|
35
|
+
case sdk_1.AgreementStatus.PROPOSED:
|
|
36
|
+
case sdk_1.AgreementStatus.REVISION_REQUESTED:
|
|
37
|
+
return chalk_1.default.yellow(label);
|
|
38
|
+
case sdk_1.AgreementStatus.ACCEPTED:
|
|
39
|
+
case sdk_1.AgreementStatus.REVISED:
|
|
40
|
+
case sdk_1.AgreementStatus.PENDING_VERIFICATION:
|
|
41
|
+
return chalk_1.default.blue(label);
|
|
42
|
+
case sdk_1.AgreementStatus.FULFILLED:
|
|
43
|
+
return chalk_1.default.green(label);
|
|
44
|
+
case sdk_1.AgreementStatus.DISPUTED:
|
|
45
|
+
case sdk_1.AgreementStatus.ESCALATED_TO_HUMAN:
|
|
46
|
+
case sdk_1.AgreementStatus.ESCALATED_TO_ARBITRATION:
|
|
47
|
+
return chalk_1.default.red(label);
|
|
36
48
|
default:
|
|
37
|
-
return
|
|
49
|
+
return chalk_1.default.gray(label);
|
|
38
50
|
}
|
|
39
51
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
52
|
+
const identityTierLabel = (tier) => sdk_1.IdentityTier[tier] ?? "NONE";
|
|
53
|
+
exports.identityTierLabel = identityTierLabel;
|
|
54
|
+
const reputationSignalLabel = (signal) => sdk_1.ReputationSignalType[signal] ?? "UNKNOWN";
|
|
55
|
+
exports.reputationSignalLabel = reputationSignalLabel;
|
|
56
|
+
function printTable(head, rows) {
|
|
57
|
+
const table = new cli_table3_1.default({ head: head.map((value) => chalk_1.default.cyan(value)), style: { head: [], border: [] } });
|
|
44
58
|
rows.forEach((row) => table.push(row));
|
|
45
59
|
console.log(table.toString());
|
|
46
60
|
}
|
package/dist/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/hash.js
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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.hashString = exports.hashFile = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const ethers_1 = require("ethers");
|
|
39
|
+
const hashFile = (filePath) => ethers_1.ethers.keccak256(fs.readFileSync(filePath));
|
|
40
|
+
exports.hashFile = hashFile;
|
|
41
|
+
const hashString = (value) => ethers_1.ethers.keccak256(ethers_1.ethers.toUtf8Bytes(value));
|
|
42
|
+
exports.hashString = hashString;
|
|
5
43
|
//# sourceMappingURL=hash.js.map
|
package/dist/utils/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,mCAAgC;AAEzB,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,eAAM,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAA7E,QAAA,QAAQ,YAAqE;AACnF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,eAAM,CAAC,SAAS,CAAC,eAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAA5E,QAAA,UAAU,cAAkE"}
|
package/dist/utils/time.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseDuration = parseDuration;
|
|
4
|
+
exports.formatDeadline = formatDeadline;
|
|
5
|
+
function parseDuration(duration) {
|
|
2
6
|
const now = Math.floor(Date.now() / 1000);
|
|
3
7
|
const match = duration.match(/^(\d+)([hd])$/i);
|
|
4
8
|
if (!match)
|
|
@@ -6,7 +10,7 @@ export function parseDuration(duration) {
|
|
|
6
10
|
const value = Number(match[1]);
|
|
7
11
|
return now + (match[2].toLowerCase() === "d" ? value * 86400 : value * 3600);
|
|
8
12
|
}
|
|
9
|
-
|
|
13
|
+
function formatDeadline(deadline) {
|
|
10
14
|
const diff = deadline - Math.floor(Date.now() / 1000);
|
|
11
15
|
if (diff < 0)
|
|
12
16
|
return "EXPIRED";
|
package/dist/utils/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":";;AAAA,sCAMC;AAED,wCAMC;AAdD,SAAgB,aAAa,CAAC,QAAgB;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,0BAA0B,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC;AAChF,CAAC"}
|
package/dist/wallet-router.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
-
import { Arc402Config } from "./config
|
|
2
|
+
import { Arc402Config } from "./config";
|
|
3
3
|
/**
|
|
4
4
|
* Attempts to decode a known ARC402Wallet custom error from a thrown error.
|
|
5
5
|
* If a recognized error is found, prints a human-readable message and exits.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-router.d.ts","sourceRoot":"","sources":["../src/wallet-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wallet-router.d.ts","sourceRoot":"","sources":["../src/wallet-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA8CxC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAyCnD;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIlE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAMnE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAS1D;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,qBAAqB,EAAE,MAAM,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EAAE,EACf,KAAK,GAAE,MAAW,EAClB,aAAa,GAAE,MAA2B,EAC1C,iBAAiB,GAAE,MAAW,GAC7B,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAoB7C"}
|
package/dist/wallet-router.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleWalletError = handleWalletError;
|
|
4
|
+
exports.decodeWalletError = decodeWalletError;
|
|
5
|
+
exports.getEffectiveSender = getEffectiveSender;
|
|
6
|
+
exports.printSenderInfo = printSenderInfo;
|
|
7
|
+
exports.executeContractWriteViaWallet = executeContractWriteViaWallet;
|
|
8
|
+
const ethers_1 = require("ethers");
|
|
9
|
+
const abis_1 = require("./abis");
|
|
3
10
|
// ─── ARC402Wallet custom error decoder ─────────────────────────────────────
|
|
4
|
-
const WALLET_CUSTOM_ERROR_IFACE = new ethers.Interface([
|
|
11
|
+
const WALLET_CUSTOM_ERROR_IFACE = new ethers_1.ethers.Interface([
|
|
5
12
|
"error WVel()",
|
|
6
13
|
"error WCtx()",
|
|
7
14
|
"error WAtt()",
|
|
@@ -36,7 +43,7 @@ const WALLET_ERROR_HELP = {
|
|
|
36
43
|
* If a recognized error is found, prints a human-readable message and exits.
|
|
37
44
|
* Otherwise, rethrows the original error.
|
|
38
45
|
*/
|
|
39
|
-
|
|
46
|
+
function handleWalletError(e) {
|
|
40
47
|
// Extract revert data from various ethers v6 error shapes
|
|
41
48
|
let errorData;
|
|
42
49
|
if (e && typeof e === "object") {
|
|
@@ -97,26 +104,26 @@ const WALLET_ERROR_SELECTOR_MAP = {
|
|
|
97
104
|
* Decode a 4-byte ARC402Wallet custom error selector into a human-readable message.
|
|
98
105
|
* Returns null if the selector is not a known wallet error.
|
|
99
106
|
*/
|
|
100
|
-
|
|
107
|
+
function decodeWalletError(errorData) {
|
|
101
108
|
if (!errorData || errorData.length < 10)
|
|
102
109
|
return null;
|
|
103
110
|
const selector = errorData.slice(0, 10).toLowerCase();
|
|
104
111
|
return WALLET_ERROR_SELECTOR_MAP[selector] ?? null;
|
|
105
112
|
}
|
|
106
|
-
|
|
113
|
+
function getEffectiveSender(config) {
|
|
107
114
|
if (config.walletContractAddress) {
|
|
108
115
|
return { address: config.walletContractAddress, useContract: true };
|
|
109
116
|
}
|
|
110
|
-
const wallet = new ethers.Wallet(config.privateKey);
|
|
117
|
+
const wallet = new ethers_1.ethers.Wallet(config.privateKey);
|
|
111
118
|
return { address: wallet.address, useContract: false };
|
|
112
119
|
}
|
|
113
|
-
|
|
120
|
+
function printSenderInfo(config) {
|
|
114
121
|
if (config.walletContractAddress) {
|
|
115
122
|
console.log(`Using ARC402Wallet: ${config.walletContractAddress}`);
|
|
116
123
|
console.log(`Policy enforcement active — transaction subject to configured limits`);
|
|
117
124
|
}
|
|
118
125
|
else {
|
|
119
|
-
const wallet = new ethers.Wallet(config.privateKey);
|
|
126
|
+
const wallet = new ethers_1.ethers.Wallet(config.privateKey);
|
|
120
127
|
console.log(`Using EOA wallet: ${wallet.address}`);
|
|
121
128
|
console.log(`Tip: run \`arc402 wallet deploy\` to enable spending limits and policy enforcement`);
|
|
122
129
|
}
|
|
@@ -125,10 +132,10 @@ export function printSenderInfo(config) {
|
|
|
125
132
|
* Route a write transaction through the ARC402Wallet's executeContractCall when deployed,
|
|
126
133
|
* otherwise encode calldata directly against the target contract using the provided ABI.
|
|
127
134
|
*/
|
|
128
|
-
|
|
129
|
-
const iface = new ethers.Interface(contractAbi);
|
|
135
|
+
async function executeContractWriteViaWallet(walletContractAddress, signer, targetAddress, contractAbi, functionName, args, value = 0n, approvalToken = ethers_1.ethers.ZeroAddress, maxApprovalAmount = 0n) {
|
|
136
|
+
const iface = new ethers_1.ethers.Interface(contractAbi);
|
|
130
137
|
const data = iface.encodeFunctionData(functionName, args);
|
|
131
|
-
const walletContract = new ethers.Contract(walletContractAddress, ARC402_WALLET_EXECUTE_ABI, signer);
|
|
138
|
+
const walletContract = new ethers_1.ethers.Contract(walletContractAddress, abis_1.ARC402_WALLET_EXECUTE_ABI, signer);
|
|
132
139
|
try {
|
|
133
140
|
return await walletContract.executeContractCall({
|
|
134
141
|
target: targetAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-router.js","sourceRoot":"","sources":["../src/wallet-router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet-router.js","sourceRoot":"","sources":["../src/wallet-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletconnect-session.d.ts","sourceRoot":"","sources":["../src/walletconnect-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,
|
|
1
|
+
{"version":3,"file":"walletconnect-session.d.ts","sourceRoot":"","sources":["../src/walletconnect-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMjG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAGhF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAGzD"}
|