|
constexpr Type | miniscript::operator""_mst (const char *c, size_t l) |
| Literal operator to construct Type objects. More...
|
|
template<typename Key , typename... Args> |
NodeRef< Key > | miniscript::MakeNodeRef (Args &&... args) |
| Construct a miniscript node as a shared_ptr. More...
|
|
Type | miniscript::internal::ComputeType (Fragment fragment, Type x, Type y, Type z, const std::vector< Type > &sub_types, uint32_t k, size_t data_size, size_t n_subs, size_t n_keys) |
| Helper function for Node::CalcType. More...
|
|
size_t | miniscript::internal::ComputeScriptLen (Fragment fragment, Type sub0typ, size_t subsize, uint32_t k, size_t n_subs, size_t n_keys) |
| Helper function for Node::CalcScriptLen. More...
|
|
Type | miniscript::internal::SanitizeType (Type x) |
| A helper sanitizer/checker for the output of CalcType. More...
|
|
int | miniscript::internal::FindNextChar (Span< const char > sp, const char m) |
|
template<typename Key , typename Ctx > |
std::optional< std::pair< Key, int > > | miniscript::internal::ParseKeyEnd (Span< const char > in, const Ctx &ctx) |
| Parse a key string ending at the end of the fragment's text representation. More...
|
|
template<typename Ctx > |
std::optional< std::pair< std::vector< unsigned char >, int > > | miniscript::internal::ParseHexStrEnd (Span< const char > in, const size_t expected_size, const Ctx &ctx) |
| Parse a hex string ending at the end of the fragment's text representation. More...
|
|
template<typename Key > |
void | miniscript::internal::BuildBack (Fragment nt, std::vector< NodeRef< Key >> &constructed, const bool reverse=false) |
| BuildBack pops the last two elements off constructed and wraps them in the specified Fragment. More...
|
|
template<typename Key , typename Ctx > |
NodeRef< Key > | miniscript::internal::Parse (Span< const char > in, const Ctx &ctx) |
| Parse a miniscript from its textual descriptor form. More...
|
|
std::optional< std::vector< Opcode > > | miniscript::internal::DecomposeScript (const CScript &script) |
| Decode a script into opcode/push pairs. More...
|
|
std::optional< int64_t > | miniscript::internal::ParseScriptNumber (const Opcode &in) |
| Determine whether the passed pair (created by DecomposeScript) is pushing a number. More...
|
|
template<typename Key , typename Ctx , typename I > |
NodeRef< Key > | miniscript::internal::DecodeScript (I &in, I last, const Ctx &ctx) |
| Parse a miniscript from a bitcoin script. More...
|
|
template<typename Ctx > |
NodeRef< typename Ctx::Key > | miniscript::FromString (const std::string &str, const Ctx &ctx) |
|
template<typename Ctx > |
NodeRef< typename Ctx::Key > | miniscript::FromScript (const CScript &script, const Ctx &ctx) |
|
|
static const auto | miniscript::internal::ZERO = InputStack(std::vector<unsigned char>()) |
| A stack consisting of a single zero-length element (interpreted as 0 by the script interpreter in numeric context). More...
|
|
static const auto | miniscript::internal::ZERO32 = InputStack(std::vector<unsigned char>(32, 0)).SetMalleable() |
| A stack consisting of a single malleable 32-byte 0x0000...0000 element (for dissatisfying hash challenges). More...
|
|
static const auto | miniscript::internal::ONE = InputStack(Vector((unsigned char)1)) |
| A stack consisting of a single 0x01 element (interpreted as 1 by the script interpreted in numeric context). More...
|
|
static const auto | miniscript::internal::EMPTY = InputStack() |
| The empty stack. More...
|
|
static const auto | miniscript::internal::INVALID = InputStack().SetAvailable(Availability::NO) |
| A stack representing the lack of any (dis)satisfactions. More...
|
|