arc402-cli 1.3.14 → 1.3.16
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/dist/commands/accept.d.ts.map +1 -1
- package/dist/commands/accept.js +2 -28
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/deliver.d.ts.map +1 -1
- package/dist/commands/deliver.js +2 -28
- package/dist/commands/deliver.js.map +1 -1
- package/dist/commands/hire.d.ts.map +1 -1
- package/dist/commands/hire.js +9 -38
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +18 -39
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/wallet.d.ts.map +1 -1
- package/dist/commands/wallet.js +0 -84
- package/dist/commands/wallet.js.map +1 -1
- package/dist/wallet-router.d.ts +0 -12
- package/dist/wallet-router.d.ts.map +1 -1
- package/dist/wallet-router.js +0 -43
- package/dist/wallet-router.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsD5D"}
|
package/dist/commands/accept.js
CHANGED
|
@@ -6,14 +6,13 @@ const ethers_1 = require("ethers");
|
|
|
6
6
|
const config_1 = require("../config");
|
|
7
7
|
const client_1 = require("../client");
|
|
8
8
|
const wallet_router_1 = require("../wallet-router");
|
|
9
|
-
const walletconnect_1 = require("../walletconnect");
|
|
10
9
|
const abis_1 = require("../abis");
|
|
11
10
|
const endpoint_notify_1 = require("../endpoint-notify");
|
|
12
11
|
const colors_1 = require("../ui/colors");
|
|
13
12
|
const spinner_1 = require("../ui/spinner");
|
|
14
13
|
function registerAcceptCommand(program) {
|
|
15
14
|
program.command("accept <id>").description("Provider accepts a proposed agreement")
|
|
16
|
-
.option("--use-eoa", "Sign directly with machine key EOA
|
|
15
|
+
.option("--use-eoa", "Sign directly with machine key EOA, bypassing the smart wallet")
|
|
17
16
|
.action(async (id, opts) => {
|
|
18
17
|
const config = (0, config_1.loadConfig)();
|
|
19
18
|
if (!config.serviceAgreementAddress)
|
|
@@ -32,32 +31,7 @@ function registerAcceptCommand(program) {
|
|
|
32
31
|
const spinner = (0, spinner_1.startSpinner)("Submitting transaction...");
|
|
33
32
|
try {
|
|
34
33
|
if (config.walletContractAddress && !opts.useEoa) {
|
|
35
|
-
|
|
36
|
-
console.error(colors_1.c.failure + " walletConnectProjectId not set. Run `arc402 config set walletConnectProjectId <id>`.");
|
|
37
|
-
process.exit(1);
|
|
38
|
-
}
|
|
39
|
-
const chainId = config.network === "base-mainnet" ? 8453 : 84532;
|
|
40
|
-
const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
|
|
41
|
-
const saIface = new ethers_1.ethers.Interface(abis_1.SERVICE_AGREEMENT_ABI);
|
|
42
|
-
const walletIface = new ethers_1.ethers.Interface([
|
|
43
|
-
"function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken)) external returns (bytes)",
|
|
44
|
-
]);
|
|
45
|
-
const innerData = saIface.encodeFunctionData("accept", [BigInt(id)]);
|
|
46
|
-
const callData = walletIface.encodeFunctionData("executeContractCall", [{
|
|
47
|
-
target: config.serviceAgreementAddress,
|
|
48
|
-
data: innerData,
|
|
49
|
-
value: 0n,
|
|
50
|
-
minReturnValue: 0n,
|
|
51
|
-
maxApprovalAmount: 0n,
|
|
52
|
-
approvalToken: ethers_1.ethers.ZeroAddress,
|
|
53
|
-
}]);
|
|
54
|
-
const telegramOpts = config.telegramBotToken && config.telegramChatId
|
|
55
|
-
? { botToken: config.telegramBotToken, chatId: config.telegramChatId, threadId: config.telegramThreadId }
|
|
56
|
-
: undefined;
|
|
57
|
-
spinner.stop();
|
|
58
|
-
const { txHash } = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({ to: config.walletContractAddress, data: callData, value: "0x0" }), `Approve: accept agreement #${id}`, telegramOpts, config);
|
|
59
|
-
spinner.update('Waiting for confirmation...');
|
|
60
|
-
await provider.waitForTransaction(txHash);
|
|
34
|
+
await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, "accept", [BigInt(id)]);
|
|
61
35
|
}
|
|
62
36
|
else {
|
|
63
37
|
const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver.d.ts","sourceRoot":"","sources":["../../src/commands/deliver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"deliver.d.ts","sourceRoot":"","sources":["../../src/commands/deliver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqI7D"}
|
package/dist/commands/deliver.js
CHANGED
|
@@ -43,7 +43,6 @@ const config_1 = require("../config");
|
|
|
43
43
|
const client_1 = require("../client");
|
|
44
44
|
const hash_1 = require("../utils/hash");
|
|
45
45
|
const wallet_router_1 = require("../wallet-router");
|
|
46
|
-
const walletconnect_1 = require("../walletconnect");
|
|
47
46
|
const abis_1 = require("../abis");
|
|
48
47
|
const promises_1 = require("fs/promises");
|
|
49
48
|
const prompts_1 = __importDefault(require("prompts"));
|
|
@@ -59,7 +58,7 @@ function registerDeliverCommand(program) {
|
|
|
59
58
|
.option("--message <text>")
|
|
60
59
|
.option("--fulfill", "Use legacy trusted-only fulfill() instead of commitDeliverable()", false)
|
|
61
60
|
.option("--encrypt", "Encrypt the deliverable before uploading to IPFS (prompts for recipient public key)", false)
|
|
62
|
-
.option("--use-eoa", "Sign directly with machine key EOA
|
|
61
|
+
.option("--use-eoa", "Sign directly with machine key EOA, bypassing the smart wallet")
|
|
63
62
|
.action(async (id, opts) => {
|
|
64
63
|
const config = (0, config_1.loadConfig)();
|
|
65
64
|
if (!config.serviceAgreementAddress)
|
|
@@ -155,33 +154,8 @@ function registerDeliverCommand(program) {
|
|
|
155
154
|
const hash = opts.output ? (0, hash_1.hashFile)(opts.output) : (0, hash_1.hashString)(opts.message ?? `agreement:${id}`);
|
|
156
155
|
const deliverSpinner = (0, spinner_1.startSpinner)(`${opts.fulfill ? 'Fulfilling' : 'Committing deliverable for'} agreement #${id}…`);
|
|
157
156
|
if (config.walletContractAddress && !opts.useEoa) {
|
|
158
|
-
if (!config.walletConnectProjectId) {
|
|
159
|
-
console.error(colors_1.c.failure + " walletConnectProjectId not set. Run `arc402 config set walletConnectProjectId <id>`.");
|
|
160
|
-
process.exit(1);
|
|
161
|
-
}
|
|
162
157
|
const fn = opts.fulfill ? "fulfill" : "commitDeliverable";
|
|
163
|
-
|
|
164
|
-
const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
|
|
165
|
-
const saIface = new ethers_1.ethers.Interface(abis_1.SERVICE_AGREEMENT_ABI);
|
|
166
|
-
const walletIface = new ethers_1.ethers.Interface([
|
|
167
|
-
"function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken)) external returns (bytes)",
|
|
168
|
-
]);
|
|
169
|
-
const innerData = saIface.encodeFunctionData(fn, [BigInt(id), hash]);
|
|
170
|
-
const callData = walletIface.encodeFunctionData("executeContractCall", [{
|
|
171
|
-
target: config.serviceAgreementAddress,
|
|
172
|
-
data: innerData,
|
|
173
|
-
value: 0n,
|
|
174
|
-
minReturnValue: 0n,
|
|
175
|
-
maxApprovalAmount: 0n,
|
|
176
|
-
approvalToken: ethers_1.ethers.ZeroAddress,
|
|
177
|
-
}]);
|
|
178
|
-
const telegramOpts = config.telegramBotToken && config.telegramChatId
|
|
179
|
-
? { botToken: config.telegramBotToken, chatId: config.telegramChatId, threadId: config.telegramThreadId }
|
|
180
|
-
: undefined;
|
|
181
|
-
deliverSpinner.stop();
|
|
182
|
-
const { txHash } = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({ to: config.walletContractAddress, data: callData, value: "0x0" }), `Approve: ${fn} agreement #${id}`, telegramOpts, config);
|
|
183
|
-
deliverSpinner.update('Waiting for confirmation...');
|
|
184
|
-
await provider.waitForTransaction(txHash);
|
|
158
|
+
await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, fn, [BigInt(id), hash]);
|
|
185
159
|
}
|
|
186
160
|
else {
|
|
187
161
|
const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../../src/commands/deliver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../../src/commands/deliver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hire.d.ts","sourceRoot":"","sources":["../../src/commands/hire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"hire.d.ts","sourceRoot":"","sources":["../../src/commands/hire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmO1D"}
|
package/dist/commands/hire.js
CHANGED
|
@@ -8,7 +8,6 @@ const client_1 = require("../client");
|
|
|
8
8
|
const hash_1 = require("../utils/hash");
|
|
9
9
|
const time_1 = require("../utils/time");
|
|
10
10
|
const wallet_router_1 = require("../wallet-router");
|
|
11
|
-
const walletconnect_1 = require("../walletconnect");
|
|
12
11
|
const abis_1 = require("../abis");
|
|
13
12
|
const colors_1 = require("../ui/colors");
|
|
14
13
|
const spinner_1 = require("../ui/spinner");
|
|
@@ -27,8 +26,8 @@ function registerHireCommand(program) {
|
|
|
27
26
|
.option("--deadline <duration>", "Deadline as duration (1h, 30m, 7d) or absolute ISO date (2026-04-01). Required unless --session is provided.")
|
|
28
27
|
.option("--token <token>", "eth or usdc", "eth")
|
|
29
28
|
.option("--deliverable-spec <filepath>")
|
|
30
|
-
.option("--use-eoa", "Sign directly with machine key EOA (bypasses smart wallet — use if executeContractCall is unavailable)")
|
|
31
29
|
.option("--session <sessionId>", "Load agreed price and deadline from a completed negotiation session")
|
|
30
|
+
.option("--use-eoa", "Sign directly with machine key EOA, bypassing the smart wallet")
|
|
32
31
|
.option("--json")
|
|
33
32
|
.action(async (opts) => {
|
|
34
33
|
const config = (0, config_1.loadConfig)();
|
|
@@ -136,55 +135,27 @@ function registerHireCommand(program) {
|
|
|
136
135
|
let agreementId;
|
|
137
136
|
const hireSpinner = (0, spinner_1.startSpinner)('Submitting agreement...');
|
|
138
137
|
if (config.walletContractAddress && !opts.useEoa) {
|
|
139
|
-
// Smart wallet path —
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
process.exit(1);
|
|
145
|
-
}
|
|
146
|
-
const chainId = config.network === "base-mainnet" ? 8453 : 84532;
|
|
147
|
-
const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
|
|
148
|
-
const saIface = new ethers_1.ethers.Interface(abis_1.SERVICE_AGREEMENT_ABI);
|
|
149
|
-
const walletIface = new ethers_1.ethers.Interface([
|
|
150
|
-
"function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken)) external returns (bytes)",
|
|
151
|
-
]);
|
|
152
|
-
const telegramOpts = config.telegramBotToken && config.telegramChatId
|
|
153
|
-
? { botToken: config.telegramBotToken, chatId: config.telegramChatId, threadId: config.telegramThreadId }
|
|
154
|
-
: undefined;
|
|
155
|
-
hireSpinner.stop();
|
|
156
|
-
const innerData = saIface.encodeFunctionData("propose", [
|
|
157
|
-
opts.agent, opts.serviceType, opts.task, price, token, deadlineSeconds, deliverablesHash,
|
|
158
|
-
]);
|
|
159
|
-
const callData = walletIface.encodeFunctionData("executeContractCall", [{
|
|
160
|
-
target: config.serviceAgreementAddress,
|
|
161
|
-
data: innerData,
|
|
162
|
-
value: useUsdc ? 0n : price,
|
|
163
|
-
minReturnValue: 0n,
|
|
164
|
-
maxApprovalAmount: useUsdc ? price : 0n,
|
|
165
|
-
approvalToken: useUsdc ? token : ethers_1.ethers.ZeroAddress,
|
|
166
|
-
}]);
|
|
167
|
-
const { txHash } = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({
|
|
168
|
-
to: config.walletContractAddress,
|
|
169
|
-
data: callData,
|
|
170
|
-
value: useUsdc ? "0x0" : `0x${price.toString(16)}`,
|
|
171
|
-
}), `Approve hire: ${opts.serviceType} → ${opts.agent.slice(0, 10)}... (${ethers_1.ethers.formatEther(price)} ETH)`, telegramOpts, config);
|
|
172
|
-
hireSpinner.update('Waiting for confirmation...');
|
|
173
|
-
const receipt = await provider.waitForTransaction(txHash);
|
|
138
|
+
// Smart wallet path — wallet handles per-tx USDC approval via maxApprovalAmount
|
|
139
|
+
const tx = await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, "propose", [opts.agent, opts.serviceType, opts.task, price, token, deadlineSeconds, deliverablesHash], useUsdc ? 0n : price, // ETH value forwarded to SA; 0 for USDC agreements
|
|
140
|
+
useUsdc ? token : ethers_1.ethers.ZeroAddress, // approvalToken for USDC
|
|
141
|
+
useUsdc ? price : 0n);
|
|
142
|
+
const receipt = await tx.wait();
|
|
174
143
|
const saInterface = new ethers_1.ethers.Interface(abis_1.SERVICE_AGREEMENT_ABI);
|
|
144
|
+
let found = false;
|
|
175
145
|
for (const log of receipt.logs) {
|
|
176
146
|
if (log.address.toLowerCase() === config.serviceAgreementAddress.toLowerCase()) {
|
|
177
147
|
try {
|
|
178
148
|
const parsed = saInterface.parseLog(log);
|
|
179
149
|
if (parsed?.name === "AgreementProposed") {
|
|
180
150
|
agreementId = parsed.args[0];
|
|
151
|
+
found = true;
|
|
181
152
|
break;
|
|
182
153
|
}
|
|
183
154
|
}
|
|
184
155
|
catch { /* skip unparseable logs */ }
|
|
185
156
|
}
|
|
186
157
|
}
|
|
187
|
-
if (
|
|
158
|
+
if (!found)
|
|
188
159
|
throw new Error("AgreementProposed event not found in transaction receipt");
|
|
189
160
|
}
|
|
190
161
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hire.js","sourceRoot":"","sources":["../../src/commands/hire.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hire.js","sourceRoot":"","sources":["../../src/commands/hire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsE5D"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -6,9 +6,7 @@ const ethers_1 = require("ethers");
|
|
|
6
6
|
const config_1 = require("../config");
|
|
7
7
|
const client_1 = require("../client");
|
|
8
8
|
const wallet_router_1 = require("../wallet-router");
|
|
9
|
-
const walletconnect_1 = require("../walletconnect");
|
|
10
9
|
const abis_1 = require("../abis");
|
|
11
|
-
const colors_1 = require("../ui/colors");
|
|
12
10
|
const spinner_1 = require("../ui/spinner");
|
|
13
11
|
// Agreement status values from the contract
|
|
14
12
|
const AGREEMENT_STATUS_NAMES = {
|
|
@@ -26,7 +24,7 @@ function registerVerifyCommand(program) {
|
|
|
26
24
|
.command("verify <id>")
|
|
27
25
|
.description("Client verifies delivered work and releases escrow")
|
|
28
26
|
.option("--auto", "Call autoRelease instead (for when verify window has elapsed and client is silent)")
|
|
29
|
-
.option("--use-eoa", "Sign directly with machine key EOA
|
|
27
|
+
.option("--use-eoa", "Sign directly with machine key EOA, bypassing the smart wallet")
|
|
30
28
|
.option("--skip-status-check", "Skip the PENDING_VERIFICATION pre-flight check")
|
|
31
29
|
.option("--json")
|
|
32
30
|
.action(async (id, opts) => {
|
|
@@ -59,49 +57,30 @@ function registerVerifyCommand(program) {
|
|
|
59
57
|
throw e;
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
if (opts.auto) {
|
|
61
|
+
if (config.walletContractAddress && !opts.useEoa) {
|
|
62
|
+
const tx = await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, "autoRelease", [BigInt(id)]);
|
|
63
|
+
if (opts.json)
|
|
64
|
+
return console.log(JSON.stringify({ agreementId: id, action: "autoRelease", txHash: tx.hash }));
|
|
65
|
+
spinner.succeed('Auto-released — agreement #' + id + ' — tx ' + tx.hash.slice(0, 10) + '...');
|
|
68
66
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const saIface = new ethers_1.ethers.Interface(abis_1.SERVICE_AGREEMENT_ABI);
|
|
72
|
-
const walletIface = new ethers_1.ethers.Interface([
|
|
73
|
-
"function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken)) external returns (bytes)",
|
|
74
|
-
]);
|
|
75
|
-
const innerData = saIface.encodeFunctionData(fn, [BigInt(id)]);
|
|
76
|
-
const callData = walletIface.encodeFunctionData("executeContractCall", [{
|
|
77
|
-
target: config.serviceAgreementAddress,
|
|
78
|
-
data: innerData,
|
|
79
|
-
value: 0n,
|
|
80
|
-
minReturnValue: 0n,
|
|
81
|
-
maxApprovalAmount: 0n,
|
|
82
|
-
approvalToken: ethers_1.ethers.ZeroAddress,
|
|
83
|
-
}]);
|
|
84
|
-
const telegramOpts = config.telegramBotToken && config.telegramChatId
|
|
85
|
-
? { botToken: config.telegramBotToken, chatId: config.telegramChatId, threadId: config.telegramThreadId }
|
|
86
|
-
: undefined;
|
|
87
|
-
spinner.stop();
|
|
88
|
-
const { txHash } = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({ to: config.walletContractAddress, data: callData, value: "0x0" }), `Approve: ${fn} agreement #${id} — release escrow`, telegramOpts, config);
|
|
89
|
-
spinner.update('Waiting for confirmation...');
|
|
90
|
-
await provider.waitForTransaction(txHash);
|
|
91
|
-
if (opts.json)
|
|
92
|
-
return console.log(JSON.stringify({ agreementId: id, action: fn, txHash }));
|
|
93
|
-
spinner.succeed(`${opts.auto ? 'Auto-released' : 'Verified'} — agreement #${id} — escrow released`);
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// EOA path — direct call or no wallet contract
|
|
97
|
-
const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
98
|
-
if (opts.auto) {
|
|
67
|
+
else {
|
|
68
|
+
const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
99
69
|
const tx = await client.autoRelease(BigInt(id));
|
|
100
70
|
if (opts.json)
|
|
101
71
|
return console.log(JSON.stringify({ agreementId: id, action: "autoRelease", txHash: tx.hash }));
|
|
102
72
|
spinner.succeed('Auto-released — agreement #' + id + ' — tx ' + tx.hash.slice(0, 10) + '...');
|
|
103
73
|
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
if (config.walletContractAddress && !opts.useEoa) {
|
|
77
|
+
const tx = await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, "verifyDeliverable", [BigInt(id)]);
|
|
78
|
+
if (opts.json)
|
|
79
|
+
return console.log(JSON.stringify({ agreementId: id, action: "verifyDeliverable", txHash: tx.hash }));
|
|
80
|
+
spinner.succeed('Verified — agreement #' + id + ' — escrow released');
|
|
81
|
+
}
|
|
104
82
|
else {
|
|
83
|
+
const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
105
84
|
const tx = await client.verifyDeliverable(BigInt(id));
|
|
106
85
|
if (opts.json)
|
|
107
86
|
return console.log(JSON.stringify({ agreementId: id, action: "verifyDeliverable", txHash: tx.hash }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8kBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8kBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAw2F7D"}
|
package/dist/commands/wallet.js
CHANGED
|
@@ -2705,90 +2705,6 @@ function registerWalletCommands(program) {
|
|
|
2705
2705
|
console.log(" " + colors_1.c.dim("Wallet:") + " " + colors_1.c.white(walletAddr));
|
|
2706
2706
|
}
|
|
2707
2707
|
});
|
|
2708
|
-
// ─── force-close-context ───────────────────────────────────────────────────
|
|
2709
|
-
//
|
|
2710
|
-
// Workaround for wallets where wallet.closeContext() reverts because the deployed
|
|
2711
|
-
// PolicyEngine doesn't have closeContext(). Instead of calling wallet.closeContext()
|
|
2712
|
-
// (which internally calls pe.closeContext() and reverts), this command:
|
|
2713
|
-
// 1. Calls PE.closeContext(wallet, contextId) directly via owner WalletConnect
|
|
2714
|
-
// (PE accepts calls from wallet owner via walletOwners mapping)
|
|
2715
|
-
// 2. Then calls wallet.closeContext() — which should now succeed since PE call
|
|
2716
|
-
// was already made, but if it still reverts due to PE not having the function,
|
|
2717
|
-
// we directly zero the context via a raw storage slot write (not possible on mainnet)
|
|
2718
|
-
//
|
|
2719
|
-
// Fallback: call PE.closeContext directly as owner EOA (not via wallet) — PE accepts
|
|
2720
|
-
// msg.sender == walletOwners[wallet].
|
|
2721
|
-
wallet.command("force-close-context")
|
|
2722
|
-
.description("Force-close stale context when wallet.closeContext() reverts (PE missing closeContext). Owner signs via WalletConnect.")
|
|
2723
|
-
.option("--json")
|
|
2724
|
-
.action(async (opts) => {
|
|
2725
|
-
const config = (0, config_1.loadConfig)();
|
|
2726
|
-
const walletAddr = config.walletContractAddress;
|
|
2727
|
-
if (!walletAddr) {
|
|
2728
|
-
console.error("walletContractAddress not set in config.");
|
|
2729
|
-
process.exit(1);
|
|
2730
|
-
}
|
|
2731
|
-
if (!config.walletConnectProjectId) {
|
|
2732
|
-
console.error("walletConnectProjectId not set in config.");
|
|
2733
|
-
process.exit(1);
|
|
2734
|
-
}
|
|
2735
|
-
const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
|
|
2736
|
-
// Check context is actually open
|
|
2737
|
-
const walletAbi = ["function contextOpen() view returns (bool)", "function activeContextId() view returns (bytes32)"];
|
|
2738
|
-
const walletReadOnly = new ethers_1.ethers.Contract(walletAddr, walletAbi, provider);
|
|
2739
|
-
const isOpen = await walletReadOnly.contextOpen();
|
|
2740
|
-
if (!isOpen) {
|
|
2741
|
-
console.log("Context is already closed — nothing to do.");
|
|
2742
|
-
return;
|
|
2743
|
-
}
|
|
2744
|
-
const contextId = await walletReadOnly.activeContextId();
|
|
2745
|
-
console.log(`Open context found: ${contextId}`);
|
|
2746
|
-
// Step 1: Call PE.closeContext(wallet, contextId) directly as owner via WalletConnect
|
|
2747
|
-
// PE accepts: msg.sender == wallet OR msg.sender == walletOwners[wallet]
|
|
2748
|
-
const policyEngineAddress = config.policyEngineAddress ?? "0xAA5Ef3489C929bFB3BFf5D5FE15aa62d3763c847";
|
|
2749
|
-
const chainId = config.network === "base-mainnet" ? 8453 : 84532;
|
|
2750
|
-
const peIface = new ethers_1.ethers.Interface(["function closeContext(address wallet, bytes32 contextId) external"]);
|
|
2751
|
-
const peCalldata = peIface.encodeFunctionData("closeContext", [walletAddr, contextId]);
|
|
2752
|
-
const telegramOpts = config.telegramBotToken && config.telegramChatId
|
|
2753
|
-
? { botToken: config.telegramBotToken, chatId: config.telegramChatId, threadId: config.telegramThreadId }
|
|
2754
|
-
: undefined;
|
|
2755
|
-
console.log("Step 1: Calling PE.closeContext as owner (WalletConnect)...");
|
|
2756
|
-
let peTxHash;
|
|
2757
|
-
try {
|
|
2758
|
-
const result = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({ to: policyEngineAddress, data: peCalldata, value: "0x0" }), `Force-close wallet context — clear stale open context on ${walletAddr.slice(0, 10)}...`, telegramOpts, config);
|
|
2759
|
-
peTxHash = result.txHash;
|
|
2760
|
-
await provider.waitForTransaction(peTxHash);
|
|
2761
|
-
console.log(" " + colors_1.c.success + colors_1.c.white(" PE.closeContext called"));
|
|
2762
|
-
}
|
|
2763
|
-
catch (e) {
|
|
2764
|
-
console.log(" " + colors_1.c.warning + colors_1.c.white(` PE.closeContext failed (may not have this function): ${e instanceof Error ? e.message.slice(0, 80) : String(e)}`));
|
|
2765
|
-
console.log(colors_1.c.dim(" Proceeding to wallet.closeContext anyway..."));
|
|
2766
|
-
}
|
|
2767
|
-
// Step 2: Call wallet.closeContext via executeContractCall (owner WalletConnect)
|
|
2768
|
-
console.log("Step 2: Calling wallet.closeContext via executeContractCall (WalletConnect)...");
|
|
2769
|
-
const walletIface = new ethers_1.ethers.Interface([
|
|
2770
|
-
"function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken)) external returns (bytes)",
|
|
2771
|
-
"function closeContext() external",
|
|
2772
|
-
]);
|
|
2773
|
-
// Encode closeContext() call on the wallet itself — but wallet blocks self-targeting
|
|
2774
|
-
// Instead, we already called PE directly. Now just call wallet.closeContext() directly
|
|
2775
|
-
// from the owner EOA via WalletConnect (not via executeContractCall since target==wallet is blocked)
|
|
2776
|
-
const closeCtxCalldata = walletIface.encodeFunctionData("closeContext", []);
|
|
2777
|
-
try {
|
|
2778
|
-
const result2 = await (0, walletconnect_1.requestPhoneWalletSignature)(config.walletConnectProjectId, chainId, () => ({ to: walletAddr, data: closeCtxCalldata, value: "0x0" }), `Close wallet context — final step`, telegramOpts, config);
|
|
2779
|
-
await provider.waitForTransaction(result2.txHash);
|
|
2780
|
-
console.log(" " + colors_1.c.success + colors_1.c.white(" Context closed"));
|
|
2781
|
-
if (opts.json)
|
|
2782
|
-
console.log(JSON.stringify({ ok: true, peTxHash, closeTxHash: result2.txHash, contextId }));
|
|
2783
|
-
}
|
|
2784
|
-
catch (e) {
|
|
2785
|
-
console.error(" " + colors_1.c.failure + colors_1.c.white(` wallet.closeContext failed: ${e instanceof Error ? e.message.slice(0, 100) : String(e)}`));
|
|
2786
|
-
console.error(colors_1.c.dim(" The stale context is still open. PolicyEngine redeployment required for full fix."));
|
|
2787
|
-
if (opts.json)
|
|
2788
|
-
console.log(JSON.stringify({ ok: false, peTxHash, contextId, error: String(e) }));
|
|
2789
|
-
process.exit(1);
|
|
2790
|
-
}
|
|
2791
|
-
});
|
|
2792
2708
|
// ─── drain ─────────────────────────────────────────────────────────────────
|
|
2793
2709
|
//
|
|
2794
2710
|
// P1 + BUG-DRAIN-06: full autonomous drain via machine key.
|