Python >=3.8.0, <=3.10
Yarn
Node.js >=14
Hardhat
git clone https://github.com/user/tokenized-strategy-ape-mix
cd tokenized-strategy-ape-mix
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
yarn
ape plugins install .
ape compile
ape test
export WEB3_INFURA_PROJECT_ID=your_infura_api_key
export ETHERSCAN_API_KEY=your_api_key
Deployment of periphery contracts such as the Registry Factory or Address Provider are done using a create2 factory in order to get a deterministic address that is the same on each EVM chain.
This can be done permissionlessly if the most recent contract has not yet been deployed on a chain you would like to use it on.
- Add an Ape account
- Go to the contracts specific deployment script under
scripts/
and add your account name to theaccounts.load("you_acct_name")
at the top of the script. - Run the deployment script
ape run scripts/deploy_contract_name.py --network YOUR_RPC_URL
- For chains that don't support 1559 tx's you may need to add a
type="0x0"
argument at the end of the deployment tx.- ie
tx = deployer_contract.deploy(bytecode, salt, sender=deployer, type="0x0")
- ie
- For chains that don't support 1559 tx's you may need to add a
- The address the contract was deployed at will print in the console and should match any other chain the same version has been deployed on.