Skip to content

devnet-v1.7.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@quepcompute quepcompute released this 07 Aug 19:41
· 5308 commits to main since this release
362c5c3

What's Changed

#13294:
Enables a narwhal_new_leader_election_schedule flag for the new Narwhal leader schedule algorithm, which provides enhanced fault tolerance and sets the bad node stake threshold value. This flag is available for all networks, except Mainnet.

#12915:
The protocol version is bumped to version 20
Adds the Kiosk Extensions API and a new sui::kiosk_extension module in the Sui Framework.
You can sue the API to build custom Kiosk applications to extend capabilities of base Kiosk. Beyond simple practices of exposing the &mut UID, the Kiosk Extensions API provides enhanced functionality and guarantees to Kiosk extensions, including:

  1. Isolated storage for each extension that belongs to the extension.
  2. Ability to request permissions to place or lock and place items into a user's kiosk.
  3. Ability to disable / turn off an extension at any time (with owner permissions) while retaining access to its storage.
  4. Ability to remove extensions that don't contain any data.

This update also changes access to the UID:

  1. kiosk::uid_mut is now disabled by default.
  2. kiosk::uid is always available for reads.
  3. kiosk.allow_extensions is set to false by default.

Improved getters:

  1. kiosk::kiosk_owner_cap_for - allows reading the KioskOwnerCap.for field

#13112:
When building Move code, new compiler warnings that point to unused function type parameters might appear.

#13267:
The source verification failure warning from package publish and upgrade CLI commands has improved formatting and suggests ways to fix the issue or silence the warning.

#13086:
When building Move code new compiler warnings may appear pointing towards unused struct fields

#13213:
When the order_price and order_quantity are small enough that there is a rounding down of
the balance, a custodian that tries to cancel their limit order leaves a single MIST in their locked_balances.

To resolve this, Sui rounds up to fully remove the locked balance from the account.

#13196:
This PR modifies the CLI keytool as follows:

  • Adds support for json output. Use the --json flag when invoking any keytool command (such as keytool list --json).
  • Changes the default output to the terminal to formatted tables with headers to improve consistency across different commands. Use --json if you need to parse/pipe output data.
  • Removes the following seven commands, which you can replace by calls to the base64 and xxd utilities:
Base64PubKeyToAddress
BytesToBase64
Base64ToBytes
Base64ToHex -> input | base64 -d | xxd -p
BytesToHex
HexToBase64 -> input | xxd -r -p | base64
HexToBytes

#13144:
When building Move code, additional linter warnings related to structs containing fields of type sui::coin::Coin may appear. The goal of this linter is to encourage developers to use fields of type sui::balance::Balance instead as this solution is more space-efficient.

#13090:
With Deepbook, instead of emitting a single event per request to cancel, Sui now emits one large CancelOrders event at the end of the order matching loop, as well as at the end of cancel_all_orders.
This change is motivated by the fact that one can have MoveAborts that occur because there is an emitted event limit on transaction execution. An example error is https://suiexplorer.com/txblock/Ck3g7SJMCVDEgHXHP9jMAU4EDzHQGXkstxqwPiQ2CxgR?network=testnet

MovePrimitiveRuntimeError(MoveLocationOpt(Some(MoveLocation { module: ModuleId { address: 0000000000000000000000000000000000000000000000000000000000000002, name: Identifier("event") }, function: 0, instruction: 0, function_name: Some("emit") }))) in command 0

#13127:
If you used the new linters introduced in PR #12650, you might have seen warnings for the Sui standard library. This update suppresses those warnings.

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