v0.19.0-alpha.0 - 2023-04-13
- Use gasket dep from crates.io (#249)
- Fix lint warnings for all targets (#240)
- Improve network tracing messages (#237)
- traverse: Improve API ergonomics (#233)
- Small crate readme tweaks
- Migrate to asynchronous I/O (#241)
- Allow creation of secret key from bytes (#224)
- Add client/server use_channel variants (#228)
- Add constants for known miniprotocols
- Introduce Upstream crate (#230)
- Make the underlying TxBody type generic
- addresses: Derive Hash on Address (#235)
- traverse: Expose aux data scripts (#232)
- traverse: Introduce time helpers (#234)
- upstream: Make output generic by adapter (#236)
- Handle bearer I/O errors (#247)
- Make upstream worker easy to connect (#246)
- upstream: Use sync read for chunk dequeue (#239)
- Improve network module naming (#245)
- Merge multiplexer & miniprotocols into single crate (#244)
- traverse: Unify mint and output asset artifacts (#231)
The signature for Bearer.accept_tcp now returns the bearer, and the address that connected.
This can, for example, be used to implement allow and deny lists for accepting or rejecting incoming connections.
-
Return the remote address from accept_unix
-
cargo fmt
-
Fix comment formatting
v0.18.0 - 2023-02-04
- deps: update env_logger requirement from 0.9.0 to 0.10.0 (#209)
- deps: update minicbor requirement from 0.18 to 0.19 (#213)
- Provide original hash for inline datum (#221)
v0.17.0 - 2023-01-26
- use PlutusBytes to encode BigUInt/BigNInt (#216)
v0.16.0 - 2023-01-06
- Remove lagging pre-release ref (#206)
- Fix lint warnings (#205)
- Remove pre-release ref from deps (#204)
- Fix address lint issue (#201)
- miniprotocols: Fix integration tests after preview respin (#203)
- miniprotocols: Add chain-sync tip test (#199)
- Migrate to dumb agents (#198)
- addresses: Add helper for shelley into stake address (#208)
- miniprotocols: Introduce tracing (#214)
- multiplexer: Introduce sync multiplexer option (#210)
- traverse: produces_at method for MultiEraTx (#200)
- Match CBOR encoding of plutus data with the haskell implementation. (#212)
- addresses: Remove bad todo in bech32 logic (#207)
- primitives: Handle generic int in Plutus data (#202)
handshake, chainsync, localstate and blockfetch mini-protocols changed the API surface
v0.14.2 - 2022-11-14
- deps: update minicbor requirement from 0.17 to 0.18 (#134)
- deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)
- Fix linter warnings (#194)
- Fix lint warnings (#190)
- Move fee logic out of primitives (#174)
- Move time logic out of primitives (#173)
- Move hash logic out of primitives (#172)
- primitives: Remove redundant address logic (#171)
- return indexes along with outputs returned by produces() (#193)
- Provide access to all assets at a tx out (#180)
- Add magic constants for preview and preprod environments (#179)
- Introduce Bech32 crate (#176)
- addresses: Add hex and bech32 for Shelley parts (#181)
- primitives: Preserve order of map structures (#192)
- primitives: Enable serde of ledger structs (#169)
- traverse: Add helper methods to Asset data (#195)
- traverse: Provide access to original Datum hash (#189)
- traverse: Introduce new MultiEraTx helpers (#184)
- Stop double CBOR encoding of Plutus script used for hashing (#188)
- use correct prefix when hashing plutus v2 script (#182)
- codec: Make Int struct copy (#170)
- primitives: Handle generic int in Plutus data (#202)
- primitives: Add missing PartialOrd and Ord to TransactionInput (#191)
- traverse: Make ToHash trait public outside crate (#186)
v0.13.4 - 2022-11-14
- primitives: Handle generic int in Plutus data (#202)
v0.15.0 - 2022-11-13
- Remove lagging pre-release ref (#206)
- Fix lint warnings (#205)
- Remove pre-release ref from deps (#204)
- Fix address lint issue (#201)
- miniprotocols: Fix integration tests after preview respin (#203)
- miniprotocols: Add chain-sync tip test (#199)
- primitives: Handle generic int in Plutus data (#202)
handshake, chainsync, localstate and blockfetch mini-protocols changed the API surface
v0.14.0 - 2022-10-13
v0.14.0-alpha.6 - 2022-10-13
- deps: update minicbor requirement from 0.17 to 0.18 (#134)
- deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)
- Fix linter warnings (#194)
- Fix lint warnings (#190)
- Move fee logic out of primitives (#174)
- Move time logic out of primitives (#173)
- Move hash logic out of primitives (#172)
- primitives: Remove redundant address logic (#171)
- return indexes along with outputs returned by produces() (#193)
- Provide access to all assets at a tx out (#180)
- Add magic constants for preview and preprod environments (#179)
- Introduce Bech32 crate (#176)
- addresses: Add hex and bech32 for Shelley parts (#181)
- primitives: Preserve order of map structures (#192)
- primitives: Enable serde of ledger structs (#169)
- traverse: Add helper methods to Asset data (#195)
- traverse: Provide access to original Datum hash (#189)
- traverse: Introduce new MultiEraTx helpers (#184)
- Stop double CBOR encoding of Plutus script used for hashing (#188)
- use correct prefix when hashing plutus v2 script (#182)
- codec: Make Int struct copy (#170)
- primitives: Add missing PartialOrd and Ord to TransactionInput (#191)
- traverse: Make ToHash trait public outside crate (#186)
v0.13.3 - 2022-10-13
- Handle undefined CBOR maps in Plutus data (#196)
v0.14.0-alpha.5 - 2022-09-28
- traverse: Add helper methods to Asset data (#195)
v0.14.0-alpha.4 - 2022-09-21
- Fix linter warnings (#194)
- return indexes along with outputs returned by produces() (#193)
- Provide access to all assets at a tx out (#180)
v0.14.0-alpha.3 - 2022-09-15
- primitives: Preserve order of map structures (#192)
- primitives: Add missing PartialOrd and Ord to TransactionInput (#191)
v0.14.0-alpha.2 - 2022-09-13
- Fix lint warnings (#190)
- traverse: Provide access to original Datum hash (#189)
- Stop double CBOR encoding of Plutus script used for hashing (#188)
v0.14.0-alpha.1 - 2022-09-11
- traverse: Make ToHash trait public outside crate (#186)
v0.14.0-alpha.0 - 2022-09-11
- deps: update minicbor requirement from 0.17 to 0.18 (#134)
- deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)
- Move fee logic out of primitives (#174)
- Move time logic out of primitives (#173)
- Move hash logic out of primitives (#172)
- primitives: Remove redundant address logic (#171)
- Add magic constants for preview and preprod environments (#179)
- Introduce Bech32 crate (#176)
- addresses: Add hex and bech32 for Shelley parts (#181)
- primitives: Enable serde of ledger structs (#169)
- traverse: Introduce new MultiEraTx helpers (#184)
v0.13.2 - 2022-08-19
- addresses: Skip error on pointer address overflow (#178)
v0.13.1 - 2022-08-08
v0.13.0 - 2022-08-07
- primitives: Add ToHash to DatumOption (#163)
- traverse: Add missing getters on output (#162)
- traverse: Add missing getters for witness fields (#160)
- traverse: Add reference inputs to Tx (#161)
- traverse: Expose collateral return (#158)
- primitives: Handle alonzo headers without prev-hash (#164)
- primitives: Force CBOR null primitive for missing aux data (#159)
v0.12.0 - 2022-08-02
- Add test for output traverse (#157)
- Fix lint warnings
- addresses: Fix Byron cbor structure (#155)
v0.12.0-alpha.0 - 2022-07-20
- Apply code formatting
- primitives: Add Plutus script hash test (#147)
- addresses: Improve API ergonomics (#148)
- miniprotocols: Add Tx-Mempool-Monitoring mini-Protocol (#150)
- traverse: Introduce more new accessor methods (#153)
- traverse: Introduce new accessor methods (#152)
- traverse: Expose multi-era metadata (#151)
- traverse: Integrate address library (#149)
- multiplexer: Honor read timeouts in bearer logic (#154)
v0.11.1 - 2022-07-03
- traverse: Add missing era probe
v0.11.0 - 2022-07-02
- deps: update bech32 requirement from 0.8.1 to 0.9.0 (#104)
- primitives: Organize test data on a single dir (#112)
- Update changelog
- Add mechanism to check era's features (#120)
- Introduce 'traverse' library (#117)
- Introduce Addresses crate (#137)
- Add Vasil / Babbage compatibility (#126)
- Implement common traverse iterators (#119)
- multiplexer: Use single channel for muxer (#133)
- primitives: Introduce MintedBlock concept (#116)
- traverse: Add era-handling utilities (#123)
- traverse: Add output refs for inputs (#122)
- traverse: Add tx input traversing (#121)
- traverse: Add output-at helper method (#124)
- traverse: Add ada amount method on output (#135)
- traverse: Expose block number value (#140)
- traverse: Improve MultiEraOutput ergonomics (#141)
- Add missing README blocking publish
- Add missing README preventing publish
- multiplexer: Use buffers that own the inner channel (#113)
- multiplexer: Handle bearer io error instead of panic (#118)
- primitives: Handle bytes indef in Plutus data (#143)
- primitives: Adjust member visibility in structs (#144)
- traverse: Handle Shelley's lack of invalid_transactions field (#138)
v0.10.1 - 2022-07-02
- primitives: Handle bytes indef in Plutus data
v0.11.0-beta.1 - 2022-06-25
- Introduce Addresses crate (#137)
- Add missing README blocking publish
- traverse: Handle Shelley's lack of invalid_transactions field (#138)
v0.11.0-beta.0 - 2022-06-20
- deps: update bech32 requirement from 0.8.1 to 0.9.0 (#104)
- Add Vasil / Babbage compatibility (#126)
- multiplexer: Use single channel for muxer (#133)
- traverse: Add ada amount method on output (#135)
v0.11.0-alpha.2 - 2022-06-17
- traverse: Add output-at helper method (#124)
- traverse: Add era-handling utilities (#123)
- traverse: Add output refs for inputs (#122)
- traverse: Add tx input traversing (#121)
- Add missing README preventing publish
v0.11.0-alpha.1 - 2022-06-15
- Add mechanism to check era's features (#120)
- Implement common traverse iterators (#119)
- Introduce 'traverse' library (#117)
- primitives: Introduce MintedBlock concept (#116)
- multiplexer: Handle bearer io error instead of panic (#118)
v0.11.0-alpha.0 - 2022-06-10
- primitives: Organize test data on a single dir (#112)
- Update changelog
- multiplexer: Use buffers that own the inner channel (#113)
v0.10.0 - 2022-06-04
- deps: Upgrade to minicbor 0.17 (breaking changes) (#109)
- Improve multiplexer ergonomics (#111)
- Add mechanism to retain original CBOR (#110)
- multiplexer: Allow fine-grained control of concurrency strategy (#106)
- primitives: Add self-contained transaction struct (#107)
v0.9.1 - 2022-05-03
- Provide access to PlutusScript bytes (#102)
v0.9.0 - 2022-04-30
- Skip publish confirmation prompt
- Enable tag-based release workflow
- Add draft version of the release workflow (#101)
- Add retroactive change log
v0.9.0-alpha.1 - 2022-04-29
- Implement Plutus Data hashing / JSON (#100)
- Use correct struct for metadatum labels (#96)
- Update failing native script json test (#95)
- primitives: Fix native scripts policy id (add missing tag) (#94)
- primitives: Fix native scripts before/after type serialization (#93)
v0.9.0-alpha.0 - 2022-04-26
- primitives: Implement length-preserving uints (#92)
- primitives: Implement canonical JSON serialization (#90)
v0.8.0 - 2022-04-11
v0.8.0-alpha.1 - 2022-04-11
- Improve alonzo address ergonomics (#87)
- Make blockfetch observer mutable (#86)
- miniprotocols: Allow step-by-step agents (#85)
v0.8.0-alpha.0 - 2022-03-22
- Fix rogue clippy warnings (#79)
- Add block-decoding example (#78)
- Update README with new crates (#77)
- Split miniprotocol status into initiator vs responder (#82)
- Fix README links (#81)
- Add miniprotocols crate README (#80)
- miniprotocols: Allow graceful exit on chainsync and blockfetch (#83)
- miniprotocols: Use pure functions for state machines (#84)
[email protected] - 2022-03-16
[email protected] - 2022-03-16
- miniprotocols: Handle regression related to multi-msg payloads (#76)
v0.7.0 - 2022-03-16
v0.7.0-alpha.1 - 2022-03-16
- deps: update minicbor requirement from 0.14 to 0.15 (#72)
- Use minicbor int to represent metadatum ints (#73)
- primitives: Handle very BigInt in plutus data (#75)
v0.7.0-alpha.0 - 2022-03-13
[email protected] - 2022-03-08
- primitives: Handle map-indef variant for aux data (#70)
[email protected] - 2022-03-08
- primitives: Add missing variant (not in CDDL) to AddrAttr enum (#69)
[email protected] - 2022-03-01
- primitives: Fix decoding of empty Nonce hash (#67)
[email protected] - 2022-02-28
- primitives: Fix round-trip decoding of Alonzo update struct (#66)
v0.6.0 - 2022-02-28
v0.5.4 - 2022-02-28
- deps: minicbor-0.14, minicbor-derive-0.9.0, fix build (#63)
- miniprotocols: Decode BlockContent correctly (#60)
- primitives: Fix round-trip decoding of move_instantaneous_reward struct (#64)
- primitives: Fix ssc struct codec (#62)
- primitives: Fix Byron 'Up' struct decoding (#61)
v0.5.0 - 2022-02-24
- Fix clippy warnings
v0.5.0-beta.0 - 2022-02-24
- Tidy up examples
- Handle correct probing of genesis block (#57)
- primitives: Fix round-trip decoding of genesis block (#58)
v0.5.0-alpha.5 - 2022-02-23
- Allow chainsync to start from origin (#56)
v0.5.0-alpha.4 - 2022-02-18
- add Eq & Ord to Era (#53)
v0.5.0-alpha.3 - 2022-02-17
v0.5.0-alpha.2 - 2022-02-16
- Implement rollback buffer (#49)
- Add mutability to chainsync observer (#50)
v0.5.0-alpha.1 - 2022-02-14
- Simplify ChainSync agent logic (#48)
- Add Byron header hashing (#45)
- Implement block cbor probing (#44)
- primitives: Improve ergonomics for Byron primitives (#47)
- primitives: Probe old shelley blocks correctly (#46)
v0.5.0-alpha.0 - 2022-02-09
- Merge Byron / Alonzo into single crate (#43)
- Add logo to README (#42)
- Add logo assets
- Merge mini-protocols into single crate (#40)
- Introduce Byron library (#39)
- Overflow error in ExUnits (#38)
v0.4.0 - 2022-01-31
- Enable dependabot
- deps: update minicbor requirement from 0.12 to 0.13 (#37)
- deps: update cryptoxide requirement from 0.3.6 to 0.4.1 (#36)
- deps: update minicbor-derive requirement from 0.7.2 to 0.8.0
- Add block download example (#24)
- make use of the
pallas_crypto::Hash
type (#25)
- alonzo: ExUnits steps overflow (#35)
- Merge pull request #27 from txpipe/nicolasdp/ed25519-plus
- Merge pull request #23 from txpipe/nicolasdp/pallas-crypto-faster-hash-computation
- Merge pull request #21 from txpipe/dependabot/cargo/minicbor-derive-0.8.0
v0.3.9 - 2022-01-09
- alonzo: Apply valid cbor codec for Nonce values (#20)
v0.3.8 - 2022-01-08
- alonzo: Contemplate aux data with multiple plutus scripts (#19)
v0.3.7 - 2022-01-07
- alonzo: Apply correct codec for protocol param updates (#18)
v0.3.6 - 2022-01-06
- alonzo: Make 'invalid txs' field optional for old block compatibility (#17)
v0.3.5 - 2022-01-03
- Fix formatting / linting issues
- Ignore clippy needless_range_loop
- multiplexer: Fix connection refused error in integration tests (#13)
- chainsync: Stop the consumer machine when intersect is not found (#14)
- machines: Don't warn on expected end-of-input errors (#15)
- multiplexer: Remove disconnected protocols from muxer loop (#16)
- Merge pull request #9 from 2nd-Layer/main
v0.3.4 - 2021-12-19
- add validation workflow on push
- Disable Unix socket on non-unix platforms
- multiplexer: Add error messages to potential panics
- multiplexer: format code
- multiplexer: Add basic integration tests
- Merge pull request #8 from 2nd-Layer/disable_unix_socket_on_non-unix_system
v0.3.3 - 2021-12-14
- improve gitignore
- multiplexer: tidy up examples
- multiplexer: add introduction to readme
- alonzo: avoid indef arrays isomorphic codec issues
- alonzo: deal with transaction body ordering
- alonzo: use correct codec for plutus data
- multiplexer: resolve lint issues
- make chainsync machine agnostic of content
v0.3.2 - 2021-12-10
- blockfetch: add more observer events
v0.3.1 - 2021-12-10
- alonzo: add instantaneous reward model
- intra dev dependencies for example code
- update incompatible doc link versions
- alonzo: bad epoch data type
- alonzo: visibility of struct members
- bump version numbers
- bump versions
- alonzo: ensure isomorphic decoding / encoding
- alonzo: small ergonomic improvements to lib api
- alonzo: add mechanism to compute hashes of common structs
- blockfetch: add on-demand block-fetch client
- chainsync: add cursor to observer args
- chainsync: add tip finder specialized client
- update incompatible doc link versions
- handshake: make client struct data public
- multiplexer: allow multiplexer channels to be sequantially shared
- apply fmt to entire workspace