在测试Brownie项目时生成ERC20辅助对象。
项目描述
brownie-token-tester
在测试Brownie项目时生成ERC20辅助对象。
依赖关系
- python3版本3.6或更高,python3-dev
- brownie版本1.11.6或更高
- ganache-cli版本6.11.0或更高
安装
通过pipx
如果您使用pipx
安装了Brownie,您需要将brownie-token-tester
添加到相同的虚拟环境
pipx inject eth-brownie brownie-token-tester
通过pip
您可以通过pip
安装最新版本
pip install brownie-token-tester
通过setuptools
您可以通过克隆存储库并使用setuptools
安装最新版本
git clone https://github.com/iamdefinitelyahuman/brownie-token-tester.git
cd brownie-token-tester
python3 setup.py install
快速使用
从Brownie测试、脚本或控制台导入库
from brownie_tokens import ERC20, MintableForkToken
然后您可以使用以下功能
ERC20
为测试目的部署通用ERC20合约。
def ERC20(
name: str = "Test Token",
symbol: str = "TST",
decimals: int = 18,
success: Union[bool, None] = True,
fail: Union[bool, str, None] = "revert",
) -> Contract:
success
参数用于在调用approve
、transfer
或transferFrom
成功时设置令牌的返回值。有效值是True
、False
和None
。fail
参数用于设置上述方法调用失败时令牌的行为。如果交易应回滚,请使用"revert"
;如果想要返回值而不回滚,请使用True
、False
或None
。
生成的部署符合 ERC20 令牌标准,并且还实现了一个非标准方法。
def _mint_for_testing(target: address, amount: uint256): nonpayable
此方法通过 amount
增加目标账户的余额。任何账户都可以调用此方法。
MintableForkToken
MintableForkToken
用于在 分叉主网 环境中标准化令牌铸造过程。该 MintableForkToken
类继承自 Contract
类,并且可以与 Contract
类互换使用。它公开了一个额外的方法 _mint_for_testing
,其 API 与上面提供的一样。
对于实现了自定义逻辑的令牌,这是一个实际的铸造事件。对于大多数令牌,"铸造"过程涉及查询 Ethplorer API 以获取顶级令牌持有者列表,然后将他们的余额转移到 target
。如果您想排除某些持有者,请使用 skip_holders(*addresses)
。如果您一次请求太多,请设置环境变量 $ETHPLORER_API_KEY
(请参阅 ethplorer.io)。
已实现自定义逻辑的令牌
- Aave 令牌
- DAI
- EURS
- LinkUSD
- pBTC
- Synthetix synths
- renBTC
- renZEC
- rETH
- RSV
- USDC
- USDN
- USDT
- tBTC
- wBTC
- wZEC
开发
该项目仍处于早期开发阶段,应被视为 alpha 版本。欢迎评论、提问、批评和拉取请求。
许可证
该项目遵循 MIT 许可证。
项目详情
下载文件
根据您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分发
brownie-token-tester-0.3.2.tar.gz (9.8 kB 查看哈希值)
构建分发
关闭
brownie-token-tester-0.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3a131293f2ac2c230707c6d0f18e930eebdd27f05a40c05f230db7c2039bf0b |
|
MD5 | 756d1862a83e8af6e6ef87cde7d6809e |
|
BLAKE2b-256 | ce7256557351f76a620bf118b8dccaa68c63e79055bdf6d72bb19ce4507bfbdf |