Merge pull request #5648 from IntersectMBO/lehins/changelog-10.7
Changelog for `cardano-node-10.7`
Changelog for `cardano-node-10.7`
Added the following tests:
* JSON roundtrip property test
* Unit test for trying to decode an empty object `{}` for the
`NonEmptyMap`, and an empty list `[]` for the `NonEmptySet`. These
scenarios are expected to fail with a specific error message.
OutboundSourcePort causes replacement connections to the same peer to get the same connection ID. The old connection's cleanup goroutine would unconditionally delete the map entry, destroying the new connection's registration. Guard the delete with a pointer comparison so stale cleanups are no-ops. Signed-off-by: wcatz <[email protected]>
# Conflicts: # ouroboros/chainsync.go # ouroboros/chainsync_test.go
Include the epoch nonce in the leader schedule log line so nonce correctness can be verified without querying the database directly. Signed-off-by: wcatz <[email protected]>
Transactions with isValid=false are consensus-valid on Cardano: the block producer determined the Plutus script failure, and collateral is consumed instead of regular inputs. The gouroboros Transaction interface already handles this via Consumed()/Produced() which return the correct collateral-based UTxO sets. Previously dingo ran ValidateTxFunc on all transactions regardless of the isValid flag, causing phase-1 UTxO validation rules to reject the block (e.g. bad inputs, value not conserved) because they checked the regular inputs which were never consumed on-chain. Gate the ValidateTxFunc call on tx.IsValid() so phase-2 failed TXs are recorded with their collateral effects without triggering spurious block validation failures. Signed-off-by: wcatz <[email protected]>
Revert connection-recycle-on-resync (43306a9) and keep-idle-ownership (0e1b479) to restore same-connection chainsync restart and idle header owner release. Change the plateau detector to publish ChainsyncResyncEvent instead of ConnectionRecycleRequestedEvent so it restarts the chainsync client on the same TCP connection rather than killing it. The old approach caused a race where the replacement connection's lookup entry was destroyed by the previous connection's deferred keep-alive cleanup, permanently killing the header pipeline. Convert the genesis hash mismatch after mithril bootstrap from a hard error to a warning log so dingo can start cleanly on a mithril-seeded PVC. Signed-off-by: wcatz <[email protected]>