| 115 | } |
| 116 | |
| 117 | td::Result<PrivateKey> PrivateKey::generate() { |
| 118 | TRY_RESULT(private_key, td::Ed25519::generate_private_key()); |
| 119 | TRY_RESULT(public_key, private_key.get_public_key()); |
| 120 | TRY_RESULT(prepared_private_key, private_key.prepare()); |
| 121 | return std::make_shared<PrivateKeyRaw>( |
| 122 | PrivateKeyRaw{{std::move(public_key)}, std::move(private_key), std::move(prepared_private_key)}); |
| 123 | } |
| 124 | |
| 125 | td::Result<PrivateKey> PrivateKey::from_slice(const td::Slice &slice) { |
| 126 | if (slice.size() != td::Ed25519::PublicKey::LENGTH) { |
nothing calls this directly
no outgoing calls
no test coverage detected