The update to the fixture contract's artifact added a bunch of
`internalType` stuff. I'm not sure where that came from. Maybe
newly generated by the latest version of solc?
* order_utils.py: git rm package.json
This was used at one time, a long, long time ago, but is no longer used,
and its presence actually causes problems when trying to do, eg
`PKG=@0x/python-contract-wrappers yarn build` from within the
order_utils directory.
* order_utils.py: improve `./setup.py clean`
* python-packages: in tox, test, don't lint
* python-packages: update dev req's to fix tox runs
* contract_wrappers.py: post-publish version bump
* json_schemas.py: make changelog be rev. chrono.
Change CHANGELOG.md from chronological to reverse chronological.
* json_schemas.py: fix version numbers
It looks like the version number was changed in the past, but the new
version was never published, so corrected that. Will publish after this
merges into development.
* order_utils.py: pre-publish version bump
* Install Py packages in dep. order, not in parallel
Install Python packages in dependency order, not in parallel.
* sra_client.py: Add `./setup.py clean`
* Fix python package dependency ordering...
...and include a script to produce the proper ordering.
* sra_client.py: reformat whitespace in doctest
* contract_wrappers.py: don't auto-import wrappers
This was discovered while minimizing CircleCI steps to dianose a problem
with running the Launch Kit Backend in CircleCI.
These classes should be imported via the
zero_ex.contract_wrappers.exchange and
zero_ex.contract_wrappers.erc20_token modules, respectively. We
permitted importing them from just zero_ex.contract_wrappers back when
they were the only wrappers we had, but now that we have so many
different contracts being wrapped, this is just another list to keep
manually updated (which, obviously is error prone, since it slipped
through the cracks already), so it's better to just not support this
type of import.
* abi-gen/Py: doc contract method attributes
Without this, generated documentation was not including the class
members that represent the contract methods, rendering the usage
unclear.
* sra_client.py: disable tests in CI
* abi-gen/Py: strip repeated spaces from devdoc
* contract_wrappers.py: gen docs for all wrappers...
...except for the dummy tokens.
* sra_client.py/test: change launch kit docker image
Previously these teses were using 0xorg/launch-kit-ci, but that was a
one-off thing created just for CI, back before there was a regularly
maintained docker image of Launch Kit.
Changed to use 0xorg/launch-kit-backend since it's regularly
maintained/updated.
Because the -backend image is using a different Linux distribution
(Alpine), the commands used to wait for ganache startup also had to
change.
The tag used, 74bcc39, is provisional due to the pending Issue at
https://github.com/0xProject/0x-launch-kit-backend/issues/73 . When
that issue is resolved, the tag suffix on the imag name should be
removed.
* Migrate from Web3.py 4.x to 5.x
* sra_client.py: checksum address in doctest
Due to problem with launch-kit-backend, documented at
https://github.com/0xProject/0x-launch-kit-backend/issues/73 ,
we need to checksum the makerAddress, in the order retrieved from the
relayer, before filling it, otherwise Web3.py gives this error:
InvalidAddress('Web3.py only accepts checksum addresses. The software
that gave you this non-checksum address should be considered unsafe,
please file it as a bug on their platform. Try using an ENS name
instead. Or, if you must accept lower safety, use
Web3.toChecksumAddress(lower_case_address).',
'0x5409ed021d9299bf6814279a6a1411a7e866a631')
* Update CHANGELOGs
* sra_client.py: make CHANGELOG be REVESE chrono.
Formerly CHANGELOG was in chronological order. Now it's in reverse
chronological order.
* abi-gen/Py: fix missing space in sanitized devdoc
* abi-gen/Py: fix return type for multi-val returns
Methods that return multiple values were broken in two ways. One: a
spurious newline was being injected between the return type and the
colon ending the Python method prototype. Two: the return type was
being generated as just `[TypeA, TypeB]`, whereas it should be
`Tuple[TypeA, TypeB]`.
* abi-gen/Py: fix support for arrays of structs
* abi-gen/Py: FAILING test case nested unrefd struct
When a struct contains another struct, and the inner struct is not
directly referenced by any method interface, wrapper generation is
failing to render a class to represent the inner struct.
This won't fail in CI because at this time CI doesn't run any native
Python tooling to analyze the generated code. Running mypy locally on
the files in this commit produces the following output:
test-cli/output/python/abi_gen_dummy/__init__.py:76: error: Name 'Tuple0x246f9407' is not defined
This problem affects the generation of wrappers for the DutchAuction
contract.
* abi-gen/Py: fix nested unref'd struct failure
* abi-gen/Py: introduce newlines to quiet linter
When generating contracts with long names (eg
CoordinatorRegistryValidator), the `black` reformatter was introducing
these newlines for us, and it was moving the `# type: ignore` comment in
there such that it no longer was on the line it needed to be on.
Introducing these newlines manually (instead of letting black inject
them) allows the linter directive to stay where it needs to be.
* abi-gen/Py: declare tuples in dependency order
* abi-gen/Py: fix support for overloaded methods
* contract_wrappers.py: pylint: permit 2-char args
By default pylint says that 2 characters is too short for an argument
name, but we have some contract methods with 2-character argument names
(eg `to` in `AssetProxyOwner.getTransactionIds()`), so we want to permit
them.
* contract_wrappers.py: include all contracts
* Update CHANGELOGs
* abi-gen: rename variable
* abi-gen: refine comments
* abi-gen/Py: reword tuple class docstring
* first pass at including doc comments
* incorporate suggestions for method comments; add devdoc to dummy contract
* better formatting and persist generated docs as circleci build artifacts
* store artifacts properly
* hanging indent for method params