@aura-protocol/cli 0.1.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.
Files changed (78) hide show
  1. package/README.md +307 -0
  2. package/bin/aura.js +8 -0
  3. package/dist/commands/confidential.d.ts +2 -0
  4. package/dist/commands/confidential.js +564 -0
  5. package/dist/commands/confidential.js.map +1 -0
  6. package/dist/commands/config.d.ts +2 -0
  7. package/dist/commands/config.js +123 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/dashboard.d.ts +2 -0
  10. package/dist/commands/dashboard.js +29 -0
  11. package/dist/commands/dashboard.js.map +1 -0
  12. package/dist/commands/dwallet.d.ts +2 -0
  13. package/dist/commands/dwallet.js +131 -0
  14. package/dist/commands/dwallet.js.map +1 -0
  15. package/dist/commands/execution.d.ts +2 -0
  16. package/dist/commands/execution.js +261 -0
  17. package/dist/commands/execution.js.map +1 -0
  18. package/dist/commands/governance.d.ts +2 -0
  19. package/dist/commands/governance.js +169 -0
  20. package/dist/commands/governance.js.map +1 -0
  21. package/dist/commands/helpers.d.ts +79 -0
  22. package/dist/commands/helpers.js +219 -0
  23. package/dist/commands/helpers.js.map +1 -0
  24. package/dist/commands/treasury.d.ts +2 -0
  25. package/dist/commands/treasury.js +319 -0
  26. package/dist/commands/treasury.js.map +1 -0
  27. package/dist/config.d.ts +35 -0
  28. package/dist/config.js +96 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/context.d.ts +37 -0
  31. package/dist/context.js +57 -0
  32. package/dist/context.js.map +1 -0
  33. package/dist/dashboard.d.ts +7 -0
  34. package/dist/dashboard.js +95 -0
  35. package/dist/dashboard.js.map +1 -0
  36. package/dist/domain.d.ts +16 -0
  37. package/dist/domain.js +86 -0
  38. package/dist/domain.js.map +1 -0
  39. package/dist/format.d.ts +9 -0
  40. package/dist/format.js +92 -0
  41. package/dist/format.js.map +1 -0
  42. package/dist/ika.d.ts +76 -0
  43. package/dist/ika.js +178 -0
  44. package/dist/ika.js.map +1 -0
  45. package/dist/index.d.ts +3 -0
  46. package/dist/index.js +43 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/output.d.ts +32 -0
  49. package/dist/output.js +134 -0
  50. package/dist/output.js.map +1 -0
  51. package/dist/protocol.d.ts +99 -0
  52. package/dist/protocol.js +353 -0
  53. package/dist/protocol.js.map +1 -0
  54. package/dist/sdk.d.ts +6 -0
  55. package/dist/sdk.js +6 -0
  56. package/dist/sdk.js.map +1 -0
  57. package/dist/treasury-view.d.ts +11 -0
  58. package/dist/treasury-view.js +103 -0
  59. package/dist/treasury-view.js.map +1 -0
  60. package/dist/vendor/encrypt/generated/grpc/encrypt_service.d.ts +195 -0
  61. package/dist/vendor/encrypt/generated/grpc/encrypt_service.js +514 -0
  62. package/dist/vendor/encrypt/generated/grpc/encrypt_service.js.map +1 -0
  63. package/dist/vendor/encrypt/grpc.d.ts +70 -0
  64. package/dist/vendor/encrypt/grpc.js +108 -0
  65. package/dist/vendor/encrypt/grpc.js.map +1 -0
  66. package/dist/vendor/ika/bcs-types.d.ts +1045 -0
  67. package/dist/vendor/ika/bcs-types.js +185 -0
  68. package/dist/vendor/ika/bcs-types.js.map +1 -0
  69. package/dist/vendor/ika/generated/grpc/ika_dwallet.d.ts +141 -0
  70. package/dist/vendor/ika/generated/grpc/ika_dwallet.js +531 -0
  71. package/dist/vendor/ika/generated/grpc/ika_dwallet.js.map +1 -0
  72. package/dist/vendor/ika/grpc.d.ts +16 -0
  73. package/dist/vendor/ika/grpc.js +129 -0
  74. package/dist/vendor/ika/grpc.js.map +1 -0
  75. package/dist/wallet.d.ts +2 -0
  76. package/dist/wallet.js +21 -0
  77. package/dist/wallet.js.map +1 -0
  78. package/package.json +54 -0
@@ -0,0 +1,169 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import {} from "commander";
3
+ import { buildCliContext } from "../context.js";
4
+ import { emitJson, printSuccess, serializeInstruction, startSpinner } from "../output.js";
5
+ import { buildConfigureMultisigArgs, buildConfigureSwarmArgs, parseCsv, promptNumber, promptString, resolveTreasuryAccount, } from "./helpers.js";
6
+ function parsePublicKeys(values) {
7
+ return values.map((value) => new PublicKey(value));
8
+ }
9
+ export function registerGovernanceCommands(program) {
10
+ const governance = program.command("governance").description("Manage treasury governance settings");
11
+ governance
12
+ .command("multisig")
13
+ .description("Configure an emergency guardian multisig")
14
+ .option("--agent-id <id>", "treasury agent ID")
15
+ .option("--treasury <pda>", "treasury PDA")
16
+ .option("--required <n>", "required guardian signatures", Number)
17
+ .option("--guardians <pk,pk,...>", "comma-separated guardian pubkeys")
18
+ .action(async function governanceMultisig() {
19
+ const ctx = buildCliContext(this);
20
+ if (!ctx.wallet) {
21
+ throw new Error("A wallet is required to configure multisig.");
22
+ }
23
+ const options = this.opts();
24
+ const treasuryState = await resolveTreasuryAccount(ctx, {
25
+ agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
26
+ treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
27
+ });
28
+ const guardiansInput = await promptString(typeof options["guardians"] === "string" ? options["guardians"] : undefined, "Guardian pubkeys (comma-separated)");
29
+ const guardians = parsePublicKeys(parseCsv(guardiansInput));
30
+ const requiredSignatures = await promptNumber(typeof options["required"] === "number" ? options["required"] : undefined, "Required signatures");
31
+ const args = buildConfigureMultisigArgs({ requiredSignatures, guardians });
32
+ if (ctx.dryRun) {
33
+ const instruction = await ctx.client.configureMultisigInstruction({ owner: ctx.wallet.publicKey, treasury: treasuryState.treasury }, args);
34
+ emitJson(ctx.output, {
35
+ action: "governance.multisig",
36
+ treasury: treasuryState.treasury,
37
+ args,
38
+ instruction: serializeInstruction(instruction),
39
+ });
40
+ return;
41
+ }
42
+ const spinner = startSpinner(ctx.output, "Configuring multisig...");
43
+ const signature = await ctx.client.configureMultisig(ctx.wallet, { owner: ctx.wallet.publicKey, treasury: treasuryState.treasury }, args);
44
+ spinner.succeed("Multisig configured");
45
+ if (ctx.output.json) {
46
+ emitJson(ctx.output, { treasury: treasuryState.treasury, signature });
47
+ return;
48
+ }
49
+ printSuccess(ctx.output, `Multisig configured: ${signature}`);
50
+ });
51
+ governance
52
+ .command("swarm")
53
+ .description("Configure an agent swarm with shared pool limits")
54
+ .option("--agent-id <id>", "treasury agent ID")
55
+ .option("--treasury <pda>", "treasury PDA")
56
+ .option("--swarm-id <id>", "swarm identifier")
57
+ .option("--members <id,id,...>", "comma-separated member agent IDs")
58
+ .option("--pool-limit <usd>", "shared pool limit in USD", Number)
59
+ .action(async function governanceSwarm() {
60
+ const ctx = buildCliContext(this);
61
+ if (!ctx.wallet) {
62
+ throw new Error("A wallet is required to configure a swarm.");
63
+ }
64
+ const options = this.opts();
65
+ const treasuryState = await resolveTreasuryAccount(ctx, {
66
+ agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
67
+ treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
68
+ });
69
+ const swarmId = await promptString(typeof options["swarmId"] === "string" ? options["swarmId"] : undefined, "Swarm ID");
70
+ const membersInput = await promptString(typeof options["members"] === "string" ? options["members"] : undefined, "Member agent IDs (comma-separated)");
71
+ const sharedPoolLimitUsd = await promptNumber(typeof options["poolLimit"] === "number" ? options["poolLimit"] : undefined, "Shared pool limit (USD)");
72
+ const args = buildConfigureSwarmArgs({
73
+ swarmId,
74
+ memberAgents: parseCsv(membersInput),
75
+ sharedPoolLimitUsd,
76
+ });
77
+ if (ctx.dryRun) {
78
+ const instruction = await ctx.client.configureSwarmInstruction({ owner: ctx.wallet.publicKey, treasury: treasuryState.treasury }, args);
79
+ emitJson(ctx.output, {
80
+ action: "governance.swarm",
81
+ treasury: treasuryState.treasury,
82
+ args,
83
+ instruction: serializeInstruction(instruction),
84
+ });
85
+ return;
86
+ }
87
+ const spinner = startSpinner(ctx.output, "Configuring swarm...");
88
+ const signature = await ctx.client.configureSwarm(ctx.wallet, { owner: ctx.wallet.publicKey, treasury: treasuryState.treasury }, args);
89
+ spinner.succeed("Swarm configured");
90
+ if (ctx.output.json) {
91
+ emitJson(ctx.output, { treasury: treasuryState.treasury, signature });
92
+ return;
93
+ }
94
+ printSuccess(ctx.output, `Swarm configured: ${signature}`);
95
+ });
96
+ const override = governance.command("override").description("Manage emergency override proposals");
97
+ override
98
+ .command("propose")
99
+ .description("Guardian proposes a higher daily limit")
100
+ .option("--agent-id <id>", "treasury agent ID")
101
+ .option("--treasury <pda>", "treasury PDA")
102
+ .option("--new-daily-limit <usd>", "new daily limit in USD", Number)
103
+ .action(async function governanceOverridePropose() {
104
+ const ctx = buildCliContext(this);
105
+ if (!ctx.wallet) {
106
+ throw new Error("A wallet is required to propose an override.");
107
+ }
108
+ const options = this.opts();
109
+ const treasuryState = await resolveTreasuryAccount(ctx, {
110
+ agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
111
+ treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
112
+ });
113
+ const newDailyLimitUsd = await promptNumber(typeof options["newDailyLimit"] === "number" ? options["newDailyLimit"] : undefined, "New daily limit (USD)");
114
+ const now = Math.floor(Date.now() / 1000);
115
+ if (ctx.dryRun) {
116
+ const instruction = await ctx.client.proposeOverrideInstruction({ guardian: ctx.wallet.publicKey, treasury: treasuryState.treasury }, newDailyLimitUsd, now);
117
+ emitJson(ctx.output, {
118
+ action: "governance.override.propose",
119
+ treasury: treasuryState.treasury,
120
+ newDailyLimitUsd,
121
+ instruction: serializeInstruction(instruction),
122
+ });
123
+ return;
124
+ }
125
+ const spinner = startSpinner(ctx.output, "Submitting override proposal...");
126
+ const signature = await ctx.client.proposeOverride(ctx.wallet, { guardian: ctx.wallet.publicKey, treasury: treasuryState.treasury }, newDailyLimitUsd, now);
127
+ spinner.succeed("Override proposed");
128
+ if (ctx.output.json) {
129
+ emitJson(ctx.output, { treasury: treasuryState.treasury, signature });
130
+ return;
131
+ }
132
+ printSuccess(ctx.output, `Override proposed: ${signature}`);
133
+ });
134
+ override
135
+ .command("collect")
136
+ .description("Guardian signs an active override proposal")
137
+ .option("--agent-id <id>", "treasury agent ID")
138
+ .option("--treasury <pda>", "treasury PDA")
139
+ .action(async function governanceOverrideCollect() {
140
+ const ctx = buildCliContext(this);
141
+ if (!ctx.wallet) {
142
+ throw new Error("A wallet is required to collect an override signature.");
143
+ }
144
+ const options = this.opts();
145
+ const treasuryState = await resolveTreasuryAccount(ctx, {
146
+ agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
147
+ treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
148
+ });
149
+ const now = Math.floor(Date.now() / 1000);
150
+ if (ctx.dryRun) {
151
+ const instruction = await ctx.client.collectOverrideSignatureInstruction({ guardian: ctx.wallet.publicKey, treasury: treasuryState.treasury }, now);
152
+ emitJson(ctx.output, {
153
+ action: "governance.override.collect",
154
+ treasury: treasuryState.treasury,
155
+ instruction: serializeInstruction(instruction),
156
+ });
157
+ return;
158
+ }
159
+ const spinner = startSpinner(ctx.output, "Collecting override signature...");
160
+ const signature = await ctx.client.collectOverrideSignature(ctx.wallet, { guardian: ctx.wallet.publicKey, treasury: treasuryState.treasury }, now);
161
+ spinner.succeed("Override signature collected");
162
+ if (ctx.output.json) {
163
+ emitJson(ctx.output, { treasury: treasuryState.treasury, signature });
164
+ return;
165
+ }
166
+ printSuccess(ctx.output, `Override signature collected: ${signature}`);
167
+ });
168
+ }
169
+ //# sourceMappingURL=governance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/commands/governance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { type ConfigureMultisigArgs, type ConfigureSwarmArgs, type CreateTreasuryArgs, type ProposeConfidentialTransactionArgs, type ProposeTransactionArgs, type RegisterDwalletArgs, type TreasuryAccountRecord } from "../sdk.js";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import type { CliContext } from "../context.js";
4
+ export interface TreasuryLookupOptions {
5
+ treasury?: string;
6
+ agentId?: string;
7
+ }
8
+ export declare function promptString(current: string | undefined, message: string, options?: {
9
+ defaultValue?: string;
10
+ validate?: (value: string) => void;
11
+ }): Promise<string>;
12
+ export declare function promptNumber(current: number | undefined, message: string, options?: {
13
+ defaultValue?: number;
14
+ validate?: (value: number) => void;
15
+ }): Promise<number>;
16
+ export declare function promptChain(current: string | number | undefined, message: string): Promise<number>;
17
+ export declare function promptTransactionType(current: string | number | undefined, message: string): Promise<number>;
18
+ export declare function confirmOrSkip(skip: boolean, message: string): Promise<boolean>;
19
+ export declare function parseCsv(inputValue: string | undefined): string[];
20
+ export declare function resolveTreasuryAccount(ctx: CliContext, options: TreasuryLookupOptions): Promise<{
21
+ treasury: PublicKey;
22
+ account: TreasuryAccountRecord;
23
+ agentId: string;
24
+ }>;
25
+ export declare function buildCreateTreasuryArgs(inputValue: {
26
+ agentId: string;
27
+ aiAuthority: PublicKey;
28
+ dailyLimitUsd: number;
29
+ perTxLimitUsd: number;
30
+ daytimeHourlyLimitUsd?: number;
31
+ nighttimeHourlyLimitUsd?: number;
32
+ velocityLimitUsd?: number;
33
+ maxSlippageBps?: number;
34
+ maxQuoteAgeSecs?: number;
35
+ maxCounterpartyRiskScore?: number;
36
+ bitcoinManualReviewThresholdUsd?: number;
37
+ pendingTransactionTtlSecs?: number;
38
+ }): CreateTreasuryArgs;
39
+ export declare function buildRegisterDwalletArgs(inputValue: {
40
+ chain: number;
41
+ dwalletId: string;
42
+ address: string;
43
+ balanceUsd: number;
44
+ dwalletAccount?: PublicKey | null;
45
+ authorizedUserPubkey?: PublicKey | null;
46
+ messageMetadataDigest?: string | null;
47
+ publicKeyHex?: string | null;
48
+ }): RegisterDwalletArgs;
49
+ export declare function buildProposeTransactionArgs(inputValue: {
50
+ amountUsd: number;
51
+ chain: number;
52
+ txType: number;
53
+ recipient: string;
54
+ protocolId?: number;
55
+ expectedOutputUsd?: number;
56
+ actualOutputUsd?: number;
57
+ quoteAgeSecs?: number;
58
+ counterpartyRiskScore?: number;
59
+ }): ProposeTransactionArgs;
60
+ export declare function buildProposeConfidentialArgs(inputValue: {
61
+ amountUsd: number;
62
+ chain: number;
63
+ txType: number;
64
+ recipient: string;
65
+ protocolId?: number;
66
+ expectedOutputUsd?: number;
67
+ actualOutputUsd?: number;
68
+ quoteAgeSecs?: number;
69
+ counterpartyRiskScore?: number;
70
+ }): ProposeConfidentialTransactionArgs;
71
+ export declare function buildConfigureMultisigArgs(inputValue: {
72
+ requiredSignatures: number;
73
+ guardians: PublicKey[];
74
+ }): ConfigureMultisigArgs;
75
+ export declare function buildConfigureSwarmArgs(inputValue: {
76
+ swarmId: string;
77
+ memberAgents: string[];
78
+ sharedPoolLimitUsd: number;
79
+ }): ConfigureSwarmArgs;
@@ -0,0 +1,219 @@
1
+ import { confirm, input, number, select } from "@inquirer/prompts";
2
+ import BN from "bn.js";
3
+ import { validateAddress, validateAgentId, validateAmountUsd, validateDwalletId, validateGuardians, validateMultisigThreshold, validateSwarmMembers, } from "../sdk.js";
4
+ import { PublicKey } from "@solana/web3.js";
5
+ import { listChainChoices, listTransactionTypeChoices, parseChain, parseTransactionType } from "../domain.js";
6
+ function requireWallet(ctx) {
7
+ if (!ctx.wallet) {
8
+ throw new Error("This command requires a wallet. Configure one with 'aura config init' or pass --wallet.");
9
+ }
10
+ return ctx.wallet;
11
+ }
12
+ export async function promptString(current, message, options = {}) {
13
+ const initial = current?.trim();
14
+ if (initial) {
15
+ if (options.validate) {
16
+ options.validate(initial);
17
+ }
18
+ return initial;
19
+ }
20
+ const value = await input({
21
+ message,
22
+ default: options.defaultValue,
23
+ validate: (candidate) => {
24
+ try {
25
+ options.validate?.(candidate);
26
+ return true;
27
+ }
28
+ catch (error) {
29
+ return error instanceof Error ? error.message : String(error);
30
+ }
31
+ },
32
+ });
33
+ return value.trim();
34
+ }
35
+ export async function promptNumber(current, message, options = {}) {
36
+ if (current !== undefined && !Number.isNaN(current)) {
37
+ options.validate?.(current);
38
+ return current;
39
+ }
40
+ const value = await number({
41
+ message,
42
+ default: options.defaultValue,
43
+ validate: (candidate) => {
44
+ if (candidate === undefined || Number.isNaN(candidate)) {
45
+ return "Enter a number";
46
+ }
47
+ try {
48
+ options.validate?.(candidate);
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ return error instanceof Error ? error.message : String(error);
53
+ }
54
+ },
55
+ });
56
+ if (value === undefined || Number.isNaN(value)) {
57
+ throw new Error(`${message} is required`);
58
+ }
59
+ return value;
60
+ }
61
+ export async function promptChain(current, message) {
62
+ if (current !== undefined) {
63
+ return parseChain(current);
64
+ }
65
+ return await select({
66
+ message,
67
+ choices: listChainChoices(),
68
+ });
69
+ }
70
+ export async function promptTransactionType(current, message) {
71
+ if (current !== undefined) {
72
+ return parseTransactionType(current);
73
+ }
74
+ return await select({
75
+ message,
76
+ choices: listTransactionTypeChoices(),
77
+ });
78
+ }
79
+ export async function confirmOrSkip(skip, message) {
80
+ if (skip) {
81
+ return true;
82
+ }
83
+ return await confirm({ message, default: false });
84
+ }
85
+ export function parseCsv(inputValue) {
86
+ if (!inputValue) {
87
+ return [];
88
+ }
89
+ return inputValue
90
+ .split(",")
91
+ .map((value) => value.trim())
92
+ .filter(Boolean);
93
+ }
94
+ export async function resolveTreasuryAccount(ctx, options) {
95
+ const wallet = requireWallet(ctx);
96
+ if (options.treasury) {
97
+ const treasury = new PublicKey(options.treasury);
98
+ const account = await ctx.client.getTreasuryAccount(treasury);
99
+ return { treasury, account, agentId: account.agentId };
100
+ }
101
+ const agentId = options.agentId ?? ctx.config.defaultAgentId;
102
+ if (!agentId) {
103
+ throw new Error("Pass --agent-id or --treasury, or set defaultAgentId in your CLI config.");
104
+ }
105
+ const result = await ctx.client.getTreasuryForOwner(wallet.publicKey, agentId);
106
+ if (!result.account) {
107
+ throw new Error(`No treasury found for owner ${wallet.publicKey.toBase58()} and agentId '${agentId}'.`);
108
+ }
109
+ return {
110
+ treasury: result.treasury,
111
+ account: result.account,
112
+ agentId,
113
+ };
114
+ }
115
+ export function buildCreateTreasuryArgs(inputValue) {
116
+ validateAgentId(inputValue.agentId);
117
+ validateAmountUsd(inputValue.dailyLimitUsd);
118
+ validateAmountUsd(inputValue.perTxLimitUsd);
119
+ const now = Math.floor(Date.now() / 1000);
120
+ return {
121
+ agentId: inputValue.agentId,
122
+ aiAuthority: inputValue.aiAuthority,
123
+ createdAt: new BN(now),
124
+ pendingTransactionTtlSecs: new BN(inputValue.pendingTransactionTtlSecs ?? 900),
125
+ policyConfig: {
126
+ dailyLimitUsd: new BN(inputValue.dailyLimitUsd),
127
+ perTxLimitUsd: new BN(inputValue.perTxLimitUsd),
128
+ daytimeHourlyLimitUsd: new BN(inputValue.daytimeHourlyLimitUsd ?? Math.floor(inputValue.dailyLimitUsd / 10)),
129
+ nighttimeHourlyLimitUsd: new BN(inputValue.nighttimeHourlyLimitUsd ?? Math.floor(inputValue.dailyLimitUsd / 20)),
130
+ velocityLimitUsd: new BN(inputValue.velocityLimitUsd ?? Math.floor(inputValue.dailyLimitUsd / 2)),
131
+ allowedProtocolBitmap: new BN(31),
132
+ maxSlippageBps: new BN(inputValue.maxSlippageBps ?? 100),
133
+ maxQuoteAgeSecs: new BN(inputValue.maxQuoteAgeSecs ?? 300),
134
+ maxCounterpartyRiskScore: inputValue.maxCounterpartyRiskScore ?? 70,
135
+ bitcoinManualReviewThresholdUsd: new BN(inputValue.bitcoinManualReviewThresholdUsd ?? 5000),
136
+ sharedPoolLimitUsd: null,
137
+ reputationPolicy: {
138
+ highScoreThreshold: new BN(80),
139
+ mediumScoreThreshold: new BN(50),
140
+ highMultiplierBps: new BN(15_000),
141
+ lowMultiplierBps: new BN(7_000),
142
+ },
143
+ },
144
+ protocolFees: {
145
+ treasuryCreationFeeUsd: new BN(100),
146
+ transactionFeeBps: new BN(10),
147
+ fheSubsidyBps: new BN(5_000),
148
+ },
149
+ };
150
+ }
151
+ export function buildRegisterDwalletArgs(inputValue) {
152
+ validateDwalletId(inputValue.dwalletId);
153
+ validateAddress(inputValue.address);
154
+ validateAmountUsd(inputValue.balanceUsd);
155
+ return {
156
+ chain: inputValue.chain,
157
+ dwalletId: inputValue.dwalletId,
158
+ address: inputValue.address,
159
+ balanceUsd: new BN(inputValue.balanceUsd),
160
+ dwalletAccount: inputValue.dwalletAccount ?? null,
161
+ authorizedUserPubkey: inputValue.authorizedUserPubkey ?? null,
162
+ messageMetadataDigest: inputValue.messageMetadataDigest ?? null,
163
+ publicKeyHex: inputValue.publicKeyHex ?? null,
164
+ timestamp: new BN(Math.floor(Date.now() / 1000)),
165
+ };
166
+ }
167
+ export function buildProposeTransactionArgs(inputValue) {
168
+ validateAmountUsd(inputValue.amountUsd);
169
+ validateAddress(inputValue.recipient);
170
+ return {
171
+ amountUsd: new BN(inputValue.amountUsd),
172
+ targetChain: inputValue.chain,
173
+ txType: inputValue.txType,
174
+ protocolId: inputValue.protocolId ?? null,
175
+ currentTimestamp: new BN(Math.floor(Date.now() / 1000)),
176
+ expectedOutputUsd: inputValue.expectedOutputUsd !== undefined ? new BN(inputValue.expectedOutputUsd) : null,
177
+ actualOutputUsd: inputValue.actualOutputUsd !== undefined ? new BN(inputValue.actualOutputUsd) : null,
178
+ quoteAgeSecs: inputValue.quoteAgeSecs !== undefined ? new BN(inputValue.quoteAgeSecs) : null,
179
+ counterpartyRiskScore: inputValue.counterpartyRiskScore ?? null,
180
+ recipientOrContract: inputValue.recipient,
181
+ };
182
+ }
183
+ export function buildProposeConfidentialArgs(inputValue) {
184
+ validateAmountUsd(inputValue.amountUsd);
185
+ validateAddress(inputValue.recipient);
186
+ return {
187
+ amountUsd: new BN(inputValue.amountUsd),
188
+ targetChain: inputValue.chain,
189
+ txType: inputValue.txType,
190
+ protocolId: inputValue.protocolId ?? null,
191
+ currentTimestamp: new BN(Math.floor(Date.now() / 1000)),
192
+ expectedOutputUsd: inputValue.expectedOutputUsd !== undefined ? new BN(inputValue.expectedOutputUsd) : null,
193
+ actualOutputUsd: inputValue.actualOutputUsd !== undefined ? new BN(inputValue.actualOutputUsd) : null,
194
+ quoteAgeSecs: inputValue.quoteAgeSecs !== undefined ? new BN(inputValue.quoteAgeSecs) : null,
195
+ counterpartyRiskScore: inputValue.counterpartyRiskScore ?? null,
196
+ recipientOrContract: inputValue.recipient,
197
+ };
198
+ }
199
+ export function buildConfigureMultisigArgs(inputValue) {
200
+ validateGuardians(inputValue.guardians);
201
+ validateMultisigThreshold(inputValue.requiredSignatures, inputValue.guardians.length);
202
+ return {
203
+ requiredSignatures: inputValue.requiredSignatures,
204
+ guardians: inputValue.guardians,
205
+ timestamp: new BN(Math.floor(Date.now() / 1000)),
206
+ };
207
+ }
208
+ export function buildConfigureSwarmArgs(inputValue) {
209
+ validateAgentId(inputValue.swarmId);
210
+ validateSwarmMembers(inputValue.memberAgents);
211
+ validateAmountUsd(inputValue.sharedPoolLimitUsd);
212
+ return {
213
+ swarmId: inputValue.swarmId,
214
+ memberAgents: inputValue.memberAgents,
215
+ sharedPoolLimitUsd: new BN(inputValue.sharedPoolLimitUsd),
216
+ timestamp: new BN(Math.floor(Date.now() / 1000)),
217
+ };
218
+ }
219
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type Command } from "commander";
2
+ export declare function registerTreasuryCommands(program: Command): void;