Replace derived Psbt serde implementation with one that conforms to BIP-174. In human readable serde contexts, serialize to the base64 encoded format, and in binary serde contexts, serialize to the raw binary format. The previous derived serde implementation cannot be used in a backward or forward compatible way in binary formats like bincode, which means that every field added to the Psbt struct would break serde de/serialization into binary formats. Instead, this one-time breaking change will fix the issue going forward. Downstream users with persisted data in the old serde format should continue using 0.32.x to create migrations to the new format. |
||
---|---|---|
.. | ||
README.md | ||
absolute_lock_time_blocks_bincode | ||
absolute_lock_time_seconds_bincode | ||
address_bincode | ||
block_bincode | ||
child_number_bincode | ||
control_block_bincode | ||
control_block_hex | ||
ecdsa_sig_bincode | ||
ecdsa_sig_hex | ||
extended_priv_key | ||
extended_priv_key_bincode | ||
extended_pub_key | ||
extended_pub_key_bincode | ||
private_key_bincode | ||
psbt_base64.json | ||
psbt_bincode | ||
public_key_bincode | ||
public_key_hex | ||
relative_lock_time_blocks_bincode | ||
relative_lock_time_seconds_bincode | ||
script_bincode | ||
taproot_sig_bincode | ||
taproot_sig_hex | ||
taptree_bincode | ||
transaction_bincode | ||
transaction_ser | ||
txin_bincode | ||
txin_ser | ||
txout_bincode | ||
u256_bincode | ||
uint128_bincode | ||
uint256_bincode | ||
witness_bincode |
README.md
Serialization input/output
Files here contain hex strings and binary data representing types used for regression testing.
*_hex
: consensus encoded types represented as hex strings*_ser
: consensus encoded types represented as binary data*_bincode
: types serialized withserde
as bincode
We consensus deserialize, serde
serialize, then check against the expected data
to verify no serde
regressions have been introduced.