1作者: Pushkarm029大约 2 个月前原帖
我一直在审计 Sui Move 合约,并不断发现一些微妙的错误,这些错误在 Move 强大的类型系统下依然会被漏掉。我很好奇其他人是否遇到过类似的问题。 热土豆模式与意外的“丢弃”: 该模式依赖于没有能力的结构体来强制显式消费。但我发现开发者们经常不小心添加“有丢弃”: ```move struct FlashLoanReceipt has drop { // 错误:现在可以被忽略 pool_id: ID, amount: u64, } ``` 现在这个收据会被自动丢弃,代币不会被退回。我在生产代码中发现了这个问题,就在部署之前。 缺少幻影类型参数: 收据没有绑定到正在使用的币种类型: ```move struct PaymentReceipt { // 缺失:幻影 CoinType amount: u64, } ``` 有人可能会用毫无价值的 ScamCoin 付款,获得收据,然后索取真实物品。添加“幻影 CoinType”可以解决这个问题,但很容易被忽视。 Option<T> 与不可丢弃类型: 即使是空的 Options,如果它们包装了不可丢弃的类型,也需要显式调用 `option::destroy_none()`。这让人感到意外。 相关事件:Cetus 事件(2.2 亿美元,2025 年 5 月) 这个错误不在 Cetus 的代码中,而是在一个数学库依赖的 integer-mate 中。三次审计仔细检查了能力注释,但忽略了依赖项。类型安全防止了整个漏洞类别,但无法捕捉到位移验证错误。 Move 的类型系统确实比其他替代方案更好,但在热土豆上添加“有丢弃”并不会产生警告——它只是默默地工作。代币上的“复制 + 丢弃”也是如此。 我已经开始将能力注释视为代码中最关键的安全部分,而不仅仅是样板。 你在 Move 开发中见过哪些错误?除了能力之外,还有其他模式让人困惑吗?我很想听听你或你的团队遇到的情况。
2作者: cryptography大约 2 个月前原帖
我一直在使用Cursor,真心想了解一些事情。 当你粘贴一个损坏的用户界面的截图时,它能立即识别出不对齐的div或填充问题——这实际上是在进行视觉分析,还是仅仅是在与训练数据中的常见用户界面错误进行模式匹配? 这种速度似乎快得几乎不符合真实的视觉处理。而且它似乎以一种不同于仅仅描述图像的方式理解空间关系和布局。 这些工具是使用标准的视觉模型,还是有预处理?图像与周围代码上下文的贡献比例是多少? 有没有人知道背后实际发生的技术细节?
1作者: qxsp大约 2 个月前原帖
我之所以构建这个工具,是因为我需要一种方法来查看我的提前还款在一段时间内能节省多少利息。<p>我发现的大多数网站都是专为美国用户设计的,这对我并没有帮助。因此,我创建了一个在贷款数据方面具有更多灵活性的工具。<p>任何反馈都非常感谢。
1作者: RenzMc大约 2 个月前原帖
大家好!<p>我想向大家介绍 RenzmcLang,这是一种使用印尼语的编程语言。学习编程变得更加简单,因为它的语法使用了熟悉的词汇,同时仍然可以创建实际的程序。<p>主要特点: - 易于理解的印尼语语法 - 面向对象编程(类、构造函数、方法) - 与 Python 的直接集成<p>快速示例: # 简单类 类 学生: 构造函数(姓名, 学号): 自己.姓名 = 姓名 自己.学号 = 学号 完成<p><pre><code> 方法 信息(): 显示 f&quot;姓名: {自己.姓名}, 学号: {自己.学号}&quot; 完成</code></pre> 完成<p>mhs1 = 学生(&quot;Budi Santoso&quot;, &quot;12345&quot;) mhs1.信息()<p>快速安装: pip install renzmc<p>你们的建议和想法将帮助 RenzmcLang 变得更加有用。