ape-safe:Ape的Gnosis Safe账户插件
项目描述
快速入门
Safe多签钱包(之前称为Gnosis Safe)的账户插件(针对Ape)。
依赖关系
- python3 版本 3.9 到 3.12。
安装
通过 ape
您可以使用 ape 内置插件管理器进行安装
$ ape plugins install safe
通过 pip
您可以通过 pip
安装最新版本
$ pip install ape-safe
通过 setuptools
您可以克隆存储库并使用setuptools
来获取最新版本
$ git clone https://github.com/ApeWorX/ape-safe.git
$ cd ape-safe
$ python3 setup.py install
快速使用
要使用此插件,首先使用CLI扩展添加您创建的安全
ape safe add --network ethereum:mainnet "my-safe.eth" my-safe
如果您犯错或需要删除安全,请使用remove
命令
ape safe remove my-safe --yes
注意 --yes
是一种跳过提示的方式。
如果您只添加了一个安全,则无需指定要使用哪个安全来运行其他命令。否则,对于大多数pending
命令,您可以通过--safe
选项(通过别名)指定要使用的安全。
此外,您可以在ape-config.yaml
文件中配置一个作为默认值使用的安全
safe:
default_safe: my-safe
注意:另外,为了避免总是需要指定--network
,您可以在配置文件中设置默认生态系统、网络和提供者。本指南的其余部分将不会在每个命令中指定--network
,但假设正确的设置已在配置文件中。以下是一个示例
default_ecosystem: optimism
ethereum:
default_network: sepolia
sepolia:
default_provider: infura
一旦您有了安全,您就可以查看挂起的交易
ape safe pending list
它应该显示如下交易
Transaction 8 rejection (1/2) safe_tx_hash=0x09ab9a229fc60da66ec0fa8fa886ab7c95902fdf5df5a5009ba06010fbb9a9a7
Transaction 8 transfer (1/2) safe_tx_hash=0xed43d80255bcd5ffacb755e8f51bee825913373705d6baea006419d2a33a0a5b
注意:使用--verbose
标志可以查看每个交易更详细的信息。
ape safe pending list --verbose
您可以在挂起的交易上执行几种操作。其中之一是“批准”,这会将您的本地签名者的签名添加到交易中。
ape safe pending approve 0x09ab9a229fc60da66ec0fa8fa886ab7c95902fdf5df5a5009ba06010fbb9a9a7
注意:在此处,我们使用交易哈希0x09ab9a229fc60da66ec0fa8fa886ab7c95902fdf5df5a5009ba06010fbb9a9a7
来指定交易,因为存在多个交易。但是,如果您只有一个交易,您也可以使用nonce。
如果您想同时执行和批准,可以在批准时使用--execute
选项并指定发送者
ape safe pending approve 2 --execute my_account
否则,您可以直接使用execute
命令
ape safe pending execute 2
注意:execute
需要一个完整的已签名交易,准备在链上提交。
最后一个主要操作是reject
。拒绝交易会将该交易替换为安全向自己发起的零值转账。
ape safe pending reject 2
多发送
以下示例显示了如何使用多发送
from ape_safe import multisend
from ape import accounts
from ape_tokens import tokens
safe = accounts.load("my-safe")
# Load some contracts (here using ape-tokens)
dai = tokens["DAI"]
vault = tokens["yvDAI"]
amount = dai.balanceOf(safe) # How much we want to deposit
# Create a multisend transaction (a transaction that executes multiple calls)
txn = multisend.MultiSend()
txn.add(dai.approve, vault, amount)
txn.add(vault.deposit, amount)
# Fetch signatures from any local signers, and broadcast if confirmations are met
# Note that in case the user intends to only stage a transaction, then `submit=False` argument can also be added
# It is normal that when a user only intend to stage a transaction, an error is thrown
# this can be ignored by including the necessary try-catch (from ape.exceptions import SignatureError)
# Note that transaction is automatically prompted for execution if enough signers are available in local
txn(sender=safe,gas=0)
开发
请参阅贡献指南以了解更多关于如何为此项目做出贡献的信息。评论、问题、批评和拉取请求都受到欢迎。
致谢
本包受到了原始ape-safe的启发,由banteg编写。对于v0.6.0之前的版本,应参考原始包。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
构建分布
ape-safe-0.8.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1bf9a5be971aada52a794fa1ae973be0c8e2ce95964fd6a3591608b5025fc9f3 |
|
MD5 | f6ce8db4df2424ea956f30afe1fd55b4 |
|
BLAKE2b-256 | 8de536c4632a122ecd2caf7eb3f35f1a841d19757d90203ba575fcd98c698506 |
ape_safe-0.8.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ec5dca930d1aa991ad61ec17d7e2ca2d6e4c2ca8105008816f71b6fb7871fab |
|
MD5 | a0f3c8889594a0f1b7adc09ad9f1dbff |
|
BLAKE2b-256 | 3764bc8b2bb586ee7a8e470dcb84681560f8afa70e57ccbd6e2715b6f5780734 |