-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vendor ethPM #1379
Vendor ethPM #1379
Conversation
eb4b660
to
712605d
Compare
b8c3190
to
b9a9079
Compare
b9a9079
to
8cff826
Compare
4bd5bed
to
faaabd6
Compare
75317ce
to
5d18a70
Compare
@njgheorghita Out of curiosity, what is the reason behind relocating |
@voith Totally fair, it basically comes down to a circular dependency between |
96ba040
to
4dfec57
Compare
4dfec57
to
968cebd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, @njgheorghita! I just had one question while looking over this: what is the reasoning behind removing the pytest-ethereum dependency? Is it another circular dependency problem?
@kclowes Yup! Exactly, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I won't be able to review the ethpm
package, it's way too big. Just gave a quick scan of everything else.
.circleci/config.yml
Outdated
@@ -9,6 +9,17 @@ common: &common | |||
- restore_cache: | |||
keys: | |||
- cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }} | |||
- run: | |||
name: install ipfs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this necessary for every test now, or just the new ethpm
ones?
docs/ethpm.rst
Outdated
>>> from ethpm import Package, ASSETS_DIR | ||
>>> from web3 import Web3 | ||
|
||
>>> owned_manifest_path = ASSETS_DIR / 'owned' / '1.0.0.json' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could move this down to the next batch of lines, since it's not used yet.
>>> safe_send_tx_receipt = w3.eth.waitForTransactionReceipt(safe_send_tx_hash) | ||
|
||
>>> # Link Escrow factory to deployed SafeSendLib instance | ||
>>> LinkedEscrowFactory = EscrowFactory.link_bytecode({"SafeSendLib": to_canonical_address(safe_send_tx_receipt.contractAddress)}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having to convert to a canonical address feels out of place now that ethpm is embedded with web3.py. Seems like it should follow the same standard of the rest of web3.py: either a checksummed address or a canonical address is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, that makes sense - will take care of this in a following pr to keep review of this pr relatively simple
docs/ethpm.rst
Outdated
|
||
.. py:attribute:: LinkableContract.linked_references | ||
|
||
A list of link reference data for the runtime bytecode, if present in the manifest data used to generate a ``LinkableContract`` factory. Runtime bytecode link reference data must be present in a manifest in order to use ``pytest-ethereum``'s ``Deployer`` for a contract which requires bytecode linking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this second sentence equivalent to:
If you want to use
pytest-ethereum
'sDeployer
for a contract, then runtime bytecode link reference data must be present in a manifest.
I still don't know exactly what it means, because I've never used Deployer
. But in this phrasing, I know I don't have to worry about it, because I'm not using Deployer
.
@@ -9,7 +9,6 @@ | |||
'tester': [ | |||
"eth-tester[py-evm]==0.1.0-beta.39", | |||
"py-geth>=2.0.1,<3.0.0", | |||
"pytest-ethereum>=0.1.3a6,<1.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sweet
What was wrong?
Things that happened here (aka why is this pr so large)
py-ethpm
codebase was relocated toweb3/ethpm
pytest-ethereum
toweb3.tools.pytest_ethereum
pytest-ethereum
plugins exposed viaentrypoints
insetup.py
web3
's core dependencies onpy-ethpm
andpytest-ethereum
ethpm
ethpm
documentation has been moved toweb3
docsThings to note
Cute Animal Picture