| 130 | } |
| 131 | |
| 132 | bool DecryptKey(const CKeyingMaterial& master_key, const std::span<const unsigned char> crypted_secret, const CPubKey& pub_key, CKey& key) |
| 133 | { |
| 134 | CKeyingMaterial secret; |
| 135 | if (!DecryptSecret(master_key, crypted_secret, pub_key.GetHash(), secret)) { |
| 136 | return false; |
| 137 | } |
| 138 | |
| 139 | if (secret.size() != 32) { |
| 140 | return false; |
| 141 | } |
| 142 | |
| 143 | key.Set(secret.begin(), secret.end(), pub_key.IsCompressed()); |
| 144 | return key.VerifyPubKey(pub_key); |
| 145 | } |
| 146 | } // namespace wallet |
no test coverage detected