Migrate Python libraries to v3 (#2284)
* .gitignore migrations/0x_ganache_snapshot
* .gitignore new-ish Python contract wrappers
These should have been added back when we started generating these
wrappers.
* rm superfluous contract artifact in Python package
All of the contract artifacts were removed from the Python package
recently, because now they're copied from the monorepo/packages area as
an automated build step. Somehow this one artifact slipped through the
cracks.
* Eliminate circular dependency
This was preventing the Exchange wrapper from ever importing its
validator!
* Improve output of monorepo-level parallel script
- Capture stderr (and have it included in stdout) so that it doesn't
leak onto the console for commands that didn't actually fail.
- Include all error output in the Exception object (eliminate print
statement).
* Silence new versions of linters
Newer versions care about this stuff. Old versions didn't, and we don't
either.
* Support Rich Reverts via Web3.py middleware
* Fix bug in generated wrappers' bytes handling
`bytes.fromhex(bytes.decode('utf-8')` is just plain wrong. It would
work for some cases, but is not working when trying to fill orders with
the latest Exchange contract.
* Migrate to Exchange v3
* Fix typo in DevUtils documentation
* Include new contracts in docs
* Re-enable Python checks in CI
* Accept strings for bytes
* Fix CircleCI build artifacts for gen'd python
I swear the previous way was working before, but it wasn't working now,
so this fixes it.
* Accept a provider OR a Web3 object
In various places. This allows the caller to install middleware (which
in web3.py is installed on a Web3 object, not on a provider) before
executing any RPC calls, which is important for the case where one wants
to produce signatures locally before submitting to a remote node.
* wrapper base: don't assume there are accounts
* Eliminate some inline linter directives
* make CHANGELOGs be REVERSE chronological
* Update CHANGELOG entries and bump version numbers
* @0x/contract-addresses: Put addr's in JSON, not TS
This allows easier consumption by other languages. (Specifically, it
eliminates the overhead of keeping the Python addresses package in sync
with the TypeScript one.)
* sra_client.py: incl. docker in `./setup.py clean`
* sra_client.py: Migrate to protocol v3
Removed script that existed only to exclude runs of sra_client builds
(parallel_without_sra_client). Now `parallel` is used by CI,
re-including sra_client in CI checks.
* abi-gen/templates/Py: clarify if/else logic
In response to
https://github.com/0xProject/0x-monorepo/pull/2284#discussion_r342200906
* sra_client.py: Update CHANGELOG and bump version
* contract_addresses/setup.py: rm unnecessary rm
* json_schemas.py: corrections to dev dependencies
* In tests against deployment, also run doctests
* contract_wrappers example: rm xtra Order attribute
Thanks to @steveklebanoff for catching this.
https://github.com/0xProject/0x-monorepo/pull/2284#pullrequestreview-312065368
This commit is contained in:
@@ -1,14 +1,36 @@
|
||||
# Run Launch Kit with Ganache as the backing node
|
||||
# Run Launch Kit Backend with Ganache and Mesh instances backing it.
|
||||
version: '3'
|
||||
services:
|
||||
ganache:
|
||||
image: "0xorg/ganache-cli:2.2.2"
|
||||
image: "0xorg/ganache-cli:4.4.0-beta.1"
|
||||
ports:
|
||||
- "8545:8545"
|
||||
launchkit:
|
||||
image: "0xorg/launch-kit-backend:74bcc39"
|
||||
environment:
|
||||
- VERSION=4.4.0-beta.1
|
||||
- SNAPSHOT_NAME=0x_ganache_snapshot-v3-beta
|
||||
mesh:
|
||||
image: 0xorg/mesh:6.0.0-beta-0xv3
|
||||
depends_on:
|
||||
- ganache
|
||||
environment:
|
||||
ETHEREUM_RPC_URL: 'http://localhost:8545'
|
||||
ETHEREUM_NETWORK_ID: '50'
|
||||
ETHEREUM_CHAIN_ID: '1337'
|
||||
USE_BOOTSTRAP_LIST: 'true'
|
||||
VERBOSITY: 3
|
||||
PRIVATE_KEY_PATH: ''
|
||||
BLOCK_POLLING_INTERVAL: '5s'
|
||||
P2P_LISTEN_PORT: '60557'
|
||||
ports:
|
||||
- '60557:60557'
|
||||
network_mode: "host" # to connect to ganache
|
||||
command: |
|
||||
sh -c "waitForGanache () { until printf 'POST /\r\nContent-Length: 26\r\n\r\n{\"method\":\"net_listening\"}' | nc localhost 8545 | grep true; do continue; done }; waitForGanache && ./mesh"
|
||||
launch-kit-backend:
|
||||
image: "0xorg/launch-kit-backend:v3"
|
||||
depends_on:
|
||||
- ganache
|
||||
- mesh
|
||||
ports:
|
||||
- "3000:3000"
|
||||
network_mode: "host" # to connect to ganache
|
||||
@@ -16,5 +38,9 @@ services:
|
||||
- NETWORK_ID=50
|
||||
- RPC_URL=http://localhost:8545
|
||||
- WHITELIST_ALL_TOKENS=True
|
||||
- FEE_RECIPIENT=0x0000000000000000000000000000000000000001
|
||||
- MAKER_FEE_UNIT_AMOUNT=0
|
||||
- TAKER_FEE_UNIT_AMOUNT=0
|
||||
- MESH_ENDPOINT=ws://localhost:60557
|
||||
command: |
|
||||
sh -c "until printf 'POST /\r\nContent-Length: 26\r\n\r\n{\"method\":\"net_listening\"}' | nc localhost 8545 | grep true; do continue; done; node_modules/.bin/forever ts/lib/index.js"
|
||||
sh -c "waitForMesh () { sleep 3; }; waitForMesh && sleep 5 && node_modules/.bin/forever ts/lib/index.js"
|
||||
|
||||
Reference in New Issue
Block a user