Skip to content

Commit c12388c

Browse files
committed
Reuse "generate"
1 parent 0f25d02 commit c12388c

File tree

1 file changed

+10
-40
lines changed

1 file changed

+10
-40
lines changed

src/rpc/rpcevo.cpp

Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,58 +1141,31 @@ UniValue protx(const JSONRPCRequest& request)
11411141
void bls_generate_help()
11421142
{
11431143
throw std::runtime_error(
1144-
"bls generate\n"
1145-
"\nReturns a BLS secret/public key pair.\n"
1144+
"bls generate ( \"secret\" )\n"
1145+
"\nCreate a new BLS secret/public key pair or restore one from a provided BLS secret key.\n"
1146+
"\nArguments:\n"
1147+
"1. \"secret\" (string, optional) The BLS secret key.\n"
11461148
"\nResult:\n"
11471149
"{\n"
11481150
" \"secret\": \"xxxx\", (string) BLS secret key\n"
11491151
" \"public\": \"xxxx\", (string) BLS public key\n"
11501152
"}\n"
11511153
"\nExamples:\n"
11521154
+ HelpExampleCli("bls generate", "")
1155+
+ HelpExampleCli("bls generate", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f")
11531156
);
11541157
}
11551158

11561159
UniValue bls_generate(const JSONRPCRequest& request)
11571160
{
1158-
if (request.fHelp || request.params.size() != 1) {
1161+
if (request.fHelp || (request.params.size() != 1 && request.params.size() != 2)) {
11591162
bls_generate_help();
11601163
}
11611164

11621165
CBLSSecretKey sk;
1163-
sk.MakeNewKey();
1164-
1165-
UniValue ret(UniValue::VOBJ);
1166-
ret.push_back(Pair("secret", sk.ToString()));
1167-
ret.push_back(Pair("public", sk.GetPublicKey().ToString()));
1168-
return ret;
1169-
}
1170-
1171-
void bls_sk2pk_help()
1172-
{
1173-
throw std::runtime_error(
1174-
"bls sk2pk \"secret\"\n"
1175-
"\nParses a BLS secret key and returns the secret/public key pair.\n"
1176-
"\nArguments:\n"
1177-
"1. \"secret\" (string, required) The BLS secret key\n"
1178-
"\nResult:\n"
1179-
"{\n"
1180-
" \"secret\": \"xxxx\", (string) BLS secret key\n"
1181-
" \"public\": \"xxxx\", (string) BLS public key\n"
1182-
"}\n"
1183-
"\nExamples:\n"
1184-
+ HelpExampleCli("bls sk2pk", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f")
1185-
);
1186-
}
1187-
1188-
UniValue bls_sk2pk(const JSONRPCRequest& request)
1189-
{
1190-
if (request.fHelp || request.params.size() != 2) {
1191-
bls_sk2pk_help();
1192-
}
1193-
1194-
CBLSSecretKey sk;
1195-
if (!sk.SetHexStr(request.params[1].get_str())) {
1166+
if (request.params.size() == 1) {
1167+
sk.MakeNewKey();
1168+
} else if (!sk.SetHexStr(request.params[1].get_str())) {
11961169
throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("Secret key must be a valid hex string of length %d", sk.SerSize*2));
11971170
}
11981171

@@ -1211,8 +1184,7 @@ UniValue bls_sk2pk(const JSONRPCRequest& request)
12111184
"\nArguments:\n"
12121185
"1. \"command\" (string, required) The command to execute\n"
12131186
"\nAvailable commands:\n"
1214-
" generate - Create a BLS secret/public key pair\n"
1215-
" sk2pk - Parse a BLS secret key and return the secret/public key pair\n"
1187+
" generate - Create a new BLS secret/public key pair or restore one from a provided BLS secret key\n"
12161188
);
12171189
}
12181190

@@ -1229,8 +1201,6 @@ UniValue _bls(const JSONRPCRequest& request)
12291201

12301202
if (command == "generate") {
12311203
return bls_generate(request);
1232-
} else if (command == "sk2pk") {
1233-
return bls_sk2pk(request);
12341204
} else {
12351205
bls_help();
12361206
}

0 commit comments

Comments
 (0)