Bitcoin Core 32.99.0
P2P Digital Currency
Classes | Namespaces | Typedefs | Enumerations | Functions
bip352.h File Reference
#include <addresstype.h>
#include <attributes.h>
#include <compat/byteswap.h>
#include <key.h>
#include <primitives/transaction.h>
#include <pubkey.h>
#include <uint256.h>
#include <util/expected.h>
#include <array>
#include <compare>
#include <cstdint>
#include <cstring>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <span>
#include <string>
#include <variant>
#include <vector>
Include dependency graph for bip352.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bip352::PrevoutsSummary
 
struct  bip352::BIP352Comparator
 
struct  bip352::SilentPaymentsDestination
 
class  bip352::SilentPaymentsLabel
 
struct  bip352::SilentPaymentsOutput
 
class  bip352::SilentPaymentsReceiver
 A silent payments recipient's scanning identity. More...
 

Namespaces

namespace  bip352
 

Typedefs

using bip352::PubKey = std::variant< CPubKey, XOnlyPubKey >
 
using bip352::LabelTweakMap = std::map< SilentPaymentsLabel, uint256, std::less<> >
 

Enumerations

enum class  bip352::PrevoutsSummaryError { bip352::MISSING_COIN , bip352::NOT_ELIGIBLE }
 

Functions

util::Expected< SilentPaymentsDestination, std::string > bip352::DecodeSilentPaymentsAddress (const std::string &str, const CChainParams &params)
 Decode a BIP352 "sp1..." address. Returns the destination, or an error message on failure. More...
 
std::optional< PubKey > bip352::GetPubKeyFromInput (const CTxIn &txin, const CScript &spk)
 Get the public key from an input. More...
 
std::optional< std::map< size_t, WitnessV1Taproot > > bip352::GenerateSilentPaymentsTaprootDestinations (const std::map< size_t, SilentPaymentsDestination > &sp_dests, const std::vector< CKey > &plain_keys, const std::vector< KeyPair > &taproot_keys, const COutPoint &smallest_outpoint)
 Generate silent payments taproot destinations. More...
 
util::Expected< PrevoutsSummary, PrevoutsSummaryError > bip352::GetSilentPaymentsPrevoutsSummary (const std::vector< CTxIn > &vin, const std::map< COutPoint, Coin > &coins)
 Get silent payments public data from transaction inputs. More...