2.1.0
New features
- Added
fee_for_output
function toTransactionBuilder
. This calculate how much the fee would increase if you added a given output - Added
byron_protocol_magic
to ByronAddress which allows to easily extract the Byron protocol magic from a Byron-era address (we previously only supported calculating the Shelley network id) - Added support for creating and parsing update proposals from inside a TransactionBody. This includes adding the following new structs:
- GenesisHash
- Nonce
- ProposedProtocolParameterUpdates
- ProtocolParamUpdate
- ProtocolVersion
- ProtocolVersions
- Update
- Added support for parsing entire blocks. This includes adding the following new structs:
- Block
- BlockHash
- Header
- HeaderBody
- KESSignature
- KESVKey
- MapTransactionIndexToTransactionMetadata
- OperationalCert
- TransactionBodies
- TransactionWitnessSets
- VRFCert
- VRFVKey
Bug fixes
- Fix edge cases in
TransactionBuilder
'sbuild
function. Notably- Transactions where sum(input) == sum(output) were rejected. They are now accepted
- Transactions change calculation required at least 1 lovelace leeway to add change. They can now be exact (an
>
changed to an>=
) - Transactions that fail only because there isn't enough input to cover the deposit now properly fail with
Insufficient input in transaction
instead of a Rust panic.
- Fix binary encoding of MIR certificates. MIR certificates created by our library had the wrong binary encoding. This shouldn't affect anybody since probably nobody is creating MIR certificates with our library.
- Fix binary encoding of TransactionBody. Transactions containing update proposals would have the update proposal binary dropped by our library. This shouldn't affect anybody since probably nobody is creating update proposals with our library.
Chore
- Began migrating to ReadTheDocs for documentation (still very much a work in progress though)