Changeset View
Changeset View
Standalone View
Standalone View
src/script/interpreter.cpp
Show First 20 Lines • Show All 1,019 Lines • ▼ Show 20 Lines | try { | ||||
// Assuming success is usually a bad idea, but the | // Assuming success is usually a bad idea, but the | ||||
// schnorr path can only succeed. | // schnorr path can only succeed. | ||||
bool fSuccess = true; | bool fSuccess = true; | ||||
if ((flags & SCRIPT_ENABLE_SCHNORR_MULTISIG) && | if ((flags & SCRIPT_ENABLE_SCHNORR_MULTISIG) && | ||||
stacktop(-idxDummy).size() != 0) { | stacktop(-idxDummy).size() != 0) { | ||||
// SCHNORR MULTISIG | // SCHNORR MULTISIG | ||||
static_assert(MAX_PUBKEYS_PER_MULTISIG < 32); | static_assert( | ||||
MAX_PUBKEYS_PER_MULTISIG < 32, | |||||
"Schnorr multisig checkbits implementation " | |||||
"assumes < 32 pubkeys."); | |||||
uint32_t checkBits = 0; | uint32_t checkBits = 0; | ||||
// Dummy element is to be interpreted as a bitfield | // Dummy element is to be interpreted as a bitfield | ||||
// that represent which pubkeys should be checked. | // that represent which pubkeys should be checked. | ||||
valtype &vchDummy = stacktop(-idxDummy); | valtype &vchDummy = stacktop(-idxDummy); | ||||
if (!DecodeBitfield(vchDummy, nKeysCount, checkBits, | if (!DecodeBitfield(vchDummy, nKeysCount, checkBits, | ||||
serror)) { | serror)) { | ||||
// serror is set | // serror is set | ||||
▲ Show 20 Lines • Show All 735 Lines • Show Last 20 Lines |