| 182 | CLI::~CLI() = default; |
| 183 | |
| 184 | bool CLI::execute(const std::vector<std::string> &args) { |
| 185 | if (args.empty()) { |
| 186 | printUsage(); |
| 187 | return false; |
| 188 | } |
| 189 | |
| 190 | const std::string &command = args[0]; |
| 191 | std::vector<std::string> command_args(args.begin() + 1, args.end()); |
| 192 | |
| 193 | if (command == "generate-keypair") { |
| 194 | return handleGenerateKeypair(command_args); |
| 195 | } else if (command == "recover-keypair") { |
| 196 | return handleRecoverKeypair(command_args); |
| 197 | } else if (command == "sign") { |
| 198 | return handleSign(command_args); |
| 199 | } else if (command == "pq-owner") { |
| 200 | return handleGetPqOwner(command_args); |
| 201 | } else if (command == "change-pq-owner" || command == "change-owner") { |
| 202 | return handleChangePqOwner(command_args); |
| 203 | } else if (command == "balance") { |
| 204 | return handleGetBalance(command_args); |
| 205 | } else if (command == "transfer") { |
| 206 | return handleTransfer(command_args); |
| 207 | } else if (command == "execute") { |
| 208 | return handleExecute(command_args); |
| 209 | } else if (command == "deposit") { |
| 210 | return handleDeposit(command_args); |
| 211 | } else { |
| 212 | std::cerr << "Unknown command: " << command << std::endl; |
| 213 | printUsage(); |
| 214 | return false; |
| 215 | } |
| 216 | } |
| 217 | |
| 218 | bool CLI::handleDeposit(const std::vector<std::string> &args) { |
| 219 | Amount amount = 0; |