@aura-protocol/cli 0.1.2 → 0.3.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 +84 -67
- package/bin/aura.js +0 -0
- package/dist/commands/confidential.d.ts +1 -1
- package/dist/commands/confidential.js +276 -597
- package/dist/commands/confidential.js.map +1 -1
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.js +26 -8
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +1 -1
- package/dist/commands/dashboard.js +6 -7
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/dwallet.d.ts +1 -1
- package/dist/commands/dwallet.js +52 -41
- package/dist/commands/dwallet.js.map +1 -1
- package/dist/commands/execution.d.ts +1 -1
- package/dist/commands/execution.js +111 -175
- package/dist/commands/execution.js.map +1 -1
- package/dist/commands/features.d.ts +1 -1
- package/dist/commands/features.js +15 -10
- package/dist/commands/features.js.map +1 -1
- package/dist/commands/generated.d.ts +20 -0
- package/dist/commands/generated.js +61 -0
- package/dist/commands/generated.js.map +1 -0
- package/dist/commands/governance.d.ts +1 -1
- package/dist/commands/governance.js +113 -99
- package/dist/commands/governance.js.map +1 -1
- package/dist/commands/helpers.d.ts +5 -2
- package/dist/commands/helpers.js +79 -16
- package/dist/commands/helpers.js.map +1 -1
- package/dist/commands/instruction-exec.d.ts +27 -0
- package/dist/commands/instruction-exec.js +171 -0
- package/dist/commands/instruction-exec.js.map +1 -0
- package/dist/commands/instruction.d.ts +9 -0
- package/dist/commands/instruction.js +81 -0
- package/dist/commands/instruction.js.map +1 -0
- package/dist/commands/pda.d.ts +1 -1
- package/dist/commands/pda.js +15 -7
- package/dist/commands/pda.js.map +1 -1
- package/dist/commands/treasury.d.ts +1 -1
- package/dist/commands/treasury.js +201 -186
- package/dist/commands/treasury.js.map +1 -1
- package/dist/core/config.d.ts +35 -0
- package/dist/core/config.js +97 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/context.d.ts +51 -0
- package/dist/core/context.js +60 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/errors.d.ts +38 -0
- package/dist/core/errors.js +138 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/network.d.ts +18 -0
- package/dist/core/network.js +38 -0
- package/dist/core/network.js.map +1 -0
- package/dist/core/runner.d.ts +45 -0
- package/dist/core/runner.js +219 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/security.d.ts +28 -0
- package/dist/core/security.js +83 -0
- package/dist/core/security.js.map +1 -0
- package/dist/core/wallet.d.ts +2 -0
- package/dist/core/wallet.js +21 -0
- package/dist/core/wallet.js.map +1 -0
- package/dist/ika.d.ts +0 -9
- package/dist/ika.js +0 -48
- package/dist/ika.js.map +1 -1
- package/dist/index.js +56 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/domain.d.ts +16 -0
- package/dist/lib/domain.js +88 -0
- package/dist/lib/domain.js.map +1 -0
- package/dist/lib/ika.d.ts +81 -0
- package/dist/lib/ika.js +192 -0
- package/dist/lib/ika.js.map +1 -0
- package/dist/lib/instructions.d.ts +79 -0
- package/dist/lib/instructions.js +421 -0
- package/dist/lib/instructions.js.map +1 -0
- package/dist/lib/protocol.d.ts +99 -0
- package/dist/lib/protocol.js +327 -0
- package/dist/lib/protocol.js.map +1 -0
- package/dist/lib/treasury-view.d.ts +11 -0
- package/dist/lib/treasury-view.js +126 -0
- package/dist/lib/treasury-view.js.map +1 -0
- package/dist/output.js +0 -3
- package/dist/output.js.map +1 -1
- package/dist/program-instructions.d.ts +1 -1
- package/dist/protocol.d.ts +0 -1
- package/dist/protocol.js +0 -7
- package/dist/protocol.js.map +1 -1
- package/dist/treasury-view.js +1 -1
- package/dist/treasury-view.js.map +1 -1
- package/dist/ui/dashboard.d.ts +7 -0
- package/dist/ui/dashboard.js +99 -0
- package/dist/ui/dashboard.js.map +1 -0
- package/dist/ui/format.d.ts +9 -0
- package/dist/ui/format.js +92 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/output.d.ts +58 -0
- package/dist/ui/output.js +208 -0
- package/dist/ui/output.js.map +1 -0
- package/dist/ui/theme.d.ts +52 -0
- package/dist/ui/theme.js +110 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/vendor/encrypt/generated/grpc/encrypt_service.d.ts +1 -1
- package/dist/vendor/encrypt/generated/grpc/encrypt_service.js +36 -13
- package/dist/vendor/encrypt/generated/grpc/encrypt_service.js.map +1 -1
- package/dist/vendor/encrypt/grpc.d.ts +2 -2
- package/dist/vendor/encrypt/grpc.js +1 -3
- package/dist/vendor/encrypt/grpc.js.map +1 -1
- package/dist/vendor/ika/bcs-types.js +107 -50
- package/dist/vendor/ika/bcs-types.js.map +1 -1
- package/dist/vendor/ika/generated/grpc/ika_dwallet.d.ts +1 -1
- package/dist/vendor/ika/generated/grpc/ika_dwallet.js +14 -4
- package/dist/vendor/ika/generated/grpc/ika_dwallet.js.map +1 -1
- package/dist/vendor/ika/grpc.d.ts +1 -1
- package/dist/vendor/ika/grpc.js +49 -24
- package/dist/vendor/ika/grpc.js.map +1 -1
- package/package.json +16 -13
- package/dist/ascii.d.ts +0 -1
- package/dist/ascii.js +0 -2
- package/dist/ascii.js.map +0 -1
|
@@ -1,52 +1,13 @@
|
|
|
1
|
+
import { accounts, instructions, } from "@aura-protocol/sdk-ts";
|
|
2
|
+
import { PublicKey, SystemProgram } from "@solana/web3.js";
|
|
1
3
|
import BN from "bn.js";
|
|
2
|
-
import {
|
|
3
|
-
import {} from "
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { renderTreasurySections } from "../treasury-view.js";
|
|
4
|
+
import { buildCliContext } from "../core/context.js";
|
|
5
|
+
import { CliError } from "../core/errors.js";
|
|
6
|
+
import { runInstructions } from "../core/runner.js";
|
|
7
|
+
import { deriveApprovedExecutionAccounts, getActivePendingProposal, getMessageApprovalState, parseCiphertextVerified, parseDecryptionReady, resolvePendingProposal, waitForMessageApproval, } from "../lib/protocol.js";
|
|
8
|
+
import { renderTreasurySections } from "../lib/treasury-view.js";
|
|
9
|
+
import { createTable, printBanner, printInfo, startSpinner, } from "../ui/output.js";
|
|
9
10
|
import { resolveTreasuryAccount } from "./helpers.js";
|
|
10
|
-
function buildExecutePendingInstruction(options) {
|
|
11
|
-
const keys = [
|
|
12
|
-
{ pubkey: options.ctx.wallet.publicKey, isSigner: true, isWritable: false },
|
|
13
|
-
{ pubkey: options.treasury, isSigner: false, isWritable: true },
|
|
14
|
-
];
|
|
15
|
-
if (options.approvedAccounts) {
|
|
16
|
-
keys.push({
|
|
17
|
-
pubkey: options.approvedAccounts.messageApproval,
|
|
18
|
-
isSigner: false,
|
|
19
|
-
isWritable: true,
|
|
20
|
-
}, {
|
|
21
|
-
pubkey: options.approvedAccounts.dwalletAccount,
|
|
22
|
-
isSigner: false,
|
|
23
|
-
isWritable: false,
|
|
24
|
-
}, { pubkey: options.ctx.programId, isSigner: false, isWritable: false }, {
|
|
25
|
-
pubkey: options.approvedAccounts.cpiAuthority,
|
|
26
|
-
isSigner: false,
|
|
27
|
-
isWritable: false,
|
|
28
|
-
}, {
|
|
29
|
-
pubkey: options.approvedAccounts.dwalletProgram,
|
|
30
|
-
isSigner: false,
|
|
31
|
-
isWritable: false,
|
|
32
|
-
}, {
|
|
33
|
-
pubkey: options.approvedAccounts.dwalletCoordinator,
|
|
34
|
-
isSigner: false,
|
|
35
|
-
isWritable: false,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
keys.push({ pubkey: options.ctx.programId, isSigner: false, isWritable: false });
|
|
40
|
-
}
|
|
41
|
-
keys.push({ pubkey: SystemProgram.programId, isSigner: false, isWritable: false });
|
|
42
|
-
return new TransactionInstruction({
|
|
43
|
-
programId: options.ctx.programId,
|
|
44
|
-
keys,
|
|
45
|
-
data: options.ctx.client.coder.encode("executePending", {
|
|
46
|
-
now: new BN(options.now),
|
|
47
|
-
}),
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
11
|
async function renderExecutionWatch(ctx, treasury, account) {
|
|
51
12
|
const sections = renderTreasurySections(treasury, account);
|
|
52
13
|
const live = createTable(["Live check", "Value"]);
|
|
@@ -54,7 +15,10 @@ async function renderExecutionWatch(ctx, treasury, account) {
|
|
|
54
15
|
if (pending?.policyOutputCiphertextAccount) {
|
|
55
16
|
const policyOutput = new PublicKey(pending.policyOutputCiphertextAccount);
|
|
56
17
|
const info = await ctx.connection.getAccountInfo(policyOutput, "confirmed");
|
|
57
|
-
live.push([
|
|
18
|
+
live.push([
|
|
19
|
+
"Policy output verified",
|
|
20
|
+
parseCiphertextVerified(info) ? "Yes" : "No",
|
|
21
|
+
]);
|
|
58
22
|
}
|
|
59
23
|
if (pending?.decryptionRequest?.requestAccount) {
|
|
60
24
|
const requestAccount = new PublicKey(pending.decryptionRequest.requestAccount);
|
|
@@ -67,12 +31,7 @@ async function renderExecutionWatch(ctx, treasury, account) {
|
|
|
67
31
|
live.push(["Message approval", state]);
|
|
68
32
|
}
|
|
69
33
|
printBanner(ctx.output, `Execution Watch: ${account.agentId}`);
|
|
70
|
-
|
|
71
|
-
console.log(sections.pending);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
console.log("No pending proposal.");
|
|
75
|
-
}
|
|
34
|
+
console.log(sections.pending ?? "No pending proposal.");
|
|
76
35
|
if (live.length > 0) {
|
|
77
36
|
console.log("");
|
|
78
37
|
console.log(live.toString());
|
|
@@ -87,105 +46,77 @@ export function registerExecutionCommands(program) {
|
|
|
87
46
|
.description("Run execute_pending for the current proposal")
|
|
88
47
|
.option("--agent-id <id>", "treasury agent ID")
|
|
89
48
|
.option("--treasury <pda>", "treasury PDA")
|
|
90
|
-
.option("--wait", "wait until message approval exists
|
|
49
|
+
.option("--wait", "wait until the message approval account exists")
|
|
91
50
|
.option("--wait-signed", "wait until the message approval reaches signed status")
|
|
92
51
|
.action(async function executionExecute() {
|
|
93
52
|
const ctx = buildCliContext(this);
|
|
94
|
-
|
|
95
|
-
|
|
53
|
+
const wallet = ctx.wallet;
|
|
54
|
+
if (!wallet) {
|
|
55
|
+
throw new CliError("A wallet is required to execute pending proposals.", {
|
|
56
|
+
code: "WALLET_REQUIRED",
|
|
57
|
+
});
|
|
96
58
|
}
|
|
97
59
|
const options = this.opts();
|
|
98
60
|
const treasuryState = await resolveTreasuryAccount(ctx, {
|
|
99
|
-
agentId: typeof options
|
|
100
|
-
treasury: typeof options
|
|
61
|
+
agentId: typeof options.agentId === "string" ? options.agentId : undefined,
|
|
62
|
+
treasury: typeof options.treasury === "string" ? options.treasury : undefined,
|
|
101
63
|
});
|
|
102
64
|
const pending = resolvePendingProposal(treasuryState.account);
|
|
103
|
-
const
|
|
65
|
+
const approved = pending.decision.approved;
|
|
66
|
+
const approvedAccounts = approved
|
|
104
67
|
? deriveApprovedExecutionAccounts(treasuryState.account, {
|
|
105
68
|
auraProgramId: ctx.programId,
|
|
106
69
|
})
|
|
107
70
|
: undefined;
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
71
|
+
const instruction = await instructions.execution.executePending(ctx.client, {
|
|
72
|
+
accounts: {
|
|
73
|
+
operator: wallet.publicKey,
|
|
74
|
+
treasury: treasuryState.treasury,
|
|
75
|
+
messageApproval: approvedAccounts?.messageApproval ?? null,
|
|
76
|
+
dwallet: approvedAccounts?.dwalletAccount ?? null,
|
|
77
|
+
callerProgram: ctx.programId,
|
|
78
|
+
cpiAuthority: approvedAccounts?.cpiAuthority ?? null,
|
|
79
|
+
dwalletProgram: approvedAccounts?.dwalletProgram ?? null,
|
|
80
|
+
dwalletCoordinator: approvedAccounts?.dwalletCoordinator ?? null,
|
|
81
|
+
externalLiveness: null,
|
|
82
|
+
dwalletState: null,
|
|
83
|
+
systemProgram: SystemProgram.programId,
|
|
84
|
+
},
|
|
85
|
+
args: { now: new BN(Math.floor(Date.now() / 1000)) },
|
|
114
86
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
87
|
+
const outcome = await runInstructions(ctx, [instruction], {
|
|
88
|
+
action: approved
|
|
89
|
+
? "Execute pending (request dWallet signing)"
|
|
90
|
+
: "Execute denial",
|
|
91
|
+
instructionName: "execute_pending",
|
|
92
|
+
summary: [
|
|
93
|
+
["decision", approved ? "approved" : "denied"],
|
|
94
|
+
...(approvedAccounts
|
|
95
|
+
? [["approval", approvedAccounts.messageApproval.toBase58()]]
|
|
96
|
+
: []),
|
|
97
|
+
],
|
|
98
|
+
result: {
|
|
118
99
|
treasury: treasuryState.treasury,
|
|
119
|
-
approved
|
|
100
|
+
approved,
|
|
120
101
|
messageApproval: approvedAccounts?.messageApproval,
|
|
121
|
-
|
|
122
|
-
});
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const spinner = startSpinner(ctx.output, pending.decision.approved
|
|
126
|
-
? "Submitting execute_pending for live dWallet signing..."
|
|
127
|
-
: "Submitting denial execution...");
|
|
128
|
-
const signature = await sendInstructionsWithBudget({
|
|
129
|
-
connection: ctx.connection,
|
|
130
|
-
payer: ctx.wallet,
|
|
131
|
-
instructions: [instruction],
|
|
102
|
+
},
|
|
132
103
|
});
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
spinner.setText("Waiting for message approval account...");
|
|
139
|
-
await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, "pending", { timeoutMs: 120_000 });
|
|
140
|
-
// Drive the dWallet presign + sign flow via the Ika gRPC network.
|
|
141
|
-
// Requires DKG session data (sessionIdentifier + dkgAttestation) which
|
|
142
|
-
// is only available when the dWallet was provisioned in this process.
|
|
143
|
-
// The CLI delegates signing to the backend; this path is a best-effort
|
|
144
|
-
// fallback for direct CLI usage with a freshly provisioned dWallet.
|
|
145
|
-
spinner.setText("Requesting dWallet presign + sign via Ika network...");
|
|
104
|
+
if (outcome.signature &&
|
|
105
|
+
approvedAccounts &&
|
|
106
|
+
(options.wait === true || options.waitSigned === true)) {
|
|
107
|
+
const target = options.waitSigned === true ? "signed" : "pending";
|
|
108
|
+
const spinner = startSpinner(ctx.output, `Waiting for message approval (${target})...`);
|
|
146
109
|
try {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// sessionIdentifier and dkgAttestation are not available in the CLI
|
|
152
|
-
// (they come from DKG provisioning which happens in the backend).
|
|
153
|
-
// Pass undefined — requestDwalletSign will throw a descriptive error
|
|
154
|
-
// that is caught below and treated as non-fatal.
|
|
155
|
-
const secretKey = ctx.wallet.secretKey;
|
|
156
|
-
await requestDwalletSign(ctx.wallet.publicKey, approvedAccounts.dwalletAccount, messageDigest, txSigBytes, undefined, // grpcUrl — use default
|
|
157
|
-
secretKey, undefined, // sessionIdentifier — not available in CLI
|
|
158
|
-
undefined);
|
|
159
|
-
spinner.setText("Waiting for message approval to be signed...");
|
|
160
|
-
await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, "signed", { timeoutMs: 180_000 });
|
|
110
|
+
await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, target, {
|
|
111
|
+
timeoutMs: 180_000,
|
|
112
|
+
});
|
|
113
|
+
spinner.succeed(`Message approval ${target}`);
|
|
161
114
|
}
|
|
162
|
-
catch (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
// backend service, signing is triggered server-side instead.
|
|
166
|
-
spinner.setText(`dWallet sign request: ${err instanceof Error ? err.message : String(err)}`);
|
|
115
|
+
catch (error) {
|
|
116
|
+
spinner.fail(`Timed out waiting for message approval (${target})`);
|
|
117
|
+
throw error;
|
|
167
118
|
}
|
|
168
119
|
}
|
|
169
|
-
spinner.succeed("Execution request submitted");
|
|
170
|
-
const refreshed = await ctx.client.getTreasuryAccount(treasuryState.treasury);
|
|
171
|
-
const refreshedPending = getActivePendingProposal(refreshed);
|
|
172
|
-
if (ctx.output.json) {
|
|
173
|
-
emitJson(ctx.output, {
|
|
174
|
-
treasury: treasuryState.treasury,
|
|
175
|
-
signature,
|
|
176
|
-
approved: pending.decision.approved,
|
|
177
|
-
messageApproval: approvedAccounts?.messageApproval,
|
|
178
|
-
pending: refreshedPending,
|
|
179
|
-
});
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
if (!pending.decision.approved && !refreshedPending) {
|
|
183
|
-
printSuccess(ctx.output, `Denied proposal cleared: ${signature}`);
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
printSuccess(ctx.output, pending.decision.approved
|
|
187
|
-
? `Execution request submitted: ${signature}`
|
|
188
|
-
: `Execution request submitted: ${signature}`);
|
|
189
120
|
});
|
|
190
121
|
execution
|
|
191
122
|
.command("finalize")
|
|
@@ -195,56 +126,61 @@ export function registerExecutionCommands(program) {
|
|
|
195
126
|
.option("--message-approval <pubkey>", "override the pending message approval account")
|
|
196
127
|
.action(async function executionFinalize() {
|
|
197
128
|
const ctx = buildCliContext(this);
|
|
198
|
-
|
|
199
|
-
|
|
129
|
+
const wallet = ctx.wallet;
|
|
130
|
+
if (!wallet) {
|
|
131
|
+
throw new CliError("A wallet is required to finalize execution.", {
|
|
132
|
+
code: "WALLET_REQUIRED",
|
|
133
|
+
});
|
|
200
134
|
}
|
|
201
135
|
const options = this.opts();
|
|
202
136
|
const treasuryState = await resolveTreasuryAccount(ctx, {
|
|
203
|
-
agentId: typeof options
|
|
204
|
-
treasury: typeof options
|
|
137
|
+
agentId: typeof options.agentId === "string" ? options.agentId : undefined,
|
|
138
|
+
treasury: typeof options.treasury === "string" ? options.treasury : undefined,
|
|
205
139
|
});
|
|
206
140
|
const pending = resolvePendingProposal(treasuryState.account);
|
|
207
|
-
const messageApproval = typeof options
|
|
208
|
-
? new PublicKey(options
|
|
141
|
+
const messageApproval = typeof options.messageApproval === "string"
|
|
142
|
+
? new PublicKey(options.messageApproval)
|
|
209
143
|
: pending.signatureRequest?.messageApprovalAccount
|
|
210
144
|
? new PublicKey(pending.signatureRequest.messageApprovalAccount)
|
|
211
145
|
: undefined;
|
|
212
146
|
if (!messageApproval) {
|
|
213
|
-
throw new
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
if (ctx.dryRun) {
|
|
217
|
-
const instruction = await ctx.client.finalizeExecutionInstruction({
|
|
218
|
-
operator: ctx.wallet.publicKey,
|
|
219
|
-
treasury: treasuryState.treasury,
|
|
220
|
-
messageApproval,
|
|
221
|
-
}, now);
|
|
222
|
-
emitJson(ctx.output, {
|
|
223
|
-
action: "execution.finalize",
|
|
224
|
-
treasury: treasuryState.treasury,
|
|
225
|
-
messageApproval,
|
|
226
|
-
instruction: serializeInstruction(instruction),
|
|
147
|
+
throw new CliError("No message approval account is available for finalize_execution.", {
|
|
148
|
+
code: "NO_MESSAGE_APPROVAL",
|
|
149
|
+
tip: "Run `aura execution execute --wait-signed` first, or pass --message-approval <pubkey>.",
|
|
227
150
|
});
|
|
228
|
-
return;
|
|
229
151
|
}
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
treasury: treasuryState.treasury,
|
|
234
|
-
messageApproval,
|
|
235
|
-
}, now);
|
|
236
|
-
const refreshed = await ctx.client.getTreasuryAccount(treasuryState.treasury);
|
|
237
|
-
spinner.succeed("Execution finalized");
|
|
238
|
-
if (ctx.output.json) {
|
|
239
|
-
emitJson(ctx.output, {
|
|
152
|
+
const instruction = await instructions.execution.finalizeExecution(ctx.client, {
|
|
153
|
+
accounts: {
|
|
154
|
+
operator: wallet.publicKey,
|
|
240
155
|
treasury: treasuryState.treasury,
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
156
|
+
messageApproval,
|
|
157
|
+
swarmPool: null,
|
|
158
|
+
budgetEnvelope: null,
|
|
159
|
+
exposureGroup: null,
|
|
160
|
+
externalLiveness: null,
|
|
161
|
+
dwalletState: null,
|
|
162
|
+
scheduledIntent: null,
|
|
163
|
+
feeVault: null,
|
|
164
|
+
feeSchedule: null,
|
|
165
|
+
protocolConfig: null,
|
|
166
|
+
},
|
|
167
|
+
args: { now: new BN(Math.floor(Date.now() / 1000)) },
|
|
168
|
+
});
|
|
169
|
+
const outcome = await runInstructions(ctx, [instruction], {
|
|
170
|
+
action: "Finalize execution",
|
|
171
|
+
instructionName: "finalize_execution",
|
|
172
|
+
summary: [["approval", messageApproval.toBase58()]],
|
|
173
|
+
result: { treasury: treasuryState.treasury },
|
|
174
|
+
});
|
|
175
|
+
if (outcome.signature && !ctx.output.json) {
|
|
176
|
+
try {
|
|
177
|
+
const refreshed = await accounts.fetchTreasuryAccount(ctx.client, treasuryState.treasury);
|
|
178
|
+
printInfo(ctx.output, `total transactions: ${refreshed.totalTransactions}`);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Non-fatal — confirmation already succeeded.
|
|
182
|
+
}
|
|
246
183
|
}
|
|
247
|
-
printSuccess(ctx.output, `Execution finalized: ${signature} (total tx ${refreshed.totalTransactions})`);
|
|
248
184
|
});
|
|
249
185
|
execution
|
|
250
186
|
.command("watch")
|
|
@@ -255,13 +191,13 @@ export function registerExecutionCommands(program) {
|
|
|
255
191
|
.action(async function executionWatch() {
|
|
256
192
|
const ctx = buildCliContext(this);
|
|
257
193
|
const options = this.opts();
|
|
258
|
-
const intervalMs = typeof options
|
|
259
|
-
? Math.floor(options
|
|
194
|
+
const intervalMs = typeof options.interval === "number" && options.interval > 0
|
|
195
|
+
? Math.floor(options.interval * 1000)
|
|
260
196
|
: 5000;
|
|
261
|
-
|
|
197
|
+
for (;;) {
|
|
262
198
|
const treasuryState = await resolveTreasuryAccount(ctx, {
|
|
263
|
-
agentId: typeof options
|
|
264
|
-
treasury: typeof options
|
|
199
|
+
agentId: typeof options.agentId === "string" ? options.agentId : undefined,
|
|
200
|
+
treasury: typeof options.treasury === "string" ? options.treasury : undefined,
|
|
265
201
|
});
|
|
266
202
|
if (!ctx.output.json) {
|
|
267
203
|
console.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Command } from "commander";
|
|
2
2
|
export declare function registerFeatureCommands(program: Command): void;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {} from "
|
|
2
|
-
import { buildCliContext } from "../context.js";
|
|
3
|
-
import {
|
|
4
|
-
import { createTable, emitJson, printBanner, printInfo, printTable } from "../output.js";
|
|
1
|
+
import { AURA_FEATURE_DOMAINS, AURA_INSTRUCTION_FEATURES, getAuraFeatureDomain, } from "@aura-protocol/sdk-ts";
|
|
2
|
+
import { buildCliContext } from "../core/context.js";
|
|
3
|
+
import { createTable, emitJson, printBanner, printInfo, printTable, } from "../ui/output.js";
|
|
5
4
|
const maturityLabels = {
|
|
6
5
|
wallet: "wallet",
|
|
7
6
|
backend: "backend",
|
|
@@ -46,12 +45,14 @@ export function registerFeatureCommands(program) {
|
|
|
46
45
|
.action(async function featuresList() {
|
|
47
46
|
const ctx = buildCliContext(this, { needsWallet: false });
|
|
48
47
|
const options = this.opts();
|
|
49
|
-
const domainFilter = parseDomain(options
|
|
50
|
-
const maturityFilter = parseMaturity(options
|
|
51
|
-
const domains = AURA_FEATURE_DOMAINS.filter((domain) => domainFilter ? domain.id === domainFilter : true)
|
|
48
|
+
const domainFilter = parseDomain(options.domain);
|
|
49
|
+
const maturityFilter = parseMaturity(options.maturity);
|
|
50
|
+
const domains = AURA_FEATURE_DOMAINS.filter((domain) => domainFilter ? domain.id === domainFilter : true)
|
|
51
|
+
.map((domain) => ({
|
|
52
52
|
...domain,
|
|
53
53
|
instructions: domain.instructions.filter((instruction) => maturityFilter ? instruction.maturity === maturityFilter : true),
|
|
54
|
-
}))
|
|
54
|
+
}))
|
|
55
|
+
.filter((domain) => domain.instructions.length > 0);
|
|
55
56
|
const instructionCount = domains.reduce((total, domain) => total + domain.instructions.length, 0);
|
|
56
57
|
if (ctx.output.json) {
|
|
57
58
|
emitJson(ctx.output, {
|
|
@@ -80,8 +81,12 @@ export function registerFeatureCommands(program) {
|
|
|
80
81
|
summary.push([
|
|
81
82
|
`${domain.label}\n${domain.id}`,
|
|
82
83
|
domain.instructions.length.toString(),
|
|
83
|
-
domain.instructions
|
|
84
|
-
|
|
84
|
+
domain.instructions
|
|
85
|
+
.filter((entry) => entry.maturity === "wallet")
|
|
86
|
+
.length.toString(),
|
|
87
|
+
domain.instructions
|
|
88
|
+
.filter((entry) => entry.maturity === "backend")
|
|
89
|
+
.length.toString(),
|
|
85
90
|
domain.instructions
|
|
86
91
|
.filter((entry) => entry.maturity === "external_cpi")
|
|
87
92
|
.length.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/commands/features.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/commands/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a discoverable, fully-covering command surface from the program's
|
|
3
|
+
* own metadata. For every domain in `AURA_FEATURE_DOMAINS` and every instruction
|
|
4
|
+
* within it, this registers `aura <domain> <instruction>` — e.g.
|
|
5
|
+
* `aura policy create-policy-template` or `aura budget configure-budget-envelope`.
|
|
6
|
+
*
|
|
7
|
+
* Because it is driven by the IDL + program-surface catalog, coverage never
|
|
8
|
+
* drifts from the deployed program: new instructions appear automatically once
|
|
9
|
+
* the SDK is regenerated. Ergonomic command groups (treasury, dwallet, ...) are
|
|
10
|
+
* registered first; this generator merges generated subcommands into those same
|
|
11
|
+
* groups, skipping any name an ergonomic verb already claimed.
|
|
12
|
+
*/
|
|
13
|
+
import type { Command } from "commander";
|
|
14
|
+
/**
|
|
15
|
+
* Registers the generated per-domain instruction subcommands. Must run AFTER the
|
|
16
|
+
* ergonomic command groups so it can merge into them without clobbering verbs.
|
|
17
|
+
*/
|
|
18
|
+
export declare function registerGeneratedCommands(program: Command): void;
|
|
19
|
+
/** Count of instructions the generator can register (for tests / diagnostics). */
|
|
20
|
+
export declare function generatedInstructionCount(): number;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a discoverable, fully-covering command surface from the program's
|
|
3
|
+
* own metadata. For every domain in `AURA_FEATURE_DOMAINS` and every instruction
|
|
4
|
+
* within it, this registers `aura <domain> <instruction>` — e.g.
|
|
5
|
+
* `aura policy create-policy-template` or `aura budget configure-budget-envelope`.
|
|
6
|
+
*
|
|
7
|
+
* Because it is driven by the IDL + program-surface catalog, coverage never
|
|
8
|
+
* drifts from the deployed program: new instructions appear automatically once
|
|
9
|
+
* the SDK is regenerated. Ergonomic command groups (treasury, dwallet, ...) are
|
|
10
|
+
* registered first; this generator merges generated subcommands into those same
|
|
11
|
+
* groups, skipping any name an ergonomic verb already claimed.
|
|
12
|
+
*/
|
|
13
|
+
import { AURA_FEATURE_DOMAINS } from "@aura-protocol/sdk-ts";
|
|
14
|
+
import { style } from "../ui/theme.js";
|
|
15
|
+
import { addBuildOptions, execInstruction, instructionHelpText, } from "./instruction-exec.js";
|
|
16
|
+
/** Anchor instruction names are snake_case; CLI subcommands are kebab-case. */
|
|
17
|
+
function toKebab(name) {
|
|
18
|
+
return name.replace(/_/g, "-");
|
|
19
|
+
}
|
|
20
|
+
/** Reuses an existing top-level group (e.g. an ergonomic `treasury`) or creates one. */
|
|
21
|
+
function findOrCreateGroup(program, id, description) {
|
|
22
|
+
const existing = program.commands.find((command) => command.name() === id);
|
|
23
|
+
if (existing) {
|
|
24
|
+
return existing;
|
|
25
|
+
}
|
|
26
|
+
return program.command(id).description(description);
|
|
27
|
+
}
|
|
28
|
+
/** True if `group` already has a subcommand using `name` (as a name or alias). */
|
|
29
|
+
function hasSubcommand(group, name) {
|
|
30
|
+
return group.commands.some((command) => command.name() === name || command.aliases().includes(name));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Registers the generated per-domain instruction subcommands. Must run AFTER the
|
|
34
|
+
* ergonomic command groups so it can merge into them without clobbering verbs.
|
|
35
|
+
*/
|
|
36
|
+
export function registerGeneratedCommands(program) {
|
|
37
|
+
for (const domain of AURA_FEATURE_DOMAINS) {
|
|
38
|
+
const group = findOrCreateGroup(program, domain.id, domain.description);
|
|
39
|
+
for (const feature of domain.instructions) {
|
|
40
|
+
const sub = toKebab(feature.name);
|
|
41
|
+
if (hasSubcommand(group, sub)) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const cmd = group
|
|
45
|
+
.command(sub)
|
|
46
|
+
.summary(feature.label)
|
|
47
|
+
.description(`${feature.description} ${style.dim(`[${feature.maturity}]`)}`);
|
|
48
|
+
addBuildOptions(cmd);
|
|
49
|
+
// Defer schema rendering until `--help` is actually requested.
|
|
50
|
+
cmd.addHelpText("after", () => instructionHelpText(feature.name));
|
|
51
|
+
cmd.action(async function generatedInstruction() {
|
|
52
|
+
await execInstruction(this, feature.name);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Count of instructions the generator can register (for tests / diagnostics). */
|
|
58
|
+
export function generatedInstructionCount() {
|
|
59
|
+
return AURA_FEATURE_DOMAINS.reduce((total, domain) => total + domain.instructions.length, 0);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/commands/generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,wFAAwF;AACxF,SAAS,iBAAiB,CACxB,OAAgB,EAChB,EAAU,EACV,WAAmB;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAExE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,KAAK;iBACd,OAAO,CAAC,GAAG,CAAC;iBACZ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;iBACtB,WAAW,CACV,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAC/D,CAAC;YAEJ,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,+DAA+D;YAC/D,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,oBAAoB;gBAC5C,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,yBAAyB;IACvC,OAAO,oBAAoB,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EACrD,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Command } from "commander";
|
|
2
2
|
export declare function registerGovernanceCommands(program: Command): void;
|