CHANGELOG
* Dependencies updated
* Allow identifiers with leading underscores in python wrappers (#2591)
* Include `bin` files
* Dependencies updated
* Support deploying contracts with unliked libraries through `deployWithLibrariesFrom0xArtifactAsync()` (#2463)
* Update reference outputs (#2466)
* Dependencies updated
* Dependencies updated
* Catch empty call reverts on live networks. (#2433)
* Regenerate test outputs. (#2433)
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Refactored TS wrapper templates to result in a more succint interface. See https://github.com/0xProject/0x-monorepo/pull/2325 for details. (#2284)
* Python: Corrected return types and values for call() interface to generated method wrappers. (Fixes #2298) (#2345)
* Python: Stopped generating send_transaction() interface for constant (view/pure) methods (#2345)
* Python: Added a build_transaction() interface to contract method classes (#2345)
* Python: Removed `validator` argument to contract method classes for methods that don't have any inputs (#2345)
* Python: Changed the names of generated tuples to use the `internalType` field in the ABI, if it's present, resulting in human readable struct names rather than hashes of component field names. (#2345)
* Moved shared logic into `BaseContract` helpers to reduce size. (#2343)
* Re-enable gas estimation when `gas` is not provided. (#2343)
* In Python wrappers, accept string arguments to bytes parameters (#2284)
* In Python wrappers, support module-local, Web3.py-compatible middleware (#2284)
* In Python wrappers, allow contracts to be instantiated with EITHER a Web3.py BaseProvider OR a Web3 client object (#2284)
* In Python wrappers, fix bug with casting some bytes objects using bytes.fromhex() (#2284)
* Add `getSelector` method to all functions (#2224)
* Command-line argument network-id has changed to chain-id (#2313)
* Fix templates not being included in published tarball (#2315)
* Dependencies updated
* Dependencies updated
* Refactored TS wrapper templates to result in a more succint interface. See https://github.com/0xProject/0x-monorepo/pull/2325 for details. (#2284)
* Python: Corrected return types and values for call() interface to generated method wrappers. (Fixes #2298) (#2345)
* Python: Stopped generating send_transaction() interface for constant (view/pure) methods (#2345)
* Python: Added a build_transaction() interface to contract method classes (#2345)
* Python: Removed `validator` argument to contract method classes for methods that don't have any inputs (#2345)
* Python: Changed the names of generated tuples to use the `internalType` field in the ABI, if it's present, resulting in human readable struct names rather than hashes of component field names. (#2345)
* Moved shared logic into `BaseContract` helpers to reduce size. (#2343)
* Re-enable gas estimation when `gas` is not provided. (#2343)
* In Python wrappers, accept string arguments to bytes parameters (#2284)
* In Python wrappers, support module-local, Web3.py-compatible middleware (#2284)
* In Python wrappers, allow contracts to be instantiated with EITHER a Web3.py BaseProvider OR a Web3 client object (#2284)
* In Python wrappers, fix bug with casting some bytes objects using bytes.fromhex() (#2284)
* Add `getSelector` method to all functions (#2224)
* Command-line argument network-id has changed to chain-id (#2313)
* Fix templates not being included in published tarball (#2315)
* Dependencies updated
* Redirect to `evmExecAsync` to use local EVM instead of eth_call for pure functions (#2108)
* Provide a default set of templates for code generation, used when --template and --partials are left unspecified (#2082)
* Dependencies updated
* Updated expected typescript output for cli tests to include `getABIDecodedTransactionData` and `getABIDecodedReturnData` (#2018)
* Added tests for`getABIDecodedTransactionData` and `getABIDecodedReturnData` in contract wrappers. (#2018)
* whitespace changes to generated Python code (#1996)
* move Python Validator base class from generated code to common package (#1996)
* Changed fundamental thing-to-be-wrapped from the contract to the contract method. That is, now there is a base contract method wrapper class rather than a base contract wrapper class, and individual contract methods are represented by named classes inheriting from that base, and the different operations on a method are now represented by a nested-object dot notation, ie, WrappedContract.ContractMethod.call() and WrappedContract.ContractMethod.send_transaction(). (#1996)
* added gas estimation functionality to contract methods (#1996)
* Python: fixed bug with methods returning multiple values (#1996)
* Python: fixed bug with methods returning arrays of structs (#1996)
* Python: fixed bug with methods that return a struct that contains another struct where the inner struct was not otherwise directly referenced by any method (#1996)
* Python: fixed bug with tuples sometimes being used before they were declared (#1996)
* Python: fixed bug with supporting overloaded methods (#1996)
* Dependencies updated
* Python method parameters are now in snake case (#1919)
* Python wrappers now support tuples in method parameters (#1919)
* document Python method's bytes params as requiring UTF-8 (#1919)
* generate Python output into a contract-named folder, not a file (eg exchange/__init__.py rather than exchange.py) leaving space for user-defined additions to the same module, such as for custom types, as used by the Exchange wrapper's manually-written type aliases in the contract_wrappers.exchange.types Python module (#1919)
* support for customizable parameter validation for Python wrappers (#1919)
* wrap Python docstrings better, for pydocstyle compliance (#1919)
* lots of fixes to satisfy linters of generated Python code (#1919)
* Dependencies updated
* Initial support for Python (#1878)
* Watch template files for changes (#1875)
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Upgrade the bignumber.js to v8.0.2 (#1517)
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Fix the abi-gen entry point in package.json (#901)
* Convert e_r_c to erc in generated file names (#822)
* Remove the output directory before writing to it (#822)
* skip generation of wrappers that are already up to date (#788)
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Incorrect publish that was unpublished
* Properly export the executable binary (#588)
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Dependencies updated
* Consolidate all `console.log` calls into `logUtils` in the `@0xproject/utils` package (#452)
* Add a `backend` parameter that allows you to specify the Ethereum library you use in your templates (`web3` or `ethers`). Ethers auto-converts small ints to numbers whereas Web3 doesn't. Defaults to `web3` (#413)
* Add support for [tuple types](https://solidity.readthedocs.io/en/develop/abi-spec.html#handling-tuple-types) (#413)
* Add `hasReturnValue` to context data (#413)
* Fix publishing issue where .npmignore was not properly excluding undesired content (#389)
* Added CLI options for explicit specifying location of partials and main template (#346)
* Added CLI option to specify networkId, adding support for the JSON artifact format found in @0xproject/contracts (#388)
* Fixed array typings with union types (#295)
* Add event ABIs to context data passed to templates (#302)
* Add constructor ABIs to context data passed to templates (#304)