mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-23 16:44:30 +02:00
Merge bitcoin/bitcoin#25858: psbt: Only include PSBT_OUT_TAP_TREE when the output has a script path
9e386afb67
tests: Test that PSBT_OUT_TAP_TREE is included correctly (Andrew Chow)30ff25cf37
psbt: Only include m_tap_tree if it has scripts (Andrew Chow)0577d423ad
psbt: Change m_tap_tree to store just the tuples (Andrew Chow)22c051ca70
tests: Test that PSBT_OUT_TAP_TREE is combined correctly (Andrew Chow)7df6e1bb77
psbt: Fix merging of m_tap_tree (Andrew Chow)0652dc53b2
[BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE (Jeremy Rubin) Pull request description: PSBT_OUT_TAP_TREE should not be included for outputs that do not have such a tree. This should be disallowed during parsing, as well as prior to serialization when the field is populated during updating. Also added some test cases. Alternative to #25856 ACKs for top commit: instagibbs: ACK9e386afb67
darosior: ACK9e386afb67
Tree-SHA512: ce5c02a69752d176dbd967c1e8d30129b1905c8f186aeeef034576c1de82059271a1ee846bd040f5be4e66bb77ba711dcf14ac1e597c5707d7e7e2293f6cfefb
This commit is contained in:
@@ -123,6 +123,15 @@ class PSBT:
|
||||
psbt = [x.serialize() for x in [self.g] + self.i + self.o]
|
||||
return b"psbt\xff" + b"".join(psbt)
|
||||
|
||||
def make_blank(self):
|
||||
"""
|
||||
Remove all fields except for PSBT_GLOBAL_UNSIGNED_TX
|
||||
"""
|
||||
for m in self.i + self.o:
|
||||
m.map.clear()
|
||||
|
||||
self.g = PSBTMap(map={0: self.g.map[0]})
|
||||
|
||||
def to_base64(self):
|
||||
return base64.b64encode(self.serialize()).decode("utf8")
|
||||
|
||||
|
Reference in New Issue
Block a user