跳转到主要内容

在测试Brownie项目时生成ERC20辅助对象。

项目描述

brownie-token-tester

在测试Brownie项目时生成ERC20辅助对象。

依赖关系

安装

通过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 参数用于在调用 approvetransfertransferFrom 成功时设置令牌的返回值。有效值是 TrueFalseNone
  • fail 参数用于设置上述方法调用失败时令牌的行为。如果交易应回滚,请使用 "revert";如果想要返回值而不回滚,请使用 TrueFalseNone

生成的部署符合 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-py3-none-any.whl (9.5 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面