bip174.org icon indicating copy to clipboard operation
bip174.org copied to clipboard

PSBT global xpubs not being displayed?

Open mflaxman opened this issue 4 years ago • 1 comments

Steps:

  1. Input this test case from the spec: cHNidP8BAFICAAAAAZ38ZijCbFiZ/hvT3DOGZb/VXXraEPYiCXPfLTht7BJ2AQAAAAD/////AfA9zR0AAAAAFgAUezoAv9wU0neVwrdJAdCdpu8TNXkAAAAATwEENYfPAto/0AiAAAAAlwSLGtBEWx7IJ1UXcnyHtOTrwYogP/oPlMAVZr046QADUbdDiH7h1A3DKmBDck8tZFmztaTXPa7I+64EcvO8Q+IM2QxqT64AAIAAAACATwEENYfPAto/0AiAAAABuQRSQnE5zXjCz/JES+NTzVhgXj5RMoXlKLQH+uP2FzUD0wpel8itvFV9rCrZp+OcFyLrrGnmaLbyZnzB1nHIPKsM2QxqT64AAIABAACAAAEBKwBlzR0AAAAAIgAgLFSGEmxJeAeagU4TcV1l82RZ5NbMre0mbQUIZFuvpjIBBUdSIQKdoSzbWyNWkrkVNq/v5ckcOrlHPY5DtTODarRWKZyIcSEDNys0I07Xz5wf6l0F1EFVeSe+lUKxYusC4ass6AIkwAtSriIGAp2hLNtbI1aSuRU2r+/lyRw6uUc9jkO1M4NqtFYpnIhxENkMak+uAACAAAAAgAAAAAAiBgM3KzQjTtfPnB/qXQXUQVV5J76VQrFi6wLhqyzoAiTACxDZDGpPrgAAgAEAAIAAAAAAACICA57/H1R6HV+S36K6evaslxpL0DukpzSwMVaiVritOh75EO3kXMUAAACAAAAAgAEAAIAA
  2. Can't find tpubDBkJeJo2X94Yq3RVz65DoUgyLUkaDrkfyrn2VcgyCRSKCRonvKvCF2FpYDGJWDkdRHBajXJGpc63GnumUt63ySvqCu2XaTRGVTKMYGuFk9H or tpubDBkJeJo2X94YsvtBEU1eKoibEWiNv51nW5iHhs6VZp59jsE6nen8KZMFyGHuGbCvqjRqirgeMcfpVBkttpUUT6brm4duzSGoZeTbhqCNUu6 anywhere on the page

By comparison, here is the output using buidl:

>>> from buidl.psbt import PSBT

>>> psbt_b64 = "cHNidP8BAFICAAAAAZ38ZijCbFiZ/hvT3DOGZb/VXXraEPYiCXPfLTht7BJ2AQAAAAD/////AfA9zR0AAAAAFgAUezoAv9wU0neVwrdJAdCdpu8TNXkAAAAATwEENYfPAto/0AiAAAAAlwSLGtBEWx7IJ1UXcnyHtOTrwYogP/oPlMAVZr046QADUbdDiH7h1A3DKmBDck8tZFmztaTXPa7I+64EcvO8Q+IM2QxqT64AAIAAAACATwEENYfPAto/0AiAAAABuQRSQnE5zXjCz/JES+NTzVhgXj5RMoXlKLQH+uP2FzUD0wpel8itvFV9rCrZp+OcFyLrrGnmaLbyZnzB1nHIPKsM2QxqT64AAIABAACAAAEBKwBlzR0AAAAAIgAgLFSGEmxJeAeagU4TcV1l82RZ5NbMre0mbQUIZFuvpjIBBUdSIQKdoSzbWyNWkrkVNq/v5ckcOrlHPY5DtTODarRWKZyIcSEDNys0I07Xz5wf6l0F1EFVeSe+lUKxYusC4ass6AIkwAtSriIGAp2hLNtbI1aSuRU2r+/lyRw6uUc9jkO1M4NqtFYpnIhxENkMak+uAACAAAAAgAAAAAAiBgM3KzQjTtfPnB/qXQXUQVV5J76VQrFi6wLhqyzoAiTACxDZDGpPrgAAgAEAAIAAAAAAACICA57/H1R6HV+S36K6evaslxpL0DukpzSwMVaiVritOh75EO3kXMUAAACAAAAAgAEAAIAA"

>>> PSBT.parse_base64(psbt_b64)
Tx:

tx: c6176cf469d705b224046a55aa7128c533fd11fb74c37e5fbb48bbea6ff1523d
version: 2
locktime: 0
tx_ins:
{self.prev_tx.hex()}:{self.prev_index}
tx_outs:
499990000:OP_0 7b3a00bfdc14d27795c2b74901d09da6ef133579 


PSBT XPUBS:
{b"\x04\x88\xb2\x1e\x02\xda?\xd0\x08\x80\x00\x00\x00\x97\x04\x8b\x1a\xd0D[\x1e\xc8'U\x17r|\x87\xb4\xe4\xeb\xc1\x8a ?\xfa\x0f\x94\xc0\x15f\xbd8\xe9\x00\x03Q\xb7C\x88~\xe1\xd4\r\xc3*`CrO-dY\xb3\xb5\xa4\xd7=\xae\xc8\xfb\xae\x04r\xf3\xbcC\xe2": 
HD: tpubDBkJeJo2X94Yq3RVz65DoUgyLUkaDrkfyrn2VcgyCRSKCRonvKvCF2FpYDGJWDkdRHBajXJGpc63GnumUt63ySvqCu2XaTRGVTKMYGuFk9H
Path: d90c6a4f:m/174'/0'
, b'\x04\x88\xb2\x1e\x02\xda?\xd0\x08\x80\x00\x00\x01\xb9\x04RBq9\xcdx\xc2\xcf\xf2DK\xe3S\xcdX`^>Q2\x85\xe5(\xb4\x07\xfa\xe3\xf6\x175\x03\xd3\n^\x97\xc8\xad\xbcU}\xac*\xd9\xa7\xe3\x9c\x17"\xeb\xaci\xe6h\xb6\xf2f|\xc1\xd6q\xc8<\xab': 
HD: tpubDBkJeJo2X94YsvtBEU1eKoibEWiNv51nW5iHhs6VZp59jsE6nen8KZMFyGHuGbCvqjRqirgeMcfpVBkttpUUT6brm4duzSGoZeTbhqCNUu6
Path: d90c6a4f:m/174'/1'
}

Psbt_Ins:
[
TxIn:
{self.prev_tx.hex()}:{self.prev_index}
Prev Tx:
None
Prev Output:
500000000:OP_0 2c5486126c4978079a814e13715d65f36459e4d6ccaded266d0508645bafa632 
Sigs:
{}
RedeemScript:
None
WitnessScript:
OP_2 029da12cdb5b235692b91536afefe5c91c3ab9473d8e43b533836ab456299c8871 03372b34234ed7cf9c1fea5d05d441557927be9542b162eb02e1ab2ce80224c00b OP_2 OP_CHECKMULTISIG 
PSBT Pubs:
{b'\x02\x9d\xa1,\xdb[#V\x92\xb9\x156\xaf\xef\xe5\xc9\x1c:\xb9G=\x8eC\xb53\x83j\xb4V)\x9c\x88q': 
Point: 029da12cdb5b235692b91536afefe5c91c3ab9473d8e43b533836ab456299c8871
Path: d90c6a4f:m/174'/0'/0
, b"\x037+4#N\xd7\xcf\x9c\x1f\xea]\x05\xd4AUy'\xbe\x95B\xb1b\xeb\x02\xe1\xab,\xe8\x02$\xc0\x0b": 
Point: 03372b34234ed7cf9c1fea5d05d441557927be9542b162eb02e1ab2ce80224c00b
Path: d90c6a4f:m/174'/1'/0
}
ScriptSig:
None
Witness:
None
]

Psbt_Outs:
[
TxOut:
499990000:OP_0 7b3a00bfdc14d27795c2b74901d09da6ef133579 
RedeemScript:
None
WitnessScript
None
PSBT Pubs:
{b'\x03\x9e\xff\x1fTz\x1d_\x92\xdf\xa2\xbaz\xf6\xac\x97\x1aK\xd0;\xa4\xa74\xb01V\xa2V\xb8\xad:\x1e\xf9': 
Point: 039eff1f547a1d5f92dfa2ba7af6ac971a4bd03ba4a734b03156a256b8ad3a1ef9
Path: ede45cc5:m/0'/0'/1'
}
]

Extra:
{}

mflaxman avatar Dec 02 '21 03:12 mflaxman

@afilini would you be interested in a PR that implements this? I would like to see this feature implemented, and could take a stab at it.

dspicher avatar Jun 21 '23 11:06 dspicher