SuperAPI AI 工具集

cairo-coding

编程与开发

查看项目

更新于 10-15 23:45

技能介绍

用途:为编写和优化 Cairo 函数提供规则与模式,来源为审计发现与生产环境性能剖析。适用于实现算术(取模、奇偶判断、商余)、优化循环、拆分或拼装整数 limb(u256→u128、u32s→u128、felt252→u96)、将结构体字段打包进存储槽、使用 BoundedInt 做编译期边界算术、选择整数类型。不适用于性能剖析与基准测试。

主要能力:给出 12 条速查规则,例如用 DivRem::div_rem 合并商与余数、循环条件用 != 而非 <、2 的幂用 match 查表、用 pop_front/for/multi_pop_front 迭代、循环外缓存 .len()、用 span.slice() 切片、奇偶与折半用 DivRem、选最小整数类型、用 StorePacking 打包存储槽、limb 处理用 BoundedInt、双输入 Poseidon 用 hades_permutation、批量 felt252 转 BoundedInt 用 u128s_from_felt252 加 upcast。

使用方式:按规则替换低效写法;BoundedInt 需从 corelib_imports 导入指定符号,并用配套 CLI 工具 bounded_int_calc.py 计算边界,例如 python3 bounded_int_calc.py add 0 12288 0 12288。函数签名应全程使用 BoundedInt 类型以避免 downcast 开销,仅在系统入口处转换。

限制:bounded_int_div_rem 不支持负下界,需用 SHIFT 模式;BoundedInt 边界上限为 2^128;upcast 仅在目标范围是源范围超集时可用;try_into().unwrap() 在展开代码中会造成 Sierra 膨胀。资料未提供收费、价格与平台信息。