ethereum / populus

The Ethereum development framework with the most cute animal pictures
http://populus.readthedocs.org/
321 stars 321 forks source link

Provider and Registrar refactory #411

Open pipermerriam opened 6 years ago

pipermerriam commented 6 years ago

What was wrong?

Primary things that are being fixed here.

  1. Dependency on the Chain class which is slated to be deprecated.
  2. Registrar and Provider API should be independent.
  3. Provider access to registrar should be done via provider backend API.

How it should be fixed.

Step 1

Minimal code change to remove chain as dependency and switch to constructor taking web3, registrar and provider_backends.

Step 2

Refactor provider API to use minimal ERC190 package spec to store serialized packages.

Step 3

Decouple provider and registrar into independent backend APIs.

The term contract_identifier in these apis should use scheme similar to the one laid out in https://github.com/ethereum/populus/issues/373 for differentiating between which contract is being retrieved.