diff options
Diffstat (limited to 'python-packages/contract_addresses/src')
6 files changed, 174 insertions, 0 deletions
diff --git a/python-packages/contract_addresses/src/conf.py b/python-packages/contract_addresses/src/conf.py new file mode 100644 index 000000000..a0f372bc5 --- /dev/null +++ b/python-packages/contract_addresses/src/conf.py @@ -0,0 +1,54 @@ +"""Configuration file for the Sphinx documentation builder.""" + +# Reference: http://www.sphinx-doc.org/en/master/config + +from typing import List +import pkg_resources + + +# pylint: disable=invalid-name +# because these variables are not named in upper case, as globals should be. + +project = "0x-contract-addresses" +# pylint: disable=redefined-builtin +copyright = "2018, ZeroEx, Intl." +author = "F. Eugene Aumson" +version = pkg_resources.get_distribution("0x-contract-addresses").version +release = "" # The full version, including alpha/beta/rc tags + +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.doctest", + "sphinx.ext.intersphinx", + "sphinx.ext.coverage", + "sphinx.ext.viewcode", +] + +templates_path = ["doc_templates"] + +source_suffix = ".rst" +# eg: source_suffix = [".rst", ".md"] + +master_doc = "index" # The master toctree document. + +language = None + +exclude_patterns: List[str] = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + +html_theme = "alabaster" + +html_static_path = ["doc_static"] +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". + +# Output file base name for HTML help builder. +htmlhelp_basename = "contract_addressespydoc" + +# -- Extension configuration: + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = {"https://docs.python.org/": None} diff --git a/python-packages/contract_addresses/src/doc_static/.gitkeep b/python-packages/contract_addresses/src/doc_static/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/python-packages/contract_addresses/src/doc_static/.gitkeep diff --git a/python-packages/contract_addresses/src/index.rst b/python-packages/contract_addresses/src/index.rst new file mode 100644 index 000000000..7ac329ce2 --- /dev/null +++ b/python-packages/contract_addresses/src/index.rst @@ -0,0 +1,25 @@ +.. source for the sphinx-generated build/docs/web/index.html + +Python zero_ex.contract_addresses +================================= + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + +.. autoclass:: zero_ex.contract_addresses.NetworkId + + See source for enum members. + +.. autoclass:: zero_ex.contract_addresses.ContractAddresses + :members: + +.. autodata:: zero_ex.contract_addresses.NETWORK_TO_ADDRESSES + :annotation: + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/python-packages/contract_addresses/src/zero_ex/__init__.py b/python-packages/contract_addresses/src/zero_ex/__init__.py new file mode 100644 index 000000000..e90d833db --- /dev/null +++ b/python-packages/contract_addresses/src/zero_ex/__init__.py @@ -0,0 +1,2 @@ +"""0x Python API.""" +__import__("pkg_resources").declare_namespace(__name__) diff --git a/python-packages/contract_addresses/src/zero_ex/contract_addresses/__init__.py b/python-packages/contract_addresses/src/zero_ex/contract_addresses/__init__.py new file mode 100644 index 000000000..a4bfc3f4c --- /dev/null +++ b/python-packages/contract_addresses/src/zero_ex/contract_addresses/__init__.py @@ -0,0 +1,93 @@ +"""Addresses at which the 0x smart contracts have been deployed.""" + +from enum import Enum +from typing import Dict, NamedTuple + + +class ContractAddresses(NamedTuple): # noqa + """An abstract record listing all the contracts that have addresses.""" + + erc20_proxy: str + erc721_proxy: str + zrx_token: str + ether_token: str + exchange: str + asset_proxy_owner: str + forwarder: str + order_validator: str + + +class NetworkId(Enum): + """Network names correlated to their network identification numbers. + + >>> NetworkId.MAINNET + <NetworkId.MAINNET: 1> + """ + + MAINNET = 1 + ROPSTEN = 3 + RINKEBY = 4 + KOVAN = 42 + GANACHE = 50 + + +NETWORK_TO_ADDRESSES: Dict[NetworkId, ContractAddresses] = { + NetworkId.MAINNET: ContractAddresses( + erc20_proxy="0x2240dab907db71e64d3e0dba4800c83b5c502d4e", + erc721_proxy="0x208e41fb445f1bb1b6780d58356e81405f3e6127", + zrx_token="0xe41d2489571d322189246dafa5ebde1f4699f498", + ether_token="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + exchange="0x4f833a24e1f95d70f028921e27040ca56e09ab0b", + asset_proxy_owner="0x17992e4ffb22730138e4b62aaa6367fa9d3699a6", + forwarder="0x5468a1dc173652ee28d249c271fa9933144746b1", + order_validator="0x9463e518dea6810309563c81d5266c1b1d149138", + ), + NetworkId.ROPSTEN: ContractAddresses( + erc20_proxy="0xb1408f4c245a23c31b98d2c626777d4c0d766caa", + erc721_proxy="0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4", + zrx_token="0xff67881f8d12f372d91baae9752eb3631ff0ed00", + ether_token="0xc778417e063141139fce010982780140aa0cd5ab", + exchange="0x4530c0483a1633c7a1c97d2c53721caff2caaaaf", + asset_proxy_owner="0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b", + forwarder="0x2240dab907db71e64d3e0dba4800c83b5c502d4e", + order_validator="0x90431a90516ab49af23a0530e04e8c7836e7122f", + ), + NetworkId.RINKEBY: ContractAddresses( + exchange="0xbce0b5f6eb618c565c3e5f5cd69652bbc279f44e", + erc20_proxy="0x2f5ae4f6106e89b4147651688a92256885c5f410", + erc721_proxy="0x7656d773e11ff7383a14dcf09a9c50990481cd10", + zrx_token="0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa", + ether_token="0xc778417e063141139fce010982780140aa0cd5ab", + asset_proxy_owner="0xe1703da878afcebff5b7624a826902af475b9c03", + forwarder="0x2d40589abbdee84961f3a7656b9af7adb0ee5ab4", + order_validator="0x0c5173a51e26b29d6126c686756fb9fbef71f762", + ), + NetworkId.KOVAN: ContractAddresses( + erc20_proxy="0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e", + erc721_proxy="0x2a9127c745688a165106c11cd4d647d2220af821", + zrx_token="0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa", + ether_token="0xd0a1e359811322d97991e03f863a0c30c2cf029c", + exchange="0x35dd2932454449b14cee11a94d3674a936d5d7b2", + asset_proxy_owner="0x2c824d2882baa668e0d5202b1e7f2922278703f8", + forwarder="0x17992e4ffb22730138e4b62aaa6367fa9d3699a6", + order_validator="0xb389da3d204b412df2f75c6afb3d0a7ce0bc283d", + ), + NetworkId.GANACHE: ContractAddresses( + exchange="0x48bacb9266a570d521063ef5dd96e61686dbe788", + erc20_proxy="0x1dc4c1cefef38a777b15aa20260a54e584b16c48", + erc721_proxy="0x1d7022f5b17d2f8b695918fb48fa1089c9f85401", + zrx_token="0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c", + ether_token="0x0b1ba0af832d7c05fd64161e0db78e85978e8082", + asset_proxy_owner="0x34d402f14d58e001d8efbe6585051bf9706aa064", + forwarder="0xb69e673309512a9d726f87304c6984054f87a93b", + order_validator="0xe86bb98fcf9bff3512c74589b78fb168200cc546", + ), +} +"""A mapping from instances of NetworkId to instances of ContractAddresses. + +Addresses under NetworkId.Ganache are from our Ganache snapshot generated from +migrations. + +>>> NETWORK_TO_ADDRESSES[NetworkId.MAINNET].exchange +0x4f833a24e1f95d70f028921e27040ca56e09ab0b +""" diff --git a/python-packages/contract_addresses/src/zero_ex/contract_addresses/py.typed b/python-packages/contract_addresses/src/zero_ex/contract_addresses/py.typed new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/python-packages/contract_addresses/src/zero_ex/contract_addresses/py.typed |