29 Commits

Author SHA1 Message Date
F. Eugene Aumson
aa5af04447
Python contract demo, with lots of refactoring (#1485)
* Refine Order for Web3 compat. & add conversions

Changed some of the fields in the Order class so that it can be passed
to our contracts via Web3.

Added conversion utilities so that an Order can be easily converted to
and from a JSON-compatible dict (specifically by encoding/decoding the
`bytes` fields), to facilitate validation against the JSON schema.

Also modified JSON order schema to accept integers in addition to
stringified integers.

* Fixes for json_schemas

Has-types indicator file, py.typed, was not being included in package.

Schemas were not being properly gathered into package installation.

* Add test/demo of Exchange.getOrderInfo()

* web3 bug workaround

* Fix problem packaging contract artifacts

* Move contract addresses to their own package

* Move contract artifacts to their own package

* Add scripts to install, test & lint all components

* prettierignore files in local python dev env

* Correct missing coverage analysis for sra_client

* CI cache lint: don't save, re-use from test-python

* tag hacks as hacks

* correct merge mistake

* remove local strip_0x() in favor of eth_utils

* remove json schemas from old order_utils location

* correct merge mistake

* doctest json schemas via command-line, not code
2019-01-09 09:58:29 -05:00
Jacob Evans
c1bf2754a8
Merge pull request #1439 from 0xProject/migrations/docker-image
Add Docker image and Snapshot commands for migrations
2019-01-09 12:55:42 +11:00
F. Eugene Aumson
4689f20b86
Move json_schemas to its own package (#1435)
* Move zero_ex.json_schemas to its own package

* Support ALL the schemas

* Stop installing packages as editable

* HACK: cp files because CircleCI isn't

* Add example usage to sra_client README

* Tweak special case: only strip Schema as suffix

* Correct doc titles

* Clarify what kind of support ticket was raised.

* Correct inconsistencies in JSON schema names

In both ref ID's and file names.

* Add entry point for validation of JSON strings
2019-01-08 14:28:32 -05:00
Jacob Evans
72a56db5ab
chore(python-packages): Change docker command in setup.py 2019-01-02 15:03:09 +11:00
F. Eugene Aumson
e62e61bf71
Add entry point for validation of JSON strings 2018-12-28 15:28:30 -05:00
F. Eugene Aumson
a3eab71908
Correct inconsistencies in JSON schema names
In both ref ID's and file names.
2018-12-28 15:08:15 -05:00
F. Eugene Aumson
ace968a4fc
feat(sra_client.py): Test deployed pkg via tox 2018-12-19 18:18:44 -05:00
F. Eugene Aumson
c6815bddac
Correct doc titles 2018-12-14 16:22:58 -08:00
F. Eugene Aumson
6639201fdb
Tweak special case: only strip Schema as suffix 2018-12-14 16:11:00 -08:00
F. Eugene Aumson
57ac2f28a4
Add example usage to sra_client README 2018-12-14 16:08:57 -08:00
F. Eugene Aumson
087469f1f3
Support ALL the schemas 2018-12-14 13:53:21 -08:00
F. Eugene Aumson
b6c8126589
Move zero_ex.json_schemas to its own package 2018-12-14 13:53:15 -08:00
F. Eugene Aumson
318e7d5b57
feat(sra_client.py)
* Code generation scripts

* Generated code

* Change test config to hit 0x-launch-kit

* Ran prettier on generated code

* First test case, of get_asset_pairs()

* Use launch kit docker image to faciliate CI tests

* Fix markdown rendering for GitHub and PyPI

* Add URL for PyPI to link back to GitHub

* Add one-line package description to README.md

* Remove git_push.sh

* Remove unimplemented tests

* Add sra_client to top-level README package list

* Remove repeated-everywhere long description

* Add shorcuts for publishing

* Remove TypeScript examples
2018-12-11 16:57:53 -08:00
F. Eugene Aumson
d37680610b
fix(order_utils.py): Remove stale comment 2018-12-11 12:39:19 -08:00
Daniel Pyrathon
a1d4aa66bc feat(order_utils.py): schema resolver cache (#1317)
* Implemented basic functionality for using cache layer of LocalRefResolver

* Use `importlib` instead of `imp`, since it's been deprecated. Legacy `load_module()` reloads modules even if they are already imported, causing tests to fail when run in non-deterministic ordering, so we replace it with `import_module()`
2018-11-30 12:59:37 -05:00
F. Eugene Aumson
768c28f328
fix(order_utils.py): unpin pylint version (#1337)
The version was pinned in order to work around a bug in pylint.  That
bug has been fixed and released.
2018-11-27 14:49:28 -05:00
F. Eugene Aumson
ee86cd1dcc
fix(order_utils.py): work aroud pylint bug (#1322) 2018-11-26 10:18:02 -05:00
F. Eugene Aumson
43443d6057
fix(order_utils.py): publish docs to S3, not RTD (#1264)
Publishing to readthedocs.io (RTD) wasn't working, for various reasons.

Changed to publish docs to S3.
2018-11-17 07:07:25 -05:00
F. Eugene Aumson
daf5719f08
fix(order_utils.py): lazy load contract artifacts (#1262) 2018-11-14 17:00:41 -05:00
F. Eugene Aumson
b961cb1952
fix(order_utils.py): validate order w/json schema (#1260) 2018-11-14 12:56:31 -05:00
F. Eugene Aumson
e1d64def20
feat(order_utils.py): sign_hash() (#1254)
Also moved is_valid_signature() into main package module, for
simplicity.

Also consolidated a handul of in-line pylint disable directives into the
.pylintrc config file.
2018-11-14 10:41:52 -05:00
F. Eugene Aumson
7b4f63a39c
feat(order_utils.py) generate_order_hash_hex() (#1234) 2018-11-13 16:30:12 -05:00
F. Eugene Aumson
95b2898b9c
[order_utils.py] is_signature_valid, via Exchange contract (#1216)
First support for signature validation, done via Exchange contract's
isValidSignature() method.
2018-11-07 11:20:46 -05:00
F. Eugene Aumson
af91a56a55
feat(order_utils.py): ERC721 asset data codec (#1186) 2018-10-26 15:13:42 -04:00
F. Eugene Aumson
0f63071696
fix(order_utils.py): tweaks for first publish (#1185) 2018-10-26 14:27:57 -04:00
F. Eugene Aumson
1f0c7f8fbe
feat(order_utils.py): ERC20 asset data encoding and decoding
In addition to the ERC20 codec, also:

Stopped ignoring type errors on 3rd party imports, by including
interface stubs for them;
Removed the unimplemented signature-utils module, which was just a
stand-in when the python project support was first put in place.

https://github.com/0xProject/0x-monorepo/pull/1144
2018-10-23 12:08:16 -04:00
F. Eugene Aumson
a424c2adfa
fix: linter 2018-10-12 16:05:41 -04:00
F. Eugene Aumson
55f9348d0a
fix: use python's extsplit, not manual splicing 2018-10-12 16:00:45 -04:00
F. Eugene Aumson
92fd0a9d24
feat: project stub for python order utilities
An empty project, with respect to functionality, but one configured with
a test framework, linters, CI integration, etc.

https://app.asana.com/0/836857747873847/839549782781239/f
2018-10-12 15:31:19 -04:00