1 个不稳定版本
0.1.0 | 2023年1月3日 |
---|
#15 在 #optimal
365KB
448 代码行
Selectoor
Selectoor是一个CLI工具,用于生成最佳函数名称,以便Solidity函数选择器具有大量零字节。这有助于通过更便宜的零字节calldata降低调用函数的gas费用。
安装
要安装此工具,首先克隆仓库。
git clone [email protected]:AdithyaNarayan/selectoor.git
使用cargo
全局安装此工具。
cargo install --path selectoor
用法
安装后,二进制文件将作为selectoor
可用。
使用--help
拉起帮助屏幕
selectoor --help
selectoor generate --help
目前,该工具支持使用-s
标志提供可读的abi或函数签名,以及使用-
标志提供的生成ABI JSON工件。
selectoor generate -s "transfer(address _to, uint256 _amount)"
CLI将自动删除变量名称并生成具有最佳选择器的函数签名列表。
CLI通过生成固定长度的函数名前缀来完成此操作,以在不损害可读性的同时保持低gas费用。例如:transfer(address,uint256)
-> transfer_XXXX(address,uint256)
特性
- 生成带后缀的签名
- 解析可读签名
- 读取abi文件并为所有外部函数生成最佳签名
- 找到第一个匹配签名时停止搜索
-
selectoor fmt
修改所有*.sol
文件并替换函数签名
请随时提出更多功能的pull request或问题。
依赖关系
~22–37MB
~581K SLoC