@@ -1141,58 +1141,31 @@ UniValue protx(const JSONRPCRequest& request)
11411141void bls_generate_help ()
11421142{
11431143 throw std::runtime_error (
1144- " bls generate\n "
1145- " \n Returns a BLS secret/public key pair.\n "
1144+ " bls generate ( \" secret\" )\n "
1145+ " \n Create a new BLS secret/public key pair or restore one from a provided BLS secret key.\n "
1146+ " \n Arguments:\n "
1147+ " 1. \" secret\" (string, optional) The BLS secret key.\n "
11461148 " \n Result:\n "
11471149 " {\n "
11481150 " \" secret\" : \" xxxx\" , (string) BLS secret key\n "
11491151 " \" public\" : \" xxxx\" , (string) BLS public key\n "
11501152 " }\n "
11511153 " \n Examples:\n "
11521154 + HelpExampleCli (" bls generate" , " " )
1155+ + HelpExampleCli (" bls generate" , " 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f" )
11531156 );
11541157}
11551158
11561159UniValue 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- " \n Parses a BLS secret key and returns the secret/public key pair.\n "
1176- " \n Arguments:\n "
1177- " 1. \" secret\" (string, required) The BLS secret key\n "
1178- " \n Result:\n "
1179- " {\n "
1180- " \" secret\" : \" xxxx\" , (string) BLS secret key\n "
1181- " \" public\" : \" xxxx\" , (string) BLS public key\n "
1182- " }\n "
1183- " \n Examples:\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 " \n Arguments:\n "
12121185 " 1. \" command\" (string, required) The command to execute\n "
12131186 " \n Available 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