#cli-tool #generate #optimal #byte #css-selectors #solidity #zero

app selectoor

一个易于使用的CLI工具,用于生成Solidity智能合约的最佳函数选择器

1 个不稳定版本

0.1.0 2023年1月3日

#15#optimal

MIT/Apache

365KB
448 代码行

Selectoor

Selectoor是一个CLI工具,用于生成最佳函数名称,以便Solidity函数选择器具有大量零字节。这有助于通过更便宜的零字节calldata降低调用函数的gas费用。

selectoor

安装

要安装此工具,首先克隆仓库。

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