This is an attempt to document the plan for pending refactors to Populus.
[ ] Change populus to use eth-tester for testing.
[ ] Remove need for project.json in project directory.
[ ] Don't default to populating ~/.populus/config.json with the default populus config.
[ ] Remove $refs from config
[ ] Change to have an empty project.json result in the same current config.
[ ] Support for multiple compilers in the same project.
[ ] Remove the Chain API entirely.
[ ] Remove the scripts that setup local test chains.
[ ] Remove py-geth as a dependency.
[ ] Move web3 pytest fixtures out of Populus and into eth-tester or maybe web3.py
[ ] Change compiled asset format to be valid minimal ERC190 package.
[ ] Refactor Contract Backend API (TODO: flesh this out)
Things to figure out:
How can the populus config be flattened?
How does config deal with the situation where there are multiple web3 connections to the same chain and they all need to share configuration values like the address of the ENS resolver or the address of a package registry.
What parts of the linking logic can be moved down into the Contract object.
This is an attempt to document the plan for pending refactors to Populus.
eth-tester
for testing.project.json
in project directory.~/.populus/config.json
with the default populus config.$refs
from configproject.json
result in the same current config.Chain
API entirely.py-geth
as a dependency.web3
pytest fixtures out of Populus and intoeth-tester
or maybeweb3.py
Things to figure out:
Contract
object.