-
Notifications
You must be signed in to change notification settings - Fork 38.7k
Closed
Labels
Description
The createmultisig RPC adds a spurious warning message when creating for address type p2sh-segwit.
createmultisig 2 '["0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"]' 'p2sh-segwit'
{
"address": "3QfZQY7wQrBGEUB7E5vVLggeeAUVZ1Bbg9",
"redeemScript": "52210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
"descriptor": "sh(wsh(multi(2,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798)))#m8ww0c9m",
"warnings": [
"Unable to make chosen address type, please ensure no uncompressed public keys are present."
]
}
I think this traces back to #23113
In the code, the comparison at
bitcoin/src/rpc/output_script.cpp
Line 166 in 225e5b5
| if (!request.params[2].isNull() && OutputTypeFromDestination(dest) != output_type) { |
output_type is OutputType::P2SH_SEGWIT and Line 112 in 225e5b5
| return OutputType::LEGACY; |
OutputType::LEGACY
Expected behavior
No warning message. For example:
createmultisig 2 '["0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"]' 'p2sh-segwit'
{
"address": "3QfZQY7wQrBGEUB7E5vVLggeeAUVZ1Bbg9",
"redeemScript": "52210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
"descriptor": "sh(wsh(multi(2,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798)))#m8ww0c9m"
}