* .gitignore gen'd Python staking contract wrappers
* abi-gen/test-cli: check Python type hints in lint
* sra_client.py: Update doc for replicating examples
* abi-gen/Py: fix call() return type incl. tx hash
Previously, generated wrappers for contract methods were including type
hints that suggested that a call() (as opposed to a send_transaction())
might return either the underlying return type or a transaction hash.
This doesn't make sense because a call() will never return a TX hash.
Now, the type hint just has the return type of the underlying method.
* abi-gen: fix test_cli:lint checking wrong code
test_cli:lint is meant to be a rudimentary test of the code generated by
abi-gen. However, previously, this script was incorporated into `yarn
lint`, and in CircleCI `static-tests` runs independently of `build`.
Consequently, the runs of test_cli:lint were checking the OLD code,
which was previously generated and checked in to git, NOT the code
generated with the version of abi-gen represented by the git repo. Now,
test_cli:lint happens during `yarn test` rather than `yarn lint`,
because `yarn test` IS dependent on `yarn build`.
* contract_wrappers.py: fix misplaced doc
Previously, the routines `order_to_jsdict()` and `jsdict_to_order()`
were moved from contract_wrappers.exchange.types to
contract_wrappers.order_conversions. However, the module-level
docstring describing those routines was accidentally left behind in
exchange.types.
* abi-gen/Py: stop documenting return types for TXs
Previously the send_transaction() interface included docstring
documentation for the return types of the contract method, but that
doesn't make any sense because send_transaction() returns a transaction
hash rather than any actual return values.
* abi-gen/Py: stop gen'ing send_tx for const methods
* abi-gen/Py: add build_tx to contract methods
* abi-gen/Py: fix incorrect method return types
Fixes#2298 .
* abi-gen/Py: rm validator arg to no-input methods
* abi-gen: mv Py Handlebars helpers to own module
Move all existing Python-related Handlebars helpers to the newly created
python_handlebars_helpers module.
* abi-gen: refactor internal interface
No functionality is changed. Sole purpose of this commit is to
facilitate an upcoming commit.
* abi-gen: refactor internal interface
No functionality is changed. Sole purpose of this commit is to
facilitate an upcoming commit.
* abi-gen/Py: name tuples w/internalType, not hash
Use the new `internalType` field on the `DataItem`s in the contract
artifact to give generated tuple classes a better name than just hashing
their component field names.
* Fix CI errors
* abi-gen/Py/wrapper: make internal member private
* Update CHANGELOGs
* CI: use a docker image that includes Python
So that tests of abi-gen generating Python can exercise the code being
generated.
* CI fix: disable old yarn permission denied hack
Motivated by CI failure of previous commit.
* CI fix: more resources for test-contracts-ganache
Motivated by CI failure of previous commit.
* CI fix: remove hack of permissions for python libs
Fix for previous CI run's failure of test-python. Apparently we don't
need this in the docker container we've switched to.
* abi-gen/Py: minimum viable test of gen'd code
Ensure the code is parseable by running it through black.
* abi-gen/Py: expand Python linter usage
Make abi-gen filter its output through black, if its available in the
runtime environment. Accordingly, stop having contract_wrappers.py's
setup.py pre_install run black on copied-over files.
Adds Pylint to the list of linters run against test-cli/output.
* abi-gen: re-enable Solidity linter
It was broken, running seemingly cleanly but not actually reading any
files, because it was targetting the wrong folder.
* abi-gen/test-cli/fixtures/sol: fix linter errors
* abi-gen/test-cli: disable pylint blackisted-name
* abi-gen/Py: rm unused var in contracts w/o methods
Remove unused variable from generated wrapper for contracts without any
methods.