diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index bac6a0c2..57dda65b 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -8,7 +8,7 @@ jobs: run-tests: strategy: matrix: - python: ["3.10", "3.11", "3.12"] + python: ["3.10", "3.11", "3.12", "3.13", "3.14"] os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 04664e6a..786e6852 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,19 @@ All notable changes to this project will be documented in this file. -## [Unreleased] - 9999-99-99 +## [1.14.0] - 9999-99-99 + +## [1.13.0] - 2026-02-13 +### Changed +- Updated all compiled protos for compatibility with Injective core v1.18.0 and Indexer v1.18.3 +- Includes new proto definitions for the Chainlink Data Streams oracle ## [1.12.0] - 2025-11-10 ### Changed - Updated all compiled protos for compatibility with Injective core v1.17.0 and Indexer v1.17.16 +- Included the OpenNotionalCap in derivative markets +- Added support for market orders creation with the MsgBatchUpdateOrders message +- Support for order failure events and conditional orders trigger failures in the chainstrem updates ## [1.11.2] - 2025-09-24 ### Added diff --git a/poetry.lock b/poetry.lock index 33f0ce6c..95a77767 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3285,7 +3285,7 @@ files = [ {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] -markers = {dev = "python_version == \"3.10\"", test = "python_version < \"3.13\""} +markers = {dev = "python_version == \"3.10\""} [[package]] name = "typing-inspection" @@ -3622,5 +3622,5 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.1" -python-versions = "^3.10" -content-hash = "fb55e3f640158a25e1a1c3834d284ee6eec7c7b979aed5a14aa8e801f23bd805" +python-versions = ">=3.10,<3.13" +content-hash = "74c18c5735b905343e0dc9aec63fa8fe5e240e2220b500c02ddeb161b9325de0" diff --git a/pyinjective/orderhash.py b/pyinjective/orderhash.py index 59a5beac..a0e938ba 100644 --- a/pyinjective/orderhash.py +++ b/pyinjective/orderhash.py @@ -1,16 +1,15 @@ from decimal import Decimal import requests -from eip712.messages import EIP712Domain, EIP712Message +from eip712.messages import EIP712Domain, EIP712Message, EIP712Type from eth_account.messages import _hash_eip191_message as hash_eip191_message from eth_pydantic_types import abi from hexbytes import HexBytes -from pydantic import BaseModel from pyinjective.core.token import Token -class OrderInfo(BaseModel): +class OrderInfo(EIP712Type): SubaccountId: abi.string FeeRecipient: abi.string Price: abi.string diff --git a/pyproject.toml b/pyproject.toml index 9ef32639..4a24a74f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.13.0-rc1" +version = "1.14.0-rc1" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" @@ -21,12 +21,13 @@ include = [ ] [tool.poetry.dependencies] -python = "^3.10" +python = ">=3.10,<3.13" aiohttp = "^3.9.4" # Version dependency due to https://github.com/InjectiveLabs/sdk-python/security/dependabot/18 bech32 = "*" bip32 = "*" ecdsa = "*" -eip712 = "*" +eip712 = "^0.3.0" +eth-pydantic-types = "^0.2.4" grpcio = "*" grpcio-tools = "*" hdwallets = "*" @@ -81,7 +82,7 @@ skip_glob = ["pyinjective/proto/*", ".idea/*"] [tool.black] line-length = 120 -target-version = ["py39", "py310", "py311"] +target-version = ["py310", "py311", "py312"] include = '\.pyi?$' # 'extend-exclude' excludes files or directories in addition to the defaults extend-exclude = '''