• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tari-project / tari / 5412762714 / 1
62%
development: 62%

Build:
DEFAULT BRANCH: development
Ran 29 Jun 2023 02:03PM UTC
Files 703
Run time 38s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jun 2023 01:27PM UTC coverage: 75.963% (+0.03%) from 75.934%
5412762714.1

push

github

web-flow
fix(core/transactions)!: consistent output/kernel versions between sender and receiver (#5553)

Description
---
* Added new fields `kernel_version` and `output_version` in
`SingleRoundSenderData`
* Updated `protobuf` messages and conversions for the new fields in
`SingleRoundSenderData`
* Sender never uses the versions provided by the receiver (e.g. in
signatures), only uses its own versions
* Receiver checks (and uses) the versions provided by the sender. Raises
an error if the version is not in the allowed range of the consensus
constants.
* Implemented the `Default` trait in kernel and output version structs
for convenience

Motivation and Context
---
Ref https://github.com/tari-project/tari/issues/5536

When doing a new transaction, the sender protocol must enforce
consistent output and kernel versions between senders and receivers.
This is needed to prevent invalid signatures if wallet versions
mismatch.

We need to make sure that:
* All information signed in the challenge of the metadata and kernel
signatures are sent over to the receiver to be used and checked
* If the receiver does not support the sender's versions, the
transaction should be failed
* The sender never uses the receiver versions when building a challenge

How Has This Been Tested?
---
New unit test to check expected behaviour on mismatched versions between
sender and receiver.

Manual testing is tricky here, would involve spawning a sender and
receiver with mismatched versions (probably by hardcoding values) and
try sending transactions between them.

What process can a PR reviewer use to test or verify this change?
---
Manual testing with mismatched versions between transaction sender and
receiver

Breaking Changes
---

- [ ] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [x] The transaction protocol messages (`protobuf`) formats have new
extra fields

**⚠ BREAKING CHANGE: old wallets... (continued)

70204 of 92419 relevant lines covered (75.96%)

203974.19 hits per line

Source Files on job 5412762714.1
  • Tree
  • List 0
  • Changed 282
  • Source Changed 21
  • Coverage Changed 276
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 5412762714
  • 74f9c35f on github
  • Prev Job for on development (#5405345624.1)
  • Next Job for on development (#5416808918.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc