Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,11 @@ repos:
entry: poetry run black --config pyproject.toml
types: [python]
language: system

- repo: local
hooks:
- id: codestyle
name: codestyle
entry: make codestyle
types: [python]
language: system
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ make install
<summary>Codestyle</summary>
<p>

Install pre-commit hooks which will run isort, black and codestyle on your code:

```bash
make pre-commit-install
```

Automatic formatting uses `pyupgrade`, `isort` and `black`.

```bash
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_adding.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import threading
import time

import example_utils

from hyperliquid.exchange import Exchange
from hyperliquid.info import Info
from hyperliquid.utils import constants
Expand All @@ -21,7 +23,6 @@
UserEventsMsg,
UserEventsSubscription,
)
import example_utils

# How far from the best bid and offer this strategy ideally places orders. Currently set to .3%
# i.e. if the best bid is $1000, this strategy will place a resting bid at $997
Expand Down
2 changes: 1 addition & 1 deletion examples/basic_agent.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import eth_account
import example_utils
from eth_account.signers.local import LocalAccount

from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants
import example_utils


def main():
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_builder_fee.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_leverage_adjustment.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import json

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_market_order.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import time

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_order.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import json

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(base_url=constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_order_modify.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import example_utils

from hyperliquid.utils import constants
from hyperliquid.utils.types import Cloid
import example_utils


def main():
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_order_with_cloid.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import example_utils

from hyperliquid.utils import constants
from hyperliquid.utils.types import Cloid
import example_utils


def main():
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_schedule_cancel.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import time

import example_utils

from hyperliquid.utils import constants
from hyperliquid.utils.signing import get_timestamp_ms
import example_utils


def main():
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_set_referrer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
2 changes: 1 addition & 1 deletion examples/basic_spot_order.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import json

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants

PURR = "PURR/USDC"
OTHER_COIN = "@8"
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_spot_to_perp.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_spot_transfer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_sub_account.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


# This example shows how to create, query, and transfer funds to a subaccount.
# To trade as a subaccount set vault_address to the subaccount's address. See basic_vault.py for an example.
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_tpsl.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import argparse

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
parser = argparse.ArgumentParser(description="basic_tpsl")
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_transfer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_vault.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import example_utils

from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants
import example_utils


def main():
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_vault_transfer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_withdraw.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
3 changes: 2 additions & 1 deletion examples/basic_ws.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, _ = example_utils.setup(constants.TESTNET_API_URL)
Expand Down
3 changes: 2 additions & 1 deletion examples/cancel_open_orders.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
5 changes: 3 additions & 2 deletions examples/example_utils.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import eth_account
from eth_account.signers.local import LocalAccount
import json
import os

import eth_account
from eth_account.signers.local import LocalAccount

from hyperliquid.exchange import Exchange
from hyperliquid.info import Info

Expand Down
3 changes: 2 additions & 1 deletion examples/rounding.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@
"""
import json

from hyperliquid.utils import constants
import example_utils

from hyperliquid.utils import constants


def main():
address, info, exchange = example_utils.setup(constants.TESTNET_API_URL, skip_ws=True)
Expand Down
12 changes: 6 additions & 6 deletions hyperliquid/exchange.py
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
import eth_account
import logging
import secrets

import eth_account
from eth_account.signers.local import LocalAccount

from hyperliquid.api import API
from hyperliquid.info import Info
from hyperliquid.utils.constants import MAINNET_API_URL
from hyperliquid.utils.signing import (
CancelRequest,
CancelByCloidRequest,
CancelRequest,
ModifyRequest,
OidOrCloid,
OrderRequest,
OrderType,
OrderWire,
OidOrCloid,
ScheduleCancelAction,
float_to_usd_int,
get_timestamp_ms,
order_request_to_order_wire,
order_wires_to_order_action,
sign_agent,
sign_approve_builder_fee,
sign_l1_action,
sign_spot_transfer_action,
sign_usd_class_transfer_action,
sign_usd_transfer_action,
sign_spot_transfer_action,
sign_withdraw_from_bridge_action,
sign_agent,
)
from hyperliquid.utils.types import Any, List, Meta, SpotMeta, Optional, Tuple, Cloid, BuilderInfo
from hyperliquid.utils.types import Any, BuilderInfo, Cloid, List, Meta, Optional, SpotMeta, Tuple


class Exchange(API):
Expand Down
4 changes: 2 additions & 2 deletions hyperliquid/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
from hyperliquid.utils.types import (
Any,
Callable,
Cloid,
Meta,
Optional,
SpotMeta,
SpotMetaAndAssetCtxs,
Optional,
Subscription,
cast,
Cloid,
)
from hyperliquid.websocket_manager import WebsocketManager

Expand Down
6 changes: 3 additions & 3 deletions hyperliquid/utils/signing.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import time

from decimal import Decimal

import msgpack
from eth_account.messages import encode_structured_data
from eth_utils import keccak, to_hex
import msgpack

from hyperliquid.utils.types import Literal, Optional, TypedDict, Union, Cloid, NotRequired
from hyperliquid.utils.types import Cloid, Literal, NotRequired, Optional, TypedDict, Union

Tif = Union[Literal["Alo"], Literal["Ioc"], Literal["Gtc"]]
Tpsl = Union[Literal["tp"], Literal["sl"]]
Expand Down
2 changes: 1 addition & 1 deletion hyperliquid/utils/types.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from typing import Any, Callable, Dict, List, Literal, NamedTuple, Optional, Tuple, TypedDict, Union, cast
from typing_extensions import NotRequired
from typing import Any, Callable, Dict, List, NamedTuple, Optional, Tuple, Union, cast, Literal, TypedDict

Any = Any
Option = Optional
Expand Down
2 changes: 1 addition & 1 deletion tests/signing_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
from eth_utils import to_hex

from hyperliquid.utils.signing import (
action_hash,
OrderRequest,
ScheduleCancelAction,
action_hash,
construct_phantom_agent,
float_to_int_for_hashing,
order_request_to_order_wire,
Expand Down