Sui主网现已升级至V1.7.1版本,此升级包含了多项修复和优化。升级要点如下所示:
#12915
协议版本提升至20版本。
在Sui框架中新增Kiosk Extensions API和一个新的sui::kiosk_extension模块。
您可以使用该API构建自定义的Kiosk应用程序,以扩展Kiosk基本功能。除了简单地介绍&mut UID的用法,Kiosk Extensions API还为Kiosk扩展提供了增强功能和保证,包括:
- 隔离存储属于该extension的每个扩展
- 将请求place、或请求lock+place权限下放到用户的kiosk中
- 在保留对其存储的访问权限的情况下,随时禁用/关闭扩展(需要具有所有者权限)
- 能够移除不包含任何数据的扩展
此更新还更改了对UID的访问:
- kiosk::uid_mut现在默认禁用
- kiosk::uid始终可供读取
- kiosk.allow_extensions默认设置为false
改进get方法:
- kiosk::kiosk_owner_cap_for --- 允许读取KioskOwnerCap.for字段
#13294
为新的Narwhal领导者调度算法启用narwhal_new_leader_election_schedule标志,该算法增强了容错性并设置了恶意节点的质押阈值。此标志适用于除了主网之外的所有网络。
#13112
在构建Move代码时,可能会出现指向未使用函数类型参数的新编译器警告。
#13267
升级后,来自软件包发布和升级CLI命令的源代码,改进了验证失败时的警告格式,以及建议修复问题或消除警告的方式。
#13086
在构建Move代码时,可能会出现新的编译器警告,指向未使用的结构体字段。
#13213
当order_price订单价格和order_quantity订单数量足够小,以至于余额需要进行取舍时,尝试取消限价单的保管人会在其locked_balances锁定余额中留下一枚MIST。
为了解决这个问题,Sui会进行四舍五入,升级后将完全从账户中清除锁定余额。
#13196
此PR对CLI keytool进行了以下修改:
-
添加了对json输出的支持。在调用任何keytool命令(例如keytool list --- json)时使用 --- json标志
-
将默认输出更改为终端中的格式化表格,带有标题,以提高不同命令之间的一致性。如果需要解析/管道输出数据,请使用 --- json
-
删除了以下七个命令,您可以用base64和xxd工具的调用来代替:
Base64PubKeyToAddress
BytesToBase64
Base64ToBytes
Base64ToHex -> input | base64 -d | xxd -p
BytesToHex
HexToBase64 -> input | xxd -r -p | base64
HexToBytes
#13144
在构建Move代码时,可能会出现与包含sui::coin::Coin类型字段的结构体相关的额外linter警告,其目标是鼓励开发人员使用sui::balance::Balance类型的字段,这种解决方案更节省空间。
#13090
在Deepbook中,Sui在订单匹配循环结束时以及cancel_all_orders结束时会发出一个大的CancelOrders事件,而不是每个取消请求发出一个事件。
此更改是因为存在发出事件的限制,在交易执行过程中可能会有MoveAborts发生。一个示例错误是:Sui Explorer
MovePrimitiveRuntimeError(MoveLocationOpt(Some(MoveLocation { module: ModuleId { address: 0000000000000000000000000000000000000000000000000000000000000002, name: Identifier("event") }, function: 0, instruction: 0, function_name: Some("emit") }))) in command 0
#13127
如果您使用了在PR #12650中引入的新linter,您可能已经看到了Sui标准库的警告。此更新抑制了这些警告。
#13365
Move编译器将不再显示依赖项中存在的警告,这可以通过编译器标志 --- dependencies-are-root进行覆盖。
查看完整变更日志: https://github.com/MystenLabs/sui/commits/mainnet-v1.7.0
关于 Sui Network
Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac