Skip to content

devnet-0.23.0

Compare
Choose a tag to compare
@ebmifa ebmifa released this 25 Jan 17:27
· 9068 commits to main since this release

Highlights

  • Reconfiguration, stake delegation, voting power, and staking rewards are active! Most of these have worked since v0.22.0, but we did not advertise this functionality. Here are the basics:
    • Epoch changes occur every ~2.5 hours
    • At each epoch change, pending staking and un-staking actions take effect, staking rewards are distributed, and validator voting power is recomputed. All stake-related entry functions live in the sui_system module, and the Sui wallet also supports staking and un-staking.
    • By convention, total validator voting power is always 10,000, and the quorum threshold is always 6,667. This means that individual voting powers can easily be interpreted as percentages (e.g., voting power 500 = 0.5%).
    • Validator voting power is proportional to the stake, with one exception: voting power of individual voting power is capped at 1,000 (i.e., 10%) if possible. This will always be the case in a realistic Sui system, but in the 4-validator devnet we will clearly need at least one validator over the cap :).
  • We introduced several new libraries for testing Move code:
    • test_utils, which has helpful functions for asserting equality (you’ll see both values when the assertion fails!) and debug printing: (example: test_utils::print(b”we here”) )
    • test_random, which exposes a seeded pseudorandom number generator for creating test values of various types. This makes it easier to exercise a variety of different test inputs, or even write a mini-fuzzer(#7574) (we have some ideas on first-class fuzzing support in Move tests—stay tuned :)).
  • Checkpoints now have a unix timestamp in the CheckpointSummary. This can be accessed along with other checkpoint fields via sui_getCheckpointSummary
  • Epoch have epoch start unix time stamp, also accessible in Move smart contracts via the following function. This is an important step toward the long-awaited feature of fine-grained time access in Move, which is coming soon!
  • New flag (--with-unpublished-dependencies) for sui client publish and sui move build to simplify set-up after wipes by enabling packages to be published even if they have unpublished dependencies, by bundling the modules in those dependencies into the package. #7426
  • Add methods for the CoinRead endpoints #7507
  • Fix websocket default port for DevNet #7637

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.23.0