This repository has been archived by the owner on Jul 9, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 465
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generate wrappers for all contracts (#2010)
* 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
- Loading branch information
Showing
37 changed files
with
1,062 additions
and
107 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
packages/abi-gen-templates/Python/partials/method_class.handlebars
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.