Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
outputtype.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
#ifndef BITCOIN_OUTPUTTYPE_H
7
#define BITCOIN_OUTPUTTYPE_H
8
9
#include <
addresstype.h
>
10
#include <
script/signingprovider.h
>
11
12
#include <array>
13
#include <optional>
14
#include <string>
15
#include <string_view>
16
#include <vector>
17
18
enum class
OutputType
{
19
LEGACY
,
20
P2SH_SEGWIT
,
21
BECH32
,
22
BECH32M
,
23
UNKNOWN
,
24
};
25
26
static
constexpr
auto
OUTPUT_TYPES
= std::array{
27
OutputType::LEGACY
,
28
OutputType::P2SH_SEGWIT
,
29
OutputType::BECH32
,
30
OutputType::BECH32M
,
31
};
32
33
std::optional<OutputType>
ParseOutputType
(std::string_view str);
34
const
std::string&
FormatOutputType
(
OutputType
type);
35
std::string
FormatAllOutputTypes
();
36
42
CTxDestination
AddAndGetDestinationForScript
(
FlatSigningProvider
& keystore,
const
CScript
&
script
,
OutputType
);
43
45
std::optional<OutputType>
OutputTypeFromDestination
(
const
CTxDestination
& dest);
46
47
#endif
// BITCOIN_OUTPUTTYPE_H
addresstype.h
CTxDestination
std::variant< CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown > CTxDestination
A txout script categorized into standard templates.
Definition
addresstype.h:143
CScript
Serialized script, used inside transaction inputs and outputs.
Definition
script.h:405
script
Definition
parsing.cpp:13
OutputTypeFromDestination
std::optional< OutputType > OutputTypeFromDestination(const CTxDestination &dest)
Get the OutputType for a CTxDestination.
Definition
outputtype.cpp:80
FormatAllOutputTypes
std::string FormatAllOutputTypes()
Definition
outputtype.cpp:49
OutputType
OutputType
Definition
outputtype.h:18
OutputType::LEGACY
@ LEGACY
Definition
outputtype.h:19
OutputType::UNKNOWN
@ UNKNOWN
Definition
outputtype.h:23
OutputType::BECH32
@ BECH32
Definition
outputtype.h:21
OutputType::P2SH_SEGWIT
@ P2SH_SEGWIT
Definition
outputtype.h:20
OutputType::BECH32M
@ BECH32M
Definition
outputtype.h:22
ParseOutputType
std::optional< OutputType > ParseOutputType(std::string_view str)
Definition
outputtype.cpp:23
AddAndGetDestinationForScript
CTxDestination AddAndGetDestinationForScript(FlatSigningProvider &keystore, const CScript &script, OutputType)
Get a destination of the requested type (if possible) to the specified script.
Definition
outputtype.cpp:54
FormatOutputType
const std::string & FormatOutputType(OutputType type)
Definition
outputtype.cpp:37
OUTPUT_TYPES
static constexpr auto OUTPUT_TYPES
Definition
outputtype.h:26
signingprovider.h
FlatSigningProvider
Definition
signingprovider.h:224
Generated on
for Bitcoin Core by
1.17.0