Once enabled, the module allows safe owner addresses to transfer tokens to a whitelisted address with a single transaction.
- The whitelisted address is initialised at deployment
- Any payable address can be the whitelisted address
- The whitelisted address is not modifiable
- Only safe owners addresses are authorized to send transactions (no delegates, no external addresses (with owners signatures) submitting transactions)
- The authorized addresses correspond to the safe owner addresses at the time of the transaction
- Only Ether and ERC20 token transfers allowed
Please install or have installed the following:
- Install Brownie, if you haven't already. Here is a simple way to install brownie.
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# restart your terminal
pipx install eth-brownie
Or, if that doesn't work, via pip
pip install eth-brownie
For local testing install ganache-cli
npm install -g ganache-cli
or
yarn add global ganache-cli
If you want to be able to deploy to testnets, do the following.
Set your WEB3_INFURA_PROJECT_ID
, and ETHERSCAN_TOKEN
.
You can get a WEB3_INFURA_PROJECT_ID
by getting a free trial of Infura. At the moment, it does need to be infura with brownie. If you get lost, you can follow this guide to getting a project key.
You can get a ETHERSCAN_TOKEN
by registering at Etherscan.
You could also set your PRIVATE_KEY
, which you can find from your ethereum wallet like metamask.
- Run Tests on Mainnet forked network:
brownie test --network mainnet-fork