|
|
|
|
@@ -40,23 +40,38 @@ Configure and create an API client instance
|
|
|
|
|
>>> config.host = "http://localhost:3000"
|
|
|
|
|
>>> relayer_api = DefaultApi(ApiClient(config))
|
|
|
|
|
|
|
|
|
|
Post Order
|
|
|
|
|
-----------
|
|
|
|
|
Post an order to an SRA-compliant Relayer.
|
|
|
|
|
Wrapping ETH
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
>>> from web3 import HTTPProvider, Web3
|
|
|
|
|
>>> from zero_ex.contract_addresses import (
|
|
|
|
|
... NETWORK_TO_ADDRESSES, NetworkId)
|
|
|
|
|
>>> from zero_ex.contract_artifacts import abi_by_name
|
|
|
|
|
>>> provider = HTTPProvider("http://localhost:8545")
|
|
|
|
|
>>> maker_address = "0x5409ed021d9299bf6814279a6a1411a7e866a631"
|
|
|
|
|
>>> erc20_proxy = NETWORK_TO_ADDRESSES[NetworkId.GANACHE].erc20_proxy
|
|
|
|
|
>>> weth_address = NETWORK_TO_ADDRESSES[NetworkId.GANACHE].ether_token
|
|
|
|
|
>>> weth_instance = Web3(provider).eth.contract(
|
|
|
|
|
... address=Web3.toChecksumAddress(weth_address),
|
|
|
|
|
... abi=abi_by_name("WETH9"))
|
|
|
|
|
>>> tx = weth_instance.functions.deposit().transact(
|
|
|
|
|
... {"from": Web3.toChecksumAddress(maker_address), "value": 1000000000000000000})
|
|
|
|
|
>>> tx = weth_instance.functions.approve(
|
|
|
|
|
... Web3.toChecksumAddress(erc20_proxy),
|
|
|
|
|
... 1000000000000000000).transact(
|
|
|
|
|
... {"from": Web3.toChecksumAddress(maker_address)})
|
|
|
|
|
|
|
|
|
|
Post Order
|
|
|
|
|
-----------
|
|
|
|
|
Post an order to an SRA-compliant Relayer.
|
|
|
|
|
|
|
|
|
|
>>> from zero_ex.order_utils import (
|
|
|
|
|
... asset_data_utils,
|
|
|
|
|
... generate_order_hash_hex,
|
|
|
|
|
... jsdict_order_to_struct,
|
|
|
|
|
... sign_hash)
|
|
|
|
|
>>> provider = HTTPProvider("http://localhost:8545")
|
|
|
|
|
>>> maker_address = "0x5409ed021d9299bf6814279a6a1411a7e866a631"
|
|
|
|
|
>>> exchange_address = NETWORK_TO_ADDRESSES[NetworkId.KOVAN].exchange
|
|
|
|
|
>>> weth_address = NETWORK_TO_ADDRESSES[NetworkId.KOVAN].ether_token
|
|
|
|
|
>>> zrx_address = NETWORK_TO_ADDRESSES[NetworkId.KOVAN].zrx_token
|
|
|
|
|
>>> exchange_address = NETWORK_TO_ADDRESSES[NetworkId.GANACHE].exchange
|
|
|
|
|
>>> zrx_address = NETWORK_TO_ADDRESSES[NetworkId.GANACHE].zrx_token
|
|
|
|
|
>>> weth_asset_data = asset_data_utils.encode_erc20_asset_data(weth_address)
|
|
|
|
|
>>> zrx_asset_data = asset_data_utils.encode_erc20_asset_data(zrx_address)
|
|
|
|
|
>>> example_order = {
|
|
|
|
|
@@ -79,7 +94,7 @@ Post an order to an SRA-compliant Relayer.
|
|
|
|
|
>>> example_order["signature"] = sign_hash(
|
|
|
|
|
... provider, Web3.toChecksumAddress(maker_address), order_hash)
|
|
|
|
|
>>> relayer_api.post_order_with_http_info(
|
|
|
|
|
... network_id=42, signed_order_schema=example_order)[1]
|
|
|
|
|
... network_id=50, signed_order_schema=example_order)[1]
|
|
|
|
|
200
|
|
|
|
|
|
|
|
|
|
Get Orders
|
|
|
|
|
@@ -88,50 +103,50 @@ Get orders from an SRA-compliant Relayer.
|
|
|
|
|
|
|
|
|
|
>>> relayer_api.get_orders()
|
|
|
|
|
{'records': [{'meta_data': {},
|
|
|
|
|
'order': {'exchange_address': '0x35dd2932454449b14cee11a94d3674a936d5d7b2',
|
|
|
|
|
'order': {'exchange_address': '0x48bacb9266a570d521063ef5dd96e61686dbe788',
|
|
|
|
|
'expiration_time_seconds': '1000000000000000000000',
|
|
|
|
|
'fee_recipient_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'maker_address': '0x5409ed021d9299bf6814279a6a1411a7e866a631',
|
|
|
|
|
'maker_asset_amount': '1000000000000000000',
|
|
|
|
|
'maker_asset_data': '0xf47261b0000000000000000000000000d0a1e359811322d97991e03f863a0c30c2cf029c',
|
|
|
|
|
'maker_asset_data': '0xf47261b00000000000000000000000000b1ba0af832d7c05fd64161e0db78e85978e8082',
|
|
|
|
|
'maker_fee': '0',
|
|
|
|
|
'salt': '2362734632784682376287462',
|
|
|
|
|
'sender_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_asset_amount': '500000000000000000000',
|
|
|
|
|
'taker_asset_data': '0xf47261b00000000000000000000000002002d3812f58e35f0ea1ffbf80a75a38c32175fa',
|
|
|
|
|
'taker_asset_data': '0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c',
|
|
|
|
|
'taker_fee': '0'}}]}
|
|
|
|
|
|
|
|
|
|
Get Order
|
|
|
|
|
---------
|
|
|
|
|
Get an order by hash from an SRA-compliant Relayer.
|
|
|
|
|
|
|
|
|
|
>>> relayer_api.get_order(order_hash) # doctest: +SKIP
|
|
|
|
|
>>> relayer_api.get_order("0x" + order_hash)
|
|
|
|
|
{'meta_data': {},
|
|
|
|
|
'order': {'exchange_address': '0x35dd2932454449b14cee11a94d3674a936d5d7b2',
|
|
|
|
|
'expiration_time_seconds': '1000000000000000000000',
|
|
|
|
|
'fee_recipient_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'maker_address': '0x5409ed021d9299bf6814279a6a1411a7e866a631',
|
|
|
|
|
'maker_asset_amount': '1000000000000000000',
|
|
|
|
|
'maker_asset_data': '0xf47261b0000000000000000000000000d0a1e359811322d97991e03f863a0c30c2cf029c',
|
|
|
|
|
'maker_fee': '0',
|
|
|
|
|
'salt': '2362734632784682376287462',
|
|
|
|
|
'sender_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_asset_amount': '500000000000000000000',
|
|
|
|
|
'taker_asset_data': '0xf47261b00000000000000000000000002002d3812f58e35f0ea1ffbf80a75a38c32175fa',
|
|
|
|
|
'taker_fee': '0'}},
|
|
|
|
|
'order': {'exchange_address': '0x48bacb9266a570d521063ef5dd96e61686dbe788',
|
|
|
|
|
'expiration_time_seconds': '1000000000000000000000',
|
|
|
|
|
'fee_recipient_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'maker_address': '0x5409ed021d9299bf6814279a6a1411a7e866a631',
|
|
|
|
|
'maker_asset_amount': '1000000000000000000',
|
|
|
|
|
'maker_asset_data': '0xf47261b00000000000000000000000000b1ba0af832d7c05fd64161e0db78e85978e8082',
|
|
|
|
|
'maker_fee': '0',
|
|
|
|
|
'salt': '2362734632784682376287462',
|
|
|
|
|
'sender_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_asset_amount': '500000000000000000000',
|
|
|
|
|
'taker_asset_data': '0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c',
|
|
|
|
|
'taker_fee': '0'}}
|
|
|
|
|
|
|
|
|
|
Get Asset Pair
|
|
|
|
|
---------------
|
|
|
|
|
Get available asset pairs from an SRA-compliant Relayer.
|
|
|
|
|
|
|
|
|
|
>>> relayer_api.get_asset_pairs()
|
|
|
|
|
{'records': [{'assetDataA': {'assetData': '0xf47261b0000000000000000000000000d0a1e359811322d97991e03f863a0c30c2cf029c',
|
|
|
|
|
{'records': [{'assetDataA': {'assetData': '0xf47261b00000000000000000000000000b1ba0af832d7c05fd64161e0db78e85978e8082',
|
|
|
|
|
'maxAmount': '115792089237316195423570985008687907853269984665640564039457584007913129639936',
|
|
|
|
|
'minAmount': '0',
|
|
|
|
|
'precision': 18},
|
|
|
|
|
'assetDataB': {'assetData': '0xf47261b00000000000000000000000002002d3812f58e35f0ea1ffbf80a75a38c32175fa',
|
|
|
|
|
'assetDataB': {'assetData': '0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c',
|
|
|
|
|
'maxAmount': '115792089237316195423570985008687907853269984665640564039457584007913129639936',
|
|
|
|
|
'minAmount': '0',
|
|
|
|
|
'precision': 18}}]}
|
|
|
|
|
@@ -144,22 +159,23 @@ Get the orderbook for the WETH/ZRX asset pair from an SRA-compliant Relayer.
|
|
|
|
|
... base_asset_data=weth_asset_data,
|
|
|
|
|
... quote_asset_data=zrx_asset_data)
|
|
|
|
|
{'asks': {'records': [{'meta_data': {},
|
|
|
|
|
'order': {'exchange_address': '0x35dd2932454449b14cee11a94d3674a936d5d7b2',
|
|
|
|
|
'order': {'exchange_address': '0x48bacb9266a570d521063ef5dd96e61686dbe788',
|
|
|
|
|
'expiration_time_seconds': '1000000000000000000000',
|
|
|
|
|
'fee_recipient_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'maker_address': '0x5409ed021d9299bf6814279a6a1411a7e866a631',
|
|
|
|
|
'maker_asset_amount': '1000000000000000000',
|
|
|
|
|
'maker_asset_data': '0xf47261b0000000000000000000000000d0a1e359811322d97991e03f863a0c30c2cf029c',
|
|
|
|
|
'maker_asset_data': '0xf47261b00000000000000000000000000b1ba0af832d7c05fd64161e0db78e85978e8082',
|
|
|
|
|
'maker_fee': '0',
|
|
|
|
|
'salt': '2362734632784682376287462',
|
|
|
|
|
'sender_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_address': '0x0000000000000000000000000000000000000000',
|
|
|
|
|
'taker_asset_amount': '500000000000000000000',
|
|
|
|
|
'taker_asset_data': '0xf47261b00000000000000000000000002002d3812f58e35f0ea1ffbf80a75a38c32175fa',
|
|
|
|
|
'taker_asset_data': '0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c',
|
|
|
|
|
'taker_fee': '0'}}]},
|
|
|
|
|
'bids': {'records': []}}
|
|
|
|
|
""" # noqa: E501 (line too long)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# NOTE: Bug in get_order method.
|
|
|
|
|
# Sra_client not deserialzing order from server properly, need fix!
|
|
|
|
|
|
|
|
|
|
|