| 4672 | } |
| 4673 | |
| 4674 | CTxDestination GetDestinationForKey(const CPubKey& key, OutputType type) |
| 4675 | { |
| 4676 | switch (type) { |
| 4677 | case OUTPUT_TYPE_LEGACY: return key.GetID(); |
| 4678 | case OUTPUT_TYPE_P2SH_SEGWIT: |
| 4679 | case OUTPUT_TYPE_BECH32: { |
| 4680 | if (!key.IsCompressed()) return key.GetID(); |
| 4681 | CTxDestination witdest = WitnessV0KeyHash(key.GetID()); |
| 4682 | CScript witprog = GetScriptForDestination(witdest); |
| 4683 | if (type == OUTPUT_TYPE_P2SH_SEGWIT) { |
| 4684 | return CScriptID(witprog); |
| 4685 | } else { |
| 4686 | return witdest; |
| 4687 | } |
| 4688 | } |
| 4689 | default: assert(false); |
| 4690 | } |
| 4691 | } |
| 4692 | |
| 4693 | std::vector<CTxDestination> GetAllDestinationsForKey(const CPubKey& key) |
| 4694 | { |
no test coverage detected