August 10, 2023

By swvheerden

Network rollover

The Tari network upgrade schedule calls for a network rollover every 8 weeks. This week marks a designated rollover juncture, which means that Nextnet will transition to Stagenet, and Development will move to Nextnet. These rollovers do not typically entail a hardfork. This time, however, all three test networks will be reset with a fresh Genesis block as we roll out some new features.

Stagenet

The notable highlights of the upcoming changes to Stagenet are:

Enhanced Transaction Flexibility (45685b9f): We’re excited to announce that Console Wallets now have the ability to perform burn transactions directly. Previously, this functionality was exclusively available via the CLI.

Improved Wallet Base_node Monitoring (c704890c): We’ve dedicated resources to significantly improving the monitoring of wallet base_node interactions, leading to a more seamless user experience.

Introducing Chat Library (5b09f8e2): In line with expanding the capabilities of the Tari network, we’ve incorporated a chat library that enables applications to engage in peer-to-peer (p2p) chat across the Tari network. This addition broadens the utility and potential use cases for the platform.

Features

  • refactor configuration for chat so ffi can create and accept a config file (#5426) (9d0d8b52
  • add metadata signature check (#5411) (9c2bf41e
  • improved base node monitoring (#5390) (c704890c)
  • add optional range proof types (#5372) (f24784f3
  • added burn feature to the console wallet (#5322) (45685b9f)
  • chat ffi (#5349) (f7cece27
  • add miner timeout config option (#5331) (aea14f6b
  • improve message encryption (#5288) (7a80716c
  • chat scaffold (#5244) (5b09f8e2)
  • p2p: allow listener bind to differ from the tor forward address (#5357) (857fb555

Bug Fixes

  • use mined at timestamp in fauxconfirmation (#5443) (f3833c9f
  • fix custom wallet startup logic for console wallet (#5429) (0c1e5765
  • use domain separation for wallet message signing (#5400) (7d71f8be
  • don’t use in memory datastores for chat client dht in integration tests (#5399) (cbdca6fc
  • loop on mismatched passphrase entry (#5396) (ed120b27)
  • deeplink to rfc spec (#5342) (806d3b8c)
  • fix panic when no public addresses (#5367) (49be2a27
  • remove wallet panic (#5338) (536d16d2)
  • added missing log4rs features (#5356) (b9031bbb
  • add SECURITY.md Vulnerability Disclosure Policy (#5351) (72daaf5e
  • make the first output optional in the wallet (#5352) (bf16140e)
  • wallet .h file for lib wallets (#5330) (22a3a17d)
  • clippy issues with config (#5334) (026f0d5e
  • default network selection (#5333) (cf4b2c8a
  • allow public addresses from command line (#5303) (349ac895
  • comms:
    • validate onion3 checksum (#5440) (0dfdb3a4
    • only set final forward address if configured to port 0 (#5406) (ff7fb6d6
  • wallet-ffi: don’t block on start (#5437) (27fe8d9d

Nextnet

During this period, a wide range of bugs, addressing issues from refining the mempool’s handling of zero-confirmation transactions to resolving malleability bugs present in the headers, have been addressed.

A notable improvement in the wallet recovery process is worth highlighting. There is a transition away from the practice of rewinding the bulletproof, opting for a more streamlined approach: now, the blinding factor and value on the UTXO are simply encrypted, enhancing the efficiency of the recovery mechanism.

Additionally, there is a noteworthy enhancement to the Tari layer - the incorporation of a chat FFI client tailored specifically for peer-to-peer (p2p) chat messaging. This addition significantly enhances the communication capabilities within the Tari network, enriching the overall user experience.

The full list is available below:

Features

  • fix formatting block (#5630) (49732f65)
  • remove unused wasm_key_manager (#5622) (508c9719)
  • remove orphan validation and only validate on insertion (#5601) (41244a3e)
  • ban peer unexpected response (#5608) (02494aee)
  • add mempool min fee (#5606) (15c7e8f9)
  • chat-ffi logging (#5591) (159959cc)
  • chat message fetching pagination (#5594) (20243574)
  • new message callback to chat-ffi (#5592) (bbd543ee)
  • chat ffi status callback (#5583) (f68b85f4)
  • peer sync limiter (#5445) (548643b7)
  • proof of work audit part 2 (#5495) (af32f96f
  • improve recovery speed (#5489) (d128f850)
  • sparse merkle trees (#5457) (f536d219
  • ui for template registration in console wallet (#5444) (701e3c23)

Bug Fixes

  • minor fixes for multiple address support (#5617) (efa36eb7)
  • error out the stx protocol if the sender sends unsupported data (#5572) (8a085cde)
  • sorted edge case (#5590) (f7b21930)
  • check bytes remaining on monero blocks (#5610) (1087fa9d)
  • duplicate tari header in monero coinbase (#5604) (f466840a)
  • monero fork attack (#5603) (9c81b4d8)
  • miner delay attack (#5582) (bece2d0b)
  • peer connection to stale nodes (#5579) (eebda00b)
  • update peers seed for esme (#5573) (0f6b7504)
  • sparse Merkle tree key querying (#5566) (623839f5)
  • comms: check multiple addresses for inbound liveness check (#5611) (3937ae42)
  • core: always pass the correct timestamp window to header validatior (#5624) (29700c3d)
  • mempool should use the correct version of the consensus constant (#5549) (46ab3ef0)
  • mempool fetch_highest_priority_txs (#5551) (f7f749c4
  • remove optional timestamp verification bypass (#5552) (b5a5bed2)
  • update code coverage approach (#5540) (7a9830ed
  • use correct TOML field for console wallet network address (#5531) (70763dde
  • llvm-tools installed correctly (#5534) (4ab4b965)
  • push test coverage even if some tests fail (#5533) (053c748d
  • console-wallet: fix possible subtract underflow panic in list (#5535) (8d5e8e6e
  • core: disable covenants for all networks except igor and localnet (#5505) (308f5299
  • add a not before proof (#5560) (11f42fb0
  • borsh sized serialization should be fallible (#5537) (53058ce2
  • add documentation to covenant crate (#5524) (442d75b0
  • covenants audit (#5526) (dbb59758
  • mmr: support zero sized balanced merkle proof (#5474) (ef984823
  • wallet: use correct output features for send to self (#5472) (ce1f0686