Sui主网升级至V1.5.0版本

Sui主网现已升级至V1.5.0版本,升级要点如下所示:

#12676

协议版本更新至v18。gas费的最低预算已更改为与最低收费相同。在之前的版本中,提供的最低预算可以低于最低交易费用,在这种情况下,交易会因gas费不足而交易失败。但是当提供了多个gas coins时,gas coins仍然会被合并。实际上,可以在低于最低收费的情况下执行合并操作。通过当前的更改,只有预算覆盖了最低收费的交易才会被接受。需要指出的是,任何之前成功的交易在gas费方面不会有任何变化。换句话说,这一更改的影响范围仅限于之前由于“gas费不足”导致失败的特定交易,而这些交易现在将无法进入系统。

#12515 #12821

Sui Kiosk的kiosk::purchase_with_cap方法不再发出ItemPurchased事件,此更新影响较小。如果您的应用程序逻辑确实依赖于此事件,则必须将其更改为使用自定义事件。

#12276

coin_api中的无效coin_type输入现在会产生-32602错误代码,而不再是默认的-32000错误代码,并且错误字符串以“Invalid struct type”开头。同样,如果提供的cursor无效(使用语言“cursor not found”)或者不是一个coin(使用语言“cursor is not a coin”),也会返回-32602错误代码。错误信息略有修改:

  • ”Invalid Cursor {:?}, Object is not a coin” -> “cursor is not a coin”
  • ”Invalid Cursor {:?}, Object not found” -> “cursor not found”

这是整体计划的一部分,旨在使JSON-RPC错误更具操作性,通过将错误分为三个错误代码:-32602用于指示任何面向客户端的错误,-32000用于指示非关键服务器和通用错误,以及-32603用于指示关键错误。

#12650

开发者现在可以通过在CLI中指定-lint标志,来选择在构建/测试/发布/升级软件包时运行代码检查工具。

#12648 #12600

在此更新之前,TransactionEffects中的unwrapped_then_deleted字段仅包含之前在存储中存在的已解包然后删除的对象(即在其生命周期中曾被解包过的对象)。如果某个对象从创建开始就一直处于包装状态,从未被解包过,那么它将不会出现在unwrapped_then_deleted中。通过这次更改,我们不再做出这种区分。只要一个对象在交易中被解包然后删除,无论其历史如何,它都会显示在effect中。这显著简化了处理它们的逻辑。

为了准确地维护系统状态,在发生此升级时,我们必须在epoch边界重新累积存储中所有对象的状态根哈希,该过程在主网上需要几秒钟。测试网可能需要更长的时间(30秒至1分钟),因为它包含的对象数量更多。在应用此项更改时,用户可能会观察到网络在epoch更改期间出现短暂的减速。

#12425

编译器将对未使用的私有函数和未使用(未实例化)的结构类型提供额外的警告。

完整更新日志请查看:Commits · MystenLabs/sui · GitHub


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网TwitterDiscord英文电报群中文电报群

猜你喜欢

转载自blog.csdn.net/Sui_Network/article/details/131848791